Enum kimchi_msm::serialization::lookups::LookupTable
source · pub enum LookupTable<Ff> {
RangeCheck15,
RangeCheck4,
RangeCheck14Abs,
RangeCheck9Abs,
RangeCheckFfHighest(PhantomData<Ff>),
MultiplicationBus,
}
Expand description
Enumeration of concrete lookup tables used in serialization circuit.
Variants§
RangeCheck15
x ∈ [0, 2^15]
RangeCheck4
x ∈ [0, 2^4]
RangeCheck14Abs
x ∈ [-2^14, 2^14-1]
RangeCheck9Abs
x ∈ [-2^4, 2^4-1]
RangeCheckFfHighest(PhantomData<Ff>)
x ∈ [0, ff_highest] where ff_highest is the highest 15-bit
limb of the modulus of the foreign field Ff
.
MultiplicationBus
Communication bus for the multiplication circuit.
Implementations§
Trait Implementations§
source§impl<Ff: Clone> Clone for LookupTable<Ff>
impl<Ff: Clone> Clone for LookupTable<Ff>
source§fn clone(&self) -> LookupTable<Ff>
fn clone(&self) -> LookupTable<Ff>
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<Ff: Debug> Debug for LookupTable<Ff>
impl<Ff: Debug> Debug for LookupTable<Ff>
source§impl<Ff: Hash> Hash for LookupTable<Ff>
impl<Ff: Hash> Hash for LookupTable<Ff>
source§impl<Ff> IntoEnumIterator for LookupTable<Ff>
impl<Ff> IntoEnumIterator for LookupTable<Ff>
type Iterator = LookupTableIter<Ff>
fn iter() -> LookupTableIter<Ff> ⓘ
source§impl<Ff: PrimeField> LookupTableID for LookupTable<Ff>
impl<Ff: PrimeField> LookupTableID for LookupTable<Ff>
source§fn ix_by_value<F: PrimeField>(&self, value: &[F]) -> Option<usize>
fn ix_by_value<F: PrimeField>(&self, value: &[F]) -> Option<usize>
Converts a value to its index in the fixed table.
source§fn is_fixed(&self) -> bool
fn is_fixed(&self) -> bool
Identify fixed and RAMLookups with a boolean.
This can be used to identify the lookups whose table values are fixed,
like range checks.
source§fn runtime_create_column(&self) -> bool
fn runtime_create_column(&self) -> bool
If a table is runtime table,
true
means we should create an
explicit extra column for it to “read” from. false
means
that this table will be reading from some existing (e.g.
relation) columns, and no extra columns should be added. Read morefn all_variants() -> Vec<Self>
source§fn to_constraint<F: Field>(&self) -> E<F>
fn to_constraint<F: Field>(&self) -> E<F>
Assign a unique ID to the lookup tables, as an expression.
source§impl<Ff: Ord> Ord for LookupTable<Ff>
impl<Ff: Ord> Ord for LookupTable<Ff>
source§fn cmp(&self, other: &LookupTable<Ff>) -> Ordering
fn cmp(&self, other: &LookupTable<Ff>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<Ff: PartialEq> PartialEq<LookupTable<Ff>> for LookupTable<Ff>
impl<Ff: PartialEq> PartialEq<LookupTable<Ff>> for LookupTable<Ff>
source§fn eq(&self, other: &LookupTable<Ff>) -> bool
fn eq(&self, other: &LookupTable<Ff>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<Ff: PartialOrd> PartialOrd<LookupTable<Ff>> for LookupTable<Ff>
impl<Ff: PartialOrd> PartialOrd<LookupTable<Ff>> for LookupTable<Ff>
source§fn partial_cmp(&self, other: &LookupTable<Ff>) -> Option<Ordering>
fn partial_cmp(&self, other: &LookupTable<Ff>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl<Ff: Copy> Copy for LookupTable<Ff>
impl<Ff: Eq> Eq for LookupTable<Ff>
impl<Ff> StructuralEq for LookupTable<Ff>
impl<Ff> StructuralPartialEq for LookupTable<Ff>
Auto Trait Implementations§
impl<Ff> RefUnwindSafe for LookupTable<Ff>where Ff: RefUnwindSafe,
impl<Ff> Send for LookupTable<Ff>where Ff: Send,
impl<Ff> Sync for LookupTable<Ff>where Ff: Sync,
impl<Ff> Unpin for LookupTable<Ff>where Ff: Unpin,
impl<Ff> UnwindSafe for LookupTable<Ff>where Ff: UnwindSafe,
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more