Struct num::BigInt [] [src]

pub struct BigInt { /* fields omitted */ }

A big signed integer type.

Methods

impl BigInt
[src]

Creates and initializes a BigInt.

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

Creates and initializes a BigInt.

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

Creates and initializes a BigInt.

Creates and initializes a BigInt.

The bytes are in big-endian byte order.

Examples

use num_bigint::{BigInt, Sign};

assert_eq!(BigInt::from_bytes_be(Sign::Plus, b"A"),
           BigInt::parse_bytes(b"65", 10).unwrap());
assert_eq!(BigInt::from_bytes_be(Sign::Plus, b"AA"),
           BigInt::parse_bytes(b"16705", 10).unwrap());
assert_eq!(BigInt::from_bytes_be(Sign::Plus, b"AB"),
           BigInt::parse_bytes(b"16706", 10).unwrap());
assert_eq!(BigInt::from_bytes_be(Sign::Plus, b"Hello world!"),
           BigInt::parse_bytes(b"22405534230753963835153736737", 10).unwrap());Run

Creates and initializes a BigInt.

The bytes are in little-endian byte order.

Creates and initializes a BigInt from an array of bytes in two's complement binary representation.

The digits are in big-endian base 2^8.

Creates and initializes a BigInt from an array of bytes in two's complement.

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

Creates and initializes a BigInt.

Examples

use num_bigint::{BigInt, ToBigInt};

assert_eq!(BigInt::parse_bytes(b"1234", 10), ToBigInt::to_bigint(&1234));
assert_eq!(BigInt::parse_bytes(b"ABCD", 16), ToBigInt::to_bigint(&0xABCD));
assert_eq!(BigInt::parse_bytes(b"G", 16), None);Run

Creates and initializes a BigInt. 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::{BigInt, Sign};

let inbase190 = vec![15, 33, 125, 12, 14];
let a = BigInt::from_radix_be(Sign::Minus, &inbase190, 190).unwrap();
assert_eq!(a.to_radix_be(190), (Sign:: Minus, inbase190));Run

Creates and initializes a BigInt. 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::{BigInt, Sign};

let inbase190 = vec![14, 12, 125, 33, 15];
let a = BigInt::from_radix_be(Sign::Minus, &inbase190, 190).unwrap();
assert_eq!(a.to_radix_be(190), (Sign::Minus, inbase190));Run

Returns the sign and the byte representation of the BigInt in big-endian byte order.

Examples

use num_bigint::{ToBigInt, Sign};

let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_bytes_be(), (Sign::Minus, vec![4, 101]));Run

Returns the sign and the byte representation of the BigInt in little-endian byte order.

Examples

use num_bigint::{ToBigInt, Sign};

let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_bytes_le(), (Sign::Minus, vec![101, 4]));Run

Returns the two's complement byte representation of the BigInt in big-endian byte order.

Examples

use num_bigint::ToBigInt;

let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_signed_bytes_be(), vec![251, 155]);Run

Returns the two's complement byte representation of the BigInt in little-endian byte order.

Examples

use num_bigint::ToBigInt;

let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_signed_bytes_le(), vec![155, 251]);Run

Returns the integer formatted as a string in the given radix. radix must be in the range 2...36.

Examples

use num_bigint::BigInt;

let i = BigInt::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::{BigInt, Sign};

