pub struct GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr> {
pub preprocessed: ViewPair<'a, Var>,
pub partitioned_main: Vec<ViewPair<'a, Var>>,
pub after_challenge: Vec<ViewPair<'a, Var>>,
pub challenges: &'a [Vec<Var>],
pub is_first_row: Var,
pub is_last_row: Var,
pub is_transition: Var,
pub alpha: Var,
pub accumulator: Expr,
pub public_values: &'a [PubVar],
pub exposed_values_after_challenge: &'a [Vec<Var>],
pub _marker: PhantomData<(F, EF)>,
}
Expand description
A folder for verifier constraints with generic types.
Var
is still a challenge type because this is a verifier.
Fields§
§preprocessed: ViewPair<'a, Var>
§partitioned_main: Vec<ViewPair<'a, Var>>
§after_challenge: Vec<ViewPair<'a, Var>>
§challenges: &'a [Vec<Var>]
§is_first_row: Var
§is_last_row: Var
§is_transition: Var
§alpha: Var
§accumulator: Expr
§public_values: &'a [PubVar]
§exposed_values_after_challenge: &'a [Vec<Var>]
§_marker: PhantomData<(F, EF)>
Implementations§
Source§impl<F, EF, PubVar, Var, Expr> GenericVerifierConstraintFolder<'_, F, EF, PubVar, Var, Expr>
impl<F, EF, PubVar, Var, Expr> GenericVerifierConstraintFolder<'_, F, EF, PubVar, Var, Expr>
pub fn eval_constraints(&mut self, constraints: &[SymbolicExpression<F>])
pub fn assert_zero(&mut self, x: impl Into<Expr>)
Trait Implementations§
Source§impl<F, EF, PubVar, Var, Expr> SymbolicEvaluator<F, Expr> for GenericVerifierConstraintFolder<'_, F, EF, PubVar, Var, Expr>
impl<F, EF, PubVar, Var, Expr> SymbolicEvaluator<F, Expr> for GenericVerifierConstraintFolder<'_, F, EF, PubVar, Var, Expr>
fn eval_var(&self, symbolic_var: SymbolicVariable<F>) -> Expr
fn eval_expr(&self, symbolic_expr: &SymbolicExpression<F>) -> E
Auto Trait Implementations§
impl<'a, F, EF, PubVar, Var, Expr> Freeze for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
impl<'a, F, EF, PubVar, Var, Expr> RefUnwindSafe for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>where
Var: RefUnwindSafe,
Expr: RefUnwindSafe,
PubVar: RefUnwindSafe,
F: RefUnwindSafe,
EF: RefUnwindSafe,
impl<'a, F, EF, PubVar, Var, Expr> Send for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
impl<'a, F, EF, PubVar, Var, Expr> Sync for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
impl<'a, F, EF, PubVar, Var, Expr> Unpin for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>
impl<'a, F, EF, PubVar, Var, Expr> UnwindSafe for GenericVerifierConstraintFolder<'a, F, EF, PubVar, Var, Expr>where
Var: UnwindSafe + RefUnwindSafe,
Expr: UnwindSafe,
PubVar: RefUnwindSafe,
F: UnwindSafe,
EF: UnwindSafe,
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<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