[][src]Struct extprim::u128::u128

#[repr(C)]pub struct u128 { /* fields omitted */ }

An unsigned 128-bit number.

Implementations

impl u128[src]

pub const fn new(lo: u64) -> u128[src]

Constructs a new 128-bit integer from a 64-bit integer.

pub const fn from_built_in(value: u128) -> u128[src]

Constructs a new 128-bit integer from the built-in 128-bit integer.

pub const fn from_parts(hi: u64, lo: u64) -> u128[src]

Constructs a new 128-bit integer from the high-64-bit and low-64-bit parts.

The new integer can be considered as hi * 2**64 + lo.

Examples

use extprim::u128::u128;

let number = u128::from_parts(6692605942, 14083847773837265618);
assert_eq!(format!("{}", number), "123456789012345678901234567890");

pub fn low64(self) -> u64[src]

Fetches the lower-64-bit of the number.

Examples

use extprim::u128::u128;

let number = u128::from_str_radix("ffd1390a0adc2fb8dabbb8174d95c99b", 16).unwrap();
assert_eq!(number.low64(), 0xdabbb8174d95c99b);

pub fn high64(self) -> u64[src]

Fetch the higher-64-bit of the number.

Examples

use extprim::u128::u128;

let number = u128::from_str_radix("ffd1390a0adc2fb8dabbb8174d95c99b", 16).unwrap();
assert_eq!(number.high64(), 0xffd1390a0adc2fb8);

pub fn as_i128(self) -> i128[src]

Converts this number to signed with wrapping.

Examples

use extprim::u128::u128;
use extprim::i128::i128;

let a = u128::from_str_radix( "ffd1390a0adc2fb8dabbb8174d95c99b", 16).unwrap();
let b = i128::from_str_radix("-002ec6f5f523d047254447e8b26a3665", 16).unwrap();
assert_eq!(a.as_i128(), b);
assert_eq!(b.as_u128(), a);

pub fn as_built_in(self) -> u128[src]

Converts this number to the built-in 128-bit integer type.

impl u128[src]

pub fn wrapping_add(self, other: u128) -> u128[src]

Wrapping (modular) addition. Computes self + other, wrapping around at the boundary of the type.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(5).wrapping_add(u128::new(6)), u128::new(11));
assert_eq!(u128::max_value().wrapping_add(u128::one()), u128::zero());

pub fn wrapping_sub(self, other: u128) -> u128[src]

Wrapping (modular) subtraction. Computes self - other, wrapping around at the boundary of the type.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).wrapping_sub(u128::new(5)), u128::one());
assert_eq!(u128::new(5).wrapping_sub(u128::new(6)), u128::max_value());

pub fn overflowing_add(self, other: u128) -> (u128, bool)[src]

Calculates self + other.

Returns a tuple of the addition along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).overflowing_add(u128::new(13)), (u128::new(19), false));
assert_eq!(u128::max_value().overflowing_add(u128::one()), (u128::zero(), true));

pub fn overflowing_sub(self, other: u128) -> (u128, bool)[src]

Calculates self - other.

Returns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).overflowing_sub(u128::new(5)), (u128::one(), false));
assert_eq!(u128::new(5).overflowing_sub(u128::new(6)), (u128::max_value(), true));

pub fn saturating_add(self, other: u128) -> u128[src]

Saturating integer addition. Computes self + other, saturating at the numeric bounds instead of overflowing.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(13).saturating_add(u128::new(7)), u128::new(20));

let huge_num = u128::from_str_radix("ccccccccbbbbbbbbaaaaaaaa99999999", 16).unwrap();
let also_big = u128::from_str_radix("5566778899aabbccddeeff0011223344", 16).unwrap();
assert_eq!(huge_num.saturating_add(also_big), u128::max_value());

pub fn saturating_sub(self, other: u128) -> u128[src]

Saturating integer subtraction. Computes self - other, saturating at the numeric bounds instead of overflowing.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(91).saturating_sub(u128::new(13)), u128::new(78));
assert_eq!(u128::new(13).saturating_sub(u128::new(91)), u128::zero());

pub fn wrapping_neg(self) -> u128[src]

Wrapping (modular) negation. Computes -self, wrapping around at the boundary of the type.

