Struct num_bigint_dig::BigInt 
source · pub struct BigInt { /* private fields */ }Expand description
A big signed integer type.
Implementations§
source§impl BigInt
 
impl BigInt
sourcepub fn new(sign: Sign, digits: Vec<u32>) -> BigInt
 
pub fn new(sign: Sign, digits: Vec<u32>) -> BigInt
Creates and initializes a BigInt.
The digits are in little-endian base 232.
sourcepub fn from_biguint(sign: Sign, data: BigUint) -> BigInt
 
pub fn from_biguint(sign: Sign, data: BigUint) -> BigInt
Creates and initializes a BigInt.
The digits are in little-endian base 232.
sourcepub fn from_slice(sign: Sign, slice: &[u32]) -> BigInt
 
pub fn from_slice(sign: Sign, slice: &[u32]) -> BigInt
Creates and initializes a BigInt.
sourcepub fn from_slice_native(sign: Sign, slice: &[u64]) -> BigInt
 
pub fn from_slice_native(sign: Sign, slice: &[u64]) -> BigInt
Creates and initializes a BigInt using BigDigits.
sourcepub fn assign_from_slice(&mut self, sign: Sign, slice: &[u32])
 
pub fn assign_from_slice(&mut self, sign: Sign, slice: &[u32])
Reinitializes a BigInt.
sourcepub fn assign_from_slice_native(&mut self, sign: Sign, slice: &[u64])
 
pub fn assign_from_slice_native(&mut self, sign: Sign, slice: &[u64])
Reinitializes a BigInt, using native BigDigits.
sourcepub fn from_bytes_be(sign: Sign, bytes: &[u8]) -> BigInt
 
pub fn from_bytes_be(sign: Sign, bytes: &[u8]) -> BigInt
Creates and initializes a BigInt.
The bytes are in big-endian byte order.
§Examples
use num_bigint_dig::{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());sourcepub fn from_bytes_le(sign: Sign, bytes: &[u8]) -> BigInt
 
pub fn from_bytes_le(sign: Sign, bytes: &[u8]) -> BigInt
Creates and initializes a BigInt.
The bytes are in little-endian byte order.
sourcepub fn from_signed_bytes_be(digits: &[u8]) -> BigInt
 
pub fn from_signed_bytes_be(digits: &[u8]) -> BigInt
Creates and initializes a BigInt from an array of bytes in
two’s complement binary representation.
The digits are in big-endian base 28.
sourcepub fn from_signed_bytes_le(digits: &[u8]) -> BigInt
 
pub fn from_signed_bytes_le(digits: &[u8]) -> BigInt
Creates and initializes a BigInt from an array of bytes in two’s complement.
The digits are in little-endian base 28.
sourcepub fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigInt>
 
pub fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigInt>
Creates and initializes a BigInt.
§Examples
use num_bigint_dig::{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);sourcepub fn from_radix_be(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>
 
pub fn from_radix_be(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>
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_dig::{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));sourcepub fn from_radix_le(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>
 
pub fn from_radix_le(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>
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_dig::{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));sourcepub fn to_bytes_be(&self) -> (Sign, Vec<u8>)
 
pub fn to_bytes_be(&self) -> (Sign, Vec<u8>)
Returns the sign and the byte representation of the BigInt in big-endian byte order.
§Examples
use num_bigint_dig::{ToBigInt, Sign};
let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_bytes_be(), (Sign::Minus, vec![4, 101]));sourcepub fn to_bytes_le(&self) -> (Sign, Vec<u8>)
 
pub fn to_bytes_le(&self) -> (Sign, Vec<u8>)
Returns the sign and the byte representation of the BigInt in little-endian byte order.
§Examples
use num_bigint_dig::{ToBigInt, Sign};
let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_bytes_le(), (Sign::Minus, vec![101, 4]));sourcepub fn to_signed_bytes_be(&self) -> Vec<u8>
 
pub fn to_signed_bytes_be(&self) -> Vec<u8>
Returns the two’s complement byte representation of the BigInt in big-endian byte order.
§Examples
use num_bigint_dig::ToBigInt;
let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_signed_bytes_be(), vec![251, 155]);sourcepub fn to_signed_bytes_le(&self) -> Vec<u8>
 
pub fn to_signed_bytes_le(&self) -> Vec<u8>
Returns the two’s complement byte representation of the BigInt in little-endian byte order.
§Examples
use num_bigint_dig::ToBigInt;
let i = -1125.to_bigint().unwrap();
assert_eq!(i.to_signed_bytes_le(), vec![155, 251]);sourcepub fn to_str_radix(&self, radix: u32) -> String
 
