Struct cairo_vm::Felt252

source ·
pub struct Felt252(/* private fields */);
Expand description

Definition of the Field Element type.

Implementations§

source§

impl Felt

source

pub const ZERO: Felt = _

Felt constant that’s equal to 0.

source

pub const ONE: Felt = _

Felt constant that’s equal to 1.

source

pub const TWO: Felt = _

Felt constant that’s equal to 2.

source

pub const THREE: Felt = _

Felt constant that’s equal to 3.

source

pub const MAX: Felt = _

Maximum value of Felt. Equals to 2^251 + 17 * 2^192.

source

pub const ELEMENT_UPPER_BOUND: Felt = _

2 ** 251

source

pub const fn from_raw(val: [u64; 4]) -> Felt

Creates a new Felt from the raw internal representation. See UnsignedInteger to understand how it works under the hood.

source

pub const fn from_hex_unchecked(val: &str) -> Felt

source

pub fn from_bytes_be(bytes: &[u8; 32]) -> Felt

Creates a new Felt from its big-endian representation in a [u8; 32] array. This is as performant as from_bytes_le.

source

pub fn from_bytes_le(bytes: &[u8; 32]) -> Felt

Creates a new Felt from its little-endian representation in a [u8; 32] array. This is as performant as from_bytes_le.

source

pub fn from_bytes_be_slice(bytes: &[u8]) -> Felt

Creates a new Felt from its big-endian representation in a u8 slice. This is as performant as from_bytes_le. All bytes in the slice are consumed, as if first creating a big integer from them, but the conversion is performed in constant space on the stack.

source

pub fn from_bytes_le_slice(bytes: &[u8]) -> Felt

Creates a new Felt from its little-endian representation in a u8 slice. This is as performant as from_bytes_be. All bytes in the slice are consumed, as if first creating a big integer from them, but the conversion is performed in constant space on the stack.

source

pub fn to_bytes_be(&self) -> [u8; 32]

Converts to big-endian byte representation in a u8 array. This is as performant as to_bytes_le

source

pub fn to_bytes_le(&self) -> [u8; 32]

Converts to little-endian byte representation in a u8 array. This is as performant as to_bytes_be

source

pub fn to_hex_string(&self) -> String

Helper to produce a hexadecimal formatted string. Equivalent to calling format!("{self:#x}").

source

pub fn to_fixed_hex_string(&self) -> String

Helper to produce a hexadecimal formatted string of 66 chars.

source

pub fn to_bits_le(&self) -> [bool; 256]

Converts to little-endian bit representation.

source

pub fn to_bits_be(&self) -> [bool; 256]

Converts to big-endian bit representation.

source

pub fn field_div(&self, rhs: &NonZeroFelt) -> Felt

Finite field division.

source

pub fn floor_div(&self, rhs: &NonZeroFelt) -> Felt

Truncated quotient between self and rhs.

source

pub fn div_rem(&self, rhs: &NonZeroFelt) -> (Felt, Felt)

Quotient and remainder between self and rhs.

source

pub fn inverse(&self) -> Option<Felt>

Multiplicative inverse inside field.

source

pub fn sqrt(&self) -> Option<Felt>

Finds the square root. There may be 2 roots for each square, and the lower one is returned.

source

pub fn square(&self) -> Felt

Raises self to the power of 2.

source

pub fn double(&self) -> Felt

Doubles the point self

source

pub fn pow(&self, exponent: impl Into<u128>) -> Felt

Raises self to the power of exponent.

source

pub fn pow_felt(&self, exponent: &Felt) -> Felt

Raises self to the power of exponent.

source

pub fn mul_mod(&self, rhs: &Felt, p: &NonZeroFelt) -> Felt

Modular multiplication between self and rhs in modulo p.

source

pub fn mod_inverse(&self, p: &NonZeroFelt) -> Option<Felt>

Multiplicative inverse of self in modulo p.

source

pub fn mod_floor(&self, n: &NonZeroFelt) -> Felt

Remainder of dividing self by n as integers.

source

pub fn from_hex(hex_string: &str) -> Result<Felt, FromStrError>

Parse a hex-encoded number into Felt.

source

pub fn from_dec_str(dec_string: &str) -> Result<Felt, FromStrError>

Parse a decimal-encoded number into Felt.

source

pub fn to_raw_reversed(&self) -> [u64; 4]

Returns the internal representation of a felt and reverses it to match starknet-rs mont representation

source

pub fn to_raw(&self) -> [u64; 4]

Returns the internal representation of a felt

source

pub fn to_le_digits(&self) -> [u64; 4]

Convert self’s representative into an array of u64 digits, least significant digits first.

source

pub fn to_be_digits(&self) -> [u64; 4]

