rsa

Struct BigUint

Source
pub struct BigUint { /* private fields */ }
Expand description

A big unsigned integer type.

Implementations§

Source§

impl BigUint

Source

pub fn new(digits: Vec<u32>) -> BigUint

Creates and initializes a BigUint.

The digits are in little-endian base 232.

Source

pub fn new_native(digits: SmallVec<[u64; 4]>) -> BigUint

Creates and initializes a BigUint.

The digits are in little-endian base matching BigDigit.

Source

pub fn from_slice(slice: &[u32]) -> BigUint

Creates and initializes a BigUint.

The digits are in little-endian base 232.

Source

pub fn from_slice_native(slice: &[u64]) -> BigUint

Creates and initializes a BigUint.

The digits are in little-endian base matching BigDigit

Source

pub fn get_limb(&self, i: usize) -> u64

Source

pub fn assign_from_slice(&mut self, slice: &[u32])

Available on crate feature u64_digit only.
Source

pub fn assign_from_slice_native(&mut self, slice: &[u64])

Assign a value to a BigUint.

The digits are in little-endian with the base matching BigDigit.

Source

pub fn from_bytes_be(bytes: &[u8]) -> BigUint

Creates and initializes a BigUint.

The bytes are in big-endian byte order.

§Examples
use num_bigint_dig::BigUint;

assert_eq!(BigUint::from_bytes_be(b"A"),
           BigUint::parse_bytes(b"65", 10).unwrap());
assert_eq!(BigUint::from_bytes_be(b"AA"),
           BigUint::parse_bytes(b"16705", 10).unwrap());
assert_eq!(BigUint::from_bytes_be(b"AB"),
           BigUint::parse_bytes(b"16706", 10).unwrap());
assert_eq!(BigUint::from_bytes_be(b"Hello world!"),
           BigUint::parse_bytes(b"22405534230753963835153736737", 10).unwrap());
Source

pub fn from_bytes_le(bytes: &[u8]) -> BigUint

Creates and initializes a BigUint.

The bytes are in little-endian byte order.

Source

pub fn parse_bytes(buf: &[u8], radix: u32) -> Option<BigUint>

Creates and initializes a BigUint. The input slice must contain ascii/utf8 characters in [0-9a-zA-Z]. radix must be in the range 2...36.

The function from_str_radix from the Num trait provides the same logic for &str buffers.

§Examples
use num_bigint_dig::{BigUint, ToBigUint};

assert_eq!(BigUint::parse_bytes(b"1234", 10), ToBigUint::to_biguint(&1234));
assert_eq!(BigUint::parse_bytes(b"ABCD", 16), ToBigUint::to_biguint(&0xABCD));
assert_eq!(BigUint::parse_bytes(b"G", 16), None);
Source

pub fn from_radix_be(buf: &[u8], radix: u32) -> Option<BigUint>

Creates and initializes a BigUint. Each u8 of the input slice is interpreted as one digit of the number and must therefore be less than radix.

The bytes are in big-endian byte order. radix must be in the range 2...256.

§Examples
use num_bigint_dig::{BigUint};

let inbase190 = &[15, 33, 125, 12, 14];
let a = BigUint::from_radix_be(inbase190, 190).unwrap();
assert_eq!(a.to_radix_be(190), inbase190);
Source

pub fn from_radix_le(buf: &[u8], radix: u32) -> Option<BigUint>

Creates and initializes a BigUint. Each u8 of the input slice is interpreted as one digit of the number and must therefore be less than radix.

The bytes are in little-endian byte order. radix must be in the range 2...256.

§Examples
use num_bigint_dig::{BigUint};

let inbase190 = &[14, 12, 125, 33, 15];
let a = BigUint::from_radix_be(inbase190, 190).unwrap();
assert_eq!(a.to_radix_be(190), inbase190);
Source

pub fn to_bytes_be(&self) -> Vec<u8>

Returns the byte representation of the BigUint in big-endian byte order.

§Examples
use num_bigint_dig::BigUint;

let i = BigUint::parse_bytes(b"1125", 10).unwrap();
assert_eq!(i.to_bytes_be(), vec![4, 101]);
Source

pub fn to_bytes_le(&self) -> Vec<u8>

Returns the byte representation of the BigUint in little-endian byte order.

§Examples
use num_bigint_dig::BigUint;

let i = BigUint::parse_bytes(b"1125", 10).unwrap();
assert_eq!(i.to_bytes_le(), vec![101, 4]);
Source

pub fn to_str_radix(&self, radix: u32) -> String

Returns the integer formatted as a string in the given radix. radix must be in the range 2...36.

§Examples
use num_bigint_dig::BigUint;

let i = BigUint::parse_bytes(b"ff", 16).unwrap();
assert_eq!(i.to_str_radix(16), "ff");
Source

pub fn to_radix_be(&self, radix: u32) -> Vec<u8>

