ScalarExpr
Wire-serialisable scalar expression over per-update inputs:
x: series value or paired x-axis; unused for regression.y: paired y-axis or regression response.v: vector input or regression features.primary: feedback snapshot; Center, Scale, Low, and High read its traits. Per-coordinate feedback uses IndexedResult to carry the coordinate index.
Unused inputs default to 0.0, an empty array, or null. Compose with DSL operators such as X * 2.0, X gt 0.0, and ifThenElse.
JSON uses operator keys, numeric literals, and named references: {"add":[{"ref":"value"},1]}. Resolve Ref nodes with bind and serialize through ScalarExpr, BoolExpr, or VectorExpr. Other formats use sealed-class tags.
Inheritors
Functions
eval
Absolute value of this expression.
Bind every reference eagerly, preserving the tree's grouping and retaining the scope on the wire.
Build Div of two expressions.
Divide this expression by a literal rhs.
Exact equality (no tolerance).
Exact equality against a literal (no tolerance).
e raised to this expression. Overflows to +Infinity well before Double runs out of range.
Greater-or-equal comparison.
Greater-or-equal against a literal.
Strictly-greater-than comparison.
Strictly-greater-than against a literal.
True when this expression evaluates to a finite number: not NaN, and not an infinity.
True when this expression evaluates to NaN.
Less-or-equal comparison.
Less-or-equal against a literal.
Natural logarithm of this expression. ln(0) is -Infinity and a negative input gives NaN.
Strictly-less-than comparison.
Strictly-less-than against a literal.
Build Sub of two expressions.
Subtract a literal rhs from this expression.
Build Add of two expressions.
Add a literal rhs to this expression.
Square root of this expression. A negative input gives NaN.
Build Mul of two expressions.
Multiply this expression by a literal rhs.
Unary minus: wraps in Neg.