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

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§

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn adc(&self, rhs: &Uint<LIMBS>, carry: Limb) -> (Uint<LIMBS>, Limb)

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

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

Perform saturating addition, returning MAX on overflow.

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

Perform wrapping addition, discarding overflow.

§

impl<const LIMBS: usize> Uint<LIMBS>

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

Computes self + rhs mod p in constant time.

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

pub const fn add_mod_special(&self, rhs: &Uint<LIMBS>, c: Limb) -> Uint<LIMBS>

Computes self + rhs mod p in constant time 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.

§

impl<const LIMBS: usize> Uint<LIMBS>

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

Computes bitwise a & b.

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

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

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

Perform checked bitwise AND, returning a CtOption which is_some always

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn not(&self) -> Uint<LIMBS>

Computes bitwise !a.

§

impl<const LIMBS: usize> Uint<LIMBS>

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

Computes bitwise a & b.

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

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

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

Perform checked bitwise OR, returning a CtOption which is_some always

§

impl<const LIMBS: usize> Uint<LIMBS>

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

Computes bitwise a ^ b.

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

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

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

Perform checked bitwise XOR, returning a CtOption which is_some always

§

impl<const LIMBS: usize> Uint<LIMBS>

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

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

pub const fn bits_vartime(self) -> usize

Calculate the number of bits needed to represent this number.

pub const fn leading_zeros(self) -> usize

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

pub const fn trailing_zeros(self) -> usize

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

pub const fn bits(self) -> usize

Calculate the number of bits needed to represent this number.

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.

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn ct_div_rem_limb_with_reciprocal( &self, reciprocal: &Reciprocal ) -> (Uint<LIMBS>, Limb)

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

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

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

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

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