Returns the integer in the requested base in big-endian digit order. The output is not given in a human readable alphabet but as a zero based u8 number. radix must be in the range 2...256.

§Examples
use num_bigint_dig::BigUint;

assert_eq!(BigUint::from(0xFFFFu64).to_radix_be(159),
           vec![2, 94, 27]);
// 0xFFFF = 65535 = 2*(159^2) + 94*159 + 27
Source

pub fn to_radix_le(&self, radix: u32) -> Vec<u8>

Returns the integer in the requested base in little-endian digit order. The output is not given in a human readable alphabet but as a zero based u8 number. radix must be in the range 2...256.

§Examples
use num_bigint_dig::BigUint;

assert_eq!(BigUint::from(0xFFFFu64).to_radix_le(159),
           vec![27, 94, 2]);
// 0xFFFF = 65535 = 27 + 94*159 + 2*(159^2)
Source

pub fn bits(&self) -> usize

Determines the fewest bits necessary to express the BigUint.

Source

pub fn modpow(&self, exponent: &BigUint, modulus: &BigUint) -> BigUint

Returns (self ^ exponent) % modulus.

Panics if the modulus is zero.

Source

pub fn sqrt(&self) -> BigUint

Returns the truncated principal square root of self – see Roots::sqrt

Source

pub fn cbrt(&self) -> BigUint

Returns the truncated principal cube root of self – see Roots::cbrt.

Source

pub fn nth_root(&self, n: u32) -> BigUint

Returns the truncated principal nth root of self – see Roots::nth_root.

Source

pub fn trailing_zeros(&self) -> Option<usize>

Source

pub fn set_digit(&mut self, digit: u64)

Sets the value to the provided digit, reusing internal storage.

Trait Implementations§

Source§

impl<'a, 'b> Add<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &BigUint) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &BigUint) -> BigUint

Performs the + operation. Read more
Source§

impl<'a, 'b> Add<&'b u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u128) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<&'a u128> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u128) -> BigUint

Performs the + operation. Read more
Source§

impl<'a, 'b> Add<&'b u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u16) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<&'a u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u16) -> BigUint

Performs the + operation. Read more
Source§

impl<'a, 'b> Add<&'b u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u32) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<&'a u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u32) -> BigUint

Performs the + operation. Read more
Source§

impl<'a, 'b> Add<&'b u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u64) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<&'a u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u64) -> BigUint

Performs the + operation. Read more
Source§

impl<'a, 'b> Add<&'b u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u8) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<&'a u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &u8) -> BigUint

Performs the + operation. Read more
Source§

impl<'a, 'b> Add<&'b usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &usize) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<&'a usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: &usize) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: BigUint) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u128) -> BigUint

Performs the + operation. Read more
Source§

impl Add<u128> for BigUint

Available on has_i128 only.
Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u128) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u16) -> BigUint

Performs the + operation. Read more
Source§

impl Add<u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u16) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u32) -> BigUint

Performs the + operation. Read more
Source§

impl Add<u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u32) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u64) -> BigUint

Performs the + operation. Read more
Source§

impl Add<u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u64) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u8) -> BigUint

Performs the + operation. Read more
Source§

impl Add<u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: u8) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> Add<usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: usize) -> BigUint

Performs the + operation. Read more
Source§

impl Add<usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: usize) -> BigUint

Performs the + operation. Read more
Source§

impl Add for BigUint

Source§

type Output = BigUint

The resulting type after applying the + operator.
Source§

fn add(self, other: BigUint) -> BigUint

Performs the + operation. Read more
Source§

impl<'a> AddAssign<&'a BigUint> for BigUint

Source§

fn add_assign(&mut self, other: &BigUint)

Performs the += operation. Read more
Source§

impl AddAssign<u128> for BigUint

Available on has_i128 only.
Source§

fn add_assign(&mut self, other: u128)

Performs the += operation. Read more
Source§

impl AddAssign<u16> for BigUint

Source§

fn add_assign(&mut self, other: u16)

Performs the += operation. Read more
Source§

impl AddAssign<u32> for BigUint

Source§

fn add_assign(&mut self, other: u32)

Performs the += operation. Read more
Source§

impl AddAssign<u64> for BigUint

Source§

fn add_assign(&mut self, other: u64)

Performs the += operation. Read more
Source§

impl AddAssign<u8> for BigUint

Source§

fn add_assign(&mut self, other: u8)

Performs the += operation. Read more
Source§

impl AddAssign<usize> for BigUint

Source§

fn add_assign(&mut self, other: usize)

Performs the += operation. Read more
Source§

impl AddAssign for BigUint

Source§

fn add_assign(&mut self, other: BigUint)

Performs the += operation. Read more
Source§

impl Binary for BigUint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'a, 'b> BitAnd<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the & operator.
Source§

fn bitand(self, other: &BigUint) -> BigUint

