TracePolyTable

Struct TracePolyTable 

Source
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 segment 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_trace_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) -> TraceOodFrame<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) -> impl Iterator<Item = &[E::BaseField]>

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

Source

pub fn aux_trace_polys(&self) -> impl Iterator<Item = &[E]>

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

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

Source§

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

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

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

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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