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 { ... } }
Expand description
This trait describes some core functionality that is common to high-level
variables, such as Boolean
s, FieldVar
s, GroupVar
s, etc.
Associated Types
Required methods
fn cs(&self) -> ConstraintSystemRef<F>
fn cs(&self) -> ConstraintSystemRef<F>
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>
fn value(&self) -> Result<Self::Value, SynthesisError>
Returns the value that is assigned to self
in the underlying
ConstraintSystem
.
Provided methods
fn is_constant(&self) -> bool
fn is_constant(&self) -> bool
Returns true
if self
is a circuit-generation-time constant.
Implementations on Foreign Types
Implementors
impl<BF, P> R1CSVar<<P as CubicExtParameters>::BasePrimeField> for CubicExtVar<BF, P> where
BF: FieldVar<P::BaseField, P::BasePrimeField>,
for<'a> &'a BF: FieldOpsBounds<'a, P::BaseField, BF>,
P: CubicExtVarParams<BF>,
impl<BF, P> R1CSVar<<P as QuadExtParameters>::BasePrimeField> for QuadExtVar<BF, P> where
BF: FieldVar<P::BaseField, P::BasePrimeField>,
for<'a> &'a BF: FieldOpsBounds<'a, P::BaseField, BF>,
P: QuadExtVarParams<BF>,
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>,
for<'a> &'a F: FieldOpsBounds<'a, P::BaseField, F>,
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>,
for<'a> &'a F: FieldOpsBounds<'a, P::BaseField, F>,
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>,
for<'a> &'a F: FieldOpsBounds<'a, P::BaseField, F>,