[−][src]Struct extprim::u128::u128
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.
fn add(self, other: u128) -> Self
[src]
impl AddAssign<u128> for u128
[src]
fn add_assign(&mut self, other: u128)
[src]
impl Binary for u128
[src]
impl BitAnd<u128> for u128
[src]
type Output = Self
The resulting type after applying the &
operator.
fn bitand(self, other: Self) -> Self
[src]
impl BitAndAssign<u128> for u128
[src]
fn bitand_assign(&mut self, other: u128)
[src]
impl BitOr<u128> for u128
[src]
type Output = Self
The resulting type after applying the |
operator.
fn bitor(self, other: Self) -> Self
[src]
impl BitOrAssign<u128> for u128
[src]
fn bitor_assign(&mut self, other: u128)
[src]
impl BitXor<u128> for u128
[src]
type Output = Self
The resulting type after applying the ^
operator.
fn bitxor(self, other: Self) -> Self
[src]
impl BitXorAssign<u128> for u128
[src]
fn bitxor_assign(&mut self, other: u128)
[src]
impl Bounded for u128
[src]
impl CheckedAdd for u128
[src]
fn checked_add(&self, other: &Self) -> Option<Self>
[src]
impl CheckedDiv for u128
[src]
fn checked_div(&self, other: &Self) -> Option<Self>
[src]
impl CheckedMul for u128
[src]
fn checked_mul(&self, other: &Self) -> Option<Self>
[src]
impl CheckedSub for u128
[src]
fn checked_sub(&self, other: &Self) -> Option<Self>
[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]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Display for u128
[src]
impl Distribution<u128> for Standard
[src]
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> u128
[src]
fn sample_iter<R>(&'a self, rng: &'a mut R) -> DistIter<'a, Self, R, T> where
R: Rng,
[src]
R: Rng,
impl Div<u128> for u128
[src]
type Output = Self
The resulting type after applying the /
operator.
fn div(self, other: Self) -> Self
[src]
impl DivAssign<u128> for u128
[src]
fn div_assign(&mut self, other: 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]
fn from_u64(n: u64) -> Option<u128>
[src]
fn from_i64(n: i64) -> Option<u128>
[src]
fn from_f64(n: f64) -> Option<u128>
[src]
fn from_isize(n: isize) -> Option<Self>
[src]
fn from_i8(n: i8) -> Option<Self>
[src]
fn from_i16(n: i16) -> Option<Self>
[src]
fn from_i32(n: i32) -> Option<Self>
[src]
fn from_i128(n: i128) -> Option<Self>
[src]
fn from_usize(n: usize) -> Option<Self>
[src]
fn from_u8(n: u8) -> Option<Self>
[src]
fn from_u16(n: u16) -> Option<Self>
[src]
fn from_u32(n: u32) -> Option<Self>
[src]
fn from_u128(n: u128) -> Option<Self>
[src]
fn from_f32(n: f32) -> Option<Self>
[src]
impl FromStr for u128
[src]
type Err = ParseIntError
The associated error which can be returned from parsing.
fn from_str(src: &str) -> Result<Self, ParseIntError>
[src]
impl Hash for u128
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl LowerHex for u128
[src]
impl Mul<u128> for u128
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, other: u128) -> Self
[src]
impl Mul<u128> for u64
[src]
type Output = u128
The resulting type after applying the *
operator.
fn mul(self, other: u128) -> u128
[src]
impl Mul<u64> for u128
[src]
type Output = Self
The resulting type after applying the *
operator.
fn mul(self, other: u64) -> Self
[src]
impl MulAssign<u128> for u128
[src]
fn mul_assign(&mut self, other: u128)
[src]
impl MulAssign<u64> for u128
[src]
fn mul_assign(&mut self, other: u64)
[src]
impl Not for u128
[src]
impl Num for u128
[src]
type FromStrRadixErr = ParseIntError
fn from_str_radix(src: &str, radix: u32) -> Result<Self, ParseIntError>
[src]
impl NumCast for u128
[src]
fn from<T: ToPrimitive>(n: T) -> Option<u128>
[src]
impl Octal for u128
[src]
impl One for u128
[src]
fn one() -> Self
[src]
fn set_one(&mut self)
[src]
fn is_one(&self) -> bool where
Self: PartialEq<Self>,
[src]
Self: PartialEq<Self>,
impl Ord for u128
[src]
fn cmp(&self, other: &u128) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<u128> for u128
[src]
impl PartialOrd<u128> for u128
[src]
fn partial_cmp(&self, other: &u128) -> Option<Ordering>
[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PrimInt for u128
[src]
fn count_ones(self) -> u32
[src]
fn count_zeros(self) -> u32
[src]
fn leading_zeros(self) -> u32
[src]
fn trailing_zeros(self) -> u32
[src]
fn rotate_left(self, shift: u32) -> Self
[src]
fn rotate_right(self, shift: u32) -> Self
[src]
fn swap_bytes(self) -> Self
[src]
fn from_be(x: Self) -> Self
[src]
fn from_le(x: Self) -> Self
[src]
fn to_be(self) -> Self
[src]
fn to_le(self) -> Self
[src]
fn pow(self, exp: u32) -> Self
[src]
fn signed_shl(self, shift: u32) -> Self
[src]
fn signed_shr(self, shift: u32) -> Self
[src]
fn unsigned_shl(self, shift: u32) -> Self
[src]
fn unsigned_shr(self, shift: u32) -> Self
[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.
fn rem(self, other: Self) -> Self
[src]
impl RemAssign<u128> for u128
[src]
fn rem_assign(&mut self, other: u128)
[src]
impl Saturating for u128
[src]
fn saturating_add(self, other: Self) -> Self
[src]
fn saturating_sub(self, other: Self) -> Self
[src]
impl Serialize for u128
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl Shl<i16> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: i16) -> Self
[src]
impl Shl<i32> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: i32) -> Self
[src]
impl Shl<i64> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: i64) -> Self
[src]
impl Shl<i8> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: i8) -> Self
[src]
impl Shl<isize> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: isize) -> Self
[src]
impl Shl<u16> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: u16) -> Self
[src]
impl Shl<u32> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: u32) -> Self
[src]
impl Shl<u64> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: u64) -> Self
[src]
impl Shl<u8> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: u8) -> Self
[src]
impl Shl<usize> for u128
[src]
type Output = Self
The resulting type after applying the <<
operator.
fn shl(self, other: usize) -> Self
[src]
impl ShlAssign<i16> for u128
[src]
fn shl_assign(&mut self, other: i16)
[src]
impl ShlAssign<i32> for u128
[src]
fn shl_assign(&mut self, other: i32)
[src]
impl ShlAssign<i64> for u128
[src]
fn shl_assign(&mut self, other: i64)
[src]
impl ShlAssign<i8> for u128
[src]
fn shl_assign(&mut self, other: i8)
[src]
impl ShlAssign<isize> for u128
[src]
fn shl_assign(&mut self, other: isize)
[src]
impl ShlAssign<u16> for u128
[src]
fn shl_assign(&mut self, other: u16)
[src]
impl ShlAssign<u32> for u128
[src]
fn shl_assign(&mut self, other: u32)
[src]
impl ShlAssign<u64> for u128
[src]
fn shl_assign(&mut self, other: u64)
[src]
impl ShlAssign<u8> for u128
[src]
fn shl_assign(&mut self, other: u8)
[src]
impl ShlAssign<usize> for u128
[src]
fn shl_assign(&mut self, other: usize)
[src]
impl Shr<i16> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: i16) -> Self
[src]
impl Shr<i32> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: i32) -> Self
[src]
impl Shr<i64> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: i64) -> Self
[src]
impl Shr<i8> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: i8) -> Self
[src]
impl Shr<isize> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: isize) -> Self
[src]
impl Shr<u16> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: u16) -> Self
[src]
impl Shr<u32> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: u32) -> Self
[src]
impl Shr<u64> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: u64) -> Self
[src]
impl Shr<u8> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: u8) -> Self
[src]
impl Shr<usize> for u128
[src]
type Output = Self
The resulting type after applying the >>
operator.
fn shr(self, other: usize) -> Self
[src]
impl ShrAssign<i16> for u128
[src]
fn shr_assign(&mut self, other: i16)
[src]
impl ShrAssign<i32> for u128
[src]
fn shr_assign(&mut self, other: i32)
[src]
impl ShrAssign<i64> for u128
[src]
fn shr_assign(&mut self, other: i64)
[src]
impl ShrAssign<i8> for u128
[src]
fn shr_assign(&mut self, other: i8)
[src]
impl ShrAssign<isize> for u128
[src]
fn shr_assign(&mut self, other: isize)
[src]
impl ShrAssign<u16> for u128
[src]
fn shr_assign(&mut self, other: u16)
[src]
impl ShrAssign<u32> for u128
[src]
fn shr_assign(&mut self, other: u32)
[src]
impl ShrAssign<u64> for u128
[src]
fn shr_assign(&mut self, other: u64)
[src]
impl ShrAssign<u8> for u128
[src]
fn shr_assign(&mut self, other: u8)
[src]
impl ShrAssign<usize> for u128
[src]
fn shr_assign(&mut self, other: usize)
[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.
fn sub(self, other: u128) -> Self
[src]
impl SubAssign<u128> for u128
[src]
fn sub_assign(&mut self, other: 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]
fn to_i64(&self) -> Option<i64>
[src]
fn to_u64(&self) -> Option<u64>
[src]
fn to_f64(&self) -> Option<f64>
[src]
fn to_i128(&self) -> Option<i128>
[src]
fn to_u128(&self) -> Option<u128>
[src]
fn to_isize(&self) -> Option<isize>
[src]
fn to_i8(&self) -> Option<i8>
[src]
fn to_i16(&self) -> Option<i16>
[src]
fn to_i32(&self) -> Option<i32>
[src]
fn to_usize(&self) -> Option<usize>
[src]
fn to_u8(&self) -> Option<u8>
[src]
fn to_u16(&self) -> Option<u16>
[src]
fn to_u32(&self) -> Option<u32>
[src]
fn to_f32(&self) -> Option<f32>
[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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> NumAssign for T where
T: Num + NumAssignOps<T>,
[src]
T: Num + NumAssignOps<T>,
impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
[src]
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
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]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T> ToExtraPrimitive for T where
T: ToPrimitive,
[src]
T: ToPrimitive,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
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]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,