pub struct MasterAuxTable {
pub num_trace_randomizers: usize,
/* private fields */
}
Expand description
See MasterTable
.
Fields§
§num_trace_randomizers: usize
Implementations§
§impl MasterAuxTable
impl MasterAuxTable
pub const NUM_INITIAL_CONSTRAINTS: usize = 81usize
pub const NUM_CONSISTENCY_CONSTRAINTS: usize = 94usize
pub const NUM_TRANSITION_CONSTRAINTS: usize = 398usize
pub const NUM_TERMINAL_CONSTRAINTS: usize = 23usize
pub const NUM_CONSTRAINTS: usize = 596usize
pub fn initial_quotient_degree_bounds(interpolant_degree: isize) -> Vec<isize>
pub fn consistency_quotient_degree_bounds( interpolant_degree: isize, padded_height: usize, ) -> Vec<isize>
pub fn transition_quotient_degree_bounds( interpolant_degree: isize, padded_height: usize, ) -> Vec<isize>
pub fn terminal_quotient_degree_bounds(interpolant_degree: isize) -> Vec<isize>
Source§impl MasterAuxTable
impl MasterAuxTable
Sourcepub fn table(&self, table_id: TableId) -> ArrayView2<'_, XFieldElement>
pub fn table(&self, table_id: TableId) -> ArrayView2<'_, XFieldElement>
A view of the specified table, without any randomizers.
Sourcepub fn table_mut(
&mut self,
table_id: TableId,
) -> ArrayViewMut2<'_, XFieldElement>
pub fn table_mut( &mut self, table_id: TableId, ) -> ArrayViewMut2<'_, XFieldElement>
A mutable view of the specified table, without any randomizers.
Trait Implementations§
Source§impl Clone for MasterAuxTable
impl Clone for MasterAuxTable
Source§fn clone(&self) -> MasterAuxTable
fn clone(&self) -> MasterAuxTable
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for MasterAuxTable
impl Debug for MasterAuxTable
§impl Evaluable<BFieldElement> for MasterAuxTable
impl Evaluable<BFieldElement> for MasterAuxTable
fn evaluate_initial_constraints( main_row: ArrayView1<'_, BFieldElement>, aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
fn evaluate_consistency_constraints( main_row: ArrayView1<'_, BFieldElement>, aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
fn evaluate_transition_constraints( current_main_row: ArrayView1<'_, BFieldElement>, current_aux_row: ArrayView1<'_, XFieldElement>, next_main_row: ArrayView1<'_, BFieldElement>, next_aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
fn evaluate_terminal_constraints( main_row: ArrayView1<'_, BFieldElement>, aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
§impl Evaluable<XFieldElement> for MasterAuxTable
impl Evaluable<XFieldElement> for MasterAuxTable
fn evaluate_initial_constraints( main_row: ArrayView1<'_, XFieldElement>, aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
fn evaluate_consistency_constraints( main_row: ArrayView1<'_, XFieldElement>, aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
fn evaluate_transition_constraints( current_main_row: ArrayView1<'_, XFieldElement>, current_aux_row: ArrayView1<'_, XFieldElement>, next_main_row: ArrayView1<'_, XFieldElement>, next_aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
fn evaluate_terminal_constraints( main_row: ArrayView1<'_, XFieldElement>, aux_row: ArrayView1<'_, XFieldElement>, challenges: &Challenges, ) -> Vec<XFieldElement>
Source§impl MasterTable for MasterAuxTable
impl MasterTable for MasterAuxTable
const NUM_COLUMNS: usize = 88usize
type Field = XFieldElement
fn trace_domain(&self) -> ArithmeticDomain
fn randomized_trace_domain(&self) -> ArithmeticDomain
Source§fn quotient_domain(&self) -> ArithmeticDomain
fn quotient_domain(&self) -> ArithmeticDomain
The
ArithmeticDomain
just large enough to compute
all quotients.Source§fn fri_domain(&self) -> ArithmeticDomain
fn fri_domain(&self) -> ArithmeticDomain
The
ArithmeticDomain
large enough for FRI
.Source§fn trace_table(&self) -> ArrayView2<'_, XFieldElement>
fn trace_table(&self) -> ArrayView2<'_, XFieldElement>
Presents underlying trace data, excluding trace randomizers and randomizer polynomials.
Source§fn trace_table_mut(&mut self) -> ArrayViewMut2<'_, XFieldElement>
fn trace_table_mut(&mut self) -> ArrayViewMut2<'_, XFieldElement>
Mutably presents underlying trace data, excluding trace randomizers and randomizer
polynomials.
Source§fn quotient_domain_table(&self) -> Option<ArrayView2<'_, XFieldElement>>
fn quotient_domain_table(&self) -> Option<ArrayView2<'_, XFieldElement>>
The quotient-domain view of the cached low-degree-extended table, if Read more
Source§fn fri_domain_table(&self) -> Option<ArrayView2<'_, XFieldElement>>
fn fri_domain_table(&self) -> Option<ArrayView2<'_, XFieldElement>>
Return the FRI domain view of the cached low-degree-extended table, if any. Read more
fn trace_randomizer_seed(&self) -> <StdRng as SeedableRng>::Seed
fn num_trace_randomizers(&self) -> usize
Source§fn evaluation_domain(&self) -> ArithmeticDomain
fn evaluation_domain(&self) -> ArithmeticDomain
The
ArithmeticDomain
to low-degree extend into.
The larger of the quotient_domain
and the
fri_domain
.Source§fn maybe_low_degree_extend_all_columns(&mut self)
fn maybe_low_degree_extend_all_columns(&mut self)
Low-degree extend all columns of the trace table (including randomizers)
if it can be cached. In that case, the resulting low-degree extended
columns can be accessed using
quotient_domain_table
and
fri_domain_table
.Source§fn out_of_domain_row(
&self,
indeterminate: XFieldElement,
) -> Array1<XFieldElement>
fn out_of_domain_row( &self, indeterminate: XFieldElement, ) -> Array1<XFieldElement>
Get one row of the table at an arbitrary index. Notably, the index does not have to be in
any of the domains. In other words, can be used to compute out-of-domain rows.
Does not include randomizer polynomials.
fn randomized_column_interpolant( &self, idx: usize, ) -> Polynomial<'static, Self::Field>
Source§fn trace_randomizer_for_column(
&self,
idx: usize,
) -> Polynomial<'static, Self::Field>
fn trace_randomizer_for_column( &self, idx: usize, ) -> Polynomial<'static, Self::Field>
Uniquely enables the revelation of up to
num_trace_randomizers
entries in
the corresponding column without compromising zero-knowledge. Read moreSource§fn merkle_tree(&self) -> MerkleTree
fn merkle_tree(&self) -> MerkleTree
Compute a Merkle tree of the FRI domain table. Every row gives one leaf in the tree.
fn hash_all_fri_domain_rows(&self) -> Vec<Digest>
Source§fn weighted_sum_of_columns(
&self,
weights: Array1<XFieldElement>,
) -> Polynomial<'_, XFieldElement>
fn weighted_sum_of_columns( &self, weights: Array1<XFieldElement>, ) -> Polynomial<'_, XFieldElement>
The linear combination of the trace-randomized columns using the given
weights. Read more
Auto Trait Implementations§
impl Freeze for MasterAuxTable
impl RefUnwindSafe for MasterAuxTable
impl Send for MasterAuxTable
impl Sync for MasterAuxTable
impl Unpin for MasterAuxTable
impl UnwindSafe for MasterAuxTable
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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>
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 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>
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