snarkvm_circuit_types_field

Struct Field

Source
pub struct Field<E: Environment> { /* private fields */ }

Implementations§

Source§

impl<E: Environment> Field<E>

Source

pub fn even_square_root(&self) -> Self

Returns the square root of self, where the least significant bit of the square root is zero.

Source§

impl<E: Environment> Field<E>

Source

pub fn square_roots_flagged_nondeterministic(&self) -> (Self, Self, Boolean<E>)

Returns both square roots of self and a Boolean flag, which is set iff self is not a square.

If self is a non-zero square,

  • the first field result is the positive root (i.e. closer to 0)
  • the second field result is the negative root (i.e. closer to the prime)
  • the flag is 0

If self is 0,

  • both field results are 0
  • the flag is 0

If self is not a square,

  • both field results are 0
  • the flag is 1

Note that the constraints do not impose an ordering on the two roots returned by this function; this is what the nondeterministic part of this function name refers to.

Trait Implementations§

Source§

impl<E: Environment> Add<&Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the + operator.
Source§

fn add(self, other: &Field<E>) -> Self::Output

Performs the + operation. Read more
Source§

impl<E: Environment> Add<&Field<E>> for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the + operator.
Source§

fn add(self, other: &Field<E>) -> Self::Output

Performs the + operation. Read more
Source§

impl<E: Environment> Add<Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the + operator.
Source§

fn add(self, other: Field<E>) -> Self::Output

Performs the + operation. Read more
Source§

impl<E: Environment> Add for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the + operator.
Source§

fn add(self, other: Field<E>) -> Self::Output

Performs the + operation. Read more
Source§

impl<E: Environment> AddAssign<&Field<E>> for Field<E>

Source§

fn add_assign(&mut self, other: &Field<E>)

Performs the += operation. Read more
Source§

impl<E: Environment> AddAssign for Field<E>

Source§

fn add_assign(&mut self, other: Field<E>)

Performs the += operation. Read more
Source§

impl<E: Clone + Environment> Clone for Field<E>
where E::BaseField: Clone,

Source§

fn clone(&self) -> Field<E>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<E: Environment> Compare for Field<E>

Source§

fn is_less_than(&self, other: &Self) -> Self::Output

Returns true if self is less than other.

Source§

fn is_greater_than(&self, other: &Self) -> Self::Output

Returns true if self is greater than other.

Source§

fn is_less_than_or_equal(&self, other: &Self) -> Self::Output

Returns true if self is less than or equal to other.

Source§

fn is_greater_than_or_equal(&self, other: &Self) -> Self::Output

Returns true if self is greater than or equal to other.

Source§

type Output = Boolean<E>

Source§

impl<E: Environment> Debug for Field<E>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Environment> Default for Field<E>

Source§

fn default() -> Self

Returns the default field element.

Source§

impl<E: Environment> Display for Field<E>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<E: Environment> Div<&Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the / operator.
Source§

fn div(self, other: &Field<E>) -> Self::Output

Performs the / operation. Read more
Source§

impl<E: Environment> Div<&Field<E>> for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the / operator.
Source§

fn div(self, other: &Field<E>) -> Self::Output

Performs the / operation. Read more
Source§

impl<E: Environment> Div<Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the / operator.
Source§

fn div(self, other: Field<E>) -> Self::Output

Performs the / operation. Read more
Source§

impl<E: Environment> Div for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the / operator.
Source§

fn div(self, other: Field<E>) -> Self::Output

Performs the / operation. Read more
Source§

impl<E: Environment> DivAssign<&Field<E>> for Field<E>

Source§

fn div_assign(&mut self, other: &Self)

Performs the /= operation. Read more
Source§

impl<E: Environment> DivAssign for Field<E>

Source§

fn div_assign(&mut self, other: Self)

Performs the /= operation. Read more
Source§

impl<E: Environment> DivUnchecked for Field<E>

Source§

type Output = Field<E>

Source§

fn div_unchecked(&self, rhs: &Rhs) -> Self::Output

Source§

impl<E: Environment> Double for Field<E>

Source§

type Output = Field<E>

Source§

fn double(&self) -> Self::Output

Source§

impl<E: Environment> Eject for Field<E>

Source§

fn eject_mode(&self) -> Mode

Ejects the mode of the field circuit.

Source§

fn eject_value(&self) -> Self::Primitive

Ejects the field circuit as a console field.

Source§

type Primitive = Field<<E as Environment>::Network>

Source§

fn eject(&self) -> (Mode, Self::Primitive)

Ejects the mode and primitive value of the circuit type.
Source§

