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]

[src]

Creates and initializes a BigUint.

The digits are in little-endian base 232.

[src]

Creates and initializes a BigUint.

The digits are in little-endian base 232.

[src]

Assign a value to a BigUint.

The digits are in little-endian base 232.

[src]

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

[src]

Creates and initializes a BigUint.

The bytes are in little-endian byte order.

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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)

[src]

Determines the fewest bits necessary to express the BigUint.

[src]

Returns (self ^ exponent) % modulus.

Panics if the modulus is zero.

Trait Implementations

impl ToBigInt for BigUint
[src]

impl Ord for BigUint
[src]

[src]

impl One for BigUint
[src]

[src]

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

impl Hash for BigUint
[src]

[src]

impl CheckedSub for BigUint
[src]

[src]

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

impl FromPrimitive for BigUint
[src]

[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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl BitXor<BigUint> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

impl From<u32> for BigUint
[src]

[src]

impl From<usize> for BigUint
[src]

impl From<u8> for BigUint
[src]

[src]

impl From<u64> for BigUint
[src]

[src]

impl From<u16> for BigUint
[src]

[src]

impl BitOr<BigUint> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

impl ToPrimitive for BigUint
[src]

[src]

Converts the value of self to an i64.

[src]

Converts the value of self to an u64.

[src]

Converts the value of self to an f32.

[src]

Converts the value of self to an f64.

[src]

Converts the value of self to an isize.

[src]

Converts the value of self to an i8.

[src]

Converts the value of self to an i16.

[src]

Converts the value of self to an i32.

[src]

Converts the value of self to a usize.

[src]

Converts the value of self to an u8.

[src]

Converts the value of self to an u16.

[src]

Converts the value of self to an u32.

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

[src]

impl BitOrAssign<BigUint> for BigUint
[src]

[src]

impl Octal for BigUint
[src]

[src]

impl BitAndAssign<BigUint> for BigUint
[src]

[src]

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

[src]

impl PartialEq<BigUint> for BigUint
[src]

[src]

impl Add<u64> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Add<u8> for BigUint
[src]

[src]

impl Add<BigUint> for BigUint
[src]

[src]

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

[src]

impl Add<u32> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Add<u16> for BigUint
[src]

[src]

impl Add<usize> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl FromStr for BigUint
[src]

impl Debug for BigUint
[src]

[src]

impl ToBigUint for BigUint
[src]

impl AddAssign<u32> for BigUint
[src]

[src]

impl AddAssign<usize> for BigUint
[src]

[src]

impl AddAssign<u64> for BigUint
[src]

[src]

impl AddAssign<u8> for BigUint
[src]

[src]

impl AddAssign<u16> for BigUint
[src]

[src]

impl AddAssign<BigUint> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Rem<u8> for BigUint
[src]

[src]

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

[src]

impl Rem<u64> for BigUint
[src]

[src]

impl Rem<u16> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

impl Rem<usize> for BigUint
[src]

[src]

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

[src]

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

[src]

impl Rem<u32> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

impl Rem<BigUint> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

impl ShrAssign<usize> for BigUint
[src]

[src]

impl RemAssign<BigUint> for BigUint
[src]

[src]

impl RemAssign<u8> for BigUint
[src]

[src]

impl RemAssign<u32> for BigUint
[src]

[src]

impl RemAssign<u16> for BigUint
[src]

[src]

impl RemAssign<u64> for BigUint
[src]

[src]

impl RemAssign<usize> for BigUint
[src]

[src]

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

[src]

impl CheckedDiv for BigUint
[src]

[src]

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

impl Num for BigUint
[src]

[src]

Creates and initializes a BigUint.

impl CheckedMul for BigUint
[src]

[src]

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

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

[src]

impl SubAssign<usize> for BigUint
[src]

[src]

impl SubAssign<u8> for BigUint
[src]

[src]

impl SubAssign<BigUint> for BigUint
[src]

[src]

impl SubAssign<u32> for BigUint
[src]

[src]

impl SubAssign<u64> for BigUint
[src]

[src]

impl SubAssign<u16> for BigUint
[src]

[src]

impl Integer for BigUint
[src]

[src]

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

[src]

Floored integer division. Read more

[src]

Floored integer modulo, satisfying: Read more

[src]

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

[src]

Calculates the Greatest Common Divisor (GCD) of the number and other.

The result is always positive.

[src]

Calculates the Lowest Common Multiple (LCM) of the number and other.

[src]

Deprecated, use is_multiple_of instead.

[src]

Returns true if the number is a multiple of other.

[src]

Returns true if the number is divisible by 2.

[src]

Returns true if the number is not divisible by 2.

impl Default for BigUint
[src]

impl Encodable for BigUint
[src]

[src]

impl BitAnd<BigUint> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

impl Unsigned for BigUint
[src]

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

[src]

impl BitXorAssign<BigUint> for BigUint
[src]

[src]

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

[src]

impl Div<usize> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Div<u64> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Div<BigUint> for BigUint
[src]

[src]

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

[src]

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

[src]

impl Div<u32> for BigUint
[src]

[src]

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

[src]

impl Div<u8> for BigUint
[src]

[src]

impl Div<u16> for BigUint
[src]

[src]

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

[src]

impl UpperHex for BigUint
[src]

[src]

impl Shr<usize> for BigUint
[src]

[src]

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

[src]

impl Eq for BigUint
[src]

impl ShlAssign<usize> for BigUint
[src]

[src]

impl Zero for BigUint
[src]

[src]

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

[src]

Returns true if self is equal to the additive identity.

impl DivAssign<u16> for BigUint
[src]

[src]

impl DivAssign<BigUint> for BigUint
[src]

[src]

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

[src]

impl DivAssign<u64> for BigUint
[src]

[src]

impl DivAssign<u32> for BigUint
[src]

[src]

impl DivAssign<usize> for BigUint
[src]

[src]

impl DivAssign<u8> for BigUint
[src]

[src]

impl CheckedAdd for BigUint
[src]

[src]

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

impl MulAssign<BigUint> for BigUint
[src]

[src]

impl MulAssign<u16> for BigUint
[src]

[src]

impl MulAssign<usize> for BigUint
[src]

[src]

impl MulAssign<u32> for BigUint
[src]

[src]

impl MulAssign<u64> for BigUint
[src]

[src]

impl MulAssign<u8> for BigUint
[src]

[src]

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

[src]

impl Shl<usize> for BigUint
[src]

[src]

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

[src]

impl Decodable for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Mul<u8> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Mul<u32> for BigUint
[src]

[src]

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

[src]

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

[src]

impl Mul<u16> for BigUint
[src]

[src]

impl Mul<BigUint> for BigUint
[src]

[src]

impl Mul<u64> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Mul<usize> for BigUint
[src]

[src]

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

[src]

impl Binary for BigUint
[src]

[src]

impl LowerHex for BigUint
[src]

[src]

impl Display for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Sub<usize> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Sub<u32> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Sub<u8> for BigUint
[src]

[src]

impl Sub<BigUint> for BigUint
[src]

[src]

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

[src]

impl Sub<u64> for BigUint
[src]

[src]

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

[src]

impl Sub<u16> for BigUint
[src]

[src]

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

[src]

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

[src]

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

[src]

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

[src]

impl Neg for BigUint
[src]

[src]

impl PartialOrd<BigUint> for BigUint
[src]

[src]