crypto_bigint

Struct Uint

Source
pub struct Uint<const LIMBS: usize> { /* private fields */ }
Expand description

Stack-allocated big unsigned integer.

Generic over the given number of LIMBS

§Encoding support

This type supports many different types of encodings, either via the Encoding trait or various const fn decoding and encoding functions that can be used with Uint constants.

Optional crate features for encoding (off-by-default):

Implementations§

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn adc(&self, rhs: &Self, carry: Limb) -> (Self, Limb)

Computes a + b + carry, returning the result along with the new carry.

Source

pub const fn saturating_add(&self, rhs: &Self) -> Self

Perform saturating addition, returning MAX on overflow.

Source

pub const fn wrapping_add(&self, rhs: &Self) -> Self

Perform wrapping addition, discarding overflow.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn add_mod(&self, rhs: &Uint<LIMBS>, p: &Uint<LIMBS>) -> Uint<LIMBS>

Computes self + rhs mod p.

Assumes self + rhs as unbounded integer is < 2p.

Source

pub const fn add_mod_special(&self, rhs: &Self, c: Limb) -> Self

Computes self + rhs mod p for the special modulus p = MAX+1-c where c is small enough to fit in a single Limb.

Assumes self + rhs as unbounded integer is < 2p.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn bitand(&self, rhs: &Self) -> Self

Computes bitwise a & b.

Source

pub const fn wrapping_and(&self, rhs: &Self) -> Self

Perform wrapping bitwise AND.

There’s no way wrapping could ever happen. This function exists so that all operations are accounted for in the wrapping operations

Source

pub fn checked_and(&self, rhs: &Self) -> CtOption<Self>

Perform checked bitwise AND, returning a CtOption which is_some always

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn not(&self) -> Self

Computes bitwise !a.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn bitor(&self, rhs: &Self) -> Self

Computes bitwise a & b.

Source

pub const fn wrapping_or(&self, rhs: &Self) -> Self

Perform wrapping bitwise OR.

There’s no way wrapping could ever happen. This function exists so that all operations are accounted for in the wrapping operations

Source

pub fn checked_or(&self, rhs: &Self) -> CtOption<Self>

Perform checked bitwise OR, returning a CtOption which is_some always

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn bitxor(&self, rhs: &Self) -> Self

Computes bitwise a ^ b.

Source

pub const fn wrapping_xor(&self, rhs: &Self) -> Self