Convert self’s representative into an array of u64 digits, most significant digits first.

source

pub fn bits(&self) -> usize

Count the minimum number of bits needed to express self’s representative.

source

pub fn to_biguint(&self) -> BigUint

source

pub fn to_bigint(&self) -> BigInt

Trait Implementations§

source§

impl Add<&Felt> for &Felt

Field addition. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Felt) -> <&Felt as Add<&Felt>>::Output

Performs the + operation. Read more
source§

impl Add<&Felt> for Felt

Field addition. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Felt) -> <Felt as Add<&Felt>>::Output

Performs the + operation. Read more
source§

impl Add<&Felt> for Relocatable

§

type Output = Result<Relocatable, MathError>

The resulting type after applying the + operator.
source§

fn add(self, other: &Felt252) -> Result<Relocatable, MathError>

Performs the + operation. Read more
source§

impl Add<&Felt> for u64

§

type Output = Option<u64>

The resulting type after applying the + operator.
source§

fn add(self, rhs: &Felt) -> Option<u64>

Performs the + operation. Read more
source§

impl Add<Felt> for &Felt

Field addition. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the + operator.
source§

fn add(self, rhs: Felt) -> <&Felt as Add<Felt>>::Output

Performs the + operation. Read more
source§

impl Add<u64> for &Felt

Field addition. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the + operator.
source§

fn add(self, rhs: u64) -> <&Felt as Add<u64>>::Output

Performs the + operation. Read more
source§

impl Add<u64> for Felt

Field addition. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the + operator.
source§

fn add(self, rhs: u64) -> <Felt as Add<u64>>::Output

Performs the + operation. Read more
source§

impl Add for Felt

Field addition. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the + operator.
source§

fn add(self, rhs: Felt) -> <Felt as Add>::Output

Performs the + operation. Read more
source§

impl AddAssign<&Felt> for Felt

Field addition. Never overflows/underflows.

source§

fn add_assign(&mut self, rhs: &Felt)

Performs the += operation. Read more
source§

impl AddAssign for Felt

Field addition. Never overflows/underflows.

source§

fn add_assign(&mut self, rhs: Felt)

Performs the += operation. Read more
source§

impl AsRef<Felt> for Felt

source§

fn as_ref(&self) -> &Felt

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for Felt

source§

fn clone(&self) -> Felt

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 Debug for Felt

source§

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

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

impl Default for Felt

Defaults to Felt::ZERO.

source§

fn default() -> Felt

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for Felt

source§

fn deserialize<D>( deserializer: D, ) -> Result<Felt, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for Felt

Represents Felt in decimal by default.

source§

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

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

impl From<&BigInt> for Felt

source§

fn from(bigint: &BigInt) -> Felt

Converts to this type from the input type.
source§

impl From<&BigUint> for Felt

source§

fn from(biguint: &BigUint) -> Felt

Converts to this type from the input type.
source§

impl From<&Felt> for MaybeRelocatable

source§

fn from(val: &Felt252) -> Self

Converts to this type from the input type.
source§

impl From<&NonZeroFelt> for Felt

source§

fn from(value: &NonZeroFelt) -> Felt

Converts to this type from the input type.
source§

impl From<BigInt> for Felt

source§

fn from(bigint: BigInt) -> Felt

Converts to this type from the input type.
source§

impl From<BigUint> for Felt

source§

fn from(biguint: BigUint) -> Felt

Converts to this type from the input type.
source§

impl From<Felt> for MaybeRelocatable

source§

fn from(num: Felt252) -> Self

Converts to this type from the input type.
source§

impl From<NonZeroFelt> for Felt

source§

fn from(value: NonZeroFelt) -> Felt

Converts to this type from the input type.
source§

impl From<bool> for Felt

source§

fn from(value: bool) -> Felt

Converts to this type from the input type.
source§

impl From<i128> for Felt

source§

fn from(value: i128) -> Felt

Converts to this type from the input type.
source§

impl From<i16> for Felt

source§

fn from(value: i16) -> Felt

Converts to this type from the input type.
source§

impl From<i32> for Felt

source§

fn from(value: i32) -> Felt

Converts to this type from the input type.
source§

impl From<i64> for Felt

source§

fn from(value: i64) -> Felt

Converts to this type from the input type.
source§

impl From<i8> for Felt

source§

fn from(value: i8) -> Felt

Converts to this type from the input type.
source§

impl From<isize> for Felt

source§

fn from(value: isize) -> Felt

Converts to this type from the input type.
source§

impl From<u128> for Felt

source§

fn from(value: u128) -> Felt

Converts to this type from the input type.
source§

impl From<u16> for Felt

source§

fn from(value: u16) -> Felt

Converts to this type from the input type.
source§

impl From<u32> for Felt

source§

