# [−][src]Struct num::BigUint

    pub struct BigUint { /* fields omitted */ }

A big unsigned integer type.

A `BigUint`-typed value `BigUint { data: vec!(a, b, c) }` represents a number `(a + b * big_digit::BASE + c * big_digit::BASE^2)`.

## Methods

### `impl BigUint`[src]

#### `pub fn new(digits: Vec<u32>) -> BigUint`[src]

Creates and initializes a `BigUint`.

The digits are in little-endian base 232.

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

Creates and initializes a `BigUint`.

The digits are in little-endian base 232.

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

Assign a value to a `BigUint`.

The digits are in little-endian base 232.

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

Creates and initializes a `BigUint`.

The bytes are in big-endian byte order.

# Examples

    use num_bigint::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());

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

Creates and initializes a `BigUint`.

The bytes are in little-endian byte order.

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

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::{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);

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

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::{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);

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

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::{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);

#### `pub fn to_bytes_be(&self) -> Vec<u8>`[src]

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

# Examples

    use num_bigint::BigUint;

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

#### `pub fn to_bytes_le(&self) -> Vec<u8>`[src]

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

# Examples

    use num_bigint::BigUint;

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

#### `pub fn to_str_radix(&self, radix: u32) -> String`[src]

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

# Examples

    use num_bigint::BigUint;

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

#### `pub fn to_radix_be(&self, radix: u32) -> Vec<u8>`[src]

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::BigUint;

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

#### `pub fn to_radix_le(&self, radix: u32) -> Vec<u8>`[src]

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::BigUint;

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

#### `pub fn bits(&self) -> usize`[src]

Determines the fewest bits necessary to express the `BigUint`.

#### `pub fn modpow(&self, exponent: &BigUint, modulus: &BigUint) -> BigUint`[src]

Returns `(self ^ exponent) % modulus`.

Panics if the modulus is zero.

## Trait Implementations

### `impl BitOrAssign<BigUint> for BigUint`[src]

#### `fn bitor_assign(&mut self, other: BigUint)`[src]

Performs the `|=` operation.

### `impl<'a> BitOrAssign<&'a BigUint> for BigUint`[src]

#### `fn bitor_assign(&mut self, other: &BigUint)`[src]

Performs the `|=` operation.

### `impl Mul<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: BigUint) -> BigUint`[src]

Performs the `*` operation.

### `impl Mul<u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u16) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'b usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &usize) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &usize) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &BigUint) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'b u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u64) -> BigUint`[src]

Performs the `*` operation.

### `impl Mul<u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u64) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u16) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u64) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u32) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u8) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: usize) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u16) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u8) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u64) -> BigUint`[src]

Performs the `*` operation.

### `impl Mul<usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: usize) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'b u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u8) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'b u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u16) -> BigUint`[src]

Performs the `*` operation.

### `impl Mul<u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u8) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'b u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &u32) -> BigUint`[src]

Performs the `*` operation.

### `impl Mul<u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u32) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &BigUint) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: BigUint) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> Mul<u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: u32) -> BigUint`[src]

Performs the `*` operation.

### `impl<'a> SubAssign<&'a BigUint> for BigUint`[src]

#### `fn sub_assign(&mut self, other: &'a BigUint)`[src]

Performs the `-=` operation.

### `impl SubAssign<u8> for BigUint`[src]

#### `fn sub_assign(&mut self, other: u8)`[src]

Performs the `-=` operation.

### `impl SubAssign<BigUint> for BigUint`[src]

#### `fn sub_assign(&mut self, other: BigUint)`[src]

Performs the `-=` operation.

### `impl SubAssign<u64> for BigUint`[src]

#### `fn sub_assign(&mut self, other: u64)`[src]

Performs the `-=` operation.

### `impl SubAssign<u32> for BigUint`[src]

#### `fn sub_assign(&mut self, other: u32)`[src]

Performs the `-=` operation.

### `impl SubAssign<u16> for BigUint`[src]

#### `fn sub_assign(&mut self, other: u16)`[src]

Performs the `-=` operation.