Since unsigned types do not have negative equivalents all applications of this function will wrap (except for -0). For values smaller than the corresponding signed type's maximum the result is the same as casting the corresponding signed value. Any larger values are equivalent to MAX + 1 - (val - MAX - 1).

Examples

use extprim::u128::u128;

assert_eq!(u128::zero().wrapping_neg(), u128::zero());
assert_eq!(u128::one().wrapping_neg(), u128::max_value());
assert_eq!(u128::max_value().wrapping_neg(), u128::one());

impl u128[src]

pub fn checked_add(self, other: u128) -> Option<u128>[src]

Checked integer addition. Computes self + other, returning None if overflow occurred.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(5).checked_add(u128::new(8)), Some(u128::new(13)));
assert_eq!(u128::max_value().checked_add(u128::max_value()), None);

impl u128[src]

pub fn checked_sub(self, other: u128) -> Option<u128>[src]

Checked integer subtraction. Computes self - other, returning None if underflow occurred.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(8).checked_sub(u128::new(5)), Some(u128::new(3)));
assert_eq!(u128::new(5).checked_sub(u128::new(8)), None);

impl u128[src]

pub fn wrapping_shl(self, shift: u32) -> u128[src]

Panic-free bitwise shift-left; yields self << (shift % 128).

Examples

use extprim::u128::u128;

assert_eq!(u128::new(7).wrapping_shl(66), u128::from_parts(28, 0));
assert_eq!(u128::new(7).wrapping_shl(128), u128::new(7));
assert_eq!(u128::new(7).wrapping_shl(129), u128::new(14));

pub fn wrapping_shr(self, shift: u32) -> u128[src]

Panic-free bitwsie shift-right; yields self >> (shift % 128).

Examples

use extprim::u128::u128;

assert_eq!(u128::max_value().wrapping_shr(66), u128::new(0x3fffffffffffffff));
assert_eq!(u128::new(7).wrapping_shr(128), u128::new(7));
assert_eq!(u128::new(7).wrapping_shr(129), u128::new(3));

pub fn overflowing_shl(self, other: u32) -> (u128, bool)[src]

Shifts self left by other bits.

Returns a tuple of the shifted version of self along with a boolean indicating whether the shift value was larger than or equal to the number of bits (128). If the shift value is too large, then value is masked by 0x7f, and this value is then used to perform the shift.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(7).overflowing_shl(66), (u128::from_parts(28, 0), false));
assert_eq!(u128::new(7).overflowing_shl(128), (u128::new(7), true));
assert_eq!(u128::new(7).overflowing_shl(129), (u128::new(14), true));

pub fn overflowing_shr(self, other: u32) -> (u128, bool)[src]

Shifts self right by other bits.

Returns a tuple of the shifted version of self along with a boolean indicating whether the shift value was larger than or equal to the number of bits (128). If the shift value is too large, then value is masked by 0x7f, and this value is then used to perform the shift.

Examples

use extprim::u128::u128;

assert_eq!(u128::max_value().overflowing_shr(66), (u128::new(0x3fffffffffffffff), false));
assert_eq!(u128::new(7).overflowing_shr(128), (u128::new(7), true));
assert_eq!(u128::new(7).overflowing_shr(129), (u128::new(3), true));

impl u128[src]

pub fn checked_shl(self, other: u32) -> Option<u128>[src]

Checked shift left. Computes self << other, returning None if the shift is larger than or equal to the number of bits in self (128).

Examples

use extprim::u128::u128;

assert_eq!(u128::new(7).checked_shl(66), Some(u128::from_parts(28, 0)));
assert_eq!(u128::new(7).checked_shl(128), None);
assert_eq!(u128::new(7).checked_shl(129), None);

impl u128[src]

pub fn checked_shr(self, other: u32) -> Option<u128>[src]

Checked shift right. Computes self >> other, returning None if the shift is larger than or equal to the number of bits in self (128).

Examples

use extprim::u128::u128;

assert_eq!(u128::max_value().checked_shr(66), Some(u128::new(0x3fffffffffffffff)));
assert_eq!(u128::new(7).checked_shr(128), None);
assert_eq!(u128::new(7).checked_shr(129), None);

