Enum air_script_core::Expression
source · 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<Expression> for Expression
impl PartialEq<Expression> for Expression
source§fn eq(&self, other: &Expression) -> bool
fn eq(&self, other: &Expression) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.