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 Hash for BigUint
impl Debug for BigUint
impl Clone for BigUint
impl Decodable for BigUint
impl Encodable for BigUint
impl PartialEq<BigUint> for BigUint
impl Eq for BigUint
impl PartialOrd<BigUint> for BigUint
fn partial_cmp(&self, other: &BigUint) -> Option<Ordering>
impl Ord for BigUint
impl Default for BigUint
impl Display for BigUint
impl LowerHex for BigUint
impl UpperHex for BigUint
impl Binary for BigUint
impl Octal for BigUint
impl FromStr for BigUint
type Err = ParseBigIntError
fn from_str(s: &str) -> Result<BigUint, ParseBigIntError>
impl Num for BigUint
type FromStrRadixErr = ParseBigIntError
fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>
Creates and initializes a BigUint
.
impl BitAnd<BigUint> for BigUint
impl<'a> BitAnd<BigUint> for &'a BigUint
impl<'a, 'b> BitAnd<&'b BigUint> for &'a BigUint
impl<'a> BitAnd<&'a BigUint> for BigUint
impl BitOr<BigUint> for BigUint
impl<'a> BitOr<BigUint> for &'a BigUint
impl<'a, 'b> BitOr<&'b BigUint> for &'a BigUint
impl<'a> BitOr<&'a BigUint> for BigUint
impl BitXor<BigUint> for BigUint
impl<'a> BitXor<BigUint> for &'a BigUint
impl<'a, 'b> BitXor<&'b BigUint> for &'a BigUint
impl<'a> BitXor<&'a BigUint> for BigUint
impl Shl<usize> for BigUint
impl<'a> Shl<usize> for &'a BigUint
impl Shr<usize> for BigUint
impl<'a> Shr<usize> for &'a BigUint
impl Zero for BigUint
fn zero() -> BigUint
Returns the additive identity element of Self
, 0
. Read more
fn is_zero(&self) -> bool
Returns true
if self
is equal to the additive identity.
impl One for BigUint
impl Unsigned for BigUint
impl Add<BigUint> for BigUint
impl<'a> Add<BigUint> for &'a BigUint
impl<'a, 'b> Add<&'b BigUint> for &'a BigUint
impl<'a> Add<&'a BigUint> for BigUint
impl Sub<BigUint> for BigUint
impl<'a, 'b> Sub<&'b BigUint> for &'a BigUint
impl<'a> Sub<&'a BigUint> for BigUint
impl<'a> Sub<BigUint> for &'a BigUint
impl Mul<BigUint> for BigUint
impl<'a> Mul<&'a BigUint> for BigUint
impl<'a> Mul<BigUint> for &'a BigUint
impl<'a, 'b> Mul<&'b BigUint> for &'a BigUint
impl Div<BigUint> for BigUint
impl<'a> Div<&'a BigUint> for BigUint
impl<'a> Div<BigUint> for &'a BigUint
impl<'a, 'b> Div<&'b BigUint> for &'a BigUint
impl Rem<BigUint> for BigUint
impl<'a> Rem<&'a BigUint> for BigUint
impl<'a> Rem<BigUint> for &'a BigUint
impl<'a, 'b> Rem<&'b BigUint> for &'a BigUint
impl Neg for BigUint
impl<'a> Neg for &'a BigUint
impl CheckedAdd for BigUint
fn checked_add(&self, v: &BigUint) -> Option<BigUint>
Adds two numbers, checking for overflow. If overflow happens, None
is returned. Read more
impl CheckedSub for BigUint
fn checked_sub(&self, v: &BigUint) -> Option<BigUint>
Subtracts two numbers, checking for underflow. If underflow happens, None
is returned. Read more
impl CheckedMul for BigUint
fn checked_mul(&self, v: &BigUint) -> Option<BigUint>
Multiplies two numbers, checking for underflow or overflow. If underflow or overflow happens, None
is returned. Read more
impl CheckedDiv for BigUint
fn checked_div(&self, v: &BigUint) -> Option<BigUint>
Divides two numbers, checking for underflow, overflow and division by zero. If any of that happens, None
is returned. Read more
impl Integer for BigUint
fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)
Simultaneous truncated integer division and modulus. Returns (quotient, remainder)
. Read more
fn div_floor(&self, other: &BigUint) -> BigUint
Floored integer division. Read more
fn mod_floor(&self, other: &BigUint) -> BigUint
Floored integer modulo, satisfying: Read more
fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)
Simultaneous floored integer division and modulus. Returns (quotient, remainder)
. Read more
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 ToPrimitive for BigUint
fn to_i64(&self) -> Option<i64>
Converts the value of self
to an i64
.
fn to_u64(&self) -> Option<u64>
Converts the value of self
to an u64
.
fn to_f32(&self) -> Option<f32>
Converts the value of self
to an f32
.
fn to_f64(&self) -> Option<f64>
Converts the value of self
to an f64
.
fn to_isize(&self) -> Option<isize>
Converts the value of self
to an isize
.
fn to_i8(&self) -> Option<i8>
Converts the value of self
to an i8
.
fn to_i16(&self) -> Option<i16>
Converts the value of self
to an i16
.
fn to_i32(&self) -> Option<i32>
Converts the value of self
to an i32
.
fn to_usize(&self) -> Option<usize>
Converts the value of self
to a usize
.
fn to_u8(&self) -> Option<u8>
Converts the value of self
to an u8
.
fn to_u16(&self) -> Option<u16>
Converts the value of self
to an u16
.
fn to_u32(&self) -> Option<u32>
Converts the value of self
to an u32
.
impl FromPrimitive for BigUint
fn from_i64(n: i64) -> Option<BigUint>
Convert an i64
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u64(n: u64) -> Option<BigUint>
Convert an u64
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_f64(n: f64) -> Option<BigUint>
Convert a f64
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_isize(n: isize) -> Option<Self>
Convert an isize
to return an optional value of this type. If the value cannot be represented by this value, the None
is returned. Read more
fn from_i8(n: i8) -> Option<Self>
Convert an i8
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_i16(n: i16) -> Option<Self>
Convert an i16
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_i32(n: i32) -> Option<Self>
Convert an i32
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_usize(n: usize) -> Option<Self>
Convert a usize
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u8(n: u8) -> Option<Self>
Convert an u8
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u16(n: u16) -> Option<Self>
Convert an u16
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_u32(n: u32) -> Option<Self>
Convert an u32
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more
fn from_f32(n: f32) -> Option<Self>
Convert a f32
to return an optional value of this type. If the type cannot be represented by this value, the None
is returned. Read more