FixedLookupTables

Trait FixedLookupTables 

Source
pub(crate) trait FixedLookupTables<F> {
    // Required methods
    fn is_in_table(
        table: &LogupTable<F, LookupTableIDs>,
        value: Vec<F>,
    ) -> Option<usize>;
    fn table_pad() -> LogupTable<F, LookupTableIDs>;
    fn table_round_constants() -> LogupTable<F, LookupTableIDs>;
    fn table_at_most_4() -> LogupTable<F, LookupTableIDs>;
    fn table_byte() -> LogupTable<F, LookupTableIDs>;
    fn table_range_check_16() -> LogupTable<F, LookupTableIDs>;
    fn table_sparse() -> LogupTable<F, LookupTableIDs>;
    fn table_reset() -> LogupTable<F, LookupTableIDs>;
    fn get_all_tables() -> Vec<LogupTable<F, LookupTableIDs>>;
}
Expand description

Trait that creates all the fixed lookup tables used in the VM

Required Methods§

Source

fn is_in_table( table: &LogupTable<F, LookupTableIDs>, value: Vec<F>, ) -> Option<usize>

Checks whether a value is in a table and returns the position if it is or None otherwise.

Source

fn table_pad() -> LogupTable<F, LookupTableIDs>

Returns the pad table

Source

fn table_round_constants() -> LogupTable<F, LookupTableIDs>

Returns the round constants table

Source

fn table_at_most_4() -> LogupTable<F, LookupTableIDs>

Returns the at most 4 table

Source

fn table_byte() -> LogupTable<F, LookupTableIDs>

Returns the byte table

Source

fn table_range_check_16() -> LogupTable<F, LookupTableIDs>

Returns the range check 16 table

Source

fn table_sparse() -> LogupTable<F, LookupTableIDs>

Returns the sparse table

Source

fn table_reset() -> LogupTable<F, LookupTableIDs>

Returns the reset table

Source

fn get_all_tables() -> Vec<LogupTable<F, LookupTableIDs>>

Returns a vector containing all fixed tables

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<F: Field> FixedLookupTables<F> for LogupTable<F, LookupTableIDs>

Source§

fn get_all_tables() -> Vec<LogupTable<F, LookupTableIDs>>

Source§

fn is_in_table( table: &LogupTable<F, LookupTableIDs>, value: Vec<F>, ) -> Option<usize>

Source§

fn table_pad() -> Self

Source§

fn table_round_constants() -> Self

Source§

fn table_at_most_4() -> LogupTable<F, LookupTableIDs>

Source§

fn table_byte() -> Self

Source§

fn table_range_check_16() -> Self

Source§

fn table_sparse() -> Self

Source§

fn table_reset() -> Self

Implementors§