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