Struct Table

Source
pub struct Table<E>
where E: FieldElement,
{ /* private fields */ }
Expand description

A two-dimensional table of field elements arranged in row-major order.

This struct is used primarily to hold queried values of execution trace segments and constraint evaluations. In such cases, each row in the table corresponds to a single query, and each column corresponds to a trace segment column or a constraint evaluation column.

Implementations§

Source§

impl<E> Table<E>
where E: FieldElement,

Source

pub fn from_bytes( bytes: &[u8], num_rows: usize, num_cols: usize, ) -> Result<Table<E>, DeserializationError>

Returns a new Table instantiated with data from the provided bytes.

§Panics

Panics if:

  • Specified number of rows is 0 or greater than 255.
  • Specified number of columns is 0 or greater than 255.
  • Provided bytes do not encode valid field elements required to fill the table.
Source

pub fn num_rows(&self) -> usize

Returns number of rows in this table.

Source

pub fn num_columns(&self) -> usize

Returns number of columns in this table.

Source

pub fn get_row(&self, row_idx: usize) -> &[E]

Returns a reference to a row at the specified index.

Source

pub fn rows(&self) -> RowIterator<'_, E>

Returns an iterator over rows of this table.

Source

pub fn merge(tables: Vec<Table<E>>) -> Table<E>

Combines multiple tables together into a single table by stacking tables column-wise (e.g. the number of rows remains the same but the number of columns changes).

Currently, this method does not support inputs containing more than one table.

§Panics

Panics if the list of tables is empty.

Trait Implementations§

Source§

impl<E> Clone for Table<E>
where E: Clone + FieldElement,

Source§

fn clone(&self) -> Table<E>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<E> Debug for Table<E>
where E: Debug + FieldElement,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<E> Freeze for Table<E>

§

impl<E> RefUnwindSafe for Table<E>
where E: RefUnwindSafe,

§

impl<E> Send for Table<E>

§

impl<E> Sync for Table<E>

§

impl<E> Unpin for Table<E>
where E: Unpin,

§

impl<E> UnwindSafe for Table<E>
where E: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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