impl u128[src]

pub fn wrapping_mul(self, other: u128) -> u128[src]

Wrapping (modular) multiplication. Computes self * other, wrapping around at the boundary of the type.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).wrapping_mul(u128::new(9)), u128::new(54));

let a = u128::max_value() - u128::new(2);
let b = u128::max_value() - u128::new(4);
assert_eq!(a.wrapping_mul(b), u128::new(15));

pub fn overflowing_mul(self, other: u128) -> (u128, bool)[src]

Calculates the multiplication of self and other.

Returns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).overflowing_mul(u128::new(9)), (u128::new(54), false));

let a = u128::max_value() - u128::new(2);
let b = u128::max_value() - u128::new(4);
assert_eq!(a.overflowing_mul(b), (u128::new(15), true));

pub fn saturating_mul(self, other: u128) -> u128[src]

Saturating integer multiplication. Computes self * other, saturating at the numeric bounds instead of overflowing.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).saturating_mul(u128::new(9)), u128::new(54));

let a = u128::max_value() - u128::new(2);
let b = u128::max_value() - u128::new(4);
assert_eq!(a.saturating_mul(b), u128::max_value());

pub fn wrapping_mul_64(self, other: u64) -> u128[src]

Wrapping (modular) multiplication with a 64-bit number. Computes self * other, wrapping around at the boundary of the type.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).wrapping_mul_64(9), u128::new(54));

let a = u128::max_value() - u128::new(2);
assert_eq!(a.wrapping_mul_64(7), u128::max_value() - u128::new(20));

pub fn overflowing_mul_64(self, other: u64) -> (u128, bool)[src]

Calculates the multiplication of self and other with a 64-bit number.

Returns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).overflowing_mul_64(9), (u128::new(54), false));

let a = u128::max_value() - u128::new(2);
assert_eq!(a.overflowing_mul_64(7), (u128::max_value() - u128::new(20), true));

pub fn saturating_mul_64(self, other: u64) -> u128[src]

Saturating integer multiplication with a 64-bit number. Computes self * other, saturating at the numeric bounds instead of overflowing.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).saturating_mul_64(9), u128::new(54));

let a = u128::max_value() - u128::new(2);
assert_eq!(a.saturating_mul_64(7), u128::max_value());

impl u128[src]

pub fn checked_mul(self, other: u128) -> Option<u128>[src]

Checked integer multiplication. Computes self * other, returning None if underflow or overflow occurred.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).checked_mul(u128::new(9)), Some(u128::new(54)));

let a = u128::max_value() - u128::new(2);
let b = u128::max_value() - u128::new(4);
assert_eq!(a.checked_mul(b), None);

impl u128[src]

pub fn checked_mul_64(self, other: u64) -> Option<u128>[src]

Checked integer multiplication with a 64-bit number. Computes self * other, returning None if underflow or overflow occurred.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(6).checked_mul_64(9), Some(u128::new(54)));

let a = u128::max_value() - u128::new(2);
assert_eq!(a.checked_mul_64(7), None);

impl u128[src]

pub fn wrapping_div(self, other: u128) -> u128[src]

Wrapping (modular) division. Computes self / other. Wrapped division on unsigned types is just normal division. There's no way wrapping could ever happen. This function exists, so that all operations are accounted for in the wrapping operations.

Panics

This function will panic if other is 0.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(100).wrapping_div(u128::new(8)), u128::new(12));

pub fn wrapping_rem(self, other: u128) -> u128[src]

Wrapping (modular) remainder. Computes self % other. Wrapped remainder calculation on unsigned types is just the regular remainder calculation. There's no way wrapping could ever happen. This function exists, so that all operations are accounted for in the wrapping operations.

Panics

This function will panic if other is 0.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(100).wrapping_rem(u128::new(8)), u128::new(4));

pub fn overflowing_div(self, other: u128) -> (u128, bool)[src]

Calculates the divisor when self is divided by other.

Returns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would occur. Note that for unsigned integers overflow never occurs, so the second value is always false.

Panics

This function will panic if other is 0.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(100).overflowing_div(u128::new(8)), (u128::new(12), false));

