Struct kimchi_msm::circuit_design::composition::SubEnvLookup
source · pub struct SubEnvLookup<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L>(_);
Expand description
Sub environment with a lens that is mapping lookup tables.
Implementations§
source§impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L> SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L> SubEnvLookup<'a, F, CIx1, Env1, L>
pub fn new(env: &'a mut Env1, lens: L) -> Self
Trait Implementations§
source§impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L> ColAccessCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L> ColAccessCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
type Variable = <Env1 as ColAccessCap<F, CIx1>>::Variable
source§fn assert_zero(&mut self, cst: Self::Variable)
fn assert_zero(&mut self, cst: Self::Variable)
Asserts that the value is zero.
source§fn set_assert_mapper(
&mut self,
mapper: Box<dyn Fn(Self::Variable) -> Self::Variable>
)
fn set_assert_mapper( &mut self, mapper: Box<dyn Fn(Self::Variable) -> Self::Variable> )
Sets an assert predicate
f(X)
such that when assert_zero is
called on x, it will actually perform assert_zero(f(x))
.source§fn read_column(&self, ix: CIx1) -> Self::Variable
fn read_column(&self, ix: CIx1) -> Self::Variable
Reads value from a column position.
source§impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColWriteCap<F, CIx1>, L> ColWriteCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColWriteCap<F, CIx1>, L> ColWriteCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
fn write_column(&mut self, ix: CIx1, value: &Self::Variable)
source§impl<'a, F: PrimeField, CIx: ColumnIndexer, Env1: DirectWitnessCap<F, CIx>, L> DirectWitnessCap<F, CIx> for SubEnvLookup<'a, F, CIx, Env1, L>
impl<'a, F: PrimeField, CIx: ColumnIndexer, Env1: DirectWitnessCap<F, CIx>, L> DirectWitnessCap<F, CIx> for SubEnvLookup<'a, F, CIx, Env1, L>
source§fn variable_to_field(value: Self::Variable) -> F
fn variable_to_field(value: Self::Variable) -> F
Convert an abstract variable to a field element! Inverse of Env::constant().
source§impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: HybridCopyCap<F, CIx1>, L> HybridCopyCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: HybridCopyCap<F, CIx1>, L> HybridCopyCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
source§impl<'a, F: PrimeField, CIx: ColumnIndexer, LT1: LookupTableID, LT2: LookupTableID, Env1: LookupCap<F, CIx, LT1>, L: MPrism<Source = LT1, Target = LT2>> LookupCap<F, CIx, LT2> for SubEnvLookup<'a, F, CIx, Env1, L>
impl<'a, F: PrimeField, CIx: ColumnIndexer, LT1: LookupTableID, LT2: LookupTableID, Env1: LookupCap<F, CIx, LT1>, L: MPrism<Source = LT1, Target = LT2>> LookupCap<F, CIx, LT2> for SubEnvLookup<'a, F, CIx, Env1, L>
source§impl<'a, F: PrimeField, CIx: ColumnIndexer, Env1: MultiRowReadCap<F, CIx>, L> MultiRowReadCap<F, CIx> for SubEnvLookup<'a, F, CIx, Env1, L>
impl<'a, F: PrimeField, CIx: ColumnIndexer, Env1: MultiRowReadCap<F, CIx>, L> MultiRowReadCap<F, CIx> for SubEnvLookup<'a, F, CIx, Env1, L>
Auto Trait Implementations§
impl<'a, F, CIx1, Env1, L> RefUnwindSafe for SubEnvLookup<'a, F, CIx1, Env1, L>where CIx1: RefUnwindSafe, Env1: RefUnwindSafe, F: RefUnwindSafe, L: RefUnwindSafe,
impl<'a, F, CIx1, Env1, L> Send for SubEnvLookup<'a, F, CIx1, Env1, L>where CIx1: Send, Env1: Send, L: Send,
impl<'a, F, CIx1, Env1, L> Sync for SubEnvLookup<'a, F, CIx1, Env1, L>where CIx1: Sync, Env1: Sync, L: Sync,
impl<'a, F, CIx1, Env1, L> Unpin for SubEnvLookup<'a, F, CIx1, Env1, L>where CIx1: Unpin, F: Unpin, L: Unpin,
impl<'a, F, CIx1, Env1, L> !UnwindSafe for SubEnvLookup<'a, F, CIx1, Env1, L>
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