fn from(value: u32) -> Felt

Converts to this type from the input type.
source§

impl From<u64> for Felt

source§

fn from(value: u64) -> Felt

Converts to this type from the input type.
source§

impl From<u8> for Felt

source§

fn from(value: u8) -> Felt

Converts to this type from the input type.
source§

impl From<usize> for Felt

source§

fn from(value: usize) -> Felt

Converts to this type from the input type.
source§

impl FromPrimitive for Felt

source§

fn from_i64(value: i64) -> Option<Felt>

Converts an i64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u64(value: u64) -> Option<Felt>

Converts an u64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i128(value: i128) -> Option<Felt>

Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

fn from_u128(value: u128) -> Option<Felt>

Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

fn from_isize(n: isize) -> Option<Self>

Converts an isize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i8(n: i8) -> Option<Self>

Converts an i8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i16(n: i16) -> Option<Self>

Converts an i16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_i32(n: i32) -> Option<Self>

Converts an i32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_usize(n: usize) -> Option<Self>

Converts a usize to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u8(n: u8) -> Option<Self>

Converts an u8 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u16(n: u16) -> Option<Self>

Converts an u16 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_u32(n: u32) -> Option<Self>

Converts an u32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_f32(n: f32) -> Option<Self>

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
source§

fn from_f64(n: f64) -> Option<Self>

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
source§

impl FromStr for Felt

source§

fn from_str(s: &str) -> Result<Felt, <Felt as FromStr>::Err>

Converts a hex (0x-prefixed) or decimal string to a Felt. e.g., ‘0x123abc’ or ‘1337’.

§

type Err = FromStrError

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

impl Hash for Felt

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Inv for Felt

§

type Output = Option<Felt>

The result after applying the operator.
source§

fn inv(self) -> <Felt as Inv>::Output

Returns the multiplicative inverse of self. Read more
source§

impl LowerHex for Felt

Represents Felt in lowercase hexadecimal format.

source§

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

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

impl Mul<&Felt> for &Felt

Field multiplication. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Felt) -> <&Felt as Mul<&Felt>>::Output

Performs the * operation. Read more
source§

impl Mul<&Felt> for Felt

Field multiplication. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the * operator.
source§

fn mul(self, rhs: &Felt) -> <Felt as Mul<&Felt>>::Output

Performs the * operation. Read more
source§

impl Mul<Felt> for &Felt

Field multiplication. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Felt) -> <&Felt as Mul<Felt>>::Output

Performs the * operation. Read more
source§

impl Mul<Felt> for &ProjectivePoint

§

type Output = ProjectivePoint

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Felt) -> ProjectivePoint

Performs the * operation. Read more
source§

impl Mul for Felt

Field multiplication. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Felt) -> <Felt as Mul>::Output

Performs the * operation. Read more
source§

impl MulAssign<&Felt> for Felt

Field multiplication. Never overflows/underflows.

source§

fn mul_assign(&mut self, rhs: &Felt)

Performs the *= operation. Read more
source§

impl MulAssign for Felt

Field multiplication. Never overflows/underflows.

source§

fn mul_assign(&mut self, rhs: Felt)

Performs the *= operation. Read more
source§

impl Neg for &Felt

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn neg(self) -> <&Felt as Neg>::Output

Performs the unary - operation. Read more
source§

impl Neg for Felt

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn neg(self) -> <Felt as Neg>::Output

Performs the unary - operation. Read more
source§

impl One for Felt

source§

fn one() -> Felt

Returns the multiplicative identity element of Self, 1. Read more
source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
source§

fn is_one(&self) -> bool
where Self: PartialEq,

Returns true if self is equal to the multiplicative identity. Read more
source§

impl Ord for Felt

source§

fn cmp(&self, other: &Felt) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for Felt

source§

fn eq(&self, other: &Felt) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Felt

source§

fn partial_cmp(&self, other: &Felt) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Pow<u128> for Felt

§

type Output = Felt

The result after applying the operator.
source§

fn pow(self, rhs: u128) -> <Felt as Pow<u128>>::Output

Returns self to the power rhs. Read more
source§

impl Pow<u16> for Felt

§

type Output = Felt

The result after applying the operator.
source§

fn pow(self, rhs: u16) -> <Felt as Pow<u16>>::Output

Returns self to the power rhs. Read more
source§

impl Pow<u32> for Felt

§

type Output = Felt

The result after applying the operator.
source§

fn pow(self, rhs: u32) -> <Felt as Pow<u32>>::Output

Returns self to the power rhs. Read more
source§

impl Pow<u64> for Felt

§

type Output = Felt

The result after applying the operator.
source§

fn pow(self, rhs: u64) -> <Felt as Pow<u64>>::Output

Returns self to the power rhs. Read more
source§

