pub struct TracePolyTable<E: FieldElement> { /* private fields */ }
Expand description

Trace polynomials in coefficient from for all segments of the execution trace.

Coefficients of the polynomials for the main trace segment are always in the base field. However, coefficients of the polynomials for the auxiliary trace segments may be either in the base field, or in the extension field, depending on whether extension field is being used.

Implementations§

source§

impl<E: FieldElement> TracePolyTable<E>

source

pub fn new(main_trace_polys: ColMatrix<E::BaseField>) -> Self

Creates a new table of trace polynomials from the provided main trace segment polynomials.

source

pub fn add_aux_segment(&mut self, aux_segment_polys: ColMatrix<E>)

Adds the provided auxiliary segment polynomials to this polynomial table.

source

pub fn poly_size(&self) -> usize

Returns the size of each polynomial - i.e. size of a vector needed to hold a polynomial.

source

pub fn evaluate_at(&self, x: E) -> Vec<E>

Evaluates all trace polynomials (across all trace segments) at the specified point x.

source

pub fn get_ood_frame(&self, z: E) -> Vec<Vec<E>>

Returns an out-of-domain evaluation frame constructed by evaluating trace polynomials for all columns at points z and z * g, where g is the generator of the trace domain.

source

pub fn main_trace_polys(&self) -> ColumnIter<'_, E::BaseField>

Returns an iterator over the polynomials of the main trace segment.

source

pub fn aux_trace_polys(&self) -> MultiColumnIter<'_, E>

Returns an iterator over the polynomials of all auxiliary trace segments.

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.

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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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.