pub struct Env<G, Col, Chall, Sel, Str, I, W>where
G: CommitmentCurve,
I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone,
W: Witness<G> + Clone + Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>,
Col: Hash + Eq,{ /* private fields */ }
Expand description
A generic Index based environment
Trait Implementations§
Source§impl<G, Col, Chall, Sel, Str, I, W> FoldingEnv<<G as AffineRepr>::ScalarField, I, W, Col, Chall, Sel> for Env<G, Col, Chall, Sel, Str, I, W>
impl<G, Col, Chall, Sel, Str, I, W> FoldingEnv<<G as AffineRepr>::ScalarField, I, W, Col, Chall, Sel> for Env<G, Col, Chall, Sel, Str, I, W>
Source§fn new(
structure: &Self::Structure,
instances: [&I; 2],
witnesses: [&W; 2],
) -> Self
fn new( structure: &Self::Structure, instances: [&I; 2], witnesses: [&W; 2], ) -> Self
Creates a new environment storing the structure, instances and
witnesses.
Source§fn challenge(&self, challenge: Chall, side: Side) -> G::ScalarField
fn challenge(&self, challenge: Chall, side: Side) -> G::ScalarField
Obtains a given challenge from the expanded instance for one side.
The challenges are stored inside the instances structs.
Source§fn col(
&self,
col: Col,
curr_or_next: CurrOrNext,
side: Side,
) -> &[G::ScalarField]
fn col( &self, col: Col, curr_or_next: CurrOrNext, side: Side, ) -> &[G::ScalarField]
Returns the evaluations of a given column witness at omega or zeta*omega.
Auto Trait Implementations§
impl<G, Col, Chall, Sel, Str, I, W> !Freeze for Env<G, Col, Chall, Sel, Str, I, W>
impl<G, Col, Chall, Sel, Str, I, W> !RefUnwindSafe for Env<G, Col, Chall, Sel, Str, I, W>
impl<G, Col, Chall, Sel, Str, I, W> Send for Env<G, Col, Chall, Sel, Str, I, W>
impl<G, Col, Chall, Sel, Str, I, W> !Sync for Env<G, Col, Chall, Sel, Str, I, W>
impl<G, Col, Chall, Sel, Str, I, W> Unpin for Env<G, Col, Chall, Sel, Str, I, W>
impl<G, Col, Chall, Sel, Str, I, W> UnwindSafe for Env<G, Col, Chall, Sel, Str, I, W>where
Str: UnwindSafe,
I: UnwindSafe,
W: UnwindSafe,
G: UnwindSafe,
Col: UnwindSafe,
Chall: UnwindSafe,
Sel: UnwindSafe,
<G as AffineRepr>::ScalarField: 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