### `impl SubAssign<usize> for BigUint`[src]

#### `fn sub_assign(&mut self, other: usize)`[src]

Performs the `-=` operation.

### `impl Div<u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u8) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<&'a u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u64) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u32) -> BigUint`[src]

Performs the `/` operation.

### `impl Div<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: BigUint) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'b u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u16) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<&'a usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &usize) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &BigUint) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'b usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &usize) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u16) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<&'a u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u32) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u64) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &BigUint) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'b u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u8) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<&'a u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u16) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: usize) -> BigUint`[src]

Performs the `/` operation.

### `impl Div<u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u32) -> BigUint`[src]

Performs the `/` operation.

### `impl Div<u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u16) -> BigUint`[src]

Performs the `/` operation.

### `impl Div<u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u64) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<&'a u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u8) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'b u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u32) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: BigUint) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a> Div<u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: u8) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'b u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &u64) -> BigUint`[src]

Performs the `/` operation.

### `impl Div<usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `/` operator.

#### `fn div(self, other: usize) -> BigUint`[src]

Performs the `/` operation.

### `impl<'a, 'b> BitOr<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `|` operator.

#### `fn bitor(self, other: &BigUint) -> BigUint`[src]

Performs the `|` operation.

### `impl<'a> BitOr<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `|` operator.

#### `fn bitor(self, other: BigUint) -> BigUint`[src]

Performs the `|` operation.

### `impl BitOr<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `|` operator.

#### `fn bitor(self, other: BigUint) -> BigUint`[src]

Performs the `|` operation.

### `impl<'a> BitOr<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `|` operator.

#### `fn bitor(self, other: &BigUint) -> BigUint`[src]

Performs the `|` operation.

### `impl<'a> BitXor<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `^` operator.

#### `fn bitxor(self, other: BigUint) -> BigUint`[src]

Performs the `^` operation.

### `impl<'a> BitXor<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `^` operator.

#### `fn bitxor(self, other: &BigUint) -> BigUint`[src]

Performs the `^` operation.

### `impl BitXor<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `^` operator.

#### `fn bitxor(self, other: BigUint) -> BigUint`[src]

Performs the `^` operation.

### `impl<'a, 'b> BitXor<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `^` operator.

#### `fn bitxor(self, other: &BigUint) -> BigUint`[src]

Performs the `^` operation.

### `impl Eq for BigUint`[src]

### `impl Display for BigUint`[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl One for BigUint`[src]

#### `fn one() -> BigUint`[src]

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

#### `fn set_one(&mut self)`[src]

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

#### `fn is_one(&self) -> bool where
Self: PartialEq<Self>,` [src]

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

### `impl LowerHex for BigUint`[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter.

### `impl CheckedSub for BigUint`[src]

#### `fn checked_sub(&self, v: &BigUint) -> Option<BigUint>`[src]

Subtracts two numbers, checking for underflow. If underflow happens, `None` is returned. Read more

### `impl UpperHex for BigUint`[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter.

### `impl<'a> Shl<usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `<<` operator.

#### `fn shl(self, rhs: usize) -> BigUint`[src]

Performs the `<<` operation.

### `impl Shl<usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `<<` operator.

#### `fn shl(self, rhs: usize) -> BigUint`[src]

Performs the `<<` operation.

### `impl Encodable for BigUint`[src]

#### `fn encode<__S>(&self, s: &mut __S) -> Result<(), <__S as Encoder>::Error> where
__S: Encoder,` [src]

Serialize a value using an `Encoder`.

### `impl CheckedDiv for BigUint`[src]

#### `fn checked_div(&self, v: &BigUint) -> Option<BigUint>`[src]

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

### `impl<'a> Rem<u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u8) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'b u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u16) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'b u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u8) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u16) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &usize) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u64) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u8) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'b usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &usize) -> BigUint`[src]

Performs the `%` operation.

### `impl Rem<u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u64) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'b u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u64) -> BigUint`[src]

Performs the `%` operation.

### `impl Rem<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: BigUint) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u32) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u32) -> BigUint`[src]

