Struct num::BigUint
[−]
[src]
pub struct BigUint { // some fields omitted }
A big unsigned integer type.
A BigUint
-typed value BigUint { data: vec!(a, b, c) }
represents a number
(a + b * big_digit::BASE + c * big_digit::BASE^2)
.
Methods
impl BigUint
fn new(digits: Vec<u32>) -> BigUint
Creates and initializes a BigUint
.
The digits are in little-endian base 232.
fn from_slice(slice: &[u32]) -> BigUint
Creates and initializes a BigUint
.
The digits are in little-endian base 232.
fn from_bytes_be(bytes: &[u8]) -> BigUint
Creates and initializes a BigUint
.
The bytes are in big-endian byte order.
Examples
extern crate num; fn main() { 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()); }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());
fn from_bytes_le(bytes: &[u8]) -> BigUint
Creates and initializes a BigUint
.
The bytes are in little-endian byte order.
fn to_bytes_le(&self) -> Vec<u8>
Returns the byte representation of the BigUint
in little-endian byte order.
Examples
extern crate num; fn main() { use num_bigint::BigUint; let i = BigUint::parse_bytes(b"1125", 10).unwrap(); assert_eq!(i.to_bytes_le(), vec![101, 4]); }use num_bigint::BigUint; let i = BigUint::parse_bytes(b"1125", 10).unwrap(); assert_eq!(i.to_bytes_le(), vec![101, 4]);
fn to_bytes_be(&self) -> Vec<u8>
Returns the byte representation of the BigUint
in big-endian byte order.
Examples
extern crate num; fn main() { use num_bigint::BigUint; let i = BigUint::parse_bytes(b"1125", 10).unwrap(); assert_eq!(i.to_bytes_be(), vec![4, 101]); }use num_bigint::BigUint; let i = BigUint::parse_bytes(b"1125", 10).unwrap(); assert_eq!(i.to_bytes_be(), vec![4, 101]);
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
extern crate num; fn main() { use num_bigint::BigUint; let i = BigUint::parse_bytes(b"ff", 16).unwrap(); assert_eq!(i.to_str_radix(16), "ff"); }use num_bigint::BigUint; let i = BigUint::parse_bytes(b"ff", 16).unwrap(); assert_eq!(i.to_str_radix(16), "ff");
fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigUint>
Creates and initializes a BigUint
.
Examples
extern crate num; fn main() { 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); }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);
fn bits(&self) -> usize
Determines the fewest bits necessary to express the BigUint
.
Trait Implementations
impl ToBigInt for BigUint
impl ToBigUint for BigUint
fn to_biguint(&self) -> Option<BigUint>
impl From<usize> for BigUint
impl From<u32> for BigUint
impl From<u16> for BigUint
impl From<u8> for BigUint
impl From<u64> for BigUint
impl FromPrimitive for BigUint
fn from_i64(n: i64) -> Option<BigUint>
fn from_u64(n: u64) -> Option<BigUint>
fn from_f64(n: f64) -> Option<BigUint>
fn from_isize(n: isize) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
fn from_f32(n: f32) -> Option<Self>
impl ToPrimitive for BigUint
fn to_i64(&self) -> Option<i64>
fn to_u64(&self) -> Option<u64>
fn to_f32(&self) -> Option<f32>
fn to_f64(&self) -> Option<f64>
fn to_isize(&self) -> Option<isize>
fn to_i8(&self) -> Option<i8>
fn to_i16(&self) -> Option<i16>
fn to_i32(&self) -> Option<i32>
fn to_usize(&self) -> Option<usize>
fn to_u8(&self) -> Option<u8>
fn to_u16(&self) -> Option<u16>
fn to_u32(&self) -> Option<u32>
impl Integer for BigUint
fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)
fn div_floor(&self, other: &BigUint) -> BigUint
fn mod_floor(&self, other: &BigUint) -> BigUint
fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)
fn gcd(&self, other: &BigUint) -> BigUint
Calculates the Greatest Common Divisor (GCD) of the number and other
.
The result is always positive.
fn lcm(&self, other: &BigUint) -> BigUint
Calculates the Lowest Common Multiple (LCM) of the number and other
.
fn divides(&self, other: &BigUint) -> bool
Deprecated, use is_multiple_of
instead.
fn is_multiple_of(&self, other: &BigUint) -> bool
Returns true
if the number is a multiple of other
.
fn is_even(&self) -> bool
Returns true
if the number is divisible by 2
.
fn is_odd(&self) -> bool
Returns true
if the number is not divisible by 2
.
impl CheckedDiv for BigUint
fn checked_div(&self, v: &BigUint) -> Option<BigUint>
impl CheckedMul for BigUint
fn checked_mul(&self, v: &BigUint) -> Option<BigUint>
impl CheckedSub for BigUint
fn checked_sub(&self, v: &BigUint) -> Option<BigUint>
impl CheckedAdd for BigUint
fn checked_add(&self, v: &BigUint) -> Option<BigUint>
impl Neg for BigUint
impl<'a> Rem<&'a BigUint> for BigUint
impl Rem<BigUint> for BigUint
impl<'a> Div<&'a BigUint> for BigUint
impl Div<BigUint> for BigUint
impl<'a> Mul<&'a BigUint> for BigUint
impl Mul<BigUint> for BigUint
impl<'a> Sub<&'a BigUint> for BigUint
impl Sub<BigUint> for BigUint
impl<'a> Add<&'a BigUint> for BigUint
impl Add<BigUint> for BigUint
impl Unsigned for BigUint
impl One for BigUint
impl Zero for BigUint
impl Shr<usize> for BigUint
impl Shl<usize> for BigUint
impl<'a> BitXor<&'a BigUint> for BigUint
impl BitXor<BigUint> for BigUint
impl<'a> BitOr<&'a BigUint> for BigUint
impl BitOr<BigUint> for BigUint
impl<'a> BitAnd<&'a BigUint> for BigUint
impl BitAnd<BigUint> for BigUint
impl Num for BigUint
type FromStrRadixErr = ParseBigIntError
fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
Creates and initializes a BigUint
.