Trait snarkvm_wasm::prelude::ThreeBitCondNegLookupGadget [−][src]
pub trait ThreeBitCondNegLookupGadget<F> where
F: Field, { type TableConstant; fn three_bit_cond_neg_lookup<CS>(
cs: CS,
bits: &[Boolean],
b0b1: &Boolean,
constants: &[Self::TableConstant]
) -> Result<Self, SynthesisError>
where
CS: ConstraintSystem<F>; fn cost() -> usize; }
Expand description
Uses three bits to perform a lookup into a table, where the last bit performs negation
Associated Types
type TableConstant
Required methods
fn three_bit_cond_neg_lookup<CS>(
cs: CS,
bits: &[Boolean],
b0b1: &Boolean,
constants: &[Self::TableConstant]
) -> Result<Self, SynthesisError> where
CS: ConstraintSystem<F>,
Implementors
impl<P, F> ThreeBitCondNegLookupGadget<F> for Fp2Gadget<P, F> where
F: PrimeField,
P: Fp2Parameters<Fp = F>,
impl<P, F> ThreeBitCondNegLookupGadget<F> for Fp6Gadget<P, F> where
F: PrimeField,
P: Fp6Parameters,
<P as Fp6Parameters>::Fp2Params: Fp2Parameters,
<<P as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp == F,
impl<P, F> ThreeBitCondNegLookupGadget<F> for Fp12Gadget<P, F> where
F: PrimeField,
P: Fp12Parameters,
<<P as Fp12Parameters>::Fp6Params as Fp6Parameters>::Fp2Params: Fp2Parameters,
<<<P as Fp12Parameters>::Fp6Params as Fp6Parameters>::Fp2Params as Fp2Parameters>::Fp == F,
impl<TargetField, BaseField> ThreeBitCondNegLookupGadget<BaseField> for NonNativeFieldVar<TargetField, BaseField> where
BaseField: PrimeField,
TargetField: PrimeField,
impl<TargetField, BaseField> ThreeBitCondNegLookupGadget<BaseField> for AllocatedNonNativeFieldVar<TargetField, BaseField> where
BaseField: PrimeField,
TargetField: PrimeField,