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 base 232 digits are ordered least significant digit first.
Sourcepub fn from_biguint(sign: Sign, data: BigUint) -> BigInt
pub fn from_biguint(sign: Sign, data: BigUint) -> BigInt
Creates and initializes a BigInt
.
The base 232 digits are ordered least significant digit first.
Sourcepub fn from_slice(sign: Sign, slice: &[u32]) -> BigInt
pub fn from_slice(sign: Sign, slice: &[u32]) -> BigInt
Creates and initializes a BigInt
.
The base 232 digits are ordered least significant digit first.
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
.
The base 232 digits are ordered least significant digit first.
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::{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 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::{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::{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>)
Sourcepub fn to_bytes_le(&self) -> (Sign, Vec<u8>)
pub fn to_bytes_le(&self) -> (Sign, Vec<u8>)
Sourcepub fn to_u32_digits(&self) -> (Sign, Vec<u32>)
pub fn to_u32_digits(&self) -> (Sign, Vec<u32>)
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]));
Sourcepub fn to_u64_digits(&self) -> (Sign, Vec<u64>)
pub fn to_u64_digits(&self) -> (Sign, Vec<u64>)
Returns the sign and the u64
digits representation of the BigInt
ordered least
significant digit first.
ยงExamples
use num_bigint::{BigInt, Sign};
assert_eq!(BigInt::from(-1125).to_u64_digits(), (Sign::Minus, vec![1125]));
assert_eq!(BigInt::from(4294967295u32).to_u64_digits(), (Sign::Plus, vec![4294967295]));
assert_eq!(BigInt::from(4294967296u64).to_u64_digits(), (Sign::Plus, vec![4294967296]));
assert_eq!(BigInt::from(-112500000000i64).to_u64_digits(), (Sign::Minus, vec![112500000000]));
assert_eq!(BigInt::from(112500000000i64).to_u64_digits(), (Sign::Plus, vec![112500000000]));
assert_eq!(BigInt::from(1u128 << 64).to_u64_digits(), (Sign::Plus, vec![0, 1]));
Sourcepub fn iter_u32_digits(&self) -> U32Digits<'_> โ
pub fn iter_u32_digits(&self) -> U32Digits<'_> โ
Returns an iterator of u32
digits representation of the BigInt
ordered least
significant digit first.
ยงExamples
use num_bigint::BigInt;
assert_eq!(BigInt::from(-1125).iter_u32_digits().collect::<Vec<u32>>(), vec![1125]);
assert_eq!(BigInt::from(4294967295u32).iter_u32_digits().collect::<Vec<u32>>(), vec![4294967295]);
assert_eq!(BigInt::from(4294967296u64).iter_u32_digits().collect::<Vec<u32>>(), vec![0, 1]);
assert_eq!(BigInt::from(-112500000000i64).iter_u32_digits().collect::<Vec<u32>>(), vec![830850304, 26]);
assert_eq!(BigInt::from(112500000000i64).iter_u32_digits().collect::<Vec<u32>>(), vec![830850304, 26]);
Sourcepub fn iter_u64_digits(&self) -> U64Digits<'_> โ
pub fn iter_u64_digits(&self) -> U64Digits<'_> โ
Returns an iterator of u64
digits representation of the BigInt
ordered least
significant digit first.
ยงExamples
use num_bigint::BigInt;
assert_eq!(BigInt::from(-1125).iter_u64_digits().collect::<Vec<u64>>(), vec![1125u64]);
assert_eq!(BigInt::from(4294967295u32).iter_u64_digits().collect::<Vec<u64>>(), vec![4294967295u64]);
assert_eq!(BigInt::from(4294967296u64).iter_u64_digits().collect::<Vec<u64>>(), vec![4294967296u64]);
assert_eq!(BigInt::from(-112500000000i64).iter_u64_digits().collect::<Vec<u64>>(), vec![112500000000u64]);
assert_eq!(BigInt::from(112500000000i64).iter_u64_digits().collect::<Vec<u64>>(), vec![112500000000u64]);
assert_eq!(BigInt::from(1u128 << 64).iter_u64_digits().collect::<Vec<u64>>(), vec![0, 1]);
Sourcepub fn to_signed_bytes_be(&self) -> Vec<u8> โ
pub fn to_signed_bytes_be(&self) -> Vec<u8> โ
Sourcepub fn to_signed_bytes_le(&self) -> Vec<u8> โ
pub fn to_signed_bytes_le(&self) -> Vec<u8> โ
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::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::{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::{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 magnitude(&self) -> &BigUint
pub fn magnitude(&self) -> &BigUint
Returns the magnitude of the BigInt
as a BigUint
.
ยงExamples
use num_bigint::{BigInt, BigUint};
use num_traits::Zero;
assert_eq!(BigInt::from(1234).magnitude(), &BigUint::from(1234u32));
assert_eq!(BigInt::from(-4321).magnitude(), &BigUint::from(4321u32));
assert!(BigInt::ZERO.magnitude().is_zero());
Sourcepub fn into_parts(self) -> (Sign, BigUint)
pub fn into_parts(self) -> (Sign, BigUint)
Convert this BigInt
into its Sign
and BigUint
magnitude,
the reverse of BigInt::from_biguint()
.
ยงExamples
use num_bigint::{BigInt, BigUint, Sign};
assert_eq!(BigInt::from(1234).into_parts(), (Sign::Plus, BigUint::from(1234u32)));
assert_eq!(BigInt::from(-4321).into_parts(), (Sign::Minus, BigUint::from(4321u32)));
assert_eq!(BigInt::ZERO.into_parts(), (Sign::NoSign, BigUint::ZERO));
Sourcepub fn bits(&self) -> u64
pub fn bits(&self) -> u64
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>
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: &BigInt, modulus: &BigInt) -> BigInt
pub fn modpow(&self, exponent: &BigInt, modulus: &BigInt) -> BigInt
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 modinv(&self, modulus: &BigInt) -> Option<BigInt>
pub fn modinv(&self, modulus: &BigInt) -> Option<BigInt>
Returns the modular multiplicative inverse if it exists, otherwise None
.
This solves for x
such that self * x โก 1 (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 solution will be in the interval [0, modulus)
for modulus > 0
,
or in the interval (modulus, 0]
for modulus < 0
,
and it exists if and only if gcd(self, modulus) == 1
.
use num_bigint::BigInt;
use num_integer::Integer;
use num_traits::{One, Zero};
let m = BigInt::from(383);
// Trivial cases
assert_eq!(BigInt::zero().modinv(&m), None);
assert_eq!(BigInt::one().modinv(&m), Some(BigInt::one()));
let neg1 = &m - 1u32;
assert_eq!(neg1.modinv(&m), Some(neg1));
// Positive self and modulus
let a = BigInt::from(271);
let x = a.modinv(&m).unwrap();
assert_eq!(x, BigInt::from(106));
assert_eq!(x.modinv(&m).unwrap(), a);
assert_eq!((&a * x).mod_floor(&m), BigInt::one());
// Negative self and positive modulus
let b = -&a;
let x = b.modinv(&m).unwrap();
assert_eq!(x, BigInt::from(277));
assert_eq!((&b * x).mod_floor(&m), BigInt::one());
// Positive self and negative modulus
let n = -&m;
let x = a.modinv(&n).unwrap();
assert_eq!(x, BigInt::from(-277));
assert_eq!((&a * x).mod_floor(&n), &n + 1);
// Negative self and modulus
let x = b.modinv(&n).unwrap();
assert_eq!(x, BigInt::from(-106));
assert_eq!((&b * x).mod_floor(&n), &n + 1);
Sourcepub fn sqrt(&self) -> BigInt
pub fn sqrt(&self) -> BigInt
Returns the truncated principal square root of self
โ
see num_integer::Roots::sqrt()
.
Sourcepub fn cbrt(&self) -> BigInt
pub fn cbrt(&self) -> BigInt
Returns the truncated principal cube root of self
โ
see num_integer::Roots::cbrt()
.
Sourcepub fn nth_root(&self, n: u32) -> BigInt
pub fn nth_root(&self, n: u32) -> BigInt
Returns the truncated principal n
th root of self
โ
See num_integer::Roots::nth_root()
.
Sourcepub fn trailing_zeros(&self) -> Option<u64>
pub fn trailing_zeros(&self) -> Option<u64>
Returns the number of least-significant bits that are zero,
or None
if the entire number is zero.
Sourcepub fn bit(&self, bit: u64) -> bool
pub fn bit(&self, bit: u64) -> bool
Returns whether the bit in position bit
is set,
using the twoโs complement for negative numbers
Sourcepub fn set_bit(&mut self, bit: u64, value: bool)
pub fn set_bit(&mut self, bit: u64, value: bool)
Sets or clears the bit in the given position, using the twoโs complement for negative numbers
Note that setting/clearing a bit (for positive/negative numbers, respectively) greater than the current bit length, a reallocation may be needed to store the new digits
Trait Implementationsยง
Sourceยงimpl AddAssign<&BigInt> for BigInt
impl AddAssign<&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 BitAndAssign<&BigInt> for BigInt
impl BitAndAssign<&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 BitOrAssign<&BigInt> for BigInt
impl BitOrAssign<&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 BitXorAssign<&BigInt> for BigInt
impl BitXorAssign<&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ยงimpl CheckedDiv for BigInt
impl CheckedDiv for BigInt
Sourceยงimpl CheckedEuclid for BigInt
impl CheckedEuclid for BigInt
Sourceยงfn checked_div_euclid(&self, v: &BigInt) -> Option<BigInt>
fn checked_div_euclid(&self, v: &BigInt) -> Option<BigInt>
None
instead of panicking on division by zero
and instead of wrapping around on underflow and overflow.Sourceยงimpl CheckedMul for BigInt
impl CheckedMul for BigInt
Sourceยงimpl CheckedSub for BigInt
impl CheckedSub for BigInt
Sourceยงimpl DivAssign<&BigInt> for BigInt
impl DivAssign<&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 Euclid for BigInt
impl Euclid for BigInt
Sourceยงimpl FromBytes for BigInt
impl FromBytes for BigInt
type Bytes = [u8]
Sourceยงfn from_be_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
fn from_be_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
Sourceยงfn from_le_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
fn from_le_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
Sourceยงfn from_ne_bytes(bytes: &Self::Bytes) -> Self
fn from_ne_bytes(bytes: &Self::Bytes) -> Self
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 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 gcd_lcm(&self, other: &BigInt) -> (BigInt, BigInt)
fn gcd_lcm(&self, other: &BigInt) -> (BigInt, BigInt)
Calculates the Greatest Common Divisor (GCD) and Lowest Common Multiple (LCM) together.
Sourceยงfn extended_gcd_lcm(&self, other: &BigInt) -> (ExtendedGcd<BigInt>, BigInt)
fn extended_gcd_lcm(&self, other: &BigInt) -> (ExtendedGcd<BigInt>, BigInt)
Greatest common divisor, least common multiple, and Bรฉzout coefficients.
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 next_multiple_of(&self, other: &BigInt) -> BigInt
fn next_multiple_of(&self, other: &BigInt) -> BigInt
Rounds up to nearest multiple of argument.
Sourceยงfn prev_multiple_of(&self, other: &BigInt) -> BigInt
fn prev_multiple_of(&self, other: &BigInt) -> BigInt
Rounds down to nearest multiple of argument.
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 extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
Sourceยงimpl MulAssign<&BigInt> for BigInt
impl MulAssign<&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 NestedDecode for BigInt
impl NestedDecode for BigInt
Sourceยงfn dep_decode_or_handle_err<I, H>(
input: &mut I,
h: H,
) -> Result<BigInt, <H as DecodeErrorHandler>::HandledErr>where
I: NestedDecodeInput,
H: DecodeErrorHandler,
fn dep_decode_or_handle_err<I, H>(
input: &mut I,
h: H,
) -> Result<BigInt, <H as DecodeErrorHandler>::HandledErr>where
I: NestedDecodeInput,
H: DecodeErrorHandler,
dep_decode
that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Sourceยงfn dep_decode<I>(input: &mut I) -> Result<Self, DecodeError>where
I: NestedDecodeInput,
fn dep_decode<I>(input: &mut I) -> Result<Self, DecodeError>where
I: NestedDecodeInput,
Sourceยงimpl NestedEncode for BigInt
impl NestedEncode for BigInt
Sourceยงfn dep_encode_or_handle_err<O, H>(
&self,
dest: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: NestedEncodeOutput,
H: EncodeErrorHandler,
fn dep_encode_or_handle_err<O, H>(
&self,
dest: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: NestedEncodeOutput,
H: EncodeErrorHandler,
dep_encode
that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Sourceยงfn dep_encode<O>(&self, dest: &mut O) -> Result<(), EncodeError>where
O: NestedEncodeOutput,
fn dep_encode<O>(&self, dest: &mut O) -> Result<(), EncodeError>where
O: NestedEncodeOutput,
Sourceยง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
1.21.0 ยท Sourceยงfn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Sourceยงimpl PartialOrd for BigInt
impl PartialOrd for BigInt
Sourceยงimpl RemAssign<&BigInt> for BigInt
impl RemAssign<&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 ShlAssign<&i128> for BigInt
impl ShlAssign<&i128> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &i128)
fn shl_assign(&mut self, rhs: &i128)
<<=
operation. Read moreSourceยงimpl ShlAssign<&i16> for BigInt
impl ShlAssign<&i16> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
<<=
operation. Read moreSourceยงimpl ShlAssign<&i32> for BigInt
impl ShlAssign<&i32> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
<<=
operation. Read moreSourceยงimpl ShlAssign<&i64> for BigInt
impl ShlAssign<&i64> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
<<=
operation. Read moreSourceยงimpl ShlAssign<&i8> for BigInt
impl ShlAssign<&i8> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
<<=
operation. Read moreSourceยงimpl ShlAssign<&isize> for BigInt
impl ShlAssign<&isize> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &isize)
fn shl_assign(&mut self, rhs: &isize)
<<=
operation. Read moreSourceยงimpl ShlAssign<&u128> for BigInt
impl ShlAssign<&u128> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &u128)
fn shl_assign(&mut self, rhs: &u128)
<<=
operation. Read moreSourceยงimpl ShlAssign<&u16> for BigInt
impl ShlAssign<&u16> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
<<=
operation. Read moreSourceยงimpl ShlAssign<&u32> for BigInt
impl ShlAssign<&u32> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
<<=
operation. Read moreSourceยงimpl ShlAssign<&u64> for BigInt
impl ShlAssign<&u64> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
<<=
operation. Read moreSourceยงimpl ShlAssign<&u8> for BigInt
impl ShlAssign<&u8> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
<<=
operation. Read moreSourceยง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 ShlAssign<i128> for BigInt
impl ShlAssign<i128> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: i128)
fn shl_assign(&mut self, rhs: i128)
<<=
operation. Read moreSourceยงimpl ShlAssign<i16> for BigInt
impl ShlAssign<i16> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
<<=
operation. Read moreSourceยงimpl ShlAssign<i32> for BigInt
impl ShlAssign<i32> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
<<=
operation. Read moreSourceยงimpl ShlAssign<i64> for BigInt
impl ShlAssign<i64> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
<<=
operation. Read moreSourceยงimpl ShlAssign<i8> for BigInt
impl ShlAssign<i8> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
<<=
operation. Read moreSourceยงimpl ShlAssign<isize> for BigInt
impl ShlAssign<isize> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: isize)
fn shl_assign(&mut self, rhs: isize)
<<=
operation. Read moreSourceยงimpl ShlAssign<u128> for BigInt
impl ShlAssign<u128> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: u128)
fn shl_assign(&mut self, rhs: u128)
<<=
operation. Read moreSourceยงimpl ShlAssign<u16> for BigInt
impl ShlAssign<u16> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
<<=
operation. Read moreSourceยงimpl ShlAssign<u32> for BigInt
impl ShlAssign<u32> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
<<=
operation. Read moreSourceยงimpl ShlAssign<u64> for BigInt
impl ShlAssign<u64> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
<<=
operation. Read moreSourceยงimpl ShlAssign<u8> for BigInt
impl ShlAssign<u8> for BigInt
Sourceยงfn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
<<=
operation. Read moreSourceยง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<&i128> for BigInt
impl ShrAssign<&i128> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &i128)
fn shr_assign(&mut self, rhs: &i128)
>>=
operation. Read moreSourceยงimpl ShrAssign<&i16> for BigInt
impl ShrAssign<&i16> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
>>=
operation. Read moreSourceยงimpl ShrAssign<&i32> for BigInt
impl ShrAssign<&i32> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
>>=
operation. Read moreSourceยงimpl ShrAssign<&i64> for BigInt
impl ShrAssign<&i64> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
>>=
operation. Read moreSourceยงimpl ShrAssign<&i8> for BigInt
impl ShrAssign<&i8> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
>>=
operation. Read moreSourceยงimpl ShrAssign<&isize> for BigInt
impl ShrAssign<&isize> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &isize)
fn shr_assign(&mut self, rhs: &isize)
>>=
operation. Read moreSourceยงimpl ShrAssign<&u128> for BigInt
impl ShrAssign<&u128> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &u128)
fn shr_assign(&mut self, rhs: &u128)
>>=
operation. Read moreSourceยงimpl ShrAssign<&u16> for BigInt
impl ShrAssign<&u16> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
>>=
operation. Read moreSourceยงimpl ShrAssign<&u32> for BigInt
impl ShrAssign<&u32> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
>>=
operation. Read moreSourceยงimpl ShrAssign<&u64> for BigInt
impl ShrAssign<&u64> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
>>=
operation. Read moreSourceยงimpl ShrAssign<&u8> for BigInt
impl ShrAssign<&u8> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
>>=
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 ShrAssign<i128> for BigInt
impl ShrAssign<i128> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: i128)
fn shr_assign(&mut self, rhs: i128)
>>=
operation. Read moreSourceยงimpl ShrAssign<i16> for BigInt
impl ShrAssign<i16> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
>>=
operation. Read moreSourceยงimpl ShrAssign<i32> for BigInt
impl ShrAssign<i32> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
>>=
operation. Read moreSourceยงimpl ShrAssign<i64> for BigInt
impl ShrAssign<i64> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
>>=
operation. Read moreSourceยงimpl ShrAssign<i8> for BigInt
impl ShrAssign<i8> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
>>=
operation. Read moreSourceยงimpl ShrAssign<isize> for BigInt
impl ShrAssign<isize> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: isize)
fn shr_assign(&mut self, rhs: isize)
>>=
operation. Read moreSourceยงimpl ShrAssign<u128> for BigInt
impl ShrAssign<u128> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: u128)
fn shr_assign(&mut self, rhs: u128)
>>=
operation. Read moreSourceยงimpl ShrAssign<u16> for BigInt
impl ShrAssign<u16> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
>>=
operation. Read moreSourceยงimpl ShrAssign<u32> for BigInt
impl ShrAssign<u32> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
>>=
operation. Read moreSourceยงimpl ShrAssign<u64> for BigInt
impl ShrAssign<u64> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
>>=
operation. Read moreSourceยงimpl ShrAssign<u8> for BigInt
impl ShrAssign<u8> for BigInt
Sourceยงfn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
>>=
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 abs_sub(&self, other: &BigInt) -> BigInt
fn abs_sub(&self, other: &BigInt) -> 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 SubAssign<&BigInt> for BigInt
impl SubAssign<&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 ToBytes for BigInt
impl ToBytes for BigInt
type Bytes = Vec<u8>
Sourceยงfn to_be_bytes(&self) -> <BigInt as ToBytes>::Bytes
fn to_be_bytes(&self) -> <BigInt as ToBytes>::Bytes
Sourceยงfn to_le_bytes(&self) -> <BigInt as ToBytes>::Bytes
fn to_le_bytes(&self) -> <BigInt as ToBytes>::Bytes
Sourceยงfn to_ne_bytes(&self) -> Self::Bytes
fn to_ne_bytes(&self) -> Self::Bytes
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.Sourceยงimpl TopDecode for BigInt
impl TopDecode for BigInt
Sourceยงfn top_decode_or_handle_err<I, H>(
input: I,
h: H,
) -> Result<BigInt, <H as DecodeErrorHandler>::HandledErr>where
I: TopDecodeInput,
H: DecodeErrorHandler,
fn top_decode_or_handle_err<I, H>(
input: I,
h: H,
) -> Result<BigInt, <H as DecodeErrorHandler>::HandledErr>where
I: TopDecodeInput,
H: DecodeErrorHandler,
top_decode
that can handle errors as soon as they occur.
For instance it can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Sourceยงfn top_decode<I>(input: I) -> Result<Self, DecodeError>where
I: TopDecodeInput,
fn top_decode<I>(input: I) -> Result<Self, DecodeError>where
I: TopDecodeInput,
Sourceยงimpl TopEncode for BigInt
impl TopEncode for BigInt
Sourceยงfn top_encode_or_handle_err<O, H>(
&self,
output: O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeOutput,
H: EncodeErrorHandler,
fn top_encode_or_handle_err<O, H>(
&self,
output: O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeOutput,
H: EncodeErrorHandler,
top_encode
that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.Sourceยงfn top_encode<O>(&self, output: O) -> Result<(), EncodeError>where
O: TopEncodeOutput,
fn top_encode<O>(&self, output: O) -> Result<(), EncodeError>where
O: TopEncodeOutput,
Sourceยงimpl TypeAbi for BigInt
impl TypeAbi for BigInt
type Unmanaged = BigInt
fn type_name() -> String
fn type_name_rust() -> String
fn type_names() -> TypeNames
Sourceยงfn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
fn provide_type_descriptions<TDC>(accumulator: &mut TDC)where
TDC: TypeDescriptionContainer,
impl Eq for BigInt
impl TypeAbiFrom<&BigInt> for BigInt
impl<M> TypeAbiFrom<BigInt<M>> for BigIntwhere
M: ManagedTypeApi,
impl<M> TypeAbiFrom<BigInt> for BigInt<M>where
M: ManagedTypeApi,
impl TypeAbiFrom<BigInt> 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ยง
Sourceยงimpl<I> Average for I
impl<I> Average for 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
.
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงfn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Sourceยงimpl<T> Instrument for T
impl<T> Instrument for T
Sourceยงfn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Sourceยงfn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Sourceยงimpl<T> InterpretableFrom<&T> for Twhere
T: Clone,
impl<T> InterpretableFrom<&T> for Twhere
T: Clone,
fn interpret_from(from: &T, _context: &InterpreterContext) -> T
Sourceยงimpl<T> InterpretableFrom<T> for T
impl<T> InterpretableFrom<T> for T
fn interpret_from(from: T, _context: &InterpreterContext) -> T
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSourceยงimpl<T> ReconstructableFrom<&T> for Twhere
T: Clone,
impl<T> ReconstructableFrom<&T> for Twhere
T: Clone,
fn reconstruct_from(from: &T, _builder: &ReconstructorContext) -> T
Sourceยงimpl<T> ReconstructableFrom<T> for T
impl<T> ReconstructableFrom<T> for T
fn reconstruct_from(from: T, _builder: &ReconstructorContext) -> T
Sourceยงimpl<T> SCCodec for Twhere
T: TopEncode,
impl<T> SCCodec for Twhere
T: TopEncode,
fn fmt<F>(&self, f: &mut F)where
F: FormatByteReceiver,
Sourceยงimpl<T> TopDecodeMulti for Twhere
T: TopDecode,
impl<T> TopDecodeMulti for Twhere
T: TopDecode,
Sourceยงconst IS_SINGLE_VALUE: bool = true
const IS_SINGLE_VALUE: bool = true
fn multi_decode_or_handle_err<I, H>(
input: &mut I,
h: H,
) -> Result<T, <H as DecodeErrorHandler>::HandledErr>where
I: TopDecodeMultiInput,
H: DecodeErrorHandler,
fn multi_decode<I>(input: &mut I) -> Result<Self, DecodeError>where
I: TopDecodeMultiInput,
Sourceยงimpl<T> TopDecodeMultiLength for T
impl<T> TopDecodeMultiLength for T
Sourceยงimpl<T> TopEncodeMulti for Twhere
T: TopEncode,
impl<T> TopEncodeMulti for Twhere
T: TopEncode,
Sourceยงfn multi_encode_or_handle_err<O, H>(
&self,
output: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeMultiOutput,
H: EncodeErrorHandler,
fn multi_encode_or_handle_err<O, H>(
&self,
output: &mut O,
h: H,
) -> Result<(), <H as EncodeErrorHandler>::HandledErr>where
O: TopEncodeMultiOutput,
H: EncodeErrorHandler,
top_encode
that can handle errors as soon as they occur.
For instance in can exit immediately and make sure that if it returns, it is a success.
By not deferring error handling, this can lead to somewhat smaller bytecode.