Struct num::BigUint [] [src]

pub struct BigUint { /* 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
[src]

Creates and initializes a BigUint.

The digits are in little-endian base 2^32.

Creates and initializes a BigUint.

The digits are in little-endian base 2^32.

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());Run

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.

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);Run

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);Run

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);Run

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]);Run

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]);Run

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");Run

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 + 27Run

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)Run

Determines the fewest bits necessary to express the BigUint.

Trait Implementations

impl Eq for BigUint
[src]

impl Decodable for BigUint
[src]

impl Ord for BigUint
[src]

impl Octal for BigUint
[src]

impl FromStr for BigUint
[src]

impl Unsigned for BigUint
[src]

impl<'a> BitAnd<&'a BigUint> for BigUint
[src]

impl BitAnd<BigUint> for BigUint
[src]

impl<'a> BitAnd<BigUint> for &'a BigUint
[src]

impl<'a, 'b> BitAnd<&'b BigUint> for &'a BigUint
[src]

impl Default for BigUint
[src]

impl CheckedMul for BigUint
[src]

Multiplies two numbers, checking for underflow or overflow. If underflow or overflow happens, None is returned. Read more

impl Shr<usize> for BigUint
[src]

impl<'a> Shr<usize> for &'a BigUint
[src]

impl<'a, 'b> Mul<&'b BigUint> for &'a BigUint
[src]

impl Mul<u32> for BigUint
[src]

impl Mul<u64> for BigUint
[src]

impl Mul<BigUint> for BigUint
[src]

impl<'a> Mul<&'a BigUint> for BigUint
[src]

impl<'a> Mul<BigUint> for &'a BigUint
[src]

impl Mul<u8> for BigUint
[src]

impl Mul<u16> for BigUint
[src]

impl<'a> Mul<&'a u8> for BigUint
[src]

impl<'a> Mul<u8> for &'a BigUint
[src]

impl<'a, 'b> Mul<&'b u8> for &'a BigUint
[src]

impl<'a> Mul<&'a u16> for BigUint
[src]

impl<'a> Mul<u16> for &'a BigUint
[src]

impl<'a, 'b> Mul<&'b u16> for &'a BigUint
[src]

impl Mul<usize> for BigUint
[src]

impl<'a> Mul<&'a usize> for BigUint
[src]

impl<'a> Mul<usize> for &'a BigUint
[src]

impl<'a, 'b> Mul<&'b usize> for &'a BigUint
[src]

impl<'a> Mul<&'a u32> for BigUint
[src]

impl<'a> Mul<u32> for &'a BigUint
[src]

impl<'a, 'b> Mul<&'b u32> for &'a BigUint
[src]

impl<'a> Mul<&'a u64> for BigUint
[src]

impl<'a> Mul<u64> for &'a BigUint
[src]

impl<'a, 'b> Mul<&'b u64> for &'a BigUint
[src]

impl Display for BigUint
[src]

impl ToBigUint for BigUint
[src]

impl<'a> Sub<&'a BigUint> for BigUint
[src]

impl<'a> Sub<BigUint> for &'a BigUint
[src]

impl Sub<u32> for BigUint
[src]

impl Sub<u64> for BigUint
[src]

impl Sub<BigUint> for BigUint
[src]

impl<'a, 'b> Sub<&'b BigUint> for &'a BigUint
[src]

impl Sub<u8> for BigUint
[src]

impl Sub<u16> for BigUint
[src]

impl<'a> Sub<&'a u8> for BigUint
[src]

impl<'a> Sub<u8> for &'a BigUint
[src]

impl<'a, 'b> Sub<&'b u8> for &'a BigUint
[src]

impl<'a> Sub<&'a u16> for BigUint
[src]

impl<'a> Sub<u16> for &'a BigUint
[src]

impl<'a, 'b> Sub<&'b u16> for &'a BigUint
[src]

impl Sub<usize> for BigUint
[src]

impl<'a> Sub<&'a usize> for BigUint
[src]

impl<'a> Sub<usize> for &'a BigUint
[src]

impl<'a, 'b> Sub<&'b usize> for &'a BigUint
[src]

impl<'a> Sub<&'a u32> for BigUint
[src]

impl<'a> Sub<u32> for &'a BigUint
[src]

impl<'a, 'b> Sub<&'b u32> for &'a BigUint
[src]

impl<'a> Sub<&'a u64> for BigUint
[src]

impl<'a> Sub<u64> for &'a BigUint
[src]

impl<'a, 'b> Sub<&'b u64> for &'a BigUint
[src]

impl PartialOrd<BigUint> for BigUint
[src]

impl UpperHex for BigUint
[src]

impl Shl<usize> for BigUint
[src]

impl<'a> Shl<usize> for &'a BigUint
[src]

impl CheckedSub for BigUint
[src]

Subtracts two numbers, checking for underflow. If underflow happens, None is returned. Read more

impl ToPrimitive for BigUint
[src]

Converts the value of self to an i64.

Converts the value of self to an u64.

Converts the value of self to an f32.

Converts the value of self to an f64.

Converts the value of self to an isize.

Converts the value of self to an i8.

Converts the value of self to an i16.

Converts the value of self to an i32.

Converts the value of self to a usize.

Converts the value of self to an u8.

Converts the value of self to an u16.

Converts the value of self to an u32.

impl CheckedAdd for BigUint
[src]

Adds two numbers, checking for overflow. If overflow happens, None is returned. Read more

impl Zero for BigUint
[src]

Returns the additive identity element of Self, 0. Read more

Returns true if self is equal to the additive identity.

impl CheckedDiv for BigUint
[src]

Divides two numbers, checking for underflow, overflow and division by zero. If any of that happens, None is returned. Read more

impl One for BigUint
[src]

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

impl Debug for BigUint
[src]

impl PartialEq<BigUint> for BigUint
[src]

impl Num for BigUint
[src]

Creates and initializes a BigUint.

impl<'a> Add<&'a BigUint> for BigUint
[src]

impl Add<u32> for BigUint
[src]

impl Add<u64> for BigUint
[src]

impl Add<BigUint> for BigUint
[src]

impl<'a> Add<BigUint> for &'a BigUint
[src]

impl<'a, 'b> Add<&'b BigUint> for &'a BigUint
[src]

impl Add<u8> for BigUint
[src]

impl Add<u16> for BigUint
[src]

impl<'a> Add<&'a u8> for BigUint
[src]

impl<'a> Add<u8> for &'a BigUint
[src]

impl<'a, 'b> Add<&'b u8> for &'a BigUint
[src]

impl<'a> Add<&'a u16> for BigUint
[src]

impl<'a> Add<u16> for &'a BigUint
[src]

impl<'a, 'b> Add<&'b u16> for &'a BigUint
[src]

impl Add<usize> for BigUint
[src]

impl<'a> Add<&'a usize> for BigUint
[src]

impl<'a> Add<usize> for &'a BigUint
[src]

impl<'a, 'b> Add<&'b usize> for &'a BigUint
[src]

impl<'a> Add<&'a u32> for BigUint
[src]

impl<'a> Add<u32> for &'a BigUint
[src]

impl<'a, 'b> Add<&'b u32> for &'a BigUint
[src]

impl<'a> Add<&'a u64> for BigUint
[src]

impl<'a> Add<u64> for &'a BigUint
[src]

impl<'a, 'b> Add<&'b u64> for &'a BigUint
[src]

impl FromPrimitive for BigUint
[src]

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

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

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

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

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

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

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

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

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

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

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

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 ToBigInt for BigUint
[src]

impl Clone for BigUint
[src]

impl Binary for BigUint
[src]

impl<'a, 'b> Rem<&'b BigUint> for &'a BigUint
[src]

impl Rem<u32> for BigUint
[src]

impl Rem<u64> for BigUint
[src]

impl Rem<BigUint> for BigUint
[src]

impl<'a> Rem<&'a BigUint> for BigUint
[src]

impl<'a> Rem<BigUint> for &'a BigUint
[src]

impl Rem<u8> for BigUint
[src]

impl Rem<u16> for BigUint
[src]

impl<'a> Rem<&'a u8> for BigUint
[src]

impl<'a> Rem<u8> for &'a BigUint
[src]

impl<'a, 'b> Rem<&'b u8> for &'a BigUint
[src]

impl<'a> Rem<&'a u16> for BigUint
[src]

impl<'a> Rem<u16> for &'a BigUint
[src]

impl<'a, 'b> Rem<&'b u16> for &'a BigUint
[src]

impl Rem<usize> for BigUint
[src]

impl<'a> Rem<&'a usize> for BigUint
[src]

impl<'a> Rem<usize> for &'a BigUint
[src]

impl<'a, 'b> Rem<&'b usize> for &'a BigUint
[src]

impl<'a> Rem<&'a u32> for BigUint
[src]

impl<'a> Rem<u32> for &'a BigUint
[src]

impl<'a, 'b> Rem<&'b u32> for &'a BigUint
[src]

impl<'a> Rem<&'a u64> for BigUint
[src]

impl<'a> Rem<u64> for &'a BigUint
[src]

impl<'a, 'b> Rem<&'b u64> for &'a BigUint
[src]

impl Neg for BigUint
[src]

impl<'a> Neg for &'a BigUint
[src]

impl LowerHex for BigUint
[src]

impl<'a> BitXor<&'a BigUint> for BigUint
[src]

impl BitXor<BigUint> for BigUint
[src]

impl<'a> BitXor<BigUint> for &'a BigUint
[src]

impl<'a, 'b> BitXor<&'b BigUint> for &'a BigUint
[src]

impl<'a> BitOr<&'a BigUint> for BigUint
[src]

impl BitOr<BigUint> for BigUint
[src]

impl<'a> BitOr<BigUint> for &'a BigUint
[src]

impl<'a, 'b> BitOr<&'b BigUint> for &'a BigUint
[src]

impl From<u64> for BigUint
[src]

impl From<u8> for BigUint
[src]

impl From<u16> for BigUint
[src]

impl From<u32> for BigUint
[src]

impl From<usize> for BigUint
[src]

impl Hash for BigUint
[src]

impl<'a, 'b> Div<&'b BigUint> for &'a BigUint
[src]

impl Div<u32> for BigUint
[src]

impl Div<u64> for BigUint
[src]

impl Div<BigUint> for BigUint
[src]

impl<'a> Div<&'a BigUint> for BigUint
[src]

impl<'a> Div<BigUint> for &'a BigUint
[src]

impl Div<u8> for BigUint
[src]

impl Div<u16> for BigUint
[src]

impl<'a> Div<&'a u8> for BigUint
[src]

impl<'a> Div<u8> for &'a BigUint
[src]

impl<'a, 'b> Div<&'b u8> for &'a BigUint
[src]

impl<'a> Div<&'a u16> for BigUint
[src]

impl<'a> Div<u16> for &'a BigUint
[src]

impl<'a, 'b> Div<&'b u16> for &'a BigUint
[src]

impl Div<usize> for BigUint
[src]

impl<'a> Div<&'a usize> for BigUint
[src]

impl<'a> Div<usize> for &'a BigUint
[src]

impl<'a, 'b> Div<&'b usize> for &'a BigUint
[src]

impl<'a> Div<&'a u32> for BigUint
[src]

impl<'a> Div<u32> for &'a BigUint
[src]

impl<'a, 'b> Div<&'b u32> for &'a BigUint
[src]

impl<'a> Div<&'a u64> for BigUint
[src]

impl<'a> Div<u64> for &'a BigUint
[src]

impl<'a, 'b> Div<&'b u64> for &'a BigUint
[src]

impl Integer for BigUint
[src]

Simultaneous truncated integer division and modulus. Returns (quotient, remainder). Read more

Floored integer division. Read more

Floored integer modulo, satisfying: Read more

Simultaneous floored integer division and modulus. Returns (quotient, remainder). 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.

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.

impl Encodable for BigUint
[src]