pub struct EvalHelper<'a, F> {
pub constraints_dag: &'a SymbolicExpressionDag<F>,
pub interactions: Vec<SymbolicInteraction<F>>,
pub public_values: Vec<F>,
pub preprocessed_trace: Option<StridedColMajorMatrixView<'a, F>>,
pub needs_next: bool,
pub constraint_degree: u8,
}Expand description
For a single AIR
Fields§
§constraints_dag: &'a SymbolicExpressionDag<F>AIR constraints
interactions: Vec<SymbolicInteraction<F>>Interactions
public_values: Vec<F>§preprocessed_trace: Option<StridedColMajorMatrixView<'a, F>>§needs_next: bool§constraint_degree: u8Implementations§
Source§impl<'a, F: TwoAdicField> EvalHelper<'a, F>
impl<'a, F: TwoAdicField> EvalHelper<'a, F>
Sourcepub fn view_mats<PB>(
&self,
ctx: &'a AirProvingContext<PB>,
) -> Vec<(StridedColMajorMatrixView<'a, F>, bool)>where
PB: ProverBackend<Val = F, Matrix = ColMajorMatrix<F>>,
pub fn view_mats<PB>(
&self,
ctx: &'a AirProvingContext<PB>,
) -> Vec<(StridedColMajorMatrixView<'a, F>, bool)>where
PB: ProverBackend<Val = F, Matrix = ColMajorMatrix<F>>,
Returns list of (ref to column-major matrix, is_rot) pairs in the order:
- (if has_preprocessed) (preprocessed, false), (preprocessed, true)
- (cached_0, false), (cached_0, true), …, (cached_{m-1}, false), (cached_{m-1}, true)
- (common, false), (common, true)
Note: currently every matrix returns both non-rotated and rotated versions. This will change in the future for perf.
pub fn has_preprocessed(&self) -> bool
Sourcepub fn acc_constraints<FF: ExtensionField<F>, EF: ExtensionField<FF>>(
&self,
row_parts: &[Vec<FF>],
lambda_pows: &[EF],
) -> EF
pub fn acc_constraints<FF: ExtensionField<F>, EF: ExtensionField<FF>>( &self, row_parts: &[Vec<FF>], lambda_pows: &[EF], ) -> EF
See Self::evaluator.
Sourcepub fn acc_interactions<FF, EF>(
&self,
row_parts: &[Vec<FF>],
beta_pows: &[EF],
eq_3bs: &[EF],
) -> [EF; 2]where
FF: ExtensionField<F>,
EF: ExtensionField<FF> + ExtensionField<F>,
pub fn acc_interactions<FF, EF>(
&self,
row_parts: &[Vec<FF>],
beta_pows: &[EF],
eq_3bs: &[EF],
) -> [EF; 2]where
FF: ExtensionField<F>,
EF: ExtensionField<FF> + ExtensionField<F>,
See Self::evaluator.
Returns sum of ordered list of interactions, weighted by eq(\xi_3, b_{T,\hat\sigma})
terms as (numerator, denominator) pair.
Note: the denominator does not include the alpha term.
pub fn eval_interactions<FF, EF>(
&self,
row_parts: &[Vec<FF>],
beta_pows: &[EF],
) -> Vec<(FF, EF)>where
FF: ExtensionField<F>,
EF: ExtensionField<FF> + ExtensionField<F>,
Auto Trait Implementations§
impl<'a, F> Freeze for EvalHelper<'a, F>
impl<'a, F> RefUnwindSafe for EvalHelper<'a, F>where
F: RefUnwindSafe,
impl<'a, F> Send for EvalHelper<'a, F>
impl<'a, F> Sync for EvalHelper<'a, F>
impl<'a, F> Unpin for EvalHelper<'a, F>where
F: Unpin,
impl<'a, F> UnsafeUnpin for EvalHelper<'a, F>
impl<'a, F> UnwindSafe for EvalHelper<'a, F>where
F: UnwindSafe + RefUnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more