pub trait SymbolicEvaluator<F, E>{
// Required methods
fn eval_const(&self, c: F) -> E;
fn eval_var(&self, symbolic_var: SymbolicVariable<F>) -> E;
fn eval_is_first_row(&self) -> E;
fn eval_is_last_row(&self) -> E;
fn eval_is_transition(&self) -> E;
// Provided methods
fn eval_expr(&self, symbolic_expr: &SymbolicExpression<F>) -> E { ... }
fn eval_nodes(&self, nodes: &[SymbolicExpressionNode<F>]) -> Vec<E>
where E: Clone { ... }
}
Required Methods§
fn eval_const(&self, c: F) -> E
fn eval_var(&self, symbolic_var: SymbolicVariable<F>) -> E
fn eval_is_first_row(&self) -> E
fn eval_is_last_row(&self) -> E
fn eval_is_transition(&self) -> E
Provided Methods§
fn eval_expr(&self, symbolic_expr: &SymbolicExpression<F>) -> E
Sourcefn eval_nodes(&self, nodes: &[SymbolicExpressionNode<F>]) -> Vec<E>where
E: Clone,
fn eval_nodes(&self, nodes: &[SymbolicExpressionNode<F>]) -> Vec<E>where
E: Clone,
Assumes that nodes
are in topological order (if B references A, then B comes after A).
Simple serial evaluation in order.