pub fn overflowing_rem(self, other: u128) -> (u128, bool)[src]

Calculates the remainder when self is divided by other.

Returns a tuple of the remainder along with a boolean indicating whether an arithmetic overflow would occur. Note that for unsigned integers overflow never occurs, so the second value is always false.

Panics

This function will panic if other is 0.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(100).overflowing_rem(u128::new(8)), (u128::new(4), false));

pub fn checked_div(self, other: u128) -> Option<u128>[src]

Checked integer division. Computes self / other, returning None if other == 0.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(100).checked_div(u128::new(8)), Some(u128::new(12)));
assert_eq!(u128::new(100).checked_div(u128::zero()), None);

pub fn checked_rem(self, other: u128) -> Option<u128>[src]

Checked integer remainder. Computes self % other, returning None if other == 0.

Examples

use extprim::u128::u128;

assert_eq!(u128::new(100).checked_rem(u128::new(8)), Some(u128::new(4)));
assert_eq!(u128::new(100).checked_rem(u128::zero()), None);

impl u128[src]

pub fn min_value() -> u128[src]

Returns the smallest unsigned 128-bit integer (0).

pub fn max_value() -> u128[src]

Returns the largest unsigned 128-bit integer (340_282_366_920_938_463_463_374_607_431_768_211_455).

pub fn zero() -> u128[src]

Returns the constant 0.

pub fn one() -> u128[src]

Returns the constant 1.

impl u128[src]

pub fn count_ones(self) -> u32[src]

Returns the number of ones in the binary representation of self.

Examples

use extprim::u128::u128;

let n = u128::from_str_radix("6f32f1ef8b18a2bc3cea59789c79d441", 16).unwrap();
assert_eq!(n.count_ones(), 67);

pub fn count_zeros(self) -> u32[src]

Returns the number of zeros in the binary representation of self (including leading zeros).

Examples

use extprim::u128::u128;

let n = u128::from_str_radix("6f32f1ef8b18a2bc3cea59789c79d441", 16).unwrap();
assert_eq!(n.count_zeros(), 61);

pub fn leading_zeros(self) -> u32[src]

Returns the number of leading zeros in the binary representation of self.

Examples

use extprim::u128::u128;

assert_eq!(u128::zero().leading_zeros(), 128);
assert_eq!(u128::one().leading_zeros(), 127);
assert_eq!(u128::max_value().leading_zeros(), 0);
assert_eq!((u128::one() << 24u32).leading_zeros(), 103);
assert_eq!((u128::one() << 124u32).leading_zeros(), 3);

pub fn trailing_zeros(self) -> u32[src]

Returns the number of trailing zeros in the binary representation of self.

Examples

use extprim::u128::u128;

assert_eq!(u128::zero().trailing_zeros(), 128);
assert_eq!(u128::one().trailing_zeros(), 0);
assert_eq!((u128::one() << 24u32).trailing_zeros(), 24);
assert_eq!((u128::one() << 124u32).trailing_zeros(), 124);

pub fn rotate_left(self, shift: u32) -> Self[src]

Shifts the bits to the left by a specified amount, shift, wrapping the truncated bits to the end of the resulting integer.

Examples

use extprim::u128::u128;

let a = u128::from_str_radix("d0cf4b50cfe20765fff4b4e3f741cf6d", 16).unwrap();
let b = u128::from_str_radix("19e96a19fc40ecbffe969c7ee839edba", 16).unwrap();
assert_eq!(a.rotate_left(5), b);

pub fn rotate_right(self, shift: u32) -> Self[src]

Shifts the bits to the right by a specified amount, shift, wrapping the truncated bits to the beginning of the resulting integer.

Examples

use extprim::u128::u128;

let a = u128::from_str_radix("d0cf4b50cfe20765fff4b4e3f741cf6d", 16).unwrap();
let b = u128::from_str_radix("6e867a5a867f103b2fffa5a71fba0e7b", 16).unwrap();
assert_eq!(a.rotate_right(5), b);

pub fn swap_bytes(self) -> Self[src]

Reverses the byte order of the integer.

Examples

use extprim::u128::u128;