Performs the & operation. Read more
Source§

impl<'a> BitAnd<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the & operator.
Source§

fn bitand(self, other: &BigUint) -> BigUint

Performs the & operation. Read more
Source§

impl<'a> BitAnd<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the & operator.
Source§

fn bitand(self, other: BigUint) -> BigUint

Performs the & operation. Read more
Source§

impl BitAnd for BigUint

Source§

type Output = BigUint

The resulting type after applying the & operator.
Source§

fn bitand(self, other: BigUint) -> BigUint

Performs the & operation. Read more
Source§

impl<'a> BitAndAssign<&'a BigUint> for BigUint

Source§

fn bitand_assign(&mut self, other: &BigUint)

Performs the &= operation. Read more
Source§

impl BitAndAssign for BigUint

Source§

fn bitand_assign(&mut self, other: BigUint)

Performs the &= operation. Read more
Source§

impl<'a, 'b> BitOr<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the | operator.
Source§

fn bitor(self, other: &BigUint) -> BigUint

Performs the | operation. Read more
Source§

impl<'a> BitOr<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the | operator.
Source§

fn bitor(self, other: &BigUint) -> BigUint

Performs the | operation. Read more
Source§

impl<'a> BitOr<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the | operator.
Source§

fn bitor(self, other: BigUint) -> BigUint

Performs the | operation. Read more
Source§

impl BitOr for BigUint

Source§

type Output = BigUint

The resulting type after applying the | operator.
Source§

fn bitor(self, other: BigUint) -> BigUint

Performs the | operation. Read more
Source§

impl<'a> BitOrAssign<&'a BigUint> for BigUint

Source§

fn bitor_assign(&mut self, other: &BigUint)

Performs the |= operation. Read more
Source§

impl BitOrAssign for BigUint

Source§

fn bitor_assign(&mut self, other: BigUint)

Performs the |= operation. Read more
Source§

impl<'a, 'b> BitXor<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, other: &BigUint) -> BigUint

Performs the ^ operation. Read more
Source§

impl<'a> BitXor<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, other: &BigUint) -> BigUint

Performs the ^ operation. Read more
Source§

impl<'a> BitXor<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, other: BigUint) -> BigUint

Performs the ^ operation. Read more
Source§

impl BitXor for BigUint

Source§

type Output = BigUint

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, other: BigUint) -> BigUint

Performs the ^ operation. Read more
Source§

impl<'a> BitXorAssign<&'a BigUint> for BigUint

Source§

fn bitxor_assign(&mut self, other: &BigUint)

Performs the ^= operation. Read more
Source§

impl BitXorAssign for BigUint

Source§

fn bitxor_assign(&mut self, other: BigUint)

Performs the ^= operation. Read more
Source§

impl CheckedAdd for BigUint

Source§

fn checked_add(&self, v: &BigUint) -> Option<BigUint>

Adds two numbers, checking for overflow. If overflow happens, None is returned.
Source§

impl CheckedDiv for BigUint

Source§

fn checked_div(&self, v: &BigUint) -> Option<BigUint>

Divides two numbers, checking for underflow, overflow and division by zero. If any of that happens, None is returned.
Source§

impl CheckedMul for BigUint

Source§

fn checked_mul(&self, v: &BigUint) -> Option<BigUint>

Multiplies two numbers, checking for underflow or overflow. If underflow or overflow happens, None is returned.
Source§

impl CheckedSub for BigUint

Source§

fn checked_sub(&self, v: &BigUint) -> Option<BigUint>

Subtracts two numbers, checking for underflow. If underflow happens, None is returned.
Source§

impl Clone for BigUint

Source§

fn clone(&self) -> BigUint

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BigUint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for BigUint

Source§

fn default() -> BigUint

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for BigUint

Available on crate feature serde only.
Source§

fn deserialize<D>( deserializer: D, ) -> Result<BigUint, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for BigUint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'a, 'b> Div<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &BigUint) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &BigUint) -> BigUint

Performs the / operation. Read more
Source§

impl<'a, 'b> Div<&'b u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u128) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<&'a u128> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u128) -> BigUint

Performs the / operation. Read more
Source§

impl<'a, 'b> Div<&'b u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u16) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<&'a u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u16) -> BigUint

Performs the / operation. Read more
Source§

impl<'a, 'b> Div<&'b u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u32) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<&'a u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u32) -> BigUint

Performs the / operation. Read more
Source§

impl<'a, 'b> Div<&'b u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u64) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<&'a u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u64) -> BigUint

Performs the / operation. Read more
Source§

impl<'a, 'b> Div<&'b u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u8) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<&'a u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &u8) -> BigUint

Performs the / operation. Read more
Source§

impl<'a, 'b> Div<&'b usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &usize) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<&'a usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: &usize) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: BigUint) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u128) -> BigUint

Performs the / operation. Read more
Source§

