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

    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]

#### `fn new(digits: Vec<BigDigit>) -> BigUint`

Creates and initializes a `BigUint`.

The digits are in little-endian base 232.

#### `fn from_slice(slice: &[BigDigit]) -> BigUint`

Creates and initializes a `BigUint`.

The digits are in little-endian base 232.

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

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());Run

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

Creates and initializes a `BigUint`.

The bytes are in little-endian byte order.

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

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

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

#### `fn to_bytes_be(&self) -> Vec<u8>`

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]);Run

#### `fn to_bytes_le(&self) -> Vec<u8>`

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]);Run

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

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

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

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

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

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

#### `fn bits(&self) -> usize`

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

## Trait Implementations

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

#### `fn clone(&self) -> BigUint`

Returns a copy of the value. Read more

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

Performs copy-assignment from `source`. Read more

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

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`

Formats the value using the given formatter.

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

#### `fn hash<__H: Hasher>(&self, __arg_0: &mut __H)`

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

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

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

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

#### `fn encode<__S: Encoder>(&self, __arg_0: &mut __S) -> Result<(), __S::Error>`

Serialize a value using an `Encoder`.

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

#### `fn decode<__D: Decoder>(__arg_0: &mut __D) -> Result<BigUint, __D::Error>`

Deserialize a value using a `Decoder`.

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

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

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

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

This method tests for `!=`.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### `fn default() -> BigUint`

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

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`

Formats the value using the given formatter. Read more

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`

Formats the value using the given formatter.

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`

Formats the value using the given formatter.

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`

Formats the value using the given formatter.

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

#### `fn fmt(&self, f: &mut Formatter) -> Result`

Formats the value using the given formatter.

### `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>`

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

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

#### `type FromStrRadixErr = ParseBigIntError`

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

Creates and initializes a `BigUint`.

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

#### `type Output = BigUint`

The resulting type after applying the `&` operator

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

The method for the `&` operator

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

#### `type Output = BigUint`

The resulting type after applying the `&` operator

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

The method for the `&` operator

### `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`

The method for the `&` operator

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

#### `type Output = BigUint`

The resulting type after applying the `&` operator

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

The method for the `&` operator

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

#### `type Output = BigUint`

The resulting type after applying the `|` operator

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

The method for the `|` operator

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

#### `type Output = BigUint`

The resulting type after applying the `|` operator

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

The method for the `|` operator

### `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`

The method for the `|` operator

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

#### `type Output = BigUint`

The resulting type after applying the `|` operator

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

The method for the `|` operator

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

#### `type Output = BigUint`

The resulting type after applying the `^` operator

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

The method for the `^` operator

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

#### `type Output = BigUint`

The resulting type after applying the `^` operator

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

The method for the `^` operator

### `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`

The method for the `^` operator

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

#### `type Output = BigUint`

The resulting type after applying the `^` operator

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

The method for the `^` operator

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

#### `type Output = BigUint`

The resulting type after applying the `<<` operator

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

The method for the `<<` operator

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

#### `type Output = BigUint`

The resulting type after applying the `<<` operator

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

The method for the `<<` operator

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

#### `type Output = BigUint`

The resulting type after applying the `>>` operator

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

The method for the `>>` operator

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

#### `type Output = BigUint`

The resulting type after applying the `>>` operator

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

The method for the `>>` operator

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

#### `fn zero() -> BigUint`

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

#### `fn is_zero(&self) -> bool`

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

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

#### `fn one() -> BigUint`

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

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

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

### `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`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

### `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`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

### `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`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

### `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`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

#### `fn add(self, other: BigDigit) -> BigUint`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

#### `fn add(self, other: DoubleBigDigit) -> BigUint`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

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

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

#### `fn add(self, other: BigDigit) -> BigUint`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `+` operator

#### `fn add(self, other: DoubleBigDigit) -> BigUint`

The method for the `+` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

### `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`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

### `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`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

### `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`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

### `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`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

#### `fn sub(self, other: BigDigit) -> BigUint`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

#### `fn sub(self, other: DoubleBigDigit) -> BigUint`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

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

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

#### `fn sub(self, other: BigDigit) -> BigUint`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

#### `fn sub(self, other: DoubleBigDigit) -> BigUint`

The method for the `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

### `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`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

### `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`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

### `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`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

### `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`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

#### `fn mul(self, other: BigDigit) -> BigUint`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

#### `fn mul(self, other: DoubleBigDigit) -> BigUint`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

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

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

#### `fn mul(self, other: BigDigit) -> BigUint`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `*` operator

#### `fn mul(self, other: DoubleBigDigit) -> BigUint`

The method for the `*` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

### `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`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

### `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`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

### `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`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

### `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`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

#### `fn div(self, other: BigDigit) -> BigUint`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

#### `fn div(self, other: DoubleBigDigit) -> BigUint`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

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

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

#### `fn div(self, other: BigDigit) -> BigUint`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `/` operator

#### `fn div(self, other: DoubleBigDigit) -> BigUint`

The method for the `/` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

### `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`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

### `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`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

### `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`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

### `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`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

#### `fn rem(self, other: BigDigit) -> BigUint`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

#### `fn rem(self, other: DoubleBigDigit) -> BigUint`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

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

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

#### `fn rem(self, other: BigDigit) -> BigUint`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `%` operator

#### `fn rem(self, other: DoubleBigDigit) -> BigUint`

The method for the `%` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

#### `fn neg(self) -> BigUint`

The method for the unary `-` operator

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

#### `type Output = BigUint`

The resulting type after applying the `-` operator

#### `fn neg(self) -> BigUint`

The method for the unary `-` operator

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

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

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

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

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

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

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

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

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

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

#### `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. Read more

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

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

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

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

Floored integer division. Read more

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

Floored integer modulo, satisfying: Read more

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

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

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

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

The result is always positive.

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

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

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

Deprecated, use `is_multiple_of` instead.

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

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

#### `fn is_even(&self) -> bool`

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

#### `fn is_odd(&self) -> bool`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#### `fn from(n: u64) -> Self`

Performs the conversion.

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

#### `fn from(n: u8) -> Self`

Performs the conversion.

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

#### `fn from(n: u16) -> Self`

Performs the conversion.

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

#### `fn from(n: u32) -> Self`

Performs the conversion.

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

#### `fn from(n: usize) -> Self`

Performs the conversion.

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

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

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

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

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

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

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand 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`)