Struct BigInt
struct BigInt { ... }
A big signed integer type.
Implementations
impl BigInt
fn new(sign: Sign, digits: Vec<u32>) -> BigIntCreates and initializes a
BigInt.The base 232 digits are ordered least significant digit first.
fn from_biguint(sign: Sign, data: BigUint) -> BigIntCreates and initializes a
BigInt.The base 232 digits are ordered least significant digit first.
fn from_slice(sign: Sign, slice: &[u32]) -> BigIntCreates and initializes a
BigInt.The base 232 digits are ordered least significant digit first.
fn assign_from_slice(self: &mut Self, sign: Sign, slice: &[u32])Reinitializes a
BigInt.The base 232 digits are ordered least significant digit first.
fn from_bytes_be(sign: Sign, bytes: &[u8]) -> BigIntCreates and initializes a
BigInt.The bytes are in big-endian byte order.
Examples
use ; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn from_bytes_le(sign: Sign, bytes: &[u8]) -> BigIntCreates and initializes a
BigInt.The bytes are in little-endian byte order.
fn from_signed_bytes_be(digits: &[u8]) -> BigIntCreates and initializes a
BigIntfrom an array of bytes in two's complement binary representation.The digits are in big-endian base 28.
fn from_signed_bytes_le(digits: &[u8]) -> BigIntCreates and initializes a
BigIntfrom an array of bytes in two's complement.The digits are in little-endian base 28.
fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigInt>Creates and initializes a
BigInt.Examples
use ; assert_eq!; assert_eq!; assert_eq!;fn from_radix_be(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>Creates and initializes a
BigInt. Eachu8of the input slice is interpreted as one digit of the number and must therefore be less thanradix.The bytes are in big-endian byte order.
radixmust be in the range2...256.Examples
use ; let inbase190 = vec!; let a = from_radix_be.unwrap; assert_eq!;fn from_radix_le(sign: Sign, buf: &[u8], radix: u32) -> Option<BigInt>Creates and initializes a
BigInt. Eachu8of the input slice is interpreted as one digit of the number and must therefore be less thanradix.The bytes are in little-endian byte order.
radixmust be in the range2...256.Examples
use ; let inbase190 = vec!; let a = from_radix_be.unwrap; assert_eq!;fn to_bytes_be(self: &Self) -> (Sign, Vec<u8>)Returns the sign and the byte representation of the
BigIntin big-endian byte order.Examples
use ; let i = -1125.to_bigint.unwrap; assert_eq!;fn to_bytes_le(self: &Self) -> (Sign, Vec<u8>)Returns the sign and the byte representation of the
BigIntin little-endian byte order.Examples
use ; let i = -1125.to_bigint.unwrap; assert_eq!;fn to_u32_digits(self: &Self) -> (Sign, Vec<u32>)Returns the sign and the
u32digits representation of theBigIntordered least significant digit first.Examples
use ; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn to_u64_digits(self: &Self) -> (Sign, Vec<u64>)Returns the sign and the
u64digits representation of theBigIntordered least significant digit first.Examples
use ; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn iter_u32_digits(self: &Self) -> U32Digits<'_>Returns an iterator of
u32digits representation of theBigIntordered least significant digit first.Examples
use BigInt; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn iter_u64_digits(self: &Self) -> U64Digits<'_>Returns an iterator of
u64digits representation of theBigIntordered least significant digit first.Examples
use BigInt; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn to_signed_bytes_be(self: &Self) -> Vec<u8>Returns the two's-complement byte representation of the
BigIntin big-endian byte order.Examples
use ToBigInt; let i = -1125.to_bigint.unwrap; assert_eq!;fn to_signed_bytes_le(self: &Self) -> Vec<u8>Returns the two's-complement byte representation of the
BigIntin little-endian byte order.Examples
use ToBigInt; let i = -1125.to_bigint.unwrap; assert_eq!;fn to_str_radix(self: &Self, radix: u32) -> StringReturns the integer formatted as a string in the given radix.
radixmust be in the range2...36.Examples
use BigInt; let i = parse_bytes.unwrap; assert_eq!;fn to_radix_be(self: &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
u8number.radixmust be in the range2...256.Examples
use ; assert_eq!; // 0xFFFF = 65535 = 2*(159^2) + 94*159 + 27fn to_radix_le(self: &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
u8number.radixmust be in the range2...256.Examples
use ; assert_eq!; // 0xFFFF = 65535 = 27 + 94*159 + 2*(159^2)fn sign(self: &Self) -> SignReturns the sign of the
BigIntas aSign.Examples
use ; assert_eq!; assert_eq!; assert_eq!;fn magnitude(self: &Self) -> &BigUintReturns the magnitude of the
BigIntas aBigUint.Examples
use ; use Zero; assert_eq!; assert_eq!; assert!;fn into_parts(self: Self) -> (Sign, BigUint)Convert this
BigIntinto itsSignandBigUintmagnitude, the reverse of [BigInt::from_biguint()].Examples
use ; assert_eq!; assert_eq!; assert_eq!;fn bits(self: &Self) -> u64Determines the fewest bits necessary to express the
BigInt, not including the sign.fn to_biguint(self: &Self) -> Option<BigUint>fn checked_add(self: &Self, v: &BigInt) -> Option<BigInt>fn checked_sub(self: &Self, v: &BigInt) -> Option<BigInt>fn checked_mul(self: &Self, v: &BigInt) -> Option<BigInt>fn checked_div(self: &Self, v: &BigInt) -> Option<BigInt>fn pow(self: &Self, exponent: u32) -> SelfReturns
self ^ exponent.fn modpow(self: &Self, exponent: &Self, modulus: &Self) -> SelfReturns
(self ^ exponent) mod modulusNote that this rounds like
mod_floor, not like the%operator, which makes a difference when given a negativeselformodulus. The result will be in the interval[0, modulus)formodulus > 0, or in the interval(modulus, 0]formodulus < 0Panics if the exponent is negative or the modulus is zero.
fn modinv(self: &Self, modulus: &Self) -> Option<Self>Returns the modular multiplicative inverse if it exists, otherwise
None.This solves for
xsuch thatself * x ≡ 1 (mod modulus). Note that this rounds likemod_floor, not like the%operator, which makes a difference when given a negativeselformodulus. The solution will be in the interval[0, modulus)formodulus > 0, or in the interval(modulus, 0]formodulus < 0, and it exists if and only ifgcd(self, modulus) == 1.use BigInt; use Integer; use ; let m = from; // Trivial cases assert_eq!; assert_eq!; let neg1 = &m - 1u32; assert_eq!; // Positive self and modulus let a = from; let x = a.modinv.unwrap; assert_eq!; assert_eq!; assert_eq!; // Negative self and positive modulus let b = -&a; let x = b.modinv.unwrap; assert_eq!; assert_eq!; // Positive self and negative modulus let n = -&m; let x = a.modinv.unwrap; assert_eq!; assert_eq!; // Negative self and modulus let x = b.modinv.unwrap; assert_eq!; assert_eq!;fn sqrt(self: &Self) -> SelfReturns the truncated principal square root of
self-- see [num_integer::Roots::sqrt()].fn cbrt(self: &Self) -> SelfReturns the truncated principal cube root of
self-- see [num_integer::Roots::cbrt()].fn nth_root(self: &Self, n: u32) -> SelfReturns the truncated principal
nth root ofself-- See [num_integer::Roots::nth_root()].fn trailing_zeros(self: &Self) -> Option<u64>Returns the number of least-significant bits that are zero, or
Noneif the entire number is zero.fn bit(self: &Self, bit: u64) -> boolReturns whether the bit in position
bitis set, using the two's complement for negative numbersfn set_bit(self: &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
impl Add for BigInt
fn add(self: Self, other: &i32) -> BigInt
impl Add for BigInt
fn add(self: Self, other: u32) -> BigInt
impl Add for BigInt
fn add(self: Self, other: u16) -> BigInt
impl Add for BigInt
fn add(self: Self, other: u64) -> BigInt
impl Add for BigInt
fn add(self: Self, other: i8) -> BigInt
impl Add for BigInt
fn add(self: Self, other: isize) -> BigInt
impl Add for BigInt
fn add(self: Self, other: u128) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &u128) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &u16) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &i8) -> BigInt
impl Add for BigInt
fn add(self: Self, other: i32) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &isize) -> BigInt
impl Add for BigInt
fn add(self: Self, other: i64) -> BigInt
impl Add for BigInt
fn add(self: Self, other: i128) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &i128) -> BigInt
impl Add for BigInt
fn add(self: Self, other: BigInt) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &u64) -> BigInt
impl Add for BigInt
fn add(self: Self, other: u8) -> BigInt
impl Add for BigInt
fn add(self: Self, other: usize) -> BigInt
impl Add for BigInt
fn add(self: Self, other: i16) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &i64) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &BigInt) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &u8) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &usize) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &i16) -> BigInt
impl Add for BigInt
fn add(self: Self, other: &u32) -> BigInt
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: BigInt)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: i16)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: u8)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: isize)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: u32)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: u64)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: u128)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: u16)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: i32)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: i64)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: i128)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: usize)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: &BigInt)
impl AddAssign for BigInt
fn add_assign(self: &mut Self, other: i8)
impl Binary for BigInt
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl BitAnd for BigInt
fn bitand(self: Self, other: &BigInt) -> BigInt
impl BitAnd for BigInt
fn bitand(self: Self, other: BigInt) -> BigInt
impl BitAndAssign for BigInt
fn bitand_assign(self: &mut Self, other: &BigInt)
impl BitAndAssign for BigInt
fn bitand_assign(self: &mut Self, other: BigInt)
impl BitOr for BigInt
fn bitor(self: Self, other: BigInt) -> BigInt
impl BitOr for BigInt
fn bitor(self: Self, other: &BigInt) -> BigInt
impl BitOrAssign for BigInt
fn bitor_assign(self: &mut Self, other: &BigInt)
impl BitOrAssign for BigInt
fn bitor_assign(self: &mut Self, other: BigInt)
impl BitXor for BigInt
fn bitxor(self: Self, other: BigInt) -> BigInt
impl BitXor for BigInt
fn bitxor(self: Self, other: &BigInt) -> BigInt
impl BitXorAssign for BigInt
fn bitxor_assign(self: &mut Self, other: &BigInt)
impl BitXorAssign for BigInt
fn bitxor_assign(self: &mut Self, other: BigInt)
impl CheckedAdd for BigInt
fn checked_add(self: &Self, v: &BigInt) -> Option<BigInt>
impl CheckedDiv for BigInt
fn checked_div(self: &Self, v: &BigInt) -> Option<BigInt>
impl CheckedEuclid for BigInt
fn checked_div_euclid(self: &Self, v: &BigInt) -> Option<BigInt>fn checked_rem_euclid(self: &Self, v: &BigInt) -> Option<BigInt>fn checked_div_rem_euclid(self: &Self, v: &Self) -> Option<(Self, Self)>
impl CheckedMul for BigInt
fn checked_mul(self: &Self, v: &BigInt) -> Option<BigInt>
impl CheckedSub for BigInt
fn checked_sub(self: &Self, v: &BigInt) -> Option<BigInt>
impl Clone for BigInt
fn clone(self: &Self) -> Selffn clone_from(self: &mut Self, other: &Self)
impl ConstZero for BigInt
impl Debug for BigInt
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Default for BigInt
fn default() -> BigInt
impl Display for BigInt
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Div for BigInt
fn div(self: Self, other: i128) -> BigInt
impl Div for BigInt
fn div(self: Self, other: u64) -> BigInt
impl Div for BigInt
fn div(self: Self, other: u8) -> BigInt
impl Div for BigInt
fn div(self: Self, other: usize) -> BigInt
impl Div for BigInt
fn div(self: Self, other: i16) -> BigInt
impl Div for BigInt
fn div(self: Self, other: i64) -> BigInt
impl Div for BigInt
fn div(self: Self, other: u32) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &u8) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &usize) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &i16) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &u128) -> BigInt
impl Div for BigInt
fn div(self: Self, other: i32) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &BigInt) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &u64) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &i128) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &u32) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &i64) -> BigInt
impl Div for BigInt
fn div(self: Self, other: BigInt) -> BigInt
impl Div for BigInt
fn div(self: Self, other: u16) -> BigInt
impl Div for BigInt
fn div(self: Self, other: i8) -> BigInt
impl Div for BigInt
fn div(self: Self, other: isize) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &i32) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &u16) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &i8) -> BigInt
impl Div for BigInt
fn div(self: Self, other: &isize) -> BigInt
impl Div for BigInt
fn div(self: Self, other: u128) -> BigInt
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: u128)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: usize)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: i128)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: &BigInt)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: u64)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: i8)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: i64)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: u32)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: BigInt)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: i16)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: i32)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: u8)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: isize)
impl DivAssign for BigInt
fn div_assign(self: &mut Self, other: u16)
impl Eq for BigInt
impl Euclid for BigInt
fn div_euclid(self: &Self, v: &BigInt) -> BigIntfn rem_euclid(self: &Self, v: &BigInt) -> BigIntfn div_rem_euclid(self: &Self, v: &Self) -> (Self, Self)
impl Freeze for BigInt
impl From for BigInt
fn from(n: i32) -> Self
impl From for BigInt
fn from(n: u16) -> Self
impl From for BigInt
fn from(x: bool) -> Self
impl From for BigInt
fn from(n: i64) -> Self
impl From for BigInt
fn from(n: isize) -> Self
impl From for BigInt
fn from(n: u32) -> Self
impl From for BigInt
fn from(n: i128) -> Self
impl From for BigInt
fn from(n: u64) -> Self
impl From for BigInt
fn from(n: usize) -> Self
impl From for BigInt
fn from(n: i8) -> Self
impl From for BigInt
fn from(n: u128) -> Self
impl From for BigInt
fn from(n: BigUint) -> Self
impl From for BigInt
fn from(n: i16) -> Self
impl From for BigInt
fn from(n: u8) -> Self
impl FromBytes for BigInt
fn from_be_bytes(bytes: &<Self as >::Bytes) -> Selffn from_le_bytes(bytes: &<Self as >::Bytes) -> Self
impl FromPrimitive for BigInt
fn from_i64(n: i64) -> Option<BigInt>fn from_i128(n: i128) -> Option<BigInt>fn from_u64(n: u64) -> Option<BigInt>fn from_u128(n: u128) -> Option<BigInt>fn from_f64(n: f64) -> Option<BigInt>
impl FromStr for BigInt
fn from_str(s: &str) -> Result<BigInt, ParseBigIntError>
impl Hash for BigInt
fn hash<H: hash::Hasher>(self: &Self, state: &mut H)
impl Integer for BigInt
fn div_rem(self: &Self, other: &BigInt) -> (BigInt, BigInt)fn div_floor(self: &Self, other: &BigInt) -> BigIntfn mod_floor(self: &Self, other: &BigInt) -> BigIntfn div_mod_floor(self: &Self, other: &BigInt) -> (BigInt, BigInt)fn div_ceil(self: &Self, other: &Self) -> Selffn gcd(self: &Self, other: &BigInt) -> BigIntCalculates the Greatest Common Divisor (GCD) of the number and
other.The result is always positive.
fn lcm(self: &Self, other: &BigInt) -> BigIntCalculates the Lowest Common Multiple (LCM) of the number and
other.fn gcd_lcm(self: &Self, other: &BigInt) -> (BigInt, BigInt)Calculates the Greatest Common Divisor (GCD) and Lowest Common Multiple (LCM) together.
fn extended_gcd_lcm(self: &Self, other: &BigInt) -> (ExtendedGcd<BigInt>, BigInt)Greatest common divisor, least common multiple, and Bézout coefficients.
fn divides(self: &Self, other: &BigInt) -> boolDeprecated, use
is_multiple_ofinstead.fn is_multiple_of(self: &Self, other: &BigInt) -> boolReturns
trueif the number is a multiple ofother.fn is_even(self: &Self) -> boolReturns
trueif the number is divisible by2.fn is_odd(self: &Self) -> boolReturns
trueif the number is not divisible by2.fn next_multiple_of(self: &Self, other: &Self) -> SelfRounds up to nearest multiple of argument.
fn prev_multiple_of(self: &Self, other: &Self) -> SelfRounds down to nearest multiple of argument.
fn dec(self: &mut Self)fn inc(self: &mut Self)
impl LowerHex for BigInt
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Mul for BigInt
fn mul(self: Self, other: BigInt) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: u32) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: u16) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: u64) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: i8) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: isize) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: u128) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &u128) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &u16) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &i8) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: i32) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &isize) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: i64) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: i128) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &i128) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &u64) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: u8) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: usize) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: i16) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &i64) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &BigInt) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &u8) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &usize) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &i16) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &u32) -> BigInt
impl Mul for BigInt
fn mul(self: Self, other: &i32) -> BigInt
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: u8)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: isize)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: u32)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: u64)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: u128)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: u16)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: i32)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: i64)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: i128)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: usize)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: BigInt)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: i8)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: &BigInt)
impl MulAssign for BigInt
fn mul_assign(self: &mut Self, other: i16)
impl Neg for BigInt
fn neg(self: Self) -> BigInt
impl Not for BigInt
fn not(self: Self) -> BigInt
impl Num for BigInt
fn from_str_radix(s: &str, radix: u32) -> Result<BigInt, ParseBigIntError>Creates and initializes a
BigInt.
impl Octal for BigInt
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl One for BigInt
fn one() -> BigIntfn set_one(self: &mut Self)fn is_one(self: &Self) -> bool
impl Ord for BigInt
fn cmp(self: &Self, other: &BigInt) -> Ordering
impl PartialEq for BigInt
fn eq(self: &Self, other: &BigInt) -> bool
impl PartialOrd for BigInt
fn partial_cmp(self: &Self, other: &BigInt) -> Option<Ordering>
impl Pow for BigInt
fn pow(self: Self, rhs: u8) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: u32) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: BigUint) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: &u64) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: u64) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: &u8) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: &usize) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: usize) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: &u16) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: &u128) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: u16) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: u128) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: &u32) -> BigInt
impl Pow for BigInt
fn pow(self: Self, rhs: &BigUint) -> BigInt
impl RefUnwindSafe for BigInt
impl Rem for BigInt
fn rem(self: Self, other: isize) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &i32) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &u16) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &i8) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &isize) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: u128) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: i128) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: u64) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: u8) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: usize) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: i16) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: i64) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: u32) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &u8) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &usize) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &i16) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &u128) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: i32) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &BigInt) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &u64) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &i128) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &u32) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: &i64) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: BigInt) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: u16) -> BigInt
impl Rem for BigInt
fn rem(self: Self, other: i8) -> BigInt
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: u8)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: isize)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: u16)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: u128)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: usize)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: i128)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: &BigInt)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: u64)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: i8)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: i64)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: u32)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: BigInt)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: i16)
impl RemAssign for BigInt
fn rem_assign(self: &mut Self, other: i32)
impl Roots for BigInt
fn nth_root(self: &Self, n: u32) -> Selffn sqrt(self: &Self) -> Selffn cbrt(self: &Self) -> Self
impl Send for BigInt
impl Serialize for BigInt
fn serialize<S>(self: &Self, serializer: S) -> Result<<S as >::Ok, <S as >::Error> where S: Serializer
impl Shl for BigInt
fn shl(self: Self, rhs: u128) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: i16) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: i128) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &u32) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &usize) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &i32) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &isize) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: u32) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: usize) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: i32) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: isize) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &u64) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &i8) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &i64) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: u64) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: i8) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: i64) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &u16) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: u8) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &u128) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &u8) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &i16) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: &i128) -> BigInt
impl Shl for BigInt
fn shl(self: Self, rhs: u16) -> BigInt
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: u16)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: u128)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: i16)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: i128)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &u32)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &usize)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &i32)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &isize)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: u32)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: usize)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: i32)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: isize)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: u8)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &u64)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &i8)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &i64)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: u64)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: i8)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: i64)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &u16)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &u128)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &u8)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &i16)
impl ShlAssign for BigInt
fn shl_assign(self: &mut Self, rhs: &i128)
impl Shr for BigInt
fn shr(self: Self, rhs: usize) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: i32) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: isize) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &u8) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &u64) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &i8) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &i64) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: u64) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: i8) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: i64) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &u16) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &u128) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &i16) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &i128) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: u16) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: u128) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: u8) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: i16) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: i128) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &u32) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &usize) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &i32) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: &isize) -> BigInt
impl Shr for BigInt
fn shr(self: Self, rhs: u32) -> BigInt
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: u32)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: usize)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: i32)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: isize)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &u8)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &u64)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &i8)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &i64)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: u64)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: i8)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: i64)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &u16)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &u128)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &i16)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &i128)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: u16)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: u128)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: u8)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: i16)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: i128)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &u32)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &usize)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &i32)
impl ShrAssign for BigInt
fn shr_assign(self: &mut Self, rhs: &isize)
impl Signed for BigInt
fn abs(self: &Self) -> BigIntfn abs_sub(self: &Self, other: &BigInt) -> BigIntfn signum(self: &Self) -> BigIntfn is_positive(self: &Self) -> boolfn is_negative(self: &Self) -> bool
impl Sub for BigInt
fn sub(self: Self, other: isize) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: u128) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &i32) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &u16) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &i8) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &isize) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: i128) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: BigInt) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: u8) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: usize) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: i16) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: i64) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: u32) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &BigInt) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &u8) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &usize) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &i16) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &u128) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: i32) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &u64) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &i128) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &u32) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: &i64) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: u16) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: u64) -> BigInt
impl Sub for BigInt
fn sub(self: Self, other: i8) -> BigInt
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: u8)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: isize)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: u64)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: u128)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: u16)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: usize)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: i128)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: &BigInt)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: i8)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: i64)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: u32)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: BigInt)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: i16)
impl SubAssign for BigInt
fn sub_assign(self: &mut Self, other: i32)
impl Sync for BigInt
impl ToBigInt for BigInt
fn to_bigint(self: &Self) -> Option<BigInt>
impl ToBigUint for BigInt
fn to_biguint(self: &Self) -> Option<BigUint>
impl ToBytes for BigInt
fn to_be_bytes(self: &Self) -> <Self as >::Bytesfn to_le_bytes(self: &Self) -> <Self as >::Bytes
impl ToPrimitive for BigInt
fn to_i64(self: &Self) -> Option<i64>fn to_i128(self: &Self) -> Option<i128>fn to_u64(self: &Self) -> Option<u64>fn to_u128(self: &Self) -> Option<u128>fn to_f32(self: &Self) -> Option<f32>fn to_f64(self: &Self) -> Option<f64>
impl Unpin for BigInt
impl UnsafeUnpin for BigInt
impl UnwindSafe for BigInt
impl UpperHex for BigInt
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Zero for BigInt
fn zero() -> BigIntfn set_zero(self: &mut Self)fn is_zero(self: &Self) -> bool
impl<'de> Deserialize for BigInt
fn deserialize<D>(deserializer: D) -> Result<Self, <D as >::Error> where D: Deserializer<'de>
impl<I> Average for BigInt
fn average_floor(self: &Self, other: &I) -> IReturns the floor value of the average of
selfandother.fn average_ceil(self: &Self, other: &I) -> IReturns the ceil value of the average of
selfandother.
impl<T> Any for BigInt
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for BigInt
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for BigInt
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for BigInt
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> DeserializeOwned for BigInt
impl<T> From for BigInt
fn from(t: T) -> TReturns the argument unchanged.
impl<T> NumAssign for BigInt
impl<T> NumAssignRef for BigInt
impl<T> NumRef for BigInt
impl<T> Product for BigInt
fn product<I>(iter: I) -> Self where I: Iterator<Item = T>
impl<T> Sum for BigInt
fn sum<I>(iter: I) -> Self where I: Iterator<Item = T>
impl<T> ToOwned for BigInt
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T> ToString for BigInt
fn to_string(self: &Self) -> String
impl<T, Base> RefNum for BigInt
impl<T, Rhs> NumAssignOps for BigInt
impl<T, Rhs, Output> NumOps for BigInt
impl<T, U> Into for BigInt
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for BigInt
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for BigInt
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>