impl Div<u128> for BigUint

Available on has_i128 only.
Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u128) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u16) -> BigUint

Performs the / operation. Read more
Source§

impl Div<u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u16) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u32) -> BigUint

Performs the / operation. Read more
Source§

impl Div<u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u32) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u64) -> BigUint

Performs the / operation. Read more
Source§

impl Div<u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u64) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u8) -> BigUint

Performs the / operation. Read more
Source§

impl Div<u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: u8) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> Div<usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: usize) -> BigUint

Performs the / operation. Read more
Source§

impl Div<usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: usize) -> BigUint

Performs the / operation. Read more
Source§

impl Div for BigUint

Source§

type Output = BigUint

The resulting type after applying the / operator.
Source§

fn div(self, other: BigUint) -> BigUint

Performs the / operation. Read more
Source§

impl<'a> DivAssign<&'a BigUint> for BigUint

Source§

fn div_assign(&mut self, other: &'a BigUint)

Performs the /= operation. Read more
Source§

impl DivAssign<u128> for BigUint

Available on has_i128 only.
Source§

fn div_assign(&mut self, other: u128)

Performs the /= operation. Read more
Source§

impl DivAssign<u16> for BigUint

Source§

fn div_assign(&mut self, other: u16)

Performs the /= operation. Read more
Source§

impl DivAssign<u32> for BigUint

Source§

fn div_assign(&mut self, other: u32)

Performs the /= operation. Read more
Source§

impl DivAssign<u64> for BigUint

Source§

fn div_assign(&mut self, other: u64)

Performs the /= operation. Read more
Source§

impl DivAssign<u8> for BigUint

Source§

fn div_assign(&mut self, other: u8)

Performs the /= operation. Read more
Source§

impl DivAssign<usize> for BigUint

Source§

fn div_assign(&mut self, other: usize)

Performs the /= operation. Read more
Source§

impl DivAssign for BigUint

Source§

fn div_assign(&mut self, other: BigUint)

Performs the /= operation. Read more
Source§

impl<'a, 'b> ExtendedGcd<&'b BigInt> for &'a BigUint

Source§

fn extended_gcd(self, other: &'b BigInt) -> (BigInt, BigInt, BigInt)

Source§

impl<'a> ExtendedGcd<&'a BigInt> for BigUint

Source§

fn extended_gcd(self, other: &'a BigInt) -> (BigInt, BigInt, BigInt)

Source§

impl<'a, 'b> ExtendedGcd<&'b BigUint> for &'a BigUint

Source§

fn extended_gcd(self, other: &'b BigUint) -> (BigInt, BigInt, BigInt)

Source§

impl<'a> ExtendedGcd<&'a BigUint> for BigUint

Source§

fn extended_gcd(self, other: &'a BigUint) -> (BigInt, BigInt, BigInt)

Source§

impl From<u128> for BigUint

Available on has_i128 only.
Source§

fn from(n: u128) -> BigUint

Converts to this type from the input type.
Source§

impl From<u16> for BigUint

Source§

fn from(n: u16) -> BigUint

Converts to this type from the input type.
Source§

impl From<u32> for BigUint

Source§

fn from(n: u32) -> BigUint

Converts to this type from the input type.
Source§

impl From<u64> for BigUint

Available on crate feature u64_digit only.
Source§

fn from(n: u64) -> BigUint

Converts to this type from the input type.
Source§

impl From<u8> for BigUint

Source§

fn from(n: u8) -> BigUint

Converts to this type from the input type.
Source§

impl From<usize> for BigUint

Source§

fn from(n: usize) -> BigUint

Converts to this type from the input type.
Source§

impl FromPrimitive for BigUint

Source§

fn from_i64(n: i64) -> Option<BigUint>

Converts an 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<BigUint>

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
Source§

fn from_u64(n: u64) -> Option<BigUint>

Converts an 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<BigUint>

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
Source§

fn from_f64(n: f64) -> Option<BigUint>

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
Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

fn from_u32(n: u32) -> Option<Self>

Converts an 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_f32(n: f32) -> Option<Self>

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

impl FromStr for BigUint

Source§

type Err = ParseBigIntError

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<BigUint, ParseBigIntError>

Parses a string s to return a value of this type. Read more
Source§

impl Hash for BigUint

Source§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Integer for BigUint

Source§

fn gcd(&self, other: &BigUint) -> BigUint

Calculates the Greatest Common Divisor (GCD) of the number and other.

The result is always positive.

Source§

fn lcm(&self, other: &BigUint) -> BigUint

Calculates the Lowest Common Multiple (LCM) of the number and other.

Source§

fn divides(&self, other: &BigUint) -> bool

👎Deprecated: Please use is_multiple_of instead

Deprecated, use is_multiple_of instead.

Source§

fn is_multiple_of(&self, other: &BigUint) -> bool

Returns true if the number is a multiple of other.

Source§

fn is_even(&self) -> bool

Returns true if the number is divisible by 2.

Source§

fn is_odd(&self) -> bool

Returns true if the number is not divisible by 2.

Source§

fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)

Simultaneous truncated integer division and modulus. Returns (quotient, remainder). Read more
Source§

fn div_floor(&self, other: &BigUint) -> BigUint

Floored integer division. Read more
Source§

fn mod_floor(&self, other: &BigUint) -> BigUint

Floored integer modulo, satisfying: Read more
Source§

fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)

Simultaneous floored integer division and modulus. Returns (quotient, remainder). Read more
Source§

fn div_ceil(&self, other: &Self) -> Self

Ceiled integer division. Read more
Source§

fn gcd_lcm(&self, other: &Self) -> (Self, Self)

Greatest Common Divisor (GCD) and Lowest Common Multiple (LCM) together. Read more
Source§

fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>
where Self: Clone,

Greatest common divisor and Bézout coefficients. Read more
Source§

fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self)
where Self: Clone + Signed,

Greatest common divisor, least common multiple, and Bézout coefficients.
Source§

fn next_multiple_of(&self, other: &Self) -> Self
where Self: Clone,

Rounds up to nearest multiple of argument. Read more
Source§

fn prev_multiple_of(&self, other: &Self) -> Self
where Self: Clone,

Rounds down to nearest multiple of argument. Read more
Source§

fn dec(&mut self)
where Self: Clone,

Decrements self by one. Read more
Source§

fn inc(&mut self)
where Self: Clone,

Increments self by one. Read more
Source§

impl IntoBigInt for BigUint

Source§

fn into_bigint(self) -> Option<BigInt>

Converts the value of self to a BigInt.
Source§

impl IntoBigUint for BigUint

Source§

fn into_biguint(self) -> Option<BigUint>

Converts the value of self to a BigUint.
Source§

impl LowerHex for BigUint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'a, 'b> ModInverse<&'b BigInt> for &'a BigUint

Source§

type Output = BigInt

Source§

fn mod_inverse(self, m: &'b BigInt) -> Option<BigInt>

Function to calculate the modular multiplicative inverse of an integer a modulo m. Read more
Source§

impl<'a> ModInverse<&'a BigInt> for BigUint

Source§

type Output = BigInt

Source§

fn mod_inverse(self, m: &'a BigInt) -> Option<BigInt>

Function to calculate the modular multiplicative inverse of an integer a modulo m. Read more
Source§

impl<'a, 'b> ModInverse<&'b BigUint> for &'a BigUint

Source§

type Output = BigInt

Source§

fn mod_inverse(self, m: &'b BigUint) -> Option<BigInt>

Function to calculate the modular multiplicative inverse of an integer a modulo m. Read more
Source§

impl<'a> ModInverse<&'a BigUint> for BigUint

Source§

type Output = BigInt

Source§

fn mod_inverse(self, m: &'a BigUint) -> Option<BigInt>

Function to calculate the modular multiplicative inverse of an integer a modulo m. Read more
Source§

impl ModInverse<BigInt> for BigUint

Source§

type Output = BigInt

Source§

fn mod_inverse(self, m: BigInt) -> Option<BigInt>

Function to calculate the modular multiplicative inverse of an integer a modulo m. Read more
Source§

impl<'a> ModInverse<BigUint> for &'a BigUint

Source§

type Output = BigInt

Source§

fn mod_inverse(self, m: BigUint) -> Option<BigInt>

Function to calculate the modular multiplicative inverse of an integer a modulo m. Read more
Source§

impl ModInverse<BigUint> for BigUint

Source§

type Output = BigInt

Source§

fn mod_inverse(self, m: BigUint) -> Option<BigInt>

Function to calculate the modular multiplicative inverse of an integer a modulo m. Read more
Source§

impl<'a, 'b> Mul<&'a BigInt> for &'b BigUint

Source§

type Output = BigInt

The resulting type after applying the * operator.
Source§

fn mul(self, other: &BigInt) -> BigInt

Performs the * operation. Read more
Source§

impl<'a, 'b> Mul<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &BigUint) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &BigUint) -> BigUint

Performs the * operation. Read more
Source§

impl<'a, 'b> Mul<&'b u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u128) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<&'a u128> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u128) -> BigUint

Performs the * operation. Read more
Source§

impl<'a, 'b> Mul<&'b u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u16) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<&'a u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u16) -> BigUint

Performs the * operation. Read more
Source§

impl<'a, 'b> Mul<&'b u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u32) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<&'a u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u32) -> BigUint

Performs the * operation. Read more
Source§

impl<'a, 'b> Mul<&'b u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u64) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<&'a u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u64) -> BigUint

