#[repr(C)]pub struct U128(pub [u64; 2]);Expand description
Little-endian large integer type 128-bit unsigned integer.
Tuple Fields§
§0: [u64; 2]Implementations§
Source§impl U128
 
impl U128
Sourcepub fn from_str_radix(txt: &str, radix: u32) -> Result<Self, FromStrRadixErr>
 
pub fn from_str_radix(txt: &str, radix: u32) -> Result<Self, FromStrRadixErr>
Converts a string slice in a given base to an integer. Only supports radixes of 10 and 16.
Sourcepub fn from_dec_str(value: &str) -> Result<Self, FromDecStrErr>
 
pub fn from_dec_str(value: &str) -> Result<Self, FromDecStrErr>
Convert from a decimal string.
Sourcepub fn as_u64(&self) -> u64
 
pub fn as_u64(&self) -> u64
Conversion to u64 with overflow checking
§Panics
Panics if the number is larger than u64::max_value().
Sourcepub fn as_usize(&self) -> usize
 
pub fn as_usize(&self) -> usize
Conversion to usize with overflow checking
§Panics
Panics if the number is larger than usize::max_value().
Sourcepub fn leading_zeros(&self) -> u32
 
pub fn leading_zeros(&self) -> u32
Returns the number of leading zeros in the binary representation of self.
Sourcepub fn trailing_zeros(&self) -> u32
 
pub fn trailing_zeros(&self) -> u32
Returns the number of trailing zeros in the binary representation of self.
Sourcepub fn to_big_endian(&self, bytes: &mut [u8])
 
pub fn to_big_endian(&self, bytes: &mut [u8])
Write to the slice in big-endian format.
Sourcepub fn to_little_endian(&self, bytes: &mut [u8])
 
pub fn to_little_endian(&self, bytes: &mut [u8])
Write to the slice in little-endian format.
Sourcepub fn integer_sqrt(&self) -> Self
 
pub fn integer_sqrt(&self) -> Self
Compute the highest n such that n * n <= self.
Sourcepub fn pow(self, expon: Self) -> Self
 
pub fn pow(self, expon: Self) -> Self
Fast exponentiation by squaring https://en.wikipedia.org/wiki/Exponentiation_by_squaring
§Panics
Panics if the result overflows the type.
Sourcepub fn overflowing_pow(self, expon: Self) -> (Self, bool)
 
pub fn overflowing_pow(self, expon: Self) -> (Self, bool)
Fast exponentiation by squaring. Returns result and overflow flag.
Sourcepub fn checked_pow(self, expon: U128) -> Option<U128>
 
pub fn checked_pow(self, expon: U128) -> Option<U128>
Checked exponentiation. Returns None if overflow occurred.
Sourcepub fn overflowing_add(self, other: U128) -> (U128, bool)
 
pub fn overflowing_add(self, other: U128) -> (U128, bool)
Addition which overflows and returns a flag if it does.
Sourcepub fn saturating_add(self, other: U128) -> U128
 
pub fn saturating_add(self, other: U128) -> U128
Addition which saturates at the maximum value (Self::MAX).
Sourcepub fn checked_add(self, other: U128) -> Option<U128>
 
pub fn checked_add(self, other: U128) -> Option<U128>
Checked addition. Returns None if overflow occurred.
Sourcepub fn overflowing_sub(self, other: U128) -> (U128, bool)
 
pub fn overflowing_sub(self, other: U128) -> (U128, bool)
Subtraction which underflows and returns a flag if it does.
Sourcepub fn saturating_sub(self, other: U128) -> U128
 
pub fn saturating_sub(self, other: U128) -> U128
Subtraction which saturates at zero.
Sourcepub fn checked_sub(self, other: U128) -> Option<U128>
 
pub fn checked_sub(self, other: U128) -> Option<U128>
Checked subtraction. Returns None if overflow occurred.
Sourcepub fn abs_diff(self, other: U128) -> U128
 
pub fn abs_diff(self, other: U128) -> U128
Computes the absolute difference between self and other.
Sourcepub fn overflowing_mul(self, other: U128) -> (U128, bool)
 
pub fn overflowing_mul(self, other: U128) -> (U128, bool)
Multiply with overflow, returning a flag if it does.
Sourcepub fn saturating_mul(self, other: U128) -> U128
 
pub fn saturating_mul(self, other: U128) -> U128
Multiplication which saturates at the maximum value..
Sourcepub fn checked_mul(self, other: U128) -> Option<U128>
 
pub fn checked_mul(self, other: U128) -> Option<U128>
Checked multiplication. Returns None if overflow occurred.
Sourcepub fn checked_div(self, other: U128) -> Option<U128>
 
pub fn checked_div(self, other: U128) -> Option<U128>
Checked division. Returns None if other == 0.
Sourcepub fn checked_rem(self, other: U128) -> Option<U128>
 
pub fn checked_rem(self, other: U128) -> Option<U128>
Checked modulus. Returns None if other == 0.
Sourcepub fn overflowing_neg(self) -> (U128, bool)
 