Performs the `%` operation.

### `impl Rem<u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u8) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &BigUint) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: BigUint) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'b u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u32) -> BigUint`[src]

Performs the `%` operation.

### `impl Rem<u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u16) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: usize) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &u64) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &BigUint) -> BigUint`[src]

Performs the `%` operation.

### `impl<'a> Rem<u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u16) -> BigUint`[src]

Performs the `%` operation.

### `impl Rem<usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: usize) -> BigUint`[src]

Performs the `%` operation.

### `impl Rem<u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: u32) -> BigUint`[src]

Performs the `%` operation.

### `impl BitAndAssign<BigUint> for BigUint`[src]

#### `fn bitand_assign(&mut self, other: BigUint)`[src]

Performs the `&=` operation.

### `impl<'a> BitAndAssign<&'a BigUint> for BigUint`[src]

#### `fn bitand_assign(&mut self, other: &BigUint)`[src]

Performs the `&=` operation.

### `impl FromPrimitive for BigUint`[src]

#### `fn from_i64(n: i64) -> Option<BigUint>`[src]

Convert an `i64` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_u64(n: u64) -> Option<BigUint>`[src]

Convert an `u64` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_f64(n: f64) -> Option<BigUint>`[src]

Convert a `f64` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_isize(n: isize) -> Option<Self>`[src]

Convert an `isize` to return an optional value of this type. If the value cannot be represented by this value, then `None` is returned. Read more

#### `fn from_i8(n: i8) -> Option<Self>`[src]

Convert an `i8` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_i16(n: i16) -> Option<Self>`[src]

Convert an `i16` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_i32(n: i32) -> Option<Self>`[src]

Convert an `i32` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_i128(n: i128) -> Option<Self>`[src]

Convert an `i128` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_usize(n: usize) -> Option<Self>`[src]

Convert a `usize` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_u8(n: u8) -> Option<Self>`[src]

Convert an `u8` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_u16(n: u16) -> Option<Self>`[src]

Convert an `u16` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_u32(n: u32) -> Option<Self>`[src]

Convert an `u32` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_u128(n: u128) -> Option<Self>`[src]

Convert an `u128` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

#### `fn from_f32(n: f32) -> Option<Self>`[src]

Convert a `f32` to return an optional value of this type. If the type cannot be represented by this value, then `None` is returned. Read more

### `impl RemAssign<u32> for BigUint`[src]

#### `fn rem_assign(&mut self, other: u32)`[src]

Performs the `%=` operation.

### `impl RemAssign<u16> for BigUint`[src]

#### `fn rem_assign(&mut self, other: u16)`[src]

Performs the `%=` operation.

### `impl<'a> RemAssign<&'a BigUint> for BigUint`[src]

#### `fn rem_assign(&mut self, other: &BigUint)`[src]

Performs the `%=` operation.

### `impl RemAssign<usize> for BigUint`[src]

#### `fn rem_assign(&mut self, other: usize)`[src]

Performs the `%=` operation.

### `impl RemAssign<u8> for BigUint`[src]

#### `fn rem_assign(&mut self, other: u8)`[src]

Performs the `%=` operation.

### `impl RemAssign<u64> for BigUint`[src]

#### `fn rem_assign(&mut self, other: u64)`[src]

Performs the `%=` operation.

### `impl RemAssign<BigUint> for BigUint`[src]

#### `fn rem_assign(&mut self, other: BigUint)`[src]

Performs the `%=` operation.

### `impl ShrAssign<usize> for BigUint`[src]

#### `fn shr_assign(&mut self, rhs: usize)`[src]

Performs the `>>=` operation.

### `impl<'a, 'b> Add<&'b usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &usize) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u32) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &BigUint) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<&'a u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u64) -> BigUint`[src]

Performs the `+` operation.

### `impl Add<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: BigUint) -> BigUint`[src]

Performs the `+` operation.

### `impl Add<u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u8) -> BigUint`[src]

Performs the `+` operation.

### `impl Add<usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: usize) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<&'a u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u8) -> BigUint`[src]

