Struct ivc::expr_eval::GenericEvalEnv
source · pub struct GenericEvalEnv<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize, Eval: CombinableEvals<Curve::ScalarField>> {
pub ext_witness: ExtendedWitness<Curve, PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Eval>>,
pub alphas: Alphas<Curve::ScalarField>,
pub challenges: [Curve::ScalarField; 3],
pub error_vec: Eval,
pub u: Curve::ScalarField,
}
Expand description
Minimal environment needed for evaluating constraints.
Fields§
§ext_witness: ExtendedWitness<Curve, PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Eval>>
§alphas: Alphas<Curve::ScalarField>
§challenges: [Curve::ScalarField; 3]
§error_vec: Eval
§u: Curve::ScalarField
The scalar u
that is used to homogenize the polynomials
Implementations§
source§impl<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize, Evals: CombinableEvals<Curve::ScalarField>> GenericEvalEnv<Curve, N_COL, N_FSEL, Evals>
impl<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize, Evals: CombinableEvals<Curve::ScalarField>> GenericEvalEnv<Curve, N_COL, N_FSEL, Evals>
pub fn process_extended_folding_column<FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( &self, col: &ExtendedFoldingColumn<FC> ) -> EvalLeaf<'_, Curve::ScalarField>
sourcepub fn eval_naive_fexpr<'a, FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>(
&'a self,
exp: &FoldingExp<FC>
) -> EvalLeaf<'a, Curve::ScalarField>
pub fn eval_naive_fexpr<'a, FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( &'a self, exp: &FoldingExp<FC> ) -> EvalLeaf<'a, Curve::ScalarField>
Evaluates the expression in the provided side
sourcepub fn eval_naive_fcompat<'a, FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>(
&'a self,
exp: &FoldingCompatibleExpr<FC>
) -> EvalLeaf<'a, Curve::ScalarField>
pub fn eval_naive_fcompat<'a, FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( &'a self, exp: &FoldingCompatibleExpr<FC> ) -> EvalLeaf<'a, Curve::ScalarField>
For FoldingCompatibleExp
Auto Trait Implementations§
impl<Curve, const N_COL: usize, const N_FSEL: usize, Eval> RefUnwindSafe for GenericEvalEnv<Curve, N_COL, N_FSEL, Eval>where Eval: RefUnwindSafe, <Curve as AffineRepr>::ScalarField: RefUnwindSafe,
impl<Curve, const N_COL: usize, const N_FSEL: usize, Eval> !Send for GenericEvalEnv<Curve, N_COL, N_FSEL, Eval>
impl<Curve, const N_COL: usize, const N_FSEL: usize, Eval> !Sync for GenericEvalEnv<Curve, N_COL, N_FSEL, Eval>
impl<Curve, const N_COL: usize, const N_FSEL: usize, Eval> Unpin for GenericEvalEnv<Curve, N_COL, N_FSEL, Eval>where Eval: Unpin, <Curve as AffineRepr>::ScalarField: Unpin,
impl<Curve, const N_COL: usize, const N_FSEL: usize, Eval> UnwindSafe for GenericEvalEnv<Curve, N_COL, N_FSEL, Eval>where Eval: UnwindSafe, <Curve as AffineRepr>::ScalarField: 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