Performs the * operation. Read more
Source§

impl<'a, 'b> Mul<&'b u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u8) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<&'a u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &u8) -> BigUint

Performs the * operation. Read more
Source§

impl<'a, 'b> Mul<&'b usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &usize) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<&'a usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: &usize) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: BigUint) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u128) -> BigUint

Performs the * operation. Read more
Source§

impl Mul<u128> for BigUint

Available on has_i128 only.
Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u128) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u16) -> BigUint

Performs the * operation. Read more
Source§

impl Mul<u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u16) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u32) -> BigUint

Performs the * operation. Read more
Source§

impl Mul<u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u32) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u64) -> BigUint

Performs the * operation. Read more
Source§

impl Mul<u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u64) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u8) -> BigUint

Performs the * operation. Read more
Source§

impl Mul<u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: u8) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> Mul<usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: usize) -> BigUint

Performs the * operation. Read more
Source§

impl Mul<usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: usize) -> BigUint

Performs the * operation. Read more
Source§

impl Mul for BigUint

Source§

type Output = BigUint

The resulting type after applying the * operator.
Source§

fn mul(self, other: BigUint) -> BigUint

Performs the * operation. Read more
Source§

impl<'a> MulAssign<&'a BigUint> for BigUint

Source§

fn mul_assign(&mut self, other: &'a BigUint)

Performs the *= operation. Read more
Source§

impl MulAssign<u128> for BigUint

Available on has_i128 only.
Source§

fn mul_assign(&mut self, other: u128)

Performs the *= operation. Read more
Source§

impl MulAssign<u16> for BigUint

Source§

fn mul_assign(&mut self, other: u16)

Performs the *= operation. Read more
Source§

impl MulAssign<u32> for BigUint

Source§

fn mul_assign(&mut self, other: u32)

Performs the *= operation. Read more
Source§

impl MulAssign<u64> for BigUint

Source§

fn mul_assign(&mut self, other: u64)

Performs the *= operation. Read more
Source§

impl MulAssign<u8> for BigUint

Source§

fn mul_assign(&mut self, other: u8)

Performs the *= operation. Read more
Source§

impl MulAssign<usize> for BigUint

Source§

fn mul_assign(&mut self, other: usize)

Performs the *= operation. Read more
Source§

impl MulAssign for BigUint

Source§

fn mul_assign(&mut self, other: BigUint)

Performs the *= operation. Read more
Source§

impl<'a> Neg for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn neg(self) -> BigUint

Performs the unary - operation. Read more
Source§

impl Neg for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn neg(self) -> BigUint

Performs the unary - operation. Read more
Source§

impl Num for BigUint

Source§

fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>

Creates and initializes a BigUint.

Source§

type FromStrRadixErr = ParseBigIntError

Source§

impl Octal for BigUint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl One for BigUint

Source§

fn one() -> BigUint

Returns the multiplicative identity element of Self, 1. Read more
Source§

fn is_one(&self) -> bool

Returns true if self is equal to the multiplicative identity. Read more
Source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
Source§

impl Ord for BigUint

Source§

fn cmp(&self, other: &BigUint) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for BigUint

Source§

fn eq(&self, other: &BigUint) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for BigUint

Source§

fn partial_cmp(&self, other: &BigUint) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<'a, 'b> Pow<&'b u128> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: &u128) -> <&'a BigUint as Pow<&'b u128>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a, 'b> Pow<&'b u16> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: &u16) -> <&'a BigUint as Pow<&'b u16>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a, 'b> Pow<&'b u32> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: &u32) -> <&'a BigUint as Pow<&'b u32>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a, 'b> Pow<&'b u64> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: &u64) -> <&'a BigUint as Pow<&'b u64>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a, 'b> Pow<&'b u8> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: &u8) -> <&'a BigUint as Pow<&'b u8>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a, 'b> Pow<&'b usize> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: &usize) -> <&'a BigUint as Pow<&'b usize>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a> Pow<u128> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: u128) -> <&'a BigUint as Pow<u128>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a> Pow<u16> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: u16) -> <&'a BigUint as Pow<u16>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a> Pow<u32> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: u32) -> <&'a BigUint as Pow<u32>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a> Pow<u64> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: u64) -> <&'a BigUint as Pow<u64>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a> Pow<u8> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: u8) -> <&'a BigUint as Pow<u8>>::Output

