pub struct UBig(/* private fields */);
Expand description
An unsigned arbitrary precision integer.
This struct represents an arbitrarily large unsigned integer. Technically the size of the integer is bounded by the memory size, but it’s enough for practical use on modern devices.
§Parsing and printing
To create a UBig instance, there are three ways:
- Use predifined constants (e.g. UBig::ZERO, UBig::ONE).
- Use the literal macro
ubig!
defined in thedashu-macro
crate. - Parse from a string.
Parsing from either literal or string supports representation with base 2~36.
For printing, the UBig type supports common formatting traits (Display, Debug, LowerHex, etc.). Specially, printing huge number using Debug will conveniently omit the middle digits of the number, only print the least and most significant (decimal) digits.
// parsing
let a = UBig::from(408580953453092208335085386466371u128);
let b = UBig::from(0x1231abcd4134u64);
let c = UBig::from_str_radix("a2a123bbb127779cccc123", 32)?;
let d = UBig::from_str_radix("1231abcd4134", 16)?;
assert_eq!(a, c);
assert_eq!(b, d);
// printing
assert_eq!(format!("{}", UBig::from(12u8)), "12");
assert_eq!(format!("{:#X}", UBig::from(0xabcdu16)), "0xABCD");
if Word::BITS == 64 {
// number of digits to display depends on the word size
assert_eq!(
format!("{:?}", UBig::ONE << 1000),
"1071508607186267320..4386837205668069376"
);
}
§Memory
Integers that fit in a DoubleWord will be inlined on stack and no heap allocation will be invoked. For large integers, they will be represented as an array of Words, and stored on heap.
Note that the UBig struct has a niche bit, therefore it can be used within simple enums with no memory overhead.
use core::mem::size_of;
assert_eq!(size_of::<UBig>(), size_of::<Option<UBig>>());
Implementations§
Source§impl UBig
impl UBig
Sourcepub fn set_bit(&mut self, n: usize)
pub fn set_bit(&mut self, n: usize)
Set the n
-th bit, n starts from 0.
§Examples
let mut a = UBig::from(0b100u8);
a.set_bit(0);
assert_eq!(a, UBig::from(0b101u8));
a.set_bit(10);
assert_eq!(a, UBig::from(0b10000000101u16));
Sourcepub fn clear_bit(&mut self, n: usize)
pub fn clear_bit(&mut self, n: usize)
Clear the n
-th bit, n
starts from 0.
§Examples
let mut a = UBig::from(0b101u8);
a.clear_bit(0);
assert_eq!(a, UBig::from(0b100u8));
Sourcepub const fn trailing_zeros(&self) -> Option<usize>
pub const fn trailing_zeros(&self) -> Option<usize>
Returns the number of trailing zeros in the binary representation.
In other words, it is the largest n
such that 2 to the power of n
divides the number.
For 0, it returns None
.
§Examples
assert_eq!(UBig::from(17u8).trailing_zeros(), Some(0));
assert_eq!(UBig::from(48u8).trailing_zeros(), Some(4));
assert_eq!(UBig::from(0b101000000u16).trailing_zeros(), Some(6));
assert_eq!(UBig::ZERO.trailing_zeros(), None);
§Availability
Const since Rust 1.64
Sourcepub const fn trailing_ones(&self) -> Option<usize>
pub const fn trailing_ones(&self) -> Option<usize>
Returns the number of trailing ones in the binary representation.
In other words, it is the number of trailing zeros of it added by one.
This method never returns None.
§Examples
assert_eq!(UBig::from(17u8).trailing_ones(), Some(1));
assert_eq!(UBig::from(48u8).trailing_ones(), Some(0));
assert_eq!(UBig::from(0b101001111u16).trailing_ones(), Some(4));
assert_eq!(UBig::ZERO.trailing_ones(), Some(0));
§Availability
Const since Rust 1.64
Sourcepub fn split_bits(self, n: usize) -> (UBig, UBig)
pub fn split_bits(self, n: usize) -> (UBig, UBig)
Split this integer into low bits and high bits.
Its returns are equal to (self & ((1 << n) - 1), self >> n)
.
§Examples
let (lo, hi) = UBig::from(0b10100011u8).split_bits(4);
assert_eq!(hi, UBig::from(0b1010u8));
assert_eq!(lo, UBig::from(0b0011u8));
let x = UBig::from(0x90ffff3450897234u64);
let (lo, hi) = x.clone().split_bits(21);
assert_eq!(hi, (&x) >> 21);
assert_eq!(lo, x & ((UBig::ONE << 21) - 1u8));
Sourcepub fn clear_high_bits(&mut self, n: usize)
pub fn clear_high_bits(&mut self, n: usize)
Clear the high bits from n+1
-th bit.
This operation is equivalent to getting the lowest n bits on the integer
i.e. self &= ((1 << n) - 1)
.
§Examples
let mut x = UBig::from(0b10100011u8);
x.clear_high_bits(4);
assert_eq!(x, UBig::from(0b0011u8));
let mut x = UBig::from(0x90ffff3450897234u64);
let lo = (&x) & ((UBig::ONE << 21) - 1u8);
x.clear_high_bits(21);
assert_eq!(x, lo);
Sourcepub fn count_ones(&self) -> usize
pub fn count_ones(&self) -> usize
Count the 1 bits in the integer
§Examples
assert_eq!(UBig::from(0b10100011u8).count_ones(), 4);
assert_eq!(UBig::from(0x90ffff3450897234u64).count_ones(), 33);
let x = (UBig::ONE << 150) - 1u8;
assert_eq!(x.count_ones(), x.bit_len());
Sourcepub fn count_zeros(&self) -> Option<usize>
pub fn count_zeros(&self) -> Option<usize>
Count the 0 bits in the integer after the leading bit 1.
If the integer is zero, None will be returned.
§Examples
assert_eq!(UBig::from(0b10100011u8).count_zeros(), Some(4));
assert_eq!(UBig::from(0x90ffff3450897234u64).count_zeros(), Some(31));
let x = (UBig::ONE << 150) - 1u8;
assert_eq!(x.count_zeros(), Some(0));
Source§impl UBig
impl UBig
Sourcepub fn from_le_bytes(bytes: &[u8]) -> UBig
pub fn from_le_bytes(bytes: &[u8]) -> UBig
Construct from little-endian bytes.
§Examples
assert_eq!(UBig::from_le_bytes(&[3, 2, 1]), UBig::from(0x010203u32));
Sourcepub fn from_be_bytes(bytes: &[u8]) -> UBig
pub fn from_be_bytes(bytes: &[u8]) -> UBig
Construct from big-endian bytes.
§Examples
assert_eq!(UBig::from_be_bytes(&[1, 2, 3]), UBig::from(0x010203u32));
Sourcepub fn to_le_bytes(&self) -> Box<[u8]>
pub fn to_le_bytes(&self) -> Box<[u8]>
Return little-endian bytes.
§Examples
assert!(UBig::ZERO.to_le_bytes().is_empty());
assert_eq!(*UBig::from(0x010203u32).to_le_bytes(), [3, 2, 1]);
Sourcepub fn to_be_bytes(&self) -> Box<[u8]>
pub fn to_be_bytes(&self) -> Box<[u8]>
Return big-endian bytes.
§Examples
assert!(UBig::ZERO.to_be_bytes().is_empty());
assert_eq!(*UBig::from(0x010203u32).to_be_bytes(), [1, 2, 3]);
Sourcepub fn to_f32(&self) -> Approximation<f32, Sign>
pub fn to_f32(&self) -> Approximation<f32, Sign>
Convert to f32.
Round to nearest, breaking ties to even last bit. The returned approximation
is exact if the integer is exactly representable by f32, otherwise the error
field of the approximation contains the sign of result - self
.
§Examples
assert_eq!(UBig::from(134u8).to_f32().value(), 134.0f32);
Sourcepub fn to_f64(&self) -> Approximation<f64, Sign>
pub fn to_f64(&self) -> Approximation<f64, Sign>
Convert to f64.
Round to nearest, breaking ties to even last bit. The returned approximation
is exact if the integer is exactly representable by f64, otherwise the error
field of the approximation contains the sign of result - self
.
§Examples
assert_eq!(UBig::from(134u8).to_f64().value(), 134.0f64);
Source§impl UBig
impl UBig
Sourcepub fn is_multiple_of(&self, divisor: &Self) -> bool
pub fn is_multiple_of(&self, divisor: &Self) -> bool
Sourcepub const fn is_multiple_of_const(&self, divisor: DoubleWord) -> bool
pub const fn is_multiple_of_const(&self, divisor: DoubleWord) -> bool
A const version of UBig::is_multiple_of, but only accepts DoubleWord divisors.
§Availability
Since Rust 1.64
Source§impl UBig
impl UBig
Sourcepub fn ilog(&self, base: &UBig) -> usize
pub fn ilog(&self, base: &UBig) -> usize
Calculate the (truncated) logarithm of the UBig
This function could takes a long time when the integer is very large. In applications where an exact result is not necessary, log2_bounds could be used.
§Panics
Panics if the number is 0, or the base is 0 or 1
§Examples
let base = UBig::from(3u8);
assert_eq!(UBig::from(81u8).ilog(&base), 4);
assert_eq!(UBig::from(1000u16).ilog(&base), 6);
Source§impl UBig
impl UBig
Sourcepub fn from_str_radix(src: &str, radix: u32) -> Result<UBig, ParseError>
pub fn from_str_radix(src: &str, radix: u32) -> Result<UBig, ParseError>
Sourcepub fn from_str_with_radix_prefix(src: &str) -> Result<(UBig, u32), ParseError>
pub fn from_str_with_radix_prefix(src: &str) -> Result<(UBig, u32), ParseError>
Convert a string with an optional radix prefix to UBig, returns the parsed integer and radix.
It’s equivalent to UBig::from_str_with_radix_default with 10 as the default radix.
Sourcepub fn from_str_with_radix_default(
src: &str,
default_radix: u32,
) -> Result<(UBig, u32), ParseError>
pub fn from_str_with_radix_default( src: &str, default_radix: u32, ) -> Result<(UBig, u32), ParseError>
Convert a string with an optional radix prefix to UBig, returns the parsed integer and radix. If no prefix is present, then the default radix input will be used for parsing.
src
may contain an optional +
before the radix prefix.
Allowed prefixes: 0b
for binary, 0o
for octal, 0x
for hexadecimal.
§Examples
assert_eq!(UBig::from_str_with_radix_default("+0o17", 10)?, (UBig::from(0o17u8), 8));
assert_eq!(UBig::from_str_with_radix_default("0x1f", 10)?.0, UBig::from(0x1fu8));
Source§impl UBig
impl UBig
Sourcepub const fn from_dword(dword: DoubleWord) -> Self
pub const fn from_dword(dword: DoubleWord) -> Self
Create a UBig from a DoubleWord.
§Examples
const ZERO: UBig = UBig::from_dword(0);
assert_eq!(ZERO, UBig::ZERO);
const ONE: UBig = UBig::from_dword(1);
assert_eq!(ONE, UBig::ONE);
Sourcepub fn from_words(words: &[Word]) -> Self
pub fn from_words(words: &[Word]) -> Self
Trait Implementations§
Source§impl AddAssign<&UBig> for IBig
impl AddAssign<&UBig> for IBig
Source§fn add_assign(&mut self, rhs: &UBig)
fn add_assign(&mut self, rhs: &UBig)
+=
operation. Read moreSource§impl AddAssign<&UBig> for UBig
impl AddAssign<&UBig> for UBig
Source§fn add_assign(&mut self, rhs: &UBig)
fn add_assign(&mut self, rhs: &UBig)
+=
operation. Read moreSource§impl AddAssign<&u128> for UBig
impl AddAssign<&u128> for UBig
Source§fn add_assign(&mut self, rhs: &u128)
fn add_assign(&mut self, rhs: &u128)
+=
operation. Read moreSource§impl AddAssign<&u16> for UBig
impl AddAssign<&u16> for UBig
Source§fn add_assign(&mut self, rhs: &u16)
fn add_assign(&mut self, rhs: &u16)
+=
operation. Read moreSource§impl AddAssign<&u32> for UBig
impl AddAssign<&u32> for UBig
Source§fn add_assign(&mut self, rhs: &u32)
fn add_assign(&mut self, rhs: &u32)
+=
operation. Read moreSource§impl AddAssign<&u64> for UBig
impl AddAssign<&u64> for UBig
Source§fn add_assign(&mut self, rhs: &u64)
fn add_assign(&mut self, rhs: &u64)
+=
operation. Read moreSource§impl AddAssign<&u8> for UBig
impl AddAssign<&u8> for UBig
Source§fn add_assign(&mut self, rhs: &u8)
fn add_assign(&mut self, rhs: &u8)
+=
operation. Read moreSource§impl AddAssign<&usize> for UBig
impl AddAssign<&usize> for UBig
Source§fn add_assign(&mut self, rhs: &usize)
fn add_assign(&mut self, rhs: &usize)
+=
operation. Read moreSource§impl AddAssign<UBig> for IBig
impl AddAssign<UBig> for IBig
Source§fn add_assign(&mut self, rhs: UBig)
fn add_assign(&mut self, rhs: UBig)
+=
operation. Read moreSource§impl AddAssign<u128> for UBig
impl AddAssign<u128> for UBig
Source§fn add_assign(&mut self, rhs: u128)
fn add_assign(&mut self, rhs: u128)
+=
operation. Read moreSource§impl AddAssign<u16> for UBig
impl AddAssign<u16> for UBig
Source§fn add_assign(&mut self, rhs: u16)
fn add_assign(&mut self, rhs: u16)
+=
operation. Read moreSource§impl AddAssign<u32> for UBig
impl AddAssign<u32> for UBig
Source§fn add_assign(&mut self, rhs: u32)
fn add_assign(&mut self, rhs: u32)
+=
operation. Read moreSource§impl AddAssign<u64> for UBig
impl AddAssign<u64> for UBig
Source§fn add_assign(&mut self, rhs: u64)
fn add_assign(&mut self, rhs: u64)
+=
operation. Read moreSource§impl AddAssign<u8> for UBig
impl AddAssign<u8> for UBig
Source§fn add_assign(&mut self, rhs: u8)
fn add_assign(&mut self, rhs: u8)
+=
operation. Read moreSource§impl AddAssign<usize> for UBig
impl AddAssign<usize> for UBig
Source§fn add_assign(&mut self, rhs: usize)
fn add_assign(&mut self, rhs: usize)
+=
operation. Read moreSource§impl AddAssign for UBig
impl AddAssign for UBig
Source§fn add_assign(&mut self, rhs: UBig)
fn add_assign(&mut self, rhs: UBig)
+=
operation. Read moreSource§impl BitAndAssign<&UBig> for UBig
impl BitAndAssign<&UBig> for UBig
Source§fn bitand_assign(&mut self, rhs: &UBig)
fn bitand_assign(&mut self, rhs: &UBig)
&=
operation. Read moreSource§impl BitAndAssign<&u128> for UBig
impl BitAndAssign<&u128> for UBig
Source§fn bitand_assign(&mut self, rhs: &u128)
fn bitand_assign(&mut self, rhs: &u128)
&=
operation. Read moreSource§impl BitAndAssign<&u16> for UBig
impl BitAndAssign<&u16> for UBig
Source§fn bitand_assign(&mut self, rhs: &u16)
fn bitand_assign(&mut self, rhs: &u16)
&=
operation. Read moreSource§impl BitAndAssign<&u32> for UBig
impl BitAndAssign<&u32> for UBig
Source§fn bitand_assign(&mut self, rhs: &u32)
fn bitand_assign(&mut self, rhs: &u32)
&=
operation. Read moreSource§impl BitAndAssign<&u64> for UBig
impl BitAndAssign<&u64> for UBig
Source§fn bitand_assign(&mut self, rhs: &u64)
fn bitand_assign(&mut self, rhs: &u64)
&=
operation. Read moreSource§impl BitAndAssign<&u8> for UBig
impl BitAndAssign<&u8> for UBig
Source§fn bitand_assign(&mut self, rhs: &u8)
fn bitand_assign(&mut self, rhs: &u8)
&=
operation. Read moreSource§impl BitAndAssign<&usize> for UBig
impl BitAndAssign<&usize> for UBig
Source§fn bitand_assign(&mut self, rhs: &usize)
fn bitand_assign(&mut self, rhs: &usize)
&=
operation. Read moreSource§impl BitAndAssign<u128> for UBig
impl BitAndAssign<u128> for UBig
Source§fn bitand_assign(&mut self, rhs: u128)
fn bitand_assign(&mut self, rhs: u128)
&=
operation. Read moreSource§impl BitAndAssign<u16> for UBig
impl BitAndAssign<u16> for UBig
Source§fn bitand_assign(&mut self, rhs: u16)
fn bitand_assign(&mut self, rhs: u16)
&=
operation. Read moreSource§impl BitAndAssign<u32> for UBig
impl BitAndAssign<u32> for UBig
Source§fn bitand_assign(&mut self, rhs: u32)
fn bitand_assign(&mut self, rhs: u32)
&=
operation. Read moreSource§impl BitAndAssign<u64> for UBig
impl BitAndAssign<u64> for UBig
Source§fn bitand_assign(&mut self, rhs: u64)
fn bitand_assign(&mut self, rhs: u64)
&=
operation. Read moreSource§impl BitAndAssign<u8> for UBig
impl BitAndAssign<u8> for UBig
Source§fn bitand_assign(&mut self, rhs: u8)
fn bitand_assign(&mut self, rhs: u8)
&=
operation. Read moreSource§impl BitAndAssign<usize> for UBig
impl BitAndAssign<usize> for UBig
Source§fn bitand_assign(&mut self, rhs: usize)
fn bitand_assign(&mut self, rhs: usize)
&=
operation. Read moreSource§impl BitAndAssign for UBig
impl BitAndAssign for UBig
Source§fn bitand_assign(&mut self, rhs: UBig)
fn bitand_assign(&mut self, rhs: UBig)
&=
operation. Read moreSource§impl BitOrAssign<&UBig> for UBig
impl BitOrAssign<&UBig> for UBig
Source§fn bitor_assign(&mut self, rhs: &UBig)
fn bitor_assign(&mut self, rhs: &UBig)
|=
operation. Read moreSource§impl BitOrAssign<&u128> for UBig
impl BitOrAssign<&u128> for UBig
Source§fn bitor_assign(&mut self, rhs: &u128)
fn bitor_assign(&mut self, rhs: &u128)
|=
operation. Read moreSource§impl BitOrAssign<&u16> for UBig
impl BitOrAssign<&u16> for UBig
Source§fn bitor_assign(&mut self, rhs: &u16)
fn bitor_assign(&mut self, rhs: &u16)
|=
operation. Read moreSource§impl BitOrAssign<&u32> for UBig
impl BitOrAssign<&u32> for UBig
Source§fn bitor_assign(&mut self, rhs: &u32)
fn bitor_assign(&mut self, rhs: &u32)
|=
operation. Read moreSource§impl BitOrAssign<&u64> for UBig
impl BitOrAssign<&u64> for UBig
Source§fn bitor_assign(&mut self, rhs: &u64)
fn bitor_assign(&mut self, rhs: &u64)
|=
operation. Read moreSource§impl BitOrAssign<&u8> for UBig
impl BitOrAssign<&u8> for UBig
Source§fn bitor_assign(&mut self, rhs: &u8)
fn bitor_assign(&mut self, rhs: &u8)
|=
operation. Read moreSource§impl BitOrAssign<&usize> for UBig
impl BitOrAssign<&usize> for UBig
Source§fn bitor_assign(&mut self, rhs: &usize)
fn bitor_assign(&mut self, rhs: &usize)
|=
operation. Read moreSource§impl BitOrAssign<u128> for UBig
impl BitOrAssign<u128> for UBig
Source§fn bitor_assign(&mut self, rhs: u128)
fn bitor_assign(&mut self, rhs: u128)
|=
operation. Read moreSource§impl BitOrAssign<u16> for UBig
impl BitOrAssign<u16> for UBig
Source§fn bitor_assign(&mut self, rhs: u16)
fn bitor_assign(&mut self, rhs: u16)
|=
operation. Read moreSource§impl BitOrAssign<u32> for UBig
impl BitOrAssign<u32> for UBig
Source§fn bitor_assign(&mut self, rhs: u32)
fn bitor_assign(&mut self, rhs: u32)
|=
operation. Read moreSource§impl BitOrAssign<u64> for UBig
impl BitOrAssign<u64> for UBig
Source§fn bitor_assign(&mut self, rhs: u64)
fn bitor_assign(&mut self, rhs: u64)
|=
operation. Read moreSource§impl BitOrAssign<u8> for UBig
impl BitOrAssign<u8> for UBig
Source§fn bitor_assign(&mut self, rhs: u8)
fn bitor_assign(&mut self, rhs: u8)
|=
operation. Read moreSource§impl BitOrAssign<usize> for UBig
impl BitOrAssign<usize> for UBig
Source§fn bitor_assign(&mut self, rhs: usize)
fn bitor_assign(&mut self, rhs: usize)
|=
operation. Read moreSource§impl BitOrAssign for UBig
impl BitOrAssign for UBig
Source§fn bitor_assign(&mut self, rhs: UBig)
fn bitor_assign(&mut self, rhs: UBig)
|=
operation. Read moreSource§impl BitXorAssign<&UBig> for UBig
impl BitXorAssign<&UBig> for UBig
Source§fn bitxor_assign(&mut self, rhs: &UBig)
fn bitxor_assign(&mut self, rhs: &UBig)
^=
operation. Read moreSource§impl BitXorAssign<&u128> for UBig
impl BitXorAssign<&u128> for UBig
Source§fn bitxor_assign(&mut self, rhs: &u128)
fn bitxor_assign(&mut self, rhs: &u128)
^=
operation. Read moreSource§impl BitXorAssign<&u16> for UBig
impl BitXorAssign<&u16> for UBig
Source§fn bitxor_assign(&mut self, rhs: &u16)
fn bitxor_assign(&mut self, rhs: &u16)
^=
operation. Read moreSource§impl BitXorAssign<&u32> for UBig
impl BitXorAssign<&u32> for UBig
Source§fn bitxor_assign(&mut self, rhs: &u32)
fn bitxor_assign(&mut self, rhs: &u32)
^=
operation. Read moreSource§impl BitXorAssign<&u64> for UBig
impl BitXorAssign<&u64> for UBig
Source§fn bitxor_assign(&mut self, rhs: &u64)
fn bitxor_assign(&mut self, rhs: &u64)
^=
operation. Read moreSource§impl BitXorAssign<&u8> for UBig
impl BitXorAssign<&u8> for UBig
Source§fn bitxor_assign(&mut self, rhs: &u8)
fn bitxor_assign(&mut self, rhs: &u8)
^=
operation. Read moreSource§impl BitXorAssign<&usize> for UBig
impl BitXorAssign<&usize> for UBig
Source§fn bitxor_assign(&mut self, rhs: &usize)
fn bitxor_assign(&mut self, rhs: &usize)
^=
operation. Read moreSource§impl BitXorAssign<u128> for UBig
impl BitXorAssign<u128> for UBig
Source§fn bitxor_assign(&mut self, rhs: u128)
fn bitxor_assign(&mut self, rhs: u128)
^=
operation. Read moreSource§impl BitXorAssign<u16> for UBig
impl BitXorAssign<u16> for UBig
Source§fn bitxor_assign(&mut self, rhs: u16)
fn bitxor_assign(&mut self, rhs: u16)
^=
operation. Read moreSource§impl BitXorAssign<u32> for UBig
impl BitXorAssign<u32> for UBig
Source§fn bitxor_assign(&mut self, rhs: u32)
fn bitxor_assign(&mut self, rhs: u32)
^=
operation. Read moreSource§impl BitXorAssign<u64> for UBig
impl BitXorAssign<u64> for UBig
Source§fn bitxor_assign(&mut self, rhs: u64)
fn bitxor_assign(&mut self, rhs: u64)
^=
operation. Read moreSource§impl BitXorAssign<u8> for UBig
impl BitXorAssign<u8> for UBig
Source§fn bitxor_assign(&mut self, rhs: u8)
fn bitxor_assign(&mut self, rhs: u8)
^=
operation. Read moreSource§impl BitXorAssign<usize> for UBig
impl BitXorAssign<usize> for UBig
Source§fn bitxor_assign(&mut self, rhs: usize)
fn bitxor_assign(&mut self, rhs: usize)
^=
operation. Read moreSource§impl BitXorAssign for UBig
impl BitXorAssign for UBig
Source§fn bitxor_assign(&mut self, rhs: UBig)
fn bitxor_assign(&mut self, rhs: UBig)
^=
operation. Read moreSource§impl CubicRootRem for UBig
impl CubicRootRem for UBig
Source§impl<'de> Deserialize<'de> for UBig
impl<'de> Deserialize<'de> for UBig
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Source§impl<'a> Distribution<UBig> for UniformBelow<'a>
impl<'a> Distribution<UBig> for UniformBelow<'a>
Source§impl Distribution<UBig> for UniformBits
impl Distribution<UBig> for UniformBits
Source§impl<'l, 'r> Div<&'r ConstDivisor> for &'l UBig
impl<'l, 'r> Div<&'r ConstDivisor> for &'l UBig
Source§impl<'r> Div<&'r ConstDivisor> for UBig
impl<'r> Div<&'r ConstDivisor> for UBig
Source§impl<'r> DivAssign<&'r ConstDivisor> for UBig
impl<'r> DivAssign<&'r ConstDivisor> for UBig
Source§fn div_assign(&mut self, rhs: &'r ConstDivisor)
fn div_assign(&mut self, rhs: &'r ConstDivisor)
/=
operation. Read moreSource§impl DivAssign<&UBig> for IBig
impl DivAssign<&UBig> for IBig
Source§fn div_assign(&mut self, rhs: &UBig)
fn div_assign(&mut self, rhs: &UBig)
/=
operation. Read moreSource§impl DivAssign<&UBig> for UBig
impl DivAssign<&UBig> for UBig
Source§fn div_assign(&mut self, rhs: &UBig)
fn div_assign(&mut self, rhs: &UBig)
/=
operation. Read moreSource§impl DivAssign<&u128> for UBig
impl DivAssign<&u128> for UBig
Source§fn div_assign(&mut self, rhs: &u128)
fn div_assign(&mut self, rhs: &u128)
/=
operation. Read moreSource§impl DivAssign<&u16> for UBig
impl DivAssign<&u16> for UBig
Source§fn div_assign(&mut self, rhs: &u16)
fn div_assign(&mut self, rhs: &u16)
/=
operation. Read moreSource§impl DivAssign<&u32> for UBig
impl DivAssign<&u32> for UBig
Source§fn div_assign(&mut self, rhs: &u32)
fn div_assign(&mut self, rhs: &u32)
/=
operation. Read moreSource§impl DivAssign<&u64> for UBig
impl DivAssign<&u64> for UBig
Source§fn div_assign(&mut self, rhs: &u64)
fn div_assign(&mut self, rhs: &u64)
/=
operation. Read moreSource§impl DivAssign<&u8> for UBig
impl DivAssign<&u8> for UBig
Source§fn div_assign(&mut self, rhs: &u8)
fn div_assign(&mut self, rhs: &u8)
/=
operation. Read moreSource§impl DivAssign<&usize> for UBig
impl DivAssign<&usize> for UBig
Source§fn div_assign(&mut self, rhs: &usize)
fn div_assign(&mut self, rhs: &usize)
/=
operation. Read moreSource§impl DivAssign<UBig> for IBig
impl DivAssign<UBig> for IBig
Source§fn div_assign(&mut self, rhs: UBig)
fn div_assign(&mut self, rhs: UBig)
/=
operation. Read moreSource§impl DivAssign<u128> for UBig
impl DivAssign<u128> for UBig
Source§fn div_assign(&mut self, rhs: u128)
fn div_assign(&mut self, rhs: u128)
/=
operation. Read moreSource§impl DivAssign<u16> for UBig
impl DivAssign<u16> for UBig
Source§fn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
/=
operation. Read moreSource§impl DivAssign<u32> for UBig
impl DivAssign<u32> for UBig
Source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
/=
operation. Read moreSource§impl DivAssign<u64> for UBig
impl DivAssign<u64> for UBig
Source§fn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
/=
operation. Read moreSource§impl DivAssign<u8> for UBig
impl DivAssign<u8> for UBig
Source§fn div_assign(&mut self, rhs: u8)
fn div_assign(&mut self, rhs: u8)
/=
operation. Read moreSource§impl DivAssign<usize> for UBig
impl DivAssign<usize> for UBig
Source§fn div_assign(&mut self, rhs: usize)
fn div_assign(&mut self, rhs: usize)
/=
operation. Read moreSource§impl DivAssign for UBig
impl DivAssign for UBig
Source§fn div_assign(&mut self, rhs: UBig)
fn div_assign(&mut self, rhs: UBig)
/=
operation. Read moreSource§impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l UBig
impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l UBig
Source§impl<'r> DivRem<&'r ConstDivisor> for UBig
impl<'r> DivRem<&'r ConstDivisor> for UBig
Source§impl<'r> DivRemAssign<&'r ConstDivisor> for UBig
impl<'r> DivRemAssign<&'r ConstDivisor> for UBig
type OutputRem = UBig
fn div_rem_assign(&mut self, rhs: &ConstDivisor) -> UBig
Source§impl DivRemAssign<&UBig> for UBig
impl DivRemAssign<&UBig> for UBig
Source§impl DivRemAssign<&u128> for UBig
impl DivRemAssign<&u128> for UBig
Source§impl DivRemAssign<&u16> for UBig
impl DivRemAssign<&u16> for UBig
Source§impl DivRemAssign<&u32> for UBig
impl DivRemAssign<&u32> for UBig
Source§impl DivRemAssign<&u64> for UBig
impl DivRemAssign<&u64> for UBig
Source§impl DivRemAssign<&u8> for UBig
impl DivRemAssign<&u8> for UBig
Source§impl DivRemAssign<&usize> for UBig
impl DivRemAssign<&usize> for UBig
Source§impl DivRemAssign<u128> for UBig
impl DivRemAssign<u128> for UBig
Source§impl DivRemAssign<u16> for UBig
impl DivRemAssign<u16> for UBig
Source§impl DivRemAssign<u32> for UBig
impl DivRemAssign<u32> for UBig
Source§impl DivRemAssign<u64> for UBig
impl DivRemAssign<u64> for UBig
Source§impl DivRemAssign<u8> for UBig
impl DivRemAssign<u8> for UBig
Source§impl DivRemAssign<usize> for UBig
impl DivRemAssign<usize> for UBig
Source§impl DivRemAssign for UBig
impl DivRemAssign for UBig
Source§impl<'l, 'r> DivRemEuclid<&'r UBig> for &'l UBig
impl<'l, 'r> DivRemEuclid<&'r UBig> for &'l UBig
Source§impl<'r> DivRemEuclid<&'r UBig> for UBig
impl<'r> DivRemEuclid<&'r UBig> for UBig
Source§impl<'l> DivRemEuclid<UBig> for &'l UBig
impl<'l> DivRemEuclid<UBig> for &'l UBig
Source§impl DivRemEuclid for UBig
impl DivRemEuclid for UBig
Source§impl EstimatedLog2 for UBig
impl EstimatedLog2 for UBig
Source§impl Euclid for UBig
impl Euclid for UBig
Source§fn div_euclid(&self, v: &Self) -> Self
fn div_euclid(&self, v: &Self) -> Self
rem_euclid
. Read moreSource§fn rem_euclid(&self, v: &Self) -> Self
fn rem_euclid(&self, v: &Self) -> Self
self (mod v)
. Read moreSource§impl<'l, 'r> ExtendedGcd<&'r IBig> for &'l UBig
impl<'l, 'r> ExtendedGcd<&'r IBig> for &'l UBig
Source§impl<'r> ExtendedGcd<&'r IBig> for UBig
impl<'r> ExtendedGcd<&'r IBig> for UBig
Source§impl<'l, 'r> ExtendedGcd<&'r UBig> for &'l IBig
impl<'l, 'r> ExtendedGcd<&'r UBig> for &'l IBig
Source§impl<'l, 'r> ExtendedGcd<&'r UBig> for &'l UBig
impl<'l, 'r> ExtendedGcd<&'r UBig> for &'l UBig
Source§impl<'r> ExtendedGcd<&'r UBig> for IBig
impl<'r> ExtendedGcd<&'r UBig> for IBig
Source§impl<'r> ExtendedGcd<&'r UBig> for UBig
impl<'r> ExtendedGcd<&'r UBig> for UBig
Source§impl<'l> ExtendedGcd<IBig> for &'l UBig
impl<'l> ExtendedGcd<IBig> for &'l UBig
Source§impl ExtendedGcd<IBig> for UBig
impl ExtendedGcd<IBig> for UBig
Source§impl<'l> ExtendedGcd<UBig> for &'l IBig
impl<'l> ExtendedGcd<UBig> for &'l IBig
Source§impl<'l> ExtendedGcd<UBig> for &'l UBig
impl<'l> ExtendedGcd<UBig> for &'l UBig
Source§impl ExtendedGcd<UBig> for IBig
impl ExtendedGcd<UBig> for IBig
Source§impl ExtendedGcd for UBig
impl ExtendedGcd for UBig
Source§impl FromPrimitive for UBig
impl FromPrimitive for UBig
Source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moreSource§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moreSource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§impl Integer for UBig
impl Integer for UBig
Source§fn div_rem(&self, other: &Self) -> (Self, Self)
fn div_rem(&self, other: &Self) -> (Self, Self)
(quotient, remainder)
. Read moreSource§fn is_multiple_of(&self, other: &Self) -> bool
fn is_multiple_of(&self, other: &Self) -> bool
Source§fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
Source§fn gcd_lcm(&self, other: &Self) -> (Self, Self)
fn gcd_lcm(&self, other: &Self) -> (Self, Self)
Source§fn div_mod_floor(&self, other: &Self) -> (Self, Self)
fn div_mod_floor(&self, other: &Self) -> (Self, Self)
(quotient, remainder)
. Read moreSource§fn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
Source§fn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
Source§impl<'a> IntoRing<'a, ConstDivisor> for UBig
impl<'a> IntoRing<'a, ConstDivisor> for UBig
type RingElement = Reduced<'a>
fn into_ring(self, ring: &ConstDivisor) -> Reduced<'_>
Source§impl MulAssign<&UBig> for IBig
impl MulAssign<&UBig> for IBig
Source§fn mul_assign(&mut self, rhs: &UBig)
fn mul_assign(&mut self, rhs: &UBig)
*=
operation. Read moreSource§impl MulAssign<&UBig> for UBig
impl MulAssign<&UBig> for UBig
Source§fn mul_assign(&mut self, rhs: &UBig)
fn mul_assign(&mut self, rhs: &UBig)
*=
operation. Read moreSource§impl MulAssign<&u128> for UBig
impl MulAssign<&u128> for UBig
Source§fn mul_assign(&mut self, rhs: &u128)
fn mul_assign(&mut self, rhs: &u128)
*=
operation. Read moreSource§impl MulAssign<&u16> for UBig
impl MulAssign<&u16> for UBig
Source§fn mul_assign(&mut self, rhs: &u16)
fn mul_assign(&mut self, rhs: &u16)
*=
operation. Read moreSource§impl MulAssign<&u32> for UBig
impl MulAssign<&u32> for UBig
Source§fn mul_assign(&mut self, rhs: &u32)
fn mul_assign(&mut self, rhs: &u32)
*=
operation. Read moreSource§impl MulAssign<&u64> for UBig
impl MulAssign<&u64> for UBig
Source§fn mul_assign(&mut self, rhs: &u64)
fn mul_assign(&mut self, rhs: &u64)
*=
operation. Read moreSource§impl MulAssign<&u8> for UBig
impl MulAssign<&u8> for UBig
Source§fn mul_assign(&mut self, rhs: &u8)
fn mul_assign(&mut self, rhs: &u8)
*=
operation. Read moreSource§impl MulAssign<&usize> for UBig
impl MulAssign<&usize> for UBig
Source§fn mul_assign(&mut self, rhs: &usize)
fn mul_assign(&mut self, rhs: &usize)
*=
operation. Read moreSource§impl MulAssign<UBig> for IBig
impl MulAssign<UBig> for IBig
Source§fn mul_assign(&mut self, rhs: UBig)
fn mul_assign(&mut self, rhs: UBig)
*=
operation. Read moreSource§impl MulAssign<u128> for UBig
impl MulAssign<u128> for UBig
Source§fn mul_assign(&mut self, rhs: u128)
fn mul_assign(&mut self, rhs: u128)
*=
operation. Read moreSource§impl MulAssign<u16> for UBig
impl MulAssign<u16> for UBig
Source§fn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
*=
operation. Read moreSource§impl MulAssign<u32> for UBig
impl MulAssign<u32> for UBig
Source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*=
operation. Read moreSource§impl MulAssign<u64> for UBig
impl MulAssign<u64> for UBig
Source§fn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
*=
operation. Read moreSource§impl MulAssign<u8> for UBig
impl MulAssign<u8> for UBig
Source§fn mul_assign(&mut self, rhs: u8)
fn mul_assign(&mut self, rhs: u8)
*=
operation. Read moreSource§impl MulAssign<usize> for UBig
impl MulAssign<usize> for UBig
Source§fn mul_assign(&mut self, rhs: usize)
fn mul_assign(&mut self, rhs: usize)
*=
operation. Read moreSource§impl MulAssign for UBig
impl MulAssign for UBig
Source§fn mul_assign(&mut self, rhs: UBig)
fn mul_assign(&mut self, rhs: UBig)
*=
operation. Read moreSource§impl Num for UBig
impl Num for UBig
type FromStrRadixErr = ParseError
Source§fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseError>
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseError>
2..=36
). Read moreSource§impl NumOrd<IBig> for UBig
impl NumOrd<IBig> for UBig
Source§impl NumOrd<UBig> for IBig
impl NumOrd<UBig> for IBig
Source§impl NumOrd<UBig> for UBig
impl NumOrd<UBig> for UBig
Source§impl NumOrd<UBig> for f32
impl NumOrd<UBig> for f32
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for f64
impl NumOrd<UBig> for f64
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for i128
impl NumOrd<UBig> for i128
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for i16
impl NumOrd<UBig> for i16
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for i32
impl NumOrd<UBig> for i32
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for i64
impl NumOrd<UBig> for i64
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for i8
impl NumOrd<UBig> for i8
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for isize
impl NumOrd<UBig> for isize
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for u128
impl NumOrd<UBig> for u128
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for u16
impl NumOrd<UBig> for u16
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for u32
impl NumOrd<UBig> for u32
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for u64
impl NumOrd<UBig> for u64
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for u8
impl NumOrd<UBig> for u8
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for usize
impl NumOrd<UBig> for usize
Source§fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &UBig) -> Option<Ordering>
Source§impl NumOrd<f32> for UBig
impl NumOrd<f32> for UBig
Source§fn num_partial_cmp(&self, other: &f32) -> Option<Ordering>
fn num_partial_cmp(&self, other: &f32) -> Option<Ordering>
Source§impl NumOrd<f64> for UBig
impl NumOrd<f64> for UBig
Source§fn num_partial_cmp(&self, other: &f64) -> Option<Ordering>
fn num_partial_cmp(&self, other: &f64) -> Option<Ordering>
Source§impl NumOrd<i128> for UBig
impl NumOrd<i128> for UBig
Source§fn num_partial_cmp(&self, other: &i128) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i128) -> Option<Ordering>
Source§impl NumOrd<i16> for UBig
impl NumOrd<i16> for UBig
Source§fn num_partial_cmp(&self, other: &i16) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i16) -> Option<Ordering>
Source§impl NumOrd<i32> for UBig
impl NumOrd<i32> for UBig
Source§fn num_partial_cmp(&self, other: &i32) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i32) -> Option<Ordering>
Source§impl NumOrd<i64> for UBig
impl NumOrd<i64> for UBig
Source§fn num_partial_cmp(&self, other: &i64) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i64) -> Option<Ordering>
Source§impl NumOrd<i8> for UBig
impl NumOrd<i8> for UBig
Source§fn num_partial_cmp(&self, other: &i8) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i8) -> Option<Ordering>
Source§impl NumOrd<isize> for UBig
impl NumOrd<isize> for UBig
Source§fn num_partial_cmp(&self, other: &isize) -> Option<Ordering>
fn num_partial_cmp(&self, other: &isize) -> Option<Ordering>
Source§impl NumOrd<u128> for UBig
impl NumOrd<u128> for UBig
Source§fn num_partial_cmp(&self, other: &u128) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u128) -> Option<Ordering>
Source§impl NumOrd<u16> for UBig
impl NumOrd<u16> for UBig
Source§fn num_partial_cmp(&self, other: &u16) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u16) -> Option<Ordering>
Source§impl NumOrd<u32> for UBig
impl NumOrd<u32> for UBig
Source§fn num_partial_cmp(&self, other: &u32) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u32) -> Option<Ordering>
Source§impl NumOrd<u64> for UBig
impl NumOrd<u64> for UBig
Source§fn num_partial_cmp(&self, other: &u64) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u64) -> Option<Ordering>
Source§impl NumOrd<u8> for UBig
impl NumOrd<u8> for UBig
Source§fn num_partial_cmp(&self, other: &u8) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u8) -> Option<Ordering>
Source§impl NumOrd<usize> for UBig
impl NumOrd<usize> for UBig
Source§fn num_partial_cmp(&self, other: &usize) -> Option<Ordering>
fn num_partial_cmp(&self, other: &usize) -> Option<Ordering>
Source§impl Ord for UBig
impl Ord for UBig
Source§impl PartialOrd for UBig
impl PartialOrd for UBig
Source§impl PowerOfTwo for UBig
impl PowerOfTwo for UBig
Source§fn is_power_of_two(&self) -> bool
fn is_power_of_two(&self) -> bool
2^k
)Source§fn next_power_of_two(self) -> UBig
fn next_power_of_two(self) -> UBig
Source§impl Reducer<UBig> for ConstDivisor
impl Reducer<UBig> for ConstDivisor
Source§impl<'l, 'r> Rem<&'r ConstDivisor> for &'l UBig
impl<'l, 'r> Rem<&'r ConstDivisor> for &'l UBig
Source§impl<'r> Rem<&'r ConstDivisor> for UBig
impl<'r> Rem<&'r ConstDivisor> for UBig
Source§impl<'r> RemAssign<&'r ConstDivisor> for UBig
impl<'r> RemAssign<&'r ConstDivisor> for UBig
Source§fn rem_assign(&mut self, rhs: &'r ConstDivisor)
fn rem_assign(&mut self, rhs: &'r ConstDivisor)
%=
operation. Read moreSource§impl RemAssign<&IBig> for UBig
impl RemAssign<&IBig> for UBig
Source§fn rem_assign(&mut self, rhs: &IBig)
fn rem_assign(&mut self, rhs: &IBig)
%=
operation. Read moreSource§impl RemAssign<&UBig> for IBig
impl RemAssign<&UBig> for IBig
Source§fn rem_assign(&mut self, rhs: &UBig)
fn rem_assign(&mut self, rhs: &UBig)
%=
operation. Read moreSource§impl RemAssign<&UBig> for UBig
impl RemAssign<&UBig> for UBig
Source§fn rem_assign(&mut self, rhs: &UBig)
fn rem_assign(&mut self, rhs: &UBig)
%=
operation. Read moreSource§impl RemAssign<IBig> for UBig
impl RemAssign<IBig> for UBig
Source§fn rem_assign(&mut self, rhs: IBig)
fn rem_assign(&mut self, rhs: IBig)
%=
operation. Read moreSource§impl RemAssign<UBig> for IBig
impl RemAssign<UBig> for IBig
Source§fn rem_assign(&mut self, rhs: UBig)
fn rem_assign(&mut self, rhs: UBig)
%=
operation. Read moreSource§impl RemAssign for UBig
impl RemAssign for UBig
Source§fn rem_assign(&mut self, rhs: UBig)
fn rem_assign(&mut self, rhs: UBig)
%=
operation. Read moreSource§impl Roots for UBig
impl Roots for UBig
Source§impl SampleUniform for UBig
impl SampleUniform for UBig
Source§type Sampler = UniformUBig
type Sampler = UniformUBig
UniformSampler
implementation supporting type X
.Source§impl ShlAssign<&usize> for UBig
impl ShlAssign<&usize> for UBig
Source§fn shl_assign(&mut self, rhs: &usize)
fn shl_assign(&mut self, rhs: &usize)
<<=
operation. Read moreSource§impl ShlAssign<usize> for UBig
impl ShlAssign<usize> for UBig
Source§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<=
operation. Read moreSource§impl ShrAssign<&usize> for UBig
impl ShrAssign<&usize> for UBig
Source§fn shr_assign(&mut self, rhs: &usize)
fn shr_assign(&mut self, rhs: &usize)
>>=
operation. Read moreSource§impl ShrAssign<usize> for UBig
impl ShrAssign<usize> for UBig
Source§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>=
operation. Read moreSource§impl SquareRootRem for UBig
impl SquareRootRem for UBig
Source§impl SubAssign<&UBig> for IBig
impl SubAssign<&UBig> for IBig
Source§fn sub_assign(&mut self, rhs: &UBig)
fn sub_assign(&mut self, rhs: &UBig)
-=
operation. Read moreSource§impl SubAssign<&UBig> for UBig
impl SubAssign<&UBig> for UBig
Source§fn sub_assign(&mut self, rhs: &UBig)
fn sub_assign(&mut self, rhs: &UBig)
-=
operation. Read moreSource§impl SubAssign<&u128> for UBig
impl SubAssign<&u128> for UBig
Source§fn sub_assign(&mut self, rhs: &u128)
fn sub_assign(&mut self, rhs: &u128)
-=
operation. Read moreSource§impl SubAssign<&u16> for UBig
impl SubAssign<&u16> for UBig
Source§fn sub_assign(&mut self, rhs: &u16)
fn sub_assign(&mut self, rhs: &u16)
-=
operation. Read moreSource§impl SubAssign<&u32> for UBig
impl SubAssign<&u32> for UBig
Source§fn sub_assign(&mut self, rhs: &u32)
fn sub_assign(&mut self, rhs: &u32)
-=
operation. Read moreSource§impl SubAssign<&u64> for UBig
impl SubAssign<&u64> for UBig
Source§fn sub_assign(&mut self, rhs: &u64)
fn sub_assign(&mut self, rhs: &u64)
-=
operation. Read moreSource§impl SubAssign<&u8> for UBig
impl SubAssign<&u8> for UBig
Source§fn sub_assign(&mut self, rhs: &u8)
fn sub_assign(&mut self, rhs: &u8)
-=
operation. Read moreSource§impl SubAssign<&usize> for UBig
impl SubAssign<&usize> for UBig
Source§fn sub_assign(&mut self, rhs: &usize)
fn sub_assign(&mut self, rhs: &usize)
-=
operation. Read moreSource§impl SubAssign<UBig> for IBig
impl SubAssign<UBig> for IBig
Source§fn sub_assign(&mut self, rhs: UBig)
fn sub_assign(&mut self, rhs: UBig)
-=
operation. Read moreSource§impl SubAssign<u128> for UBig
impl SubAssign<u128> for UBig
Source§fn sub_assign(&mut self, rhs: u128)
fn sub_assign(&mut self, rhs: u128)
-=
operation. Read moreSource§impl SubAssign<u16> for UBig
impl SubAssign<u16> for UBig
Source§fn sub_assign(&mut self, rhs: u16)
fn sub_assign(&mut self, rhs: u16)
-=
operation. Read moreSource§impl SubAssign<u32> for UBig
impl SubAssign<u32> for UBig
Source§fn sub_assign(&mut self, rhs: u32)
fn sub_assign(&mut self, rhs: u32)
-=
operation. Read moreSource§impl SubAssign<u64> for UBig
impl SubAssign<u64> for UBig
Source§fn sub_assign(&mut self, rhs: u64)
fn sub_assign(&mut self, rhs: u64)
-=
operation. Read moreSource§impl SubAssign<u8> for UBig
impl SubAssign<u8> for UBig
Source§fn sub_assign(&mut self, rhs: u8)
fn sub_assign(&mut self, rhs: u8)
-=
operation. Read moreSource§impl SubAssign<usize> for UBig
impl SubAssign<usize> for UBig
Source§fn sub_assign(&mut self, rhs: usize)
fn sub_assign(&mut self, rhs: usize)
-=
operation. Read moreSource§impl SubAssign for UBig
impl SubAssign for UBig
Source§fn sub_assign(&mut self, rhs: UBig)
fn sub_assign(&mut self, rhs: UBig)
-=
operation. Read moreSource§impl ToPrimitive for UBig
impl ToPrimitive for UBig
Source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned.Source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned.Source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned.Source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned.Source§fn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read moreSource§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned.Source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned.Source§fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned.Source§fn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned.Source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned.Source§fn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read moreSource§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned.impl Eq for UBig
impl StructuralPartialEq for UBig
impl Unsigned for UBig
Auto Trait Implementations§
impl Freeze for UBig
impl RefUnwindSafe for UBig
impl Send for UBig
impl Sync for UBig
impl Unpin for UBig
impl UnwindSafe for UBig
Blanket Implementations§
Source§impl<I> Average for I
impl<I> Average for I
Source§fn average_floor(&self, other: &I) -> I
fn average_floor(&self, other: &I) -> I
Returns the floor value of the average of self
and other
.
Source§fn average_ceil(&self, other: &I) -> I
fn average_ceil(&self, other: &I) -> I
Returns the ceil value of the average of self
and other
.
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,
Source§impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
Source§fn borrow(&self) -> &Borrowed
fn borrow(&self) -> &Borrowed
Borrow::borrow