pub fn to_str_radix(&self, radix: u32) -> String
Returns the integer formatted as a string in the given radix.
radix must be in the range 2...36.
§Examples
use num_bigint_dig::BigInt;
let i = BigInt::parse_bytes(b"ff", 16).unwrap();
assert_eq!(i.to_str_radix(16), "ff");sourcepub fn to_radix_be(&self, radix: u32) -> (Sign, Vec<u8>)
 
pub fn to_radix_be(&self, radix: u32) -> (Sign, Vec<u8>)
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_dig::{BigInt, Sign};
assert_eq!(BigInt::from(-0xFFFFi64).to_radix_be(159),
           (Sign::Minus, vec![2, 94, 27]));
// 0xFFFF = 65535 = 2*(159^2) + 94*159 + 27sourcepub fn to_radix_le(&self, radix: u32) -> (Sign, Vec<u8>)
 
pub fn to_radix_le(&self, radix: u32) -> (Sign, Vec<u8>)
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_dig::{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)sourcepub fn sign(&self) -> Sign
 
pub fn sign(&self) -> Sign
Returns the sign of the BigInt as a Sign.
§Examples
use num_bigint_dig::{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);sourcepub fn bits(&self) -> usize
 
pub fn bits(&self) -> usize
Determines the fewest bits necessary to express the BigInt,
not including the sign.
sourcepub fn to_biguint(&self) -> Option<BigUint>
 
pub fn to_biguint(&self) -> Option<BigUint>
Converts this BigInt into a BigUint, if it’s not negative.
pub fn checked_add(&self, v: &BigInt) -> Option<BigInt>
pub fn checked_sub(&self, v: &BigInt) -> Option<BigInt>
pub fn checked_mul(&self, v: &BigInt) -> Option<BigInt>
pub fn checked_div(&self, v: &BigInt) -> Option<BigInt>
sourcepub fn modpow(&self, exponent: &Self, modulus: &Self) -> Self
 
pub fn modpow(&self, exponent: &Self, modulus: &Self) -> Self
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.
sourcepub fn sqrt(&self) -> Self
 
pub fn sqrt(&self) -> Self
Returns the truncated principal square root of self –
see Roots::sqrt.
sourcepub fn cbrt(&self) -> Self
 
pub fn cbrt(&self) -> Self
Returns the truncated principal cube root of self –
see Roots::cbrt.
sourcepub fn nth_root(&self, n: u32) -> Self
 
pub fn nth_root(&self, n: u32) -> Self
Returns the truncated principal nth root of self –
See Roots::nth_root.
pub fn get_limb(&self, n: usize) -> u64
pub fn trailing_zeros(&self) -> Option<usize>
Trait Implementations§
source§impl<'a> AddAssign<&'a BigInt> for BigInt
 
impl<'a> AddAssign<&'a BigInt> for BigInt
source§fn add_assign(&mut self, other: &BigInt)
 
fn add_assign(&mut self, other: &BigInt)
+= operation. Read moresource§impl AddAssign<i128> for BigInt
 
impl AddAssign<i128> for BigInt
source§fn add_assign(&mut self, other: i128)
 
fn add_assign(&mut self, other: i128)
+= operation. Read moresource§impl AddAssign<i16> for BigInt
 
impl AddAssign<i16> for BigInt
source§fn add_assign(&mut self, other: i16)
 
fn add_assign(&mut self, other: i16)
+= operation. Read moresource§impl AddAssign<i32> for BigInt
 
impl AddAssign<i32> for BigInt
source§fn add_assign(&mut self, other: i32)
 
fn add_assign(&mut self, other: i32)
+= operation. Read moresource§impl AddAssign<i64> for BigInt
 
impl AddAssign<i64> for BigInt
source§fn add_assign(&mut self, other: i64)
 
fn add_assign(&mut self, other: i64)
+= operation. Read moresource§impl AddAssign<i8> for BigInt
 
impl AddAssign<i8> for BigInt
source§fn add_assign(&mut self, other: i8)
 
fn add_assign(&mut self, other: i8)
+= operation. Read moresource§impl AddAssign<isize> for BigInt
 
impl AddAssign<isize> for BigInt
source§fn add_assign(&mut self, other: isize)
 
fn add_assign(&mut self, other: isize)
+= operation. Read moresource§impl AddAssign<u128> for BigInt
 
impl AddAssign<u128> for BigInt
source§fn add_assign(&mut self, other: u128)
 
fn add_assign(&mut self, other: u128)
+= operation. Read moresource§impl AddAssign<u16> for BigInt
 
impl AddAssign<u16> for BigInt
source§fn add_assign(&mut self, other: u16)
 
fn add_assign(&mut self, other: u16)
+= operation. Read moresource§impl AddAssign<u32> for BigInt
 