fn is_constant(&self) -> bool

Returns true if the circuit is a constant.
Source§

fn is_public(&self) -> bool

Returns true if the circuit is a public.
Source§

fn is_private(&self) -> bool

Returns true if the circuit is a private.
Source§

impl<E: Environment> Equal for Field<E>

Source§

fn is_equal(&self, other: &Self) -> Self::Output

Returns true if self and other are equal.

This method costs 2 constraints.

Source§

fn is_not_equal(&self, other: &Self) -> Self::Output

Returns true if self and other are not equal.

This method constructs a boolean that indicates if self and other are not equal to each other.

This method costs 2 constraints.

Source§

type Output = Boolean<E>

Source§

impl<E: Environment> From<&Field<E>> for LinearCombination<E::BaseField>

Source§

fn from(field: &Field<E>) -> Self

Converts to this type from the input type.
Source§

impl<E: Environment> From<&LinearCombination<<E as Environment>::BaseField>> for Field<E>

Source§

fn from(linear_combination: &LinearCombination<E::BaseField>) -> Self

Converts to this type from the input type.
Source§

impl<E: Environment> From<Field<E>> for LinearCombination<E::BaseField>

Source§

fn from(field: Field<E>) -> Self

Converts to this type from the input type.
Source§

impl<E: Environment> From<LinearCombination<<E as Environment>::BaseField>> for Field<E>

Source§

fn from(linear_combination: LinearCombination<E::BaseField>) -> Self

Converts to this type from the input type.
Source§

impl<E: Environment> FromBits for Field<E>

Source§

fn from_bits_le(bits_le: &[Self::Boolean]) -> Self

Initializes a new base field element from a list of little-endian bits.

  • If bits_le is longer than E::BaseField::size_in_bits(), the excess bits are enforced to be 0s.
  • If bits_le is shorter than E::BaseField::size_in_bits(), it is padded with 0s up to base field size.
Source§

fn from_bits_be(bits_be: &[Self::Boolean]) -> Self

Initializes a new base field element from a list of big-endian bits without leading zeros.

Source§

type Boolean = Boolean<E>

Source§

impl<E: Environment> FromBoolean for Field<E>

Source§

fn from_boolean(boolean: &Self::Boolean) -> Self

Initializes a base field from a boolean.

Source§

type Boolean = Boolean<E>

Source§

impl<E: Environment> FromStr for Field<E>

Source§

fn from_str(string: &str) -> Result<Self>

Parses a string into a field circuit.

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

impl<E: Environment> Inject for Field<E>

Source§

fn new(mode: Mode, field: Self::Primitive) -> Self

Initializes a field circuit from a console field.

Source§

type Primitive = Field<<E as Environment>::Network>

Source§

fn constant(value: Self::Primitive) -> Self
where Self: Sized,

Initializes a constant of the given primitive value.
Source§

impl<E: Environment> Inv for &Field<E>

Source§

type Output = Field<E>

The result after applying the operator.
Source§

fn inv(self) -> Self::Output

Returns the multiplicative inverse of self. Read more
Source§

impl<E: Environment> Inv for Field<E>

Source§

type Output = Field<E>

The result after applying the operator.
Source§

fn inv(self) -> Self::Output

Returns the multiplicative inverse of self. Read more
Source§

impl<E: Environment> Inverse for Field<E>

Source§

type Output = Field<E>

Source§

fn inverse(&self) -> Self::Output

Source§

impl<E: Environment> Metrics<dyn Add<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (Mode, Mode)

Source§

