pub struct BigUint { /* private fields */ }
Expand description
A big unsigned integer type.
Implementations§
source§impl BigUint
impl BigUint
sourcepub fn new(digits: Vec<u32>) -> BigUint
pub fn new(digits: Vec<u32>) -> BigUint
Creates and initializes a BigUint
.
The base 232 digits are ordered least significant digit first.
sourcepub fn from_slice(slice: &[u32]) -> BigUint
pub fn from_slice(slice: &[u32]) -> BigUint
Creates and initializes a BigUint
.
The base 232 digits are ordered least significant digit first.
sourcepub fn assign_from_slice(&mut self, slice: &[u32])
pub fn assign_from_slice(&mut self, slice: &[u32])
Assign a value to a BigUint
.
The base 232 digits are ordered least significant digit first.
sourcepub fn from_bytes_be(bytes: &[u8]) -> BigUint
pub fn from_bytes_be(bytes: &[u8]) -> BigUint
Creates and initializes a BigUint
.
The bytes are in big-endian byte order.
§Examples
use num_bigint::BigUint;
assert_eq!(BigUint::from_bytes_be(b"A"),
BigUint::parse_bytes(b"65", 10).unwrap());
assert_eq!(BigUint::from_bytes_be(b"AA"),
BigUint::parse_bytes(b"16705", 10).unwrap());
assert_eq!(BigUint::from_bytes_be(b"AB"),
BigUint::parse_bytes(b"16706", 10).unwrap());
assert_eq!(BigUint::from_bytes_be(b"Hello world!"),
BigUint::parse_bytes(b"22405534230753963835153736737", 10).unwrap());
sourcepub fn from_bytes_le(bytes: &[u8]) -> BigUint
pub fn from_bytes_le(bytes: &[u8]) -> BigUint
Creates and initializes a BigUint
.
The bytes are in little-endian byte order.
sourcepub fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigUint>
pub fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigUint>
Creates and initializes a BigUint
. The input slice must contain
ascii/utf8 characters in [0-9a-zA-Z].
radix
must be in the range 2...36
.
The function from_str_radix
from the Num
trait provides the same logic
for &str
buffers.
§Examples
use num_bigint::{BigUint, ToBigUint};
assert_eq!(BigUint::parse_bytes(b"1234", 10), ToBigUint::to_biguint(&1234));
assert_eq!(BigUint::parse_bytes(b"ABCD", 16), ToBigUint::to_biguint(&0xABCD));
assert_eq!(BigUint::parse_bytes(b"G", 16), None);
sourcepub fn from_radix_be(buf: &[u8], radix: u32) -> Option<BigUint>
pub fn from_radix_be(buf: &[u8], radix: u32) -> Option<BigUint>
Creates and initializes a BigUint
. Each u8
of the input slice is
interpreted as one digit of the number
and must therefore be less than radix
.
The bytes are in big-endian byte order.
radix
must be in the range 2...256
.
§Examples
use num_bigint::{BigUint};
let inbase190 = &[15, 33, 125, 12, 14];
let a = BigUint::from_radix_be(inbase190, 190).unwrap();
assert_eq!(a.to_radix_be(190), inbase190);
sourcepub fn from_radix_le(buf: &[u8], radix: u32) -> Option<BigUint>
pub fn from_radix_le(buf: &[u8], radix: u32) -> Option<BigUint>
Creates and initializes a BigUint
. Each u8
of the input slice is
interpreted as one digit of the number
and must therefore be less than radix
.
The bytes are in little-endian byte order.
radix
must be in the range 2...256
.
§Examples
use num_bigint::{BigUint};
let inbase190 = &[14, 12, 125, 33, 15];
let a = BigUint::from_radix_be(inbase190, 190).unwrap();
assert_eq!(a.to_radix_be(190), inbase190);
sourcepub fn to_bytes_be(&self) -> Vec<u8>
pub fn to_bytes_be(&self) -> Vec<u8>
sourcepub fn to_bytes_le(&self) -> Vec<u8>
pub fn to_bytes_le(&self) -> Vec<u8>
sourcepub fn to_u32_digits(&self) -> Vec<u32>
pub fn to_u32_digits(&self) -> Vec<u32>
Returns the u32
digits representation of the BigUint
ordered least significant digit
first.
§Examples
use num_bigint::BigUint;
assert_eq!(BigUint::from(1125u32).to_u32_digits(), vec![1125]);
assert_eq!(BigUint::from(4294967295u32).to_u32_digits(), vec![4294967295]);
assert_eq!(BigUint::from(4294967296u64).to_u32_digits(), vec![0, 1]);
assert_eq!(BigUint::from(112500000000u64).to_u32_digits(), vec![830850304, 26]);
sourcepub fn to_u64_digits(&self) -> Vec<u64>
pub fn to_u64_digits(&self) -> Vec<u64>
Returns the u64
digits representation of the BigUint
ordered least significant digit
first.
§Examples
use num_bigint::BigUint;
assert_eq!(BigUint::from(1125u32).to_u64_digits(), vec![1125]);
assert_eq!(BigUint::from(4294967295u32).to_u64_digits(), vec![4294967295]);
assert_eq!(BigUint::from(4294967296u64).to_u64_digits(), vec![4294967296]);
assert_eq!(BigUint::from(112500000000u64).to_u64_digits(), vec![112500000000]);
assert_eq!(BigUint::from(1u128 << 64).to_u64_digits(), vec![0, 1]);
sourcepub fn iter_u32_digits(&self) -> U32Digits<'_> ⓘ
pub fn iter_u32_digits(&self) -> U32Digits<'_> ⓘ
Returns an iterator of u32
digits representation of the BigUint
ordered least
significant digit first.
§Examples
use num_bigint::BigUint;
assert_eq!(BigUint::from(1125u32).iter_u32_digits().collect::<Vec<u32>>(), vec![1125]);
assert_eq!(BigUint::from(4294967295u32).iter_u32_digits().collect::<Vec<u32>>(), vec![4294967295]);
assert_eq!(BigUint::from(4294967296u64).iter_u32_digits().collect::<Vec<u32>>(), vec![0, 1]);
assert_eq!(BigUint::from(112500000000u64).iter_u32_digits().collect::<Vec<u32>>(), vec![830850304, 26]);
sourcepub fn iter_u64_digits(&self) -> U64Digits<'_> ⓘ
pub fn iter_u64_digits(&self) -> U64Digits<'_> ⓘ
Returns an iterator of u64
digits representation of the BigUint
ordered least
significant digit first.
§Examples
use num_bigint::BigUint;
assert_eq!(BigUint::from(1125u32).iter_u64_digits().collect::<Vec<u64>>(), vec![1125]);
assert_eq!(BigUint::from(4294967295u32).iter_u64_digits().collect::<Vec<u64>>(), vec![4294967295]);
assert_eq!(BigUint::from(4294967296u64).iter_u64_digits().collect::<Vec<u64>>(), vec![4294967296]);
assert_eq!(BigUint::from(112500000000u64).iter_u64_digits().collect::<Vec<u64>>(), vec![112500000000]);
assert_eq!(BigUint::from(1u128 << 64).iter_u64_digits().collect::<Vec<u64>>(), vec![0, 1]);
sourcepub fn to_str_radix(&self, radix: u32) -> String
pub fn to_str_radix(&self, radix: u32) -> String
Returns the integer formatted as a string in the given radix.
radix
must be in the range 2...36
.
§Examples
use num_bigint::BigUint;
let i = BigUint::parse_bytes(b"ff", 16).unwrap();
assert_eq!(i.to_str_radix(16), "ff");
sourcepub fn to_radix_be(&self, radix: u32) -> Vec<u8>
pub fn to_radix_be(&self, radix: u32) -> Vec<u8>
Returns the integer in the requested base in big-endian digit order.
The output is not given in a human readable alphabet but as a zero
based u8
number.
radix
must be in the range 2...256
.
§Examples
use num_bigint::BigUint;
assert_eq!(BigUint::from(0xFFFFu64).to_radix_be(159),
vec![2, 94, 27]);
// 0xFFFF = 65535 = 2*(159^2) + 94*159 + 27
sourcepub fn to_radix_le(&self, radix: u32) -> Vec<u8>
pub fn to_radix_le(&self, radix: u32) -> Vec<u8>
Returns the integer in the requested base in little-endian digit order.
The output is not given in a human readable alphabet but as a zero
based u8 number.
radix
must be in the range 2...256
.
§Examples
use num_bigint::BigUint;
assert_eq!(BigUint::from(0xFFFFu64).to_radix_le(159),
vec![27, 94, 2]);
// 0xFFFF = 65535 = 27 + 94*159 + 2*(159^2)
sourcepub fn modpow(&self, exponent: &BigUint, modulus: &BigUint) -> BigUint
pub fn modpow(&self, exponent: &BigUint, modulus: &BigUint) -> BigUint
Returns (self ^ exponent) % modulus
.
Panics if the modulus is zero.
sourcepub fn modinv(&self, modulus: &BigUint) -> Option<BigUint>
pub fn modinv(&self, modulus: &BigUint) -> Option<BigUint>
Returns the modular multiplicative inverse if it exists, otherwise None
.
This solves for x
in the interval [0, modulus)
such that self * x ≡ 1 (mod modulus)
.
The solution exists if and only if gcd(self, modulus) == 1
.
use num_bigint::BigUint;
use num_traits::{One, Zero};
let m = BigUint::from(383_u32);
// Trivial cases
assert_eq!(BigUint::zero().modinv(&m), None);
assert_eq!(BigUint::one().modinv(&m), Some(BigUint::one()));
let neg1 = &m - 1u32;
assert_eq!(neg1.modinv(&m), Some(neg1));
let a = BigUint::from(271_u32);
let x = a.modinv(&m).unwrap();
assert_eq!(x, BigUint::from(106_u32));
assert_eq!(x.modinv(&m).unwrap(), a);
assert!((a * x % m).is_one());
sourcepub fn sqrt(&self) -> BigUint
pub fn sqrt(&self) -> BigUint
Returns the truncated principal square root of self
–
see Roots::sqrt
sourcepub fn cbrt(&self) -> BigUint
pub fn cbrt(&self) -> BigUint
Returns the truncated principal cube root of self
–
see Roots::cbrt.
sourcepub fn nth_root(&self, n: u32) -> BigUint
pub fn nth_root(&self, n: u32) -> BigUint
Returns the truncated principal n
th root of self
–
see Roots::nth_root.
sourcepub fn trailing_zeros(&self) -> Option<u64>
pub fn trailing_zeros(&self) -> Option<u64>
Returns the number of least-significant bits that are zero,
or None
if the entire number is zero.
sourcepub fn trailing_ones(&self) -> u64
pub fn trailing_ones(&self) -> u64
Returns the number of least-significant bits that are ones.
sourcepub fn count_ones(&self) -> u64
pub fn count_ones(&self) -> u64
Returns the number of one bits.
Trait Implementations§
source§impl AddAssign<&BigUint> for BigUint
impl AddAssign<&BigUint> for BigUint
source§fn add_assign(&mut self, other: &BigUint)
fn add_assign(&mut self, other: &BigUint)
+=
operation. Read moresource§impl AddAssign<u128> for BigUint
impl AddAssign<u128> for BigUint
source§fn add_assign(&mut self, other: u128)
fn add_assign(&mut self, other: u128)
+=
operation. Read moresource§impl AddAssign<u16> for BigUint
impl AddAssign<u16> for BigUint
source§fn add_assign(&mut self, other: u16)
fn add_assign(&mut self, other: u16)
+=
operation. Read moresource§impl AddAssign<u32> for BigUint
impl AddAssign<u32> for BigUint
source§fn add_assign(&mut self, other: u32)
fn add_assign(&mut self, other: u32)
+=
operation. Read moresource§impl AddAssign<u64> for BigUint
impl AddAssign<u64> for BigUint
source§fn add_assign(&mut self, other: u64)
fn add_assign(&mut self, other: u64)
+=
operation. Read moresource§impl AddAssign<u8> for BigUint
impl AddAssign<u8> for BigUint
source§fn add_assign(&mut self, other: u8)
fn add_assign(&mut self, other: u8)
+=
operation. Read moresource§impl AddAssign<usize> for BigUint
impl AddAssign<usize> for BigUint
source§fn add_assign(&mut self, other: usize)
fn add_assign(&mut self, other: usize)
+=
operation. Read moresource§impl AddAssign for BigUint
impl AddAssign for BigUint
source§fn add_assign(&mut self, other: BigUint)
fn add_assign(&mut self, other: BigUint)
+=
operation. Read moresource§impl BitAndAssign<&BigUint> for BigUint
impl BitAndAssign<&BigUint> for BigUint
source§fn bitand_assign(&mut self, other: &BigUint)
fn bitand_assign(&mut self, other: &BigUint)
&=
operation. Read moresource§impl BitAndAssign for BigUint
impl BitAndAssign for BigUint
source§fn bitand_assign(&mut self, other: BigUint)
fn bitand_assign(&mut self, other: BigUint)
&=
operation. Read moresource§impl BitOrAssign<&BigUint> for BigUint
impl BitOrAssign<&BigUint> for BigUint
source§fn bitor_assign(&mut self, other: &BigUint)
fn bitor_assign(&mut self, other: &BigUint)
|=
operation. Read moresource§impl BitOrAssign for BigUint
impl BitOrAssign for BigUint
source§fn bitor_assign(&mut self, other: BigUint)
fn bitor_assign(&mut self, other: BigUint)
|=
operation. Read moresource§impl BitXorAssign<&BigUint> for BigUint
impl BitXorAssign<&BigUint> for BigUint
source§fn bitxor_assign(&mut self, other: &BigUint)
fn bitxor_assign(&mut self, other: &BigUint)
^=
operation. Read moresource§impl BitXorAssign for BigUint
impl BitXorAssign for BigUint
source§fn bitxor_assign(&mut self, other: BigUint)
fn bitxor_assign(&mut self, other: BigUint)
^=
operation. Read moresource§impl CheckedAdd for BigUint
impl CheckedAdd for BigUint
source§impl CheckedDiv for BigUint
impl CheckedDiv for BigUint
source§impl CheckedEuclid for BigUint
impl CheckedEuclid for BigUint
source§fn checked_div_euclid(&self, v: &BigUint) -> Option<BigUint>
fn checked_div_euclid(&self, v: &BigUint) -> Option<BigUint>
None
instead of panicking on division by zero
and instead of wrapping around on underflow and overflow.source§impl CheckedMul for BigUint
impl CheckedMul for BigUint
source§impl CheckedSub for BigUint
impl CheckedSub for BigUint
source§impl<'de> Deserialize<'de> for BigUint
impl<'de> Deserialize<'de> for BigUint
source§fn deserialize<D>(
deserializer: D
) -> Result<BigUint, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<BigUint, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
source§impl Distribution<BigUint> for RandomBits
impl Distribution<BigUint> for RandomBits
source§impl DivAssign<&BigUint> for BigUint
impl DivAssign<&BigUint> for BigUint
source§fn div_assign(&mut self, other: &BigUint)
fn div_assign(&mut self, other: &BigUint)
/=
operation. Read moresource§impl DivAssign<u128> for BigUint
impl DivAssign<u128> for BigUint
source§fn div_assign(&mut self, other: u128)
fn div_assign(&mut self, other: u128)
/=
operation. Read moresource§impl DivAssign<u16> for BigUint
impl DivAssign<u16> for BigUint
source§fn div_assign(&mut self, other: u16)
fn div_assign(&mut self, other: u16)
/=
operation. Read moresource§impl DivAssign<u32> for BigUint
impl DivAssign<u32> for BigUint
source§fn div_assign(&mut self, other: u32)
fn div_assign(&mut self, other: u32)
/=
operation. Read moresource§impl DivAssign<u64> for BigUint
impl DivAssign<u64> for BigUint
source§fn div_assign(&mut self, other: u64)
fn div_assign(&mut self, other: u64)
/=
operation. Read moresource§impl DivAssign<u8> for BigUint
impl DivAssign<u8> for BigUint
source§fn div_assign(&mut self, other: u8)
fn div_assign(&mut self, other: u8)
/=
operation. Read moresource§impl DivAssign<usize> for BigUint
impl DivAssign<usize> for BigUint
source§fn div_assign(&mut self, other: usize)
fn div_assign(&mut self, other: usize)
/=
operation. Read moresource§impl DivAssign for BigUint
impl DivAssign for BigUint
source§fn div_assign(&mut self, other: BigUint)
fn div_assign(&mut self, other: BigUint)
/=
operation. Read moresource§impl Euclid for BigUint
impl Euclid for BigUint
source§impl FromBytes for BigUint
impl FromBytes for BigUint
type Bytes = [u8]
source§fn from_be_bytes(bytes: &<BigUint as FromBytes>::Bytes) -> BigUint
fn from_be_bytes(bytes: &<BigUint as FromBytes>::Bytes) -> BigUint
source§fn from_le_bytes(bytes: &<BigUint as FromBytes>::Bytes) -> BigUint
fn from_le_bytes(bytes: &<BigUint as FromBytes>::Bytes) -> BigUint
source§fn from_ne_bytes(bytes: &Self::Bytes) -> Self
fn from_ne_bytes(bytes: &Self::Bytes) -> Self
source§impl FromPrimitive for BigUint
impl FromPrimitive for BigUint
source§fn from_i64(n: i64) -> Option<BigUint>
fn from_i64(n: i64) -> Option<BigUint>
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<BigUint>
fn from_i128(n: i128) -> Option<BigUint>
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_u64(n: u64) -> Option<BigUint>
fn from_u64(n: u64) -> Option<BigUint>
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<BigUint>
fn from_u128(n: u128) -> Option<BigUint>
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_f64(n: f64) -> Option<BigUint>
fn from_f64(n: f64) -> Option<BigUint>
f64
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_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_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§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§impl Integer for BigUint
impl Integer for BigUint
source§fn gcd(&self, other: &BigUint) -> BigUint
fn gcd(&self, other: &BigUint) -> BigUint
Calculates the Greatest Common Divisor (GCD) of the number and other
.
The result is always positive.
source§fn lcm(&self, other: &BigUint) -> BigUint
fn lcm(&self, other: &BigUint) -> BigUint
Calculates the Lowest Common Multiple (LCM) of the number and other
.
source§fn gcd_lcm(&self, other: &BigUint) -> (BigUint, BigUint)
fn gcd_lcm(&self, other: &BigUint) -> (BigUint, BigUint)
Calculates the Greatest Common Divisor (GCD) and Lowest Common Multiple (LCM) together.
source§fn divides(&self, other: &BigUint) -> bool
👎Deprecated: Please use is_multiple_of instead
fn divides(&self, other: &BigUint) -> bool
Deprecated, use is_multiple_of
instead.
source§fn is_multiple_of(&self, other: &BigUint) -> bool
fn is_multiple_of(&self, other: &BigUint) -> bool
Returns true
if the number is a multiple of other
.
source§fn next_multiple_of(&self, other: &BigUint) -> BigUint
fn next_multiple_of(&self, other: &BigUint) -> BigUint
Rounds up to nearest multiple of argument.
source§fn prev_multiple_of(&self, other: &BigUint) -> BigUint
fn prev_multiple_of(&self, other: &BigUint) -> BigUint
Rounds down to nearest multiple of argument.
source§fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)
fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)
(quotient, remainder)
. Read moresource§fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)
fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)
(quotient, remainder)
. Read moresource§fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
source§impl MulAssign<&BigUint> for BigUint
impl MulAssign<&BigUint> for BigUint
source§fn mul_assign(&mut self, other: &BigUint)
fn mul_assign(&mut self, other: &BigUint)
*=
operation. Read moresource§impl MulAssign<u128> for BigUint
impl MulAssign<u128> for BigUint
source§fn mul_assign(&mut self, other: u128)
fn mul_assign(&mut self, other: u128)
*=
operation. Read moresource§impl MulAssign<u16> for BigUint
impl MulAssign<u16> for BigUint
source§fn mul_assign(&mut self, other: u16)
fn mul_assign(&mut self, other: u16)
*=
operation. Read moresource§impl MulAssign<u32> for BigUint
impl MulAssign<u32> for BigUint
source§fn mul_assign(&mut self, other: u32)
fn mul_assign(&mut self, other: u32)
*=
operation. Read moresource§impl MulAssign<u64> for BigUint
impl MulAssign<u64> for BigUint
source§fn mul_assign(&mut self, other: u64)
fn mul_assign(&mut self, other: u64)
*=
operation. Read moresource§impl MulAssign<u8> for BigUint
impl MulAssign<u8> for BigUint
source§fn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
*=
operation. Read moresource§impl MulAssign<usize> for BigUint
impl MulAssign<usize> for BigUint
source§fn mul_assign(&mut self, other: usize)
fn mul_assign(&mut self, other: usize)
*=
operation. Read moresource§impl MulAssign for BigUint
impl MulAssign for BigUint
source§fn mul_assign(&mut self, other: BigUint)
fn mul_assign(&mut self, other: BigUint)
*=
operation. Read moresource§impl Num for BigUint
impl Num for BigUint
source§fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
Creates and initializes a BigUint
.
type FromStrRadixErr = ParseBigIntError
source§impl Ord for BigUint
impl Ord for BigUint
source§impl PartialEq for BigUint
impl PartialEq for BigUint
source§impl PartialOrd for BigUint
impl PartialOrd for BigUint
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl RemAssign<&BigUint> for BigUint
impl RemAssign<&BigUint> for BigUint
source§fn rem_assign(&mut self, other: &BigUint)
fn rem_assign(&mut self, other: &BigUint)
%=
operation. Read moresource§impl RemAssign<u128> for BigUint
impl RemAssign<u128> for BigUint
source§fn rem_assign(&mut self, other: u128)
fn rem_assign(&mut self, other: u128)
%=
operation. Read moresource§impl RemAssign<u16> for BigUint
impl RemAssign<u16> for BigUint
source§fn rem_assign(&mut self, other: u16)
fn rem_assign(&mut self, other: u16)
%=
operation. Read moresource§impl RemAssign<u32> for BigUint
impl RemAssign<u32> for BigUint
source§fn rem_assign(&mut self, other: u32)
fn rem_assign(&mut self, other: u32)
%=
operation. Read moresource§impl RemAssign<u64> for BigUint
impl RemAssign<u64> for BigUint
source§fn rem_assign(&mut self, other: u64)
fn rem_assign(&mut self, other: u64)
%=
operation. Read moresource§impl RemAssign<u8> for BigUint
impl RemAssign<u8> for BigUint
source§fn rem_assign(&mut self, other: u8)
fn rem_assign(&mut self, other: u8)
%=
operation. Read moresource§impl RemAssign<usize> for BigUint
impl RemAssign<usize> for BigUint
source§fn rem_assign(&mut self, other: usize)
fn rem_assign(&mut self, other: usize)
%=
operation. Read moresource§impl RemAssign for BigUint
impl RemAssign for BigUint
source§fn rem_assign(&mut self, other: BigUint)
fn rem_assign(&mut self, other: BigUint)
%=
operation. Read moresource§impl Roots for BigUint
impl Roots for BigUint
source§impl SampleUniform for BigUint
impl SampleUniform for BigUint
§type Sampler = UniformBigUint
type Sampler = UniformBigUint
UniformSampler
implementation supporting type X
.source§impl Serialize for BigUint
impl Serialize for BigUint
source§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,
source§impl ShlAssign<&i128> for BigUint
impl ShlAssign<&i128> for BigUint
source§fn shl_assign(&mut self, rhs: &i128)
fn shl_assign(&mut self, rhs: &i128)
<<=
operation. Read moresource§impl ShlAssign<&i16> for BigUint
impl ShlAssign<&i16> for BigUint
source§fn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
<<=
operation. Read moresource§impl ShlAssign<&i32> for BigUint
impl ShlAssign<&i32> for BigUint
source§fn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
<<=
operation. Read moresource§impl ShlAssign<&i64> for BigUint
impl ShlAssign<&i64> for BigUint
source§fn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
<<=
operation. Read moresource§impl ShlAssign<&i8> for BigUint
impl ShlAssign<&i8> for BigUint
source§fn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
<<=
operation. Read moresource§impl ShlAssign<&isize> for BigUint
impl ShlAssign<&isize> for BigUint
source§fn shl_assign(&mut self, rhs: &isize)
fn shl_assign(&mut self, rhs: &isize)
<<=
operation. Read moresource§impl ShlAssign<&u128> for BigUint
impl ShlAssign<&u128> for BigUint
source§fn shl_assign(&mut self, rhs: &u128)
fn shl_assign(&mut self, rhs: &u128)
<<=
operation. Read moresource§impl ShlAssign<&u16> for BigUint
impl ShlAssign<&u16> for BigUint
source§fn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
<<=
operation. Read moresource§impl ShlAssign<&u32> for BigUint
impl ShlAssign<&u32> for BigUint
source§fn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
<<=
operation. Read moresource§impl ShlAssign<&u64> for BigUint
impl ShlAssign<&u64> for BigUint
source§fn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
<<=
operation. Read moresource§impl ShlAssign<&u8> for BigUint
impl ShlAssign<&u8> for BigUint
source§fn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
<<=
operation. Read moresource§impl ShlAssign<&usize> for BigUint
impl ShlAssign<&usize> for BigUint
source§fn shl_assign(&mut self, rhs: &usize)
fn shl_assign(&mut self, rhs: &usize)
<<=
operation. Read moresource§impl ShlAssign<i128> for BigUint
impl ShlAssign<i128> for BigUint
source§fn shl_assign(&mut self, rhs: i128)
fn shl_assign(&mut self, rhs: i128)
<<=
operation. Read moresource§impl ShlAssign<i16> for BigUint
impl ShlAssign<i16> for BigUint
source§fn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
<<=
operation. Read moresource§impl ShlAssign<i32> for BigUint
impl ShlAssign<i32> for BigUint
source§fn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
<<=
operation. Read moresource§impl ShlAssign<i64> for BigUint
impl ShlAssign<i64> for BigUint
source§fn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
<<=
operation. Read moresource§impl ShlAssign<i8> for BigUint
impl ShlAssign<i8> for BigUint
source§fn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
<<=
operation. Read moresource§impl ShlAssign<isize> for BigUint
impl ShlAssign<isize> for BigUint
source§fn shl_assign(&mut self, rhs: isize)
fn shl_assign(&mut self, rhs: isize)
<<=
operation. Read moresource§impl ShlAssign<u128> for BigUint
impl ShlAssign<u128> for BigUint
source§fn shl_assign(&mut self, rhs: u128)
fn shl_assign(&mut self, rhs: u128)
<<=
operation. Read moresource§impl ShlAssign<u16> for BigUint
impl ShlAssign<u16> for BigUint
source§fn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
<<=
operation. Read moresource§impl ShlAssign<u32> for BigUint
impl ShlAssign<u32> for BigUint
source§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
<<=
operation. Read moresource§impl ShlAssign<u64> for BigUint
impl ShlAssign<u64> for BigUint
source§fn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
<<=
operation. Read moresource§impl ShlAssign<u8> for BigUint
impl ShlAssign<u8> for BigUint
source§fn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
<<=
operation. Read moresource§impl ShlAssign<usize> for BigUint
impl ShlAssign<usize> for BigUint
source§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<=
operation. Read moresource§impl ShrAssign<&i128> for BigUint
impl ShrAssign<&i128> for BigUint
source§fn shr_assign(&mut self, rhs: &i128)
fn shr_assign(&mut self, rhs: &i128)
>>=
operation. Read moresource§impl ShrAssign<&i16> for BigUint
impl ShrAssign<&i16> for BigUint
source§fn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
>>=
operation. Read moresource§impl ShrAssign<&i32> for BigUint
impl ShrAssign<&i32> for BigUint
source§fn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
>>=
operation. Read moresource§impl ShrAssign<&i64> for BigUint
impl ShrAssign<&i64> for BigUint
source§fn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
>>=
operation. Read moresource§impl ShrAssign<&i8> for BigUint
impl ShrAssign<&i8> for BigUint
source§fn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
>>=
operation. Read moresource§impl ShrAssign<&isize> for BigUint
impl ShrAssign<&isize> for BigUint
source§fn shr_assign(&mut self, rhs: &isize)
fn shr_assign(&mut self, rhs: &isize)
>>=
operation. Read moresource§impl ShrAssign<&u128> for BigUint
impl ShrAssign<&u128> for BigUint
source§fn shr_assign(&mut self, rhs: &u128)
fn shr_assign(&mut self, rhs: &u128)
>>=
operation. Read moresource§impl ShrAssign<&u16> for BigUint
impl ShrAssign<&u16> for BigUint
source§fn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
>>=
operation. Read moresource§impl ShrAssign<&u32> for BigUint
impl ShrAssign<&u32> for BigUint
source§fn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
>>=
operation. Read moresource§impl ShrAssign<&u64> for BigUint
impl ShrAssign<&u64> for BigUint
source§fn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
>>=
operation. Read moresource§impl ShrAssign<&u8> for BigUint
impl ShrAssign<&u8> for BigUint
source§fn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
>>=
operation. Read moresource§impl ShrAssign<&usize> for BigUint
impl ShrAssign<&usize> for BigUint
source§fn shr_assign(&mut self, rhs: &usize)
fn shr_assign(&mut self, rhs: &usize)
>>=
operation. Read moresource§impl ShrAssign<i128> for BigUint
impl ShrAssign<i128> for BigUint
source§fn shr_assign(&mut self, rhs: i128)
fn shr_assign(&mut self, rhs: i128)
>>=
operation. Read moresource§impl ShrAssign<i16> for BigUint
impl ShrAssign<i16> for BigUint
source§fn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
>>=
operation. Read moresource§impl ShrAssign<i32> for BigUint
impl ShrAssign<i32> for BigUint
source§fn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
>>=
operation. Read moresource§impl ShrAssign<i64> for BigUint
impl ShrAssign<i64> for BigUint
source§fn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
>>=
operation. Read moresource§impl ShrAssign<i8> for BigUint
impl ShrAssign<i8> for BigUint
source§fn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
>>=
operation. Read moresource§impl ShrAssign<isize> for BigUint
impl ShrAssign<isize> for BigUint
source§fn shr_assign(&mut self, rhs: isize)
fn shr_assign(&mut self, rhs: isize)
>>=
operation. Read moresource§impl ShrAssign<u128> for BigUint
impl ShrAssign<u128> for BigUint
source§fn shr_assign(&mut self, rhs: u128)
fn shr_assign(&mut self, rhs: u128)
>>=
operation. Read moresource§impl ShrAssign<u16> for BigUint
impl ShrAssign<u16> for BigUint
source§fn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
>>=
operation. Read moresource§impl ShrAssign<u32> for BigUint
impl ShrAssign<u32> for BigUint
source§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
>>=
operation. Read moresource§impl ShrAssign<u64> for BigUint
impl ShrAssign<u64> for BigUint
source§fn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
>>=
operation. Read moresource§impl ShrAssign<u8> for BigUint
impl ShrAssign<u8> for BigUint
source§fn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
>>=
operation. Read moresource§impl ShrAssign<usize> for BigUint
impl ShrAssign<usize> for BigUint
source§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>=
operation. Read moresource§impl SubAssign<&BigUint> for BigUint
impl SubAssign<&BigUint> for BigUint
source§fn sub_assign(&mut self, other: &BigUint)
fn sub_assign(&mut self, other: &BigUint)
-=
operation. Read moresource§impl SubAssign<u128> for BigUint
impl SubAssign<u128> for BigUint
source§fn sub_assign(&mut self, other: u128)
fn sub_assign(&mut self, other: u128)
-=
operation. Read moresource§impl SubAssign<u16> for BigUint
impl SubAssign<u16> for BigUint
source§fn sub_assign(&mut self, other: u16)
fn sub_assign(&mut self, other: u16)
-=
operation. Read moresource§impl SubAssign<u32> for BigUint
impl SubAssign<u32> for BigUint
source§fn sub_assign(&mut self, other: u32)
fn sub_assign(&mut self, other: u32)
-=
operation. Read moresource§impl SubAssign<u64> for BigUint
impl SubAssign<u64> for BigUint
source§fn sub_assign(&mut self, other: u64)
fn sub_assign(&mut self, other: u64)
-=
operation. Read moresource§impl SubAssign<u8> for BigUint
impl SubAssign<u8> for BigUint
source§fn sub_assign(&mut self, other: u8)
fn sub_assign(&mut self, other: u8)
-=
operation. Read moresource§impl SubAssign<usize> for BigUint
impl SubAssign<usize> for BigUint
source§fn sub_assign(&mut self, other: usize)
fn sub_assign(&mut self, other: usize)
-=
operation. Read moresource§impl SubAssign for BigUint
impl SubAssign for BigUint
source§fn sub_assign(&mut self, other: BigUint)
fn sub_assign(&mut self, other: BigUint)
-=
operation. Read moresource§impl ToBytes for BigUint
impl ToBytes for BigUint
type Bytes = Vec<u8>
source§fn to_be_bytes(&self) -> <BigUint as ToBytes>::Bytes
fn to_be_bytes(&self) -> <BigUint as ToBytes>::Bytes
source§fn to_le_bytes(&self) -> <BigUint as ToBytes>::Bytes
fn to_le_bytes(&self) -> <BigUint as ToBytes>::Bytes
source§fn to_ne_bytes(&self) -> Self::Bytes
fn to_ne_bytes(&self) -> Self::Bytes
source§impl ToPrimitive for BigUint
impl ToPrimitive for BigUint
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_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_f32(&self) -> Option<f32>
fn to_f32(&self) -> Option<f32>
self
to an f32
. Overflows may map to positive
or negative inifinity, otherwise None
is returned if the value cannot
be represented by an f32
.source§fn to_f64(&self) -> Option<f64>
fn to_f64(&self) -> Option<f64>
self
to an f64
. Overflows may map to positive
or negative inifinity, otherwise None
is returned if the value cannot
be represented by an f64
. Read 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_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_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.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.impl Eq for BigUint
impl Unsigned for BigUint
Auto Trait Implementations§
impl Freeze for BigUint
impl RefUnwindSafe for BigUint
impl Send for BigUint
impl Sync for BigUint
impl Unpin for BigUint
impl UnwindSafe for BigUint
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<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