impl AddAssign<u32> for BigInt
source§fn add_assign(&mut self, other: u32)
 
fn add_assign(&mut self, other: u32)
+= operation. Read moresource§impl AddAssign<u64> for BigInt
 
impl AddAssign<u64> for BigInt
source§fn add_assign(&mut self, other: u64)
 
fn add_assign(&mut self, other: u64)
+= operation. Read moresource§impl AddAssign<u8> for BigInt
 
impl AddAssign<u8> for BigInt
source§fn add_assign(&mut self, other: u8)
 
fn add_assign(&mut self, other: u8)
+= operation. Read moresource§impl AddAssign<usize> for BigInt
 
impl AddAssign<usize> for BigInt
source§fn add_assign(&mut self, other: usize)
 
fn add_assign(&mut self, other: usize)
+= operation. Read moresource§impl AddAssign for BigInt
 
impl AddAssign for BigInt
source§fn add_assign(&mut self, other: BigInt)
 
fn add_assign(&mut self, other: BigInt)
+= operation. Read moresource§impl<'a> BitAndAssign<&'a BigInt> for BigInt
 
impl<'a> BitAndAssign<&'a BigInt> for BigInt
source§fn bitand_assign(&mut self, other: &BigInt)
 
fn bitand_assign(&mut self, other: &BigInt)
&= operation. Read moresource§impl BitAndAssign for BigInt
 
impl BitAndAssign for BigInt
source§fn bitand_assign(&mut self, other: BigInt)
 
fn bitand_assign(&mut self, other: BigInt)
&= operation. Read moresource§impl<'a> BitOrAssign<&'a BigInt> for BigInt
 
impl<'a> BitOrAssign<&'a BigInt> for BigInt
source§fn bitor_assign(&mut self, other: &BigInt)
 
fn bitor_assign(&mut self, other: &BigInt)
|= operation. Read moresource§impl BitOrAssign for BigInt
 
impl BitOrAssign for BigInt
source§fn bitor_assign(&mut self, other: BigInt)
 
fn bitor_assign(&mut self, other: BigInt)
|= operation. Read moresource§impl<'a> BitXorAssign<&'a BigInt> for BigInt
 
impl<'a> BitXorAssign<&'a BigInt> for BigInt
source§fn bitxor_assign(&mut self, other: &BigInt)
 
fn bitxor_assign(&mut self, other: &BigInt)
^= operation. Read moresource§impl BitXorAssign for BigInt
 
impl BitXorAssign for BigInt
source§fn bitxor_assign(&mut self, other: BigInt)
 
fn bitxor_assign(&mut self, other: BigInt)
^= operation. Read moresource§impl CheckedAdd for BigInt
 
impl CheckedAdd for BigInt
source§fn checked_add(&self, v: &BigInt) -> Option<BigInt>
 
fn checked_add(&self, v: &BigInt) -> Option<BigInt>
None is
returned.source§impl CheckedDiv for BigInt
 
impl CheckedDiv for BigInt
source§fn checked_div(&self, v: &BigInt) -> Option<BigInt>
 
fn checked_div(&self, v: &BigInt) -> Option<BigInt>
None is returned.source§impl CheckedMul for BigInt
 
impl CheckedMul for BigInt
source§fn checked_mul(&self, v: &BigInt) -> Option<BigInt>
 
fn checked_mul(&self, v: &BigInt) -> Option<BigInt>
None is returned.source§impl CheckedSub for BigInt
 
impl CheckedSub for BigInt
source§fn checked_sub(&self, v: &BigInt) -> Option<BigInt>
 
fn checked_sub(&self, v: &BigInt) -> Option<BigInt>
None is returned.source§impl Distribution<BigInt> for RandomBits
 
impl Distribution<BigInt> for RandomBits
source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> BigInt
 
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> BigInt
T, using rng as the source of randomness.source§impl<'a> DivAssign<&'a BigInt> for BigInt
 
impl<'a> DivAssign<&'a BigInt> for BigInt
source§fn div_assign(&mut self, other: &BigInt)
 
fn div_assign(&mut self, other: &BigInt)
/= operation. Read moresource§impl DivAssign<i128> for BigInt
 
impl DivAssign<i128> for BigInt
source§fn div_assign(&mut self, other: i128)
 
fn div_assign(&mut self, other: i128)
/= operation. Read moresource§impl DivAssign<i16> for BigInt
 
impl DivAssign<i16> for BigInt
source§fn div_assign(&mut self, other: i16)
 
fn div_assign(&mut self, other: i16)
/= operation. Read moresource§impl DivAssign<i32> for BigInt
 
