Struct num::BigUint []

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

fn hash<__H>(&self, __arg_0: &mut __H) where __H: Hasher

impl Debug for BigUint

fn fmt(&self, __arg_0: &mut Formatter) -> Result<()Error>

impl Clone for BigUint

fn clone(&self) -> BigUint

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more

impl Decodable for BigUint

fn decode<__D>(__arg_0: &mut __D) -> Result<BigUint, __D::Error> where __D: Decoder

impl Encodable for BigUint

fn encode<__S>(&self, __arg_0: &mut __S) -> Result<(), __S::Error> where __S: Encoder

impl PartialEq<BigUint> for BigUint

fn eq(&self, other: &BigUint) -> bool

impl Eq for BigUint

impl PartialOrd<BigUint> for BigUint

fn partial_cmp(&self, other: &BigUint) -> Option<Ordering>

impl Ord for BigUint

fn cmp(&self, other: &BigUint) -> Ordering

impl Default for BigUint

fn default() -> BigUint

impl Display for BigUint

fn fmt(&self, f: &mut Formatter) -> Result<()Error>

impl LowerHex for BigUint

fn fmt(&self, f: &mut Formatter) -> Result<()Error>

impl UpperHex for BigUint

fn fmt(&self, f: &mut Formatter) -> Result<()Error>

impl Binary for BigUint

fn fmt(&self, f: &mut Formatter) -> Result<()Error>

impl Octal for BigUint

fn fmt(&self, f: &mut Formatter) -> Result<()Error>

impl FromStr for BigUint

impl Num for BigUint

type FromStrRadixErr = ParseBigIntError

fn from_str_radix(s: &str, radix: u32) -> Result<BigUintParseBigIntError>

Creates and initializes a BigUint.

impl BitAnd<BigUint> for BigUint

type Output = BigUint

fn bitand(self, other: BigUint) -> BigUint

impl<'a> BitAnd<BigUint> for &'a BigUint

type Output = BigUint

fn bitand(self, other: BigUint) -> BigUint

impl<'a, 'b> BitAnd<&'b BigUint> for &'a BigUint

type Output = BigUint

fn bitand(self, other: &BigUint) -> BigUint

impl<'a> BitAnd<&'a BigUint> for BigUint

type Output = BigUint

fn bitand(self, other: &BigUint) -> BigUint

impl BitOr<BigUint> for BigUint

type Output = BigUint

fn bitor(self, other: BigUint) -> BigUint

impl<'a> BitOr<BigUint> for &'a BigUint

type Output = BigUint

fn bitor(self, other: BigUint) -> BigUint

impl<'a, 'b> BitOr<&'b BigUint> for &'a BigUint

type Output = BigUint

fn bitor(self, other: &BigUint) -> BigUint

impl<'a> BitOr<&'a BigUint> for BigUint

type Output = BigUint

fn bitor(self, other: &BigUint) -> BigUint

impl BitXor<BigUint> for BigUint

type Output = BigUint

fn bitxor(self, other: BigUint) -> BigUint

impl<'a> BitXor<BigUint> for &'a BigUint

type Output = BigUint

fn bitxor(self, other: BigUint) -> BigUint

impl<'a, 'b> BitXor<&'b BigUint> for &'a BigUint

type Output = BigUint

fn bitxor(self, other: &BigUint) -> BigUint

impl<'a> BitXor<&'a BigUint> for BigUint

type Output = BigUint

fn bitxor(self, other: &BigUint) -> BigUint

impl Shl<usize> for BigUint

type Output = BigUint

fn shl(self, rhs: usize) -> BigUint

impl<'a> Shl<usize> for &'a BigUint

type Output = BigUint

fn shl(self, rhs: usize) -> BigUint

impl Shr<usize> for BigUint

type Output = BigUint

fn shr(self, rhs: usize) -> BigUint

impl<'a> Shr<usize> for &'a BigUint

type Output = BigUint

fn shr(self, rhs: usize) -> 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

fn one() -> BigUint

Returns the multiplicative identity element of Self, 1. Read more

impl Unsigned for BigUint

impl Add<BigUint> for BigUint

type Output = BigUint

fn add(self, other: BigUint) -> BigUint

impl<'a> Add<BigUint> for &'a BigUint

type Output = BigUint

fn add(self, other: BigUint) -> BigUint

impl<'a, 'b> Add<&'b BigUint> for &'a BigUint

type Output = BigUint

fn add(self, other: &BigUint) -> BigUint

impl<'a> Add<&'a BigUint> for BigUint

type Output = BigUint

fn add(self, other: &BigUint) -> BigUint

impl Sub<BigUint> for BigUint

type Output = BigUint

fn sub(self, other: BigUint) -> BigUint

impl<'a, 'b> Sub<&'b BigUint> for &'a BigUint

type Output = BigUint

fn sub(self, other: &BigUint) -> BigUint

impl<'a> Sub<&'a BigUint> for BigUint

type Output = BigUint

fn sub(self, other: &BigUint) -> BigUint

impl<'a> Sub<BigUint> for &'a BigUint

type Output = BigUint

fn sub(self, other: BigUint) -> BigUint

impl Mul<BigUint> for BigUint

type Output = BigUint

The resulting type after applying the * operator

fn mul(self, other: BigUint) -> BigUint

The method for the * operator

impl<'a> Mul<&'a BigUint> for BigUint

type Output = BigUint

The resulting type after applying the * operator

fn mul(self, other: &BigUint) -> BigUint

The method for the * operator

impl<'a> Mul<BigUint> for &'a BigUint

type Output = BigUint

The resulting type after applying the * operator

fn mul(self, other: BigUint) -> BigUint

The method for the * operator

impl<'a, 'b> Mul<&'b BigUint> for &'a BigUint

type Output = BigUint

The resulting type after applying the * operator

fn mul(self, other: &BigUint) -> BigUint

The method for the * operator

impl Div<BigUint> for BigUint

type Output = BigUint

fn div(self, other: BigUint) -> BigUint

impl<'a> Div<&'a BigUint> for BigUint

type Output = BigUint

fn div(self, other: &BigUint) -> BigUint

impl<'a> Div<BigUint> for &'a BigUint

type Output = BigUint

fn div(self, other: BigUint) -> BigUint

impl<'a, 'b> Div<&'b BigUint> for &'a BigUint

type Output = BigUint

fn div(self, other: &BigUint) -> BigUint

impl Rem<BigUint> for BigUint

type Output = BigUint

fn rem(self, other: BigUint) -> BigUint

impl<'a> Rem<&'a BigUint> for BigUint

type Output = BigUint

fn rem(self, other: &BigUint) -> BigUint

impl<'a> Rem<BigUint> for &'a BigUint

type Output = BigUint

fn rem(self, other: BigUint) -> BigUint

impl<'a, 'b> Rem<&'b BigUint> for &'a BigUint

type Output = BigUint

fn rem(self, other: &BigUint) -> BigUint

impl Neg for BigUint

type Output = BigUint

fn neg(self) -> BigUint

impl<'a> Neg for &'a BigUint

type Output = BigUint

fn neg(self) -> 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

impl From<u64> for BigUint

fn from(n: u64) -> BigUint

impl From<u8> for BigUint

fn from(n: u8) -> BigUint

impl From<u16> for BigUint

fn from(n: u16) -> BigUint

impl From<u32> for BigUint

fn from(n: u32) -> BigUint

impl From<usize> for BigUint

fn from(n: usize) -> BigUint

impl ToBigUint for BigUint

fn to_biguint(&self) -> Option<BigUint>

Converts the value of self to a BigUint.

impl ToBigInt for BigUint

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a BigInt.