impl Pow<u8> for Felt

§

type Output = Felt

The result after applying the operator.
source§

fn pow(self, rhs: u8) -> <Felt as Pow<u8>>::Output

Returns self to the power rhs. Read more
source§

impl Serialize for Felt

source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Sub<&Felt> for &Felt

Field subtraction. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Felt) -> <&Felt as Sub<&Felt>>::Output

Performs the - operation. Read more
source§

impl Sub<&Felt> for Felt

Field subtraction. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Felt) -> <Felt as Sub<&Felt>>::Output

Performs the - operation. Read more
source§

impl Sub<&Felt> for u64

Field subtraction. Never overflows/underflows.

§

type Output = Option<u64>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: &Felt) -> <u64 as Sub<&Felt>>::Output

Performs the - operation. Read more
source§

impl Sub<Felt> for &Felt

Field subtraction. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Felt) -> <&Felt as Sub<Felt>>::Output

Performs the - operation. Read more
source§

impl Sub<Felt> for u64

Field subtraction. Never overflows/underflows.

§

type Output = Option<u64>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Felt) -> <u64 as Sub<Felt>>::Output

Performs the - operation. Read more
source§

impl Sub<u64> for &Felt

Field subtraction. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn sub(self, rhs: u64) -> <&Felt as Sub<u64>>::Output

Performs the - operation. Read more
source§

impl Sub<u64> for Felt

Field subtraction. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn sub(self, rhs: u64) -> <Felt as Sub<u64>>::Output

Performs the - operation. Read more
source§

impl Sub for Felt

Field subtraction. Never overflows/underflows.

§

type Output = Felt

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Felt) -> <Felt as Sub>::Output

Performs the - operation. Read more
source§

impl SubAssign<&Felt> for Felt

Field subtraction. Never overflows/underflows.

source§

fn sub_assign(&mut self, rhs: &Felt)

Performs the -= operation. Read more
source§

impl SubAssign for Felt

Field subtraction. Never overflows/underflows.

source§

fn sub_assign(&mut self, rhs: Felt)

Performs the -= operation. Read more
source§

impl<'a> Sum<&'a Felt> for Felt

source§

fn sum<I>(iter: I) -> Felt
where I: Iterator<Item = &'a Felt>,

Takes an iterator and generates Self from the elements by “summing up” the items.
source§

impl Sum for Felt

source§

fn sum<I>(iter: I) -> Felt
where I: Iterator<Item = Felt>,

Takes an iterator and generates Self from the elements by “summing up” the items.
source§

impl ToBigInt for Felt

source§

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a [BigInt].

Safe to unwrap, will always return Some.

source§

impl ToBigUint for Felt

source§

fn to_biguint(&self) -> Option<BigUint>

Converts the value of self to a [BigUint].

Safe to unwrap, will always return Some.

source§

impl ToPrimitive for Felt

source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be represented by a u64, then None is returned.
source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be represented by an i64, then None is returned.
source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned. Read more
source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be represented by an i128 (i64 under the default implementation), then None is returned. Read more
source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be represented by an isize, then None is returned.
source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be represented by an i8, then None is returned.
source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be represented by an i16, then None is returned.
source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be represented by an i32, then None is returned.
source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be represented by a usize, then None is returned.
source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be represented by a u8, then None is returned.
source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.
source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.
source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f32.
source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f64. Read more
source§

impl TryFrom<&Felt> for NonZeroFelt

§

type Error = FeltIsZeroError

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

fn try_from( value: &Felt, ) -> Result<NonZeroFelt, <NonZeroFelt as TryFrom<&Felt>>::Error>

Performs the conversion.
source§

impl TryFrom<Felt> for NonZeroFelt

§

type Error = FeltIsZeroError

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

fn try_from( value: Felt, ) -> Result<NonZeroFelt, <NonZeroFelt as TryFrom<Felt>>::Error>

Performs the conversion.
source§

impl UpperHex for Felt

Represents Felt in uppercase hexadecimal format.

source§

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

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

impl Zero for Felt

source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
source§

fn zero() -> Felt

Returns the additive identity element of Self, 0. Read more
source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
source§

impl Copy for Felt

source§

impl Eq for Felt

source§

impl StructuralPartialEq for Felt

Auto Trait Implementations§

§

impl Freeze for Felt

§

impl RefUnwindSafe for Felt

§

impl Send for Felt

§

impl Sync for Felt

§

impl Unpin for Felt

§

impl UnwindSafe for Felt

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§

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

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

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

source§

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

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

impl<T> Conv for T

source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<T> FmtForward for T

source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. 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> Pipe for T
where T: ?Sized,

source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> Tap for T

source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

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

§

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> 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> TryConv for T

source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

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

§

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>,

§

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

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,