impl DivAssign<i32> for BigInt
source§fn div_assign(&mut self, other: i32)
 
fn div_assign(&mut self, other: i32)
/= operation. Read moresource§impl DivAssign<i64> for BigInt
 
impl DivAssign<i64> for BigInt
source§fn div_assign(&mut self, other: i64)
 
fn div_assign(&mut self, other: i64)
/= operation. Read moresource§impl DivAssign<i8> for BigInt
 
impl DivAssign<i8> for BigInt
source§fn div_assign(&mut self, other: i8)
 
fn div_assign(&mut self, other: i8)
/= operation. Read moresource§impl DivAssign<isize> for BigInt
 
impl DivAssign<isize> for BigInt
source§fn div_assign(&mut self, other: isize)
 
fn div_assign(&mut self, other: isize)
/= operation. Read moresource§impl DivAssign<u128> for BigInt
 
impl DivAssign<u128> for BigInt
source§fn div_assign(&mut self, other: u128)
 
fn div_assign(&mut self, other: u128)
/= operation. Read moresource§impl DivAssign<u16> for BigInt
 
impl DivAssign<u16> for BigInt
source§fn div_assign(&mut self, other: u16)
 
fn div_assign(&mut self, other: u16)
/= operation. Read moresource§impl DivAssign<u32> for BigInt
 
impl DivAssign<u32> for BigInt
source§fn div_assign(&mut self, other: u32)
 
fn div_assign(&mut self, other: u32)
/= operation. Read moresource§impl DivAssign<u64> for BigInt
 
impl DivAssign<u64> for BigInt
source§fn div_assign(&mut self, other: u64)
 
fn div_assign(&mut self, other: u64)
/= operation. Read moresource§impl DivAssign<u8> for BigInt
 
impl DivAssign<u8> for BigInt
source§fn div_assign(&mut self, other: u8)
 
fn div_assign(&mut self, other: u8)
/= operation. Read moresource§impl DivAssign<usize> for BigInt
 
impl DivAssign<usize> for BigInt
source§fn div_assign(&mut self, other: usize)
 
fn div_assign(&mut self, other: usize)
/= operation. Read moresource§impl DivAssign for BigInt
 
impl DivAssign for BigInt
source§fn div_assign(&mut self, other: BigInt)
 
fn div_assign(&mut self, other: BigInt)
/= operation. Read moresource§impl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigInt
 
impl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigInt
source§impl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigUint
 
impl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigUint
source§impl<'a> ExtendedGcd<&'a BigInt> for BigInt
 
impl<'a> ExtendedGcd<&'a BigInt> for BigInt
source§impl<'a> ExtendedGcd<&'a BigInt> for BigUint
 
impl<'a> ExtendedGcd<&'a BigInt> for BigUint
source§impl<'a, 'b> ExtendedGcd<&'b BigUint> for &'a BigInt
 
impl<'a, 'b> ExtendedGcd<&'b BigUint> for &'a BigInt
source§impl<'a> ExtendedGcd<&'a BigUint> for BigInt
 
impl<'a> ExtendedGcd<&'a BigUint> for BigInt
source§impl FromPrimitive for BigInt
 
impl FromPrimitive for BigInt
source§fn from_i64(n: i64) -> Option<BigInt>
 
fn from_i64(n: i64) -> Option<BigInt>
i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i128(n: i128) -> Option<BigInt>
 
fn from_i128(n: i128) -> Option<BigInt>
i128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moresource§fn from_u64(n: u64) -> Option<BigInt>
 
fn from_u64(n: u64) -> Option<BigInt>
u64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u128(n: u128) -> Option<BigInt>
 
fn from_u128(n: u128) -> Option<BigInt>
u128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moresource§fn from_f64(n: f64) -> Option<BigInt>
 
fn from_f64(n: f64) -> Option<BigInt>
f64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moresource§fn from_isize(n: isize) -> Option<Self>
 
fn from_isize(n: isize) -> Option<Self>
isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i8(n: i8) -> Option<Self>
 
fn from_i8(n: i8) -> Option<Self>
i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i16(n: i16) -> Option<Self>
 
fn from_i16(n: i16) -> Option<Self>
i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_i32(n: i32) -> Option<Self>
 
fn from_i32(n: i32) -> Option<Self>
i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_usize(n: usize) -> Option<Self>
 
fn from_usize(n: usize) -> Option<Self>
usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u8(n: u8) -> Option<Self>
 
fn from_u8(n: u8) -> Option<Self>
u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§fn from_u16(n: u16) -> Option<Self>
 
fn from_u16(n: u16) -> Option<Self>
u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.source§impl FromStr for BigInt
 
impl FromStr for BigInt
source§type Err = ParseBigIntError
 