Performs the `+` operation.

### `impl Add<u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u16) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &BigUint) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: usize) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<&'a u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u32) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u8) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'b u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u64) -> BigUint`[src]

Performs the `+` operation.

### `impl Add<u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u64) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'b u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u32) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: BigUint) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u16) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u64) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'b u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u16) -> BigUint`[src]

Performs the `+` operation.

### `impl Add<u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: u32) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<&'a usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &usize) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a> Add<&'a u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u16) -> BigUint`[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'b u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &u8) -> BigUint`[src]

Performs the `+` operation.

### `impl PartialEq<BigUint> for BigUint`[src]

#### `fn eq(&self, other: &BigUint) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `#[must_use] fn ne(&self, other: &Rhs) -> bool` 1.0.0[src]

This method tests for `!=`.

### `impl ToPrimitive for BigUint`[src]

#### `fn to_i64(&self) -> Option<i64>`[src]

Converts the value of `self` to an `i64`.

#### `fn to_u64(&self) -> Option<u64>`[src]

Converts the value of `self` to an `u64`.

#### `fn to_f32(&self) -> Option<f32>`[src]

Converts the value of `self` to an `f32`.

#### `fn to_f64(&self) -> Option<f64>`[src]

Converts the value of `self` to an `f64`.

#### `fn to_isize(&self) -> Option<isize>`[src]

Converts the value of `self` to an `isize`.

#### `fn to_i8(&self) -> Option<i8>`[src]

Converts the value of `self` to an `i8`.

#### `fn to_i16(&self) -> Option<i16>`[src]

Converts the value of `self` to an `i16`.

#### `fn to_i32(&self) -> Option<i32>`[src]

Converts the value of `self` to an `i32`.

#### `fn to_i128(&self) -> Option<i128>`[src]

Converts the value of `self` to an `i128`. Read more

#### `fn to_usize(&self) -> Option<usize>`[src]

Converts the value of `self` to a `usize`.

#### `fn to_u8(&self) -> Option<u8>`[src]

Converts the value of `self` to an `u8`.

#### `fn to_u16(&self) -> Option<u16>`[src]

Converts the value of `self` to an `u16`.

#### `fn to_u32(&self) -> Option<u32>`[src]

Converts the value of `self` to an `u32`.

#### `fn to_u128(&self) -> Option<u128>`[src]

Converts the value of `self` to an `u128`. Read more

### `impl Debug for BigUint`[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl Unsigned for BigUint`[src]

### `impl<'a> Sub<&'a u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u64) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u32) -> BigUint`[src]

Performs the `-` operation.

### `impl Sub<u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u32) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &BigUint) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'b u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u64) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &usize) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: BigUint) -> BigUint`[src]

Performs the `-` operation.

### `impl Sub<u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u8) -> BigUint`[src]

Performs the `-` operation.

### `impl Sub<u64> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u64) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'b u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u8) -> BigUint`[src]

Performs the `-` operation.

### `impl Sub<u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u16) -> BigUint`[src]

Performs the `-` operation.

### `impl Sub<usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: usize) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<u8> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u8) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: usize) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a u8> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u8) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'b u32> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u32) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<u64> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u64) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'b u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u16) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a u16> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u16) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &BigUint) -> BigUint`[src]

Performs the `-` operation.

### `impl Sub<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: BigUint) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a u32> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &u32) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a> Sub<u16> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: u16) -> BigUint`[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'b usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &usize) -> BigUint`[src]

Performs the `-` operation.

### `impl Binary for BigUint`[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter.

### `impl Decodable for BigUint`[src]

