pub struct DefaultConstraintEvaluator<'a, A: Air, E: FieldElement<BaseField = A::BaseField>> { /* private fields */ }Expand description
Default implementation of the ConstraintEvaluator trait.
This implementation iterates over all evaluation frames of an extended execution trace and evaluates constraints over these frames one-by-one. Constraint evaluations are merged together using random linear combinations and in the end, only a single column is returned.
When concurrent feature is enabled, the extended execution trace is split into sets of
sequential evaluation frames (called fragments), and frames in each fragment are evaluated
in separate threads.
Implementations§
source§impl<'a, A, E> DefaultConstraintEvaluator<'a, A, E>
impl<'a, A, E> DefaultConstraintEvaluator<'a, A, E>
sourcepub fn new(
air: &'a A,
aux_rand_elements: AuxTraceRandElements<E>,
composition_coefficients: ConstraintCompositionCoefficients<E>
) -> Self
pub fn new( air: &'a A, aux_rand_elements: AuxTraceRandElements<E>, composition_coefficients: ConstraintCompositionCoefficients<E> ) -> Self
Returns a new evaluator which can be used to evaluate transition and boundary constraints over extended execution trace.
Trait Implementations§
source§impl<'a, A, E> ConstraintEvaluator<E> for DefaultConstraintEvaluator<'a, A, E>
impl<'a, A, E> ConstraintEvaluator<E> for DefaultConstraintEvaluator<'a, A, E>
source§fn evaluate<T: TraceLde<E>>(
self,
trace: &T,
domain: &StarkDomain<<E as FieldElement>::BaseField>
) -> CompositionPolyTrace<E>
fn evaluate<T: TraceLde<E>>( self, trace: &T, domain: &StarkDomain<<E as FieldElement>::BaseField> ) -> CompositionPolyTrace<E>
Evaluates constraints against the provided extended execution trace, combines them into
evaluations of a single polynomial, and returns these evaluations. Read more
Auto Trait Implementations§
impl<'a, A, E> RefUnwindSafe for DefaultConstraintEvaluator<'a, A, E>
impl<'a, A, E> Send for DefaultConstraintEvaluator<'a, A, E>
impl<'a, A, E> Sync for DefaultConstraintEvaluator<'a, A, E>
impl<'a, A, E> Unpin for DefaultConstraintEvaluator<'a, A, E>
impl<'a, A, E> UnwindSafe for DefaultConstraintEvaluator<'a, A, E>
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