type Err = ParseBigIntError
source§impl Integer for BigInt
 
impl Integer for BigInt
source§fn gcd(&self, other: &BigInt) -> BigInt
 
fn gcd(&self, other: &BigInt) -> BigInt
Calculates the Greatest Common Divisor (GCD) of the number and other.
The result is always positive.
source§fn lcm(&self, other: &BigInt) -> BigInt
 
fn lcm(&self, other: &BigInt) -> BigInt
Calculates the Lowest Common Multiple (LCM) of the number and other.
source§fn divides(&self, other: &BigInt) -> bool
 👎Deprecated: Please use is_multiple_of instead
fn divides(&self, other: &BigInt) -> bool
Deprecated, use is_multiple_of instead.
source§fn is_multiple_of(&self, other: &BigInt) -> bool
 
fn is_multiple_of(&self, other: &BigInt) -> bool
Returns true if the number is a multiple of other.
source§fn div_rem(&self, other: &BigInt) -> (BigInt, BigInt)
 
fn div_rem(&self, other: &BigInt) -> (BigInt, BigInt)
(quotient, remainder). Read moresource§fn div_mod_floor(&self, other: &BigInt) -> (BigInt, BigInt)
 
fn div_mod_floor(&self, other: &BigInt) -> (BigInt, BigInt)
(quotient, remainder). Read moresource§fn gcd_lcm(&self, other: &Self) -> (Self, Self)
 
fn gcd_lcm(&self, other: &Self) -> (Self, Self)
source§fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
    Self: Clone,
 
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
    Self: Clone,
source§fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self)where
    Self: Clone + Signed,
 
fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self)where
    Self: Clone + Signed,
source§fn next_multiple_of(&self, other: &Self) -> Selfwhere
    Self: Clone,
 
fn next_multiple_of(&self, other: &Self) -> Selfwhere
    Self: Clone,
source§fn prev_multiple_of(&self, other: &Self) -> Selfwhere
    Self: Clone,
 
fn prev_multiple_of(&self, other: &Self) -> Selfwhere
    Self: Clone,
source§impl IntoBigInt for BigInt
 
impl IntoBigInt for BigInt
source§fn into_bigint(self) -> Option<BigInt>
 
fn into_bigint(self) -> Option<BigInt>
self to a BigInt.source§impl IntoBigUint for BigInt
 
impl IntoBigUint for BigInt
source§fn into_biguint(self) -> Option<BigUint>
 
fn into_biguint(self) -> Option<BigUint>
self to a BigUint.source§impl<'a, 'b> ModInverse<&'b BigInt> for &'a BigInt
 
impl<'a, 'b> ModInverse<&'b BigInt> for &'a BigInt
source§impl<'a, 'b> ModInverse<&'b BigInt> for &'a BigUint
 
impl<'a, 'b> ModInverse<&'b BigInt> for &'a BigUint
source§impl<'a> ModInverse<&'a BigInt> for BigInt
 
impl<'a> ModInverse<&'a BigInt> for BigInt
source§impl<'a> ModInverse<&'a BigInt> for BigUint
 
impl<'a> ModInverse<&'a BigInt> for BigUint
source§impl<'a, 'b> ModInverse<&'b BigUint> for &'a BigInt
 
impl<'a, 'b> ModInverse<&'b BigUint> for &'a BigInt
source§impl<'a> ModInverse<&'a BigUint> for BigInt
 
impl<'a> ModInverse<&'a BigUint> for BigInt
source§impl ModInverse<BigInt> for BigUint
 
impl ModInverse<BigInt> for BigUint
source§impl<'a> MulAssign<&'a BigInt> for BigInt
 
impl<'a> MulAssign<&'a BigInt> for BigInt
source§fn mul_assign(&mut self, other: &BigInt)
 
fn mul_assign(&mut self, other: &BigInt)
*= operation. Read moresource§impl MulAssign<i128> for BigInt
 
impl MulAssign<i128> for BigInt
source§fn mul_assign(&mut self, other: i128)
 
fn mul_assign(&mut self, other: i128)
*= operation. Read moresource§impl MulAssign<i16> for BigInt
 
impl MulAssign<i16> for BigInt
source§fn mul_assign(&mut self, other: i16)
 
fn mul_assign(&mut self, other: i16)
*= operation. Read moresource§impl MulAssign<i32> for BigInt
 
impl MulAssign<i32> for BigInt
source§fn mul_assign(&mut self, other: i32)
 
fn mul_assign(&mut self, other: i32)
*= operation. Read moresource§impl MulAssign<i64> for BigInt
 
impl MulAssign<i64> for BigInt
source§fn mul_assign(&mut self, other: i64)
 