assert_eq!(BigInt::from(-0xFFFFi64).to_radix_be(159),
           (Sign::Minus, 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::{BigInt, Sign};

assert_eq!(BigInt::from(-0xFFFFi64).to_radix_le(159),
           (Sign::Minus, vec![27, 94, 2]));
// 0xFFFF = 65535 = 27 + 94*159 + 2*(159^2)Run

Returns the sign of the BigInt as a Sign.

Examples

use num_bigint::{ToBigInt, Sign};

assert_eq!(ToBigInt::to_bigint(&1234).unwrap().sign(), Sign::Plus);
assert_eq!(ToBigInt::to_bigint(&-4321).unwrap().sign(), Sign::Minus);
assert_eq!(ToBigInt::to_bigint(&0).unwrap().sign(), Sign::NoSign);Run

Determines the fewest bits necessary to express the BigInt, not including the sign.

Converts this BigInt into a BigUint, if it's not negative.

Trait Implementations

impl Eq for BigInt
[src]

impl Decodable for BigInt
[src]

impl Signed for BigInt
[src]

Computes the absolute value. Read more

The positive difference of two numbers. Read more

Returns the sign of the number. Read more

Returns true if the number is positive and false if the number is zero or negative.

Returns true if the number is negative and false if the number is zero or positive.

impl Ord for BigInt
[src]

impl Octal for BigInt
[src]

impl FromStr for BigInt
[src]

impl Default for BigInt
[src]

impl CheckedMul for BigInt
[src]

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

impl Shr<usize> for BigInt
[src]

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

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

impl Mul<u32> for BigInt
[src]

impl Mul<u64> for BigInt
[src]

impl Mul<i32> for BigInt
[src]

impl Mul<i64> for BigInt
[src]

impl Mul<BigInt> for BigInt
[src]

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

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

impl Mul<u8> for BigInt
[src]

impl Mul<u16> for BigInt
[src]

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

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

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

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

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

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

impl Mul<usize> for BigInt
[src]

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

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

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

impl Mul<i8> for BigInt
[src]

impl Mul<i16> for BigInt
[src]

impl<'a> Mul<&'a i8> for BigInt
[src]

impl<'a> Mul<i8> for &'a BigInt
[src]

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

impl<'a> Mul<&'a i16> for BigInt
[src]

impl<'a> Mul<i16> for &'a BigInt
[src]

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

impl Mul<isize> for BigInt
[src]

impl<'a> Mul<&'a isize> for BigInt
[src]

impl<'a> Mul<isize> for &'a BigInt
[src]

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

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

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

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

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

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

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

impl<'a> Mul<&'a i32> for BigInt
[src]

impl<'a> Mul<i32> for &'a BigInt
[src]

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

impl<'a> Mul<&'a i64> for BigInt
[src]

impl<'a> Mul<i64> for &'a BigInt
[src]

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

impl Display for BigInt
[src]

impl ToBigUint for BigInt
[src]

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

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

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

impl Sub<BigInt> for BigInt
[src]

impl Sub<u32> for BigInt
[src]

impl Sub<u64> for BigInt
[src]

impl Sub<i32> for BigInt
[src]

impl Sub<i64> for BigInt
[src]

impl Sub<u8> for BigInt
[src]

impl Sub<u16> for BigInt
[src]

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

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

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

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

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

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

impl Sub<usize> for BigInt
[src]

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

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

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

impl Sub<i8> for BigInt
[src]

impl Sub<i16> for BigInt
[src]

impl<'a> Sub<&'a i8> for BigInt
[src]

impl<'a> Sub<i8> for &'a BigInt
[src]

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

impl<'a> Sub<&'a i16> for BigInt
[src]

impl<'a> Sub<i16> for &'a BigInt
[src]

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

impl Sub<isize> for BigInt
[src]

impl<'a> Sub<&'a isize> for BigInt
[src]

impl<'a> Sub<isize> for &'a BigInt
[src]

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

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

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

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

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

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

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

impl<'a> Sub<&'a i32> for BigInt
[src]

impl<'a> Sub<i32> for &'a BigInt
[src]

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

impl<'a> Sub<&'a i64> for BigInt
[src]

impl<'a> Sub<i64> for &'a BigInt
[src]

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

impl PartialOrd<BigInt> for BigInt
[src]

impl UpperHex for BigInt
[src]

impl Shl<usize> for BigInt
[src]

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

impl CheckedSub for BigInt
[src]

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

impl ToPrimitive for BigInt
[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 BigInt
[src]

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

impl Zero for BigInt
[src]

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

Returns true if self is equal to the additive identity.

impl CheckedDiv for BigInt
[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 BigInt
[src]

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

impl Debug for BigInt
[src]

impl PartialEq<BigInt> for BigInt
[src]

impl Num for BigInt
[src]

Creates and initializes a BigInt.

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

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

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

impl Add<BigInt> for BigInt
[src]

impl Add<u32> for BigInt
[src]

impl Add<u64> for BigInt
[src]

impl Add<i32> for BigInt
[src]

impl Add<i64> for BigInt
[src]

impl Add<u8> for BigInt
[src]

impl Add<u16> for BigInt
[src]

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

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

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

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

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

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

impl Add<usize> for BigInt
[src]

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

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

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

impl Add<i8> for BigInt
[src]

impl Add<i16> for BigInt
[src]

impl<'a> Add<&'a i8> for BigInt
[src]

impl<'a> Add<i8> for &'a BigInt
[src]

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

impl<'a> Add<&'a i16> for BigInt
[src]

impl<'a> Add<i16> for &'a BigInt
[src]

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

impl Add<isize> for BigInt
[src]

impl<'a> Add<&'a isize> for BigInt
[src]

impl<'a> Add<isize> for &'a BigInt
[src]

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

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

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

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

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

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

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

impl<'a> Add<&'a i32> for BigInt
[src]

impl<'a> Add<i32> for &'a BigInt
[src]

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

impl<'a> Add<&'a i64> for BigInt
[src]

impl<'a> Add<i64> for &'a BigInt
[src]

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

impl FromPrimitive for BigInt
[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 BigInt
[src]

impl Clone for BigInt
[src]

impl Binary for BigInt
[src]

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

impl Rem<u32> for BigInt
[src]

impl Rem<u64> for BigInt
[src]

impl Rem<i32> for BigInt
[src]

impl Rem<i64> for BigInt
[src]

impl Rem<BigInt> for BigInt
[src]

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

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

impl Rem<u8> for BigInt
[src]

impl Rem<u16> for BigInt
[src]

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

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

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

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

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

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

impl Rem<usize> for BigInt
[src]

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

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

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

impl Rem<i8> for BigInt
[src]

impl Rem<i16> for BigInt
[src]

impl<'a> Rem<&'a i8> for BigInt
[src]

impl<'a> Rem<i8> for &'a BigInt
[src]

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

impl<'a> Rem<&'a i16> for BigInt
[src]

impl<'a> Rem<i16> for &'a BigInt
[src]

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

impl Rem<isize> for BigInt
[src]

impl<'a> Rem<&'a isize> for BigInt
[src]

impl<'a> Rem<isize> for &'a BigInt
[src]

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

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

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

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

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

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

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

impl<'a> Rem<&'a i32> for BigInt
[src]

impl<'a> Rem<i32> for &'a BigInt
[src]

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

impl<'a> Rem<&'a i64> for BigInt
[src]

impl<'a> Rem<i64> for &'a BigInt
[src]

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

impl Neg for BigInt
[src]

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

impl LowerHex for BigInt
[src]

impl From<i64> for BigInt
[src]

impl From<u64> for BigInt
[src]

impl From<BigUint> for BigInt
[src]

impl From<i8> for BigInt
[src]

impl From<i16> for BigInt
[src]

impl From<i32> for BigInt
[src]

impl From<isize> for BigInt
[src]

impl From<u8> for BigInt
[src]

impl From<u16> for BigInt
[src]

impl From<u32> for BigInt
[src]

impl From<usize> for BigInt
[src]

impl Hash for BigInt
[src]

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

impl Div<u32> for BigInt
[src]

impl Div<u64> for BigInt
[src]

impl Div<i32> for BigInt
[src]

impl Div<i64> for BigInt
[src]

impl Div<BigInt> for BigInt
[src]

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

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

impl Div<u8> for BigInt
[src]

impl Div<u16> for BigInt
[src]

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

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

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

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

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

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

impl Div<usize> for BigInt
[src]

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

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

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

impl Div<i8> for BigInt
[src]

impl Div<i16> for BigInt
[src]

impl<'a> Div<&'a i8> for BigInt
[src]

impl<'a> Div<i8> for &'a BigInt
[src]

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

impl<'a> Div<&'a i16> for BigInt
[src]

impl<'a> Div<i16> for &'a BigInt
[src]

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

impl Div<isize> for BigInt
[src]

impl<'a> Div<&'a isize> for BigInt
[src]

impl<'a> Div<isize> for &'a BigInt
[src]

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

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

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

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

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

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

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

impl<'a> Div<&'a i32> for BigInt
[src]

impl<'a> Div<i32> for &'a BigInt
[src]

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

impl<'a> Div<&'a i64> for BigInt
[src]

impl<'a> Div<i64> for &'a BigInt
[src]

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

impl Integer for BigInt
[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 BigInt
[src]