pub enum AlgExpr {
Const(i64),
Var(String),
Add(Box<AlgExpr>, Box<AlgExpr>),
Sub(Box<AlgExpr>, Box<AlgExpr>),
Mul(Box<AlgExpr>, Box<AlgExpr>),
Div(Box<AlgExpr>, Box<AlgExpr>),
Neg(Box<AlgExpr>),
Pow(Box<AlgExpr>, Box<AlgExpr>),
Mod(Box<AlgExpr>, Box<AlgExpr>),
}Expand description
An algebraic expression tree.
Variants§
Const(i64)
An integer constant.
Var(String)
A named variable.
Add(Box<AlgExpr>, Box<AlgExpr>)
Addition.
Sub(Box<AlgExpr>, Box<AlgExpr>)
Subtraction.
Mul(Box<AlgExpr>, Box<AlgExpr>)
Multiplication.
Div(Box<AlgExpr>, Box<AlgExpr>)
Integer division.
Neg(Box<AlgExpr>)
Negation.
Pow(Box<AlgExpr>, Box<AlgExpr>)
Exponentiation.
Mod(Box<AlgExpr>, Box<AlgExpr>)
Integer modulo.
Trait Implementations§
impl Eq for AlgExpr
impl StructuralPartialEq for AlgExpr
Auto Trait Implementations§
impl Freeze for AlgExpr
impl RefUnwindSafe for AlgExpr
impl Send for AlgExpr
impl Sync for AlgExpr
impl Unpin for AlgExpr
impl UnsafeUnpin for AlgExpr
impl UnwindSafe for AlgExpr
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