public class DoubleBinaryOpLambda<A,B> extends NonProbabilisticDouble
Modifier and Type | Field and Description |
---|---|
protected Vertex<A> |
a |
protected Vertex<B> |
b |
protected java.util.function.Supplier<DualNumber> |
dualNumberSupplier |
protected java.util.function.BiFunction<A,B,java.lang.Double> |
op |
idGenerator
Constructor and Description |
---|
DoubleBinaryOpLambda(Vertex<A> a,
Vertex<B> b,
java.util.function.BiFunction<A,B,java.lang.Double> op) |
DoubleBinaryOpLambda(Vertex<A> a,
Vertex<B> b,
java.util.function.BiFunction<A,B,java.lang.Double> op,
java.util.function.Supplier<DualNumber> dualNumberSupplier) |
Modifier and Type | Method and Description |
---|---|
java.lang.Double |
getDerivedValue() |
DualNumber |
getDualNumber() |
java.lang.Double |
lazyEval()
This causes a backwards propagating calculation of the vertex value.
|
java.lang.Double |
sample() |
dDensityAtValue, density, isProbabilistic, observe, updateValue
abs, div, div, divideBy, divideBy, divideBy, lambda, minus, minus, minus, multiply, multiply, multiply, plus, plus, plus, pow, times, times, unaryMinus
addChild, addParent, addParents, densityAtValue, dlnDensityAtValue, equals, getChildren, getConnectedGraph, getId, getParents, getValue, hashCode, isObserved, logDensity, logDensityAtValue, observeOwnValue, setAndCascade, setParents, setParents, setValue, unobserve, updateChildren
protected final java.util.function.Supplier<DualNumber> dualNumberSupplier
public DoubleBinaryOpLambda(Vertex<A> a, Vertex<B> b, java.util.function.BiFunction<A,B,java.lang.Double> op, java.util.function.Supplier<DualNumber> dualNumberSupplier)
public java.lang.Double sample()
public java.lang.Double lazyEval()
Vertex
public java.lang.Double getDerivedValue()
getDerivedValue
in class NonProbabilisticDouble
public DualNumber getDualNumber()
getDualNumber
in class DoubleVertex