Struct Uint
#[repr(transparent)]pub struct Uint<const BITS: usize, const LIMBS: usize> {
pub(crate) limbs: [u64; LIMBS],
}
Expand description
The ring of numbers modulo $2^{\mathtt{BITS}}$.
Uint
implements nearly all traits and methods from the std
unsigned
integer types, including most nightly only ones.
§Notable differences from std
uint types.
- The operators
+
,-
,*
, etc. using wrapping math by default. The std operators panic on overflow in debug, and are undefined in release, see reference. - The
Uint::checked_shl
,Uint::overflowing_shl
, etc return overflow when non-zero bits are shifted out. In std they return overflow when the shift amount is greater than the bit size. - Some methods like
u64::div_euclid
andu64::rem_euclid
are left out because they are meaningless or redundant for unsigned integers. Std has them for compatibility with their signed integers. - Many functions that are
const
in std are not inUint
. Uint::to_le_bytes
andUint::to_be_bytes
require the output size to be provided as a const-generic argument. They will runtime panic if the provided size is incorrect.Uint::widening_mul
takes as argument anUint
of arbitrary size and returns a result that is sized to fit the product without overflow (i.e. the sum of the bit sizes of self and the argument). The std version requires same-sized arguments and returns a pair of lower and higher bits.
Fields§
§limbs: [u64; LIMBS]
Implementations§
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn abs_diff(self, other: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn abs_diff(self, other: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes the absolute difference between self
and other
.
Returns $\left\vert \mathtt{self} - \mathtt{other} \right\vert$.
pub const fn checked_add(
self,
rhs: Uint<BITS, LIMBS>,
) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_add( self, rhs: Uint<BITS, LIMBS>, ) -> Option<Uint<BITS, LIMBS>>
Computes self + rhs
, returning None
if overflow occurred.
pub const fn checked_neg(self) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_neg(self) -> Option<Uint<BITS, LIMBS>>
Computes -self
, returning None
unless self == 0
.
pub const fn checked_sub(
self,
rhs: Uint<BITS, LIMBS>,
) -> Option<Uint<BITS, LIMBS>>
pub const fn checked_sub( self, rhs: Uint<BITS, LIMBS>, ) -> Option<Uint<BITS, LIMBS>>
Computes self - rhs
, returning None
if overflow occurred.
pub const fn overflowing_add(
self,
rhs: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_add( self, rhs: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Calculates $\mod{\mathtt{self} + \mathtt{rhs}}_{2^{BITS}}$.
Returns a tuple of the addition along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
pub const fn overflowing_neg(self) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_neg(self) -> (Uint<BITS, LIMBS>, bool)
Calculates $\mod{-\mathtt{self}}_{2^{BITS}}$.
Returns !self + 1
using wrapping operations to return the value that
represents the negation of this unsigned value. Note that for positive
unsigned values overflow always occurs, but negating 0 does not
overflow.
pub const fn overflowing_sub(
self,
rhs: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub const fn overflowing_sub( self, rhs: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Calculates $\mod{\mathtt{self} - \mathtt{rhs}}_{2^{BITS}}$.
Returns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
pub const fn saturating_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn saturating_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self + rhs
, saturating at the numeric bounds instead of
overflowing.
pub const fn saturating_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn saturating_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self - rhs
, saturating at the numeric bounds instead of
overflowing
pub const fn wrapping_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn wrapping_add(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self + rhs
, wrapping around at the boundary of the type.
pub const fn wrapping_neg(self) -> Uint<BITS, LIMBS>
pub const fn wrapping_neg(self) -> Uint<BITS, LIMBS>
Computes -self
, wrapping around at the boundary of the type.
pub const fn wrapping_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub const fn wrapping_sub(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self - rhs
, wrapping around at the boundary of the type.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn to_base_le(&self, base: u64) -> impl Iterator<Item = u64>
pub fn to_base_le(&self, base: u64) -> impl Iterator<Item = u64>
Returns an iterator over the base base
digits of the number in
little-endian order.
Pro tip: instead of setting base = 10
, set it to the highest
power of 10
that still fits u64
. This way much fewer iterations
are required to extract all the digits.
§Panics
Panics if the base is less than 2.
pub fn to_base_be(&self, base: u64) -> impl Iterator<Item = u64>
Available on crate feature alloc
only.
pub fn to_base_be(&self, base: u64) -> impl Iterator<Item = u64>
alloc
only.Returns an iterator over the base base
digits of the number in
big-endian order.
Pro tip: instead of setting base = 10
, set it to the highest
power of 10
that still fits u64
. This way much fewer iterations
are required to extract all the digits.
§Panics
Panics if the base is less than 2.
pub fn from_base_le<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
pub fn from_base_le<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
Constructs the Uint
from digits in the base base
in little-endian.
§Errors
BaseConvertError::InvalidBase
if the base is less than 2.BaseConvertError::InvalidDigit
if a digit is out of range.BaseConvertError::Overflow
if the number is too large to fit.
pub fn from_base_be<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
pub fn from_base_be<I>(
base: u64,
digits: I,
) -> Result<Uint<BITS, LIMBS>, BaseConvertError>where
I: IntoIterator<Item = u64>,
Constructs the Uint
from digits in the base base
in big-endian.
§Errors
BaseConvertError::InvalidBase
if the base is less than 2.BaseConvertError::InvalidDigit
if a digit is out of range.BaseConvertError::Overflow
if the number is too large to fit.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const fn bit(&self, index: usize) -> bool
pub const fn bit(&self, index: usize) -> bool
Returns whether a specific bit is set.
Returns false
if index
exceeds the bit width of the number.
pub const fn byte(&self, index: usize) -> u8
pub const fn byte(&self, index: usize) -> u8
Returns a specific byte. The byte at index 0
is the least significant
byte (little endian).
§Panics
Panics if index
exceeds the byte width of the number.
§Examples
let x = uint!(0x1234567890_U64);
let bytes = [
x.byte(0), // 0x90
x.byte(1), // 0x78
x.byte(2), // 0x56
x.byte(3), // 0x34
x.byte(4), // 0x12
x.byte(5), // 0x00
x.byte(6), // 0x00
x.byte(7), // 0x00
];
assert_eq!(bytes, x.to_le_bytes());
Panics if out of range.
let x = uint!(0x1234567890_U64);
let _ = x.byte(8);
pub fn reverse_bits(self) -> Uint<BITS, LIMBS>
pub fn reverse_bits(self) -> Uint<BITS, LIMBS>
Reverses the order of bits in the integer. The least significant bit becomes the most significant bit, second least-significant bit becomes second most-significant bit, etc.
pub fn leading_zeros(&self) -> usize
pub fn leading_zeros(&self) -> usize
Returns the number of leading zeros in the binary representation of
self
.
pub fn leading_ones(&self) -> usize
pub fn leading_ones(&self) -> usize
Returns the number of leading ones in the binary representation of
self
.
pub fn trailing_zeros(&self) -> usize
pub fn trailing_zeros(&self) -> usize
Returns the number of trailing zeros in the binary representation of
self
.
pub fn trailing_ones(&self) -> usize
pub fn trailing_ones(&self) -> usize
Returns the number of trailing ones in the binary representation of
self
.
pub fn count_ones(&self) -> usize
pub fn count_ones(&self) -> usize
Returns the number of ones in the binary representation of self
.
pub fn count_zeros(&self) -> usize
pub fn count_zeros(&self) -> usize
Returns the number of zeros in the binary representation of self
.
pub fn most_significant_bits(&self) -> (u64, usize)
pub fn most_significant_bits(&self) -> (u64, usize)
Returns the most significant 64 bits of the number and the exponent.
Given return value $(\mathtt{bits}, \mathtt{exponent})$, the self
can
be approximated as
$$ \mathtt{self} ≈ \mathtt{bits} ⋅ 2^\mathtt{exponent} $$
If self
is $<≥> 2^{63}$, then exponent
will be zero and bits
will
have leading zeros.
pub fn checked_shl(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
pub fn checked_shl(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
Checked left shift by rhs
bits.
Returns $\mathtt{self} ⋅ 2^{\mathtt{rhs}}$ or None
if the result
would $≥ 2^{\mathtt{BITS}}$. That is, it returns None
if the bits
shifted out would be non-zero.
Note: This differs from u64::checked_shl
which returns None
if the
shift is larger than BITS (which is IMHO not very useful).
pub fn saturating_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
pub fn saturating_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
pub fn overflowing_shl(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_shl(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
Left shift by rhs
bits with overflow detection.
Returns $\mod{\mathtt{value} ⋅ 2^{\mathtt{rhs}}}_{2^{\mathtt{BITS}}}$.
If the product is $≥ 2^{\mathtt{BITS}}$ it returns true
. That is, it
returns true if the bits shifted out are non-zero.
Note: This differs from u64::overflowing_shl
which returns true
if
the shift is larger than BITS
(which is IMHO not very useful).
pub fn wrapping_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
pub fn wrapping_shl(self, rhs: usize) -> Uint<BITS, LIMBS>
Left shift by rhs
bits.
Returns $\mod{\mathtt{value} ⋅ 2^{\mathtt{rhs}}}_{2^{\mathtt{BITS}}}$.
Note: This differs from u64::wrapping_shl
which first reduces rhs
by BITS
(which is IMHO not very useful).
pub fn checked_shr(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
pub fn checked_shr(self, rhs: usize) -> Option<Uint<BITS, LIMBS>>
Checked right shift by rhs
bits.
$$ \frac{\mathtt{self}}{2^{\mathtt{rhs}}} $$
Returns the above or None
if the division is not exact. This is the
same as
Note: This differs from u64::checked_shr
which returns None
if the
shift is larger than BITS (which is IMHO not very useful).
pub fn overflowing_shr(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_shr(self, rhs: usize) -> (Uint<BITS, LIMBS>, bool)
Right shift by rhs
bits with underflow detection.
$$ \floor{\frac{\mathtt{self}}{2^{\mathtt{rhs}}}} $$
Returns the above and false
if the division was exact, and true
if
it was rounded down. This is the same as non-zero bits being shifted
out.
Note: This differs from u64::overflowing_shr
which returns true
if
the shift is larger than BITS
(which is IMHO not very useful).
pub fn wrapping_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
pub fn wrapping_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
Right shift by rhs
bits.
$$ \mathtt{wrapping\_shr}(\mathtt{self}, \mathtt{rhs}) = \floor{\frac{\mathtt{self}}{2^{\mathtt{rhs}}}} $$
Note: This differs from u64::wrapping_shr
which first reduces rhs
by BITS
(which is IMHO not very useful).
pub fn arithmetic_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
pub fn arithmetic_shr(self, rhs: usize) -> Uint<BITS, LIMBS>
Arithmetic shift right by rhs
bits.
pub fn rotate_left(self, rhs: usize) -> Uint<BITS, LIMBS>
pub fn rotate_left(self, rhs: usize) -> Uint<BITS, LIMBS>
Shifts the bits to the left by a specified amount, rhs
, wrapping the
truncated bits to the end of the resulting integer.
pub fn rotate_right(self, rhs: usize) -> Uint<BITS, LIMBS>
pub fn rotate_right(self, rhs: usize) -> Uint<BITS, LIMBS>
Shifts the bits to the right by a specified amount, rhs
, wrapping the
truncated bits to the beginning of the resulting integer.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const BYTES: usize = _
pub const BYTES: usize = _
The size of this integer type in bytes. Note that some bits may be forced zero if BITS is not cleanly divisible by eight.
pub const fn as_le_slice(&self) -> &[u8] ⓘ
Available on little-endian only.
pub const fn as_le_slice(&self) -> &[u8] ⓘ
Access the underlying store as a little-endian slice of bytes.
Only available on little-endian targets.
If BITS
does not evenly divide 8, it is padded with zero bits in the
most significant position.
pub unsafe fn as_le_slice_mut(&mut self) -> &mut [u8] ⓘ
Available on little-endian only.
pub unsafe fn as_le_slice_mut(&mut self) -> &mut [u8] ⓘ
pub fn as_le_bytes(&self) -> Cow<'_, [u8]>
Available on crate feature alloc
only.
pub fn as_le_bytes(&self) -> Cow<'_, [u8]>
alloc
only.Access the underlying store as a little-endian bytes.
Uses an optimized implementation on little-endian targets.
pub fn as_le_bytes_trimmed(&self) -> Cow<'_, [u8]>
Available on crate feature alloc
only.
pub fn as_le_bytes_trimmed(&self) -> Cow<'_, [u8]>
alloc
only.Access the underlying store as a little-endian bytes with trailing zeros removed.
Uses an optimized implementation on little-endian targets.
pub const fn to_le_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
pub const fn to_le_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
Converts the Uint
to a little-endian byte array of size exactly
Self::BYTES
.
§Panics
Panics if the generic parameter BYTES
is not exactly Self::BYTES
.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
pub fn to_le_bytes_vec(&self) -> Vec<u8> ⓘ
Available on crate feature alloc
only.
pub fn to_le_bytes_vec(&self) -> Vec<u8> ⓘ
alloc
only.Converts the Uint
to a little-endian byte vector of size exactly
Self::BYTES
.
This method is useful when Self::to_le_bytes
can not be used because
byte size is not known compile time.
pub fn to_le_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
Available on crate feature alloc
only.
pub fn to_le_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
alloc
only.Converts the Uint
to a little-endian byte vector with trailing zeros
bytes removed.
pub const fn to_be_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
pub const fn to_be_bytes<const BYTES: usize>(&self) -> [u8; BYTES]
Converts the Uint
to a big-endian byte array of size exactly
Self::BYTES
.
§Panics
Panics if the generic parameter BYTES
is not exactly Self::BYTES
.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
pub fn to_be_bytes_vec(&self) -> Vec<u8> ⓘ
Available on crate feature alloc
only.
pub fn to_be_bytes_vec(&self) -> Vec<u8> ⓘ
alloc
only.Converts the Uint
to a big-endian byte vector of size exactly
Self::BYTES
.
This method is useful when Self::to_be_bytes
can not be used because
byte size is not known compile time.
pub fn to_be_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
Available on crate feature alloc
only.
pub fn to_be_bytes_trimmed_vec(&self) -> Vec<u8> ⓘ
alloc
only.Converts the Uint
to a big-endian byte vector with leading zeros
bytes removed.
pub const fn from_be_bytes<const BYTES: usize>(
bytes: [u8; BYTES],
) -> Uint<BITS, LIMBS>
pub const fn from_be_bytes<const BYTES: usize>( bytes: [u8; BYTES], ) -> Uint<BITS, LIMBS>
Converts a big-endian byte array of size exactly
Self::BYTES
to Uint
.
§Panics
Panics if the generic parameter BYTES
is not exactly Self::BYTES
.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
Panics if the value is too large for the bit-size of the Uint.
pub const fn from_be_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
pub const fn from_be_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
pub const fn try_from_be_slice(bytes: &[u8]) -> Option<Uint<BITS, LIMBS>>
pub const fn try_from_be_slice(bytes: &[u8]) -> Option<Uint<BITS, LIMBS>>
pub const fn from_le_bytes<const BYTES: usize>(
bytes: [u8; BYTES],
) -> Uint<BITS, LIMBS>
pub const fn from_le_bytes<const BYTES: usize>( bytes: [u8; BYTES], ) -> Uint<BITS, LIMBS>
Converts a little-endian byte array of size exactly
Self::BYTES
to Uint
.
§Panics
Panics if the generic parameter BYTES
is not exactly Self::BYTES
.
Ideally this would be a compile time error, but this is blocked by
Rust issue #60551.
Panics if the value is too large for the bit-size of the Uint.
pub const fn from_le_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
pub const fn from_le_slice(bytes: &[u8]) -> Uint<BITS, LIMBS>
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_div(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_div(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Computes self / rhs
, returning None
if rhs == 0
.
pub fn checked_rem(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_rem(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Computes self % rhs
, returning None
if rhs == 0
.
pub fn wrapping_div(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_div(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_rem(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_rem(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
pub fn from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
Construct a new Uint
from the value.
§Panics
Panics if the conversion fails, for example if the value is too large
for the bit-size of the Uint
. The panic will be attributed to the
call site.
§Examples
assert_eq!(U8::from(142_u16), 142_U8);
assert_eq!(U64::from(0x7014b4c2d1f2_U256), 0x7014b4c2d1f2_U64);
assert_eq!(U64::from(3.145), 3_U64);
pub fn saturating_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
pub fn saturating_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
Construct a new Uint
from the value saturating the value to the
minimum or maximum value of the Uint
.
If the value is not a number (like f64::NAN
), then the result is
set zero.
§Examples
assert_eq!(U8::saturating_from(300_u16), 255_U8);
assert_eq!(U8::saturating_from(-10_i16), 0_U8);
assert_eq!(U32::saturating_from(0x7014b4c2d1f2_U256), U32::MAX);
pub fn wrapping_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
pub fn wrapping_from<T>(value: T) -> Uint<BITS, LIMBS>where
Uint<BITS, LIMBS>: UintTryFrom<T>,
Construct a new Uint
from the value saturating the value to the
minimum or maximum value of the Uint
.
If the value is not a number (like f64::NAN
), then the result is
set zero.
§Examples
assert_eq!(U8::wrapping_from(300_u16), 44_U8);
assert_eq!(U8::wrapping_from(-10_i16), 246_U8);
assert_eq!(U32::wrapping_from(0x7014b4c2d1f2_U256), 0xb4c2d1f2_U32);
pub fn to<T>(&self) -> T
pub fn to<T>(&self) -> T
pub fn wrapping_to<T>(&self) -> T
pub fn wrapping_to<T>(&self) -> T
§Examples
assert_eq!(300_U12.wrapping_to::<i8>(), 44_i8);
assert_eq!(255_U32.wrapping_to::<i8>(), -1_i8);
assert_eq!(0x1337cafec0d3_U256.wrapping_to::<U32>(), 0xcafec0d3_U32);
pub fn saturating_to<T>(&self) -> T
pub fn saturating_to<T>(&self) -> T
§Examples
assert_eq!(300_U12.saturating_to::<i16>(), 300_i16);
assert_eq!(255_U32.saturating_to::<i8>(), 127);
assert_eq!(0x1337cafec0d3_U256.saturating_to::<U32>(), U32::MAX);
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn gcd_extended(
self,
other: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, bool)
pub fn gcd_extended( self, other: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, Uint<BITS, LIMBS>, bool)
⚠️ Compute the greatest common divisor and the Bézout coefficients.
Warning. This is API is unstable and may change in a minor release.
Returns $(\mathtt{gcd}, \mathtt{x}, \mathtt{y}, \mathtt{sign})$ such that
$$ \gcd(\mathtt{self}, \mathtt{other}) = \mathtt{gcd} = \begin{cases} \mathtt{self} · \mathtt{x} - \mathtt{other} . \mathtt{y} & \mathtt{sign} \\ \mathtt{other} · \mathtt{y} - \mathtt{self} · \mathtt{x} & ¬\mathtt{sign} \end{cases} $$
Note that the intermediate products may overflow, even though the result
after subtraction will fit in the bit size of the Uint
.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_log(self, base: Uint<BITS, LIMBS>) -> Option<usize>
pub fn checked_log(self, base: Uint<BITS, LIMBS>) -> Option<usize>
Returns the logarithm of the number, rounded down.
Returns None if the base is less than two, or this number is zero.
pub fn checked_log10(self) -> Option<usize>
pub fn checked_log10(self) -> Option<usize>
Returns the base 10 logarithm of the number, rounded down.
Returns None if the number is zero.
pub fn checked_log2(self) -> Option<usize>
pub fn checked_log2(self) -> Option<usize>
Returns the base 2 logarithm of the number, rounded down.
This is equivalent to the index of the highest set bit.
Returns None if the number is zero.
pub fn log(self, base: Uint<BITS, LIMBS>) -> usize
pub fn log(self, base: Uint<BITS, LIMBS>) -> usize
Returns the logarithm of the number, rounded down.
§Panics
Panics if the base
is less than 2 or if the number is zero.
pub fn log10(self) -> usize
pub fn log10(self) -> usize
Returns the base 10 logarithm of the number, rounded down.
§Panics
Panics if the base
if the number is zero.
pub fn log2(self) -> usize
pub fn log2(self) -> usize
Returns the base 2 logarithm of the number, rounded down.
§Panics
Panics if the base
if the number is zero.
pub fn approx_log(self, base: f64) -> f64
pub fn approx_log(self, base: f64) -> f64
Double precision logarithm.
pub fn approx_log2(self) -> f64
pub fn approx_log2(self) -> f64
Double precision binary logarithm.
§Examples
assert_eq!(0_U64.approx_log2(), f64::NEG_INFINITY);
assert_eq!(1_U64.approx_log2(), 0.0);
assert_eq!(2_U64.approx_log2(), 1.0);
assert_eq!(U64::MAX.approx_log2(), 64.0);
pub fn approx_log10(self) -> f64
pub fn approx_log10(self) -> f64
Double precision decimal logarithm.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn reduce_mod(self, modulus: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn reduce_mod(self, modulus: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
⚠️ Compute $\mod{\mathtt{self}}_{\mathtt{modulus}}$.
Warning. This function is not part of the stable API.
Returns zero if the modulus is zero.
pub fn add_mod(
self,
rhs: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
) -> Uint<BITS, LIMBS>
pub fn add_mod( self, rhs: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, ) -> Uint<BITS, LIMBS>
Compute $\mod{\mathtt{self} + \mathtt{rhs}}_{\mathtt{modulus}}$.
Returns zero if the modulus is zero.
pub fn mul_mod(
self,
rhs: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
) -> Uint<BITS, LIMBS>
pub fn mul_mod( self, rhs: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, ) -> Uint<BITS, LIMBS>
Compute $\mod{\mathtt{self} ⋅ \mathtt{rhs}}_{\mathtt{modulus}}$.
Returns zero if the modulus is zero.
See mul_redc
for a faster variant at the cost of
some pre-computation.
pub fn pow_mod(
self,
exp: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
) -> Uint<BITS, LIMBS>
pub fn pow_mod( self, exp: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, ) -> Uint<BITS, LIMBS>
Compute $\mod{\mathtt{self}^{\mathtt{rhs}}}_{\mathtt{modulus}}$.
Returns zero if the modulus is zero.
pub fn inv_mod(self, modulus: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn inv_mod(self, modulus: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Compute $\mod{\mathtt{self}^{-1}}_{\mathtt{modulus}}$.
Returns None
if the inverse does not exist.
pub fn mul_redc(
self,
other: Uint<BITS, LIMBS>,
modulus: Uint<BITS, LIMBS>,
inv: u64,
) -> Uint<BITS, LIMBS>
Available on crate feature alloc
only.
pub fn mul_redc( self, other: Uint<BITS, LIMBS>, modulus: Uint<BITS, LIMBS>, inv: u64, ) -> Uint<BITS, LIMBS>
alloc
only.Montgomery multiplication.
Computes
$$ \mod{\frac{\mathtt{self} ⋅ \mathtt{other}}{ 2^{64 · \mathtt{LIMBS}}}}_{\mathtt{modulus}} $$
This is useful because it can be computed notably faster than
mul_mod
. Many computations can be done by
pre-multiplying values with $R = 2^{64 · \mathtt{LIMBS}}$
and then using mul_redc
instead of
mul_mod
.
For this algorithm to work, it needs an extra parameter inv
which must
be set to
$$ \mathtt{inv} = \mod{\frac{-1}{\mathtt{modulus}} }_{2^{64}} $$
The inv
value only exists for odd values of modulus
. It can be
computed using inv_ring
from U64
.
let inv = U64::wrapping_from(modulus).inv_ring().unwrap().wrapping_neg().to();
let prod = 5_U256.mul_redc(6_U256, modulus, inv);
§Panics
Panics if inv
is not correct.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_mul(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_mul(self, rhs: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Computes self * rhs
, returning None
if overflow occurred.
pub fn overflowing_mul(
self,
rhs: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_mul( self, rhs: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Calculates the multiplication of self and rhs.
Returns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
§Examples
assert_eq!(1_U1.overflowing_mul(1_U1), (1_U1, false));
assert_eq!(
0x010000000000000000_U65.overflowing_mul(0x010000000000000000_U65),
(0x000000000000000000_U65, true)
);
pub fn saturating_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn saturating_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self * rhs
, saturating at the numeric bounds instead of
overflowing.
pub fn wrapping_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_mul(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Computes self * rhs
, wrapping around at the boundary of the type.
pub fn inv_ring(self) -> Option<Uint<BITS, LIMBS>>
pub fn inv_ring(self) -> Option<Uint<BITS, LIMBS>>
Computes the inverse modulo $2^{\mathtt{BITS}}$ of self
, returning
None
if the inverse does not exist.
pub fn widening_mul<const BITS_RHS: usize, const LIMBS_RHS: usize, const BITS_RES: usize, const LIMBS_RES: usize>(
self,
rhs: Uint<BITS_RHS, LIMBS_RHS>,
) -> Uint<BITS_RES, LIMBS_RES>
pub fn widening_mul<const BITS_RHS: usize, const LIMBS_RHS: usize, const BITS_RES: usize, const LIMBS_RES: usize>( self, rhs: Uint<BITS_RHS, LIMBS_RHS>, ) -> Uint<BITS_RES, LIMBS_RES>
Calculates the complete product self * rhs
without the possibility to
overflow.
The argument rhs
can be any size Uint
, the result size is the sum
of the bit-sizes of self
and rhs
.
§Panics
This function will runtime panic of the const generic arguments are incorrect.
§Examples
assert_eq!(0_U0.widening_mul(0_U0), 0_U0);
assert_eq!(1_U1.widening_mul(1_U1), 1_U2);
assert_eq!(3_U2.widening_mul(7_U3), 21_U5);
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn checked_pow(self, exp: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
pub fn checked_pow(self, exp: Uint<BITS, LIMBS>) -> Option<Uint<BITS, LIMBS>>
Raises self to the power of exp
.
Returns None if the result would overflow.
pub fn overflowing_pow(
self,
exp: Uint<BITS, LIMBS>,
) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_pow( self, exp: Uint<BITS, LIMBS>, ) -> (Uint<BITS, LIMBS>, bool)
Raises self to the power of exp
and if the result would overflow.
§Examples
assert_eq!(
36_U64.overflowing_pow(12_U64),
(0x41c21cb8e1000000_U64, false)
);
assert_eq!(
36_U64.overflowing_pow(13_U64),
(0x3f4c09ffa4000000_U64, true)
);
assert_eq!(
36_U68.overflowing_pow(13_U68),
(0x093f4c09ffa4000000_U68, false)
);
assert_eq!(16_U65.overflowing_pow(32_U65), (0_U65, true));
Small cases:
assert_eq!(0_U0.overflowing_pow(0_U0), (0_U0, false));
assert_eq!(0_U1.overflowing_pow(0_U1), (1_U1, false));
assert_eq!(0_U1.overflowing_pow(1_U1), (0_U1, false));
assert_eq!(1_U1.overflowing_pow(0_U1), (1_U1, false));
assert_eq!(1_U1.overflowing_pow(1_U1), (1_U1, false));
pub fn pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Raises self to the power of exp
, wrapping around on overflow.
pub fn saturating_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn saturating_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Raises self to the power of exp
, saturating on overflow.
pub fn wrapping_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn wrapping_pow(self, exp: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Raises self to the power of exp
, wrapping around on overflow.
pub fn approx_pow2(exp: f64) -> Option<Uint<BITS, LIMBS>>
Available on crate feature std
only.
pub fn approx_pow2(exp: f64) -> Option<Uint<BITS, LIMBS>>
std
only.Construct from double precision binary logarithm.
§Examples
assert_eq!(U64::approx_pow2(-2.0), Some(0_U64));
assert_eq!(U64::approx_pow2(-1.0), Some(1_U64));
assert_eq!(U64::approx_pow2(0.0), Some(1_U64));
assert_eq!(U64::approx_pow2(1.0), Some(2_U64));
assert_eq!(U64::approx_pow2(1.6), Some(3_U64));
assert_eq!(U64::approx_pow2(2.0), Some(4_U64));
assert_eq!(U64::approx_pow2(64.0), None);
assert_eq!(U64::approx_pow2(10.385), Some(1337_U64));
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn root(self, degree: usize) -> Uint<BITS, LIMBS>
pub fn root(self, degree: usize) -> Uint<BITS, LIMBS>
Computes the floor of the degree
-th root of the number.
$$ \floor{\sqrt[\mathtt{degree}]{\mathtt{self}}} $$
§Panics
Panics if degree
is zero.
§Examples
assert_eq!(0_U64.root(2), 0_U64);
assert_eq!(1_U64.root(63), 1_U64);
assert_eq!(0x0032da8b0f88575d_U63.root(64), 1_U63);
assert_eq!(0x1756800000000000_U63.root(34), 3_U63);
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn is_power_of_two(self) -> bool
pub fn is_power_of_two(self) -> bool
Returns true
if and only if self == 2^k
for some k
.
pub fn next_power_of_two(self) -> Uint<BITS, LIMBS>
pub fn next_power_of_two(self) -> Uint<BITS, LIMBS>
Returns the smallest power of two greater than or equal to self.
§Panics
Panics if the value overlfows.
pub fn checked_next_power_of_two(self) -> Option<Uint<BITS, LIMBS>>
pub fn checked_next_power_of_two(self) -> Option<Uint<BITS, LIMBS>>
Returns the smallest power of two greater than or equal to self
. If
the next power of two is greater than the type’s maximum value,
None
is returned, otherwise the power of two is wrapped in
Some
.
§Examples
assert_eq!(0_U64.checked_next_power_of_two(), Some(1_U64));
assert_eq!(1_U64.checked_next_power_of_two(), Some(1_U64));
assert_eq!(2_U64.checked_next_power_of_two(), Some(2_U64));
assert_eq!(3_U64.checked_next_power_of_two(), Some(4_U64));
assert_eq!(U64::MAX.checked_next_power_of_two(), None);
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn next_multiple_of(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
pub fn next_multiple_of(self, rhs: Uint<BITS, LIMBS>) -> Uint<BITS, LIMBS>
Calculates the smallest value greater than or equal to self that is a multiple of rhs.
§Panics
This function will panic if rhs
is 0 or the operation results in
overflow.
pub fn checked_next_multiple_of(
self,
rhs: Uint<BITS, LIMBS>,
) -> Option<Uint<BITS, LIMBS>>
pub fn checked_next_multiple_of( self, rhs: Uint<BITS, LIMBS>, ) -> Option<Uint<BITS, LIMBS>>
Calculates the smallest value greater than or equal to self
that is a
multiple of rhs
. Returns None
is rhs
is zero or the
operation would result in overflow.
§Examples
assert_eq!(16_U64.checked_next_multiple_of(8_U64), Some(16_U64));
assert_eq!(23_U64.checked_next_multiple_of(8_U64), Some(24_U64));
assert_eq!(1_U64.checked_next_multiple_of(0_U64), None);
assert_eq!(U64::MAX.checked_next_multiple_of(2_U64), None);
}
assert_eq!(0_U0.checked_next_multiple_of(0_U0), None);
assert_eq!(0_U1.checked_next_multiple_of(0_U1), None);
assert_eq!(0_U1.checked_next_multiple_of(1_U1), Some(0_U1));
assert_eq!(1_U1.checked_next_multiple_of(0_U1), None);
assert_eq!(1_U1.checked_next_multiple_of(1_U1), Some(1_U1));
}
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub fn from_str_radix(
src: &str,
radix: u64,
) -> Result<Uint<BITS, LIMBS>, ParseError>
pub fn from_str_radix( src: &str, radix: u64, ) -> Result<Uint<BITS, LIMBS>, ParseError>
Parse a string into a Uint
.
For bases 2 to 36, the case-agnostic alphabet 0—1, a—b is used and _
are ignored. For bases 37 to 64, the case-sensitive alphabet a—z, A—Z,
0—9, {+-}, {/,_} is used. That is, for base 64 it is compatible with
all the common base64 variants.
§Errors
ParseError::InvalidDigit
if the string contains a non-digit.ParseError::InvalidRadix
if the radix is larger than 64.ParseError::BaseConvertError
ifUint::from_base_be
fails.
§impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Uint<BITS, LIMBS>
pub const ZERO: Uint<BITS, LIMBS> = _
pub const ZERO: Uint<BITS, LIMBS> = _
The value zero. This is the only value that exists in all Uint
types.
pub const MIN: Uint<BITS, LIMBS> = Self::ZERO
pub const MIN: Uint<BITS, LIMBS> = Self::ZERO
The smallest value that can be represented by this integer type.
Synonym for Self::ZERO
.
pub const MAX: Uint<BITS, LIMBS> = _
pub const MAX: Uint<BITS, LIMBS> = _
The largest value that can be represented by this integer type, $2^{\mathtt{BITS}} − 1$.
pub unsafe fn as_limbs_mut(&mut self) -> &mut [u64; LIMBS]
pub unsafe fn as_limbs_mut(&mut self) -> &mut [u64; LIMBS]
Access the array of limbs.
§Safety
This function is unsafe because it allows setting a bit outside the bit size if the bit-size is not limb-aligned.
pub const fn into_limbs(self) -> [u64; LIMBS]
pub const fn into_limbs(self) -> [u64; LIMBS]
Convert to a array of limbs.
Limbs are least significant first.
pub const fn from_limbs(limbs: [u64; LIMBS]) -> Uint<BITS, LIMBS>
pub const fn from_limbs(limbs: [u64; LIMBS]) -> Uint<BITS, LIMBS>
Construct a new integer from little-endian a array of limbs.
§Panics
Panics it LIMBS
is not equal to nlimbs(BITS)
.
Panics if the value is to large for the bit-size of the Uint.
pub fn from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
pub fn from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
Construct a new integer from little-endian a slice of limbs.
§Panics
Panics if the value is to large for the bit-size of the Uint.
pub fn checked_from_limbs_slice(slice: &[u64]) -> Option<Uint<BITS, LIMBS>>
pub fn checked_from_limbs_slice(slice: &[u64]) -> Option<Uint<BITS, LIMBS>>
Construct a new integer from little-endian a slice of limbs, or None
if the value is too large for the Uint
.
pub fn wrapping_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
pub fn wrapping_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
Construct a new Uint
from a little-endian slice of limbs. Returns
a potentially truncated value.
pub fn overflowing_from_limbs_slice(slice: &[u64]) -> (Uint<BITS, LIMBS>, bool)
pub fn overflowing_from_limbs_slice(slice: &[u64]) -> (Uint<BITS, LIMBS>, bool)
Construct a new Uint
from a little-endian slice of limbs. Returns
a potentially truncated value and a boolean indicating whether the value
was truncated.
pub fn saturating_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
pub fn saturating_from_limbs_slice(slice: &[u64]) -> Uint<BITS, LIMBS>
Trait Implementations§
§impl<const BITS: usize, const LIMBS: usize> AddAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> AddAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn add_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn add_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
+=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> AddAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> AddAssign for Uint<BITS, LIMBS>
§fn add_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn add_assign(&mut self, rhs: Uint<BITS, LIMBS>)
+=
operation. Read more§impl<'a, const BITS: usize, const LIMBS: usize> Arbitrary<'a> for Uint<BITS, LIMBS>
impl<'a, const BITS: usize, const LIMBS: usize> Arbitrary<'a> for Uint<BITS, LIMBS>
§fn arbitrary(u: &mut Unstructured<'a>) -> Result<Uint<BITS, LIMBS>, Error>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<Uint<BITS, LIMBS>, Error>
Self
from the given unstructured data. Read more§fn size_hint(_depth: usize) -> (usize, Option<usize>)
fn size_hint(_depth: usize) -> (usize, Option<usize>)
Unstructured
this type
needs to construct itself. Read more§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Self
from the entirety of the given
unstructured data. Read more§impl<const BITS: usize, const LIMBS: usize> Arbitrary for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Arbitrary for Uint<BITS, LIMBS>
§type Parameters = ()
type Parameters = ()
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<<[u64; LIMBS] as Arbitrary>::Strategy, fn(_: [u64; LIMBS]) -> Uint<BITS, LIMBS>>
type Strategy = Map<<[u64; LIMBS] as Arbitrary>::Strategy, fn(_: [u64; LIMBS]) -> Uint<BITS, LIMBS>>
Strategy
used to generate values of type Self
.§impl<const BITS: usize, const LIMBS: usize> BitAndAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitAndAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn bitand_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn bitand_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
&=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitAndAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitAndAssign for Uint<BITS, LIMBS>
§fn bitand_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn bitand_assign(&mut self, rhs: Uint<BITS, LIMBS>)
&=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitOrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitOrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn bitor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn bitor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
|=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitOrAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitOrAssign for Uint<BITS, LIMBS>
§fn bitor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn bitor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
|=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitXorAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitXorAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn bitxor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn bitxor_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
^=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> BitXorAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> BitXorAssign for Uint<BITS, LIMBS>
§fn bitxor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn bitxor_assign(&mut self, rhs: Uint<BITS, LIMBS>)
^=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> Decodable for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Decodable for Uint<BITS, LIMBS>
Allows a Uint
to be deserialized from RLP.
See https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/
§impl<'de, const BITS: usize, const LIMBS: usize> Deserialize<'de> for Uint<BITS, LIMBS>
impl<'de, const BITS: usize, const LIMBS: usize> Deserialize<'de> for Uint<BITS, LIMBS>
Deserialize human readable hex strings or byte arrays into hashes.
Hex strings can be upper/lower/mixed case, have an optional 0x
prefix, and
can be any length. They are interpreted big-endian.
§fn deserialize<D>(
deserializer: D,
) -> Result<Uint<BITS, LIMBS>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Uint<BITS, LIMBS>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl<const BITS: usize, const LIMBS: usize> Distribution<Uint<BITS, LIMBS>> for Standard
impl<const BITS: usize, const LIMBS: usize> Distribution<Uint<BITS, LIMBS>> for Standard
§impl<const BITS: usize, const LIMBS: usize> DivAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> DivAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn div_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn div_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
/=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> DivAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> DivAssign for Uint<BITS, LIMBS>
§fn div_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn div_assign(&mut self, rhs: Uint<BITS, LIMBS>)
/=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> Encodable for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Encodable for Uint<BITS, LIMBS>
Allows a Uint
to be serialized as RLP.
See https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/
§impl<const BITS: usize, const LIMBS: usize> From<&Uint<BITS, LIMBS>> for f32
Available on crate feature std
only.
impl<const BITS: usize, const LIMBS: usize> From<&Uint<BITS, LIMBS>> for f32
std
only.§impl<const BITS: usize, const LIMBS: usize> From<&Uint<BITS, LIMBS>> for f64
Available on crate feature std
only.
impl<const BITS: usize, const LIMBS: usize> From<&Uint<BITS, LIMBS>> for f64
std
only.§impl From<FixedBytes<1>> for Uint<8, 1>
impl From<FixedBytes<1>> for Uint<8, 1>
§fn from(value: FixedBytes<1>) -> Uint<8, 1>
fn from(value: FixedBytes<1>) -> Uint<8, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<16>> for Uint<128, 2>
impl From<FixedBytes<16>> for Uint<128, 2>
§fn from(value: FixedBytes<16>) -> Uint<128, 2>
fn from(value: FixedBytes<16>) -> Uint<128, 2>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<2>> for Uint<16, 1>
impl From<FixedBytes<2>> for Uint<16, 1>
§fn from(value: FixedBytes<2>) -> Uint<16, 1>
fn from(value: FixedBytes<2>) -> Uint<16, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<20>> for Uint<160, 3>
impl From<FixedBytes<20>> for Uint<160, 3>
§fn from(value: FixedBytes<20>) -> Uint<160, 3>
fn from(value: FixedBytes<20>) -> Uint<160, 3>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<32>> for Uint<256, 4>
impl From<FixedBytes<32>> for Uint<256, 4>
§fn from(value: FixedBytes<32>) -> Uint<256, 4>
fn from(value: FixedBytes<32>) -> Uint<256, 4>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<4>> for Uint<32, 1>
impl From<FixedBytes<4>> for Uint<32, 1>
§fn from(value: FixedBytes<4>) -> Uint<32, 1>
fn from(value: FixedBytes<4>) -> Uint<32, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<64>> for Uint<512, 8>
impl From<FixedBytes<64>> for Uint<512, 8>
§fn from(value: FixedBytes<64>) -> Uint<512, 8>
fn from(value: FixedBytes<64>) -> Uint<512, 8>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<FixedBytes<8>> for Uint<64, 1>
impl From<FixedBytes<8>> for Uint<64, 1>
§fn from(value: FixedBytes<8>) -> Uint<64, 1>
fn from(value: FixedBytes<8>) -> Uint<64, 1>
Converts a fixed byte array into a fixed-width unsigned integer by interpreting the bytes as big-endian.
§impl From<ParseUnits> for Uint<256, 4>
impl From<ParseUnits> for Uint<256, 4>
§fn from(value: ParseUnits) -> Uint<256, 4>
fn from(value: ParseUnits) -> Uint<256, 4>
§impl From<Uint<128, 2>> for FixedBytes<16>
impl From<Uint<128, 2>> for FixedBytes<16>
§fn from(value: Uint<128, 2>) -> FixedBytes<16>
fn from(value: Uint<128, 2>) -> FixedBytes<16>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<16, 1>> for FixedBytes<2>
impl From<Uint<16, 1>> for FixedBytes<2>
§fn from(value: Uint<16, 1>) -> FixedBytes<2>
fn from(value: Uint<16, 1>) -> FixedBytes<2>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<160, 3>> for FixedBytes<20>
impl From<Uint<160, 3>> for FixedBytes<20>
§fn from(value: Uint<160, 3>) -> FixedBytes<20>
fn from(value: Uint<160, 3>) -> FixedBytes<20>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<256, 4>> for FilterSet<FixedBytes<32>>
impl From<Uint<256, 4>> for FilterSet<FixedBytes<32>>
§fn from(src: Uint<256, 4>) -> FilterSet<FixedBytes<32>>
fn from(src: Uint<256, 4>) -> FilterSet<FixedBytes<32>>
§impl From<Uint<256, 4>> for FixedBytes<32>
impl From<Uint<256, 4>> for FixedBytes<32>
§fn from(value: Uint<256, 4>) -> FixedBytes<32>
fn from(value: Uint<256, 4>) -> FixedBytes<32>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<256, 4>> for ParseUnits
impl From<Uint<256, 4>> for ParseUnits
§fn from(value: Uint<256, 4>) -> ParseUnits
fn from(value: Uint<256, 4>) -> ParseUnits
§impl From<Uint<32, 1>> for FixedBytes<4>
impl From<Uint<32, 1>> for FixedBytes<4>
§fn from(value: Uint<32, 1>) -> FixedBytes<4>
fn from(value: Uint<32, 1>) -> FixedBytes<4>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<512, 8>> for FixedBytes<64>
impl From<Uint<512, 8>> for FixedBytes<64>
§fn from(value: Uint<512, 8>) -> FixedBytes<64>
fn from(value: Uint<512, 8>) -> FixedBytes<64>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<64, 1>> for FixedBytes<8>
impl From<Uint<64, 1>> for FixedBytes<8>
§fn from(value: Uint<64, 1>) -> FixedBytes<8>
fn from(value: Uint<64, 1>) -> FixedBytes<8>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl From<Uint<8, 1>> for FixedBytes<1>
impl From<Uint<8, 1>> for FixedBytes<1>
§fn from(value: Uint<8, 1>) -> FixedBytes<1>
fn from(value: Uint<8, 1>) -> FixedBytes<1>
Converts a fixed-width unsigned integer into a fixed byte array by interpreting the bytes as big-endian.
§impl<const BITS: usize, const LIMBS: usize> From<Uint<BITS, LIMBS>> for f32
Available on crate feature std
only.
impl<const BITS: usize, const LIMBS: usize> From<Uint<BITS, LIMBS>> for f32
std
only.§impl<const BITS: usize, const LIMBS: usize> From<Uint<BITS, LIMBS>> for f64
Available on crate feature std
only.
impl<const BITS: usize, const LIMBS: usize> From<Uint<BITS, LIMBS>> for f64
std
only.§impl<const BITS: usize, const LIMBS: usize> MulAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> MulAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn mul_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn mul_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
*=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> MulAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> MulAssign for Uint<BITS, LIMBS>
§fn mul_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn mul_assign(&mut self, rhs: Uint<BITS, LIMBS>)
*=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> Ord for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Ord for Uint<BITS, LIMBS>
§impl<const BITS: usize, const LIMBS: usize> PartialOrd for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> PartialOrd for Uint<BITS, LIMBS>
§impl<'a, const BITS: usize, const LIMBS: usize> Product<&'a Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<'a, const BITS: usize, const LIMBS: usize> Product<&'a Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§impl<const BITS: usize, const LIMBS: usize> RemAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> RemAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn rem_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn rem_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
%=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> RemAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> RemAssign for Uint<BITS, LIMBS>
§fn rem_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn rem_assign(&mut self, rhs: Uint<BITS, LIMBS>)
%=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> Serialize for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Serialize for Uint<BITS, LIMBS>
Serialize a Uint
value.
For human readable formats a 0x
prefixed lower case hex string is used.
For binary formats a byte array is used. Leading zeros are included.
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn shl_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&i8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&isize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &isize)
fn shl_assign(&mut self, rhs: &isize)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&u8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<&usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<&usize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: &usize)
fn shl_assign(&mut self, rhs: &usize)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<i8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<isize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: isize)
fn shl_assign(&mut self, rhs: isize)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u16> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u32> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u64> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<u8> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign<usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign<usize> for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShlAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShlAssign for Uint<BITS, LIMBS>
§fn shl_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn shl_assign(&mut self, rhs: Uint<BITS, LIMBS>)
<<=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn shr_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&i8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&isize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &isize)
fn shr_assign(&mut self, rhs: &isize)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&u8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<&usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<&usize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: &usize)
fn shr_assign(&mut self, rhs: &usize)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<i8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<i8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<isize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<isize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: isize)
fn shr_assign(&mut self, rhs: isize)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u16> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u16> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u32> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u32> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u64> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u64> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<u8> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<u8> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign<usize> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign<usize> for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> ShrAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> ShrAssign for Uint<BITS, LIMBS>
§fn shr_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn shr_assign(&mut self, rhs: Uint<BITS, LIMBS>)
>>=
operation. Read more§impl SolValue for Uint<104, 2>
impl SolValue for Uint<104, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<112, 2>
impl SolValue for Uint<112, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<120, 2>
impl SolValue for Uint<120, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<136, 3>
impl SolValue for Uint<136, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<144, 3>
impl SolValue for Uint<144, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<152, 3>
impl SolValue for Uint<152, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<160, 3>
impl SolValue for Uint<160, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<168, 3>
impl SolValue for Uint<168, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<176, 3>
impl SolValue for Uint<176, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<184, 3>
impl SolValue for Uint<184, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<192, 3>
impl SolValue for Uint<192, 3>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<200, 4>
impl SolValue for Uint<200, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<208, 4>
impl SolValue for Uint<208, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<216, 4>
impl SolValue for Uint<216, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<224, 4>
impl SolValue for Uint<224, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<232, 4>
impl SolValue for Uint<232, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<24, 1>
impl SolValue for Uint<24, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<240, 4>
impl SolValue for Uint<240, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<248, 4>
impl SolValue for Uint<248, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<256, 4>
impl SolValue for Uint<256, 4>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<40, 1>
impl SolValue for Uint<40, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<48, 1>
impl SolValue for Uint<48, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<56, 1>
impl SolValue for Uint<56, 1>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<72, 2>
impl SolValue for Uint<72, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<80, 2>
impl SolValue for Uint<80, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<88, 2>
impl SolValue for Uint<88, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl SolValue for Uint<96, 2>
impl SolValue for Uint<96, 2>
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
§impl<const BITS: usize, const LIMBS: usize> SubAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> SubAssign<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>
§fn sub_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
fn sub_assign(&mut self, rhs: &Uint<BITS, LIMBS>)
-=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> SubAssign for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> SubAssign for Uint<BITS, LIMBS>
§fn sub_assign(&mut self, rhs: Uint<BITS, LIMBS>)
fn sub_assign(&mut self, rhs: Uint<BITS, LIMBS>)
-=
operation. Read more§impl<const BITS: usize, const LIMBS: usize> TryFrom<f32> for Uint<BITS, LIMBS>
Available on crate feature std
only.
impl<const BITS: usize, const LIMBS: usize> TryFrom<f32> for Uint<BITS, LIMBS>
std
only.§impl<const BITS: usize, const LIMBS: usize> TryFrom<f64> for Uint<BITS, LIMBS>
Available on crate feature std
only.
impl<const BITS: usize, const LIMBS: usize> TryFrom<f64> for Uint<BITS, LIMBS>
std
only.impl<const BITS: usize, const LIMBS: usize> Copy for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Eq for Uint<BITS, LIMBS>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#0}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#0}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#0}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#1}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#1}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#1}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#10}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#10}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#10}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#11}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#11}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#11}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#12}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#12}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#12}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#13}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#13}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#13}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#2}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#2}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#2}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#3}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#3}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#3}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#4}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#4}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#4}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#5}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#5}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#5}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#6}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#6}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#6}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#7}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#7}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#7}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#8}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#8}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#8}::{constant#2}>
impl MaxEncodedLen<ruint::::support::alloy_rlp::_::{impl#9}::{constant#0}> for Uint<ruint::::support::alloy_rlp::_::{impl#9}::{constant#1}, ruint::::support::alloy_rlp::_::{impl#9}::{constant#2}>
impl<const BITS: usize, const LIMBS: usize> StructuralPartialEq for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize, T> UintTryFrom<T> for Uint<BITS, LIMBS>
Blanket implementation for any type that implements TryFrom<Uint>
.
impl<const BITS: usize, const LIMBS: usize, const BITS_SRC: usize, const LIMBS_SRC: usize> UintTryFrom<Uint<BITS_SRC, LIMBS_SRC>> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize, T> UintTryTo<T> for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize, const BITS_DST: usize, const LIMBS_DST: usize> UintTryTo<Uint<BITS_DST, LIMBS_DST>> for Uint<BITS, LIMBS>
Auto Trait Implementations§
impl<const BITS: usize, const LIMBS: usize> Freeze for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> RefUnwindSafe for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Send for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Sync for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> Unpin for Uint<BITS, LIMBS>
impl<const BITS: usize, const LIMBS: usize> UnwindSafe for Uint<BITS, LIMBS>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
self
to key
and returns true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute
] value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
[Quirk
] value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition
] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
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,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
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) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T, Rhs, Output> GroupOps<Rhs, Output> for T
impl<T, Rhs, Output> GroupOpsOwned<Rhs, Output> for Twhere
T: for<'r> GroupOps<&'r Rhs, Output>,
impl<T> MaybeSendSync for T
impl<T, Rhs> NumAssignOps<Rhs> for T
impl<T, Rhs, Output> NumOps<Rhs, Output> for T
impl<T, Base> RefNum<Base> for T
impl<T> RpcObject for Twhere
T: RpcParam + RpcReturn,
impl<T> RpcParam for T
impl<T> RpcReturn for T
impl<T, Rhs, Output> ScalarMul<Rhs, Output> for T
impl<T, Rhs, Output> ScalarMulOwned<Rhs, Output> for Twhere
T: for<'r> ScalarMul<&'r Rhs, Output>,
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.