Perform wrapping bitwise `XOR``.

There’s no way wrapping could ever happen. This function exists so that all operations are accounted for in the wrapping operations

Source

pub fn checked_xor(&self, rhs: &Self) -> CtOption<Self>

Perform checked bitwise XOR, returning a CtOption which is_some always

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn bit_vartime(&self, index: usize) -> bool

Returns true if the bit at position index is set, false otherwise.

§Remarks

This operation is variable time with respect to index only.

Source

pub const fn bits_vartime(&self) -> usize

Calculate the number of bits needed to represent this number.

Source

pub const fn leading_zeros(&self) -> usize

Calculate the number of leading zeros in the binary representation of this number.

Source

pub const fn leading_zeros_vartime(&self) -> usize

Calculate the number of leading zeros in the binary representation of this number, variable time in self.

Source

pub const fn trailing_zeros(&self) -> usize

Calculate the number of trailing zeros in the binary representation of this number.

Source

pub const fn trailing_zeros_vartime(&self) -> usize

Calculate the number of trailing zeros in the binary representation of this number, variable time in self.

Source

pub const fn trailing_ones(&self) -> usize

Calculate the number of trailing ones in the binary representation of this number.

Source

pub const fn trailing_ones_vartime(&self) -> usize

Calculate the number of trailing ones in the binary representation of this number, variable time in self.

Source

pub const fn bits(&self) -> usize

Calculate the number of bits needed to represent this number.

Source

pub const fn bit(&self, index: usize) -> CtChoice

Get the value of the bit at position index, as a truthy or falsy CtChoice. Returns the falsy value for indices out of range.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn cmp_vartime(&self, rhs: &Self) -> Ordering

Returns the Ordering between self and rhs in variable time.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn ct_div_rem_limb_with_reciprocal( &self, reciprocal: &Reciprocal, ) -> (Self, Limb)

Computes self / rhs using a pre-made reciprocal, returns the quotient (q) and remainder (r).

Source

pub fn div_rem_limb_with_reciprocal( &self, reciprocal: &CtOption<Reciprocal>, ) -> CtOption<(Self, Limb)>

Computes self / rhs using a pre-made reciprocal, returns the quotient (q) and remainder (r).

Source

pub fn div_rem_limb(&self, rhs: NonZero<Limb>) -> (Self, Limb)

Computes self / rhs, returns the quotient (q) and remainder (r).

Source

pub const fn const_rem(&self, rhs: &Self) -> (Self, CtChoice)

Computes self % rhs, returns the remainder and and the truthy value for is_some or the falsy value for is_none.

NOTE: Use only if you need to access const fn. Otherwise use Self::rem. This is variable only with respect to rhs.

When used with a fixed rhs, this function is constant-time with respect to self.

Source

pub const fn const_rem_wide( lower_upper: (Self, Self), rhs: &Self, ) -> (Self, CtChoice)

Computes self % rhs, returns the remainder and and the truthy value for is_some or the falsy value for is_none.

This is variable only with respect to rhs.

When used with a fixed rhs, this function is constant-time with respect to self.

Source

pub const fn rem2k(&self, k: usize) -> Self

Computes self % 2^k. Faster than reduce since its a power of 2. Limited to 2^16-1 since Uint doesn’t support higher.

Source

pub fn div_rem(&self, rhs: &NonZero<Self>) -> (Self, Self)

Computes self / rhs, returns the quotient, remainder.

Source

pub fn rem(&self, rhs: &NonZero<Self>) -> Self

Computes self % rhs, returns the remainder.

Source

pub const fn wrapping_div(&self, rhs: &Self) -> Self

Wrapped division is just normal division i.e. self / rhs There’s no way wrapping could ever happen. This function exists, so that all operations are accounted for in the wrapping operations.

Panics if rhs == 0.

Source

pub fn checked_div(&self, rhs: &Self) -> CtOption<Self>

Perform checked division, returning a CtOption which is_some only if the rhs != 0

Source

pub const fn wrapping_rem(&self, rhs: &Self) -> Self

Wrapped (modular) remainder calculation is just self % rhs. There’s no way wrapping could ever happen. This function exists, so that all operations are accounted for in the wrapping operations.

Panics if rhs == 0.

Source

pub fn checked_rem(&self, rhs: &Self) -> CtOption<Self>

Perform checked reduction, returning a CtOption which is_some only if the rhs != 0

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn from_be_slice(bytes: &[u8]) -> Self

Create a new Uint from the provided big endian bytes.

Source

pub const fn from_be_hex(hex: &str) -> Self

Create a new Uint from the provided big endian hex string.

Source

pub const fn from_le_slice(bytes: &[u8]) -> Self

Create a new Uint from the provided little endian bytes.

Source

pub const fn from_le_hex(hex: &str) -> Self

Create a new Uint from the provided little endian hex string.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn from_u8(n: u8) -> Self

Create a Uint from a u8 (const-friendly)

Source

pub const fn from_u16(n: u16) -> Self

Create a Uint from a u16 (const-friendly)

Source

pub const fn from_u32(n: u32) -> Self

Create a Uint from a u32 (const-friendly)

Source

pub const fn from_u64(n: u64) -> Self

Create a Uint from a u64 (const-friendly)

Source

pub const fn from_u128(n: u128) -> Self

Create a Uint from a u128 (const-friendly)

Source

pub const fn from_word(n: Word) -> Self

Create a Uint from a Word (const-friendly)

Source

pub const fn from_wide_word(n: WideWord) -> Self

Create a Uint from a WideWord (const-friendly)

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn inv_mod2k_vartime(&self, k: usize) -> Self

Computes 1/self mod 2^k. This method is constant-time w.r.t. self but not k.

Conditions: self < 2^k and self must be odd

Source

pub const fn inv_mod2k(&self, k: usize) -> Self

Computes 1/self mod 2^k.

Conditions: self < 2^k and self must be odd

Source

pub const fn inv_odd_mod_bounded( &self, modulus: &Self, bits: usize, modulus_bits: usize, ) -> (Self, CtChoice)

Computes the multiplicative inverse of self mod modulus, where modulus is odd. In other words self^-1 mod modulus. bits and modulus_bits are the bounds on the bit size of self and modulus, respectively (the inversion speed will be proportional to bits + modulus_bits). The second element of the tuple is the truthy value if an inverse exists, otherwise it is a falsy value.

Note: variable time in bits and modulus_bits.

The algorithm is the same as in GMP 6.2.1’s mpn_sec_invert.

Source

pub const fn inv_odd_mod(&self, modulus: &Self) -> (Self, CtChoice)

Computes the multiplicative inverse of self mod modulus, where modulus is odd. Returns (inverse, CtChoice::TRUE) if an inverse exists, otherwise (undefined, CtChoice::FALSE).

Source

pub const fn inv_mod(&self, modulus: &Self) -> (Self, CtChoice)

Computes the multiplicative inverse of self mod modulus. Returns (inverse, CtChoice::TRUE) if an inverse exists, otherwise (undefined, CtChoice::FALSE).

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub fn mul<const HLIMBS: usize>( &self, rhs: &Uint<HLIMBS>, ) -> <Uint<HLIMBS> as ConcatMixed<Self>>::MixedOutput
where Uint<HLIMBS>: ConcatMixed<Self>,

Multiply self by rhs, returning a concatenated “wide” result.

Source

pub const fn mul_wide<const HLIMBS: usize>( &self, rhs: &Uint<HLIMBS>, ) -> (Self, Uint<HLIMBS>)

Compute “wide” multiplication, with a product twice the size of the input.

Returns a tuple containing the (lo, hi) components of the product.

§Ordering note

Releases of crypto-bigint prior to v0.3 used (hi, lo) ordering instead. This has been changed for better consistency with the rest of the APIs in this crate.

For more info see: https://github.com/RustCrypto/crypto-bigint/issues/4

Source

pub const fn saturating_mul<const HLIMBS: usize>( &self, rhs: &Uint<HLIMBS>, ) -> Self

Perform saturating multiplication, returning MAX on overflow.

Source

pub const fn wrapping_mul<const H: usize>(&self, rhs: &Uint<H>) -> Self

Perform wrapping multiplication, discarding overflow.

Source

pub fn square(&self) -> <Self as Concat>::Output
where Self: Concat,

Square self, returning a concatenated “wide” result.

Source

pub const fn square_wide(&self) -> (Self, Self)

Square self, returning a “wide” result in two parts as (lo, hi).

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn mul_mod_special(&self, rhs: &Self, c: Limb) -> Self

Computes self * rhs mod p for the special modulus p = MAX+1-c where c is small enough to fit in a single Limb. For the modulus reduction, this function implements Algorithm 14.47 from the “Handbook of Applied Cryptography”, by A. Menezes, P. van Oorschot, and S. Vanstone, CRC Press, 1996.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn wrapping_neg(&self) -> Self

Perform wrapping negation.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn neg_mod(&self, p: &Self) -> Self

Computes -a mod p. Assumes self is in [0, p).

Source

pub const fn neg_mod_special(&self, c: Limb) -> Self

Computes -a mod p for the special modulus p = MAX+1-c where c is small enough to fit in a single Limb.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn resize<const T: usize>(&self) -> Uint<T>

Construct a Uint<T> from the unsigned integer value, truncating the upper bits if the value is too large to be represented.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn shl_vartime(&self, n: usize) -> Self

Computes self << shift.

NOTE: this operation is variable time with respect to n ONLY.

When used with a fixed n, this function is constant-time with respect to self.

Source

pub const fn shl_vartime_wide( lower_upper: (Self, Self), n: usize, ) -> (Self, Self)

Computes a left shift on a wide input as (lo, hi).

NOTE: this operation is variable time with respect to n ONLY.

When used with a fixed n, this function is constant-time with respect to self.

Source

pub const fn shl(&self, shift: usize) -> Self

Computes self << n. Returns zero if n >= Self::BITS.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn shr_vartime(&self, shift: usize) -> Self

Computes self >> n.

NOTE: this operation is variable time with respect to n ONLY.

When used with a fixed n, this function is constant-time with respect to self.

Source

pub const fn shr_vartime_wide( lower_upper: (Self, Self), n: usize, ) -> (Self, Self)

Computes a right shift on a wide input as (lo, hi).

NOTE: this operation is variable time with respect to n ONLY.

When used with a fixed n, this function is constant-time with respect to self.

Source

pub const fn shr(&self, shift: usize) -> Self

Computes self << n. Returns zero if n >= Self::BITS.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn sqrt(&self) -> Self

👎Deprecated since 0.5.3: This functionality will be moved to sqrt_vartime in a future release.
Source

pub const fn sqrt_vartime(&self) -> Self

Computes √(self) Uses Brent & Zimmermann, Modern Computer Arithmetic, v0.5.9, Algorithm 1.13

Callers can check if self is a square by squaring the result

Source

pub const fn wrapping_sqrt(&self) -> Self

👎Deprecated since 0.5.3: This functionality will be moved to wrapping_sqrt_vartime in a future release.
Source

pub const fn wrapping_sqrt_vartime(&self) -> Self

Wrapped sqrt is just normal √(self) There’s no way wrapping could ever happen. This function exists, so that all operations are accounted for in the wrapping operations.

Source

pub fn checked_sqrt(&self) -> CtOption<Self>

👎Deprecated since 0.5.3: This functionality will be moved to checked_sqrt_vartime in a future release.
Source

pub fn checked_sqrt_vartime(&self) -> CtOption<Self>

Perform checked sqrt, returning a CtOption which is_some only if the √(self)² == self

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn sbb(&self, rhs: &Self, borrow: Limb) -> (Self, Limb)

Computes a - (b + borrow), returning the result along with the new borrow.

Source

pub const fn saturating_sub(&self, rhs: &Self) -> Self

Perform saturating subtraction, returning ZERO on underflow.

Source

pub const fn wrapping_sub(&self, rhs: &Self) -> Self

Perform wrapping subtraction, discarding underflow and wrapping around the boundary of the type.

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const fn sub_mod(&self, rhs: &Uint<LIMBS>, p: &Uint<LIMBS>) -> Uint<LIMBS>

Computes self - rhs mod p.

Assumes self - rhs as unbounded signed integer is in [-p, p).

Source

pub const fn sub_mod_special(&self, rhs: &Self, c: Limb) -> Self

Computes self - rhs mod p for the special modulus p = MAX+1-c where c is small enough to fit in a single Limb.

Assumes self - rhs as unbounded signed integer is in [-p, p).

Source§

impl<const LIMBS: usize> Uint<LIMBS>

Source

pub const ZERO: Self = _

The value 0.

Source

pub const ONE: Self = _

The value 1.

Source

pub const MAX: Self = _

Maximum value this Uint can express.

Source

pub const BITS: usize = _

Total size of the represented integer in bits.

Source

pub const BYTES: usize = _

Total size of the represented integer in bytes.

Source

pub const LIMBS: usize = LIMBS

The number of limbs used on this platform.

Source

pub const fn new(limbs: [Limb; LIMBS]) -> Self

Const-friendly Uint constructor.

Source

pub const fn from_words(arr: [Word; LIMBS]) -> Self

Create a Uint from an array of Words (i.e. word-sized unsigned integers).

Source

pub const fn to_words(self) -> [Word; LIMBS]

Create an array of Words (i.e. word-sized unsigned integers) from a Uint.

Source

pub const fn as_words(&self) -> &[Word; LIMBS]

Borrow the inner limbs as an array of Words.

Source

pub fn as_words_mut(&mut self) -> &mut [Word; LIMBS]

Borrow the inner limbs as a mutable array of Words.

Source

pub const fn as_limbs(&self) -> &[Limb; LIMBS]

Borrow the limbs of this Uint.

Source

pub fn as_limbs_mut(&mut self) -> &mut [Limb; LIMBS]

Borrow the limbs of this Uint mutably.

Source

pub const fn to_limbs(self) -> [Limb; LIMBS]

Convert this Uint into its inner limbs.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U128

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U256

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U384

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U512

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U640

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U768

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U896

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U1024

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U1280

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U1536

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U1792

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U2048

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U3072

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U3584

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U4096

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U4224

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U4352

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U6144

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U8192

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Source§

impl Uint<{ _ }>

Source

pub const fn concat(&self, lo: &Uint<{ _ }>) -> U16384

Concatenate the two values, with self as most significant and rhs as the least significant.

Source§

impl Uint<{nlimbs!($bits)}>

Source

pub const fn split(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number in half, returning its high and low components respectively.

Trait Implementations§

Source§

impl<const LIMBS: usize> AddMod for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Output type.
Source§

fn add_mod(&self, rhs: &Self, p: &Self) -> Self

Compute self + rhs mod p. Read more
Source§

impl<const LIMBS: usize> AsMut<[Limb]> for Uint<LIMBS>

Source§

fn as_mut(&mut self) -> &mut [Limb]

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<const LIMBS: usize> AsMut<[u64; LIMBS]> for Uint<LIMBS>

Source§

fn as_mut(&mut self) -> &mut [Word; LIMBS]

Converts this type into a mutable reference of the (usually inferred) input type.
Source§

impl<const LIMBS: usize> AsRef<[Limb]> for Uint<LIMBS>

Source§

fn as_ref(&self) -> &[Limb]

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

impl<const LIMBS: usize> AsRef<[u64; LIMBS]> for Uint<LIMBS>

Source§

fn as_ref(&self) -> &[Word; LIMBS]

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

impl<const LIMBS: usize> BitAnd<&Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Uint<LIMBS>) -> Uint<LIMBS>

Performs the & operation. Read more
Source§

impl<const LIMBS: usize> BitAnd<&Uint<LIMBS>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Uint<LIMBS>) -> Uint<LIMBS>

Performs the & operation. Read more
Source§

impl<const LIMBS: usize> BitAnd<Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Uint<LIMBS>) -> Uint<LIMBS>

Performs the & operation. Read more
Source§

impl<const LIMBS: usize> BitAnd for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Uint<LIMBS>

Performs the & operation. Read more
Source§

impl<const LIMBS: usize> BitAndAssign<&Uint<LIMBS>> for Uint<LIMBS>

Source§

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

Performs the &= operation. Read more
Source§

impl<const LIMBS: usize> BitAndAssign for Uint<LIMBS>

Source§

fn bitand_assign(&mut self, other: Self)

Performs the &= operation. Read more
Source§

impl<const LIMBS: usize> BitOr<&Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Uint<LIMBS>) -> Uint<LIMBS>

Performs the | operation. Read more
Source§

impl<const LIMBS: usize> BitOr<&Uint<LIMBS>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Uint<LIMBS>) -> Uint<LIMBS>

Performs the | operation. Read more
Source§

impl<const LIMBS: usize> BitOr<Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Uint<LIMBS>) -> Uint<LIMBS>

Performs the | operation. Read more
Source§

impl<const LIMBS: usize> BitOr for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Uint<LIMBS>

Performs the | operation. Read more
Source§

impl<const LIMBS: usize> BitOrAssign<&Uint<LIMBS>> for Uint<LIMBS>

Source§

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

Performs the |= operation. Read more
Source§

impl<const LIMBS: usize> BitOrAssign for Uint<LIMBS>

Source§

fn bitor_assign(&mut self, other: Self)

Performs the |= operation. Read more
Source§

impl<const LIMBS: usize> BitXor<&Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Uint<LIMBS>) -> Uint<LIMBS>

Performs the ^ operation. Read more
Source§

impl<const LIMBS: usize> BitXor<&Uint<LIMBS>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Uint<LIMBS>) -> Uint<LIMBS>

Performs the ^ operation. Read more
Source§

impl<const LIMBS: usize> BitXor<Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Uint<LIMBS>) -> Uint<LIMBS>

Performs the ^ operation. Read more
Source§

impl<const LIMBS: usize> BitXor for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Uint<LIMBS>

Performs the ^ operation. Read more
Source§

impl<const LIMBS: usize> BitXorAssign<&Uint<LIMBS>> for Uint<LIMBS>

Source§

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

Performs the ^= operation. Read more
Source§

impl<const LIMBS: usize> BitXorAssign for Uint<LIMBS>

Source§

fn bitxor_assign(&mut self, other: Self)

Performs the ^= operation. Read more
Source§

impl<const LIMBS: usize> Bounded for Uint<LIMBS>

Source§

const BITS: usize = Self::BITS

Size of this integer in bits.
Source§

const BYTES: usize = Self::BYTES

Size of this integer in bytes.
Source§

impl<const LIMBS: usize> CheckedAdd<&Uint<LIMBS>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Output type.
Source§

fn checked_add(&self, rhs: &Self) -> CtOption<Self>

Perform checked subtraction, returning a CtOption which is_some only if the operation did not overflow.
Source§

impl<const LIMBS: usize, const HLIMBS: usize> CheckedMul<&Uint<HLIMBS>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Output type.
Source§

fn checked_mul(&self, rhs: &Uint<HLIMBS>) -> CtOption<Self>

Perform checked multiplication, returning a CtOption which is_some only if the operation did not overflow.
Source§

impl<const LIMBS: usize> CheckedSub<&Uint<LIMBS>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Output type.
Source§

fn checked_sub(&self, rhs: &Self) -> CtOption<Self>

Perform checked subtraction, returning a CtOption which is_some only if the operation did not underflow.
Source§

impl<const LIMBS: usize> Clone for Uint<LIMBS>

Source§

fn clone(&self) -> Uint<LIMBS>

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 ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ <$name>::LIMBS / 2 }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl ConcatMixed<Uint<{ U64::LIMBS * $size }>> for Uint<{ _ }>

Source§

type MixedOutput = Uint<{nlimbs!($bits)}>

Concatenated output: combination of Lo and Self.
Source§

fn concat_mixed(&self, lo: &Uint<{ _ }>) -> Self::MixedOutput

Concatenate the two values, with self as most significant and lo as the least significant.
Source§

impl<const LIMBS: usize> ConditionallySelectable for Uint<LIMBS>

Source§

fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self

Select a or b according to choice. Read more
Source§

fn conditional_assign(&mut self, other: &Self, choice: Choice)

Conditionally assign other to self, according to choice. Read more
Source§

fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)

Conditionally swap self and other if choice == 1; otherwise, reassign both unto themselves. Read more
Source§

impl<const LIMBS: usize> ConstantTimeEq for Uint<LIMBS>

Source§

fn ct_eq(&self, other: &Self) -> Choice

Determine if two items are equal. Read more
Source§

fn ct_ne(&self, other: &Self) -> Choice

Determine if two items are NOT equal. Read more
Source§

impl<const LIMBS: usize> ConstantTimeGreater for Uint<LIMBS>

Source§

fn ct_gt(&self, other: &Self) -> Choice

Determine whether self > other. Read more
Source§

impl<const LIMBS: usize> ConstantTimeLess for Uint<LIMBS>

Source§

fn ct_lt(&self, other: &Self) -> Choice

Determine whether self < other. Read more
Source§

impl<const LIMBS: usize> Debug for Uint<LIMBS>

Source§

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

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

impl<const LIMBS: usize> Default for Uint<LIMBS>

Source§

fn default() -> Self

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

impl<const LIMBS: usize> Display for Uint<LIMBS>

Source§

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

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

impl<const LIMBS: usize> Div<&NonZero<Limb>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &NonZero<Limb>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> Div<&NonZero<Limb>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &NonZero<Limb>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> Div<&NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &NonZero<Uint<LIMBS>>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> Div<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &NonZero<Uint<LIMBS>>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> Div<NonZero<Limb>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: NonZero<Limb>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> Div<NonZero<Limb>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: NonZero<Limb>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> Div<NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: NonZero<Uint<LIMBS>>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> Div<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: NonZero<Uint<LIMBS>>) -> Self::Output

Performs the / operation. Read more
Source§

impl<const LIMBS: usize> DivAssign<&NonZero<Limb>> for Uint<LIMBS>

Source§

fn div_assign(&mut self, rhs: &NonZero<Limb>)

Performs the /= operation. Read more
Source§

impl<const LIMBS: usize> DivAssign<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

fn div_assign(&mut self, rhs: &NonZero<Uint<LIMBS>>)

Performs the /= operation. Read more
Source§

impl<const LIMBS: usize> DivAssign<NonZero<Limb>> for Uint<LIMBS>

Source§

fn div_assign(&mut self, rhs: NonZero<Limb>)

Performs the /= operation. Read more
Source§

impl<const LIMBS: usize> DivAssign<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

fn div_assign(&mut self, rhs: NonZero<Uint<LIMBS>>)

Performs the /= operation. Read more
Source§

impl<const L: usize, const H: usize, const LIMBS: usize> From<&(Uint<L>, Uint<H>)> for Uint<LIMBS>
where Uint<H>: ConcatMixed<Uint<L>, MixedOutput = Uint<LIMBS>>,

Source§

fn from(nums: &(Uint<L>, Uint<H>)) -> Uint<LIMBS>

Converts to this type from the input type.
Source§

impl<const LIMBS: usize, const LIMBS2: usize> From<&Uint<LIMBS>> for Uint<LIMBS2>

Source§

fn from(num: &Uint<LIMBS>) -> Uint<LIMBS2>

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<[Limb; LIMBS]> for Uint<LIMBS>

Source§

fn from(limbs: [Limb; LIMBS]) -> Self

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<[u64; LIMBS]> for Uint<LIMBS>

Source§

fn from(arr: [Word; LIMBS]) -> Self

Converts to this type from the input type.
Source§

impl<const L: usize, const H: usize, const LIMBS: usize> From<(Uint<L>, Uint<H>)> for Uint<LIMBS>
where Uint<H>: ConcatMixed<Uint<L>, MixedOutput = Uint<LIMBS>>,

Source§

fn from(nums: (Uint<L>, Uint<H>)) -> Uint<LIMBS>

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<Limb> for Uint<LIMBS>

Source§

fn from(limb: Limb) -> Self

Converts to this type from the input type.
Source§

impl From<Uint<{nlimbs!($bits)}>> for u128

Source§

fn from(n: U128) -> u128

Converts to this type from the input type.
Source§

impl From<Uint<{nlimbs!($bits)}>> for u64

Source§

fn from(n: U64) -> u64

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<Uint<LIMBS>> for [Limb; LIMBS]

Source§

fn from(n: Uint<LIMBS>) -> [Limb; LIMBS]

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<Uint<LIMBS>> for [Word; LIMBS]

Source§

fn from(n: Uint<LIMBS>) -> [Word; LIMBS]

Converts to this type from the input type.
Source§

impl<const L: usize, const H: usize, const LIMBS: usize> From<Uint<LIMBS>> for (Uint<L>, Uint<H>)

Source§

fn from(num: Uint<LIMBS>) -> (Uint<L>, Uint<H>)

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<u128> for Uint<LIMBS>

Source§

fn from(n: u128) -> Self

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<u16> for Uint<LIMBS>

Source§

fn from(n: u16) -> Self

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<u32> for Uint<LIMBS>

Source§

fn from(n: u32) -> Self

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<u64> for Uint<LIMBS>

Source§

fn from(n: u64) -> Self

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> From<u8> for Uint<LIMBS>

Source§

fn from(n: u8) -> Self

Converts to this type from the input type.
Source§

impl<const LIMBS: usize> Hash for Uint<LIMBS>

Source§

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

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<const LIMBS: usize> Integer for Uint<LIMBS>

Source§

const ONE: Self = Self::ONE

The value 1.
Source§

const MAX: Self = Self::MAX

Maximum value this integer can express.
Source§

const BITS: usize = Self::BITS

Total size of the represented integer in bits.
Source§

const BYTES: usize = Self::BYTES

Total size of the represented integer in bytes.
Source§

const LIMBS: usize = Self::LIMBS

The number of limbs used on this platform.
Source§

fn is_odd(&self) -> Choice

Is this integer value an odd number? Read more
Source§

fn is_even(&self) -> Choice

Is this integer value an even number? Read more
Source§

impl<const LIMBS: usize> LowerHex for Uint<LIMBS>

Source§

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

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

impl<const LIMBS: usize, const HLIMBS: usize> Mul<&Uint<HLIMBS>> for &Uint<LIMBS>
where Uint<HLIMBS>: ConcatMixed<Uint<LIMBS>>,

Source§

type Output = <Uint<HLIMBS> as ConcatMixed<Uint<LIMBS>>>::MixedOutput

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Uint<HLIMBS>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const LIMBS: usize, const HLIMBS: usize> Mul<&Uint<HLIMBS>> for Uint<LIMBS>
where Uint<HLIMBS>: ConcatMixed<Uint<LIMBS>>,

Source§

type Output = <Uint<HLIMBS> as ConcatMixed<Uint<LIMBS>>>::MixedOutput

The resulting type after applying the * operator.
Source§

fn mul(self, other: &Uint<HLIMBS>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const LIMBS: usize, const HLIMBS: usize> Mul<Uint<HLIMBS>> for &Uint<LIMBS>
where Uint<HLIMBS>: ConcatMixed<Uint<LIMBS>>,

Source§

type Output = <Uint<HLIMBS> as ConcatMixed<Uint<LIMBS>>>::MixedOutput

The resulting type after applying the * operator.
Source§

fn mul(self, other: Uint<HLIMBS>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const LIMBS: usize, const HLIMBS: usize> Mul<Uint<HLIMBS>> for Uint<LIMBS>
where Uint<HLIMBS>: ConcatMixed<Uint<LIMBS>>,

Source§

type Output = <Uint<HLIMBS> as ConcatMixed<Uint<LIMBS>>>::MixedOutput

The resulting type after applying the * operator.
Source§

fn mul(self, other: Uint<HLIMBS>) -> Self::Output

Performs the * operation. Read more
Source§

impl<const N: usize, const LIMBS: usize, const RHS_LIMBS: usize> MultiExponentiateBoundedExp<Uint<RHS_LIMBS>, [(DynResidue<LIMBS>, Uint<RHS_LIMBS>); N]> for DynResidue<LIMBS>

Source§

fn multi_exponentiate_bounded_exp( bases_and_exponents: &[(Self, Uint<RHS_LIMBS>); N], exponent_bits: usize, ) -> Self

Calculates x1 ^ k1 * ... * xn ^ kn.
Source§

impl<const N: usize, MOD: ResidueParams<LIMBS>, const LIMBS: usize, const RHS_LIMBS: usize> MultiExponentiateBoundedExp<Uint<RHS_LIMBS>, [(Residue<MOD, LIMBS>, Uint<RHS_LIMBS>); N]> for Residue<MOD, LIMBS>

Source§

fn multi_exponentiate_bounded_exp( bases_and_exponents: &[(Self, Uint<RHS_LIMBS>); N], exponent_bits: usize, ) -> Self

Calculates x1 ^ k1 * ... * xn ^ kn.
Source§

impl<const LIMBS: usize> NegMod for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Output type.
Source§

fn neg_mod(&self, p: &Self) -> Self

Compute -self mod p.
Source§

impl<const LIMBS: usize> Not for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the ! operator.
Source§

fn not(self) -> <Self as Not>::Output

Performs the unary ! operation. Read more
Source§

impl<const LIMBS: usize> Ord for Uint<LIMBS>

Source§

fn cmp(&self, other: &Self) -> 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,

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

impl<const LIMBS: usize> PartialEq for Uint<LIMBS>

Source§

fn eq(&self, other: &Self) -> 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<const LIMBS: usize> PartialOrd for Uint<LIMBS>

Source§

fn partial_cmp(&self, other: &Self) -> 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<const LIMBS: usize, const RHS_LIMBS: usize> PowBoundedExp<Uint<RHS_LIMBS>> for DynResidue<LIMBS>

Source§

fn pow_bounded_exp( &self, exponent: &Uint<RHS_LIMBS>, exponent_bits: usize, ) -> Self

Raises to the exponent power, with exponent_bits representing the number of (least significant) bits to take into account for the exponent. Read more
Source§

impl<MOD: ResidueParams<LIMBS>, const LIMBS: usize, const RHS_LIMBS: usize> PowBoundedExp<Uint<RHS_LIMBS>> for Residue<MOD, LIMBS>

Source§

fn pow_bounded_exp( &self, exponent: &Uint<RHS_LIMBS>, exponent_bits: usize, ) -> Self

Raises to the exponent power, with exponent_bits representing the number of (least significant) bits to take into account for the exponent. Read more
Source§

impl<const LIMBS: usize> Random for Uint<LIMBS>

Source§

fn random(rng: &mut impl CryptoRngCore) -> Self

Generate a cryptographically secure random Uint.

Source§

impl<const LIMBS: usize> RandomMod for Uint<LIMBS>

Source§

fn random_mod(rng: &mut impl CryptoRngCore, modulus: &NonZero<Self>) -> Self

Generate a cryptographically secure random Uint which is less than a given modulus.

This function uses rejection sampling, a method which produces an unbiased distribution of in-range values provided the underlying CSRNG is unbiased, but runs in variable-time.

The variable-time nature of the algorithm should not pose a security issue so long as the underlying random number generator is truly a CSRNG, where previous outputs are unrelated to subsequent outputs and do not reveal information about the RNG’s internal state.

Source§

impl<const LIMBS: usize> Rem<&NonZero<Limb>> for &Uint<LIMBS>

Source§

type Output = Limb

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &NonZero<Limb>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> Rem<&NonZero<Limb>> for Uint<LIMBS>

Source§

type Output = Limb

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &NonZero<Limb>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> Rem<&NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &NonZero<Uint<LIMBS>>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> Rem<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: &NonZero<Uint<LIMBS>>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> Rem<NonZero<Limb>> for &Uint<LIMBS>

Source§

type Output = Limb

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: NonZero<Limb>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> Rem<NonZero<Limb>> for Uint<LIMBS>

Source§

type Output = Limb

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: NonZero<Limb>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> Rem<NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: NonZero<Uint<LIMBS>>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> Rem<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: NonZero<Uint<LIMBS>>) -> Self::Output

Performs the % operation. Read more
Source§

impl<const LIMBS: usize> RemAssign<&NonZero<Limb>> for Uint<LIMBS>

Source§

fn rem_assign(&mut self, rhs: &NonZero<Limb>)

Performs the %= operation. Read more
Source§

impl<const LIMBS: usize> RemAssign<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

fn rem_assign(&mut self, rhs: &NonZero<Uint<LIMBS>>)

Performs the %= operation. Read more
Source§

impl<const LIMBS: usize> RemAssign<NonZero<Limb>> for Uint<LIMBS>

Source§

fn rem_assign(&mut self, rhs: NonZero<Limb>)

Performs the %= operation. Read more
Source§

impl<const LIMBS: usize> RemAssign<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

Source§

fn rem_assign(&mut self, rhs: NonZero<Uint<LIMBS>>)

Performs the %= operation. Read more
Source§

impl<const LIMBS: usize> Shl<usize> for &Uint<LIMBS>

Source§

fn shl(self, rhs: usize) -> Uint<LIMBS>

NOTE: this operation is variable time with respect to rhs ONLY.

When used with a fixed rhs, this function is constant-time with respect to self.

Source§

type Output = Uint<LIMBS>

The resulting type after applying the << operator.
Source§

impl<const LIMBS: usize> Shl<usize> for Uint<LIMBS>

Source§

fn shl(self, rhs: usize) -> Uint<LIMBS>

NOTE: this operation is variable time with respect to rhs ONLY.

When used with a fixed rhs, this function is constant-time with respect to self.

Source§

type Output = Uint<LIMBS>

The resulting type after applying the << operator.
Source§

impl<const LIMBS: usize> ShlAssign<usize> for Uint<LIMBS>

Source§

fn shl_assign(&mut self, rhs: usize)

NOTE: this operation is variable time with respect to rhs ONLY.

When used with a fixed rhs, this function is constant-time with respect to self.

Source§

impl<const LIMBS: usize> Shr<usize> for &Uint<LIMBS>

Source§

fn shr(self, rhs: usize) -> Uint<LIMBS>

NOTE: this operation is variable time with respect to rhs ONLY.

When used with a fixed rhs, this function is constant-time with respect to self.

Source§

type Output = Uint<LIMBS>

The resulting type after applying the >> operator.
Source§

impl<const LIMBS: usize> Shr<usize> for Uint<LIMBS>

Source§

fn shr(self, rhs: usize) -> Uint<LIMBS>

NOTE: this operation is variable time with respect to rhs ONLY.

When used with a fixed rhs, this function is constant-time with respect to self.

Source§

type Output = Uint<LIMBS>

The resulting type after applying the >> operator.
Source§

impl<const LIMBS: usize> ShrAssign<usize> for Uint<LIMBS>

Source§

fn shr_assign(&mut self, rhs: usize)

Performs the >>= operation. Read more
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U128

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U256

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U1792

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U2048

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U3072

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U3584

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U4096

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U4224

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U4352

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U6144

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U8192

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U16384

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U384

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U512

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U1280

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ <$name>::LIMBS / 2 }>, Uint<{ <$name>::LIMBS / 2 }>> for U1536

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U192

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U192

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U384

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U384

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U448

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U448

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U448

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U448

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U448

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U448

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U512

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U512

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U256

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U512

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U512

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U512

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U512

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U256

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U576

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U640

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U320

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U704

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U320

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U768

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U320

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U320

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U832

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U384

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U896

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U384

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U960

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl SplitMixed<Uint<{ U64::LIMBS * $size }>, Uint<{ <$name>::LIMBS - U64::LIMBS * $size }>> for U1024

Source§

fn split_mixed(&self) -> (Uint<{ _ }>, Uint<{ _ }>)

Split this number into parts, returning its high and low components respectively.
Source§

impl<const LIMBS: usize> SubMod for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Output type.
Source§

fn sub_mod(&self, rhs: &Self, p: &Self) -> Self

Compute self - rhs mod p. Read more
Source§

impl<const LIMBS: usize> UpperHex for Uint<LIMBS>

Source§

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

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

impl<const LIMBS: usize> Zero for Uint<LIMBS>

Source§

const ZERO: Self = Self::ZERO

The value 0.
Source§

fn is_zero(&self) -> Choice

Determine if this value is equal to zero. Read more
Source§

impl<const LIMBS: usize> Copy for Uint<LIMBS>

Source§

impl<const LIMBS: usize> DefaultIsZeroes for Uint<LIMBS>

Source§

impl<const LIMBS: usize> Eq for Uint<LIMBS>

Auto Trait Implementations§

§

impl<const LIMBS: usize> Freeze for Uint<LIMBS>

§

impl<const LIMBS: usize> RefUnwindSafe for Uint<LIMBS>

§

impl<const LIMBS: usize> Send for Uint<LIMBS>

§

impl<const LIMBS: usize> Sync for Uint<LIMBS>

§

impl<const LIMBS: usize> Unpin for Uint<LIMBS>

§

impl<const LIMBS: usize> UnwindSafe for Uint<LIMBS>

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 T)

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

impl<T> Concat for T
where T: ConcatMixed,

Source§

type Output = <T as ConcatMixed>::MixedOutput

Concatenated output: twice the width of Self.
Source§

fn concat(&self, lo: &Self) -> Self::Output

Concatenate the two halves, with self as most significant and lo as the least significant.
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> 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> 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<Z> Zeroize for Z
where Z: DefaultIsZeroes,

Source§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.