pub const fn const_rem(&self, rhs: &Uint<LIMBS>) -> (Uint<LIMBS>, 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.

pub const fn const_rem_wide( lower_upper: (Uint<LIMBS>, Uint<LIMBS>), rhs: &Uint<LIMBS> ) -> (Uint<LIMBS>, 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.

pub const fn rem2k(&self, k: usize) -> Uint<LIMBS>

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

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

Computes self / rhs, returns the quotient, remainder.

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

Computes self % rhs, returns the remainder.

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

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.

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

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

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

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.

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

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

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn from_be_slice(bytes: &[u8]) -> Uint<LIMBS>

Create a new Uint from the provided big endian bytes.

pub const fn from_be_hex(hex: &str) -> Uint<LIMBS>

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

pub const fn from_le_slice(bytes: &[u8]) -> Uint<LIMBS>

Create a new Uint from the provided little endian bytes.

pub const fn from_le_hex(hex: &str) -> Uint<LIMBS>

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

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn from_u8(n: u8) -> Uint<LIMBS>

Create a Uint from a u8 (const-friendly)

pub const fn from_u16(n: u16) -> Uint<LIMBS>

Create a Uint from a u16 (const-friendly)

pub const fn from_u32(n: u32) -> Uint<LIMBS>

Create a Uint from a u32 (const-friendly)

pub const fn from_u64(n: u64) -> Uint<LIMBS>

Create a Uint from a u64 (const-friendly)

pub const fn from_u128(n: u128) -> Uint<LIMBS>

Create a Uint from a u128 (const-friendly)

pub const fn from_word(n: u64) -> Uint<LIMBS>

Create a Uint from a Word (const-friendly)

pub const fn from_wide_word(n: u128) -> Uint<LIMBS>

Create a Uint from a WideWord (const-friendly)

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn inv_mod2k(&self, k: usize) -> Uint<LIMBS>

Computes 1/self mod 2^k as specified in Algorithm 4 from A Secure Algorithm for Inversion Modulo 2k by Sadiel de la Fe and Carles Ferrer. See https://www.mdpi.com/2410-387X/2/3/23.

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

pub const fn inv_odd_mod_bounded( &self, modulus: &Uint<LIMBS>, bits: usize, modulus_bits: usize ) -> (Uint<LIMBS>, 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.

pub const fn inv_odd_mod( &self, modulus: &Uint<LIMBS> ) -> (Uint<LIMBS>, CtChoice)

Computes the multiplicative inverse of self mod modulus, where modulus is odd. Returns (inverse, Word::MAX) if an inverse exists, otherwise (undefined, Word::ZERO).

§

impl<const LIMBS: usize> Uint<LIMBS>

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

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

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

Perform saturating multiplication, returning MAX on overflow.

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

Perform wrapping multiplication, discarding overflow.

pub fn square(&self) -> <Uint<LIMBS> as Concat<Uint<LIMBS>>>::Outputwhere Uint<LIMBS>: Concat<Uint<LIMBS>>,

Square self, returning a concatenated “wide” result.

pub const fn square_wide(&self) -> (Uint<LIMBS>, Uint<LIMBS>)

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

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn mul_mod_special(&self, rhs: &Uint<LIMBS>, c: Limb) -> Uint<LIMBS>

Computes self * rhs mod p in constant time 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.

§

impl<const LIMBS: usize> Uint<LIMBS>

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

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

pub const fn neg_mod_special(&self, c: Limb) -> Uint<LIMBS>

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

§

impl<const LIMBS: usize> Uint<LIMBS>

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.

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn shl_vartime(&self, n: usize) -> Uint<LIMBS>

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.

pub const fn shl_vartime_wide( lower_upper: (Uint<LIMBS>, Uint<LIMBS>), n: usize ) -> (Uint<LIMBS>, Uint<LIMBS>)

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.

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn shr_vartime(&self, shift: usize) -> Uint<LIMBS>

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.

pub const fn shr_vartime_wide( lower_upper: (Uint<LIMBS>, Uint<LIMBS>), n: usize ) -> (Uint<LIMBS>, Uint<LIMBS>)

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.

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn sqrt(&self) -> Uint<LIMBS>

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

pub const fn wrapping_sqrt(&self) -> Uint<LIMBS>

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.

pub fn checked_sqrt(&self) -> CtOption<Uint<LIMBS>>

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

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const fn sbb(&self, rhs: &Uint<LIMBS>, borrow: Limb) -> (Uint<LIMBS>, Limb)

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

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

Perform saturating subtraction, returning ZERO on underflow.

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

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

§

impl<const LIMBS: usize> Uint<LIMBS>

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

Computes self - rhs mod p in constant time.

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

pub const fn sub_mod_special(&self, rhs: &Uint<LIMBS>, c: Limb) -> Uint<LIMBS>

Computes self - rhs mod p in constant time 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).

§

impl<const LIMBS: usize> Uint<LIMBS>

pub const ZERO: Uint<LIMBS> = Self::from_u8(0)

The value 0.

pub const ONE: Uint<LIMBS> = Self::from_u8(1)

The value 1.

pub const MAX: Uint<LIMBS> = Self{ limbs: [Limb::MAX; LIMBS],}

Maximum value this Uint can express.

pub const BITS: usize = LIMBS * Limb::BITS

Total size of the represented integer in bits.

pub const BYTES: usize = LIMBS * Limb::BYTES

Total size of the represented integer in bytes.

pub const LIMBS: usize = LIMBS

The number of limbs used on this platform.

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

Const-friendly Uint constructor.

pub const fn from_words(arr: [u64; LIMBS]) -> Uint<LIMBS>

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

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

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

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

Borrow the inner limbs as an array of Words.

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

Borrow the inner limbs as a mutable array of Words.

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

Borrow the limbs of this Uint.

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

Borrow the limbs of this Uint mutably.

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

Convert this Uint into its inner limbs.

§

impl Uint<crypto_bigint::::uint::U64::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U64::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#40}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U128::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U128::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#43}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U192::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U192::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#46}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U256::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U256::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#49}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U320::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U320::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#52}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U384::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U384::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#55}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U448::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U448::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#58}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U512::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U512::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#61}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U640::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U640::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#64}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U768::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U768::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#67}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U896::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U896::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#70}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U1024::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U1024::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#73}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U1536::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U1536::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#76}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U1792::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U1792::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#79}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U2048::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U2048::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#82}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U3072::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U3072::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#85}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U4096::{constant#0}>

pub const fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U4096::{constant#0}> ) -> Uint<crypto_bigint::::uint::{impl#88}::concat::{constant#0}>

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

§

impl Uint<crypto_bigint::::uint::U128::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#91}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#91}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U256::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#94}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#94}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U384::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#97}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#97}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U512::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#100}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#100}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U640::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#103}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#103}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U768::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#106}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#106}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U896::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#109}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#109}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U1024::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#112}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#112}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U1280::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#115}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#115}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U1536::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#118}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#118}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U1792::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#121}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#121}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U2048::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#124}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#124}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U3072::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#127}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#127}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U3584::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#130}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#130}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U4096::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#133}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#133}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U6144::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#136}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#136}::split::{constant#1}>)

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

§

impl Uint<crypto_bigint::::uint::U8192::{constant#0}>

pub const fn split( &self ) -> (Uint<crypto_bigint::::uint::{impl#139}::split::{constant#0}>, Uint<crypto_bigint::::uint::{impl#139}::split::{constant#1}>)

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

Trait Implementations§

§

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

§

type Output = Uint<LIMBS>

Output type.
§

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

Compute self + rhs mod p. Read more
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U1024::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U1024::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U1024::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U1024::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U1024::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U1024::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U1024::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U128::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U128::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U128::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U128::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U128::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U128::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U128::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U1536::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U1536::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U1536::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U1536::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U1536::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U1536::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U1536::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U1792::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U1792::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U1792::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U1792::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U1792::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U1792::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U1792::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U192::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U192::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U192::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U192::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U192::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U192::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U192::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U2048::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U2048::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U2048::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U2048::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U2048::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U2048::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U2048::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U256::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U256::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U256::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U256::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U256::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U256::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U256::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U3072::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U3072::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U3072::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U3072::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U3072::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U3072::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U3072::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U3584::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U3584::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U3584::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U3584::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U3584::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U3584::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U3584::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U384::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U384::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U384::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U384::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U384::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U384::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U384::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U4096::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U4096::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U4096::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U4096::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U4096::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U4096::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U4096::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U448::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U448::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U448::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U448::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U448::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U448::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U448::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U512::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U512::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U512::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U512::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U512::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U512::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U512::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U576::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B1>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U576::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U576::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U576::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U576::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U576::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U576::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U6144::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U6144::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U6144::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U6144::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U6144::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U6144::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U6144::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U64::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U64::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U64::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U64::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U64::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U64::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U64::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U768::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U768::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U768::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U768::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U768::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U768::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U768::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U8192::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U8192::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U8192::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U8192::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U8192::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U8192::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U8192::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

impl ArrayEncoding for Uint<crypto_bigint::::uint::U896::{constant#0}>

§

type ByteSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B0>, B0>, B0>

Size of a byte array which encodes a big integer.
§

fn from_be_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U896::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U896::{constant#0}>

Deserialize from a big-endian byte array.
§

fn from_le_byte_array( bytes: GenericArray<u8, <Uint<crypto_bigint::::uint::U896::{constant#0}> as ArrayEncoding>::ByteSize> ) -> Uint<crypto_bigint::::uint::U896::{constant#0}>

Deserialize from a little-endian byte array.
§

fn to_be_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U896::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a big-endian byte array.
§

fn to_le_byte_array( &self ) -> GenericArray<u8, <Uint<crypto_bigint::::uint::U896::{constant#0}> as ArrayEncoding>::ByteSize>

Serialize to a little-endian byte array.
§

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

§

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

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

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

§

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

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

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

§

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

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

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

§

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

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

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

§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
§

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

Performs the & operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
§

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

Performs the & operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
§

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

Performs the & operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the & operator.
§

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

Performs the & operation. Read more
§

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

§

fn bitand_assign(&mut self, other: &Uint<LIMBS>)

Performs the &= operation. Read more
§

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

§

fn bitand_assign(&mut self, other: Uint<LIMBS>)

Performs the &= operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
§

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

Performs the | operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
§

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

Performs the | operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
§

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

Performs the | operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the | operator.
§

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

Performs the | operation. Read more
§

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

§

fn bitor_assign(&mut self, other: &Uint<LIMBS>)

Performs the |= operation. Read more
§

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

§

fn bitor_assign(&mut self, other: Uint<LIMBS>)

Performs the |= operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
§

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

Performs the ^ operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
§

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

Performs the ^ operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
§

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

Performs the ^ operation. Read more
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the ^ operator.
§

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

Performs the ^ operation. Read more
§

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

§

fn bitxor_assign(&mut self, other: &Uint<LIMBS>)

Performs the ^= operation. Read more
§

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

§

fn bitxor_assign(&mut self, other: Uint<LIMBS>)

Performs the ^= operation. Read more
§

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

§

const BITS: usize = Self::BITS

Size of this integer in bits.
§

const BYTES: usize = Self::BYTES

Size of this integer in bytes.
§

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

§

type Output = Uint<LIMBS>

Output type.
§

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

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

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

§

type Output = Uint<LIMBS>

Output type.
§

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

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

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

§

type Output = Uint<LIMBS>

Output type.
§

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

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

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

§

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
§

impl Concat<Uint<crypto_bigint::::uint::U1024::{constant#0}>> for Uint<crypto_bigint::::uint::U1024::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#74}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U1024::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U1024::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U1024::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U128::{constant#0}>> for Uint<crypto_bigint::::uint::U128::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#44}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U128::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U128::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U128::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U1536::{constant#0}>> for Uint<crypto_bigint::::uint::U1536::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#77}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U1536::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U1536::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U1536::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U1792::{constant#0}>> for Uint<crypto_bigint::::uint::U1792::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#80}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U1792::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U1792::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U1792::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U192::{constant#0}>> for Uint<crypto_bigint::::uint::U192::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#47}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U192::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U192::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U192::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U2048::{constant#0}>> for Uint<crypto_bigint::::uint::U2048::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#83}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U2048::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U2048::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U2048::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U256::{constant#0}>> for Uint<crypto_bigint::::uint::U256::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#50}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U256::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U256::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U256::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U3072::{constant#0}>> for Uint<crypto_bigint::::uint::U3072::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#86}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U3072::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U3072::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U3072::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U320::{constant#0}>> for Uint<crypto_bigint::::uint::U320::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#53}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U320::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U320::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U320::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U384::{constant#0}>> for Uint<crypto_bigint::::uint::U384::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#56}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U384::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U384::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U384::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U4096::{constant#0}>> for Uint<crypto_bigint::::uint::U4096::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#89}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U4096::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U4096::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U4096::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U448::{constant#0}>> for Uint<crypto_bigint::::uint::U448::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#59}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U448::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U448::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U448::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U512::{constant#0}>> for Uint<crypto_bigint::::uint::U512::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#62}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U512::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U512::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U512::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U640::{constant#0}>> for Uint<crypto_bigint::::uint::U640::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#65}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U640::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U640::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U640::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U64::{constant#0}>> for Uint<crypto_bigint::::uint::U64::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#41}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U64::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U64::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U64::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U768::{constant#0}>> for Uint<crypto_bigint::::uint::U768::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#68}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U768::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U768::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U768::{constant#0}>>>::Output

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

impl Concat<Uint<crypto_bigint::::uint::U896::{constant#0}>> for Uint<crypto_bigint::::uint::U896::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#71}::Output::{constant#0}>

Concatenated output: twice the width of Self.
§

fn concat( &self, rhs: &Uint<crypto_bigint::::uint::U896::{constant#0}> ) -> <Uint<crypto_bigint::::uint::U896::{constant#0}> as Concat<Uint<crypto_bigint::::uint::U896::{constant#0}>>>::Output

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

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

§

fn conditional_select( a: &Uint<LIMBS>, b: &Uint<LIMBS>, choice: Choice ) -> Uint<LIMBS>

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
§

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

§

fn ct_eq(&self, other: &Uint<LIMBS>) -> 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
§

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

§

fn ct_gt(&self, other: &Uint<LIMBS>) -> Choice

Determine whether self > other. Read more
§

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

§

fn ct_lt(&self, other: &Uint<LIMBS>) -> Choice

Determine whether self < other. Read more
§

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

§

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

Formats the value using the given formatter. Read more
§

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

§

fn default() -> Uint<LIMBS>

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

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

§

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

Formats the value using the given formatter. Read more
§

impl<const LIMBS: usize> Div<&NonZero<Limb>> for &Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div( self, rhs: &NonZero<Limb> ) -> <&Uint<LIMBS> as Div<&NonZero<Limb>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> Div<&NonZero<Limb>> for Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div( self, rhs: &NonZero<Limb> ) -> <Uint<LIMBS> as Div<&NonZero<Limb>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> Div<&NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div( self, rhs: &NonZero<Uint<LIMBS>> ) -> <&Uint<LIMBS> as Div<&NonZero<Uint<LIMBS>>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> Div<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div( self, rhs: &NonZero<Uint<LIMBS>> ) -> <Uint<LIMBS> as Div<&NonZero<Uint<LIMBS>>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> Div<NonZero<Limb>> for &Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div(self, rhs: NonZero<Limb>) -> <&Uint<LIMBS> as Div<NonZero<Limb>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> Div<NonZero<Limb>> for Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div(self, rhs: NonZero<Limb>) -> <Uint<LIMBS> as Div<NonZero<Limb>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> Div<NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div( self, rhs: NonZero<Uint<LIMBS>> ) -> <&Uint<LIMBS> as Div<NonZero<Uint<LIMBS>>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> Div<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the / operator.
§

fn div( self, rhs: NonZero<Uint<LIMBS>> ) -> <Uint<LIMBS> as Div<NonZero<Uint<LIMBS>>>>::Output

Performs the / operation. Read more
§

impl<const LIMBS: usize> DivAssign<&NonZero<Limb>> for Uint<LIMBS>

§

fn div_assign(&mut self, rhs: &NonZero<Limb>)

Performs the /= operation. Read more
§

impl<const LIMBS: usize> DivAssign<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

fn div_assign(&mut self, rhs: &NonZero<Uint<LIMBS>>)

Performs the /= operation. Read more
§

impl<const LIMBS: usize> DivAssign<NonZero<Limb>> for Uint<LIMBS>

§

fn div_assign(&mut self, rhs: NonZero<Limb>)

Performs the /= operation. Read more
§

impl<const LIMBS: usize> DivAssign<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

fn div_assign(&mut self, rhs: NonZero<Uint<LIMBS>>)

Performs the /= operation. Read more
§

impl Encoding for Uint<crypto_bigint::::uint::U1024::{constant#0}>

§

type Repr = [u8; 128]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U1024::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1024::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U1024::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1024::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1024::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1024::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U1280::{constant#0}>

§

type Repr = [u8; 160]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U1280::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1280::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U1280::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1280::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1280::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1280::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U128::{constant#0}>

§

type Repr = [u8; 16]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U128::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U128::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U128::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U128::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U128::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U128::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U1536::{constant#0}>

§

type Repr = [u8; 192]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U1536::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1536::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U1536::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1536::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1536::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1536::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U1792::{constant#0}>

§

type Repr = [u8; 224]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U1792::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1792::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U1792::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U1792::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1792::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U1792::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U192::{constant#0}>

§

type Repr = [u8; 24]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U192::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U192::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U192::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U192::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U192::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U192::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U2048::{constant#0}>

§

type Repr = [u8; 256]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U2048::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U2048::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U2048::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U2048::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U2048::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U2048::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U256::{constant#0}>

§

type Repr = [u8; 32]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U256::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U256::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U256::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U256::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U256::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U256::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U3072::{constant#0}>

§

type Repr = [u8; 384]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U3072::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U3072::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U3072::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U3072::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U3072::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U3072::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U320::{constant#0}>

§

type Repr = [u8; 40]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U320::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U320::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U320::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U320::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U320::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U320::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U3584::{constant#0}>

§

type Repr = [u8; 448]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U3584::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U3584::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U3584::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U3584::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U3584::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U3584::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U384::{constant#0}>

§

type Repr = [u8; 48]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U384::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U384::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U384::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U384::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U384::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U384::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U4096::{constant#0}>

§

type Repr = [u8; 512]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U4096::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U4096::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U4096::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U4096::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U4096::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U4096::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U448::{constant#0}>

§

type Repr = [u8; 56]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U448::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U448::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U448::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U448::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U448::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U448::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U512::{constant#0}>

§

type Repr = [u8; 64]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U512::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U512::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U512::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U512::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U512::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U512::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U576::{constant#0}>

§

type Repr = [u8; 72]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U576::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U576::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U576::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U576::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U576::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U576::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U6144::{constant#0}>

§

type Repr = [u8; 768]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U6144::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U6144::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U6144::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U6144::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U6144::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U6144::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U640::{constant#0}>

§

type Repr = [u8; 80]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U640::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U640::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U640::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U640::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U640::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U640::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U64::{constant#0}>

§

type Repr = [u8; 8]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U64::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U64::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U64::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U64::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U64::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U64::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U768::{constant#0}>

§

type Repr = [u8; 96]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U768::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U768::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U768::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U768::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U768::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U768::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U8192::{constant#0}>

§

type Repr = [u8; 1024]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U8192::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U8192::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U8192::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U8192::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U8192::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U8192::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

impl Encoding for Uint<crypto_bigint::::uint::U896::{constant#0}>

§

type Repr = [u8; 112]

Byte array representation.
§

fn from_be_bytes( bytes: <Uint<crypto_bigint::::uint::U896::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U896::{constant#0}>

Decode from big endian bytes.
§

fn from_le_bytes( bytes: <Uint<crypto_bigint::::uint::U896::{constant#0}> as Encoding>::Repr ) -> Uint<crypto_bigint::::uint::U896::{constant#0}>

Decode from little endian bytes.
§

fn to_be_bytes( &self ) -> <Uint<crypto_bigint::::uint::U896::{constant#0}> as Encoding>::Repr

Encode to big endian bytes.
§

fn to_le_bytes( &self ) -> <Uint<crypto_bigint::::uint::U896::{constant#0}> as Encoding>::Repr

Encode to little endian bytes.
§

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

§

fn from(limbs: [Limb; LIMBS]) -> Uint<LIMBS>

Converts to this type from the input type.
§

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

§

fn from(arr: [u64; LIMBS]) -> Uint<LIMBS>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U1024::{constant#0}>, Uint<crypto_bigint::::uint::U1024::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#75}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U1024::{constant#0}>, Uint<crypto_bigint::::uint::U1024::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#75}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U128::{constant#0}>, Uint<crypto_bigint::::uint::U128::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#45}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U128::{constant#0}>, Uint<crypto_bigint::::uint::U128::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#45}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U1536::{constant#0}>, Uint<crypto_bigint::::uint::U1536::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#78}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U1536::{constant#0}>, Uint<crypto_bigint::::uint::U1536::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#78}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U1792::{constant#0}>, Uint<crypto_bigint::::uint::U1792::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#81}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U1792::{constant#0}>, Uint<crypto_bigint::::uint::U1792::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#81}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U192::{constant#0}>, Uint<crypto_bigint::::uint::U192::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#48}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U192::{constant#0}>, Uint<crypto_bigint::::uint::U192::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#48}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U2048::{constant#0}>, Uint<crypto_bigint::::uint::U2048::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#84}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U2048::{constant#0}>, Uint<crypto_bigint::::uint::U2048::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#84}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U256::{constant#0}>, Uint<crypto_bigint::::uint::U256::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#51}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U256::{constant#0}>, Uint<crypto_bigint::::uint::U256::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#51}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U3072::{constant#0}>, Uint<crypto_bigint::::uint::U3072::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#87}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U3072::{constant#0}>, Uint<crypto_bigint::::uint::U3072::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#87}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U320::{constant#0}>, Uint<crypto_bigint::::uint::U320::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#54}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U320::{constant#0}>, Uint<crypto_bigint::::uint::U320::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#54}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U384::{constant#0}>, Uint<crypto_bigint::::uint::U384::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#57}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U384::{constant#0}>, Uint<crypto_bigint::::uint::U384::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#57}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U4096::{constant#0}>, Uint<crypto_bigint::::uint::U4096::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#90}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U4096::{constant#0}>, Uint<crypto_bigint::::uint::U4096::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#90}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U448::{constant#0}>, Uint<crypto_bigint::::uint::U448::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#60}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U448::{constant#0}>, Uint<crypto_bigint::::uint::U448::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#60}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U512::{constant#0}>, Uint<crypto_bigint::::uint::U512::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#63}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U512::{constant#0}>, Uint<crypto_bigint::::uint::U512::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#63}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U640::{constant#0}>, Uint<crypto_bigint::::uint::U640::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#66}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U640::{constant#0}>, Uint<crypto_bigint::::uint::U640::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#66}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U64::{constant#0}>, Uint<crypto_bigint::::uint::U64::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#42}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U64::{constant#0}>, Uint<crypto_bigint::::uint::U64::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#42}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U768::{constant#0}>, Uint<crypto_bigint::::uint::U768::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#69}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U768::{constant#0}>, Uint<crypto_bigint::::uint::U768::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#69}::from::{constant#0}>

Converts to this type from the input type.
§

impl From<(Uint<crypto_bigint::::uint::U896::{constant#0}>, Uint<crypto_bigint::::uint::U896::{constant#0}>)> for Uint<crypto_bigint::::uint::{impl#72}::{constant#0}>

§

fn from( nums: (Uint<crypto_bigint::::uint::U896::{constant#0}>, Uint<crypto_bigint::::uint::U896::{constant#0}>) ) -> Uint<crypto_bigint::::uint::{impl#72}::from::{constant#0}>

Converts to this type from the input type.
§

impl<const LIMBS: usize> From<Limb> for Uint<LIMBS>

§

fn from(limb: Limb) -> Uint<LIMBS>

Converts to this type from the input type.
§

impl<const LIMBS: usize> From<u128> for Uint<LIMBS>

§

fn from(n: u128) -> Uint<LIMBS>

Converts to this type from the input type.
§

impl<const LIMBS: usize> From<u16> for Uint<LIMBS>

§

fn from(n: u16) -> Uint<LIMBS>

Converts to this type from the input type.
§

impl<const LIMBS: usize> From<u32> for Uint<LIMBS>

§

fn from(n: u32) -> Uint<LIMBS>

Converts to this type from the input type.
§

impl<const LIMBS: usize> From<u64> for Uint<LIMBS>

§

fn from(n: u64) -> Uint<LIMBS>

Converts to this type from the input type.
§

impl<const LIMBS: usize> From<u8> for Uint<LIMBS>

§

fn from(n: u8) -> Uint<LIMBS>

Converts to this type from the input type.
§

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

§

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

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

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

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

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

§

const ONE: Uint<LIMBS> = Self::ONE

The value 1.
§

const MAX: Uint<LIMBS> = Self::MAX

Maximum value this integer can express.
§

const BITS: usize = Self::BITS

Total size of the represented integer in bits.
§

const BYTES: usize = Self::BYTES

Total size of the represented integer in bytes.
§

const LIMBS: usize = Self::LIMBS

The number of limbs used on this platform.
§

fn is_odd(&self) -> Choice

Is this integer value an odd number? Read more
§

fn is_even(&self) -> Choice

Is this integer value an even number? Read more
§

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

§

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

Formats the value using the given formatter.
§

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

§

type Output = Uint<LIMBS>

Output type.
§

fn neg_mod(&self, p: &Uint<LIMBS>) -> Uint<LIMBS>

Compute -self mod p.
§

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

§

type Output = Uint<LIMBS>

The resulting type after applying the ! operator.
§

fn not(self) -> <Uint<LIMBS> as Not>::Output

Performs the unary ! operation. Read more
§

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

§

fn cmp(&self, other: &Uint<LIMBS>) -> Ordering

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

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

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

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

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

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

Restrict a value to a certain interval. Read more
§

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

§

fn eq(&self, other: &Uint<LIMBS>) -> bool

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

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

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

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

§

fn partial_cmp(&self, other: &Uint<LIMBS>) -> 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

This method 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

This method 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

This method 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

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

impl<const LIMBS: usize> PowBoundedExp<Uint<LIMBS>> for DynResidue<LIMBS>

§

fn pow_bounded_exp( &self, exponent: &Uint<LIMBS>, exponent_bits: usize ) -> DynResidue<LIMBS>

Raises to the exponent power, with exponent_bits representing the number of (least significant) bits to take into account for the exponent. Read more
§

impl<MOD, const LIMBS: usize> PowBoundedExp<Uint<LIMBS>> for Residue<MOD, LIMBS>where MOD: ResidueParams<LIMBS>,

§

fn pow_bounded_exp( &self, exponent: &Uint<LIMBS>, exponent_bits: usize ) -> Residue<MOD, LIMBS>

Raises to the exponent power, with exponent_bits representing the number of (least significant) bits to take into account for the exponent. Read more
§

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

§

fn random(rng: &mut impl CryptoRngCore) -> Uint<LIMBS>

Generate a cryptographically secure random Uint.

§

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

§

fn random_mod( rng: &mut impl CryptoRngCore, modulus: &NonZero<Uint<LIMBS>> ) -> Uint<LIMBS>

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.

§

impl<const LIMBS: usize> Rem<&NonZero<Limb>> for &Uint<LIMBS>

§

type Output = Limb

The resulting type after applying the % operator.
§

fn rem( self, rhs: &NonZero<Limb> ) -> <&Uint<LIMBS> as Rem<&NonZero<Limb>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> Rem<&NonZero<Limb>> for Uint<LIMBS>

§

type Output = Limb

The resulting type after applying the % operator.
§

fn rem( self, rhs: &NonZero<Limb> ) -> <Uint<LIMBS> as Rem<&NonZero<Limb>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> Rem<&NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
§

fn rem( self, rhs: &NonZero<Uint<LIMBS>> ) -> <&Uint<LIMBS> as Rem<&NonZero<Uint<LIMBS>>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> Rem<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
§

fn rem( self, rhs: &NonZero<Uint<LIMBS>> ) -> <Uint<LIMBS> as Rem<&NonZero<Uint<LIMBS>>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> Rem<NonZero<Limb>> for &Uint<LIMBS>

§

type Output = Limb

The resulting type after applying the % operator.
§

fn rem(self, rhs: NonZero<Limb>) -> <&Uint<LIMBS> as Rem<NonZero<Limb>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> Rem<NonZero<Limb>> for Uint<LIMBS>

§

type Output = Limb

The resulting type after applying the % operator.
§

fn rem(self, rhs: NonZero<Limb>) -> <Uint<LIMBS> as Rem<NonZero<Limb>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> Rem<NonZero<Uint<LIMBS>>> for &Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
§

fn rem( self, rhs: NonZero<Uint<LIMBS>> ) -> <&Uint<LIMBS> as Rem<NonZero<Uint<LIMBS>>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> Rem<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

type Output = Uint<LIMBS>

The resulting type after applying the % operator.
§

fn rem( self, rhs: NonZero<Uint<LIMBS>> ) -> <Uint<LIMBS> as Rem<NonZero<Uint<LIMBS>>>>::Output

Performs the % operation. Read more
§

impl<const LIMBS: usize> RemAssign<&NonZero<Limb>> for Uint<LIMBS>

§

fn rem_assign(&mut self, rhs: &NonZero<Limb>)

Performs the %= operation. Read more
§

impl<const LIMBS: usize> RemAssign<&NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

fn rem_assign(&mut self, rhs: &NonZero<Uint<LIMBS>>)

Performs the %= operation. Read more
§

impl<const LIMBS: usize> RemAssign<NonZero<Limb>> for Uint<LIMBS>

§

fn rem_assign(&mut self, rhs: NonZero<Limb>)

Performs the %= operation. Read more
§

impl<const LIMBS: usize> RemAssign<NonZero<Uint<LIMBS>>> for Uint<LIMBS>

§

fn rem_assign(&mut self, rhs: NonZero<Uint<LIMBS>>)

Performs the %= operation. Read more
§

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

§

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.

§

type Output = Uint<LIMBS>

The resulting type after applying the << operator.
§

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

§

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.

§

type Output = Uint<LIMBS>

The resulting type after applying the << operator.
§

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

§

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.

§

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

§

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.

§

type Output = Uint<LIMBS>

The resulting type after applying the >> operator.
§

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

§

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.

§

type Output = Uint<LIMBS>

The resulting type after applying the >> operator.
§

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

§

fn shr_assign(&mut self, rhs: usize)

Performs the >>= operation. Read more
§

impl Split<Uint<crypto_bigint::::uint::U1024::{constant#0}>> for Uint<crypto_bigint::::uint::U1024::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#113}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U1024::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1024::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U1024::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1024::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U1280::{constant#0}>> for Uint<crypto_bigint::::uint::U1280::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#116}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U1280::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1280::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U1280::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1280::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U128::{constant#0}>> for Uint<crypto_bigint::::uint::U128::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#92}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U128::{constant#0}> as Split<Uint<crypto_bigint::::uint::U128::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U128::{constant#0}> as Split<Uint<crypto_bigint::::uint::U128::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U1536::{constant#0}>> for Uint<crypto_bigint::::uint::U1536::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#119}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U1536::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1536::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U1536::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1536::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U1792::{constant#0}>> for Uint<crypto_bigint::::uint::U1792::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#122}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U1792::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1792::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U1792::{constant#0}> as Split<Uint<crypto_bigint::::uint::U1792::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U2048::{constant#0}>> for Uint<crypto_bigint::::uint::U2048::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#125}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U2048::{constant#0}> as Split<Uint<crypto_bigint::::uint::U2048::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U2048::{constant#0}> as Split<Uint<crypto_bigint::::uint::U2048::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U256::{constant#0}>> for Uint<crypto_bigint::::uint::U256::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#95}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U256::{constant#0}> as Split<Uint<crypto_bigint::::uint::U256::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U256::{constant#0}> as Split<Uint<crypto_bigint::::uint::U256::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U3072::{constant#0}>> for Uint<crypto_bigint::::uint::U3072::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#128}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U3072::{constant#0}> as Split<Uint<crypto_bigint::::uint::U3072::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U3072::{constant#0}> as Split<Uint<crypto_bigint::::uint::U3072::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U3584::{constant#0}>> for Uint<crypto_bigint::::uint::U3584::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#131}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U3584::{constant#0}> as Split<Uint<crypto_bigint::::uint::U3584::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U3584::{constant#0}> as Split<Uint<crypto_bigint::::uint::U3584::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U384::{constant#0}>> for Uint<crypto_bigint::::uint::U384::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#98}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U384::{constant#0}> as Split<Uint<crypto_bigint::::uint::U384::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U384::{constant#0}> as Split<Uint<crypto_bigint::::uint::U384::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U4096::{constant#0}>> for Uint<crypto_bigint::::uint::U4096::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#134}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U4096::{constant#0}> as Split<Uint<crypto_bigint::::uint::U4096::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U4096::{constant#0}> as Split<Uint<crypto_bigint::::uint::U4096::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U512::{constant#0}>> for Uint<crypto_bigint::::uint::U512::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#101}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U512::{constant#0}> as Split<Uint<crypto_bigint::::uint::U512::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U512::{constant#0}> as Split<Uint<crypto_bigint::::uint::U512::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U6144::{constant#0}>> for Uint<crypto_bigint::::uint::U6144::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#137}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U6144::{constant#0}> as Split<Uint<crypto_bigint::::uint::U6144::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U6144::{constant#0}> as Split<Uint<crypto_bigint::::uint::U6144::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U640::{constant#0}>> for Uint<crypto_bigint::::uint::U640::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#104}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U640::{constant#0}> as Split<Uint<crypto_bigint::::uint::U640::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U640::{constant#0}> as Split<Uint<crypto_bigint::::uint::U640::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U768::{constant#0}>> for Uint<crypto_bigint::::uint::U768::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#107}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U768::{constant#0}> as Split<Uint<crypto_bigint::::uint::U768::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U768::{constant#0}> as Split<Uint<crypto_bigint::::uint::U768::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U8192::{constant#0}>> for Uint<crypto_bigint::::uint::U8192::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#140}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U8192::{constant#0}> as Split<Uint<crypto_bigint::::uint::U8192::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U8192::{constant#0}> as Split<Uint<crypto_bigint::::uint::U8192::{constant#0}>>>::Output)

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

impl Split<Uint<crypto_bigint::::uint::U896::{constant#0}>> for Uint<crypto_bigint::::uint::U896::{constant#0}>

§

type Output = Uint<crypto_bigint::::uint::{impl#110}::Output::{constant#0}>

Split output: high/low components of the value.
§

fn split( &self ) -> (<Uint<crypto_bigint::::uint::U896::{constant#0}> as Split<Uint<crypto_bigint::::uint::U896::{constant#0}>>>::Output, <Uint<crypto_bigint::::uint::U896::{constant#0}> as Split<Uint<crypto_bigint::::uint::U896::{constant#0}>>>::Output)

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

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

§

type Output = Uint<LIMBS>

Output type.
§

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

Compute self - rhs mod p. Read more
§

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

§

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

Formats the value using the given formatter.
§

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

§

const ZERO: Uint<LIMBS> = Self::ZERO

The value 0.
§

fn is_zero(&self) -> Choice

Determine if this value is equal to zero. Read more
§

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

§

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

§

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

Auto Trait Implementations§

§

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<A, T> AsBits<T> for Awhere A: AsRef<[T]>, T: BitStore,

§

fn as_bits<O>(&self) -> &BitSlice<T, O>where O: BitOrder,

Views self as an immutable bit-slice region with the O ordering.
§

fn try_as_bits<O>(&self) -> Result<&BitSlice<T, O>, BitSpanError<T>>where O: BitOrder,

Attempts to view self as an immutable bit-slice region with the O ordering. Read more
§

impl<A, T> AsMutBits<T> for Awhere A: AsMut<[T]>, T: BitStore,

§

fn as_mut_bits<O>(&mut self) -> &mut BitSlice<T, O>where O: BitOrder,

Views self as a mutable bit-slice region with the O ordering.
§

fn try_as_mut_bits<O>(&mut self) -> Result<&mut BitSlice<T, O>, BitSpanError<T>>where O: BitOrder,

Attempts to view self as a mutable bit-slice region with the O ordering. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

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

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

impl<T> FmtForward for T

§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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.

§

impl<T> Pipe for Twhere T: ?Sized,

§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

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

Immutable access to a value. Read more
§

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

Mutable access to a value. Read more
§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
§

impl<T> TryConv for T

§

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
source§

impl<Z> Zeroize for Zwhere 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.