pub enum ArithExpr {
Show 15 variants
Variable(String),
Integer(i64),
Float(f64),
Add(Box<ArithExpr>, Box<ArithExpr>),
Sub(Box<ArithExpr>, Box<ArithExpr>),
Mul(Box<ArithExpr>, Box<ArithExpr>),
Div(Box<ArithExpr>, Box<ArithExpr>),
Mod(Box<ArithExpr>, Box<ArithExpr>),
Abs(Box<ArithExpr>),
Min(Box<ArithExpr>, Box<ArithExpr>),
Max(Box<ArithExpr>, Box<ArithExpr>),
Pow(Box<ArithExpr>, Box<ArithExpr>),
Cast(Box<ArithExpr>, ScalarType),
FuncCall {
name: String,
args: Vec<ArithExpr>,
},
Conditional {
cond_left: Box<ArithExpr>,
cond_op: CompOp,
cond_right: Box<ArithExpr>,
then_expr: Box<ArithExpr>,
else_expr: Box<ArithExpr>,
},
}Expand description
Arithmetic expression tree
Variants§
Variable(String)
Variable reference.
Integer(i64)
Integer literal.
Float(f64)
Float literal.
Add(Box<ArithExpr>, Box<ArithExpr>)
Addition.
Sub(Box<ArithExpr>, Box<ArithExpr>)
Subtraction.
Mul(Box<ArithExpr>, Box<ArithExpr>)
Multiplication.
Div(Box<ArithExpr>, Box<ArithExpr>)
Division.
Mod(Box<ArithExpr>, Box<ArithExpr>)
Modulo.
Abs(Box<ArithExpr>)
Absolute value.
Min(Box<ArithExpr>, Box<ArithExpr>)
Minimum of two values.
Max(Box<ArithExpr>, Box<ArithExpr>)
Maximum of two values.
Pow(Box<ArithExpr>, Box<ArithExpr>)
Power (base, exponent).
Cast(Box<ArithExpr>, ScalarType)
Type cast to the given scalar type.
FuncCall
User-defined function call
Fields
Conditional
Conditional expression (for expanded function bodies)
Fields
Implementations§
Trait Implementations§
impl StructuralPartialEq for ArithExpr
Auto Trait Implementations§
impl Freeze for ArithExpr
impl RefUnwindSafe for ArithExpr
impl Send for ArithExpr
impl Sync for ArithExpr
impl Unpin for ArithExpr
impl UnsafeUnpin for ArithExpr
impl UnwindSafe for ArithExpr
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more