Returns self to the power rhs. Read more
Source§

impl<'a> Pow<usize> for &'a BigUint

Source§

type Output = BigUint

The result after applying the operator.
Source§

fn pow(self, exp: usize) -> <&'a BigUint as Pow<usize>>::Output

Returns self to the power rhs. Read more
Source§

impl<T> Product<T> for BigUint
where BigUint: Mul<T, Output = BigUint>,

Source§

fn product<I>(iter: I) -> BigUint
where I: Iterator<Item = T>,

Takes an iterator and generates Self from the elements by multiplying the items.
Source§

impl<'a, 'b> Rem<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &BigUint) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &BigUint) -> BigUint

Performs the % operation. Read more
Source§

impl<'a, 'b> Rem<&'b u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u128) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<&'a u128> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u128) -> BigUint

Performs the % operation. Read more
Source§

impl<'a, 'b> Rem<&'b u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u16) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<&'a u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u16) -> BigUint

Performs the % operation. Read more
Source§

impl<'a, 'b> Rem<&'b u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u32) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<&'a u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u32) -> BigUint

Performs the % operation. Read more
Source§

impl<'a, 'b> Rem<&'b u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u64) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<&'a u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u64) -> BigUint

Performs the % operation. Read more
Source§

impl<'a, 'b> Rem<&'b u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u8) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<&'a u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &u8) -> BigUint