fn count(_case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Div<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (Mode, Mode)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn DivUnchecked<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (Mode, Mode)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Double<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn count(_parameter: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Equal<Field<E>, Output = Boolean<E>>> for Field<E>

Source§

type Case = (Mode, Mode)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn FromBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = Vec<Mode>

Source§

fn count(_modes: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn FromBoolean<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = ()

Source§

fn count(_case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Inverse<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Mul<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (Mode, Mode)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Neg<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn count(_case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn One<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = ()

Source§

fn count(_parameter: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Pow<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Field<E>>, CircuitType<Field<E>>)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Square<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn SquareRoot<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Sub<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (Mode, Mode)

Source§

fn count(_case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Ternary<Boolean = Boolean<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (Mode, Mode, Mode)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn ToBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn ToLowerBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = (Mode, u64)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn ToUpperBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = (Mode, u64)

Source§

fn count(case: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Metrics<dyn Zero<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = ()

Source§

fn count(_parameter: &Self::Case) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E: Environment> Mul<&Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Field<E>) -> Self::Output

Performs the * operation. Read more
Source§

impl<E: Environment> Mul<&Field<E>> for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Field<E>) -> Self::Output

Performs the * operation. Read more
Source§

impl<E: Environment> Mul<Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Field<E>) -> Self::Output

Performs the * operation. Read more
Source§

impl<E: Environment> Mul for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the * operator.
Source§

fn mul(self, other: Field<E>) -> Self::Output

Performs the * operation. Read more
Source§

impl<E: Environment> MulAssign<&Field<E>> for Field<E>

Source§

fn mul_assign(&mut self, other: &Field<E>)

Performs the *= operation. Read more
Source§

impl<E: Environment> MulAssign for Field<E>

Source§

fn mul_assign(&mut self, other: Field<E>)

Performs the *= operation. Read more
Source§

impl<E: Environment> Neg for &Field<E>

Source§

fn neg(self) -> Self::Output

Performs the unary - operation.

Source§

type Output = Field<E>

The resulting type after applying the - operator.
Source§

impl<E: Environment> Neg for Field<E>

Source§

fn neg(self) -> Self::Output

Performs the unary - operation.

Source§

type Output = Field<E>

The resulting type after applying the - operator.
Source§

impl<E: Environment> One for Field<E>

Source§

type Boolean = Boolean<E>

Source§

fn one() -> Self

Returns a new one constant.
Source§

fn is_one(&self) -> Self::Boolean

Returns true if self is one.
Source§

impl<E: Environment> OutputMode<dyn Add<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Field<E>>, CircuitType<Field<E>>)

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Div<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Field<E>>, CircuitType<Field<E>>)

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn DivUnchecked<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Field<E>>, CircuitType<Field<E>>)

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Double<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(input: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Equal<Field<E>, Output = Boolean<E>>> for Field<E>

Source§

type Case = (Mode, Mode)

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn FromBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = Vec<Mode>

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn FromBoolean<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Inverse<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Mul<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Field<E>>, CircuitType<Field<E>>)

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Neg<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn One<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = ()

Source§

fn output_mode(_input: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Pow<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Field<E>>, CircuitType<Field<E>>)

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Square<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(input: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn SquareRoot<Output = Field<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Sub<Field<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Field<E>>, CircuitType<Field<E>>)

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Ternary<Boolean = Boolean<E>, Output = Field<E>>> for Field<E>

Source§

type Case = (CircuitType<Boolean<E>>, Mode, Mode)

Source§

fn output_mode(parameter: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn ToBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn ToLowerBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn ToUpperBits<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = Mode

Source§

fn output_mode(case: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> OutputMode<dyn Zero<Boolean = Boolean<E>>> for Field<E>

Source§

type Case = ()

Source§

fn output_mode(_input: &Self::Case) -> Mode

Returns the mode of the output.
Source§

impl<E: Environment> Parser for Field<E>

Source§

fn parse(string: &str) -> ParserResult<'_, Self>

Parses a string into a field circuit.

Source§

impl<E: Environment> Pow<&Field<E>> for &Field<E>

Source§

type Output = Field<E>

The result after applying the operator.
Source§

fn pow(self, exponent: &Field<E>) -> Self::Output

Returns self to the power rhs. Read more
Source§

impl<E: Environment> Pow<&Field<E>> for Field<E>

Source§

type Output = Field<E>

The result after applying the operator.
Source§

fn pow(self, exponent: &Field<E>) -> Self::Output

Returns self to the power rhs. Read more
Source§

impl<E: Environment> Pow<Field<E>> for &Field<E>

Source§

type Output = Field<E>

The result after applying the operator.
Source§

fn pow(self, exponent: Field<E>) -> Self::Output

Returns self to the power rhs. Read more
Source§

impl<E: Environment> Pow<Field<E>> for Field<E>

Source§

type Output = Field<E>

The result after applying the operator.
Source§

fn pow(self, exponent: Field<E>) -> Self::Output

Returns self to the power rhs. Read more
Source§

impl<E: Environment> Square for Field<E>

Source§

type Output = Field<E>

Source§

fn square(&self) -> Self::Output

Source§

impl<E: Environment> SquareRoot for Field<E>

Source§

fn square_root(&self) -> Self::Output

Returns the square root of self. If there are two square roots, the bitwise lesser one is returned. If there are no square roots, zero is returned.

Source§

type Output = Field<E>

Source§

impl<E: Environment> Sub<&Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the - operator.
Source§

fn sub(self, other: &Field<E>) -> Self::Output

Performs the - operation. Read more
Source§

impl<E: Environment> Sub<&Field<E>> for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the - operator.
Source§

fn sub(self, other: &Field<E>) -> Self::Output

Performs the - operation. Read more
Source§

impl<E: Environment> Sub<Field<E>> for &Field<E>

Source§

type Output = Field<E>

The resulting type after applying the - operator.
Source§

fn sub(self, other: Field<E>) -> Self::Output

Performs the - operation. Read more
Source§

impl<E: Environment> Sub for Field<E>

Source§

type Output = Field<E>

The resulting type after applying the - operator.
Source§

fn sub(self, other: Field<E>) -> Self::Output

Performs the - operation. Read more
Source§

impl<E: Environment> SubAssign<&Field<E>> for Field<E>

Source§

fn sub_assign(&mut self, other: &Field<E>)

Performs the -= operation. Read more
Source§

impl<E: Environment> SubAssign for Field<E>

Source§

fn sub_assign(&mut self, other: Field<E>)

Performs the -= operation. Read more
Source§

impl<E: Environment> Ternary for Field<E>

Source§

fn ternary( condition: &Self::Boolean, first: &Self, second: &Self, ) -> Self::Output

Returns first if condition is true, otherwise returns second.

Source§

type Boolean = Boolean<E>

Source§

type Output = Field<E>

Source§

impl<E: Environment> ToBits for &Field<E>

Source§

fn write_bits_le(&self, vec: &mut Vec<Self::Boolean>)

Outputs the unique, minimal little-endian bit representation of self without trailing zeros.

Source§

fn write_bits_be(&self, vec: &mut Vec<Self::Boolean>)

Outputs the unique, minimal big-endian bit representation of self without leading zeros.

Source§

type Boolean = Boolean<E>

Source§

fn to_bits_le(&self) -> Vec<Self::Boolean>

Returns the little-endian bits of the circuit.
Source§

fn to_bits_be(&self) -> Vec<Self::Boolean>

Returns the big-endian bits of the circuit.
Source§

impl<E: Environment> ToBits for Field<E>

Source§

fn write_bits_le(&self, vec: &mut Vec<Self::Boolean>)

Outputs the little-endian bit representation of self without trailing zeros.

Source§

fn write_bits_be(&self, vec: &mut Vec<Self::Boolean>)

Outputs the big-endian bit representation of self without leading zeros.

Source§

type Boolean = Boolean<E>

Source§

fn to_bits_le(&self) -> Vec<Self::Boolean>

Returns the little-endian bits of the circuit.
Source§

fn to_bits_be(&self) -> Vec<Self::Boolean>

Returns the big-endian bits of the circuit.
Source§

impl<E: Environment> ToLowerBits for Field<E>

Source§

fn to_lower_bits_le(&self, k: usize) -> Vec<Self::Boolean>

Outputs the lower k bits of an n-bit field element in little-endian representation. Enforces that the upper n - k bits are zero.

Source§

fn to_lower_bits_be(&self, k: usize) -> Vec<Self::Boolean>

Outputs the lower k bits of an n-bit field element in big-endian representation. Enforces that the upper n - k bits are zero.

Source§

type Boolean = Boolean<E>

Source§

impl<E: Environment> ToUpperBits for Field<E>

Source§

fn to_upper_bits_le(&self, k: usize) -> Vec<Self::Boolean>

Outputs the upper k bits of an n-bit field element in little-endian representation. Enforces that the lower n - k bits are zero.

Source§

fn to_upper_bits_be(&self, k: usize) -> Vec<Self::Boolean>

Outputs the upper k bits of an n-bit field element in big-endian representation. Enforces that the lower n - k bits are zero.

Source§

type Boolean = Boolean<E>

Source§

impl<E: Environment> TypeName for Field<E>

Source§

fn type_name() -> &'static str

Returns the type name of the circuit as a string.

Source§

impl<E: Environment> Zero for Field<E>

Source§

type Boolean = Boolean<E>

Source§

fn zero() -> Self

Returns a new zero constant.
Source§

fn is_zero(&self) -> Self::Boolean

Returns true if self is zero.
Source§

impl<E: Environment> FieldTrait for Field<E>

Auto Trait Implementations§

§

impl<E> !Freeze for Field<E>

§

impl<E> RefUnwindSafe for Field<E>

§

impl<E> !Send for Field<E>

§

impl<E> !Sync for Field<E>

§

impl<E> Unpin for Field<E>
where <E as Environment>::BaseField: Unpin,

§

impl<E> UnwindSafe for Field<E>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize = _

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToSmolStr for T
where T: Display + ?Sized,

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V