fn mul_assign(&mut self, other: i64)
*= operation. Read moresource§impl MulAssign<i8> for BigInt
 
impl MulAssign<i8> for BigInt
source§fn mul_assign(&mut self, other: i8)
 
fn mul_assign(&mut self, other: i8)
*= operation. Read moresource§impl MulAssign<isize> for BigInt
 
impl MulAssign<isize> for BigInt
source§fn mul_assign(&mut self, other: isize)
 
fn mul_assign(&mut self, other: isize)
*= operation. Read moresource§impl MulAssign<u128> for BigInt
 
impl MulAssign<u128> for BigInt
source§fn mul_assign(&mut self, other: u128)
 
fn mul_assign(&mut self, other: u128)
*= operation. Read moresource§impl MulAssign<u16> for BigInt
 
impl MulAssign<u16> for BigInt
source§fn mul_assign(&mut self, other: u16)
 
fn mul_assign(&mut self, other: u16)
*= operation. Read moresource§impl MulAssign<u32> for BigInt
 
impl MulAssign<u32> for BigInt
source§fn mul_assign(&mut self, other: u32)
 
fn mul_assign(&mut self, other: u32)
*= operation. Read moresource§impl MulAssign<u64> for BigInt
 
impl MulAssign<u64> for BigInt
source§fn mul_assign(&mut self, other: u64)
 
fn mul_assign(&mut self, other: u64)
*= operation. Read moresource§impl MulAssign<u8> for BigInt
 
impl MulAssign<u8> for BigInt
source§fn mul_assign(&mut self, other: u8)
 
fn mul_assign(&mut self, other: u8)
*= operation. Read moresource§impl MulAssign<usize> for BigInt
 
impl MulAssign<usize> for BigInt
source§fn mul_assign(&mut self, other: usize)
 
fn mul_assign(&mut self, other: usize)
*= operation. Read moresource§impl MulAssign for BigInt
 
impl MulAssign for BigInt
source§fn mul_assign(&mut self, other: BigInt)
 
fn mul_assign(&mut self, other: BigInt)
*= operation. Read moresource§impl Num for BigInt
 
impl Num for BigInt
source§fn from_str_radix(s: &str, radix: u32) -> Result<BigInt, ParseBigIntError>
 
fn from_str_radix(s: &str, radix: u32) -> Result<BigInt, ParseBigIntError>
Creates and initializes a BigInt.
type FromStrRadixErr = ParseBigIntError
source§impl Ord for BigInt
 
impl Ord for BigInt
source§impl PartialOrd for BigInt
 
impl PartialOrd for BigInt
source§impl<'a> RemAssign<&'a BigInt> for BigInt
 
impl<'a> RemAssign<&'a BigInt> for BigInt
source§fn rem_assign(&mut self, other: &BigInt)
 
fn rem_assign(&mut self, other: &BigInt)
%= operation. Read moresource§impl RemAssign<i128> for BigInt
 
impl RemAssign<i128> for BigInt
source§fn rem_assign(&mut self, other: i128)
 
fn rem_assign(&mut self, other: i128)
%= operation. Read moresource§impl RemAssign<i16> for BigInt
 
impl RemAssign<i16> for BigInt
source§fn rem_assign(&mut self, other: i16)
 
fn rem_assign(&mut self, other: i16)
%= operation. Read moresource§impl RemAssign<i32> for BigInt
 
impl RemAssign<i32> for BigInt
source§fn rem_assign(&mut self, other: i32)
 
fn rem_assign(&mut self, other: i32)
%= operation. Read moresource§impl RemAssign<i64> for BigInt
 
impl RemAssign<i64> for BigInt
source§fn rem_assign(&mut self, other: i64)
 
fn rem_assign(&mut self, other: i64)
%= operation. Read moresource§impl RemAssign<i8> for BigInt
 
impl RemAssign<i8> for BigInt
source§fn rem_assign(&mut self, other: i8)
 
fn rem_assign(&mut self, other: i8)
%= operation. Read moresource§impl RemAssign<isize> for BigInt
 
impl RemAssign<isize> for BigInt
source§fn rem_assign(&mut self, other: isize)
 
fn rem_assign(&mut self, other: isize)
%= operation. Read moresource§impl RemAssign<u128> for BigInt
 
impl RemAssign<u128> for BigInt
source§fn rem_assign(&mut self, other: u128)
 
fn rem_assign(&mut self, other: u128)
%= operation. Read moresource§impl RemAssign<u16> for BigInt
 
impl RemAssign<u16> for BigInt
source§fn rem_assign(&mut self, other: u16)
 
fn rem_assign(&mut self, other: u16)
%= operation. Read moresource§impl RemAssign<u32> for BigInt
 