Performs the % operation. Read more
Source§

impl<'a, 'b> Rem<&'b usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &usize) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<&'a usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: &usize) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: BigUint) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u128) -> BigUint

Performs the % operation. Read more
Source§

impl Rem<u128> for BigUint

Available on has_i128 only.
Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u128) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u16) -> BigUint

Performs the % operation. Read more
Source§

impl Rem<u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u16) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u32) -> BigUint

Performs the % operation. Read more
Source§

impl Rem<u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u32) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u64) -> BigUint

Performs the % operation. Read more
Source§

impl Rem<u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u64) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u8) -> BigUint

Performs the % operation. Read more
Source§

impl Rem<u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: u8) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> Rem<usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: usize) -> BigUint

Performs the % operation. Read more
Source§

impl Rem<usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: usize) -> BigUint

Performs the % operation. Read more
Source§

impl Rem for BigUint

Source§

type Output = BigUint

The resulting type after applying the % operator.
Source§

fn rem(self, other: BigUint) -> BigUint

Performs the % operation. Read more
Source§

impl<'a> RemAssign<&'a BigUint> for BigUint

Source§

fn rem_assign(&mut self, other: &BigUint)

Performs the %= operation. Read more
Source§

impl RemAssign<u128> for BigUint

Available on has_i128 only.
Source§

fn rem_assign(&mut self, other: u128)

Performs the %= operation. Read more
Source§

impl RemAssign<u16> for BigUint

Source§

fn rem_assign(&mut self, other: u16)

Performs the %= operation. Read more
Source§

impl RemAssign<u32> for BigUint

Source§

fn rem_assign(&mut self, other: u32)

Performs the %= operation. Read more
Source§

impl RemAssign<u64> for BigUint

Source§

fn rem_assign(&mut self, other: u64)

Performs the %= operation. Read more
Source§

impl RemAssign<u8> for BigUint

Source§

fn rem_assign(&mut self, other: u8)

Performs the %= operation. Read more
Source§

impl RemAssign<usize> for BigUint

Source§

fn rem_assign(&mut self, other: usize)

Performs the %= operation. Read more
Source§

impl RemAssign for BigUint

Source§

fn rem_assign(&mut self, other: BigUint)

Performs the %= operation. Read more
Source§

impl Roots for BigUint

Source§

fn nth_root(&self, n: u32) -> BigUint

Returns the truncated principal nth root of an integer – if x >= 0 { ⌊ⁿ√x⌋ } else { ⌈ⁿ√x⌉ } Read more
Source§

fn sqrt(&self) -> BigUint

Returns the truncated principal square root of an integer – ⌊√x⌋ Read more
Source§

fn cbrt(&self) -> BigUint

Returns the truncated principal cube root of an integer – if x >= 0 { ⌊∛x⌋ } else { ⌈∛x⌉ } Read more
Source§

impl SampleUniform for BigUint

Source§

type Sampler = UniformBigUint

The UniformSampler implementation supporting type X.
Source§

impl Serialize for BigUint

Available on crate features serde and u64_digit only.
Source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'a> Shl<usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: usize) -> BigUint

Performs the << operation. Read more
Source§

impl Shl<usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: usize) -> BigUint

Performs the << operation. Read more
Source§

impl ShlAssign<usize> for BigUint

Source§

fn shl_assign(&mut self, rhs: usize)

Performs the <<= operation. Read more
Source§

impl<'a> Shr<usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: usize) -> BigUint

Performs the >> operation. Read more
Source§

impl Shr<usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: usize) -> BigUint

Performs the >> operation. Read more
Source§

impl ShrAssign<usize> for BigUint

Source§

fn shr_assign(&mut self, rhs: usize)

Performs the >>= operation. Read more
Source§

impl<'a, 'b> Sub<&'b BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &BigUint) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<&'a BigUint> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &BigUint) -> BigUint

Performs the - operation. Read more
Source§

impl<'a, 'b> Sub<&'b u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u128) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<&'a u128> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u128) -> BigUint

Performs the - operation. Read more
Source§

impl<'a, 'b> Sub<&'b u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u16) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<&'a u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u16) -> BigUint

Performs the - operation. Read more
Source§