pub fn overflowing_neg(self) -> (U128, bool)
Negation with overflow.
Sourcepub fn checked_neg(self) -> Option<U128>
 
pub fn checked_neg(self) -> Option<U128>
Checked negation. Returns None unless self == 0.
Sourcepub fn from_big_endian(slice: &[u8]) -> Self
 
pub fn from_big_endian(slice: &[u8]) -> Self
Converts from big endian representation bytes in memory.
Sourcepub fn from_little_endian(slice: &[u8]) -> Self
 
pub fn from_little_endian(slice: &[u8]) -> Self
Converts from little endian representation bytes in memory.
Trait Implementations§
Source§impl AddAssign for U128
 
impl AddAssign for U128
Source§fn add_assign(&mut self, other: U128)
 
fn add_assign(&mut self, other: U128)
+= operation. Read moreSource§impl BitAndAssign for U128
 
impl BitAndAssign for U128
Source§fn bitand_assign(&mut self, rhs: U128)
 
fn bitand_assign(&mut self, rhs: U128)
&= operation. Read moreSource§impl BitOrAssign for U128
 
impl BitOrAssign for U128
Source§fn bitor_assign(&mut self, rhs: U128)
 
fn bitor_assign(&mut self, rhs: U128)
|= operation. Read moreSource§impl BitXorAssign for U128
 
impl BitXorAssign for U128
Source§fn bitxor_assign(&mut self, rhs: U128)
 
fn bitxor_assign(&mut self, rhs: U128)
^= operation. Read moreSource§impl<T> DivAssign<T> for U128
 
impl<T> DivAssign<T> for U128
Source§fn div_assign(&mut self, other: T)
 
fn div_assign(&mut self, other: T)
/= operation. Read moreSource§impl MulAssign<i16> for U128
 
impl MulAssign<i16> for U128
Source§fn mul_assign(&mut self, other: i16)
 
fn mul_assign(&mut self, other: i16)
*= operation. Read moreSource§impl MulAssign<i32> for U128
 
impl MulAssign<i32> for U128
Source§fn mul_assign(&mut self, other: i32)
 
fn mul_assign(&mut self, other: i32)
*= operation. Read moreSource§impl MulAssign<i64> for U128
 
impl MulAssign<i64> for U128
Source§fn mul_assign(&mut self, other: i64)
 
fn mul_assign(&mut self, other: i64)
*= operation. Read moreSource§impl MulAssign<i8> for U128
 
impl MulAssign<i8> for U128
Source§fn mul_assign(&mut self, other: i8)
 
fn mul_assign(&mut self, other: i8)
*= operation. Read moreSource§impl MulAssign<isize> for U128
 
impl MulAssign<isize> for U128
Source§fn mul_assign(&mut self, other: isize)
 
fn mul_assign(&mut self, other: isize)
*= operation. Read moreSource§impl MulAssign<u16> for U128
 
impl MulAssign<u16> for U128
Source§fn mul_assign(&mut self, other: u16)
 
fn mul_assign(&mut self, other: u16)
*= operation. Read moreSource§impl MulAssign<u32> for U128
 
impl MulAssign<u32> for U128
Source§fn mul_assign(&mut self, other: u32)
 
fn mul_assign(&mut self, other: u32)
*= operation. Read moreSource§impl MulAssign<u64> for U128
 
impl MulAssign<u64> for U128
Source§fn mul_assign(&mut self, other: u64)
 
fn mul_assign(&mut self, other: u64)
*= operation. Read moreSource§impl MulAssign<u8> for U128
 
impl MulAssign<u8> for U128
Source§fn mul_assign(&mut self, other: u8)
 
fn mul_assign(&mut self, other: u8)
*= operation. Read moreSource§impl MulAssign<usize> for U128
 
impl MulAssign<usize> for U128
Source§fn mul_assign(&mut self, other: usize)
 
fn mul_assign(&mut self, other: usize)
*= operation. Read moreSource§impl MulAssign for U128
 
impl MulAssign for U128
Source§fn mul_assign(&mut self, other: U128)
 
fn mul_assign(&mut self, other: U128)
*= operation. Read moreSource§impl Ord for U128
 
impl Ord for U128
Source§impl PartialOrd for U128
 
impl PartialOrd for U128
Source§impl<T> RemAssign<T> for U128
 
impl<T> RemAssign<T> for U128
Source§fn rem_assign(&mut self, other: T)
 
fn rem_assign(&mut self, other: T)
%= operation. Read moreSource§impl<T> ShlAssign<T> for U128
 
impl<T> ShlAssign<T> for U128
Source§fn shl_assign(&mut self, shift: T)
 
fn shl_assign(&mut self, shift: T)
<<= operation. Read moreSource§impl<T> ShrAssign<T> for U128
 
impl<T> ShrAssign<T> for U128
Source§fn shr_assign(&mut self, shift: T)
 
fn shr_assign(&mut self, shift: T)
>>= operation. Read moreSource§impl SubAssign for U128
 
impl SubAssign for U128
Source§fn sub_assign(&mut self, other: U128)
 
fn sub_assign(&mut self, other: U128)
-= operation. Read more