Struct hacspec_lib::prelude::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, Global>) -> BigInt
pub fn new(sign: Sign, digits: Vec<u32, Global>) -> 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_u32_digits(&self) -> (Sign, Vec<u32, Global>)
pub fn to_u32_digits(&self) -> (Sign, Vec<u32, Global>)
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, Global>)
pub fn to_u64_digits(&self) -> (Sign, Vec<u64, Global>)
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, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn to_signed_bytes_be(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourcepub fn to_signed_bytes_le(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn to_signed_bytes_le(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
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, Global>)
pub fn to_radix_be(&self, radix: u32) -> (Sign, Vec<u8, Global>)
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, Global>)
pub fn to_radix_le(&self, radix: u32) -> (Sign, Vec<u8, Global>)
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};
use num_traits::Zero;
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 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
sourceimpl<'_> AddAssign<&BigInt> for BigInt
impl<'_> AddAssign<&BigInt> for BigInt
sourcefn add_assign(&mut self, other: &BigInt)
fn add_assign(&mut self, other: &BigInt)
Performs the +=
operation. Read more
sourceimpl AddAssign<BigInt> for BigInt
impl AddAssign<BigInt> for BigInt
sourcefn add_assign(&mut self, other: BigInt)
fn add_assign(&mut self, other: BigInt)
Performs the +=
operation. Read more
sourceimpl AddAssign<i128> for BigInt
impl AddAssign<i128> for BigInt
sourcefn add_assign(&mut self, other: i128)
fn add_assign(&mut self, other: i128)
Performs the +=
operation. Read more
sourceimpl AddAssign<i16> for BigInt
impl AddAssign<i16> for BigInt
sourcefn add_assign(&mut self, other: i16)
fn add_assign(&mut self, other: i16)
Performs the +=
operation. Read more
sourceimpl AddAssign<i32> for BigInt
impl AddAssign<i32> for BigInt
sourcefn add_assign(&mut self, other: i32)
fn add_assign(&mut self, other: i32)
Performs the +=
operation. Read more
sourceimpl AddAssign<i64> for BigInt
impl AddAssign<i64> for BigInt
sourcefn add_assign(&mut self, other: i64)
fn add_assign(&mut self, other: i64)
Performs the +=
operation. Read more
sourceimpl AddAssign<i8> for BigInt
impl AddAssign<i8> for BigInt
sourcefn add_assign(&mut self, other: i8)
fn add_assign(&mut self, other: i8)
Performs the +=
operation. Read more
sourceimpl AddAssign<isize> for BigInt
impl AddAssign<isize> for BigInt
sourcefn add_assign(&mut self, other: isize)
fn add_assign(&mut self, other: isize)
Performs the +=
operation. Read more
sourceimpl AddAssign<u128> for BigInt
impl AddAssign<u128> for BigInt
sourcefn add_assign(&mut self, other: u128)
fn add_assign(&mut self, other: u128)
Performs the +=
operation. Read more
sourceimpl AddAssign<u16> for BigInt
impl AddAssign<u16> for BigInt
sourcefn add_assign(&mut self, other: u16)
fn add_assign(&mut self, other: u16)
Performs the +=
operation. Read more
sourceimpl AddAssign<u32> for BigInt
impl AddAssign<u32> for BigInt
sourcefn add_assign(&mut self, other: u32)
fn add_assign(&mut self, other: u32)
Performs the +=
operation. Read more
sourceimpl AddAssign<u64> for BigInt
impl AddAssign<u64> for BigInt
sourcefn add_assign(&mut self, other: u64)
fn add_assign(&mut self, other: u64)
Performs the +=
operation. Read more
sourceimpl AddAssign<u8> for BigInt
impl AddAssign<u8> for BigInt
sourcefn add_assign(&mut self, other: u8)
fn add_assign(&mut self, other: u8)
Performs the +=
operation. Read more
sourceimpl AddAssign<usize> for BigInt
impl AddAssign<usize> for BigInt
sourcefn add_assign(&mut self, other: usize)
fn add_assign(&mut self, other: usize)
Performs the +=
operation. Read more
sourceimpl<'_> BitAndAssign<&BigInt> for BigInt
impl<'_> BitAndAssign<&BigInt> for BigInt
sourcefn bitand_assign(&mut self, other: &BigInt)
fn bitand_assign(&mut self, other: &BigInt)
Performs the &=
operation. Read more
sourceimpl BitAndAssign<BigInt> for BigInt
impl BitAndAssign<BigInt> for BigInt
sourcefn bitand_assign(&mut self, other: BigInt)
fn bitand_assign(&mut self, other: BigInt)
Performs the &=
operation. Read more
sourceimpl<'_> BitOrAssign<&BigInt> for BigInt
impl<'_> BitOrAssign<&BigInt> for BigInt
sourcefn bitor_assign(&mut self, other: &BigInt)
fn bitor_assign(&mut self, other: &BigInt)
Performs the |=
operation. Read more
sourceimpl BitOrAssign<BigInt> for BigInt
impl BitOrAssign<BigInt> for BigInt
sourcefn bitor_assign(&mut self, other: BigInt)
fn bitor_assign(&mut self, other: BigInt)
Performs the |=
operation. Read more
sourceimpl<'_> BitXorAssign<&BigInt> for BigInt
impl<'_> BitXorAssign<&BigInt> for BigInt
sourcefn bitxor_assign(&mut self, other: &BigInt)
fn bitxor_assign(&mut self, other: &BigInt)
Performs the ^=
operation. Read more
sourceimpl BitXorAssign<BigInt> for BigInt
impl BitXorAssign<BigInt> for BigInt
sourcefn bitxor_assign(&mut self, other: BigInt)
fn bitxor_assign(&mut self, other: BigInt)
Performs the ^=
operation. Read more
sourceimpl CheckedAdd for BigInt
impl CheckedAdd for BigInt
sourceimpl CheckedDiv for BigInt
impl CheckedDiv for BigInt
sourceimpl CheckedEuclid for BigInt
impl CheckedEuclid for BigInt
sourcefn checked_div_euclid(&self, v: &BigInt) -> Option<BigInt>
fn checked_div_euclid(&self, v: &BigInt) -> Option<BigInt>
Performs euclid division that returns None
instead of panicking on division by zero
and instead of wrapping around on underflow and overflow. Read more
sourcefn checked_rem_euclid(&self, v: &BigInt) -> Option<BigInt>
fn checked_rem_euclid(&self, v: &BigInt) -> Option<BigInt>
Finds the euclid remainder of dividing two numbers, checking for underflow, overflow and
division by zero. If any of that happens, None
is returned. Read more
sourcefn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>
fn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>
Returns both the quotient and remainder from checked Euclidean division. Read more
sourceimpl CheckedMul for BigInt
impl CheckedMul for BigInt
sourceimpl CheckedSub for BigInt
impl CheckedSub for BigInt
sourceimpl<'_> DivAssign<&BigInt> for BigInt
impl<'_> DivAssign<&BigInt> for BigInt
sourcefn div_assign(&mut self, other: &BigInt)
fn div_assign(&mut self, other: &BigInt)
Performs the /=
operation. Read more
sourceimpl DivAssign<BigInt> for BigInt
impl DivAssign<BigInt> for BigInt
sourcefn div_assign(&mut self, other: BigInt)
fn div_assign(&mut self, other: BigInt)
Performs the /=
operation. Read more
sourceimpl DivAssign<i128> for BigInt
impl DivAssign<i128> for BigInt
sourcefn div_assign(&mut self, other: i128)
fn div_assign(&mut self, other: i128)
Performs the /=
operation. Read more
sourceimpl DivAssign<i16> for BigInt
impl DivAssign<i16> for BigInt
sourcefn div_assign(&mut self, other: i16)
fn div_assign(&mut self, other: i16)
Performs the /=
operation. Read more
sourceimpl DivAssign<i32> for BigInt
impl DivAssign<i32> for BigInt
sourcefn div_assign(&mut self, other: i32)
fn div_assign(&mut self, other: i32)
Performs the /=
operation. Read more
sourceimpl DivAssign<i64> for BigInt
impl DivAssign<i64> for BigInt
sourcefn div_assign(&mut self, other: i64)
fn div_assign(&mut self, other: i64)
Performs the /=
operation. Read more
sourceimpl DivAssign<i8> for BigInt
impl DivAssign<i8> for BigInt
sourcefn div_assign(&mut self, other: i8)
fn div_assign(&mut self, other: i8)
Performs the /=
operation. Read more
sourceimpl DivAssign<isize> for BigInt
impl DivAssign<isize> for BigInt
sourcefn div_assign(&mut self, other: isize)
fn div_assign(&mut self, other: isize)
Performs the /=
operation. Read more
sourceimpl DivAssign<u128> for BigInt
impl DivAssign<u128> for BigInt
sourcefn div_assign(&mut self, other: u128)
fn div_assign(&mut self, other: u128)
Performs the /=
operation. Read more
sourceimpl DivAssign<u16> for BigInt
impl DivAssign<u16> for BigInt
sourcefn div_assign(&mut self, other: u16)
fn div_assign(&mut self, other: u16)
Performs the /=
operation. Read more
sourceimpl DivAssign<u32> for BigInt
impl DivAssign<u32> for BigInt
sourcefn div_assign(&mut self, other: u32)
fn div_assign(&mut self, other: u32)
Performs the /=
operation. Read more
sourceimpl DivAssign<u64> for BigInt
impl DivAssign<u64> for BigInt
sourcefn div_assign(&mut self, other: u64)
fn div_assign(&mut self, other: u64)
Performs the /=
operation. Read more
sourceimpl DivAssign<u8> for BigInt
impl DivAssign<u8> for BigInt
sourcefn div_assign(&mut self, other: u8)
fn div_assign(&mut self, other: u8)
Performs the /=
operation. Read more
sourceimpl DivAssign<usize> for BigInt
impl DivAssign<usize> for BigInt
sourcefn div_assign(&mut self, other: usize)
fn div_assign(&mut self, other: usize)
Performs the /=
operation. Read more
sourceimpl Euclid for BigInt
impl Euclid for BigInt
sourcefn div_euclid(&self, v: &BigInt) -> BigInt
fn div_euclid(&self, v: &BigInt) -> BigInt
Calculates Euclidean division, the matching method for rem_euclid
. Read more
sourcefn rem_euclid(&self, v: &BigInt) -> BigInt
fn rem_euclid(&self, v: &BigInt) -> BigInt
Calculates the least nonnegative remainder of self (mod v)
. Read more
sourcefn div_rem_euclid(&self, v: &Self) -> (Self, Self)
fn div_rem_euclid(&self, v: &Self) -> (Self, Self)
Returns both the quotient and remainder from Euclidean division. Read more
sourceimpl FromBytes for BigInt
impl FromBytes for BigInt
type Bytes = [u8]
sourcefn from_be_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
fn from_be_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
Create a number from its representation as a byte array in big endian. Read more
sourcefn from_le_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
fn from_le_bytes(bytes: &<BigInt as FromBytes>::Bytes) -> BigInt
Create a number from its representation as a byte array in little endian. Read more
sourcefn from_ne_bytes(bytes: &Self::Bytes) -> Self
fn from_ne_bytes(bytes: &Self::Bytes) -> Self
Create a number from its memory representation as a byte array in native endianness. Read more
sourceimpl FromPrimitive for BigInt
impl FromPrimitive for BigInt
sourcefn from_i64(n: i64) -> Option<BigInt>
fn from_i64(n: i64) -> Option<BigInt>
Converts an i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i128(n: i128) -> Option<BigInt>
fn from_i128(n: i128) -> Option<BigInt>
Converts an i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u64(n: u64) -> Option<BigInt>
fn from_u64(n: u64) -> Option<BigInt>
Converts an u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u128(n: u128) -> Option<BigInt>
fn from_u128(n: u128) -> Option<BigInt>
Converts an u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_f64(n: f64) -> Option<BigInt>
fn from_f64(n: f64) -> Option<BigInt>
Converts a f64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourceimpl FromStr for BigInt
impl FromStr for BigInt
type Err = ParseBigIntError
type Err = ParseBigIntError
The associated error which can be returned from parsing.
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 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.
sourcefn 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.
sourcefn divides(&self, other: &BigInt) -> bool
👎 Deprecated: Please use is_multiple_of instead
fn divides(&self, other: &BigInt) -> bool
Please use is_multiple_of instead
Deprecated, use is_multiple_of
instead.
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 next_multiple_of(&self, other: &BigInt) -> BigInt
fn next_multiple_of(&self, other: &BigInt) -> BigInt
Rounds up to nearest multiple of argument.
sourcefn prev_multiple_of(&self, other: &BigInt) -> BigInt
fn prev_multiple_of(&self, other: &BigInt) -> BigInt
Rounds down to nearest multiple of argument.
sourcefn div_rem(&self, other: &BigInt) -> (BigInt, BigInt)
fn div_rem(&self, other: &BigInt) -> (BigInt, BigInt)
Simultaneous truncated integer division and modulus.
Returns (quotient, remainder)
. Read more
sourcefn div_mod_floor(&self, other: &BigInt) -> (BigInt, BigInt)
fn div_mod_floor(&self, other: &BigInt) -> (BigInt, BigInt)
Simultaneous floored integer division and modulus.
Returns (quotient, remainder)
. Read more
sourcefn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self> where
Self: Clone,
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self> where
Self: Clone,
Greatest common divisor and Bézout coefficients. Read more
sourceimpl Integer for BigInt
impl Integer for BigInt
sourcefn ZERO() -> Self
fn ZERO() -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn ONE() -> Self
fn ONE() -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn TWO() -> Self
fn TWO() -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn from_literal(val: u128) -> Self
fn from_literal(val: u128) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn from_hex_string(s: &String) -> Self
fn from_hex_string(s: &String) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn get_bit(self, i: usize) -> Self
fn get_bit(self, i: usize) -> Self
This function is within the hacspec subset of Rust: its signature and body use only hacspec constructs and
call functions whose signatures are in hacspec.
Get bit i
of this integer.
sourcefn set_bit(self, b: Self, i: usize) -> Self
fn set_bit(self, b: Self, i: usize) -> Self
This function is within the hacspec subset of Rust: its signature and body use only hacspec constructs and
call functions whose signatures are in hacspec.
Set bit i
of this integer to b
and return the result.
Bit b
has to be 0
or 1
.
sourcefn set(self, pos: usize, y: Self, yi: usize) -> Self
fn set(self, pos: usize, y: Self, yi: usize) -> Self
This function is within the hacspec subset of Rust: its signature and body use only hacspec constructs and
call functions whose signatures are in hacspec.
Set bit pos
of this integer to bit yi
of integer y
.
sourcefn rotate_left(self, n: usize) -> Self
fn rotate_left(self, n: usize) -> Self
This function is within the hacspec subset of Rust: its signature and body use only hacspec constructs and call functions whose signatures are in hacspec.
sourcefn rotate_right(self, n: usize) -> Self
fn rotate_right(self, n: usize) -> Self
This function is within the hacspec subset of Rust: its signature and body use only hacspec constructs and call functions whose signatures are in hacspec.
sourceimpl ModNumeric for BigInt
impl ModNumeric for BigInt
sourcefn sub_mod(self, rhs: Self, n: Self) -> Self
fn sub_mod(self, rhs: Self, n: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc. (self - rhs) % n.
sourcefn add_mod(self, rhs: Self, n: Self) -> Self
fn add_mod(self, rhs: Self, n: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
(self + rhs) % n
sourcefn mul_mod(self, rhs: Self, n: Self) -> Self
fn mul_mod(self, rhs: Self, n: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
(self * rhs) % n
sourcefn pow_mod(self, exp: Self, n: Self) -> Self
fn pow_mod(self, exp: Self, n: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
(self ^ exp) % n
sourcefn modulo(self, n: Self) -> Self
fn modulo(self, n: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
self % n
sourcefn signed_modulo(self, n: Self) -> Self
fn signed_modulo(self, n: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
self % n
that always returns a positive integer
sourceimpl<'_> MulAssign<&BigInt> for BigInt
impl<'_> MulAssign<&BigInt> for BigInt
sourcefn mul_assign(&mut self, other: &BigInt)
fn mul_assign(&mut self, other: &BigInt)
Performs the *=
operation. Read more
sourceimpl MulAssign<BigInt> for BigInt
impl MulAssign<BigInt> for BigInt
sourcefn mul_assign(&mut self, other: BigInt)
fn mul_assign(&mut self, other: BigInt)
Performs the *=
operation. Read more
sourceimpl MulAssign<i128> for BigInt
impl MulAssign<i128> for BigInt
sourcefn mul_assign(&mut self, other: i128)
fn mul_assign(&mut self, other: i128)
Performs the *=
operation. Read more
sourceimpl MulAssign<i16> for BigInt
impl MulAssign<i16> for BigInt
sourcefn mul_assign(&mut self, other: i16)
fn mul_assign(&mut self, other: i16)
Performs the *=
operation. Read more
sourceimpl MulAssign<i32> for BigInt
impl MulAssign<i32> for BigInt
sourcefn mul_assign(&mut self, other: i32)
fn mul_assign(&mut self, other: i32)
Performs the *=
operation. Read more
sourceimpl MulAssign<i64> for BigInt
impl MulAssign<i64> for BigInt
sourcefn mul_assign(&mut self, other: i64)
fn mul_assign(&mut self, other: i64)
Performs the *=
operation. Read more
sourceimpl MulAssign<i8> for BigInt
impl MulAssign<i8> for BigInt
sourcefn mul_assign(&mut self, other: i8)
fn mul_assign(&mut self, other: i8)
Performs the *=
operation. Read more
sourceimpl MulAssign<isize> for BigInt
impl MulAssign<isize> for BigInt
sourcefn mul_assign(&mut self, other: isize)
fn mul_assign(&mut self, other: isize)
Performs the *=
operation. Read more
sourceimpl MulAssign<u128> for BigInt
impl MulAssign<u128> for BigInt
sourcefn mul_assign(&mut self, other: u128)
fn mul_assign(&mut self, other: u128)
Performs the *=
operation. Read more
sourceimpl MulAssign<u16> for BigInt
impl MulAssign<u16> for BigInt
sourcefn mul_assign(&mut self, other: u16)
fn mul_assign(&mut self, other: u16)
Performs the *=
operation. Read more
sourceimpl MulAssign<u32> for BigInt
impl MulAssign<u32> for BigInt
sourcefn mul_assign(&mut self, other: u32)
fn mul_assign(&mut self, other: u32)
Performs the *=
operation. Read more
sourceimpl MulAssign<u64> for BigInt
impl MulAssign<u64> for BigInt
sourcefn mul_assign(&mut self, other: u64)
fn mul_assign(&mut self, other: u64)
Performs the *=
operation. Read more
sourceimpl MulAssign<u8> for BigInt
impl MulAssign<u8> for BigInt
sourcefn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
Performs the *=
operation. Read more
sourceimpl MulAssign<usize> for BigInt
impl MulAssign<usize> for BigInt
sourcefn mul_assign(&mut self, other: usize)
fn mul_assign(&mut self, other: usize)
Performs the *=
operation. Read more
sourceimpl 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 Numeric for BigInt
impl Numeric for BigInt
sourcefn max_val() -> Self
fn max_val() -> Self
Function that is not part of the language but is offered as a helper for tests, etc. Return largest value that can be represented.
sourcefn wrap_add(self, rhs: Self) -> Self
fn wrap_add(self, rhs: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn wrap_sub(self, rhs: Self) -> Self
fn wrap_sub(self, rhs: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn wrap_mul(self, rhs: Self) -> Self
fn wrap_mul(self, rhs: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn wrap_div(self, rhs: Self) -> Self
fn wrap_div(self, rhs: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn exp(self, exp: u32) -> Self
fn exp(self, exp: u32) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
self ^ exp
where exp
is a u32
.
sourcefn pow_self(self, exp: Self) -> Self
fn pow_self(self, exp: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
self ^ exp
where exp
is a Self
.
sourcefn divide(self, rhs: Self) -> Self
fn divide(self, rhs: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc. Division.
sourcefn inv(self, n: Self) -> Self
fn inv(self, n: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc. Invert self modulo n.
sourcefn equal(self, other: Self) -> bool
fn equal(self, other: Self) -> bool
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn greater_than(self, other: Self) -> bool
fn greater_than(self, other: Self) -> bool
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn greater_than_or_equal(self, other: Self) -> bool
fn greater_than_or_equal(self, other: Self) -> bool
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn less_than(self, other: Self) -> bool
fn less_than(self, other: Self) -> bool
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn less_than_or_equal(self, other: Self) -> bool
fn less_than_or_equal(self, other: Self) -> bool
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn not_equal_bm(self, other: Self) -> Self
fn not_equal_bm(self, other: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn equal_bm(self, other: Self) -> Self
fn equal_bm(self, other: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn greater_than_bm(self, other: Self) -> Self
fn greater_than_bm(self, other: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn greater_than_or_equal_bm(self, other: Self) -> Self
fn greater_than_or_equal_bm(self, other: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn less_than_bm(self, other: Self) -> Self
fn less_than_bm(self, other: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourcefn less_than_or_equal_bm(self, other: Self) -> Self
fn less_than_or_equal_bm(self, other: Self) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
sourceimpl Ord for BigInt
impl Ord for BigInt
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>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<'a, 'b, T> Pow<&'b BigInt> for &'a Ratio<T> where
T: Clone + Integer,
&'a T: Pow<&'b BigUint>,
<&'a T as Pow<&'b BigUint>>::Output == T,
impl<'a, 'b, T> Pow<&'b BigInt> for &'a Ratio<T> where
T: Clone + Integer,
&'a T: Pow<&'b BigUint>,
<&'a T as Pow<&'b BigUint>>::Output == T,
sourceimpl<'b, T> Pow<&'b BigInt> for Ratio<T> where
T: Clone + Integer + Pow<&'b BigUint, Output = T>,
impl<'b, T> Pow<&'b BigInt> for Ratio<T> where
T: Clone + Integer + Pow<&'b BigUint, Output = T>,
sourceimpl<'a, T> Pow<BigInt> for &'a Ratio<T> where
T: Clone + Integer,
&'a T: for<'b> Pow<&'b BigUint>,
<&'a T as Pow<&'b BigUint>>::Output == T,
impl<'a, T> Pow<BigInt> for &'a Ratio<T> where
T: Clone + Integer,
&'a T: for<'b> Pow<&'b BigUint>,
<&'a T as Pow<&'b BigUint>>::Output == T,
sourceimpl<T> Pow<BigInt> for Ratio<T> where
T: Clone + Integer + for<'b> Pow<&'b BigUint, Output = T>,
impl<T> Pow<BigInt> for Ratio<T> where
T: Clone + Integer + for<'b> Pow<&'b BigUint, Output = T>,
sourceimpl PublicInteger for BigInt
impl PublicInteger for BigInt
type SecretVersion = BigInt
sourceimpl<'_> RemAssign<&BigInt> for BigInt
impl<'_> RemAssign<&BigInt> for BigInt
sourcefn rem_assign(&mut self, other: &BigInt)
fn rem_assign(&mut self, other: &BigInt)
Performs the %=
operation. Read more
sourceimpl RemAssign<BigInt> for BigInt
impl RemAssign<BigInt> for BigInt
sourcefn rem_assign(&mut self, other: BigInt)
fn rem_assign(&mut self, other: BigInt)
Performs the %=
operation. Read more
sourceimpl RemAssign<i128> for BigInt
impl RemAssign<i128> for BigInt
sourcefn rem_assign(&mut self, other: i128)
fn rem_assign(&mut self, other: i128)
Performs the %=
operation. Read more
sourceimpl RemAssign<i16> for BigInt
impl RemAssign<i16> for BigInt
sourcefn rem_assign(&mut self, other: i16)
fn rem_assign(&mut self, other: i16)
Performs the %=
operation. Read more
sourceimpl RemAssign<i32> for BigInt
impl RemAssign<i32> for BigInt
sourcefn rem_assign(&mut self, other: i32)
fn rem_assign(&mut self, other: i32)
Performs the %=
operation. Read more
sourceimpl RemAssign<i64> for BigInt
impl RemAssign<i64> for BigInt
sourcefn rem_assign(&mut self, other: i64)
fn rem_assign(&mut self, other: i64)
Performs the %=
operation. Read more
sourceimpl RemAssign<i8> for BigInt
impl RemAssign<i8> for BigInt
sourcefn rem_assign(&mut self, other: i8)
fn rem_assign(&mut self, other: i8)
Performs the %=
operation. Read more
sourceimpl RemAssign<isize> for BigInt
impl RemAssign<isize> for BigInt
sourcefn rem_assign(&mut self, other: isize)
fn rem_assign(&mut self, other: isize)
Performs the %=
operation. Read more
sourceimpl RemAssign<u128> for BigInt
impl RemAssign<u128> for BigInt
sourcefn rem_assign(&mut self, other: u128)
fn rem_assign(&mut self, other: u128)
Performs the %=
operation. Read more
sourceimpl RemAssign<u16> for BigInt
impl RemAssign<u16> for BigInt
sourcefn rem_assign(&mut self, other: u16)
fn rem_assign(&mut self, other: u16)
Performs the %=
operation. Read more
sourceimpl RemAssign<u32> for BigInt
impl RemAssign<u32> for BigInt
sourcefn rem_assign(&mut self, other: u32)
fn rem_assign(&mut self, other: u32)
Performs the %=
operation. Read more
sourceimpl RemAssign<u64> for BigInt
impl RemAssign<u64> for BigInt
sourcefn rem_assign(&mut self, other: u64)
fn rem_assign(&mut self, other: u64)
Performs the %=
operation. Read more
sourceimpl RemAssign<u8> for BigInt
impl RemAssign<u8> for BigInt
sourcefn rem_assign(&mut self, other: u8)
fn rem_assign(&mut self, other: u8)
Performs the %=
operation. Read more
sourceimpl RemAssign<usize> for BigInt
impl RemAssign<usize> for BigInt
sourcefn rem_assign(&mut self, other: usize)
fn rem_assign(&mut self, other: usize)
Performs the %=
operation. Read more
sourceimpl Roots for BigInt
impl Roots for BigInt
sourceimpl SecretInteger for BigInt
impl SecretInteger for BigInt
sourcefn classify(x: Self::PublicVersion) -> Self
fn classify(x: Self::PublicVersion) -> Self
Function that is not part of the language but is offered as a helper for tests, etc.
type PublicVersion = BigInt
sourceimpl<'_> ShlAssign<&i128> for BigInt
impl<'_> ShlAssign<&i128> for BigInt
sourcefn shl_assign(&mut self, rhs: &i128)
fn shl_assign(&mut self, rhs: &i128)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&i16> for BigInt
impl<'_> ShlAssign<&i16> for BigInt
sourcefn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&i32> for BigInt
impl<'_> ShlAssign<&i32> for BigInt
sourcefn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&i64> for BigInt
impl<'_> ShlAssign<&i64> for BigInt
sourcefn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&i8> for BigInt
impl<'_> ShlAssign<&i8> for BigInt
sourcefn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&isize> for BigInt
impl<'_> ShlAssign<&isize> for BigInt
sourcefn shl_assign(&mut self, rhs: &isize)
fn shl_assign(&mut self, rhs: &isize)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&u128> for BigInt
impl<'_> ShlAssign<&u128> for BigInt
sourcefn shl_assign(&mut self, rhs: &u128)
fn shl_assign(&mut self, rhs: &u128)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&u16> for BigInt
impl<'_> ShlAssign<&u16> for BigInt
sourcefn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&u32> for BigInt
impl<'_> ShlAssign<&u32> for BigInt
sourcefn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&u64> for BigInt
impl<'_> ShlAssign<&u64> for BigInt
sourcefn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&u8> for BigInt
impl<'_> ShlAssign<&u8> for BigInt
sourcefn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
Performs the <<=
operation. Read more
sourceimpl<'_> ShlAssign<&usize> for BigInt
impl<'_> ShlAssign<&usize> for BigInt
sourcefn shl_assign(&mut self, rhs: &usize)
fn shl_assign(&mut self, rhs: &usize)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<i128> for BigInt
impl ShlAssign<i128> for BigInt
sourcefn shl_assign(&mut self, rhs: i128)
fn shl_assign(&mut self, rhs: i128)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<i16> for BigInt
impl ShlAssign<i16> for BigInt
sourcefn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<i32> for BigInt
impl ShlAssign<i32> for BigInt
sourcefn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<i64> for BigInt
impl ShlAssign<i64> for BigInt
sourcefn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<i8> for BigInt
impl ShlAssign<i8> for BigInt
sourcefn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<isize> for BigInt
impl ShlAssign<isize> for BigInt
sourcefn shl_assign(&mut self, rhs: isize)
fn shl_assign(&mut self, rhs: isize)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<u128> for BigInt
impl ShlAssign<u128> for BigInt
sourcefn shl_assign(&mut self, rhs: u128)
fn shl_assign(&mut self, rhs: u128)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<u16> for BigInt
impl ShlAssign<u16> for BigInt
sourcefn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<u32> for BigInt
impl ShlAssign<u32> for BigInt
sourcefn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<u64> for BigInt
impl ShlAssign<u64> for BigInt
sourcefn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<u8> for BigInt
impl ShlAssign<u8> for BigInt
sourcefn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
Performs the <<=
operation. Read more
sourceimpl ShlAssign<usize> for BigInt
impl ShlAssign<usize> for BigInt
sourcefn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
Performs the <<=
operation. Read more
sourceimpl<'_> ShrAssign<&i128> for BigInt
impl<'_> ShrAssign<&i128> for BigInt
sourcefn shr_assign(&mut self, rhs: &i128)
fn shr_assign(&mut self, rhs: &i128)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&i16> for BigInt
impl<'_> ShrAssign<&i16> for BigInt
sourcefn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&i32> for BigInt
impl<'_> ShrAssign<&i32> for BigInt
sourcefn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&i64> for BigInt
impl<'_> ShrAssign<&i64> for BigInt
sourcefn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&i8> for BigInt
impl<'_> ShrAssign<&i8> for BigInt
sourcefn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&isize> for BigInt
impl<'_> ShrAssign<&isize> for BigInt
sourcefn shr_assign(&mut self, rhs: &isize)
fn shr_assign(&mut self, rhs: &isize)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&u128> for BigInt
impl<'_> ShrAssign<&u128> for BigInt
sourcefn shr_assign(&mut self, rhs: &u128)
fn shr_assign(&mut self, rhs: &u128)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&u16> for BigInt
impl<'_> ShrAssign<&u16> for BigInt
sourcefn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&u32> for BigInt
impl<'_> ShrAssign<&u32> for BigInt
sourcefn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&u64> for BigInt
impl<'_> ShrAssign<&u64> for BigInt
sourcefn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&u8> for BigInt
impl<'_> ShrAssign<&u8> for BigInt
sourcefn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
Performs the >>=
operation. Read more
sourceimpl<'_> ShrAssign<&usize> for BigInt
impl<'_> ShrAssign<&usize> for BigInt
sourcefn shr_assign(&mut self, rhs: &usize)
fn shr_assign(&mut self, rhs: &usize)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<i128> for BigInt
impl ShrAssign<i128> for BigInt
sourcefn shr_assign(&mut self, rhs: i128)
fn shr_assign(&mut self, rhs: i128)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<i16> for BigInt
impl ShrAssign<i16> for BigInt
sourcefn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<i32> for BigInt
impl ShrAssign<i32> for BigInt
sourcefn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<i64> for BigInt
impl ShrAssign<i64> for BigInt
sourcefn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<i8> for BigInt
impl ShrAssign<i8> for BigInt
sourcefn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<isize> for BigInt
impl ShrAssign<isize> for BigInt
sourcefn shr_assign(&mut self, rhs: isize)
fn shr_assign(&mut self, rhs: isize)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<u128> for BigInt
impl ShrAssign<u128> for BigInt
sourcefn shr_assign(&mut self, rhs: u128)
fn shr_assign(&mut self, rhs: u128)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<u16> for BigInt
impl ShrAssign<u16> for BigInt
sourcefn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<u32> for BigInt
impl ShrAssign<u32> for BigInt
sourcefn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<u64> for BigInt
impl ShrAssign<u64> for BigInt
sourcefn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<u8> for BigInt
impl ShrAssign<u8> for BigInt
sourcefn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
Performs the >>=
operation. Read more
sourceimpl ShrAssign<usize> for BigInt
impl ShrAssign<usize> for BigInt
sourcefn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
Performs the >>=
operation. Read more
sourceimpl Signed for BigInt
impl Signed for BigInt
sourcefn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Returns true if the number is positive and false if the number is zero or negative.
sourcefn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Returns true if the number is negative and false if the number is zero or positive.
sourceimpl<'_> SubAssign<&BigInt> for BigInt
impl<'_> SubAssign<&BigInt> for BigInt
sourcefn sub_assign(&mut self, other: &BigInt)
fn sub_assign(&mut self, other: &BigInt)
Performs the -=
operation. Read more
sourceimpl SubAssign<BigInt> for BigInt
impl SubAssign<BigInt> for BigInt
sourcefn sub_assign(&mut self, other: BigInt)
fn sub_assign(&mut self, other: BigInt)
Performs the -=
operation. Read more
sourceimpl SubAssign<i128> for BigInt
impl SubAssign<i128> for BigInt
sourcefn sub_assign(&mut self, other: i128)
fn sub_assign(&mut self, other: i128)
Performs the -=
operation. Read more
sourceimpl SubAssign<i16> for BigInt
impl SubAssign<i16> for BigInt
sourcefn sub_assign(&mut self, other: i16)
fn sub_assign(&mut self, other: i16)
Performs the -=
operation. Read more
sourceimpl SubAssign<i32> for BigInt
impl SubAssign<i32> for BigInt
sourcefn sub_assign(&mut self, other: i32)
fn sub_assign(&mut self, other: i32)
Performs the -=
operation. Read more
sourceimpl SubAssign<i64> for BigInt
impl SubAssign<i64> for BigInt
sourcefn sub_assign(&mut self, other: i64)
fn sub_assign(&mut self, other: i64)
Performs the -=
operation. Read more
sourceimpl SubAssign<i8> for BigInt
impl SubAssign<i8> for BigInt
sourcefn sub_assign(&mut self, other: i8)
fn sub_assign(&mut self, other: i8)
Performs the -=
operation. Read more
sourceimpl SubAssign<isize> for BigInt
impl SubAssign<isize> for BigInt
sourcefn sub_assign(&mut self, other: isize)
fn sub_assign(&mut self, other: isize)
Performs the -=
operation. Read more
sourceimpl SubAssign<u128> for BigInt
impl SubAssign<u128> for BigInt
sourcefn sub_assign(&mut self, other: u128)
fn sub_assign(&mut self, other: u128)
Performs the -=
operation. Read more
sourceimpl SubAssign<u16> for BigInt
impl SubAssign<u16> for BigInt
sourcefn sub_assign(&mut self, other: u16)
fn sub_assign(&mut self, other: u16)
Performs the -=
operation. Read more
sourceimpl SubAssign<u32> for BigInt
impl SubAssign<u32> for BigInt
sourcefn sub_assign(&mut self, other: u32)
fn sub_assign(&mut self, other: u32)
Performs the -=
operation. Read more
sourceimpl SubAssign<u64> for BigInt
impl SubAssign<u64> for BigInt
sourcefn sub_assign(&mut self, other: u64)
fn sub_assign(&mut self, other: u64)
Performs the -=
operation. Read more
sourceimpl SubAssign<u8> for BigInt
impl SubAssign<u8> for BigInt
sourcefn sub_assign(&mut self, other: u8)
fn sub_assign(&mut self, other: u8)
Performs the -=
operation. Read more
sourceimpl SubAssign<usize> for BigInt
impl SubAssign<usize> for BigInt
sourcefn sub_assign(&mut self, other: usize)
fn sub_assign(&mut self, other: usize)
Performs the -=
operation. Read more
sourceimpl ToBigUint for BigInt
impl ToBigUint for BigInt
sourcefn to_biguint(&self) -> Option<BigUint>
fn to_biguint(&self) -> Option<BigUint>
Converts the value of self
to a BigUint
.
sourceimpl ToBytes for BigInt
impl ToBytes for BigInt
type Bytes = Vec<u8, Global>
sourcefn to_be_bytes(&self) -> <BigInt as ToBytes>::Bytes
fn to_be_bytes(&self) -> <BigInt as ToBytes>::Bytes
Return the memory representation of this number as a byte array in big-endian byte order. Read more
sourcefn to_le_bytes(&self) -> <BigInt as ToBytes>::Bytes
fn to_le_bytes(&self) -> <BigInt as ToBytes>::Bytes
Return the memory representation of this number as a byte array in little-endian byte order. Read more
sourcefn to_ne_bytes(&self) -> Self::Bytes
fn to_ne_bytes(&self) -> Self::Bytes
Return the memory representation of this number as a byte array in native byte order. Read more
sourceimpl ToPrimitive for BigInt
impl ToPrimitive for BigInt
sourcefn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned. Read more
sourcefn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
Converts the value of self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read more
sourcefn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
Converts the value of self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned. Read more
sourcefn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
Converts the value of self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read more
sourcefn to_f32(&self) -> Option<f32>
fn to_f32(&self) -> Option<f32>
Converts the value of 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 more
sourcefn to_f64(&self) -> Option<f64>
fn to_f64(&self) -> Option<f64>
Converts the value of 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 more
sourcefn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
Converts the value of self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned. Read more
sourcefn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
Converts the value of self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned. Read more
sourcefn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
Converts the value of self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned. Read more
sourcefn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
Converts the value of self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned. Read more
sourcefn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
Converts the value of self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned. Read more
sourcefn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
Converts the value of self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned. Read more
sourceimpl<'_> TryFrom<&BigInt> for i8
impl<'_> TryFrom<&BigInt> for i8
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for i32
impl<'_> TryFrom<&BigInt> for i32
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for i16
impl<'_> TryFrom<&BigInt> for i16
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for u64
impl<'_> TryFrom<&BigInt> for u64
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for i64
impl<'_> TryFrom<&BigInt> for i64
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for u16
impl<'_> TryFrom<&BigInt> for u16
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for i128
impl<'_> TryFrom<&BigInt> for i128
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for BigUint
impl<'_> TryFrom<&BigInt> for BigUint
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for u128
impl<'_> TryFrom<&BigInt> for u128
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for usize
impl<'_> TryFrom<&BigInt> for usize
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for isize
impl<'_> TryFrom<&BigInt> for isize
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for u8
impl<'_> TryFrom<&BigInt> for u8
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl<'_> TryFrom<&BigInt> for u32
impl<'_> TryFrom<&BigInt> for u32
type Error = TryFromBigIntError<()>
type Error = TryFromBigIntError<()>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for usize
impl TryFrom<BigInt> for usize
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for i128
impl TryFrom<BigInt> for i128
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for i32
impl TryFrom<BigInt> for i32
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for i8
impl TryFrom<BigInt> for i8
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for u64
impl TryFrom<BigInt> for u64
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for u8
impl TryFrom<BigInt> for u8
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for isize
impl TryFrom<BigInt> for isize
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for i64
impl TryFrom<BigInt> for i64
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for u128
impl TryFrom<BigInt> for u128
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for u16
impl TryFrom<BigInt> for u16
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for u32
impl TryFrom<BigInt> for u32
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for BigUint
impl TryFrom<BigInt> for BigUint
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
sourceimpl TryFrom<BigInt> for i16
impl TryFrom<BigInt> for i16
type Error = TryFromBigIntError<BigInt>
type Error = TryFromBigIntError<BigInt>
The type returned in the event of a conversion error.
impl 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 I where
I: Integer + Shr<usize, Output = I>,
&'a I: for<'b, 'a> BitAnd<&'b I>,
&'a I: for<'b, 'a> BitOr<&'b I>,
&'a I: for<'b, 'a> BitXor<&'b I>,
<&'a I as BitAnd<&'b I>>::Output == I,
<&'a I as BitOr<&'b I>>::Output == I,
<&'a I as BitXor<&'b I>>::Output == I,
impl<I> Average for I where
I: Integer + Shr<usize, Output = I>,
&'a I: for<'b, 'a> BitAnd<&'b I>,
&'a I: for<'b, 'a> BitOr<&'b I>,
&'a I: for<'b, 'a> BitXor<&'b I>,
<&'a I as BitAnd<&'b I>>::Output == I,
<&'a I as BitOr<&'b I>>::Output == I,
<&'a I as BitXor<&'b I>>::Output == I,
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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more