pub enum ExprData {
Symbol(SymbolId),
Integer(Box<BigInt>),
Rational(Box<BigRational>),
Real(Real),
Add(Box<[ExprId]>),
Mul(Box<[ExprId]>),
Pow {
base: ExprId,
exp: ExprId,
},
Apply {
f: ExprId,
args: Box<[ExprId]>,
},
Indeterminate(IndeterminateForm),
}Expand description
Node in the symbolic world (spec §8.1). Add/Mul are stored as canonically ordered n-ary lists (spec §8.4),
so equality is ExprId equality (O(1)).
Variants§
Symbol(SymbolId)
Integer(Box<BigInt>)
Rational(Box<BigRational>)
Real(Real)
Add(Box<[ExprId]>)
Mul(Box<[ExprId]>)
Pow
Apply
Indeterminate(IndeterminateForm)
Trait Implementations§
impl StructuralPartialEq for ExprData
Auto Trait Implementations§
impl Freeze for ExprData
impl RefUnwindSafe for ExprData
impl Send for ExprData
impl Sync for ExprData
impl Unpin for ExprData
impl UnsafeUnpin for ExprData
impl UnwindSafe for ExprData
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