Trait ark_r1cs_std::R1CSVar[][src]

pub trait R1CSVar<F: Field> {
    type Value: Debug + Eq + Clone;
    fn cs(&self) -> ConstraintSystemRef<F>;
fn value(&self) -> Result<Self::Value, SynthesisError>; fn is_constant(&self) -> bool { ... } }

This trait describes some core functionality that is common to high-level variables, such as Booleans, FieldVars, GroupVars, etc.

Associated Types

type Value: Debug + Eq + Clone[src]

The type of the “native” value that Self represents in the constraint system.

Loading content...

Required methods

fn cs(&self) -> ConstraintSystemRef<F>[src]

Returns the underlying ConstraintSystemRef.

If self is a constant value, then this must return ark_relations::r1cs::ConstraintSystemRef::None.

fn value(&self) -> Result<Self::Value, SynthesisError>[src]

Returns the value that is assigned to self in the underlying ConstraintSystem.

Loading content...

Provided methods

fn is_constant(&self) -> bool[src]

Returns true if self is a circuit-generation-time constant.

Loading content...

Implementations on Foreign Types

impl<F: Field, T: R1CSVar<F>> R1CSVar<F> for [T][src]

type Value = Vec<T::Value>

impl<'a, F: Field, T: 'a + R1CSVar<F>> R1CSVar<F> for &'a T[src]

type Value = T::Value

Loading content...

Implementors

impl<BF, P> R1CSVar<<P as CubicExtParameters>::BasePrimeField> for CubicExtVar<BF, P> where
    BF: FieldVar<P::BaseField, P::BasePrimeField>,
    &'a BF: FieldOpsBounds<'a, P::BaseField, BF>,
    P: CubicExtVarParams<BF>, 
[src]

impl<BF, P> R1CSVar<<P as QuadExtParameters>::BasePrimeField> for QuadExtVar<BF, P> where
    BF: FieldVar<P::BaseField, P::BasePrimeField>,
    &'a BF: FieldOpsBounds<'a, P::BaseField, BF>,
    P: QuadExtVarParams<BF>, 
[src]

impl<F: Field> R1CSVar<F> for Boolean<F>[src]

type Value = bool

impl<F: Field> R1CSVar<F> for UInt8<F>[src]

type Value = u8

impl<F: Field> R1CSVar<F> for UInt16<F>[src]

type Value = u16

impl<F: Field> R1CSVar<F> for UInt32<F>[src]

type Value = u32

impl<F: Field> R1CSVar<F> for UInt64<F>[src]

type Value = u64

impl<F: Field> R1CSVar<F> for UInt128<F>[src]

type Value = u128

impl<F: PrimeField> R1CSVar<F> for FpVar<F>[src]

type Value = F

impl<P, F> R1CSVar<<<P as ModelParameters>::BaseField as Field>::BasePrimeField> for ProjectiveVar<P, F> where
    P: SWModelParameters,
    F: FieldVar<P::BaseField, <P::BaseField as Field>::BasePrimeField>,
    &'a F: FieldOpsBounds<'a, P::BaseField, F>, 
[src]

impl<P, F> R1CSVar<<<P as ModelParameters>::BaseField as Field>::BasePrimeField> for AffineVar<P, F> where
    P: TEModelParameters,
    F: FieldVar<P::BaseField, <P::BaseField as Field>::BasePrimeField>,
    &'a F: FieldOpsBounds<'a, P::BaseField, F>, 
[src]

impl<P, F> R1CSVar<<<P as ModelParameters>::BaseField as Field>::BasePrimeField> for MontgomeryAffineVar<P, F> where
    P: TEModelParameters,
    F: FieldVar<P::BaseField, <P::BaseField as Field>::BasePrimeField>,
    &'a F: FieldOpsBounds<'a, P::BaseField, F>, 
[src]

Loading content...