pub struct IBig(/* private fields */);
Expand description
An signed arbitrary precision integer.
This struct represents an arbitrarily large signed integer. Technically the size of the integer is bounded by the memory size, but it’s enough for practical use on modern devices.
§Parsing and printing
There are four ways to create an IBig instance:
- Use predifined constants (e.g. IBig::ZERO, IBig::NEG_ONE).
- Use the literal macro
ibig!
defined in thedashu-macro
crate. - Construct from a Sign and a UBig instance.
- Parse from a string.
Parsing from either literal or string supports representation with base 2~36.
For printing, the IBig type supports common formatting traits (Display, Debug, LowerHex, etc.). Specially, printing huge number using Debug will conveniently omit the middle digits of the number, only print the least and most significant (decimal) digits.
// parsing
let a = IBig::from(408580953453092208335085386466371u128);
let b = IBig::from(-0x1231abcd4134i64);
let c = IBig::from_str_radix("a2a123bbb127779cccc123", 32)?;
let d = IBig::from_str_radix("-1231abcd4134", 16)?;
assert_eq!(a, c);
assert_eq!(b, d);
// printing
assert_eq!(format!("{}", IBig::from(12)), "12");
assert_eq!(format!("{:#X}", IBig::from(-0xabcd)), "-0xABCD");
if Word::BITS == 64 {
// number of digits to display depends on the word size
assert_eq!(
format!("{:?}", IBig::NEG_ONE << 1000),
"-1071508607186267320..4386837205668069376"
);
}
§Memory
The internal representation of IBig is exactly the same as UBig. It just use a small trick to store the sign bit without additional memory allocation. This means that IBig also has the small integer optimization and the niche bit to use with simple enums.
use core::mem::size_of;
assert_eq!(size_of::<IBig>(), size_of::<UBig>());
assert_eq!(size_of::<IBig>(), size_of::<Option<IBig>>());
Implementations§
Source§impl IBig
impl IBig
Sourcepub const fn trailing_zeros(&self) -> Option<usize>
pub const fn trailing_zeros(&self) -> Option<usize>
Returns the number of trailing zeros in the two’s complement binary representation.
In other words, it is the largest n
such that 2 to the power of n
divides the number.
For 0, it returns None
.
§Examples
assert_eq!(IBig::from(17).trailing_zeros(), Some(0));
assert_eq!(IBig::from(-48).trailing_zeros(), Some(4));
assert_eq!(IBig::from(-0b101000000).trailing_zeros(), Some(6));
assert_eq!(IBig::ZERO.trailing_zeros(), None);
§Availability
Const since Rust 1.64
Sourcepub const fn trailing_ones(&self) -> Option<usize>
pub const fn trailing_ones(&self) -> Option<usize>
Returns the number of trailing ones in the two’s complement binary representation.
For positive self
, it’s equivalent to self.unsigned_abs().trailing_zeros()
.
For negative self
, it’s equivalent to (!self.unsigned_abs() + 1).trailing_zeros()
.
For -1, it returns None
.
§Examples
assert_eq!(IBig::from(17).trailing_ones(), Some(1));
assert_eq!(IBig::from(-48).trailing_ones(), Some(0));
assert_eq!(IBig::from(-0b101000001).trailing_ones(), Some(6));
assert_eq!(IBig::NEG_ONE.trailing_ones(), None);
§Availability
Const since Rust 1.64
Source§impl IBig
impl IBig
Sourcepub fn to_f32(&self) -> Approximation<f32, Sign>
pub fn to_f32(&self) -> Approximation<f32, Sign>
Convert to f32.
Round to nearest, breaking ties to even last bit. The returned approximation
is exact if the integer is exactly representable by f32, otherwise the error
field of the approximation contains the sign of result - self
.
§Examples
assert_eq!(IBig::from(-134).to_f32().value(), -134.0f32);
Sourcepub fn to_f64(&self) -> Approximation<f64, Sign>
pub fn to_f64(&self) -> Approximation<f64, Sign>
Convert to f64.
Round to nearest, breaking ties to even last bit. The returned approximation
is exact if the integer is exactly representable by f64, otherwise the error
field of the approximation contains the sign of result - self
.
§Examples
assert_eq!(IBig::from(-134).to_f64().value(), -134.0f64);
Source§impl IBig
impl IBig
Sourcepub fn is_multiple_of(&self, divisor: &Self) -> bool
pub fn is_multiple_of(&self, divisor: &Self) -> bool
Sourcepub const fn is_multiple_of_const(&self, divisor: DoubleWord) -> bool
pub const fn is_multiple_of_const(&self, divisor: DoubleWord) -> bool
A const version of IBig::is_multiple_of, but only accepts DoubleWord divisors.
§Availability
Since Rust 1.64
Source§impl IBig
impl IBig
Sourcepub fn as_sign_words(&self) -> (Sign, &[Word])
pub fn as_sign_words(&self) -> (Sign, &[Word])
Sourcepub const fn sign(&self) -> Sign
pub const fn sign(&self) -> Sign
Get the sign of the number. Zero value has a positive sign.
§Examples
assert_eq!(IBig::ZERO.sign(), Sign::Positive);
assert_eq!(IBig::from(2).sign(), Sign::Positive);
assert_eq!(IBig::from(-3).sign(), Sign::Negative);
Sourcepub fn into_parts(self) -> (Sign, UBig)
pub fn into_parts(self) -> (Sign, UBig)
Sourcepub fn from_parts(sign: Sign, magnitude: UBig) -> Self
pub fn from_parts(sign: Sign, magnitude: UBig) -> Self
Sourcepub const fn from_parts_const(sign: Sign, dword: DoubleWord) -> Self
pub const fn from_parts_const(sign: Sign, dword: DoubleWord) -> Self
Create an IBig in a const context.
The magnitude is limited to a DoubleWord.
§Examples
const ONE: IBig = IBig::from_parts_const(Sign::Positive, 1);
assert_eq!(ONE, IBig::ONE);
const NEG_ONE: IBig = IBig::from_parts_const(Sign::Negative, 1);
assert_eq!(NEG_ONE, IBig::NEG_ONE);
Source§impl IBig
impl IBig
Sourcepub fn ilog(&self, base: &UBig) -> usize
pub fn ilog(&self, base: &UBig) -> usize
Calculate the (truncated) logarithm of the magnitude of IBig
This function could takes a long time when the integer is very large. In applications where an exact result is not necessary, log2_bounds could be used.
§Panics
Panics if the number is 0, or the base is 0 or 1
§Examples
let base = UBig::from(3u8);
assert_eq!(IBig::from(-81).ilog(&base), 4);
assert_eq!(IBig::from(-1000).ilog(&base), 6);
Source§impl IBig
impl IBig
Sourcepub fn from_str_radix(src: &str, radix: u32) -> Result<IBig, ParseError>
pub fn from_str_radix(src: &str, radix: u32) -> Result<IBig, ParseError>
Sourcepub fn from_str_with_radix_prefix(src: &str) -> Result<(IBig, u32), ParseError>
pub fn from_str_with_radix_prefix(src: &str) -> Result<(IBig, u32), ParseError>
Convert a string with an optional radix prefix to IBig, return the parsed integer and radix.
It’s equivalent to IBig::from_str_with_radix_default with 10 as the default radix.
Sourcepub fn from_str_with_radix_default(
src: &str,
default_radix: u32,
) -> Result<(IBig, u32), ParseError>
pub fn from_str_with_radix_default( src: &str, default_radix: u32, ) -> Result<(IBig, u32), ParseError>
Convert a string with an optional radix prefix to IBig, return the parsed integer and radix. If no prefix is present, then the default radix input will be used for parsing.
src
may contain an ‘+’ or -
prefix before the radix prefix.
Allowed prefixes: 0b
for binary, 0o
for octal, 0x
for hexadecimal.
§Examples
assert_eq!(IBig::from_str_with_radix_default("+0o17", 10)?, (IBig::from(0o17), 8));
assert_eq!(IBig::from_str_with_radix_default("-0x1f", 10)?.0, IBig::from(-0x1f));
Source§impl IBig
impl IBig
Sourcepub fn nth_root(&self, n: usize) -> IBig
pub fn nth_root(&self, n: usize) -> IBig
Calculate the nth-root of the integer rounding towards zero
§Examples
assert_eq!(IBig::from(4).nth_root(2), IBig::from(2));
assert_eq!(IBig::from(-4).nth_root(3), IBig::from(-1));
assert_eq!(IBig::from(-1024).nth_root(5), IBig::from(-4));
§Panics
If n
is zero, or if n
is even when the integer is negative.
Source§impl IBig
impl IBig
Sourcepub const fn signum(&self) -> IBig
pub const fn signum(&self) -> IBig
A number representing the sign of self
.
- IBig::ONE if the number is positive
- IBig::ZERO if the number is zero
- IBig::NEG_ONE if the number is negative
§Examples
assert_eq!(IBig::from(-500).signum(), IBig::from(-1));
Trait Implementations§
Source§impl AddAssign<&IBig> for IBig
impl AddAssign<&IBig> for IBig
Source§fn add_assign(&mut self, rhs: &IBig)
fn add_assign(&mut self, rhs: &IBig)
+=
operation. Read moreSource§impl AddAssign<&UBig> for IBig
impl AddAssign<&UBig> for IBig
Source§fn add_assign(&mut self, rhs: &UBig)
fn add_assign(&mut self, rhs: &UBig)
+=
operation. Read moreSource§impl AddAssign<&i128> for IBig
impl AddAssign<&i128> for IBig
Source§fn add_assign(&mut self, rhs: &i128)
fn add_assign(&mut self, rhs: &i128)
+=
operation. Read moreSource§impl AddAssign<&i16> for IBig
impl AddAssign<&i16> for IBig
Source§fn add_assign(&mut self, rhs: &i16)
fn add_assign(&mut self, rhs: &i16)
+=
operation. Read moreSource§impl AddAssign<&i32> for IBig
impl AddAssign<&i32> for IBig
Source§fn add_assign(&mut self, rhs: &i32)
fn add_assign(&mut self, rhs: &i32)
+=
operation. Read moreSource§impl AddAssign<&i64> for IBig
impl AddAssign<&i64> for IBig
Source§fn add_assign(&mut self, rhs: &i64)
fn add_assign(&mut self, rhs: &i64)
+=
operation. Read moreSource§impl AddAssign<&i8> for IBig
impl AddAssign<&i8> for IBig
Source§fn add_assign(&mut self, rhs: &i8)
fn add_assign(&mut self, rhs: &i8)
+=
operation. Read moreSource§impl AddAssign<&isize> for IBig
impl AddAssign<&isize> for IBig
Source§fn add_assign(&mut self, rhs: &isize)
fn add_assign(&mut self, rhs: &isize)
+=
operation. Read moreSource§impl AddAssign<&u128> for IBig
impl AddAssign<&u128> for IBig
Source§fn add_assign(&mut self, rhs: &u128)
fn add_assign(&mut self, rhs: &u128)
+=
operation. Read moreSource§impl AddAssign<&u16> for IBig
impl AddAssign<&u16> for IBig
Source§fn add_assign(&mut self, rhs: &u16)
fn add_assign(&mut self, rhs: &u16)
+=
operation. Read moreSource§impl AddAssign<&u32> for IBig
impl AddAssign<&u32> for IBig
Source§fn add_assign(&mut self, rhs: &u32)
fn add_assign(&mut self, rhs: &u32)
+=
operation. Read moreSource§impl AddAssign<&u64> for IBig
impl AddAssign<&u64> for IBig
Source§fn add_assign(&mut self, rhs: &u64)
fn add_assign(&mut self, rhs: &u64)
+=
operation. Read moreSource§impl AddAssign<&u8> for IBig
impl AddAssign<&u8> for IBig
Source§fn add_assign(&mut self, rhs: &u8)
fn add_assign(&mut self, rhs: &u8)
+=
operation. Read moreSource§impl AddAssign<&usize> for IBig
impl AddAssign<&usize> for IBig
Source§fn add_assign(&mut self, rhs: &usize)
fn add_assign(&mut self, rhs: &usize)
+=
operation. Read moreSource§impl AddAssign<UBig> for IBig
impl AddAssign<UBig> for IBig
Source§fn add_assign(&mut self, rhs: UBig)
fn add_assign(&mut self, rhs: UBig)
+=
operation. Read moreSource§impl AddAssign<i128> for IBig
impl AddAssign<i128> for IBig
Source§fn add_assign(&mut self, rhs: i128)
fn add_assign(&mut self, rhs: i128)
+=
operation. Read moreSource§impl AddAssign<i16> for IBig
impl AddAssign<i16> for IBig
Source§fn add_assign(&mut self, rhs: i16)
fn add_assign(&mut self, rhs: i16)
+=
operation. Read moreSource§impl AddAssign<i32> for IBig
impl AddAssign<i32> for IBig
Source§fn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
+=
operation. Read moreSource§impl AddAssign<i64> for IBig
impl AddAssign<i64> for IBig
Source§fn add_assign(&mut self, rhs: i64)
fn add_assign(&mut self, rhs: i64)
+=
operation. Read moreSource§impl AddAssign<i8> for IBig
impl AddAssign<i8> for IBig
Source§fn add_assign(&mut self, rhs: i8)
fn add_assign(&mut self, rhs: i8)
+=
operation. Read moreSource§impl AddAssign<isize> for IBig
impl AddAssign<isize> for IBig
Source§fn add_assign(&mut self, rhs: isize)
fn add_assign(&mut self, rhs: isize)
+=
operation. Read moreSource§impl AddAssign<u128> for IBig
impl AddAssign<u128> for IBig
Source§fn add_assign(&mut self, rhs: u128)
fn add_assign(&mut self, rhs: u128)
+=
operation. Read moreSource§impl AddAssign<u16> for IBig
impl AddAssign<u16> for IBig
Source§fn add_assign(&mut self, rhs: u16)
fn add_assign(&mut self, rhs: u16)
+=
operation. Read moreSource§impl AddAssign<u32> for IBig
impl AddAssign<u32> for IBig
Source§fn add_assign(&mut self, rhs: u32)
fn add_assign(&mut self, rhs: u32)
+=
operation. Read moreSource§impl AddAssign<u64> for IBig
impl AddAssign<u64> for IBig
Source§fn add_assign(&mut self, rhs: u64)
fn add_assign(&mut self, rhs: u64)
+=
operation. Read moreSource§impl AddAssign<u8> for IBig
impl AddAssign<u8> for IBig
Source§fn add_assign(&mut self, rhs: u8)
fn add_assign(&mut self, rhs: u8)
+=
operation. Read moreSource§impl AddAssign<usize> for IBig
impl AddAssign<usize> for IBig
Source§fn add_assign(&mut self, rhs: usize)
fn add_assign(&mut self, rhs: usize)
+=
operation. Read moreSource§impl AddAssign for IBig
impl AddAssign for IBig
Source§fn add_assign(&mut self, rhs: IBig)
fn add_assign(&mut self, rhs: IBig)
+=
operation. Read moreSource§impl BitAndAssign<&IBig> for IBig
impl BitAndAssign<&IBig> for IBig
Source§fn bitand_assign(&mut self, rhs: &IBig)
fn bitand_assign(&mut self, rhs: &IBig)
&=
operation. Read moreSource§impl BitAndAssign<&i128> for IBig
impl BitAndAssign<&i128> for IBig
Source§fn bitand_assign(&mut self, rhs: &i128)
fn bitand_assign(&mut self, rhs: &i128)
&=
operation. Read moreSource§impl BitAndAssign<&i16> for IBig
impl BitAndAssign<&i16> for IBig
Source§fn bitand_assign(&mut self, rhs: &i16)
fn bitand_assign(&mut self, rhs: &i16)
&=
operation. Read moreSource§impl BitAndAssign<&i32> for IBig
impl BitAndAssign<&i32> for IBig
Source§fn bitand_assign(&mut self, rhs: &i32)
fn bitand_assign(&mut self, rhs: &i32)
&=
operation. Read moreSource§impl BitAndAssign<&i64> for IBig
impl BitAndAssign<&i64> for IBig
Source§fn bitand_assign(&mut self, rhs: &i64)
fn bitand_assign(&mut self, rhs: &i64)
&=
operation. Read moreSource§impl BitAndAssign<&i8> for IBig
impl BitAndAssign<&i8> for IBig
Source§fn bitand_assign(&mut self, rhs: &i8)
fn bitand_assign(&mut self, rhs: &i8)
&=
operation. Read moreSource§impl BitAndAssign<&isize> for IBig
impl BitAndAssign<&isize> for IBig
Source§fn bitand_assign(&mut self, rhs: &isize)
fn bitand_assign(&mut self, rhs: &isize)
&=
operation. Read moreSource§impl BitAndAssign<i128> for IBig
impl BitAndAssign<i128> for IBig
Source§fn bitand_assign(&mut self, rhs: i128)
fn bitand_assign(&mut self, rhs: i128)
&=
operation. Read moreSource§impl BitAndAssign<i16> for IBig
impl BitAndAssign<i16> for IBig
Source§fn bitand_assign(&mut self, rhs: i16)
fn bitand_assign(&mut self, rhs: i16)
&=
operation. Read moreSource§impl BitAndAssign<i32> for IBig
impl BitAndAssign<i32> for IBig
Source§fn bitand_assign(&mut self, rhs: i32)
fn bitand_assign(&mut self, rhs: i32)
&=
operation. Read moreSource§impl BitAndAssign<i64> for IBig
impl BitAndAssign<i64> for IBig
Source§fn bitand_assign(&mut self, rhs: i64)
fn bitand_assign(&mut self, rhs: i64)
&=
operation. Read moreSource§impl BitAndAssign<i8> for IBig
impl BitAndAssign<i8> for IBig
Source§fn bitand_assign(&mut self, rhs: i8)
fn bitand_assign(&mut self, rhs: i8)
&=
operation. Read moreSource§impl BitAndAssign<isize> for IBig
impl BitAndAssign<isize> for IBig
Source§fn bitand_assign(&mut self, rhs: isize)
fn bitand_assign(&mut self, rhs: isize)
&=
operation. Read moreSource§impl BitAndAssign for IBig
impl BitAndAssign for IBig
Source§fn bitand_assign(&mut self, rhs: IBig)
fn bitand_assign(&mut self, rhs: IBig)
&=
operation. Read moreSource§impl BitOrAssign<&IBig> for IBig
impl BitOrAssign<&IBig> for IBig
Source§fn bitor_assign(&mut self, rhs: &IBig)
fn bitor_assign(&mut self, rhs: &IBig)
|=
operation. Read moreSource§impl BitOrAssign<&i128> for IBig
impl BitOrAssign<&i128> for IBig
Source§fn bitor_assign(&mut self, rhs: &i128)
fn bitor_assign(&mut self, rhs: &i128)
|=
operation. Read moreSource§impl BitOrAssign<&i16> for IBig
impl BitOrAssign<&i16> for IBig
Source§fn bitor_assign(&mut self, rhs: &i16)
fn bitor_assign(&mut self, rhs: &i16)
|=
operation. Read moreSource§impl BitOrAssign<&i32> for IBig
impl BitOrAssign<&i32> for IBig
Source§fn bitor_assign(&mut self, rhs: &i32)
fn bitor_assign(&mut self, rhs: &i32)
|=
operation. Read moreSource§impl BitOrAssign<&i64> for IBig
impl BitOrAssign<&i64> for IBig
Source§fn bitor_assign(&mut self, rhs: &i64)
fn bitor_assign(&mut self, rhs: &i64)
|=
operation. Read moreSource§impl BitOrAssign<&i8> for IBig
impl BitOrAssign<&i8> for IBig
Source§fn bitor_assign(&mut self, rhs: &i8)
fn bitor_assign(&mut self, rhs: &i8)
|=
operation. Read moreSource§impl BitOrAssign<&isize> for IBig
impl BitOrAssign<&isize> for IBig
Source§fn bitor_assign(&mut self, rhs: &isize)
fn bitor_assign(&mut self, rhs: &isize)
|=
operation. Read moreSource§impl BitOrAssign<i128> for IBig
impl BitOrAssign<i128> for IBig
Source§fn bitor_assign(&mut self, rhs: i128)
fn bitor_assign(&mut self, rhs: i128)
|=
operation. Read moreSource§impl BitOrAssign<i16> for IBig
impl BitOrAssign<i16> for IBig
Source§fn bitor_assign(&mut self, rhs: i16)
fn bitor_assign(&mut self, rhs: i16)
|=
operation. Read moreSource§impl BitOrAssign<i32> for IBig
impl BitOrAssign<i32> for IBig
Source§fn bitor_assign(&mut self, rhs: i32)
fn bitor_assign(&mut self, rhs: i32)
|=
operation. Read moreSource§impl BitOrAssign<i64> for IBig
impl BitOrAssign<i64> for IBig
Source§fn bitor_assign(&mut self, rhs: i64)
fn bitor_assign(&mut self, rhs: i64)
|=
operation. Read moreSource§impl BitOrAssign<i8> for IBig
impl BitOrAssign<i8> for IBig
Source§fn bitor_assign(&mut self, rhs: i8)
fn bitor_assign(&mut self, rhs: i8)
|=
operation. Read moreSource§impl BitOrAssign<isize> for IBig
impl BitOrAssign<isize> for IBig
Source§fn bitor_assign(&mut self, rhs: isize)
fn bitor_assign(&mut self, rhs: isize)
|=
operation. Read moreSource§impl BitOrAssign for IBig
impl BitOrAssign for IBig
Source§fn bitor_assign(&mut self, rhs: IBig)
fn bitor_assign(&mut self, rhs: IBig)
|=
operation. Read moreSource§impl BitXorAssign<&IBig> for IBig
impl BitXorAssign<&IBig> for IBig
Source§fn bitxor_assign(&mut self, rhs: &IBig)
fn bitxor_assign(&mut self, rhs: &IBig)
^=
operation. Read moreSource§impl BitXorAssign<&i128> for IBig
impl BitXorAssign<&i128> for IBig
Source§fn bitxor_assign(&mut self, rhs: &i128)
fn bitxor_assign(&mut self, rhs: &i128)
^=
operation. Read moreSource§impl BitXorAssign<&i16> for IBig
impl BitXorAssign<&i16> for IBig
Source§fn bitxor_assign(&mut self, rhs: &i16)
fn bitxor_assign(&mut self, rhs: &i16)
^=
operation. Read moreSource§impl BitXorAssign<&i32> for IBig
impl BitXorAssign<&i32> for IBig
Source§fn bitxor_assign(&mut self, rhs: &i32)
fn bitxor_assign(&mut self, rhs: &i32)
^=
operation. Read moreSource§impl BitXorAssign<&i64> for IBig
impl BitXorAssign<&i64> for IBig
Source§fn bitxor_assign(&mut self, rhs: &i64)
fn bitxor_assign(&mut self, rhs: &i64)
^=
operation. Read moreSource§impl BitXorAssign<&i8> for IBig
impl BitXorAssign<&i8> for IBig
Source§fn bitxor_assign(&mut self, rhs: &i8)
fn bitxor_assign(&mut self, rhs: &i8)
^=
operation. Read moreSource§impl BitXorAssign<&isize> for IBig
impl BitXorAssign<&isize> for IBig
Source§fn bitxor_assign(&mut self, rhs: &isize)
fn bitxor_assign(&mut self, rhs: &isize)
^=
operation. Read moreSource§impl BitXorAssign<i128> for IBig
impl BitXorAssign<i128> for IBig
Source§fn bitxor_assign(&mut self, rhs: i128)
fn bitxor_assign(&mut self, rhs: i128)
^=
operation. Read moreSource§impl BitXorAssign<i16> for IBig
impl BitXorAssign<i16> for IBig
Source§fn bitxor_assign(&mut self, rhs: i16)
fn bitxor_assign(&mut self, rhs: i16)
^=
operation. Read moreSource§impl BitXorAssign<i32> for IBig
impl BitXorAssign<i32> for IBig
Source§fn bitxor_assign(&mut self, rhs: i32)
fn bitxor_assign(&mut self, rhs: i32)
^=
operation. Read moreSource§impl BitXorAssign<i64> for IBig
impl BitXorAssign<i64> for IBig
Source§fn bitxor_assign(&mut self, rhs: i64)
fn bitxor_assign(&mut self, rhs: i64)
^=
operation. Read moreSource§impl BitXorAssign<i8> for IBig
impl BitXorAssign<i8> for IBig
Source§fn bitxor_assign(&mut self, rhs: i8)
fn bitxor_assign(&mut self, rhs: i8)
^=
operation. Read moreSource§impl BitXorAssign<isize> for IBig
impl BitXorAssign<isize> for IBig
Source§fn bitxor_assign(&mut self, rhs: isize)
fn bitxor_assign(&mut self, rhs: isize)
^=
operation. Read moreSource§impl BitXorAssign for IBig
impl BitXorAssign for IBig
Source§fn bitxor_assign(&mut self, rhs: IBig)
fn bitxor_assign(&mut self, rhs: IBig)
^=
operation. Read moreSource§impl<'de> Deserialize<'de> for IBig
impl<'de> Deserialize<'de> for IBig
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Source§impl<'a> Distribution<IBig> for UniformBelow<'a>
impl<'a> Distribution<IBig> for UniformBelow<'a>
Source§impl Distribution<IBig> for UniformBits
impl Distribution<IBig> for UniformBits
Source§impl<'l, 'r> Div<&'r ConstDivisor> for &'l IBig
impl<'l, 'r> Div<&'r ConstDivisor> for &'l IBig
Source§impl<'r> Div<&'r ConstDivisor> for IBig
impl<'r> Div<&'r ConstDivisor> for IBig
Source§impl<'r> DivAssign<&'r ConstDivisor> for IBig
impl<'r> DivAssign<&'r ConstDivisor> for IBig
Source§fn div_assign(&mut self, rhs: &'r ConstDivisor)
fn div_assign(&mut self, rhs: &'r ConstDivisor)
/=
operation. Read moreSource§impl DivAssign<&IBig> for IBig
impl DivAssign<&IBig> for IBig
Source§fn div_assign(&mut self, rhs: &IBig)
fn div_assign(&mut self, rhs: &IBig)
/=
operation. Read moreSource§impl DivAssign<&UBig> for IBig
impl DivAssign<&UBig> for IBig
Source§fn div_assign(&mut self, rhs: &UBig)
fn div_assign(&mut self, rhs: &UBig)
/=
operation. Read moreSource§impl DivAssign<&i128> for IBig
impl DivAssign<&i128> for IBig
Source§fn div_assign(&mut self, rhs: &i128)
fn div_assign(&mut self, rhs: &i128)
/=
operation. Read moreSource§impl DivAssign<&i16> for IBig
impl DivAssign<&i16> for IBig
Source§fn div_assign(&mut self, rhs: &i16)
fn div_assign(&mut self, rhs: &i16)
/=
operation. Read moreSource§impl DivAssign<&i32> for IBig
impl DivAssign<&i32> for IBig
Source§fn div_assign(&mut self, rhs: &i32)
fn div_assign(&mut self, rhs: &i32)
/=
operation. Read moreSource§impl DivAssign<&i64> for IBig
impl DivAssign<&i64> for IBig
Source§fn div_assign(&mut self, rhs: &i64)
fn div_assign(&mut self, rhs: &i64)
/=
operation. Read moreSource§impl DivAssign<&i8> for IBig
impl DivAssign<&i8> for IBig
Source§fn div_assign(&mut self, rhs: &i8)
fn div_assign(&mut self, rhs: &i8)
/=
operation. Read moreSource§impl DivAssign<&isize> for IBig
impl DivAssign<&isize> for IBig
Source§fn div_assign(&mut self, rhs: &isize)
fn div_assign(&mut self, rhs: &isize)
/=
operation. Read moreSource§impl DivAssign<&u128> for IBig
impl DivAssign<&u128> for IBig
Source§fn div_assign(&mut self, rhs: &u128)
fn div_assign(&mut self, rhs: &u128)
/=
operation. Read moreSource§impl DivAssign<&u16> for IBig
impl DivAssign<&u16> for IBig
Source§fn div_assign(&mut self, rhs: &u16)
fn div_assign(&mut self, rhs: &u16)
/=
operation. Read moreSource§impl DivAssign<&u32> for IBig
impl DivAssign<&u32> for IBig
Source§fn div_assign(&mut self, rhs: &u32)
fn div_assign(&mut self, rhs: &u32)
/=
operation. Read moreSource§impl DivAssign<&u64> for IBig
impl DivAssign<&u64> for IBig
Source§fn div_assign(&mut self, rhs: &u64)
fn div_assign(&mut self, rhs: &u64)
/=
operation. Read moreSource§impl DivAssign<&u8> for IBig
impl DivAssign<&u8> for IBig
Source§fn div_assign(&mut self, rhs: &u8)
fn div_assign(&mut self, rhs: &u8)
/=
operation. Read moreSource§impl DivAssign<&usize> for IBig
impl DivAssign<&usize> for IBig
Source§fn div_assign(&mut self, rhs: &usize)
fn div_assign(&mut self, rhs: &usize)
/=
operation. Read moreSource§impl DivAssign<UBig> for IBig
impl DivAssign<UBig> for IBig
Source§fn div_assign(&mut self, rhs: UBig)
fn div_assign(&mut self, rhs: UBig)
/=
operation. Read moreSource§impl DivAssign<i128> for IBig
impl DivAssign<i128> for IBig
Source§fn div_assign(&mut self, rhs: i128)
fn div_assign(&mut self, rhs: i128)
/=
operation. Read moreSource§impl DivAssign<i16> for IBig
impl DivAssign<i16> for IBig
Source§fn div_assign(&mut self, rhs: i16)
fn div_assign(&mut self, rhs: i16)
/=
operation. Read moreSource§impl DivAssign<i32> for IBig
impl DivAssign<i32> for IBig
Source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/=
operation. Read moreSource§impl DivAssign<i64> for IBig
impl DivAssign<i64> for IBig
Source§fn div_assign(&mut self, rhs: i64)
fn div_assign(&mut self, rhs: i64)
/=
operation. Read moreSource§impl DivAssign<i8> for IBig
impl DivAssign<i8> for IBig
Source§fn div_assign(&mut self, rhs: i8)
fn div_assign(&mut self, rhs: i8)
/=
operation. Read moreSource§impl DivAssign<isize> for IBig
impl DivAssign<isize> for IBig
Source§fn div_assign(&mut self, rhs: isize)
fn div_assign(&mut self, rhs: isize)
/=
operation. Read moreSource§impl DivAssign<u128> for IBig
impl DivAssign<u128> for IBig
Source§fn div_assign(&mut self, rhs: u128)
fn div_assign(&mut self, rhs: u128)
/=
operation. Read moreSource§impl DivAssign<u16> for IBig
impl DivAssign<u16> for IBig
Source§fn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
/=
operation. Read moreSource§impl DivAssign<u32> for IBig
impl DivAssign<u32> for IBig
Source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
/=
operation. Read moreSource§impl DivAssign<u64> for IBig
impl DivAssign<u64> for IBig
Source§fn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
/=
operation. Read moreSource§impl DivAssign<u8> for IBig
impl DivAssign<u8> for IBig
Source§fn div_assign(&mut self, rhs: u8)
fn div_assign(&mut self, rhs: u8)
/=
operation. Read moreSource§impl DivAssign<usize> for IBig
impl DivAssign<usize> for IBig
Source§fn div_assign(&mut self, rhs: usize)
fn div_assign(&mut self, rhs: usize)
/=
operation. Read moreSource§impl DivAssign for IBig
impl DivAssign for IBig
Source§fn div_assign(&mut self, rhs: IBig)
fn div_assign(&mut self, rhs: IBig)
/=
operation. Read moreSource§impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l IBig
impl<'l, 'r> DivRem<&'r ConstDivisor> for &'l IBig
Source§impl<'r> DivRem<&'r ConstDivisor> for IBig
impl<'r> DivRem<&'r ConstDivisor> for IBig
Source§impl<'r> DivRemAssign<&'r ConstDivisor> for IBig
impl<'r> DivRemAssign<&'r ConstDivisor> for IBig
type OutputRem = IBig
fn div_rem_assign(&mut self, rhs: &ConstDivisor) -> IBig
Source§impl DivRemAssign<&IBig> for IBig
impl DivRemAssign<&IBig> for IBig
Source§impl DivRemAssign<&i128> for IBig
impl DivRemAssign<&i128> for IBig
Source§impl DivRemAssign<&i16> for IBig
impl DivRemAssign<&i16> for IBig
Source§impl DivRemAssign<&i32> for IBig
impl DivRemAssign<&i32> for IBig
Source§impl DivRemAssign<&i64> for IBig
impl DivRemAssign<&i64> for IBig
Source§impl DivRemAssign<&i8> for IBig
impl DivRemAssign<&i8> for IBig
Source§impl DivRemAssign<&isize> for IBig
impl DivRemAssign<&isize> for IBig
Source§impl DivRemAssign<&u128> for IBig
impl DivRemAssign<&u128> for IBig
Source§impl DivRemAssign<&u16> for IBig
impl DivRemAssign<&u16> for IBig
Source§impl DivRemAssign<&u32> for IBig
impl DivRemAssign<&u32> for IBig
Source§impl DivRemAssign<&u64> for IBig
impl DivRemAssign<&u64> for IBig
Source§impl DivRemAssign<&u8> for IBig
impl DivRemAssign<&u8> for IBig
Source§impl DivRemAssign<&usize> for IBig
impl DivRemAssign<&usize> for IBig
Source§impl DivRemAssign<i128> for IBig
impl DivRemAssign<i128> for IBig
Source§impl DivRemAssign<i16> for IBig
impl DivRemAssign<i16> for IBig
Source§impl DivRemAssign<i32> for IBig
impl DivRemAssign<i32> for IBig
Source§impl DivRemAssign<i64> for IBig
impl DivRemAssign<i64> for IBig
Source§impl DivRemAssign<i8> for IBig
impl DivRemAssign<i8> for IBig
Source§impl DivRemAssign<isize> for IBig
impl DivRemAssign<isize> for IBig
Source§impl DivRemAssign<u128> for IBig
impl DivRemAssign<u128> for IBig
Source§impl DivRemAssign<u16> for IBig
impl DivRemAssign<u16> for IBig
Source§impl DivRemAssign<u32> for IBig
impl DivRemAssign<u32> for IBig
Source§impl DivRemAssign<u64> for IBig
impl DivRemAssign<u64> for IBig
Source§impl DivRemAssign<u8> for IBig
impl DivRemAssign<u8> for IBig
Source§impl DivRemAssign<usize> for IBig
impl DivRemAssign<usize> for IBig
Source§impl DivRemAssign for IBig
impl DivRemAssign for IBig
Source§impl<'l, 'r> DivRemEuclid<&'r IBig> for &'l IBig
impl<'l, 'r> DivRemEuclid<&'r IBig> for &'l IBig
Source§impl<'r> DivRemEuclid<&'r IBig> for IBig
impl<'r> DivRemEuclid<&'r IBig> for IBig
Source§impl<'l> DivRemEuclid<IBig> for &'l IBig
impl<'l> DivRemEuclid<IBig> for &'l IBig
Source§impl DivRemEuclid for IBig
impl DivRemEuclid for IBig
Source§impl EstimatedLog2 for IBig
impl EstimatedLog2 for IBig
Source§impl Euclid for IBig
impl Euclid for IBig
Source§fn div_euclid(&self, v: &Self) -> Self
fn div_euclid(&self, v: &Self) -> Self
rem_euclid
. Read moreSource§fn rem_euclid(&self, v: &Self) -> Self
fn rem_euclid(&self, v: &Self) -> Self
self (mod v)
. Read moreSource§impl<'l, 'r> ExtendedGcd<&'r IBig> for &'l IBig
impl<'l, 'r> ExtendedGcd<&'r IBig> for &'l IBig
Source§impl<'l, 'r> ExtendedGcd<&'r IBig> for &'l UBig
impl<'l, 'r> ExtendedGcd<&'r IBig> for &'l UBig
Source§impl<'r> ExtendedGcd<&'r IBig> for IBig
impl<'r> ExtendedGcd<&'r IBig> for IBig
Source§impl<'r> ExtendedGcd<&'r IBig> for UBig
impl<'r> ExtendedGcd<&'r IBig> for UBig
Source§impl<'l, 'r> ExtendedGcd<&'r UBig> for &'l IBig
impl<'l, 'r> ExtendedGcd<&'r UBig> for &'l IBig
Source§impl<'r> ExtendedGcd<&'r UBig> for IBig
impl<'r> ExtendedGcd<&'r UBig> for IBig
Source§impl<'l> ExtendedGcd<IBig> for &'l IBig
impl<'l> ExtendedGcd<IBig> for &'l IBig
Source§impl<'l> ExtendedGcd<IBig> for &'l UBig
impl<'l> ExtendedGcd<IBig> for &'l UBig
Source§impl ExtendedGcd<IBig> for UBig
impl ExtendedGcd<IBig> for UBig
Source§impl<'l> ExtendedGcd<UBig> for &'l IBig
impl<'l> ExtendedGcd<UBig> for &'l IBig
Source§impl ExtendedGcd<UBig> for IBig
impl ExtendedGcd<UBig> for IBig
Source§impl ExtendedGcd for IBig
impl ExtendedGcd for IBig
Source§impl FromPrimitive for IBig
impl FromPrimitive for IBig
Source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moreSource§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moreSource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.Source§impl Integer for IBig
impl Integer for IBig
Source§fn div_rem(&self, other: &Self) -> (Self, Self)
fn div_rem(&self, other: &Self) -> (Self, Self)
(quotient, remainder)
. Read moreSource§fn is_multiple_of(&self, other: &Self) -> bool
fn is_multiple_of(&self, other: &Self) -> bool
Source§fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
Source§fn gcd_lcm(&self, other: &Self) -> (Self, Self)
fn gcd_lcm(&self, other: &Self) -> (Self, Self)
Source§fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self)
fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self)
Source§fn div_mod_floor(&self, other: &Self) -> (Self, Self)
fn div_mod_floor(&self, other: &Self) -> (Self, Self)
(quotient, remainder)
. Read moreSource§fn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
Source§fn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
Source§impl<'a> IntoRing<'a, ConstDivisor> for IBig
impl<'a> IntoRing<'a, ConstDivisor> for IBig
type RingElement = Reduced<'a>
fn into_ring(self, ring: &ConstDivisor) -> Reduced<'_>
Source§impl MulAssign<&IBig> for IBig
impl MulAssign<&IBig> for IBig
Source§fn mul_assign(&mut self, rhs: &IBig)
fn mul_assign(&mut self, rhs: &IBig)
*=
operation. Read moreSource§impl MulAssign<&UBig> for IBig
impl MulAssign<&UBig> for IBig
Source§fn mul_assign(&mut self, rhs: &UBig)
fn mul_assign(&mut self, rhs: &UBig)
*=
operation. Read moreSource§impl MulAssign<&i128> for IBig
impl MulAssign<&i128> for IBig
Source§fn mul_assign(&mut self, rhs: &i128)
fn mul_assign(&mut self, rhs: &i128)
*=
operation. Read moreSource§impl MulAssign<&i16> for IBig
impl MulAssign<&i16> for IBig
Source§fn mul_assign(&mut self, rhs: &i16)
fn mul_assign(&mut self, rhs: &i16)
*=
operation. Read moreSource§impl MulAssign<&i32> for IBig
impl MulAssign<&i32> for IBig
Source§fn mul_assign(&mut self, rhs: &i32)
fn mul_assign(&mut self, rhs: &i32)
*=
operation. Read moreSource§impl MulAssign<&i64> for IBig
impl MulAssign<&i64> for IBig
Source§fn mul_assign(&mut self, rhs: &i64)
fn mul_assign(&mut self, rhs: &i64)
*=
operation. Read moreSource§impl MulAssign<&i8> for IBig
impl MulAssign<&i8> for IBig
Source§fn mul_assign(&mut self, rhs: &i8)
fn mul_assign(&mut self, rhs: &i8)
*=
operation. Read moreSource§impl MulAssign<&isize> for IBig
impl MulAssign<&isize> for IBig
Source§fn mul_assign(&mut self, rhs: &isize)
fn mul_assign(&mut self, rhs: &isize)
*=
operation. Read moreSource§impl MulAssign<&u128> for IBig
impl MulAssign<&u128> for IBig
Source§fn mul_assign(&mut self, rhs: &u128)
fn mul_assign(&mut self, rhs: &u128)
*=
operation. Read moreSource§impl MulAssign<&u16> for IBig
impl MulAssign<&u16> for IBig
Source§fn mul_assign(&mut self, rhs: &u16)
fn mul_assign(&mut self, rhs: &u16)
*=
operation. Read moreSource§impl MulAssign<&u32> for IBig
impl MulAssign<&u32> for IBig
Source§fn mul_assign(&mut self, rhs: &u32)
fn mul_assign(&mut self, rhs: &u32)
*=
operation. Read moreSource§impl MulAssign<&u64> for IBig
impl MulAssign<&u64> for IBig
Source§fn mul_assign(&mut self, rhs: &u64)
fn mul_assign(&mut self, rhs: &u64)
*=
operation. Read moreSource§impl MulAssign<&u8> for IBig
impl MulAssign<&u8> for IBig
Source§fn mul_assign(&mut self, rhs: &u8)
fn mul_assign(&mut self, rhs: &u8)
*=
operation. Read moreSource§impl MulAssign<&usize> for IBig
impl MulAssign<&usize> for IBig
Source§fn mul_assign(&mut self, rhs: &usize)
fn mul_assign(&mut self, rhs: &usize)
*=
operation. Read moreSource§impl MulAssign<Sign> for IBig
impl MulAssign<Sign> for IBig
Source§fn mul_assign(&mut self, rhs: Sign)
fn mul_assign(&mut self, rhs: Sign)
*=
operation. Read moreSource§impl MulAssign<UBig> for IBig
impl MulAssign<UBig> for IBig
Source§fn mul_assign(&mut self, rhs: UBig)
fn mul_assign(&mut self, rhs: UBig)
*=
operation. Read moreSource§impl MulAssign<i128> for IBig
impl MulAssign<i128> for IBig
Source§fn mul_assign(&mut self, rhs: i128)
fn mul_assign(&mut self, rhs: i128)
*=
operation. Read moreSource§impl MulAssign<i16> for IBig
impl MulAssign<i16> for IBig
Source§fn mul_assign(&mut self, rhs: i16)
fn mul_assign(&mut self, rhs: i16)
*=
operation. Read moreSource§impl MulAssign<i32> for IBig
impl MulAssign<i32> for IBig
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*=
operation. Read moreSource§impl MulAssign<i64> for IBig
impl MulAssign<i64> for IBig
Source§fn mul_assign(&mut self, rhs: i64)
fn mul_assign(&mut self, rhs: i64)
*=
operation. Read moreSource§impl MulAssign<i8> for IBig
impl MulAssign<i8> for IBig
Source§fn mul_assign(&mut self, rhs: i8)
fn mul_assign(&mut self, rhs: i8)
*=
operation. Read moreSource§impl MulAssign<isize> for IBig
impl MulAssign<isize> for IBig
Source§fn mul_assign(&mut self, rhs: isize)
fn mul_assign(&mut self, rhs: isize)
*=
operation. Read moreSource§impl MulAssign<u128> for IBig
impl MulAssign<u128> for IBig
Source§fn mul_assign(&mut self, rhs: u128)
fn mul_assign(&mut self, rhs: u128)
*=
operation. Read moreSource§impl MulAssign<u16> for IBig
impl MulAssign<u16> for IBig
Source§fn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
*=
operation. Read moreSource§impl MulAssign<u32> for IBig
impl MulAssign<u32> for IBig
Source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*=
operation. Read moreSource§impl MulAssign<u64> for IBig
impl MulAssign<u64> for IBig
Source§fn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
*=
operation. Read moreSource§impl MulAssign<u8> for IBig
impl MulAssign<u8> for IBig
Source§fn mul_assign(&mut self, rhs: u8)
fn mul_assign(&mut self, rhs: u8)
*=
operation. Read moreSource§impl MulAssign<usize> for IBig
impl MulAssign<usize> for IBig
Source§fn mul_assign(&mut self, rhs: usize)
fn mul_assign(&mut self, rhs: usize)
*=
operation. Read moreSource§impl MulAssign for IBig
impl MulAssign for IBig
Source§fn mul_assign(&mut self, rhs: IBig)
fn mul_assign(&mut self, rhs: IBig)
*=
operation. Read moreSource§impl Num for IBig
impl Num for IBig
type FromStrRadixErr = ParseError
Source§fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseError>
fn from_str_radix(s: &str, radix: u32) -> Result<Self, ParseError>
2..=36
). Read moreSource§impl NumOrd<IBig> for IBig
impl NumOrd<IBig> for IBig
Source§impl NumOrd<IBig> for UBig
impl NumOrd<IBig> for UBig
Source§impl NumOrd<IBig> for f32
impl NumOrd<IBig> for f32
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for f64
impl NumOrd<IBig> for f64
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for i128
impl NumOrd<IBig> for i128
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for i16
impl NumOrd<IBig> for i16
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for i32
impl NumOrd<IBig> for i32
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for i64
impl NumOrd<IBig> for i64
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for i8
impl NumOrd<IBig> for i8
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for isize
impl NumOrd<IBig> for isize
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for u128
impl NumOrd<IBig> for u128
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for u16
impl NumOrd<IBig> for u16
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for u32
impl NumOrd<IBig> for u32
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for u64
impl NumOrd<IBig> for u64
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for u8
impl NumOrd<IBig> for u8
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<IBig> for usize
impl NumOrd<IBig> for usize
Source§fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
fn num_partial_cmp(&self, other: &IBig) -> Option<Ordering>
Source§impl NumOrd<UBig> for IBig
impl NumOrd<UBig> for IBig
Source§impl NumOrd<f32> for IBig
impl NumOrd<f32> for IBig
Source§fn num_partial_cmp(&self, other: &f32) -> Option<Ordering>
fn num_partial_cmp(&self, other: &f32) -> Option<Ordering>
Source§impl NumOrd<f64> for IBig
impl NumOrd<f64> for IBig
Source§fn num_partial_cmp(&self, other: &f64) -> Option<Ordering>
fn num_partial_cmp(&self, other: &f64) -> Option<Ordering>
Source§impl NumOrd<i128> for IBig
impl NumOrd<i128> for IBig
Source§fn num_partial_cmp(&self, other: &i128) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i128) -> Option<Ordering>
Source§impl NumOrd<i16> for IBig
impl NumOrd<i16> for IBig
Source§fn num_partial_cmp(&self, other: &i16) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i16) -> Option<Ordering>
Source§impl NumOrd<i32> for IBig
impl NumOrd<i32> for IBig
Source§fn num_partial_cmp(&self, other: &i32) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i32) -> Option<Ordering>
Source§impl NumOrd<i64> for IBig
impl NumOrd<i64> for IBig
Source§fn num_partial_cmp(&self, other: &i64) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i64) -> Option<Ordering>
Source§impl NumOrd<i8> for IBig
impl NumOrd<i8> for IBig
Source§fn num_partial_cmp(&self, other: &i8) -> Option<Ordering>
fn num_partial_cmp(&self, other: &i8) -> Option<Ordering>
Source§impl NumOrd<isize> for IBig
impl NumOrd<isize> for IBig
Source§fn num_partial_cmp(&self, other: &isize) -> Option<Ordering>
fn num_partial_cmp(&self, other: &isize) -> Option<Ordering>
Source§impl NumOrd<u128> for IBig
impl NumOrd<u128> for IBig
Source§fn num_partial_cmp(&self, other: &u128) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u128) -> Option<Ordering>
Source§impl NumOrd<u16> for IBig
impl NumOrd<u16> for IBig
Source§fn num_partial_cmp(&self, other: &u16) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u16) -> Option<Ordering>
Source§impl NumOrd<u32> for IBig
impl NumOrd<u32> for IBig
Source§fn num_partial_cmp(&self, other: &u32) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u32) -> Option<Ordering>
Source§impl NumOrd<u64> for IBig
impl NumOrd<u64> for IBig
Source§fn num_partial_cmp(&self, other: &u64) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u64) -> Option<Ordering>
Source§impl NumOrd<u8> for IBig
impl NumOrd<u8> for IBig
Source§fn num_partial_cmp(&self, other: &u8) -> Option<Ordering>
fn num_partial_cmp(&self, other: &u8) -> Option<Ordering>
Source§impl NumOrd<usize> for IBig
impl NumOrd<usize> for IBig
Source§fn num_partial_cmp(&self, other: &usize) -> Option<Ordering>
fn num_partial_cmp(&self, other: &usize) -> Option<Ordering>
Source§impl Ord for IBig
impl Ord for IBig
Source§impl PartialOrd for IBig
impl PartialOrd for IBig
Source§impl<'l, 'r> Rem<&'r ConstDivisor> for &'l IBig
impl<'l, 'r> Rem<&'r ConstDivisor> for &'l IBig
Source§impl<'r> Rem<&'r ConstDivisor> for IBig
impl<'r> Rem<&'r ConstDivisor> for IBig
Source§impl<'r> RemAssign<&'r ConstDivisor> for IBig
impl<'r> RemAssign<&'r ConstDivisor> for IBig
Source§fn rem_assign(&mut self, rhs: &'r ConstDivisor)
fn rem_assign(&mut self, rhs: &'r ConstDivisor)
%=
operation. Read moreSource§impl RemAssign<&IBig> for IBig
impl RemAssign<&IBig> for IBig
Source§fn rem_assign(&mut self, rhs: &IBig)
fn rem_assign(&mut self, rhs: &IBig)
%=
operation. Read moreSource§impl RemAssign<&IBig> for UBig
impl RemAssign<&IBig> for UBig
Source§fn rem_assign(&mut self, rhs: &IBig)
fn rem_assign(&mut self, rhs: &IBig)
%=
operation. Read moreSource§impl RemAssign<&UBig> for IBig
impl RemAssign<&UBig> for IBig
Source§fn rem_assign(&mut self, rhs: &UBig)
fn rem_assign(&mut self, rhs: &UBig)
%=
operation. Read moreSource§impl RemAssign<IBig> for UBig
impl RemAssign<IBig> for UBig
Source§fn rem_assign(&mut self, rhs: IBig)
fn rem_assign(&mut self, rhs: IBig)
%=
operation. Read moreSource§impl RemAssign<UBig> for IBig
impl RemAssign<UBig> for IBig
Source§fn rem_assign(&mut self, rhs: UBig)
fn rem_assign(&mut self, rhs: UBig)
%=
operation. Read moreSource§impl RemAssign for IBig
impl RemAssign for IBig
Source§fn rem_assign(&mut self, rhs: IBig)
fn rem_assign(&mut self, rhs: IBig)
%=
operation. Read moreSource§impl Roots for IBig
impl Roots for IBig
Source§impl SampleUniform for IBig
impl SampleUniform for IBig
Source§type Sampler = UniformIBig
type Sampler = UniformIBig
UniformSampler
implementation supporting type X
.Source§impl ShlAssign<&usize> for IBig
impl ShlAssign<&usize> for IBig
Source§fn shl_assign(&mut self, rhs: &usize)
fn shl_assign(&mut self, rhs: &usize)
<<=
operation. Read moreSource§impl ShlAssign<usize> for IBig
impl ShlAssign<usize> for IBig
Source§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<=
operation. Read moreSource§impl ShrAssign<&usize> for IBig
impl ShrAssign<&usize> for IBig
Source§fn shr_assign(&mut self, rhs: &usize)
fn shr_assign(&mut self, rhs: &usize)
>>=
operation. Read moreSource§impl ShrAssign<usize> for IBig
impl ShrAssign<usize> for IBig
Source§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>=
operation. Read moreSource§impl Signed for IBig
impl Signed for IBig
Source§fn is_positive(&self) -> bool
fn is_positive(&self) -> bool
Source§fn is_negative(&self) -> bool
fn is_negative(&self) -> bool
Source§impl SubAssign<&IBig> for IBig
impl SubAssign<&IBig> for IBig
Source§fn sub_assign(&mut self, rhs: &IBig)
fn sub_assign(&mut self, rhs: &IBig)
-=
operation. Read moreSource§impl SubAssign<&UBig> for IBig
impl SubAssign<&UBig> for IBig
Source§fn sub_assign(&mut self, rhs: &UBig)
fn sub_assign(&mut self, rhs: &UBig)
-=
operation. Read moreSource§impl SubAssign<&i128> for IBig
impl SubAssign<&i128> for IBig
Source§fn sub_assign(&mut self, rhs: &i128)
fn sub_assign(&mut self, rhs: &i128)
-=
operation. Read moreSource§impl SubAssign<&i16> for IBig
impl SubAssign<&i16> for IBig
Source§fn sub_assign(&mut self, rhs: &i16)
fn sub_assign(&mut self, rhs: &i16)
-=
operation. Read moreSource§impl SubAssign<&i32> for IBig
impl SubAssign<&i32> for IBig
Source§fn sub_assign(&mut self, rhs: &i32)
fn sub_assign(&mut self, rhs: &i32)
-=
operation. Read moreSource§impl SubAssign<&i64> for IBig
impl SubAssign<&i64> for IBig
Source§fn sub_assign(&mut self, rhs: &i64)
fn sub_assign(&mut self, rhs: &i64)
-=
operation. Read moreSource§impl SubAssign<&i8> for IBig
impl SubAssign<&i8> for IBig
Source§fn sub_assign(&mut self, rhs: &i8)
fn sub_assign(&mut self, rhs: &i8)
-=
operation. Read moreSource§impl SubAssign<&isize> for IBig
impl SubAssign<&isize> for IBig
Source§fn sub_assign(&mut self, rhs: &isize)
fn sub_assign(&mut self, rhs: &isize)
-=
operation. Read moreSource§impl SubAssign<&u128> for IBig
impl SubAssign<&u128> for IBig
Source§fn sub_assign(&mut self, rhs: &u128)
fn sub_assign(&mut self, rhs: &u128)
-=
operation. Read moreSource§impl SubAssign<&u16> for IBig
impl SubAssign<&u16> for IBig
Source§fn sub_assign(&mut self, rhs: &u16)
fn sub_assign(&mut self, rhs: &u16)
-=
operation. Read moreSource§impl SubAssign<&u32> for IBig
impl SubAssign<&u32> for IBig
Source§fn sub_assign(&mut self, rhs: &u32)
fn sub_assign(&mut self, rhs: &u32)
-=
operation. Read moreSource§impl SubAssign<&u64> for IBig
impl SubAssign<&u64> for IBig
Source§fn sub_assign(&mut self, rhs: &u64)
fn sub_assign(&mut self, rhs: &u64)
-=
operation. Read moreSource§impl SubAssign<&u8> for IBig
impl SubAssign<&u8> for IBig
Source§fn sub_assign(&mut self, rhs: &u8)
fn sub_assign(&mut self, rhs: &u8)
-=
operation. Read moreSource§impl SubAssign<&usize> for IBig
impl SubAssign<&usize> for IBig
Source§fn sub_assign(&mut self, rhs: &usize)
fn sub_assign(&mut self, rhs: &usize)
-=
operation. Read moreSource§impl SubAssign<UBig> for IBig
impl SubAssign<UBig> for IBig
Source§fn sub_assign(&mut self, rhs: UBig)
fn sub_assign(&mut self, rhs: UBig)
-=
operation. Read moreSource§impl SubAssign<i128> for IBig
impl SubAssign<i128> for IBig
Source§fn sub_assign(&mut self, rhs: i128)
fn sub_assign(&mut self, rhs: i128)
-=
operation. Read moreSource§impl SubAssign<i16> for IBig
impl SubAssign<i16> for IBig
Source§fn sub_assign(&mut self, rhs: i16)
fn sub_assign(&mut self, rhs: i16)
-=
operation. Read moreSource§impl SubAssign<i32> for IBig
impl SubAssign<i32> for IBig
Source§fn sub_assign(&mut self, rhs: i32)
fn sub_assign(&mut self, rhs: i32)
-=
operation. Read moreSource§impl SubAssign<i64> for IBig
impl SubAssign<i64> for IBig
Source§fn sub_assign(&mut self, rhs: i64)
fn sub_assign(&mut self, rhs: i64)
-=
operation. Read moreSource§impl SubAssign<i8> for IBig
impl SubAssign<i8> for IBig
Source§fn sub_assign(&mut self, rhs: i8)
fn sub_assign(&mut self, rhs: i8)
-=
operation. Read moreSource§impl SubAssign<isize> for IBig
impl SubAssign<isize> for IBig
Source§fn sub_assign(&mut self, rhs: isize)
fn sub_assign(&mut self, rhs: isize)
-=
operation. Read moreSource§impl SubAssign<u128> for IBig
impl SubAssign<u128> for IBig
Source§fn sub_assign(&mut self, rhs: u128)
fn sub_assign(&mut self, rhs: u128)
-=
operation. Read moreSource§impl SubAssign<u16> for IBig
impl SubAssign<u16> for IBig
Source§fn sub_assign(&mut self, rhs: u16)
fn sub_assign(&mut self, rhs: u16)
-=
operation. Read moreSource§impl SubAssign<u32> for IBig
impl SubAssign<u32> for IBig
Source§fn sub_assign(&mut self, rhs: u32)
fn sub_assign(&mut self, rhs: u32)
-=
operation. Read moreSource§impl SubAssign<u64> for IBig
impl SubAssign<u64> for IBig
Source§fn sub_assign(&mut self, rhs: u64)
fn sub_assign(&mut self, rhs: u64)
-=
operation. Read moreSource§impl SubAssign<u8> for IBig
impl SubAssign<u8> for IBig
Source§fn sub_assign(&mut self, rhs: u8)
fn sub_assign(&mut self, rhs: u8)
-=
operation. Read moreSource§impl SubAssign<usize> for IBig
impl SubAssign<usize> for IBig
Source§fn sub_assign(&mut self, rhs: usize)
fn sub_assign(&mut self, rhs: usize)
-=
operation. Read moreSource§impl SubAssign for IBig
impl SubAssign for IBig
Source§fn sub_assign(&mut self, rhs: IBig)
fn sub_assign(&mut self, rhs: IBig)
-=
operation. Read moreSource§impl ToPrimitive for IBig
impl ToPrimitive for IBig
Source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned.Source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned.Source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned.Source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned.Source§fn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read moreSource§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned.Source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned.Source§fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned.Source§fn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned.Source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned.Source§fn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read moreSource§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned.impl Eq for IBig
impl StructuralPartialEq for IBig
Auto Trait Implementations§
impl Freeze for IBig
impl RefUnwindSafe for IBig
impl Send for IBig
impl Sync for IBig
impl Unpin for IBig
impl UnwindSafe for IBig
Blanket Implementations§
Source§impl<I> Average for I
impl<I> Average for I
Source§fn average_floor(&self, other: &I) -> I
fn average_floor(&self, other: &I) -> I
Returns the floor value of the average of self
and other
.
Source§fn average_ceil(&self, other: &I) -> I
fn average_ceil(&self, other: &I) -> I
Returns the ceil value of the average of self
and other
.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
impl<Borrowed> SampleBorrow<Borrowed> for Borrowedwhere
Borrowed: SampleUniform,
Source§fn borrow(&self) -> &Borrowed
fn borrow(&self) -> &Borrowed
Borrow::borrow