pub type IntegerType = BigUint;
Aliased Type§
pub struct IntegerType { /* private fields */ }
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 digits are in little-endian base 232.
Sourcepub fn from_slice(slice: &[u32]) -> BigUint
pub fn from_slice(slice: &[u32]) -> BigUint
Creates and initializes a BigUint
.
The digits are in little-endian base 232.
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 digits are in little-endian base 232.
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> ⓘ
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]);
Sourcepub fn to_bytes_le(&self) -> Vec<u8> ⓘ
pub fn to_bytes_le(&self) -> Vec<u8> ⓘ
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]);
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)
Trait Implementations
Source§impl<'a> AddAssign<&'a BigUint> for BigUint
impl<'a> AddAssign<&'a BigUint> for BigUint
Source§fn add_assign(&mut self, other: &BigUint)
fn add_assign(&mut self, other: &BigUint)
+=
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<'a> BitAndAssign<&'a BigUint> for BigUint
impl<'a> BitAndAssign<&'a 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<'a> BitOrAssign<&'a BigUint> for BigUint
impl<'a> BitOrAssign<&'a 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<'a> BitXorAssign<&'a BigUint> for BigUint
impl<'a> BitXorAssign<&'a 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 CheckedMul for BigUint
impl CheckedMul for BigUint
Source§impl CheckedSub for BigUint
impl CheckedSub for BigUint
Source§impl<'a> DivAssign<&'a BigUint> for BigUint
impl<'a> DivAssign<&'a BigUint> for BigUint
Source§fn div_assign(&mut self, other: &'a BigUint)
fn div_assign(&mut self, other: &'a BigUint)
/=
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 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, then None
is returned.Source§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 value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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
type cannot be represented by this value, 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 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§impl<'a> MulAssign<&'a BigUint> for BigUint
impl<'a> MulAssign<&'a BigUint> for BigUint
Source§fn mul_assign(&mut self, other: &'a BigUint)
fn mul_assign(&mut self, other: &'a BigUint)
*=
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 PartialOrd for BigUint
impl PartialOrd for BigUint
Source§impl<'a> RemAssign<&'a BigUint> for BigUint
impl<'a> RemAssign<&'a BigUint> for BigUint
Source§fn rem_assign(&mut self, other: &BigUint)
fn rem_assign(&mut self, other: &BigUint)
%=
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 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<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<'a> SubAssign<&'a BigUint> for BigUint
impl<'a> SubAssign<&'a BigUint> for BigUint
Source§fn sub_assign(&mut self, other: &'a BigUint)
fn sub_assign(&mut self, other: &'a BigUint)
-=
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 ToBigUint for BigUint
impl ToBigUint for BigUint
Source§fn to_biguint(&self) -> Option<BigUint>
fn to_biguint(&self) -> Option<BigUint>
self
to a BigUint
.