pub struct BigUint { /* fields omitted */ }
Expand description
A big unsigned integer type.
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.
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.
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
.
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
.
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.
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.
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.
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.
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.
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.
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
.
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
.
use num_bigint::BigUint;
assert_eq!(BigUint::from(0xFFFFu64).to_radix_be(159),
vec![2, 94, 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
.
use num_bigint::BigUint;
assert_eq!(BigUint::from(0xFFFFu64).to_radix_le(159),
vec![27, 94, 2]);
Determines the fewest bits necessary to express the BigUint
.
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 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.
Returns whether the bit in the given position is set
Sets or clears the bit in the given position
Note that setting a bit greater than the current bit length, a reallocation may be needed
to store the new digits
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
The resulting type after applying the +
operator.
Return an iterator of values that are smaller than itself. Read more
Generate an arbitrary value of Self
from the given unstructured data. Read more
Generate an arbitrary value of Self
from the entirety of the given unstructured data. Read more
Get a size hint for how many bytes out of an Unstructured
this type
needs to construct itself. Read more
Formats the value using the given formatter.
The resulting type after applying the &
operator.
The resulting type after applying the &
operator.
The resulting type after applying the &
operator.
The resulting type after applying the &
operator.
The resulting type after applying the |
operator.
The resulting type after applying the |
operator.
The resulting type after applying the |
operator.
The resulting type after applying the |
operator.
The resulting type after applying the ^
operator.
The resulting type after applying the ^
operator.
The resulting type after applying the ^
operator.
The resulting type after applying the ^
operator.
Adds two numbers, checking for overflow. If overflow happens, None
is
returned. Read more
Divides two numbers, checking for underflow, overflow and division by
zero. If any of that happens, None
is returned. Read more
Multiplies two numbers, checking for underflow or overflow. If underflow
or overflow happens, None
is returned. Read more
Subtracts two numbers, checking for underflow. If underflow happens,
None
is returned. Read more
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. 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
Create a distribution of values of ‘S’ by mapping the output of Self
through the closure F
Read more
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
The resulting type after applying the /
operator.
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
Converts a f32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
The associated error which can be returned from parsing.
Parses a string s
to return a value of this type. Read more
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.
Deprecated, use is_multiple_of
instead.
Returns true
if the number is a multiple of other
.
Returns true
if the number is divisible by 2
.
Returns true
if the number is not divisible by 2
.
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
Floored integer modulo, satisfying: Read more
Simultaneous floored integer division and modulus.
Returns (quotient, remainder)
. Read more
Greatest common divisor and Bézout coefficients. Read more
Greatest common divisor, least common multiple, and Bézout coefficients.
Formats the value using the given formatter.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
The resulting type after applying the *
operator.
Creates and initializes a BigUint
.
Formats the value using the given formatter.
Returns the multiplicative identity element of Self
, 1
. Read more
Sets self
to the multiplicative identity element of Self
, 1
.
Returns true
if self
is equal to the multiplicative identity. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
The result after applying the operator.
Method which takes an iterator and generates Self
from the elements by
multiplying the items. Read more
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
The resulting type after applying the %
operator.
Returns the truncated principal n
th root of an integer
– if x >= 0 { ⌊ⁿ√x⌋ } else { ⌈ⁿ√x⌉ }
Read more
Returns the truncated principal square root of an integer – ⌊√x⌋
Read more
Returns the truncated principal cube root of an integer –
if x >= 0 { ⌊∛x⌋ } else { ⌈∛x⌉ }
Read more
The UniformSampler
implementation supporting type X
.
Serialize this value into the given Serde serializer. Read more
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the <<
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.
The resulting type after applying the >>
operator.