[−][src]Struct num::BigInt
A big signed integer type.
Implementations
impl BigInt
[src][−]
pub fn new(sign: Sign, digits: Vec<u32>) -> 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>)
[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_u32_digits(&self) -> (Sign, Vec<u32>)
[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_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.
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 n
th root of self
--
See Roots::nth_root.
Trait Implementations
impl<'a> Add<&'a BigInt> for BigInt
[src][+]
impl<'a> Add<&'a i128> for BigInt
[src][+]
impl<'a> Add<&'a i16> for BigInt
[src][+]
impl<'a> Add<&'a i32> for BigInt
[src][+]
impl<'a> Add<&'a i64> for BigInt
[src][+]
impl<'a> Add<&'a i8> for BigInt
[src][+]
impl<'a> Add<&'a isize> for BigInt
[src][+]
impl<'a> Add<&'a u128> for BigInt
[src][+]
impl<'a> Add<&'a u16> for BigInt
[src][+]
impl<'a> Add<&'a u32> for BigInt
[src][+]
impl<'a> Add<&'a u64> for BigInt
[src][+]
impl<'a> Add<&'a u8> for BigInt
[src][+]
impl<'a> Add<&'a usize> for BigInt
[src][+]
impl<'a, 'b> Add<&'b BigInt> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b i128> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b i16> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b i32> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b i64> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b i8> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b isize> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b u128> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b u16> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b u32> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b u64> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b u8> for &'a BigInt
[src][+]
impl<'a, 'b> Add<&'b usize> for &'a BigInt
[src][+]
impl<'a> Add<BigInt> for &'a BigInt
[src][+]
impl Add<BigInt> for BigInt
[src][+]
impl Add<i128> for BigInt
[src][+]
impl<'a> Add<i128> for &'a BigInt
[src][+]
impl Add<i16> for BigInt
[src][+]
impl<'a> Add<i16> for &'a BigInt
[src][+]
impl Add<i32> for BigInt
[src][+]
impl<'a> Add<i32> for &'a BigInt
[src][+]
impl<'a> Add<i64> for &'a BigInt
[src][+]
impl Add<i64> for BigInt
[src][+]
impl<'a> Add<i8> for &'a BigInt
[src][+]
impl Add<i8> for BigInt
[src][+]
impl Add<isize> for BigInt
[src][+]
impl<'a> Add<isize> for &'a BigInt
[src][+]
impl<'a> Add<u128> for &'a BigInt
[src][+]
impl Add<u128> for BigInt
[src][+]
impl<'a> Add<u16> for &'a BigInt
[src][+]
impl Add<u16> for BigInt
[src][+]
impl Add<u32> for BigInt
[src][+]
impl<'a> Add<u32> for &'a BigInt
[src][+]
impl Add<u64> for BigInt
[src][+]
impl<'a> Add<u64> for &'a BigInt
[src][+]
impl<'a> Add<u8> for &'a BigInt
[src][+]
impl Add<u8> for BigInt
[src][+]
impl<'a> Add<usize> for &'a BigInt
[src][+]
impl Add<usize> for BigInt
[src][+]
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][+]
impl<'a, 'b> BitAnd<&'b BigInt> for &'a BigInt
[src][+]
impl<'a> BitAnd<BigInt> for &'a BigInt
[src][+]
impl BitAnd<BigInt> for BigInt
[src][+]
impl<'a> BitAndAssign<&'a BigInt> for BigInt
[src][+]
impl BitAndAssign<BigInt> for BigInt
[src][+]
impl<'a> BitOr<&'a BigInt> for BigInt
[src][+]
impl<'a, 'b> BitOr<&'b BigInt> for &'a BigInt
[src][+]
impl<'a> BitOr<BigInt> for &'a BigInt
[src][+]
impl BitOr<BigInt> for BigInt
[src][+]
impl<'a> BitOrAssign<&'a BigInt> for BigInt
[src][+]
impl BitOrAssign<BigInt> for BigInt
[src][+]
impl<'a> BitXor<&'a BigInt> for BigInt
[src][+]
impl<'a, 'b> BitXor<&'b BigInt> for &'a BigInt
[src][+]
impl<'a> BitXor<BigInt> for &'a BigInt
[src][+]
impl BitXor<BigInt> for BigInt
[src][+]
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][+]
impl<'a> Div<&'a i128> for BigInt
[src][+]
impl<'a> Div<&'a i16> for BigInt
[src][+]
impl<'a> Div<&'a i32> for BigInt
[src][+]
impl<'a> Div<&'a i64> for BigInt
[src][+]
impl<'a> Div<&'a i8> for BigInt
[src][+]
impl<'a> Div<&'a isize> for BigInt
[src][+]
impl<'a> Div<&'a u128> for BigInt
[src][+]
impl<'a> Div<&'a u16> for BigInt
[src][+]
impl<'a> Div<&'a u32> for BigInt
[src][+]
impl<'a> Div<&'a u64> for BigInt
[src][+]
impl<'a> Div<&'a u8> for BigInt
[src][+]
impl<'a> Div<&'a usize> for BigInt
[src][+]
impl<'a, 'b> Div<&'b BigInt> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b i128> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b i16> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b i32> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b i64> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b i8> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b isize> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b u128> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b u16> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b u32> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b u64> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b u8> for &'a BigInt
[src][+]
impl<'a, 'b> Div<&'b usize> for &'a BigInt
[src][+]
impl<'a> Div<BigInt> for &'a BigInt
[src][+]
impl Div<BigInt> for BigInt
[src][+]
impl<'a> Div<i128> for &'a BigInt
[src][+]
impl Div<i128> for BigInt
[src][+]
impl Div<i16> for BigInt
[src][+]
impl<'a> Div<i16> for &'a BigInt
[src][+]
impl<'a> Div<i32> for &'a BigInt
[src][+]
impl Div<i32> for BigInt
[src][+]
impl Div<i64> for BigInt
[src][+]
impl<'a> Div<i64> for &'a BigInt
[src][+]
impl Div<i8> for BigInt
[src][+]
impl<'a> Div<i8> for &'a BigInt
[src][+]
impl Div<isize> for BigInt
[src][+]
impl<'a> Div<isize> for &'a BigInt
[src][+]
impl Div<u128> for BigInt
[src][+]
impl<'a> Div<u128> for &'a BigInt
[src][+]
impl Div<u16> for BigInt
[src][+]
impl<'a> Div<u16> for &'a BigInt
[src][+]
impl<'a> Div<u32> for &'a BigInt
[src][+]
impl Div<u32> for BigInt
[src][+]
impl Div<u64> for BigInt
[src][+]
impl<'a> Div<u64> for &'a BigInt
[src][+]
impl<'a> Div<u8> for &'a BigInt
[src][+]
impl Div<u8> for BigInt
[src][+]
impl<'a> Div<usize> for &'a BigInt
[src][+]
impl Div<usize> for BigInt
[src][+]
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][+]
impl Hash for BigInt
[src][+]
impl Integer for BigInt
[src][+]
impl LowerHex for BigInt
[src][+]
impl<'a> Mul<&'a BigInt> for BigInt
[src][+]
impl<'a> Mul<&'a i128> for BigInt
[src][+]
impl<'a> Mul<&'a i16> for BigInt
[src][+]
impl<'a> Mul<&'a i32> for BigInt
[src][+]
impl<'a> Mul<&'a i64> for BigInt
[src][+]
impl<'a> Mul<&'a i8> for BigInt
[src][+]
impl<'a> Mul<&'a isize> for BigInt
[src][+]
impl<'a> Mul<&'a u128> for BigInt
[src][+]
impl<'a> Mul<&'a u16> for BigInt
[src][+]
impl<'a> Mul<&'a u32> for BigInt
[src][+]
impl<'a> Mul<&'a u64> for BigInt
[src][+]
impl<'a> Mul<&'a u8> for BigInt
[src][+]
impl<'a> Mul<&'a usize> for BigInt
[src][+]
impl<'a, 'b> Mul<&'b BigInt> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b i128> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b i16> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b i32> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b i64> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b i8> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b isize> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b u128> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b u16> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b u32> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b u64> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b u8> for &'a BigInt
[src][+]
impl<'a, 'b> Mul<&'b usize> for &'a BigInt
[src][+]
impl Mul<BigInt> for BigInt
[src][+]
impl<'a> Mul<BigInt> for &'a BigInt
[src][+]
impl Mul<i128> for BigInt
[src][+]
impl<'a> Mul<i128> for &'a BigInt
[src][+]
impl<'a> Mul<i16> for &'a BigInt
[src][+]
impl Mul<i16> for BigInt
[src][+]
impl<'a> Mul<i32> for &'a BigInt
[src][+]
impl Mul<i32> for BigInt
[src][+]
impl Mul<i64> for BigInt
[src][+]
impl<'a> Mul<i64> for &'a BigInt
[src][+]
impl<'a> Mul<i8> for &'a BigInt
[src][+]
impl Mul<i8> for BigInt
[src][+]
impl Mul<isize> for BigInt
[src][+]
impl<'a> Mul<isize> for &'a BigInt
[src][+]
impl<'a> Mul<u128> for &'a BigInt
[src][+]
impl Mul<u128> for BigInt
[src][+]
impl<'a> Mul<u16> for &'a BigInt
[src][+]
impl Mul<u16> for BigInt
[src][+]
impl<'a> Mul<u32> for &'a BigInt
[src][+]
impl Mul<u32> for BigInt
[src][+]
impl Mul<u64> for BigInt
[src][+]
impl<'a> Mul<u64> for &'a BigInt
[src][+]
impl<'a> Mul<u8> for &'a BigInt
[src][+]
impl Mul<u8> for BigInt
[src][+]
impl<'a> Mul<usize> for &'a BigInt
[src][+]
impl Mul<usize> for BigInt
[src][+]
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 Neg for BigInt
[src][+]
impl<'a> Neg for &'a BigInt
[src][+]
impl<'a> Not for &'a BigInt
[src][+]
impl Not for BigInt
[src][+]
impl Num for BigInt
[src][+]
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<'a, 'b> Pow<&'b BigUint> for &'a BigInt
[src][+]
impl<'a, 'b> Pow<&'b u128> for &'a BigInt
[src][+]
impl<'a, 'b> Pow<&'b u16> for &'a BigInt
[src][+]
impl<'a, 'b> Pow<&'b u32> for &'a BigInt
[src][+]
impl<'a, 'b> Pow<&'b u64> for &'a BigInt
[src][+]
impl<'a, 'b> Pow<&'b u8> for &'a BigInt
[src][+]
impl<'a, 'b> Pow<&'b usize> for &'a BigInt
[src][+]
impl<'a> Pow<BigUint> for &'a BigInt
[src][+]
impl<'a> Pow<u128> for &'a BigInt
[src][+]
impl<'a> Pow<u16> for &'a BigInt
[src][+]
impl<'a> Pow<u32> for &'a BigInt
[src][+]
impl<'a> Pow<u64> for &'a BigInt
[src][+]
impl<'a> Pow<u8> for &'a BigInt
[src][+]
impl<'a> Pow<usize> for &'a BigInt
[src][+]
impl<T> Product<T> for BigInt where
BigInt: Mul<T>,
<BigInt as Mul<T>>::Output == BigInt,
[src][+]
BigInt: Mul<T>,
<BigInt as Mul<T>>::Output == BigInt,
impl<'a> Rem<&'a BigInt> for BigInt
[src][+]
impl<'a> Rem<&'a i128> for BigInt
[src][+]
impl<'a> Rem<&'a i16> for BigInt
[src][+]
impl<'a> Rem<&'a i32> for BigInt
[src][+]
impl<'a> Rem<&'a i64> for BigInt
[src][+]
impl<'a> Rem<&'a i8> for BigInt
[src][+]
impl<'a> Rem<&'a isize> for BigInt
[src][+]
impl<'a> Rem<&'a u128> for BigInt
[src][+]
impl<'a> Rem<&'a u16> for BigInt
[src][+]
impl<'a> Rem<&'a u32> for BigInt
[src][+]
impl<'a> Rem<&'a u64> for BigInt
[src][+]
impl<'a> Rem<&'a u8> for BigInt
[src][+]
impl<'a> Rem<&'a usize> for BigInt
[src][+]
impl<'a, 'b> Rem<&'b BigInt> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b i128> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b i16> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b i32> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b i64> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b i8> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b isize> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b u128> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b u16> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b u32> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b u64> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b u8> for &'a BigInt
[src][+]
impl<'a, 'b> Rem<&'b usize> for &'a BigInt
[src][+]
impl Rem<BigInt> for BigInt
[src][+]
impl<'a> Rem<BigInt> for &'a BigInt
[src][+]
impl Rem<i128> for BigInt
[src][+]
impl<'a> Rem<i128> for &'a BigInt
[src][+]
impl<'a> Rem<i16> for &'a BigInt
[src][+]
impl Rem<i16> for BigInt
[src][+]
impl Rem<i32> for BigInt
[src][+]
impl<'a> Rem<i32> for &'a BigInt
[src][+]
impl<'a> Rem<i64> for &'a BigInt
[src][+]
impl Rem<i64> for BigInt
[src][+]
impl Rem<i8> for BigInt
[src][+]
impl<'a> Rem<i8> for &'a BigInt
[src][+]
impl<'a> Rem<isize> for &'a BigInt
[src][+]
impl Rem<isize> for BigInt
[src][+]
impl<'a> Rem<u128> for &'a BigInt
[src][+]
impl Rem<u128> for BigInt
[src][+]
impl<'a> Rem<u16> for &'a BigInt
[src][+]
impl Rem<u16> for BigInt
[src][+]
impl<'a> Rem<u32> for &'a BigInt
[src][+]
impl Rem<u32> for BigInt
[src][+]
impl Rem<u64> for BigInt
[src][+]
impl<'a> Rem<u64> for &'a BigInt
[src][+]
impl Rem<u8> for BigInt
[src][+]
impl<'a> Rem<u8> for &'a BigInt
[src][+]
impl Rem<usize> for BigInt
[src][+]
impl<'a> Rem<usize> for &'a BigInt
[src][+]
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 Shl<usize> for BigInt
[src][+]
impl<'a> Shl<usize> for &'a BigInt
[src][+]
impl ShlAssign<usize> for BigInt
[src][+]
impl Shr<usize> for BigInt
[src][+]
impl<'a> Shr<usize> for &'a BigInt
[src][+]
impl ShrAssign<usize> for BigInt
[src][+]
impl Signed for BigInt
[src][+]
impl<'a> Sub<&'a BigInt> for BigInt
[src][+]
impl<'a> Sub<&'a i128> for BigInt
[src][+]
impl<'a> Sub<&'a i16> for BigInt
[src][+]
impl<'a> Sub<&'a i32> for BigInt
[src][+]
impl<'a> Sub<&'a i64> for BigInt
[src][+]
impl<'a> Sub<&'a i8> for BigInt
[src][+]
impl<'a> Sub<&'a isize> for BigInt
[src][+]
impl<'a> Sub<&'a u128> for BigInt
[src][+]
impl<'a> Sub<&'a u16> for BigInt
[src][+]
impl<'a> Sub<&'a u32> for BigInt
[src][+]
impl<'a> Sub<&'a u64> for BigInt
[src][+]
impl<'a> Sub<&'a u8> for BigInt
[src][+]
impl<'a> Sub<&'a usize> for BigInt
[src][+]
impl<'a, 'b> Sub<&'b BigInt> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b i128> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b i16> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b i32> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b i64> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b i8> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b isize> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b u128> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b u16> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b u32> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b u64> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b u8> for &'a BigInt
[src][+]
impl<'a, 'b> Sub<&'b usize> for &'a BigInt
[src][+]
impl Sub<BigInt> for BigInt
[src][+]
impl<'a> Sub<BigInt> for &'a BigInt
[src][+]
impl<'a> Sub<i128> for &'a BigInt
[src][+]
impl Sub<i128> for BigInt
[src][+]
impl Sub<i16> for BigInt
[src][+]
impl<'a> Sub<i16> for &'a BigInt
[src][+]
impl Sub<i32> for BigInt
[src][+]
impl<'a> Sub<i32> for &'a BigInt
[src][+]
impl<'a> Sub<i64> for &'a BigInt
[src][+]
impl Sub<i64> for BigInt
[src][+]
impl<'a> Sub<i8> for &'a BigInt
[src][+]
impl Sub<i8> for BigInt
[src][+]
impl Sub<isize> for BigInt
[src][+]
impl<'a> Sub<isize> for &'a BigInt
[src][+]
impl<'a> Sub<u128> for &'a BigInt
[src][+]
impl Sub<u128> for BigInt
[src][+]
impl Sub<u16> for BigInt
[src][+]
impl<'a> Sub<u16> for &'a BigInt
[src][+]
impl Sub<u32> for BigInt
[src][+]
impl<'a> Sub<u32> for &'a BigInt
[src][+]
impl<'a> Sub<u64> for &'a BigInt
[src][+]
impl Sub<u64> for BigInt
[src][+]
impl<'a> Sub<u8> for &'a BigInt
[src][+]
impl Sub<u8> for BigInt
[src][+]
impl Sub<usize> for BigInt
[src][+]
impl<'a> Sub<usize> for &'a BigInt
[src][+]
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][+]
BigInt: Add<T>,
<BigInt as Add<T>>::Output == BigInt,
impl ToBigInt for BigInt
[src][+]
impl ToBigUint for BigInt
[src][+]
impl ToPrimitive for BigInt
[src][+]
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][+]
T: 'static + ?Sized,
impl<I> Average for I where
I: Integer + Shr<usize, Output = I>,
&'a I: for<'b, 'a> BitAnd<&'b I>,
&'a I: for<'b, 'a> BitOr<&'b I>,
&'a I: for<'b, 'a> 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][+]
I: Integer + Shr<usize, Output = I>,
&'a I: for<'b, 'a> BitAnd<&'b I>,
&'a I: for<'b, 'a> BitOr<&'b I>,
&'a I: for<'b, 'a> 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,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> NumAssign for T where
T: Num + NumAssignOps<T>,
[src]
T: Num + NumAssignOps<T>,
impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
[src]
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
impl<T> NumAssignRef for T where
T: NumAssign + for<'r> NumAssignOps<&'r T>,
[src]
T: NumAssign + for<'r> NumAssignOps<&'r T>,
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]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T> NumRef for T where
T: Num + for<'r> NumOps<&'r T, T>,
[src]
T: Num + for<'r> NumOps<&'r T, T>,
impl<T, Base> RefNum<Base> for T where
T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>,
[src]
T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized,
[src][+]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,