binius_core::piop

Struct CommitMeta

Source
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

Source

pub fn total_vars(&self) -> usize

The total number of variables of the interpolating multilinear.

Source

pub fn total_multilins(&self) -> usize

The total number of multilinear pieces in the batch.

Source§

impl CommitMeta

Source

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
Source

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.

Source

pub fn max_n_vars(&self) -> usize

Returns the maximum number of variables of any individual multilinear.

Source

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.

Source

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§

Source§

impl Debug for CommitMeta

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more