impl<'a, 'b> Sub<&'b u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u32) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<&'a u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u32) -> BigUint

Performs the - operation. Read more
Source§

impl<'a, 'b> Sub<&'b u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u64) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<&'a u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u64) -> BigUint

Performs the - operation. Read more
Source§

impl<'a, 'b> Sub<&'b u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u8) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<&'a u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &u8) -> BigUint

Performs the - operation. Read more
Source§

impl<'a, 'b> Sub<&'b usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &usize) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<&'a usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: &usize) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<BigUint> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: BigUint) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<u128> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u128) -> BigUint

Performs the - operation. Read more
Source§

impl Sub<u128> for BigUint

Available on has_i128 only.
Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u128) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<u16> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u16) -> BigUint

Performs the - operation. Read more
Source§

impl Sub<u16> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u16) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<u32> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u32) -> BigUint

Performs the - operation. Read more
Source§

impl Sub<u32> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u32) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<u64> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u64) -> BigUint

Performs the - operation. Read more
Source§

impl Sub<u64> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u64) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<u8> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u8) -> BigUint

Performs the - operation. Read more
Source§

impl Sub<u8> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: u8) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> Sub<usize> for &'a BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: usize) -> BigUint

Performs the - operation. Read more
Source§

impl Sub<usize> for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: usize) -> BigUint

Performs the - operation. Read more
Source§

impl Sub for BigUint

Source§

type Output = BigUint

The resulting type after applying the - operator.
Source§

fn sub(self, other: BigUint) -> BigUint

Performs the - operation. Read more
Source§

impl<'a> SubAssign<&'a BigUint> for BigUint

Source§

fn sub_assign(&mut self, other: &'a BigUint)

Performs the -= operation. Read more
Source§

impl SubAssign<u128> for BigUint

Available on has_i128 only.
Source§

fn sub_assign(&mut self, other: u128)

Performs the -= operation. Read more
Source§

impl SubAssign<u16> for BigUint

Source§

fn sub_assign(&mut self, other: u16)

Performs the -= operation. Read more
Source§

impl SubAssign<u32> for BigUint

Source§

fn sub_assign(&mut self, other: u32)

Performs the -= operation. Read more
Source§

impl SubAssign<u64> for BigUint

Source§

fn sub_assign(&mut self, other: u64)

Performs the -= operation. Read more
Source§

impl SubAssign<u8> for BigUint

Source§

fn sub_assign(&mut self, other: u8)

Performs the -= operation. Read more
Source§

impl SubAssign<usize> for BigUint

Source§

fn sub_assign(&mut self, other: usize)

Performs the -= operation. Read more
Source§

impl SubAssign for BigUint

Source§

fn sub_assign(&mut self, other: BigUint)

Performs the -= operation. Read more
Source§

impl<T> Sum<T> for BigUint
where BigUint: Add<T, Output = BigUint>,

Source§

fn sum<I>(iter: I) -> BigUint
where I: Iterator<Item = T>,

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl ToBigInt for BigUint

Source§

fn to_bigint(&self) -> Option<BigInt>

Converts the value of self to a BigInt.
Source§

impl ToBigUint for BigUint

Source§

fn to_biguint(&self) -> Option<BigUint>

Converts the value of self to a BigUint.
Source§

impl ToPrimitive for BigUint

Source§

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.
Source§

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
Source§

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.
Source§

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
Source§

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.
Source§

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
Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

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.
Source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.
Source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.
Source§

impl UpperHex for BigUint

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Zero for BigUint

Source§

fn zero() -> BigUint

Returns the additive identity element of Self, 0. Read more
Source§

fn is_zero(&self) -> bool

Returns true if self is equal to the additive identity.
Source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.
Source§

impl Zeroize for BigUint

Available on crate feature zeroize only.
Source§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.
Source§

impl Eq for BigUint

Source§

impl Unsigned for BigUint

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<I> Average for I
where &'a I: for<'a, 'b> BitAnd<&'b I, Output = I> + for<'a, 'b> BitOr<&'b I, Output = I> + for<'a, 'b> BitXor<&'b I, Output = I>, I: Integer + Shr<usize, Output = I>,

Source§

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

Returns the ceil value of the average of self and other.

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<Borrowed> SampleBorrow<Borrowed> for Borrowed
where Borrowed: SampleUniform,

Source§

fn borrow(&self) -> &Borrowed

Immutably borrows from an owned value. See Borrow::borrow
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> NumAssign for T
where T: Num + NumAssignOps,

Source§

impl<T, Rhs> NumAssignOps<Rhs> for T
where T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,

Source§

impl<T> NumAssignRef for T
where T: NumAssign + for<'r> NumAssignOps<&'r T>,

Source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

Source§

impl<T> NumRef for T
where T: Num + for<'r> NumOps<&'r T>,

Source§

impl<T, Base> RefNum<Base> for T
where T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>,