Struct ark_r1cs_std::fields::fp::AllocatedFp[][src]

pub struct AllocatedFp<F: PrimeField> {
    pub variable: Variable,
    pub cs: ConstraintSystemRef<F>,
    // some fields omitted
}
Expand description

Represents a variable in the constraint system whose value can be an arbitrary field element.

Fields

variable: Variable

The allocated variable corresponding to self in self.cs.

cs: ConstraintSystemRef<F>

The constraint system that self was allocated in.

Implementations

Constructs a new AllocatedFp from a (optional) value, a low-level Variable, and a ConstraintSystemRef.

Constructs Self from a Boolean: if other is false, this outputs zero, else it outputs one.

Returns the value assigned to self in the underlying constraint system (if a value was assigned).

Outputs self + other.

This does not create any constraints.

Add many allocated Fp elements together.

This does not create any constraints and only creates one linear combination.

Outputs self - other.

This does not create any constraints.

Outputs self * other.

This requires one constraint.

Output self + other

This does not create any constraints.

Output self - other

This does not create any constraints.

Output self * other

This does not create any constraints.

Output self + self

This does not create any constraints.

Output -self

This does not create any constraints.

Sets self = -self

This does not create any constraints.

Outputs self * self

This requires one constraint.

Outputs result such that result * self = 1.

This requires one constraint.

This is a no-op for prime fields.

Enforces that self * other = result.

This requires one constraint.

Enforces that self * self = result.

This requires one constraint.

Outputs the bit self == other.

This requires three constraints.

Outputs the bit self != other.

This requires three constraints.

Enforces that self == other if should_enforce.is_eq(&Boolean::TRUE).

This requires one constraint.

Enforces that self != other if should_enforce.is_eq(&Boolean::TRUE).

This requires one constraint.

Trait Implementations

Allocates a new variable of type Self in the ConstraintSystem cs. The mode of allocation is decided by mode. Read more

Allocates a new constant of type Self in the ConstraintSystem cs. Read more

Allocates a new public input of type Self in the ConstraintSystem cs. Read more

Allocates a new private witness of type Self in the ConstraintSystem cs. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

If cond == &Boolean::TRUE, then this returns true_value; else, returns false_value. Read more

Returns an element of values whose index in represented by position. position is an array of boolean that represents an unsigned integer in big endian order. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

The type of values being looked up.

Interprets the slice bits as a two-bit integer b = bits[0] + (bits[1] << 1), and then outputs constants[b] * c, where c = if bits[2] { -1 } else { 1 };. Read more



Outputs the unique bit-wise decomposition of self in little-endian form.

This method enforces that the output is in the field, i.e. it invokes Boolean::enforce_in_field_le on the bit decomposition.

Outputs a possibly non-unique little-endian bit-wise representation of self. Read more

Outputs the canonical big-endian bit-wise representation of self.

Outputs a possibly non-unique big-endian bit-wise representation of self. Read more

Outputs the unique byte decomposition of self in little-endian form.

This method enforces that the decomposition represents an integer that is less than F::MODULUS.

Outputs a possibly non-unique byte decomposition of self. Read more

Converts self to FpVar<ConstraintF> variables.

Uses two bits to perform a lookup into a table b is little-endian: b[0] is LSB.

The type of values being looked up.

Interprets the slice bits as a two-bit integer b = bits[0] + (bits[1] << 1), and then outputs constants[b]. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.