pub struct CommitMeta { /* private fields */ }Expand description
Metadata about a batch of committed multilinear polynomials.
In the multilinear polynomial IOP model, several multilinear polynomials can be sent to the oracle by the prover in each round. These multilinears can be committed as a batch by interpolating them into a piecewise multilinear whose evaluations are the concatenation of the piecewise evaluations. This metadata captures the “shape” of the batch, meaning the number of variables of all polynomials in the batch.
Implementations§
Source§impl CommitMeta
impl CommitMeta
Sourcepub fn total_vars(&self) -> usize
pub fn total_vars(&self) -> usize
The total number of variables of the interpolating multilinear.
Sourcepub fn total_multilins(&self) -> usize
pub fn total_multilins(&self) -> usize
The total number of multilinear pieces in the batch.
Source§impl CommitMeta
impl CommitMeta
Sourcepub fn new(n_multilins_by_vars: Vec<usize>) -> Self
pub fn new(n_multilins_by_vars: Vec<usize>) -> Self
Constructs a new CommitMeta.
§Arguments
n_multilins_by_vars- a vector index mapping numbers of variables to the number of multilinears in the batch with that number of variables
Sourcepub fn with_vars(n_varss: impl IntoIterator<Item = usize>) -> Self
pub fn with_vars(n_varss: impl IntoIterator<Item = usize>) -> Self
Constructs a new CommitMeta from a sequence of committed polynomials described by their
number of variables.
Sourcepub fn max_n_vars(&self) -> usize
pub fn max_n_vars(&self) -> usize
Returns the maximum number of variables of any individual multilinear.
Sourcepub fn n_multilins_by_vars(&self) -> &[usize]
pub fn n_multilins_by_vars(&self) -> &[usize]
Returns a vector index mapping numbers of variables to the number of multilinears in the batch with that number of variables.
Sourcepub fn range_by_vars(&self, n_vars: usize) -> Range<usize>
pub fn range_by_vars(&self, n_vars: usize) -> Range<usize>
Returns the range of indices into the structure that have the given number of variables.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CommitMeta
impl RefUnwindSafe for CommitMeta
impl Send for CommitMeta
impl Sync for CommitMeta
impl Unpin for CommitMeta
impl UnwindSafe for CommitMeta
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
§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> ⓘ
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> ⓘ
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