Struct o1vm::pickles::lookup_env::LookupEnvironment
source · pub struct LookupEnvironment<G: KimchiCurve> {
pub tables_poly: Vec<Vec<DensePolynomial<G::ScalarField>>>,
pub tables_comm: Vec<Vec<BlindedCommitment<G>>>,
pub multiplicities: LookupMultiplicities,
}
Expand description
This is what the prover needs to remember while doing individual proofs, in order to prove the lookup protocol we do in the end
Fields§
§tables_poly: Vec<Vec<DensePolynomial<G::ScalarField>>>
fixed tables pre-existing the protocol
tables_comm: Vec<Vec<BlindedCommitment<G>>>
§multiplicities: LookupMultiplicities
multiplicities
Implementations§
source§impl<G: KimchiCurve> LookupEnvironment<G>
impl<G: KimchiCurve> LookupEnvironment<G>
Create a new prover environment, which interpolates the fixed tables and commit to them. Fills the multiplicities with zeroes
pub fn new(srs: &SRS<G>, domain: EvaluationDomains<G::ScalarField>) -> Self
sourcepub fn add_multiplicities(&mut self, multiplicities: LookupMultiplicities)
pub fn add_multiplicities(&mut self, multiplicities: LookupMultiplicities)
Take a prover environment, a multiplicities, and returns a prover environment with the multiplicities being the addition of both
Auto Trait Implementations§
impl<G> RefUnwindSafe for LookupEnvironment<G>where G: RefUnwindSafe, <G as AffineRepr>::ScalarField: RefUnwindSafe,
impl<G> Send for LookupEnvironment<G>
impl<G> Sync for LookupEnvironment<G>
impl<G> Unpin for LookupEnvironment<G>where G: Unpin, <G as AffineRepr>::ScalarField: Unpin,
impl<G> UnwindSafe for LookupEnvironment<G>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