pub struct BatchCommittedEvalClaims<F: Field> { /* private fields */ }
Expand description
A mutable structure which keeps track of PCS claims for polynomial batches, potentially over several evalcheck/sumcheck calls
Implementations§
source§impl<F: Field> BatchCommittedEvalClaims<F>
impl<F: Field> BatchCommittedEvalClaims<F>
sourcepub fn new(batches: &[CommittedBatch]) -> Self
pub fn new(batches: &[CommittedBatch]) -> Self
Creates a new PCS claims accumulator.
batches
is a nested array listing which committed ids belong to which batch, for example
[[1, 2], [3, 4]]
batches polys 1 & 2 into first batch and 3 and 4 into second batch. Order
within batch is important.
sourcepub fn insert(&mut self, claim: CommittedEvalClaim<F>)
pub fn insert(&mut self, claim: CommittedEvalClaim<F>)
Insert a new claim into the batch.
pub fn n_batches(&self) -> usize
sourcepub fn try_extract_same_query_pcs_claim(
&self,
batch_id: BatchId,
) -> Result<Option<SameQueryPcsClaim<F>>, Error>
pub fn try_extract_same_query_pcs_claim( &self, batch_id: BatchId, ) -> Result<Option<SameQueryPcsClaim<F>>, Error>
Extract a same query claim, if possible (hence the Option in happy path)
sourcepub fn take_claims(
&mut self,
batch_id: BatchId,
) -> Result<Vec<CommittedEvalClaim<F>>, Error>
pub fn take_claims( &mut self, batch_id: BatchId, ) -> Result<Vec<CommittedEvalClaim<F>>, Error>
Take out potentially non-same-query claims of a batch for additional processing - one example would be an extra sumcheck round to convert non-same-query claims into same query claims
Trait Implementations§
Auto Trait Implementations§
impl<F> Freeze for BatchCommittedEvalClaims<F>
impl<F> RefUnwindSafe for BatchCommittedEvalClaims<F>
impl<F> Send for BatchCommittedEvalClaims<F>
impl<F> Sync for BatchCommittedEvalClaims<F>
impl<F> Unpin for BatchCommittedEvalClaims<F>
impl<F> UnwindSafe for BatchCommittedEvalClaims<F>
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