Struct num::bigint::BigInt[][src]

pub struct BigInt { /* fields omitted */ }

A big signed integer type.

Implementations

impl BigInt[src]

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

Creates and initializes a BigInt.

The base 232 digits are ordered least significant digit first.

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

Creates and initializes a BigInt.

The base 232 digits are ordered least significant digit first.

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

Creates and initializes a BigInt.

The base 232 digits are ordered least significant digit first.

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

Reinitializes a BigInt.

The base 232 digits are ordered least significant digit first.

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, Global>)[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, Global>)[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_u32_digits(&self) -> (Sign, Vec<u32, Global>)[src]

Returns the sign and the u32 digits representation of the BigInt ordered least significant digit first.

Examples

use num_bigint::{BigInt, Sign};

assert_eq!(BigInt::from(-1125).to_u32_digits(), (Sign::Minus, vec![1125]));
assert_eq!(BigInt::from(4294967295u32).to_u32_digits(), (Sign::Plus, vec![4294967295]));
assert_eq!(BigInt::from(4294967296u64).to_u32_digits(), (Sign::Plus, vec![0, 1]));
assert_eq!(BigInt::from(-112500000000i64).to_u32_digits(), (Sign::Minus, vec![830850304, 26]));
assert_eq!(BigInt::from(112500000000i64).to_u32_digits(), (Sign::Plus, vec![830850304, 26]));

pub fn to_u64_digits(&self) -> (Sign, Vec<u64, Global>)[src]

Returns the sign and the u64 digits representation of the BigInt ordered least significant digit first.

Examples

use num_bigint::{BigInt, Sign};

assert_eq!(BigInt::from(-1125).to_u64_digits(), (Sign::Minus, vec![1125]));
assert_eq!(BigInt::from(4294967295u32).to_u64_digits(), (Sign::Plus, vec![4294967295]));
assert_eq!(BigInt::from(4294967296u64).to_u64_digits(), (Sign::Plus, vec![4294967296]));
assert_eq!(BigInt::from(-112500000000i64).to_u64_digits(), (Sign::Minus, vec![112500000000]));
assert_eq!(BigInt::from(112500000000i64).to_u64_digits(), (Sign::Plus, vec![112500000000]));
assert_eq!(BigInt::from(1u128 << 64).to_u64_digits(), (Sign::Plus, vec![0, 1]));

pub fn iter_u32_digits(&self) -> U32Digits<'_>

Notable traits for U32Digits<'_>

impl<'_> Iterator for U32Digits<'_> type Item = u32;
[src]

Returns an iterator of u32 digits representation of the BigInt ordered least significant digit first.

Examples

use num_bigint::BigInt;

assert_eq!(BigInt::from(-1125).iter_u32_digits().collect::<Vec<u32>>(), vec![1125]);
assert_eq!(BigInt::from(4294967295u32).iter_u32_digits().collect::<Vec<u32>>(), vec![4294967295]);
assert_eq!(BigInt::from(4294967296u64).iter_u32_digits().collect::<Vec<u32>>(), vec![0, 1]);
assert_eq!(BigInt::from(-112500000000i64).iter_u32_digits().collect::<Vec<u32>>(), vec![830850304, 26]);
assert_eq!(BigInt::from(112500000000i64).iter_u32_digits().collect::<Vec<u32>>(), vec![830850304, 26]);

pub fn iter_u64_digits(&self) -> U64Digits<'_>

Notable traits for U64Digits<'_>

impl<'_> Iterator for U64Digits<'_> type Item = u64;
[src]

Returns an iterator of u64 digits representation of the BigInt ordered least significant digit first.

Examples

use num_bigint::BigInt;

assert_eq!(BigInt::from(-1125).iter_u64_digits().collect::<Vec<u64>>(), vec![1125u64]);
assert_eq!(BigInt::from(4294967295u32).iter_u64_digits().collect::<Vec<u64>>(), vec![4294967295u64]);
assert_eq!(BigInt::from(4294967296u64).iter_u64_digits().collect::<Vec<u64>>(), vec![4294967296u64]);
assert_eq!(BigInt::from(-112500000000i64).iter_u64_digits().collect::<Vec<u64>>(), vec![112500000000u64]);
assert_eq!(BigInt::from(112500000000i64).iter_u64_digits().collect::<Vec<u64>>(), vec![112500000000u64]);
assert_eq!(BigInt::from(1u128 << 64).iter_u64_digits().collect::<Vec<u64>>(), vec![0, 1]);

pub fn to_signed_bytes_be(&self) -> Vec<u8, Global>[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, Global>[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, Global>)[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, Global>)[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::{BigInt, Sign};
use num_traits::Zero;

assert_eq!(BigInt::from(1234).sign(), Sign::Plus);
assert_eq!(BigInt::from(-4321).sign(), Sign::Minus);
assert_eq!(BigInt::zero().sign(), Sign::NoSign);

pub fn magnitude(&self) -> &BigUint[src]

Returns the magnitude of the BigInt as a BigUint.

Examples

use num_bigint::{BigInt, BigUint};
use num_traits::Zero;

assert_eq!(BigInt::from(1234).magnitude(), &BigUint::from(1234u32));
assert_eq!(BigInt::from(-4321).magnitude(), &BigUint::from(4321u32));
assert!(BigInt::zero().magnitude().is_zero());

pub fn into_parts(self) -> (Sign, BigUint)[src]

Convert this BigInt into its Sign and BigUint magnitude, the reverse of BigInt::from_biguint.

Examples

use num_bigint::{BigInt, BigUint, Sign};
use num_traits::Zero;

assert_eq!(BigInt::from(1234).into_parts(), (Sign::Plus, BigUint::from(1234u32)));
assert_eq!(BigInt::from(-4321).into_parts(), (Sign::Minus, BigUint::from(4321u32)));
assert_eq!(BigInt::zero().into_parts(), (Sign::NoSign, BigUint::zero()));

pub fn bits(&self) -> u64[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 pow(&self, exponent: u32) -> BigInt[src]

Returns self ^ exponent.

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.

pub fn sqrt(&self) -> BigInt[src]

Returns the truncated principal square root of self – see Roots::sqrt.

pub fn cbrt(&self) -> BigInt[src]

Returns the truncated principal cube root of self – see Roots::cbrt.

pub fn nth_root(&self, n: u32) -> BigInt[src]

Returns the truncated principal nth root of self – See Roots::nth_root.

pub fn trailing_zeros(&self) -> Option<u64>[src]

Returns the number of least-significant bits that are zero, or None if the entire number is zero.

pub fn bit(&self, bit: u64) -> bool[src]

Returns whether the bit in position bit is set, using the two’s complement for negative numbers

pub fn set_bit(&mut self, bit: u64, value: bool)[src]

Sets or clears the bit in the given position, using the two’s complement for negative numbers

Note that setting/clearing a bit (for positive/negative numbers, respectively) greater than the current bit length, a reallocation may be needed to store the new digits

Trait Implementations

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

type Output = BigInt

The resulting type after applying the + operator.

impl<'a> Add<&'a i128> for 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 i32> for 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> Add<&'a i8> for 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> Add<&'a u128> for 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<'a> Add<&'a u32> for 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> Add<&'a 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 BigInt> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

impl<'a, 'b> Add<&'b i128> for &'a 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<'a, 'b> Add<&'b i32> for &'a 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, 'b> Add<&'b i8> for &'a 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, 'b> Add<&'b u128> 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, 'b> Add<&'b u32> 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, 'b> Add<&'b u8> for &'a 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> Add<BigInt> 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 Add<i128> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

impl<'a> Add<i128> 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<i16> for 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> Add<i32> for &'a 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<i64> for &'a 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 Add<i8> 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> Add<isize> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

type Output = BigInt

The resulting type after applying the + operator.

impl Add<u128> for 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 Add<u16> 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 Add<u32> for 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<u64> 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 Add<u8> 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 Add<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the + operator.

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

impl AddAssign<BigInt> for BigInt[src]

impl AddAssign<i128> for BigInt[src]

impl AddAssign<i16> for BigInt[src]

impl AddAssign<i32> for BigInt[src]

impl AddAssign<i64> for BigInt[src]

impl AddAssign<i8> for BigInt[src]

impl AddAssign<isize> for BigInt[src]

impl AddAssign<u128> for BigInt[src]

impl AddAssign<u16> for BigInt[src]

impl AddAssign<u32> for BigInt[src]

impl AddAssign<u64> for BigInt[src]

impl AddAssign<u8> for BigInt[src]

impl AddAssign<usize> for BigInt[src]

impl Binary for BigInt[src]

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

type Output = BigInt

The resulting type after applying the & operator.

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

type Output = BigInt

The resulting type after applying the & operator.

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

type Output = BigInt

The resulting type after applying the & operator.

impl BitAnd<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the & operator.

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

impl BitAndAssign<BigInt> for BigInt[src]

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

type Output = BigInt

The resulting type after applying the | operator.

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

type Output = BigInt

The resulting type after applying the | operator.

impl BitOr<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the | operator.

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

type Output = BigInt

The resulting type after applying the | operator.

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

impl BitOrAssign<BigInt> for BigInt[src]

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

type Output = BigInt

The resulting type after applying the ^ operator.

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

type Output = BigInt

The resulting type after applying the ^ operator.

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

type Output = BigInt

The resulting type after applying the ^ operator.

impl BitXor<BigInt> for BigInt[src]

type Output = BigInt

The resulting type after applying the ^ operator.

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

impl BitXorAssign<BigInt> for BigInt[src]

impl CheckedAdd for BigInt[src]

impl CheckedDiv for BigInt[src]

impl CheckedMul for BigInt[src]

impl CheckedSub for BigInt[src]

impl Clone for BigInt[src]

impl Debug for BigInt[src]

impl Default for BigInt[src]

impl Display for BigInt[src]

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

type Output = BigInt

The resulting type after applying the / operator.

impl<'a> Div<&'a i128> for 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<'a> Div<&'a i32> for 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 i8> 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<&'a u128> for 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> Div<&'a u32> 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<'a> Div<&'a u8> for 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<'a, 'b> Div<&'b BigInt> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

impl<'a, 'b> Div<&'b i128> for &'a 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 i32> 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 i8> 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<'a, 'b> Div<&'b u128> for &'a 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, 'b> Div<&'b u32> for &'a 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 u8> 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 Div<BigInt> for 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<'a> Div<i128> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

impl Div<i128> for 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<i16> for 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<'a> Div<i32> for &'a 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> Div<i64> 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 Div<i8> for 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 Div<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

impl Div<u128> for BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

impl<'a> Div<u128> for &'a 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 Div<u16> for 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> Div<u32> 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 Div<u64> 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 Div<u8> 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<usize> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the / operator.

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

impl DivAssign<BigInt> for BigInt[src]

impl DivAssign<i128> for BigInt[src]

impl DivAssign<i16> for BigInt[src]

impl DivAssign<i32> for BigInt[src]

impl DivAssign<i64> for BigInt[src]

impl DivAssign<i8> for BigInt[src]

impl DivAssign<isize> for BigInt[src]

impl DivAssign<u128> for BigInt[src]

impl DivAssign<u16> for BigInt[src]

impl DivAssign<u32> for BigInt[src]

impl DivAssign<u64> for BigInt[src]

impl DivAssign<u8> for BigInt[src]

impl DivAssign<usize> for BigInt[src]

impl Eq for BigInt[src]

impl From<BigUint> for BigInt[src]

impl From<i128> for BigInt[src]

impl From<i16> for BigInt[src]

impl From<i32> for BigInt[src]

impl From<i64> for BigInt[src]

impl From<i8> for BigInt[src]

impl From<isize> for BigInt[src]

impl From<u128> for BigInt[src]

impl From<u16> for BigInt[src]

impl From<u32> for BigInt[src]

impl From<u64> for BigInt[src]

impl From<u8> for BigInt[src]

impl From<usize> for BigInt[src]

impl FromPrimitive for BigInt[src]

impl FromStr for BigInt[src]

type Err = ParseBigIntError

The associated error which can be returned from parsing.

impl Hash for BigInt[src]

impl Integer for BigInt[src]

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

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

The result is always positive.

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

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

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

Calculates the Greatest Common Divisor (GCD) and Lowest Common Multiple (LCM) together.

pub fn extended_gcd_lcm(&self, other: &BigInt) -> (ExtendedGcd<BigInt>, BigInt)[src]

Greatest common divisor, least common multiple, and Bézout coefficients.

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

Deprecated, use is_multiple_of instead.

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

Returns true if the number is a multiple of other.

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

Returns true if the number is divisible by 2.

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

Returns true if the number is not divisible by 2.

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

Rounds up to nearest multiple of argument.

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

Rounds down to nearest multiple of argument.

impl LowerHex for BigInt[src]

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

type Output = BigInt

The resulting type after applying the * operator.

impl<'a> Mul<&'a i128> for 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<&'a i32> 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> Mul<&'a i8> for 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<'a> Mul<&'a u128> for 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 u32> for 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> Mul<&'a u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl<'a> Mul<&'a usize> 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<'a, 'b> Mul<&'b i128> for &'a 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, 'b> Mul<&'b i32> for &'a 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, 'b> Mul<&'b i8> for &'a 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, 'b> Mul<&'b u128> 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<'a, 'b> Mul<&'b u32> for &'a 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<'a, 'b> Mul<&'b u8> for &'a 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 Mul<BigInt> 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 Mul<i128> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl<'a> Mul<i128> for &'a 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<'a> Mul<i16> 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 Mul<i32> for 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<'a> Mul<i64> 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<i8> for 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> Mul<isize> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl Mul<u128> for BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

impl<'a> Mul<u128> 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<'a> Mul<u16> for &'a 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<u32> for &'a 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> 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 Mul<u8> for 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<'a> Mul<usize> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the * operator.

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

impl MulAssign<BigInt> for BigInt[src]

impl MulAssign<i128> for BigInt[src]

impl MulAssign<i16> for BigInt[src]

impl MulAssign<i32> for BigInt[src]

impl MulAssign<i64> for BigInt[src]

impl MulAssign<i8> for BigInt[src]

impl MulAssign<isize> for BigInt[src]

impl MulAssign<u128> for BigInt[src]

impl MulAssign<u16> for BigInt[src]

impl MulAssign<u32> for BigInt[src]

impl MulAssign<u64> for BigInt[src]

impl MulAssign<u8> for BigInt[src]

impl MulAssign<usize> 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 Not for BigInt[src]

type Output = BigInt

The resulting type after applying the ! operator.

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

type Output = BigInt

The resulting type after applying the ! operator.

impl Num for BigInt[src]

type FromStrRadixErr = ParseBigIntError

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

Creates and initializes a BigInt.

impl Octal for BigInt[src]

impl One for BigInt[src]

impl Ord for BigInt[src]

impl PartialEq<BigInt> for BigInt[src]

impl PartialOrd<BigInt> for BigInt[src]

impl<'b, T> Pow<&'b BigInt> for Ratio<T> where
    T: Clone + Integer + Pow<&'b BigUint, Output = T>, 
[src]

type Output = Ratio<T>

The result after applying the operator.

impl<'a, 'b, T> Pow<&'b BigInt> for &'a Ratio<T> where
    T: Clone + Integer,
    &'a T: Pow<&'b BigUint>,
    <&'a T as Pow<&'b BigUint>>::Output == T, 
[src]

type Output = Ratio<T>

The result after applying the operator.

impl<'b> Pow<&'b BigUint> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl<'b> Pow<&'b u128> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl<'b> Pow<&'b u16> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl<'b> Pow<&'b u32> for BigInt[src]

type Output = BigInt

The result after applying the operator.

impl<'b> Pow<&'b u64> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl<'b> Pow<&'b u8> for BigInt[src]

type Output = BigInt

The result after applying the operator.

impl<'b> Pow<&'b usize> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl<'a, T> Pow<BigInt> for &'a Ratio<T> where
    T: Clone + Integer,
    &'a T: for<'b> Pow<&'b BigUint>,
    <&'a T as Pow<&'b BigUint>>::Output == T, 
[src]

type Output = Ratio<T>

The result after applying the operator.

impl<T> Pow<BigInt> for Ratio<T> where
    T: Clone + Integer + for<'b> Pow<&'b BigUint, Output = T>, 
[src]

type Output = Ratio<T>

The result after applying the operator.

impl Pow<BigUint> for BigInt[src]

type Output = BigInt

The result after applying the operator.

impl<'a> Pow<BigUint> for &'a BigInt[src]

type Output = BigInt

The result after applying the operator.

impl<'a> Pow<u128> for &'a BigInt[src]

type Output = BigInt

The result after applying the operator.

impl Pow<u128> for BigInt[src]

type Output = BigInt

The result after applying the operator.

impl Pow<u16> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl Pow<u32> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl Pow<u64> for BigInt[src]

type Output = BigInt

The result after applying the operator.

impl Pow<u8> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl Pow<usize> for BigInt[src]

type Output = BigInt

The result after applying the operator.

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

type Output = BigInt

The result after applying the operator.

impl<T> Product<T> for BigInt where
    BigInt: Mul<T>,
    <BigInt as Mul<T>>::Output == BigInt
[src]

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

type Output = BigInt

The resulting type after applying the % operator.

impl<'a> Rem<&'a i128> for 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> Rem<&'a i32> for 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<'a> Rem<&'a i8> for 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> Rem<&'a u128> 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 u32> 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<'a> Rem<&'a u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

impl<'a> Rem<&'a usize> 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, 'b> Rem<&'b i128> 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<'a, 'b> Rem<&'b i32> for &'a 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<'a, 'b> Rem<&'b i8> for &'a 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 u128> 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, 'b> Rem<&'b u32> 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<'a, 'b> Rem<&'b u8> for &'a 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<BigInt> 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> Rem<i128> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<i128> 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 Rem<i16> for 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<i32> for &'a 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<i64> 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 Rem<i8> for 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 Rem<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

type Output = BigInt

The resulting type after applying the % operator.

impl Rem<u128> 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 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> Rem<u32> for &'a 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<u64> for &'a 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> Rem<u8> 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<usize> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the % operator.

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

impl RemAssign<BigInt> for BigInt[src]

impl RemAssign<i128> for BigInt[src]

impl RemAssign<i16> for BigInt[src]

impl RemAssign<i32> for BigInt[src]

impl RemAssign<i64> for BigInt[src]

impl RemAssign<i8> for BigInt[src]

impl RemAssign<isize> for BigInt[src]

impl RemAssign<u128> for BigInt[src]

impl RemAssign<u16> for BigInt[src]

impl RemAssign<u32> for BigInt[src]

impl RemAssign<u64> for BigInt[src]

impl RemAssign<u8> for BigInt[src]

impl RemAssign<usize> for BigInt[src]

impl Roots for BigInt[src]

impl<'b> Shl<&'b i128> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b u128> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> Shl<&'b u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<i128> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<u128> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

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

type Output = BigInt

The resulting type after applying the << operator.

impl Shl<u8> 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 Shl<usize> for BigInt[src]

type Output = BigInt

The resulting type after applying the << operator.

impl<'b> ShlAssign<&'b i128> for BigInt[src]

impl<'b> ShlAssign<&'b i16> for BigInt[src]

impl<'b> ShlAssign<&'b i32> for BigInt[src]

impl<'b> ShlAssign<&'b i64> for BigInt[src]

impl<'b> ShlAssign<&'b i8> for BigInt[src]

impl<'b> ShlAssign<&'b isize> for BigInt[src]

impl<'b> ShlAssign<&'b u128> for BigInt[src]

impl<'b> ShlAssign<&'b u16> for BigInt[src]

impl<'b> ShlAssign<&'b u32> for BigInt[src]

impl<'b> ShlAssign<&'b u64> for BigInt[src]

impl<'b> ShlAssign<&'b u8> for BigInt[src]

impl<'b> ShlAssign<&'b usize> for BigInt[src]

impl ShlAssign<i128> for BigInt[src]

impl ShlAssign<i16> for BigInt[src]

impl ShlAssign<i32> for BigInt[src]

impl ShlAssign<i64> for BigInt[src]

impl ShlAssign<i8> for BigInt[src]

impl ShlAssign<isize> for BigInt[src]

impl ShlAssign<u128> for BigInt[src]

impl ShlAssign<u16> for BigInt[src]

impl ShlAssign<u32> for BigInt[src]

impl ShlAssign<u64> for BigInt[src]

impl ShlAssign<u8> for BigInt[src]

impl ShlAssign<usize> for BigInt[src]

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b i128> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b u128> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl<'b> Shr<&'b u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<i128> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<i16> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<i32> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<i64> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<i8> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<u128> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<u16> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<u32> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<u64> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

impl Shr<u8> for BigInt[src]

type Output = BigInt

The resulting type after applying the >> operator.

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

type Output = BigInt

The resulting type after applying the >> operator.

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<'b> ShrAssign<&'b i128> for BigInt[src]

impl<'b> ShrAssign<&'b i16> for BigInt[src]

impl<'b> ShrAssign<&'b i32> for BigInt[src]

impl<'b> ShrAssign<&'b i64> for BigInt[src]

impl<'b> ShrAssign<&'b i8> for BigInt[src]

impl<'b> ShrAssign<&'b isize> for BigInt[src]

impl<'b> ShrAssign<&'b u128> for BigInt[src]

impl<'b> ShrAssign<&'b u16> for BigInt[src]

impl<'b> ShrAssign<&'b u32> for BigInt[src]

impl<'b> ShrAssign<&'b u64> for BigInt[src]

impl<'b> ShrAssign<&'b u8> for BigInt[src]

impl<'b> ShrAssign<&'b usize> for BigInt[src]

impl ShrAssign<i128> for BigInt[src]

impl ShrAssign<i16> for BigInt[src]

impl ShrAssign<i32> for BigInt[src]

impl ShrAssign<i64> for BigInt[src]

impl ShrAssign<i8> for BigInt[src]

impl ShrAssign<isize> for BigInt[src]

impl ShrAssign<u128> for BigInt[src]

impl ShrAssign<u16> for BigInt[src]

impl ShrAssign<u32> for BigInt[src]

impl ShrAssign<u64> for BigInt[src]

impl ShrAssign<u8> for BigInt[src]

impl ShrAssign<usize> for BigInt[src]

impl Signed for BigInt[src]

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

type Output = BigInt

The resulting type after applying the - operator.

impl<'a> Sub<&'a i128> 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> Sub<&'a i32> 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<'a> Sub<&'a i8> 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 u128> 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<'a> Sub<&'a u32> for 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<'a> Sub<&'a u8> 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 BigInt> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

impl<'a, 'b> Sub<&'b i128> for &'a 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 i32> 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<'a, 'b> Sub<&'b i8> 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 u128> for &'a 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, 'b> Sub<&'b u32> 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<'a, 'b> Sub<&'b u8> for &'a 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 Sub<BigInt> for 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<i128> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

impl<'a> Sub<i128> 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<'a> Sub<i16> for &'a 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<i32> for 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<i64> 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<i8> 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 Sub<isize> for BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

type Output = BigInt

The resulting type after applying the - operator.

impl Sub<u128> for 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<u16> for &'a 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 Sub<u32> for 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<u64> for &'a 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 Sub<u8> for 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<usize> for &'a BigInt[src]

type Output = BigInt

The resulting type after applying the - operator.

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

impl SubAssign<BigInt> for BigInt[src]

impl SubAssign<i128> for BigInt[src]

impl SubAssign<i16> for BigInt[src]

impl SubAssign<i32> for BigInt[src]

impl SubAssign<i64> for BigInt[src]

impl SubAssign<i8> for BigInt[src]

impl SubAssign<isize> for BigInt[src]

impl SubAssign<u128> for BigInt[src]

impl SubAssign<u16> for BigInt[src]

impl SubAssign<u32> for BigInt[src]

impl SubAssign<u64> for BigInt[src]

impl SubAssign<u8> for BigInt[src]

impl SubAssign<usize> for BigInt[src]

impl<T> Sum<T> for BigInt where
    BigInt: Add<T>,
    <BigInt as Add<T>>::Output == BigInt
[src]

impl ToBigInt for BigInt[src]

impl ToBigUint for BigInt[src]

impl ToPrimitive for BigInt[src]

impl<'_> TryFrom<&'_ BigInt> for BigUint[src]

type Error = TryFromBigIntError<()>

The type returned in the event of a conversion error.

impl TryFrom<BigInt> for BigUint[src]

type Error = TryFromBigIntError<BigInt>

The type returned in the event of a conversion error.

impl UpperHex for BigInt[src]

impl Zero for BigInt[src]

Auto Trait Implementations

impl RefUnwindSafe for BigInt

impl Send for BigInt

impl Sync for BigInt

impl Unpin for BigInt

impl UnwindSafe for BigInt

Blanket Implementations

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

impl<I> Average for I where
    I: Integer + Shr<usize, Output = I>,
    &'a I: for<'a, 'b> BitAnd<&'b I>,
    &'a I: for<'a, 'b> BitOr<&'b I>,
    &'a I: for<'a, 'b> BitXor<&'b I>,
    <&'a I as BitAnd<&'b I>>::Output == I,
    <&'a I as BitOr<&'b I>>::Output == I,
    <&'a I as BitXor<&'b I>>::Output == I, 
[src]

pub fn average_floor(&self, other: &I) -> I[src]

Returns the floor value of the average of self and other.

pub fn average_ceil(&self, other: &I) -> I[src]

Returns the ceil value of the average of self and other.

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

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

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

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

impl<T> NumAssign for T where
    T: Num + NumAssignOps<T>, 
[src]

impl<T, Rhs> NumAssignOps<Rhs> for T where
    T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>, 
[src]

impl<T> NumAssignRef for T where
    T: NumAssign + for<'r> NumAssignOps<&'r T>, 
[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 + for<'r> NumOps<&'r T, T>, 
[src]

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

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

type Owned = T

The resulting type after obtaining ownership.

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.