pub struct AllocatedFp<F: PrimeField> {
    pub variable: Variable,
    pub cs: ConstraintSystemRef<F>,
    /* private fields */
}
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.
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.
Allocates a new private witness of type Self in the ConstraintSystem cs.
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
Converts to this type from the input type.
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.

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

Returns the argument unchanged.

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

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
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.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more