Expand description
Little-endian large integer type
Tuple Fields
0: [u64; 8]
Implementations
sourceimpl U512
impl U512
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 leading 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 pow(self, expon: Self) -> Self
pub fn pow(self, expon: Self) -> Self
Fast exponentation 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 exponentation by squaring. Returns result and overflow flag.
sourcepub fn overflowing_add(self, other: U512) -> (U512, bool)
pub fn overflowing_add(self, other: U512) -> (U512, bool)
Add with overflow.
sourcepub fn saturating_add(self, other: U512) -> U512
pub fn saturating_add(self, other: U512) -> U512
Addition which saturates at the maximum value (Self::max_value()).
sourcepub fn checked_add(self, other: U512) -> Option<U512>
pub fn checked_add(self, other: U512) -> Option<U512>
Checked addition. Returns None
if overflow occurred.
sourcepub fn overflowing_sub(self, other: U512) -> (U512, bool)
pub fn overflowing_sub(self, other: U512) -> (U512, bool)
Subtraction which underflows and returns a flag if it does.
sourcepub fn saturating_sub(self, other: U512) -> U512
pub fn saturating_sub(self, other: U512) -> U512
Subtraction which saturates at zero.
sourcepub fn checked_sub(self, other: U512) -> Option<U512>
pub fn checked_sub(self, other: U512) -> Option<U512>
Checked subtraction. Returns None
if overflow occurred.
sourcepub fn overflowing_mul(self, other: U512) -> (U512, bool)
pub fn overflowing_mul(self, other: U512) -> (U512, bool)
Multiply with overflow, returning a flag if it does.
sourcepub fn saturating_mul(self, other: U512) -> U512
pub fn saturating_mul(self, other: U512) -> U512
Multiplication which saturates at the maximum value..
sourcepub fn checked_mul(self, other: U512) -> Option<U512>
pub fn checked_mul(self, other: U512) -> Option<U512>
Checked multiplication. Returns None
if overflow occurred.
sourcepub fn checked_div(self, other: U512) -> Option<U512>
pub fn checked_div(self, other: U512) -> Option<U512>
Checked division. Returns None
if other == 0
.
sourcepub fn checked_rem(self, other: U512) -> Option<U512>
pub fn checked_rem(self, other: U512) -> Option<U512>
Checked modulus. Returns None
if other == 0
.
sourcepub fn overflowing_neg(self) -> (U512, bool)
pub fn overflowing_neg(self) -> (U512, bool)
Negation with overflow.
sourcepub fn checked_neg(self) -> Option<U512>
pub fn checked_neg(self) -> Option<U512>
Checked negation. Returns None
unless self == 0
.
sourcepub fn mul_u32(self, other: u32) -> Self
👎Deprecated: Use Mul<u32> instead.
pub fn mul_u32(self, other: u32) -> Self
Multiplication by u32.
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
sourceimpl AddAssign<U512> for U512
impl AddAssign<U512> for U512
sourcefn add_assign(&mut self, other: U512)
fn add_assign(&mut self, other: U512)
+=
operation. Read moresourceimpl<T> DivAssign<T> for U512where
T: Into<U512>,
impl<T> DivAssign<T> for U512where
T: Into<U512>,
sourcefn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
/=
operation. Read moresourceimpl MulAssign<U512> for U512
impl MulAssign<U512> for U512
sourcefn mul_assign(&mut self, other: U512)
fn mul_assign(&mut self, other: U512)
*=
operation. Read moresourceimpl MulAssign<i16> for U512
impl MulAssign<i16> for U512
sourcefn mul_assign(&mut self, other: i16)
fn mul_assign(&mut self, other: i16)
*=
operation. Read moresourceimpl MulAssign<i64> for U512
impl MulAssign<i64> for U512
sourcefn mul_assign(&mut self, other: i64)
fn mul_assign(&mut self, other: i64)
*=
operation. Read moresourceimpl MulAssign<i8> for U512
impl MulAssign<i8> for U512
sourcefn mul_assign(&mut self, other: i8)
fn mul_assign(&mut self, other: i8)
*=
operation. Read moresourceimpl MulAssign<isize> for U512
impl MulAssign<isize> for U512
sourcefn mul_assign(&mut self, other: isize)
fn mul_assign(&mut self, other: isize)
*=
operation. Read moresourceimpl MulAssign<u16> for U512
impl MulAssign<u16> for U512
sourcefn mul_assign(&mut self, other: u16)
fn mul_assign(&mut self, other: u16)
*=
operation. Read moresourceimpl MulAssign<u32> for U512
impl MulAssign<u32> for U512
sourcefn mul_assign(&mut self, other: u32)
fn mul_assign(&mut self, other: u32)
*=
operation. Read moresourceimpl MulAssign<u64> for U512
impl MulAssign<u64> for U512
sourcefn mul_assign(&mut self, other: u64)
fn mul_assign(&mut self, other: u64)
*=
operation. Read moresourceimpl MulAssign<u8> for U512
impl MulAssign<u8> for U512
sourcefn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
*=
operation. Read moresourceimpl MulAssign<usize> for U512
impl MulAssign<usize> for U512
sourcefn mul_assign(&mut self, other: usize)
fn mul_assign(&mut self, other: usize)
*=
operation. Read moresourceimpl Ord for U512
impl Ord for U512
1.21.0 · sourcefn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 · sourcefn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: Sized + PartialOrd<Self>,
sourceimpl PartialOrd<U512> for U512
impl PartialOrd<U512> for U512
sourcefn partial_cmp(&self, other: &U512) -> Option<Ordering>
fn partial_cmp(&self, other: &U512) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl<T> RemAssign<T> for U512where
T: Into<U512> + Copy,
impl<T> RemAssign<T> for U512where
T: Into<U512> + Copy,
sourcefn rem_assign(&mut self, other: T)
fn rem_assign(&mut self, other: T)
%=
operation. Read moresourceimpl<T> ShlAssign<T> for U512where
T: Into<U512>,
impl<T> ShlAssign<T> for U512where
T: Into<U512>,
sourcefn shl_assign(&mut self, shift: T)
fn shl_assign(&mut self, shift: T)
<<=
operation. Read moresourceimpl<T> ShrAssign<T> for U512where
T: Into<U512>,
impl<T> ShrAssign<T> for U512where
T: Into<U512>,
sourcefn shr_assign(&mut self, shift: T)
fn shr_assign(&mut self, shift: T)
>>=
operation. Read moresourceimpl SubAssign<U512> for U512
impl SubAssign<U512> for U512
sourcefn sub_assign(&mut self, other: U512)
fn sub_assign(&mut self, other: U512)
-=
operation. Read more