pub enum ExprNode {
}Expand description
Here we use a linear fast-path: sum(coeff * var) + constant.
Built by the operator overloads when all children are linear,
so LP/MILP construction never walks an Add(Mul(Const, Var), ...) tree.
Variants§
Const(f64)
Var(VarId)
Param(ParamId)
Add(SmallVec<[ExprId; 4]>)
Mul(SmallVec<[ExprId; 4]>)
Neg(ExprId)
Pow(ExprId, ExprId)
Div(ExprId, ExprId)
Sin(ExprId)
Cos(ExprId)
Exp(ExprId)
Log(ExprId)
Abs(ExprId)
Linear
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExprNode
impl RefUnwindSafe for ExprNode
impl Send for ExprNode
impl Sync for ExprNode
impl Unpin for ExprNode
impl UnsafeUnpin for ExprNode
impl UnwindSafe for ExprNode
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