impl RemAssign<u32> for BigInt
source§fn rem_assign(&mut self, other: u32)
 
fn rem_assign(&mut self, other: u32)
%= operation. Read moresource§impl RemAssign<u64> for BigInt
 
impl RemAssign<u64> for BigInt
source§fn rem_assign(&mut self, other: u64)
 
fn rem_assign(&mut self, other: u64)
%= operation. Read moresource§impl RemAssign<u8> for BigInt
 
impl RemAssign<u8> for BigInt
source§fn rem_assign(&mut self, other: u8)
 
fn rem_assign(&mut self, other: u8)
%= operation. Read moresource§impl RemAssign<usize> for BigInt
 
impl RemAssign<usize> for BigInt
source§fn rem_assign(&mut self, other: usize)
 
fn rem_assign(&mut self, other: usize)
%= operation. Read moresource§impl RemAssign for BigInt
 
impl RemAssign for BigInt
source§fn rem_assign(&mut self, other: BigInt)
 
fn rem_assign(&mut self, other: BigInt)
%= operation. Read moresource§impl Roots for BigInt
 
impl Roots for BigInt
source§impl SampleUniform for BigInt
 
impl SampleUniform for BigInt
source§type Sampler = UniformBigInt
 
type Sampler = UniformBigInt
UniformSampler implementation supporting type X.source§impl ShlAssign<usize> for BigInt
 
impl ShlAssign<usize> for BigInt
source§fn shl_assign(&mut self, rhs: usize)
 
fn shl_assign(&mut self, rhs: usize)
<<= operation. Read moresource§impl ShrAssign<usize> for BigInt
 
impl ShrAssign<usize> for BigInt
source§fn shr_assign(&mut self, rhs: usize)
 
fn shr_assign(&mut self, rhs: usize)
>>= operation. Read moresource§impl Signed for BigInt
 
impl Signed for BigInt
source§fn is_positive(&self) -> bool
 
fn is_positive(&self) -> bool
source§fn is_negative(&self) -> bool
 
fn is_negative(&self) -> bool
source§impl<'a> SubAssign<&'a BigInt> for BigInt
 
impl<'a> SubAssign<&'a BigInt> for BigInt
source§fn sub_assign(&mut self, other: &BigInt)
 
fn sub_assign(&mut self, other: &BigInt)
-= operation. Read moresource§impl SubAssign<i128> for BigInt
 
impl SubAssign<i128> for BigInt
source§fn sub_assign(&mut self, other: i128)
 
fn sub_assign(&mut self, other: i128)
-= operation. Read moresource§impl SubAssign<i16> for BigInt
 
impl SubAssign<i16> for BigInt
source§fn sub_assign(&mut self, other: i16)
 
fn sub_assign(&mut self, other: i16)
-= operation. Read moresource§impl SubAssign<i32> for BigInt
 
impl SubAssign<i32> for BigInt
source§fn sub_assign(&mut self, other: i32)
 
fn sub_assign(&mut self, other: i32)
-= operation. Read moresource§impl SubAssign<i64> for BigInt
 
impl SubAssign<i64> for BigInt
source§fn sub_assign(&mut self, other: i64)
 
fn sub_assign(&mut self, other: i64)
-= operation. Read moresource§impl SubAssign<i8> for BigInt
 
impl SubAssign<i8> for BigInt
source§fn sub_assign(&mut self, other: i8)
 
fn sub_assign(&mut self, other: i8)
-= operation. Read moresource§impl SubAssign<isize> for BigInt
 
impl SubAssign<isize> for BigInt
source§fn sub_assign(&mut self, other: isize)
 
fn sub_assign(&mut self, other: isize)
-= operation. Read moresource§impl SubAssign<u128> for BigInt
 
impl SubAssign<u128> for BigInt
source§fn sub_assign(&mut self, other: u128)
 
fn sub_assign(&mut self, other: u128)
-= operation. Read moresource§impl SubAssign<u16> for BigInt
 
impl SubAssign<u16> for BigInt
source§fn sub_assign(&mut self, other: u16)
 
fn sub_assign(&mut self, other: u16)
-= operation. Read moresource§impl SubAssign<u32> for BigInt
 
impl SubAssign<u32> for BigInt
source§fn sub_assign(&mut self, other: u32)
 
fn sub_assign(&mut self, other: u32)
-= operation. Read moresource§impl SubAssign<u64> for BigInt
 
impl SubAssign<u64> for BigInt
source§fn sub_assign(&mut self, other: u64)
 
fn sub_assign(&mut self, other: u64)
-= operation. Read moresource§impl SubAssign<u8> for BigInt
 
