Struct ivc::plonkish_lang::PlonkishInstance
source · pub struct PlonkishInstance<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> {
pub commitments: [G; N_COL],
pub challenges: [G::ScalarField; N_CHALS],
pub alphas: Alphas<G::ScalarField>,
pub blinder: G::ScalarField,
}
Fields§
§commitments: [G; N_COL]
§challenges: [G::ScalarField; N_CHALS]
§alphas: Alphas<G::ScalarField>
§blinder: G::ScalarField
Implementations§
source§impl<G: CommitmentCurve, const N_COL: usize, const N_ALPHAS: usize> PlonkishInstance<G, N_COL, 3, N_ALPHAS>
impl<G: CommitmentCurve, const N_COL: usize, const N_ALPHAS: usize> PlonkishInstance<G, N_COL, 3, N_ALPHAS>
pub fn from_witness<EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>, Srs: SRS<G> + Sync>( w: &GenericWitness<N_COL, Evaluations<G::ScalarField, R2D<G::ScalarField>>>, fq_sponge: &mut EFqSponge, srs: &Srs, domain: R2D<G::ScalarField> ) -> Self
pub fn verify_from_witness<EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>>( &self, fq_sponge: &mut EFqSponge ) -> Result<(), String>
Trait Implementations§
source§impl<G: Clone + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where
G::ScalarField: Clone,
impl<G: Clone + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G::ScalarField: Clone,
source§fn clone(&self) -> PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
fn clone(&self) -> PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
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, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where
G::ScalarField: Debug,
impl<G: Debug + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G::ScalarField: Debug,
source§impl<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Foldable<<G as AffineRepr>::ScalarField> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
impl<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Foldable<<G as AffineRepr>::ScalarField> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
source§impl<G: CommitmentCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>
impl<G: CommitmentCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>
source§impl<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Instance<G> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
impl<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Instance<G> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
source§fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)
fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)
This method returns the scalars and commitments that must be absorbed by
the sponge. It is not supposed to do any absorption itself, and the user
is responsible for calling the sponge absorb methods with the elements
returned by this method.
When called on a RelaxedInstance, elements will be returned in the
following order, for given instances L and R Read more
source§fn get_alphas(&self) -> &Alphas<G::ScalarField>
fn get_alphas(&self) -> &Alphas<G::ScalarField>
Returns the alphas values for the instance
source§fn get_blinder(&self) -> G::ScalarField
fn get_blinder(&self) -> G::ScalarField
Return the blinder that can be used while committing to polynomials.
source§impl<G: PartialEq + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> PartialEq<PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where
G::ScalarField: PartialEq,
impl<G: PartialEq + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> PartialEq<PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G::ScalarField: PartialEq,
source§fn eq(&self, other: &PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>) -> bool
fn eq(&self, other: &PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl<G: Eq + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Eq for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G::ScalarField: Eq,
impl<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> StructuralEq for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
impl<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> StructuralPartialEq for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
Auto Trait Implementations§
impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> RefUnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G: RefUnwindSafe, <G as AffineRepr>::ScalarField: RefUnwindSafe,
impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Send for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Sync for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>
impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Unpin for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G: Unpin, <G as AffineRepr>::ScalarField: Unpin,
impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> UnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G: 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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more