pub enum Op {
Show 19 variants
Add,
Sub,
Mul,
Div,
Pow,
ElemMul,
ElemDiv,
ElemPow,
Eq,
NotEq,
Lt,
Gt,
LtEq,
GtEq,
And,
Or,
ElemAnd,
ElemOr,
LDiv,
}Expand description
A binary operator used in Expr::BinOp.
Variants§
Add
Addition: a + b or element-wise matrix addition.
Sub
Subtraction: a - b or element-wise matrix subtraction.
Mul
Multiplication: scalar a * b or matrix product A * B.
Div
Division: scalar a / b or matrix right-division A / B (solves X * B = A).
Pow
Exponentiation: scalar a ^ b or matrix power A ^ n.
ElemMul
Element-wise multiplication: A .* B.
ElemDiv
Element-wise division: A ./ B.
ElemPow
Element-wise exponentiation: A .^ B.
Eq
Equality comparison: a == b. Returns 1.0 if equal, 0.0 otherwise.
NotEq
Inequality comparison: a ~= b. Returns 1.0 if not equal, 0.0 otherwise.
Lt
Less-than comparison: a < b.
Gt
Greater-than comparison: a > b.
LtEq
Less-than-or-equal comparison: a <= b.
GtEq
Greater-than-or-equal comparison: a >= b.
And
Short-circuit logical AND: a && b. Only evaluates b if a is truthy.
Or
Short-circuit logical OR: a || b. Only evaluates b if a is falsy.
ElemAnd
Element-wise logical AND: A & B. Evaluates both sides; works on matrices.
ElemOr
Element-wise logical OR: A | B. Evaluates both sides; works on matrices.
LDiv
Left division: A \ b solves A*x = b. Scalar: a \ b = b / a.