impl SubAssign<u8> for BigInt
source§fn sub_assign(&mut self, other: u8)
 
fn sub_assign(&mut self, other: u8)
-= operation. Read moresource§impl SubAssign<usize> for BigInt
 
impl SubAssign<usize> for BigInt
source§fn sub_assign(&mut self, other: usize)
 
fn sub_assign(&mut self, other: usize)
-= operation. Read moresource§impl SubAssign for BigInt
 
impl SubAssign for BigInt
source§fn sub_assign(&mut self, other: BigInt)
 
fn sub_assign(&mut self, other: BigInt)
-= operation. Read moresource§impl ToBigUint for BigInt
 
impl ToBigUint for BigInt
source§fn to_biguint(&self) -> Option<BigUint>
 
fn to_biguint(&self) -> Option<BigUint>
self to a BigUint.source§impl ToPrimitive for BigInt
 
impl ToPrimitive for BigInt
source§fn to_i64(&self) -> Option<i64>
 
fn to_i64(&self) -> Option<i64>
self to an i64. If the value cannot be
represented by an i64, then None is returned.source§fn to_i128(&self) -> Option<i128>
 
fn to_i128(&self) -> Option<i128>
self to an i128. If the value cannot be
represented by an i128 (i64 under the default implementation), then
None is returned. Read moresource§fn to_u64(&self) -> Option<u64>
 
fn to_u64(&self) -> Option<u64>
self to a u64. If the value cannot be
represented by a u64, then None is returned.source§fn to_u128(&self) -> Option<u128>
 
fn to_u128(&self) -> Option<u128>
self to a u128. If the value cannot be
represented by a u128 (u64 under the default implementation), then
None is returned. Read moresource§fn to_f32(&self) -> Option<f32>
 
fn to_f32(&self) -> Option<f32>
self to an f32. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f32.source§fn to_f64(&self) -> Option<f64>
 
fn to_f64(&self) -> Option<f64>
self to an f64. Overflows may map to positive
or negative inifinity, otherwise None is returned if the value cannot
be represented by an f64. Read moresource§fn to_isize(&self) -> Option<isize>
 
fn to_isize(&self) -> Option<isize>
self to an isize. If the value cannot be
represented by an isize, then None is returned.source§fn to_i8(&self) -> Option<i8>
 
fn to_i8(&self) -> Option<i8>
self to an i8. If the value cannot be
represented by an i8, then None is returned.source§fn to_i16(&self) -> Option<i16>
 
fn to_i16(&self) -> Option<i16>
self to an i16. If the value cannot be
represented by an i16, then None is returned.source§fn to_i32(&self) -> Option<i32>
 
fn to_i32(&self) -> Option<i32>
self to an i32. If the value cannot be
represented by an i32, then None is returned.source§fn to_usize(&self) -> Option<usize>
 
fn to_usize(&self) -> Option<usize>
self to a usize. If the value cannot be
represented by a usize, then None is returned.source§fn to_u8(&self) -> Option<u8>
 
fn to_u8(&self) -> Option<u8>
self to a u8. If the value cannot be
represented by a u8, then None is returned.impl Eq for BigInt
Auto Trait Implementations§
impl Freeze for BigInt
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 Twhere
    T: 'static + ?Sized,
 
impl<T> Any for Twhere
    T: 'static + ?Sized,
source§impl<I> Average for Iwhere
    &'a I: for<'a, 'b> BitAnd<&'b I, Output = I> + for<'a, 'b> BitOr<&'b I, Output = I> + for<'a, 'b> BitXor<&'b I, Output = I>,
    I: Integer + Shr<usize, Output = I>,
 
impl<I> Average for Iwhere
    &'a I: for<'a, 'b> BitAnd<&'b I, Output = I> + for<'a, 'b> BitOr<&'b I, Output = I> + for<'a, 'b> BitXor<&'b I, Output = I>,
    I: Integer + Shr<usize, Output = I>,
source§fn average_floor(&self, other: &I) -> I
 
fn average_floor(&self, other: &I) -> I
Returns the floor value of the average of self and other.
source§fn average_ceil(&self, other: &I) -> I
 
fn average_ceil(&self, other: &I) -> I
Returns the ceil value of the average of self and other.
§impl<T> Borrow<T> for Twhere
    T: ?Sized,
 
impl<T> Borrow<T> for Twhere
    T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
 
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)§impl<T, U> Into<U> for Twhere
    U: From<T>,
 
impl<T, U> Into<U> for Twhere
    U: From<T>,
source§impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
    Borrowed: SampleUniform,
 
impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
    Borrowed: SampleUniform,
source§fn borrow(&self) -> &Borrowed
 
fn borrow(&self) -> &Borrowed
Borrow::borrow