let a = u128::from_str_radix("0123456789abcdef1112223334445556", 16).unwrap();
let b = u128::from_str_radix("5655443433221211efcdab8967452301", 16).unwrap();
assert_eq!(a.swap_bytes(), b);

pub fn from_be(x: Self) -> Self[src]

Converts an integer from big endian to the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

pub fn from_le(x: Self) -> Self[src]

Converts an integer from little endian to the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

pub fn to_be(self) -> Self[src]

Converts self to big endian from the target's endianness.

On big endian this is a no-op. On little endian the bytes are swapped.

pub fn to_le(self) -> Self[src]

Converts self to little endian from the target's endianness.

On little endian this is a no-op. On big endian the bytes are swapped.

pub fn pow(self, exp: u32) -> Self[src]

Raises self to the power of exp, using exponentiation by squaring.

Examples

use extprim::u128::u128;
use std::str::FromStr;

assert_eq!(u128::new(5).pow(30), u128::from_str("931322574615478515625").unwrap());

pub fn is_power_of_two(self) -> bool[src]

Returns true if and only if self == 2**k for some k.

Examples

use extprim::u128::u128;

assert!(!u128::new(0).is_power_of_two());
assert!( u128::new(1).is_power_of_two());
assert!( u128::new(2).is_power_of_two());
assert!(!u128::new(3).is_power_of_two());

pub fn next_power_of_two(self) -> Self[src]

Returns the smallest power of two greater than or equal to self. Unspecified behavior on overflow.

Examples

use extprim::u128::u128;

assert_eq!(u128::zero().next_power_of_two(), u128::new(1));
assert_eq!(u128::one().next_power_of_two(), u128::new(1));
assert_eq!(u128::new(384).next_power_of_two(), u128::new(512));
assert_eq!(u128::new(0x80000000_00000001).next_power_of_two(), u128::from_parts(1, 0));
assert_eq!(u128::from_parts(0x80000000_00000000, 0).next_power_of_two(), u128::from_parts(0x80000000_00000000, 0));

pub fn checked_next_power_of_two(self) -> Option<Self>[src]

Returns the smallest power of two greater than or equal to self. If the next power of two is greater than the type's maximum value, None is returned, otherwise the power of two is wrapped in Some.

Examples

use extprim::u128::u128;

assert_eq!(u128::zero().checked_next_power_of_two(), Some(u128::new(1)));
assert_eq!(u128::one().checked_next_power_of_two(), Some(u128::new(1)));
assert_eq!(u128::new(384).checked_next_power_of_two(), Some(u128::new(512)));
assert_eq!(u128::new(0x80000000_00000001).checked_next_power_of_two(), Some(u128::from_parts(1, 0)));
assert_eq!(u128::from_parts(0x80000000_00000000, 0).checked_next_power_of_two(), Some(u128::from_parts(0x80000000_00000000, 0)));
assert_eq!(u128::from_parts(0x80000000_00000000, 1).checked_next_power_of_two(), None);
assert_eq!(u128::max_value().checked_next_power_of_two(), None);

impl u128[src]

pub fn from_str_radix(src: &str, radix: u32) -> Result<u128, ParseIntError>[src]

Converts a string slice in a given base to an integer.

Leading and trailing whitespace represent an error.

Arguments

  • src: A string slice
  • radix: The base to use. Must lie in the range [2 ... 36].

Return value

Err(ParseIntError) if the string did not represent a valid number. Otherwise, Ok(n) where n is the integer represented by src.

Trait Implementations

impl Add<u128> for u128[src]

type Output = Self

The resulting type after applying the + operator.

impl AddAssign<u128> for u128[src]

impl Binary for u128[src]

impl BitAnd<u128> for u128[src]

type Output = Self

The resulting type after applying the & operator.

impl BitAndAssign<u128> for u128[src]

impl BitOr<u128> for u128[src]

type Output = Self

The resulting type after applying the | operator.

impl BitOrAssign<u128> for u128[src]

impl BitXor<u128> for u128[src]

type Output = Self

The resulting type after applying the ^ operator.

impl BitXorAssign<u128> for u128[src]

impl Bounded for u128[src]

impl CheckedAdd for u128[src]

impl CheckedDiv for u128[src]

impl CheckedMul for u128[src]

