Struct num_bigint::BigUint [−][src]
pub struct BigUint { /* fields omitted */ }
Expand description
A big unsigned integer type.
Implementations
Creates and initializes a BigUint
.
The base 232 digits are ordered least significant digit first.
Creates and initializes a BigUint
.
The base 232 digits are ordered least significant digit first.
Assign a value to a BigUint
.
The base 232 digits are ordered least significant digit first.
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());
Creates and initializes a BigUint
.
The bytes are in little-endian byte order.
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);
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);
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);
Returns the byte representation of the BigUint
in big-endian byte order.
Examples
use num_bigint::BigUint;
let i = BigUint::parse_bytes(b"1125", 10).unwrap();
assert_eq!(i.to_bytes_be(), vec![4, 101]);
Returns the byte representation of the BigUint
in little-endian byte order.
Examples
use num_bigint::BigUint;
let i = BigUint::parse_bytes(b"1125", 10).unwrap();
assert_eq!(i.to_bytes_le(), vec![101, 4]);
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]);
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]);
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]);
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]);
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");
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
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)
Returns (self ^ exponent) % modulus
.
Panics if the modulus is zero.
Returns the truncated principal square root of self
–
see Roots::sqrt
Returns the truncated principal cube root of self
–
see Roots::cbrt.
Returns the truncated principal n
th root of self
–
see Roots::nth_root.
Returns the number of least-significant bits that are zero,
or None
if the entire number is zero.
Returns the number of least-significant bits that are ones.
Returns the number of one bits.
Trait Implementations
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the +=
operation. Read more
Performs the &=
operation. Read more
Performs the &=
operation. Read more
Performs the |=
operation. Read more
Performs the |=
operation. Read more
Performs the ^=
operation. Read more
Performs the ^=
operation. Read more
Deserialize this value from the given Serde deserializer. Read more
Generate a random value of T
, using rng
as the source of randomness.
Create an iterator that generates random values of T
, using rng
as
the source of randomness. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Performs the /=
operation. Read more
Converts an i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts a f64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts a usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
Converts an u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
type Err = ParseBigIntError
type Err = ParseBigIntError
The associated error which can be returned from parsing.
Calculates the Greatest Common Divisor (GCD) of the number and other
.
The result is always positive.
Calculates the Lowest Common Multiple (LCM) of the number and other
.
Calculates the Greatest Common Divisor (GCD) and Lowest Common Multiple (LCM) together.
Returns true
if the number is a multiple of other
.
Rounds up to nearest multiple of argument.
Rounds down to nearest multiple of argument.
Simultaneous truncated integer division and modulus.
Returns (quotient, remainder)
. Read more
Simultaneous floored integer division and modulus.
Returns (quotient, remainder)
. Read more
Greatest common divisor and Bézout coefficients. Read more
fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self) where
Self: Clone + Signed,
fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self) where
Self: Clone + Signed,
Greatest common divisor, least common multiple, and Bézout coefficients.
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Performs the *=
operation. Read more
Creates and initializes a BigUint
.
type FromStrRadixErr = ParseBigIntError
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
Performs the %=
operation. Read more
type Sampler = UniformBigUint
type Sampler = UniformBigUint
The UniformSampler
implementation supporting type X
.
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the <<=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the >>=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Performs the -=
operation. Read more
Converts the value of self
to a BigUint
.
Converts the value of self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned. Read more
Converts the value of self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read more
Converts the value of self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned. Read more
Converts the value of self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read more
Converts the value of 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
. Read more
Converts the value of 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 more
Converts the value of self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned. Read more
Converts the value of self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned. Read more
Converts the value of self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned. Read more
Converts the value of self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned. Read more
Converts the value of self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned. Read more
Converts the value of self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned. Read more
Converts the value of self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned. Read more
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<BigUint>
type Error = TryFromBigIntError<BigUint>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
Auto Trait Implementations
impl RefUnwindSafe for BigUint
impl UnwindSafe for BigUint
Blanket Implementations
Returns the floor value of the average of self
and other
.
Returns the ceil value of the average of self
and other
.
Mutably borrows from an owned value. Read more
Immutably borrows from an owned value. See Borrow::borrow
Read more