pub enum Expression {
Const(u64),
Elem(Identifier),
VectorAccess(VectorAccess),
MatrixAccess(MatrixAccess),
IndexedTraceAccess(IndexedTraceAccess),
NamedTraceAccess(NamedTraceAccess),
Rand(Identifier, usize),
Add(Box<Expression>, Box<Expression>),
Sub(Box<Expression>, Box<Expression>),
Mul(Box<Expression>, Box<Expression>),
Exp(Box<Expression>, Box<Expression>),
ListFolding(ListFoldingType),
}
Expand description
Arithmetic expressions for evaluation of constraints.
Variants§
Const(u64)
Elem(Identifier)
Represents any named constant or variable.
VectorAccess(VectorAccess)
Represents an element inside a constant or variable vector. VectorAccess contains the name of the vector and the index of the element to access.
MatrixAccess(MatrixAccess)
Represents an element inside a constant or variable matrix. MatrixAccess contains the name of the matrix and indices of the element to access.
IndexedTraceAccess(IndexedTraceAccess)
NamedTraceAccess(NamedTraceAccess)
Rand(Identifier, usize)
Represents a random value provided by the verifier. The first inner value is the name of the random values array and the second is the index of this random value in that array
Add(Box<Expression>, Box<Expression>)
Sub(Box<Expression>, Box<Expression>)
Mul(Box<Expression>, Box<Expression>)
Exp(Box<Expression>, Box<Expression>)
ListFolding(ListFoldingType)
Trait Implementations§
Source§impl Clone for Expression
impl Clone for Expression
Source§fn clone(&self) -> Expression
fn clone(&self) -> Expression
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Expression
impl Debug for Expression
Source§impl PartialEq for Expression
impl PartialEq for Expression
impl Eq for Expression
impl StructuralPartialEq for Expression
Auto Trait Implementations§
impl Freeze for Expression
impl RefUnwindSafe for Expression
impl Send for Expression
impl Sync for Expression
impl Unpin for Expression
impl UnwindSafe for Expression
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