Struct num::BigInt []

pub struct BigInt { /* fields omitted */ }

A big signed integer type.

Methods

impl BigInt

Creates and initializes a BigInt.

The digits are in little-endian base 232.

Creates and initializes a BigInt.

The digits are in little-endian base 232.

Creates and initializes a BigInt.

Creates and initializes a BigInt.

The bytes are in big-endian byte order.

Examples

extern crate num; fn main() { 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()); }
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.

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

Examples

extern crate num; fn main() { use num_bigint::{ToBigInt, Sign}; let i = -1125.to_bigint().unwrap(); assert_eq!(i.to_bytes_le(), (Sign::Minus, vec![101, 4])); }
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 sign and the byte representation of the BigInt in big-endian byte order.

Examples

extern crate num; fn main() { use num_bigint::{ToBigInt, Sign}; let i = -1125.to_bigint().unwrap(); assert_eq!(i.to_bytes_be(), (Sign::Minus, vec![4, 101])); }
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 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::BigInt; let i = BigInt::parse_bytes(b"ff", 16).unwrap(); assert_eq!(i.to_str_radix(16), "ff"); }
use num_bigint::BigInt;

let i = BigInt::parse_bytes(b"ff", 16).unwrap();
assert_eq!(i.to_str_radix(16), "ff");Run

Returns the sign of the BigInt as a Sign.

Examples

extern crate num; fn main() { 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); }
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

Creates and initializes a BigInt.

Examples

extern crate num; fn main() { 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); }
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

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 Encodable for BigInt

impl Decodable for BigInt

impl Clone for BigInt

impl Debug for BigInt

impl Hash for BigInt

impl PartialEq<BigInt> for BigInt

impl Eq for BigInt

impl PartialOrd<BigInt> for BigInt

impl Ord for BigInt

impl Default for BigInt

impl Display for BigInt

impl Binary for BigInt

impl Octal for BigInt

impl LowerHex for BigInt

impl UpperHex for BigInt

impl FromStr for BigInt

impl Num for BigInt

Creates and initializes a BigInt.

impl Shl<usize> for BigInt

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

impl Shr<usize> for BigInt

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

impl Zero for BigInt

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

Returns true if self is equal to the additive identity.

impl One for BigInt

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

impl Signed for BigInt

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<'a, 'b> Add<&'b BigInt> for &'a BigInt

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

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

impl Add<BigInt> for BigInt

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

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

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

impl Sub<BigInt> for BigInt

impl Mul<BigInt> for BigInt

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

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

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

impl Div<BigInt> for BigInt

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

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

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

impl Rem<BigInt> for BigInt

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

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

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

impl Neg for BigInt

impl<'a> Neg for &'a BigInt

impl CheckedAdd for BigInt

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

impl CheckedSub for BigInt

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

impl CheckedMul for BigInt

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

impl CheckedDiv for BigInt

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

impl Integer for BigInt

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 ToPrimitive for BigInt

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 FromPrimitive for BigInt

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 From<i64> for BigInt

impl From<i8> for BigInt

impl From<i16> for BigInt

impl From<i32> for BigInt

impl From<isize> for BigInt

impl From<u64> for BigInt

impl From<u8> for BigInt

impl From<u16> for BigInt

impl From<u32> for BigInt

impl From<usize> for BigInt

impl From<BigUint> for BigInt

impl ToBigInt for BigInt

impl ToBigUint for BigInt