Struct num_bigint_dig::BigInt
source · pub struct BigInt { /* private fields */ }
Expand description
A big signed integer type.
Implementations
sourceimpl 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 BigDigit
s.
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 BigDigit
s.
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 + 27
sourcepub 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 n
th root of self
–
See Roots::nth_root.
pub fn get_limb(&self, n: usize) -> u64
pub fn trailing_zeros(&self) -> Option<usize>
Trait Implementations
sourceimpl<'a> AddAssign<&'a BigInt> for BigInt
impl<'a> AddAssign<&'a BigInt> for BigInt
sourcefn add_assign(&mut self, other: &BigInt)
fn add_assign(&mut self, other: &BigInt)
+=
operation. Read moresourceimpl AddAssign<BigInt> for BigInt
impl AddAssign<BigInt> for BigInt
sourcefn add_assign(&mut self, other: BigInt)
fn add_assign(&mut self, other: BigInt)
+=
operation. Read moresourceimpl AddAssign<i128> for BigInt
impl AddAssign<i128> for BigInt
sourcefn add_assign(&mut self, other: i128)
fn add_assign(&mut self, other: i128)
+=
operation. Read moresourceimpl AddAssign<i16> for BigInt
impl AddAssign<i16> for BigInt
sourcefn add_assign(&mut self, other: i16)
fn add_assign(&mut self, other: i16)
+=
operation. Read moresourceimpl AddAssign<i32> for BigInt
impl AddAssign<i32> for BigInt
sourcefn add_assign(&mut self, other: i32)
fn add_assign(&mut self, other: i32)
+=
operation. Read moresourceimpl AddAssign<i64> for BigInt
impl AddAssign<i64> for BigInt
sourcefn add_assign(&mut self, other: i64)
fn add_assign(&mut self, other: i64)
+=
operation. Read moresourceimpl AddAssign<i8> for BigInt
impl AddAssign<i8> for BigInt
sourcefn add_assign(&mut self, other: i8)
fn add_assign(&mut self, other: i8)
+=
operation. Read moresourceimpl AddAssign<isize> for BigInt
impl AddAssign<isize> for BigInt
sourcefn add_assign(&mut self, other: isize)
fn add_assign(&mut self, other: isize)
+=
operation. Read moresourceimpl AddAssign<u128> for BigInt
impl AddAssign<u128> for BigInt
sourcefn add_assign(&mut self, other: u128)
fn add_assign(&mut self, other: u128)
+=
operation. Read moresourceimpl AddAssign<u16> for BigInt
impl AddAssign<u16> for BigInt
sourcefn add_assign(&mut self, other: u16)
fn add_assign(&mut self, other: u16)
+=
operation. Read moresourceimpl AddAssign<u32> for BigInt
impl AddAssign<u32> for BigInt
sourcefn add_assign(&mut self, other: u32)
fn add_assign(&mut self, other: u32)
+=
operation. Read moresourceimpl AddAssign<u64> for BigInt
impl AddAssign<u64> for BigInt
sourcefn add_assign(&mut self, other: u64)
fn add_assign(&mut self, other: u64)
+=
operation. Read moresourceimpl AddAssign<u8> for BigInt
impl AddAssign<u8> for BigInt
sourcefn add_assign(&mut self, other: u8)
fn add_assign(&mut self, other: u8)
+=
operation. Read moresourceimpl AddAssign<usize> for BigInt
impl AddAssign<usize> for BigInt
sourcefn add_assign(&mut self, other: usize)
fn add_assign(&mut self, other: usize)
+=
operation. Read moresourceimpl<'a> BitAndAssign<&'a BigInt> for BigInt
impl<'a> BitAndAssign<&'a BigInt> for BigInt
sourcefn bitand_assign(&mut self, other: &BigInt)
fn bitand_assign(&mut self, other: &BigInt)
&=
operation. Read moresourceimpl BitAndAssign<BigInt> for BigInt
impl BitAndAssign<BigInt> for BigInt
sourcefn bitand_assign(&mut self, other: BigInt)
fn bitand_assign(&mut self, other: BigInt)
&=
operation. Read moresourceimpl<'a> BitOrAssign<&'a BigInt> for BigInt
impl<'a> BitOrAssign<&'a BigInt> for BigInt
sourcefn bitor_assign(&mut self, other: &BigInt)
fn bitor_assign(&mut self, other: &BigInt)
|=
operation. Read moresourceimpl BitOrAssign<BigInt> for BigInt
impl BitOrAssign<BigInt> for BigInt
sourcefn bitor_assign(&mut self, other: BigInt)
fn bitor_assign(&mut self, other: BigInt)
|=
operation. Read moresourceimpl<'a> BitXorAssign<&'a BigInt> for BigInt
impl<'a> BitXorAssign<&'a BigInt> for BigInt
sourcefn bitxor_assign(&mut self, other: &BigInt)
fn bitxor_assign(&mut self, other: &BigInt)
^=
operation. Read moresourceimpl BitXorAssign<BigInt> for BigInt
impl BitXorAssign<BigInt> for BigInt
sourcefn bitxor_assign(&mut self, other: BigInt)
fn bitxor_assign(&mut self, other: BigInt)
^=
operation. Read moresourceimpl CheckedAdd for BigInt
impl CheckedAdd for BigInt
sourceimpl CheckedDiv for BigInt
impl CheckedDiv for BigInt
sourceimpl CheckedMul for BigInt
impl CheckedMul for BigInt
sourceimpl CheckedSub for BigInt
impl CheckedSub for BigInt
sourceimpl<'de> Deserialize<'de> for BigInt
impl<'de> Deserialize<'de> for BigInt
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
sourceimpl Distribution<BigInt> for RandomBits
impl Distribution<BigInt> for RandomBits
sourcefn 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.sourceimpl<'a> DivAssign<&'a BigInt> for BigInt
impl<'a> DivAssign<&'a BigInt> for BigInt
sourcefn div_assign(&mut self, other: &BigInt)
fn div_assign(&mut self, other: &BigInt)
/=
operation. Read moresourceimpl DivAssign<BigInt> for BigInt
impl DivAssign<BigInt> for BigInt
sourcefn div_assign(&mut self, other: BigInt)
fn div_assign(&mut self, other: BigInt)
/=
operation. Read moresourceimpl DivAssign<i128> for BigInt
impl DivAssign<i128> for BigInt
sourcefn div_assign(&mut self, other: i128)
fn div_assign(&mut self, other: i128)
/=
operation. Read moresourceimpl DivAssign<i16> for BigInt
impl DivAssign<i16> for BigInt
sourcefn div_assign(&mut self, other: i16)
fn div_assign(&mut self, other: i16)
/=
operation. Read moresourceimpl DivAssign<i32> for BigInt
impl DivAssign<i32> for BigInt
sourcefn div_assign(&mut self, other: i32)
fn div_assign(&mut self, other: i32)
/=
operation. Read moresourceimpl DivAssign<i64> for BigInt
impl DivAssign<i64> for BigInt
sourcefn div_assign(&mut self, other: i64)
fn div_assign(&mut self, other: i64)
/=
operation. Read moresourceimpl DivAssign<i8> for BigInt
impl DivAssign<i8> for BigInt
sourcefn div_assign(&mut self, other: i8)
fn div_assign(&mut self, other: i8)
/=
operation. Read moresourceimpl DivAssign<isize> for BigInt
impl DivAssign<isize> for BigInt
sourcefn div_assign(&mut self, other: isize)
fn div_assign(&mut self, other: isize)
/=
operation. Read moresourceimpl DivAssign<u128> for BigInt
impl DivAssign<u128> for BigInt
sourcefn div_assign(&mut self, other: u128)
fn div_assign(&mut self, other: u128)
/=
operation. Read moresourceimpl DivAssign<u16> for BigInt
impl DivAssign<u16> for BigInt
sourcefn div_assign(&mut self, other: u16)
fn div_assign(&mut self, other: u16)
/=
operation. Read moresourceimpl DivAssign<u32> for BigInt
impl DivAssign<u32> for BigInt
sourcefn div_assign(&mut self, other: u32)
fn div_assign(&mut self, other: u32)
/=
operation. Read moresourceimpl DivAssign<u64> for BigInt
impl DivAssign<u64> for BigInt
sourcefn div_assign(&mut self, other: u64)
fn div_assign(&mut self, other: u64)
/=
operation. Read moresourceimpl DivAssign<u8> for BigInt
impl DivAssign<u8> for BigInt
sourcefn div_assign(&mut self, other: u8)
fn div_assign(&mut self, other: u8)
/=
operation. Read moresourceimpl DivAssign<usize> for BigInt
impl DivAssign<usize> for BigInt
sourcefn div_assign(&mut self, other: usize)
fn div_assign(&mut self, other: usize)
/=
operation. Read moresourceimpl<'a> ExtendedGcd<&'a BigInt> for BigInt
impl<'a> ExtendedGcd<&'a BigInt> for BigInt
sourceimpl<'a> ExtendedGcd<&'a BigInt> for BigUint
impl<'a> ExtendedGcd<&'a BigInt> for BigUint
sourceimpl<'a> ExtendedGcd<&'a BigUint> for BigInt
impl<'a> ExtendedGcd<&'a BigUint> for BigInt
sourceimpl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigInt
impl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigInt
sourceimpl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigUint
impl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigUint
sourceimpl<'a, 'b> ExtendedGcd<&'b BigUint> for &'a BigInt
impl<'a, 'b> ExtendedGcd<&'b BigUint> for &'a BigInt
sourceimpl FromPrimitive for BigInt
impl FromPrimitive for BigInt
sourcefn 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. Read moresourcefn 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 moresourcefn 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. Read moresourcefn 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 moresourcefn 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 moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourceimpl FromStr for BigInt
impl FromStr for BigInt
type Err = ParseBigIntError
type Err = ParseBigIntError
sourceimpl Integer for BigInt
impl Integer for BigInt
sourcefn 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.
sourcefn lcm(&self, other: &BigInt) -> BigInt
fn lcm(&self, other: &BigInt) -> BigInt
Calculates the Lowest Common Multiple (LCM) of the number and other
.
sourcefn 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
.
sourcefn div_rem(&self, other: &BigInt) -> (BigInt, BigInt)
fn div_rem(&self, other: &BigInt) -> (BigInt, BigInt)
(quotient, remainder)
. Read moresourcefn div_mod_floor(&self, other: &BigInt) -> (BigInt, BigInt)
fn div_mod_floor(&self, other: &BigInt) -> (BigInt, BigInt)
(quotient, remainder)
. Read moresourcefn gcd_lcm(&self, other: &Self) -> (Self, Self)
fn gcd_lcm(&self, other: &Self) -> (Self, Self)
sourcefn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
sourcefn 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,
sourcefn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
sourcefn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
sourceimpl IntoBigInt for BigInt
impl IntoBigInt for BigInt
sourcefn into_bigint(self) -> Option<BigInt>
fn into_bigint(self) -> Option<BigInt>
self
to a BigInt
.sourceimpl IntoBigUint for BigInt
impl IntoBigUint for BigInt
sourcefn into_biguint(self) -> Option<BigUint>
fn into_biguint(self) -> Option<BigUint>
self
to a BigUint
.sourceimpl<'a> ModInverse<&'a BigInt> for BigInt
impl<'a> ModInverse<&'a BigInt> for BigInt
type Output = BigInt
sourcefn mod_inverse(self, m: &'a BigInt) -> Option<BigInt>
fn mod_inverse(self, m: &'a BigInt) -> Option<BigInt>
sourceimpl<'a> ModInverse<&'a BigInt> for BigUint
impl<'a> ModInverse<&'a BigInt> for BigUint
type Output = BigInt
sourcefn mod_inverse(self, m: &'a BigInt) -> Option<BigInt>
fn mod_inverse(self, m: &'a BigInt) -> Option<BigInt>
sourceimpl<'a> ModInverse<&'a BigUint> for BigInt
impl<'a> ModInverse<&'a BigUint> for BigInt
type Output = BigInt
sourcefn mod_inverse(self, m: &'a BigUint) -> Option<BigInt>
fn mod_inverse(self, m: &'a BigUint) -> Option<BigInt>
sourceimpl<'a, 'b> ModInverse<&'b BigInt> for &'a BigInt
impl<'a, 'b> ModInverse<&'b BigInt> for &'a BigInt
type Output = BigInt
sourcefn mod_inverse(self, m: &'b BigInt) -> Option<BigInt>
fn mod_inverse(self, m: &'b BigInt) -> Option<BigInt>
sourceimpl<'a, 'b> ModInverse<&'b BigInt> for &'a BigUint
impl<'a, 'b> ModInverse<&'b BigInt> for &'a BigUint
type Output = BigInt
sourcefn mod_inverse(self, m: &'b BigInt) -> Option<BigInt>
fn mod_inverse(self, m: &'b BigInt) -> Option<BigInt>
sourceimpl<'a, 'b> ModInverse<&'b BigUint> for &'a BigInt
impl<'a, 'b> ModInverse<&'b BigUint> for &'a BigInt
type Output = BigInt
sourcefn mod_inverse(self, m: &'b BigUint) -> Option<BigInt>
fn mod_inverse(self, m: &'b BigUint) -> Option<BigInt>
sourceimpl ModInverse<BigInt> for BigUint
impl ModInverse<BigInt> for BigUint
type Output = BigInt
sourcefn mod_inverse(self, m: BigInt) -> Option<BigInt>
fn mod_inverse(self, m: BigInt) -> Option<BigInt>
sourceimpl<'a> MulAssign<&'a BigInt> for BigInt
impl<'a> MulAssign<&'a BigInt> for BigInt
sourcefn mul_assign(&mut self, other: &BigInt)
fn mul_assign(&mut self, other: &BigInt)
*=
operation. Read moresourceimpl MulAssign<BigInt> for BigInt
impl MulAssign<BigInt> for BigInt
sourcefn mul_assign(&mut self, other: BigInt)
fn mul_assign(&mut self, other: BigInt)
*=
operation. Read moresourceimpl MulAssign<i128> for BigInt
impl MulAssign<i128> for BigInt
sourcefn mul_assign(&mut self, other: i128)
fn mul_assign(&mut self, other: i128)
*=
operation. Read moresourceimpl MulAssign<i16> for BigInt
impl MulAssign<i16> for BigInt
sourcefn mul_assign(&mut self, other: i16)
fn mul_assign(&mut self, other: i16)
*=
operation. Read moresourceimpl MulAssign<i32> for BigInt
impl MulAssign<i32> for BigInt
sourcefn mul_assign(&mut self, other: i32)
fn mul_assign(&mut self, other: i32)
*=
operation. Read moresourceimpl MulAssign<i64> for BigInt
impl MulAssign<i64> for BigInt
sourcefn mul_assign(&mut self, other: i64)
fn mul_assign(&mut self, other: i64)
*=
operation. Read moresourceimpl MulAssign<i8> for BigInt
impl MulAssign<i8> for BigInt
sourcefn mul_assign(&mut self, other: i8)
fn mul_assign(&mut self, other: i8)
*=
operation. Read moresourceimpl MulAssign<isize> for BigInt
impl MulAssign<isize> for BigInt
sourcefn mul_assign(&mut self, other: isize)
fn mul_assign(&mut self, other: isize)
*=
operation. Read moresourceimpl MulAssign<u128> for BigInt
impl MulAssign<u128> for BigInt
sourcefn mul_assign(&mut self, other: u128)
fn mul_assign(&mut self, other: u128)
*=
operation. Read moresourceimpl MulAssign<u16> for BigInt
impl MulAssign<u16> for BigInt
sourcefn mul_assign(&mut self, other: u16)
fn mul_assign(&mut self, other: u16)
*=
operation. Read moresourceimpl MulAssign<u32> for BigInt
impl MulAssign<u32> for BigInt
sourcefn mul_assign(&mut self, other: u32)
fn mul_assign(&mut self, other: u32)
*=
operation. Read moresourceimpl MulAssign<u64> for BigInt
impl MulAssign<u64> for BigInt
sourcefn mul_assign(&mut self, other: u64)
fn mul_assign(&mut self, other: u64)
*=
operation. Read moresourceimpl MulAssign<u8> for BigInt
impl MulAssign<u8> for BigInt
sourcefn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
*=
operation. Read moresourceimpl MulAssign<usize> for BigInt
impl MulAssign<usize> for BigInt
sourcefn mul_assign(&mut self, other: usize)
fn mul_assign(&mut self, other: usize)
*=
operation. Read moresourceimpl Num for BigInt
impl Num for BigInt
sourcefn 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
sourceimpl Ord for BigInt
impl Ord for BigInt
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialOrd<BigInt> for BigInt
impl PartialOrd<BigInt> for BigInt
sourcefn partial_cmp(&self, other: &BigInt) -> Option<Ordering>
fn partial_cmp(&self, other: &BigInt) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl<'a> RemAssign<&'a BigInt> for BigInt
impl<'a> RemAssign<&'a BigInt> for BigInt
sourcefn rem_assign(&mut self, other: &BigInt)
fn rem_assign(&mut self, other: &BigInt)
%=
operation. Read moresourceimpl RemAssign<BigInt> for BigInt
impl RemAssign<BigInt> for BigInt
sourcefn rem_assign(&mut self, other: BigInt)
fn rem_assign(&mut self, other: BigInt)
%=
operation. Read moresourceimpl RemAssign<i128> for BigInt
impl RemAssign<i128> for BigInt
sourcefn rem_assign(&mut self, other: i128)
fn rem_assign(&mut self, other: i128)
%=
operation. Read moresourceimpl RemAssign<i16> for BigInt
impl RemAssign<i16> for BigInt
sourcefn rem_assign(&mut self, other: i16)
fn rem_assign(&mut self, other: i16)
%=
operation. Read moresourceimpl RemAssign<i32> for BigInt
impl RemAssign<i32> for BigInt
sourcefn rem_assign(&mut self, other: i32)
fn rem_assign(&mut self, other: i32)
%=
operation. Read moresourceimpl RemAssign<i64> for BigInt
impl RemAssign<i64> for BigInt
sourcefn rem_assign(&mut self, other: i64)
fn rem_assign(&mut self, other: i64)
%=
operation. Read moresourceimpl RemAssign<i8> for BigInt
impl RemAssign<i8> for BigInt
sourcefn rem_assign(&mut self, other: i8)
fn rem_assign(&mut self, other: i8)
%=
operation. Read moresourceimpl RemAssign<isize> for BigInt
impl RemAssign<isize> for BigInt
sourcefn rem_assign(&mut self, other: isize)
fn rem_assign(&mut self, other: isize)
%=
operation. Read moresourceimpl RemAssign<u128> for BigInt
impl RemAssign<u128> for BigInt
sourcefn rem_assign(&mut self, other: u128)
fn rem_assign(&mut self, other: u128)
%=
operation. Read moresourceimpl RemAssign<u16> for BigInt
impl RemAssign<u16> for BigInt
sourcefn rem_assign(&mut self, other: u16)
fn rem_assign(&mut self, other: u16)
%=
operation. Read moresourceimpl RemAssign<u32> for BigInt
impl RemAssign<u32> for BigInt
sourcefn rem_assign(&mut self, other: u32)
fn rem_assign(&mut self, other: u32)
%=
operation. Read moresourceimpl RemAssign<u64> for BigInt
impl RemAssign<u64> for BigInt
sourcefn rem_assign(&mut self, other: u64)
fn rem_assign(&mut self, other: u64)
%=
operation. Read moresourceimpl RemAssign<u8> for BigInt
impl RemAssign<u8> for BigInt
sourcefn rem_assign(&mut self, other: u8)
fn rem_assign(&mut self, other: u8)
%=
operation. Read moresourceimpl RemAssign<usize> for BigInt
impl RemAssign<usize> for BigInt
sourcefn rem_assign(&mut self, other: usize)
fn rem_assign(&mut self, other: usize)
%=
operation. Read moresourceimpl Roots for BigInt
impl Roots for BigInt
sourceimpl SampleUniform for BigInt
impl SampleUniform for BigInt
type Sampler = UniformBigInt
type Sampler = UniformBigInt
UniformSampler
implementation supporting type X
.sourceimpl ShlAssign<usize> for BigInt
impl ShlAssign<usize> for BigInt
sourcefn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<=
operation. Read moresourceimpl ShrAssign<usize> for BigInt
impl ShrAssign<usize> for BigInt
sourcefn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>=
operation. Read moresourceimpl Signed for BigInt
impl Signed for BigInt
sourcefn is_positive(&self) -> bool
fn is_positive(&self) -> bool
sourcefn is_negative(&self) -> bool
fn is_negative(&self) -> bool
sourceimpl<'a> SubAssign<&'a BigInt> for BigInt
impl<'a> SubAssign<&'a BigInt> for BigInt
sourcefn sub_assign(&mut self, other: &BigInt)
fn sub_assign(&mut self, other: &BigInt)
-=
operation. Read moresourceimpl SubAssign<BigInt> for BigInt
impl SubAssign<BigInt> for BigInt
sourcefn sub_assign(&mut self, other: BigInt)
fn sub_assign(&mut self, other: BigInt)
-=
operation. Read moresourceimpl SubAssign<i128> for BigInt
impl SubAssign<i128> for BigInt
sourcefn sub_assign(&mut self, other: i128)
fn sub_assign(&mut self, other: i128)
-=
operation. Read moresourceimpl SubAssign<i16> for BigInt
impl SubAssign<i16> for BigInt
sourcefn sub_assign(&mut self, other: i16)
fn sub_assign(&mut self, other: i16)
-=
operation. Read moresourceimpl SubAssign<i32> for BigInt
impl SubAssign<i32> for BigInt
sourcefn sub_assign(&mut self, other: i32)
fn sub_assign(&mut self, other: i32)
-=
operation. Read moresourceimpl SubAssign<i64> for BigInt
impl SubAssign<i64> for BigInt
sourcefn sub_assign(&mut self, other: i64)
fn sub_assign(&mut self, other: i64)
-=
operation. Read moresourceimpl SubAssign<i8> for BigInt
impl SubAssign<i8> for BigInt
sourcefn sub_assign(&mut self, other: i8)
fn sub_assign(&mut self, other: i8)
-=
operation. Read moresourceimpl SubAssign<isize> for BigInt
impl SubAssign<isize> for BigInt
sourcefn sub_assign(&mut self, other: isize)
fn sub_assign(&mut self, other: isize)
-=
operation. Read moresourceimpl SubAssign<u128> for BigInt
impl SubAssign<u128> for BigInt
sourcefn sub_assign(&mut self, other: u128)
fn sub_assign(&mut self, other: u128)
-=
operation. Read moresourceimpl SubAssign<u16> for BigInt
impl SubAssign<u16> for BigInt
sourcefn sub_assign(&mut self, other: u16)
fn sub_assign(&mut self, other: u16)
-=
operation. Read moresourceimpl SubAssign<u32> for BigInt
impl SubAssign<u32> for BigInt
sourcefn sub_assign(&mut self, other: u32)
fn sub_assign(&mut self, other: u32)
-=
operation. Read moresourceimpl SubAssign<u64> for BigInt
impl SubAssign<u64> for BigInt
sourcefn sub_assign(&mut self, other: u64)
fn sub_assign(&mut self, other: u64)
-=
operation. Read moresourceimpl SubAssign<u8> for BigInt
impl SubAssign<u8> for BigInt
sourcefn sub_assign(&mut self, other: u8)
fn sub_assign(&mut self, other: u8)
-=
operation. Read moresourceimpl SubAssign<usize> for BigInt
impl SubAssign<usize> for BigInt
sourcefn sub_assign(&mut self, other: usize)
fn sub_assign(&mut self, other: usize)
-=
operation. Read moresourceimpl ToBigUint for BigInt
impl ToBigUint for BigInt
sourcefn to_biguint(&self) -> Option<BigUint>
fn to_biguint(&self) -> Option<BigUint>
self
to a BigUint
.sourceimpl ToPrimitive for BigInt
impl ToPrimitive for BigInt
sourcefn 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. Read moresourcefn 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 moresourcefn 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. Read moresourcefn 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 moresourcefn 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
. Read moresourcefn 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 moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moresourcefn 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. Read moreimpl Eq for BigInt
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
sourceimpl<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>,
sourcefn average_floor(&self, other: &I) -> I
fn average_floor(&self, other: &I) -> I
Returns the floor value of the average of self
and other
.
sourcefn average_ceil(&self, other: &I) -> I
fn average_ceil(&self, other: &I) -> I
Returns the ceil value of the average of self
and other
.
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
sourcefn borrow(&self) -> &Borrowed
fn borrow(&self) -> &Borrowed
Borrow::borrow
Read more