[][src]Struct num::BigInt

pub struct BigInt { /* fields omitted */ }

A big signed integer type.

Methods

impl BigInt[src]

pub fn new(sign: Sign, digits: Vec<u32>) -> BigInt[src]

Creates and initializes a BigInt.

The digits are in little-endian base 232.

pub fn from_biguint(sign: Sign, data: BigUint) -> BigInt[src]

Creates and initializes a BigInt.

The digits are in little-endian base 232.

pub fn from_slice(sign: Sign, slice: &[u32]) -> BigInt[src]

Creates and initializes a BigInt.

pub fn assign_from_slice(&mut self, sign: Sign, slice: &[u32])[src]

Reinitializes a BigInt.

pub fn from_bytes_be(sign: Sign, bytes: &[u8]) -> BigInt[src]

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

pub fn from_bytes_le(sign: Sign, bytes: &[u8]) -> BigInt[src]

Creates and initializes a BigInt.

The bytes are in little-endian byte order.

pub fn from_signed_bytes_be(digits: &[u8]) -> BigInt[src]

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

The digits are in big-endian base 28.

pub fn from_signed_bytes_le(digits: &[u8]) -> BigInt[src]

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

The digits are in little-endian base 28.

pub fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigInt>[src]

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

pub fn from_radix_be(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>[src]

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

pub fn from_radix_le(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>[src]

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

pub fn to_bytes_be(&self) -> (Sign, Vec<u8>)[src]

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

pub fn to_bytes_le(&self) -> (Sign, Vec<u8>)[src]

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

pub fn to_signed_bytes_be(&self) -> Vec<u8>[src]

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

pub fn to_signed_bytes_le(&self) -> Vec<u8>[src]

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

pub fn to_str_radix(&self, radix: u32) -> String[src]

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

pub fn to_radix_be(&self, radix: u32) -> (Sign, Vec<u8>)[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::{BigInt, Sign};

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

pub fn to_radix_le(&self, radix: u32) -> (Sign, Vec<u8>)[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::{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)

pub fn sign(&self) -> Sign[src]

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

pub fn bits(&self) -> usize[src]

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

pub fn to_biguint(&self) -> Option<BigUint>[src]

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

pub fn checked_add(&self, v: &BigInt) -> Option<BigInt>[src]

pub fn checked_sub(&self, v: &BigInt) -> Option<BigInt>[src]

pub fn checked_mul(&self, v: &BigInt) -> Option<BigInt>[src]

pub fn checked_div(&self, v: &BigInt) -> Option<BigInt>[src]

pub fn modpow(&self, exponent: &BigInt, modulus: &BigInt) -> BigInt[src]

Returns (self ^ exponent) mod modulus

Note that this rounds like mod_floor, not like the % operator, which makes a difference when given a negative self or modulus. The result will be in the interval [0, modulus) for modulus > 0, or in the interval (modulus, 0] for modulus < 0

Panics if the exponent is negative or the modulus is zero.

Trait Implementations

impl Signed for BigInt[src]

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the * operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

impl Div<u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

impl Div<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

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

type Output = BigInt

The resulting type after applying the / operator.

impl Div<i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

impl Eq for BigInt[src]

impl Display for BigInt[src]

impl One for BigInt[src]

impl LowerHex for BigInt[src]

impl CheckedSub for BigInt[src]

impl UpperHex for BigInt[src]

impl Shl<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Encodable for BigInt[src]

impl CheckedDiv for BigInt[src]

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl FromPrimitive for BigInt[src]

impl Add<u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

impl Add<u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

impl Add<u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

impl Add<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl PartialEq<BigInt> for BigInt[src]

impl ToPrimitive for BigInt[src]

impl Debug for BigInt[src]

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Binary for BigInt[src]

impl Decodable for BigInt[src]

impl CheckedAdd for BigInt[src]

impl PartialOrd<BigInt> for BigInt[src]

impl Hash for BigInt[src]

impl Default for BigInt[src]

impl Ord for BigInt[src]

impl From<isize> for BigInt[src]

impl From<u32> for BigInt[src]

impl From<i16> for BigInt[src]

impl From<i32> for BigInt[src]

impl From<BigUint> for BigInt[src]

impl From<usize> for BigInt[src]

impl From<i64> for BigInt[src]

impl From<u64> for BigInt[src]

impl From<u16> for BigInt[src]

impl From<i8> for BigInt[src]

impl From<u8> for BigInt[src]

impl ToBigUint for BigInt[src]

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

type Output = BigInt

The resulting type after applying the - operator.

impl Neg for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

impl Octal for BigInt[src]

impl Integer for BigInt[src]

fn gcd(&self, other: &BigInt) -> BigInt[src]

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

The result is always positive.

fn lcm(&self, other: &BigInt) -> BigInt[src]

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

fn divides(&self, other: &BigInt) -> bool[src]

Deprecated, use is_multiple_of instead.

fn is_multiple_of(&self, other: &BigInt) -> bool[src]

Returns true if the number is a multiple of other.

fn is_even(&self) -> bool[src]

Returns true if the number is divisible by 2.

fn is_odd(&self) -> bool[src]

Returns true if the number is not divisible by 2.

impl Shr<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Num for BigInt[src]

type FromStrRadixErr = ParseBigIntError

fn from_str_radix(s: &str, radix: u32) -> Result<BigInt, ParseBigIntError>[src]

Creates and initializes a BigInt.

impl CheckedMul for BigInt[src]

impl ToBigInt for BigInt[src]

impl FromStr for BigInt[src]

type Err = ParseBigIntError

The associated error which can be returned from parsing.

impl Zero for BigInt[src]

impl Clone for BigInt[src]

Auto Trait Implementations

impl Send for BigInt

impl Unpin for BigInt

impl Sync for BigInt

impl UnwindSafe for BigInt

impl RefUnwindSafe for BigInt

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
    T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>, 
[src]

impl<T> NumRef for T where
    T: Num + NumOps<&'r T, T>, 
[src]

impl<T, Base> RefNum<Base> for T where
    T: NumOps<Base, Base> + NumOps<&'r Base, Base>, 
[src]