Struct folding::instance_witness::ExtendedWitness
source · pub struct ExtendedWitness<G: CommitmentCurve, W: Witness<G>> {
pub witness: W,
pub extended: BTreeMap<usize, Evaluations<G::ScalarField, Radix2EvaluationDomain<G::ScalarField>>>,
}
Expand description
This structure represents a witness extended with extra columns that are added by quadraticization
Fields§
§witness: W
This is the original witness, without quadraticization
extended: BTreeMap<usize, Evaluations<G::ScalarField, Radix2EvaluationDomain<G::ScalarField>>>
Extra columns added by quadraticization to lower the degree of expressions to 2
Implementations§
source§impl<G: CommitmentCurve, W: Witness<G>> ExtendedWitness<G, W>
impl<G: CommitmentCurve, W: Witness<G>> ExtendedWitness<G, W>
sourcepub fn is_extended(&self) -> bool
pub fn is_extended(&self) -> bool
Return true if the no extra columns are added by quadraticization
Can be used to know if the extended witness columns are already computed, to avoid overriding them
Trait Implementations§
source§impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for ExtendedWitness<G, W>where
G::ScalarField: Clone,
impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for ExtendedWitness<G, W>where G::ScalarField: Clone,
source§fn clone(&self) -> ExtendedWitness<G, W>
fn clone(&self) -> ExtendedWitness<G, W>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<G: Debug + CommitmentCurve, W: Debug + Witness<G>> Debug for ExtendedWitness<G, W>where
G::ScalarField: Debug,
impl<G: Debug + CommitmentCurve, W: Debug + Witness<G>> Debug for ExtendedWitness<G, W>where G::ScalarField: Debug,
source§impl<G: CommitmentCurve, W: Witness<G>> Foldable<<G as AffineRepr>::ScalarField> for ExtendedWitness<G, W>
impl<G: CommitmentCurve, W: Witness<G>> Foldable<<G as AffineRepr>::ScalarField> for ExtendedWitness<G, W>
impl<G: CommitmentCurve, W: Witness<G>> Witness<G> for ExtendedWitness<G, W>
Auto Trait Implementations§
impl<G, W> RefUnwindSafe for ExtendedWitness<G, W>where W: RefUnwindSafe, <G as AffineRepr>::ScalarField: RefUnwindSafe,
impl<G, W> Send for ExtendedWitness<G, W>where W: Send,
impl<G, W> Sync for ExtendedWitness<G, W>where W: Sync,
impl<G, W> Unpin for ExtendedWitness<G, W>where W: Unpin,
impl<G, W> UnwindSafe for ExtendedWitness<G, W>where W: UnwindSafe, <G as AffineRepr>::ScalarField: 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<T> Pointable for T
impl<T> Pointable for T
source§impl<G, W> RelaxableWitness<G, W> for Wwhere
G: CommitmentCurve,
W: Witness<G>,
impl<G, W> RelaxableWitness<G, W> for Wwhere G: CommitmentCurve, W: Witness<G>,
source§fn relax(
self,
zero_poly: &Evaluations<<G as AffineRepr>::ScalarField, Radix2EvaluationDomain<<G as AffineRepr>::ScalarField>>
) -> RelaxedWitness<G, W>
fn relax( self, zero_poly: &Evaluations<<G as AffineRepr>::ScalarField, Radix2EvaluationDomain<<G as AffineRepr>::ScalarField>> ) -> RelaxedWitness<G, W>
This method takes a witness and a vector of evaluations to the zero polynomial, returning a relaxed witness which is composed by the extended witness and the error vector that is set to the zero polynomial.