impl CheckedSub for u128[src]

impl Clone for u128[src]

impl Copy for u128[src]

impl Debug for u128[src]

impl Default for u128[src]

impl<'de> Deserialize<'de> for u128[src]

impl Display for u128[src]

impl Distribution<u128> for Standard[src]

impl Div<u128> for u128[src]

type Output = Self

The resulting type after applying the / operator.

impl DivAssign<u128> for u128[src]

impl Eq for u128[src]

impl From<u128> for u128[src]

impl From<u16> for u128[src]

impl From<u32> for u128[src]

impl From<u64> for u128[src]

impl From<u8> for u128[src]

impl FromPrimitive for u128[src]

impl FromStr for u128[src]

type Err = ParseIntError

The associated error which can be returned from parsing.

impl Hash for u128[src]

impl LowerHex for u128[src]

impl Mul<u128> for u128[src]

type Output = Self

The resulting type after applying the * operator.

impl Mul<u128> for u64[src]

type Output = u128

The resulting type after applying the * operator.

impl Mul<u64> for u128[src]

type Output = Self

The resulting type after applying the * operator.

impl MulAssign<u128> for u128[src]

impl MulAssign<u64> for u128[src]

impl Not for u128[src]

type Output = Self

The resulting type after applying the ! operator.

impl Num for u128[src]

type FromStrRadixErr = ParseIntError

impl NumCast for u128[src]

impl Octal for u128[src]

impl One for u128[src]

impl Ord for u128[src]

impl PartialEq<u128> for u128[src]

impl PartialOrd<u128> for u128[src]

impl PrimInt for u128[src]

impl<'a> Product<&'a u128> for u128[src]

impl Product<u128> for u128[src]

impl Rem<u128> for u128[src]

type Output = Self

The resulting type after applying the % operator.

impl RemAssign<u128> for u128[src]

impl Saturating for u128[src]

impl Serialize for u128[src]

impl Shl<i16> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<i32> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<i64> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<i8> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<isize> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<u16> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<u32> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<u64> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<u8> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl Shl<usize> for u128[src]

type Output = Self

The resulting type after applying the << operator.

impl ShlAssign<i16> for u128[src]

impl ShlAssign<i32> for u128[src]

impl ShlAssign<i64> for u128[src]

impl ShlAssign<i8> for u128[src]

impl ShlAssign<isize> for u128[src]

impl ShlAssign<u16> for u128[src]

impl ShlAssign<u32> for u128[src]

impl ShlAssign<u64> for u128[src]

impl ShlAssign<u8> for u128[src]

impl ShlAssign<usize> for u128[src]

impl Shr<i16> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<i32> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<i64> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<i8> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<isize> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<u16> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<u32> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<u64> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<u8> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl Shr<usize> for u128[src]

type Output = Self

The resulting type after applying the >> operator.

impl ShrAssign<i16> for u128[src]

impl ShrAssign<i32> for u128[src]

impl ShrAssign<i64> for u128[src]

impl ShrAssign<i8> for u128[src]

impl ShrAssign<isize> for u128[src]

impl ShrAssign<u16> for u128[src]

impl ShrAssign<u32> for u128[src]

impl ShrAssign<u64> for u128[src]

impl ShrAssign<u8> for u128[src]

impl ShrAssign<usize> for u128[src]

impl StructuralEq for u128[src]

impl StructuralPartialEq for u128[src]

impl Sub<u128> for u128[src]

type Output = Self

The resulting type after applying the - operator.

impl SubAssign<u128> for u128[src]

impl<'a> Sum<&'a u128> for u128[src]

impl Sum<u128> for u128[src]

impl ToExtraPrimitive for u128[src]

impl ToPrimitive for u128[src]

impl Unsigned for u128[src]

impl UpperHex for u128[src]

impl Zero for u128[src]

Auto Trait Implementations

impl RefUnwindSafe for u128

impl Send for u128

impl Sync for u128

impl Unpin for u128

impl UnwindSafe for u128

Blanket Implementations

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

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

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

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

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

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

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

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

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> ToExtraPrimitive for T where
    T: ToPrimitive
[src]

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

type Owned = T

The resulting type after obtaining ownership.

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

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.

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.