#### `fn decode<__D>(d: &mut __D) -> Result<BigUint, <__D as Decoder>::Error> where
__D: Decoder,` [src]

Deserialize a value using a `Decoder`.

### `impl CheckedAdd for BigUint`[src]

#### `fn checked_add(&self, v: &BigUint) -> Option<BigUint>`[src]

Adds two numbers, checking for overflow. If overflow happens, `None` is returned. Read more

### `impl PartialOrd<BigUint> for BigUint`[src]

#### `fn partial_cmp(&self, other: &BigUint) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `#[must_use] fn lt(&self, other: &Rhs) -> bool` 1.0.0[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `#[must_use] fn le(&self, other: &Rhs) -> bool` 1.0.0[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `#[must_use] fn gt(&self, other: &Rhs) -> bool` 1.0.0[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

#### `#[must_use] fn ge(&self, other: &Rhs) -> bool` 1.0.0[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

### `impl AddAssign<u64> for BigUint`[src]

#### `fn add_assign(&mut self, other: u64)`[src]

Performs the `+=` operation.

### `impl AddAssign<u8> for BigUint`[src]

#### `fn add_assign(&mut self, other: u8)`[src]

Performs the `+=` operation.

### `impl AddAssign<BigUint> for BigUint`[src]

#### `fn add_assign(&mut self, other: BigUint)`[src]

Performs the `+=` operation.

### `impl AddAssign<u32> for BigUint`[src]

#### `fn add_assign(&mut self, other: u32)`[src]

Performs the `+=` operation.

### `impl AddAssign<u16> for BigUint`[src]

#### `fn add_assign(&mut self, other: u16)`[src]

Performs the `+=` operation.

### `impl AddAssign<usize> for BigUint`[src]

#### `fn add_assign(&mut self, other: usize)`[src]

Performs the `+=` operation.

### `impl<'a> AddAssign<&'a BigUint> for BigUint`[src]

#### `fn add_assign(&mut self, other: &BigUint)`[src]

Performs the `+=` operation.

### `impl Hash for BigUint`[src]

#### `fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl Default for BigUint`[src]

#### `fn default() -> BigUint`[src]

Returns the "default value" for a type. Read more

### `impl Ord for BigUint`[src]

#### `fn cmp(&self, other: &BigUint) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self` 1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self` 1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp`)

Restrict a value to a certain interval. Read more

### `impl From<usize> for BigUint`[src]

#### `fn from(n: usize) -> BigUint`[src]

Performs the conversion.

### `impl From<u32> for BigUint`[src]

#### `fn from(n: u32) -> BigUint`[src]

Performs the conversion.

### `impl From<BigUint> for BigInt`[src]

#### `fn from(n: BigUint) -> BigInt`[src]

Performs the conversion.

### `impl From<u64> for BigUint`[src]

#### `fn from(n: u64) -> BigUint`[src]

Performs the conversion.

### `impl From<u16> for BigUint`[src]

#### `fn from(n: u16) -> BigUint`[src]

Performs the conversion.

### `impl From<u8> for BigUint`[src]

#### `fn from(n: u8) -> BigUint`[src]

Performs the conversion.

### `impl ShlAssign<usize> for BigUint`[src]

#### `fn shl_assign(&mut self, rhs: usize)`[src]

Performs the `<<=` operation.

### `impl ToBigUint for BigUint`[src]

#### `fn to_biguint(&self) -> Option<BigUint>`[src]

Converts the value of `self` to a `BigUint`.

### `impl Neg for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn neg(self) -> BigUint`[src]

Performs the unary `-` operation.

### `impl<'a> Neg for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `-` operator.

#### `fn neg(self) -> BigUint`[src]

Performs the unary `-` operation.

### `impl<'a> MulAssign<&'a BigUint> for BigUint`[src]

#### `fn mul_assign(&mut self, other: &'a BigUint)`[src]

Performs the `*=` operation.

### `impl MulAssign<u32> for BigUint`[src]

#### `fn mul_assign(&mut self, other: u32)`[src]

Performs the `*=` operation.

### `impl MulAssign<u64> for BigUint`[src]

#### `fn mul_assign(&mut self, other: u64)`[src]

Performs the `*=` operation.

### `impl MulAssign<usize> for BigUint`[src]

#### `fn mul_assign(&mut self, other: usize)`[src]

Performs the `*=` operation.

### `impl MulAssign<u8> for BigUint`[src]

#### `fn mul_assign(&mut self, other: u8)`[src]

Performs the `*=` operation.

### `impl MulAssign<u16> for BigUint`[src]

#### `fn mul_assign(&mut self, other: u16)`[src]

Performs the `*=` operation.

### `impl MulAssign<BigUint> for BigUint`[src]

#### `fn mul_assign(&mut self, other: BigUint)`[src]

Performs the `*=` operation.

### `impl Octal for BigUint`[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter.

### `impl DivAssign<u8> for BigUint`[src]

#### `fn div_assign(&mut self, other: u8)`[src]

Performs the `/=` operation.

### `impl DivAssign<u16> for BigUint`[src]

#### `fn div_assign(&mut self, other: u16)`[src]

Performs the `/=` operation.

### `impl DivAssign<u64> for BigUint`[src]

#### `fn div_assign(&mut self, other: u64)`[src]

Performs the `/=` operation.

### `impl DivAssign<u32> for BigUint`[src]

#### `fn div_assign(&mut self, other: u32)`[src]

Performs the `/=` operation.

### `impl DivAssign<BigUint> for BigUint`[src]

#### `fn div_assign(&mut self, other: BigUint)`[src]

Performs the `/=` operation.

### `impl DivAssign<usize> for BigUint`[src]

#### `fn div_assign(&mut self, other: usize)`[src]

Performs the `/=` operation.

### `impl<'a> DivAssign<&'a BigUint> for BigUint`[src]

#### `fn div_assign(&mut self, other: &'a BigUint)`[src]

Performs the `/=` operation.

### `impl Integer for BigUint`[src]

#### `fn div_rem(&self, other: &BigUint) -> (BigUint, BigUint)`[src]

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

#### `fn div_floor(&self, other: &BigUint) -> BigUint`[src]

Floored integer division. Read more

#### `fn mod_floor(&self, other: &BigUint) -> BigUint`[src]

Floored integer modulo, satisfying: Read more

#### `fn div_mod_floor(&self, other: &BigUint) -> (BigUint, BigUint)`[src]

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

#### `fn gcd(&self, other: &BigUint) -> BigUint`[src]

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

The result is always positive.

#### `fn lcm(&self, other: &BigUint) -> BigUint`[src]

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

#### `fn divides(&self, other: &BigUint) -> bool`[src]

Deprecated, use `is_multiple_of` instead.

#### `fn is_multiple_of(&self, other: &BigUint) -> bool`[src]

Returns `true` if the number is a multiple of `other`.

#### `fn is_even(&self) -> bool`[src]

Returns `true` if the number is divisible by `2`.

#### `fn is_odd(&self) -> bool`[src]

Returns `true` if the number is not divisible by `2`.

#### `fn div_ceil(&self, other: &Self) -> Self`[src]

Ceiled integer division. Read more

#### `fn gcd_lcm(&self, other: &Self) -> (Self, Self)`[src]

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

#### `fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self> where
Self: Clone,` [src]

Greatest common divisor and Bézout coefficients. Read more

#### `fn extended_gcd_lcm(&self, other: &Self) -> (ExtendedGcd<Self>, Self) where
Self: Clone + Signed,` [src]

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

#### `fn next_multiple_of(&self, other: &Self) -> Self where
Self: Clone,` [src]

Rounds up to nearest multiple of argument. Read more

#### `fn prev_multiple_of(&self, other: &Self) -> Self where
Self: Clone,` [src]

Rounds down to nearest multiple of argument. Read more

### `impl<'a> BitAnd<&'a BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `&` operator.

#### `fn bitand(self, other: &BigUint) -> BigUint`[src]

Performs the `&` operation.

### `impl BitAnd<BigUint> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `&` operator.

#### `fn bitand(self, other: BigUint) -> BigUint`[src]

Performs the `&` operation.

### `impl<'a> BitAnd<BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `&` operator.

#### `fn bitand(self, other: BigUint) -> BigUint`[src]

Performs the `&` operation.

### `impl<'a, 'b> BitAnd<&'b BigUint> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `&` operator.

#### `fn bitand(self, other: &BigUint) -> BigUint`[src]

Performs the `&` operation.

### `impl Shr<usize> for BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `>>` operator.

#### `fn shr(self, rhs: usize) -> BigUint`[src]

Performs the `>>` operation.

### `impl<'a> Shr<usize> for &'a BigUint`[src]

#### `type Output = BigUint`

The resulting type after applying the `>>` operator.

#### `fn shr(self, rhs: usize) -> BigUint`[src]

Performs the `>>` operation.

### `impl Num for BigUint`[src]

#### `type FromStrRadixErr = ParseBigIntError`

#### `fn from_str_radix(s: &str, radix: u32) -> Result<BigUint, ParseBigIntError>`[src]

Creates and initializes a `BigUint`.

### `impl CheckedMul for BigUint`[src]

#### `fn checked_mul(&self, v: &BigUint) -> Option<BigUint>`[src]

Multiplies two numbers, checking for underflow or overflow. If underflow or overflow happens, `None` is returned. Read more

### `impl ToBigInt for BigUint`[src]

#### `fn to_bigint(&self) -> Option<BigInt>`[src]

Converts the value of `self` to a `BigInt`.

### `impl FromStr for BigUint`[src]

#### `type Err = ParseBigIntError`

The associated error which can be returned from parsing.

#### `fn from_str(s: &str) -> Result<BigUint, ParseBigIntError>`[src]

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

### `impl Zero for BigUint`[src]

#### `fn zero() -> BigUint`[src]

Returns the additive identity element of `Self`, `0`. # Purity Read more

#### `fn is_zero(&self) -> bool`[src]

Returns `true` if `self` is equal to the additive identity.

#### `fn set_zero(&mut self)`[src]

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

### `impl Clone for BigUint`[src]

#### `fn clone(&self) -> BigUint`[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`1.0.0[src]

Performs copy-assignment from `source`. Read more

### `impl BitXorAssign<BigUint> for BigUint`[src]

#### `fn bitxor_assign(&mut self, other: BigUint)`[src]

Performs the `^=` operation.

### `impl<'a> BitXorAssign<&'a BigUint> for BigUint`[src]

#### `fn bitxor_assign(&mut self, other: &BigUint)`[src]

Performs the `^=` operation.

## Auto Trait Implementations

### `impl Send for BigUint`

### `impl Unpin for BigUint`

### `impl Sync for BigUint`

### `impl UnwindSafe for BigUint`

### `impl RefUnwindSafe for BigUint`

## Blanket Implementations

### `impl<T> ToOwned for T where
T: Clone,` [src]

#### `type Owned = T`

The resulting type after obtaining ownership.

#### `fn to_owned(&self) -> T`[src]

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

#### `fn clone_into(&self, target: &mut T)`[src]

🔬 This is a nightly-only experimental API. (`toowned_clone_into`)

recently added

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

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `fn into(self) -> U`[src]

Performs the conversion.

### `impl<T> From<T> for T`[src]

#### `fn from(t: T) -> T`[src]

Performs the conversion.

### `impl<T> ToString for T where
T: Display + ?Sized,` [src]

#### `default fn to_string(&self) -> String`[src]

Converts the given value to a `String`. Read more

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`[src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

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

The type returned in the event of a conversion error.

#### `fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`[src]

Performs the conversion.

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `fn borrow_mut(&mut self) -> &mut T`[src]

Mutably borrows from an owned value. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `fn borrow(&self) -> &T`[src]

Immutably borrows from an owned value. Read more

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `fn type_id(&self) -> TypeId`[src]

Gets the `TypeId` of `self`. Read more

### `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>,` [src]

### `impl<T> NumRef for T where
T: Num + NumOps<&'r T, T>,` [src]

### `impl<T, Base> RefNum<Base> for T where
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,` [src]

### `impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,` [src]

### `impl<T> NumAssign for T where
T: Num + NumAssignOps<T>,` [src]

### `impl<T> NumAssignRef for T where
T: NumAssign + NumAssignOps<&'r T>,` [src]

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g., `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g., `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g., `str,u8` or `String,struct:Vec,test`)