pub struct SubEnvLookup<'a, F: PrimeField, CIx1: ColumnIndexer<usize>, Env1: ColAccessCap<F, CIx1>, L>(/* private fields */);
Expand description
Sub environment with a lens that is mapping lookup tables.
Implementations§
Source§impl<'a, F: PrimeField, CIx1: ColumnIndexer<usize>, Env1: ColAccessCap<F, CIx1>, L> SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer<usize>, 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<usize>, Env1: ColAccessCap<F, CIx1>, L> ColAccessCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer<usize>, 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<usize>, Env1: ColWriteCap<F, CIx1>, L> ColWriteCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer<usize>, 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<usize>, Env1: DirectWitnessCap<F, CIx>, L> DirectWitnessCap<F, CIx> for SubEnvLookup<'a, F, CIx, Env1, L>
impl<'a, F: PrimeField, CIx: ColumnIndexer<usize>, 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<usize>, Env1: HybridCopyCap<F, CIx1>, L> HybridCopyCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F: PrimeField, CIx1: ColumnIndexer<usize>, Env1: HybridCopyCap<F, CIx1>, L> HybridCopyCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>
Source§impl<'a, F: PrimeField, CIx: ColumnIndexer<usize>, 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<usize>, 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<usize>, Env1: MultiRowReadCap<F, CIx>, L> MultiRowReadCap<F, CIx> for SubEnvLookup<'a, F, CIx, Env1, L>
impl<'a, F: PrimeField, CIx: ColumnIndexer<usize>, Env1: MultiRowReadCap<F, CIx>, L> MultiRowReadCap<F, CIx> for SubEnvLookup<'a, F, CIx, Env1, L>
Auto Trait Implementations§
impl<'a, F, CIx1, Env1, L> Freeze for SubEnvLookup<'a, F, CIx1, Env1, L>where
L: Freeze,
impl<'a, F, CIx1, Env1, L> RefUnwindSafe for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F, CIx1, Env1, L> Send for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F, CIx1, Env1, L> Sync for SubEnvLookup<'a, F, CIx1, Env1, L>
impl<'a, F, CIx1, Env1, L> Unpin for SubEnvLookup<'a, F, CIx1, Env1, L>
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