#[repr(C)]pub struct DebugU256(pub [u64; 4]);
Expand description
Little-endian large integer type 256-bit unsigned integer.
Tuple Fields§
§0: [u64; 4]
Implementations§
source§impl DebugU256
impl DebugU256
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 div_mod(self, other: Self) -> (Self, Self)
pub fn div_mod(self, other: Self) -> (Self, Self)
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: DebugU256) -> Option<DebugU256>
pub fn checked_pow(self, expon: DebugU256) -> Option<DebugU256>
Checked exponentiation. Returns None
if overflow occurred.
sourcepub fn overflowing_add(self, other: DebugU256) -> (DebugU256, bool)
pub fn overflowing_add(self, other: DebugU256) -> (DebugU256, bool)
Addition which overflows and returns a flag if it does.
sourcepub fn saturating_add(self, other: DebugU256) -> DebugU256
pub fn saturating_add(self, other: DebugU256) -> DebugU256
Addition which saturates at the maximum value (Self::MAX).
sourcepub fn checked_add(self, other: DebugU256) -> Option<DebugU256>
pub fn checked_add(self, other: DebugU256) -> Option<DebugU256>
Checked addition. Returns None
if overflow occurred.
sourcepub fn overflowing_sub(self, other: DebugU256) -> (DebugU256, bool)
pub fn overflowing_sub(self, other: DebugU256) -> (DebugU256, bool)
Subtraction which underflows and returns a flag if it does.
sourcepub fn saturating_sub(self, other: DebugU256) -> DebugU256
pub fn saturating_sub(self, other: DebugU256) -> DebugU256
Subtraction which saturates at zero.
sourcepub fn checked_sub(self, other: DebugU256) -> Option<DebugU256>
pub fn checked_sub(self, other: DebugU256) -> Option<DebugU256>
Checked subtraction. Returns None
if overflow occurred.
sourcepub fn abs_diff(self, other: DebugU256) -> DebugU256
pub fn abs_diff(self, other: DebugU256) -> DebugU256
Computes the absolute difference between self and other.
sourcepub fn overflowing_mul(self, other: DebugU256) -> (DebugU256, bool)
pub fn overflowing_mul(self, other: DebugU256) -> (DebugU256, bool)
Multiply with overflow, returning a flag if it does.
sourcepub fn saturating_mul(self, other: DebugU256) -> DebugU256
pub fn saturating_mul(self, other: DebugU256) -> DebugU256
Multiplication which saturates at the maximum value..
sourcepub fn checked_mul(self, other: DebugU256) -> Option<DebugU256>
pub fn checked_mul(self, other: DebugU256) -> Option<DebugU256>
Checked multiplication. Returns None
if overflow occurred.
sourcepub fn checked_div(self, other: DebugU256) -> Option<DebugU256>
pub fn checked_div(self, other: DebugU256) -> Option<DebugU256>
Checked division. Returns None
if other == 0
.
sourcepub fn checked_rem(self, other: DebugU256) -> Option<DebugU256>
pub fn checked_rem(self, other: DebugU256) -> Option<DebugU256>
Checked modulus. Returns None
if other == 0
.
sourcepub fn overflowing_neg(self) -> (DebugU256, bool)
pub fn overflowing_neg(self) -> (DebugU256, bool)
Negation with overflow.
sourcepub fn checked_neg(self) -> Option<DebugU256>
pub fn checked_neg(self) -> Option<DebugU256>
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 DebugU256
impl AddAssign for DebugU256
source§fn add_assign(&mut self, other: DebugU256)
fn add_assign(&mut self, other: DebugU256)
+=
operation. Read moresource§impl BitAndAssign for DebugU256
impl BitAndAssign for DebugU256
source§fn bitand_assign(&mut self, rhs: DebugU256)
fn bitand_assign(&mut self, rhs: DebugU256)
&=
operation. Read moresource§impl BitOrAssign for DebugU256
impl BitOrAssign for DebugU256
source§fn bitor_assign(&mut self, rhs: DebugU256)
fn bitor_assign(&mut self, rhs: DebugU256)
|=
operation. Read moresource§impl BitXorAssign for DebugU256
impl BitXorAssign for DebugU256
source§fn bitxor_assign(&mut self, rhs: DebugU256)
fn bitxor_assign(&mut self, rhs: DebugU256)
^=
operation. Read moresource§impl<'de> Deserialize<'de> for DebugU256
impl<'de> Deserialize<'de> for DebugU256
source§fn deserialize<D>(deserializer: D) -> Result<DebugU256, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<DebugU256, D::Error>where
D: Deserializer<'de>,
source§impl<T> DivAssign<T> for DebugU256
impl<T> DivAssign<T> for DebugU256
source§fn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
/=
operation. Read moresource§impl MulAssign<i16> for DebugU256
impl MulAssign<i16> for DebugU256
source§fn mul_assign(&mut self, other: i16)
fn mul_assign(&mut self, other: i16)
*=
operation. Read moresource§impl MulAssign<i32> for DebugU256
impl MulAssign<i32> for DebugU256
source§fn mul_assign(&mut self, other: i32)
fn mul_assign(&mut self, other: i32)
*=
operation. Read moresource§impl MulAssign<i64> for DebugU256
impl MulAssign<i64> for DebugU256
source§fn mul_assign(&mut self, other: i64)
fn mul_assign(&mut self, other: i64)
*=
operation. Read moresource§impl MulAssign<i8> for DebugU256
impl MulAssign<i8> for DebugU256
source§fn mul_assign(&mut self, other: i8)
fn mul_assign(&mut self, other: i8)
*=
operation. Read moresource§impl MulAssign<isize> for DebugU256
impl MulAssign<isize> for DebugU256
source§fn mul_assign(&mut self, other: isize)
fn mul_assign(&mut self, other: isize)
*=
operation. Read moresource§impl MulAssign<u16> for DebugU256
impl MulAssign<u16> for DebugU256
source§fn mul_assign(&mut self, other: u16)
fn mul_assign(&mut self, other: u16)
*=
operation. Read moresource§impl MulAssign<u32> for DebugU256
impl MulAssign<u32> for DebugU256
source§fn mul_assign(&mut self, other: u32)
fn mul_assign(&mut self, other: u32)
*=
operation. Read moresource§impl MulAssign<u64> for DebugU256
impl MulAssign<u64> for DebugU256
source§fn mul_assign(&mut self, other: u64)
fn mul_assign(&mut self, other: u64)
*=
operation. Read moresource§impl MulAssign<u8> for DebugU256
impl MulAssign<u8> for DebugU256
source§fn mul_assign(&mut self, other: u8)
fn mul_assign(&mut self, other: u8)
*=
operation. Read moresource§impl MulAssign<usize> for DebugU256
impl MulAssign<usize> for DebugU256
source§fn mul_assign(&mut self, other: usize)
fn mul_assign(&mut self, other: usize)
*=
operation. Read moresource§impl MulAssign for DebugU256
impl MulAssign for DebugU256
source§fn mul_assign(&mut self, other: DebugU256)
fn mul_assign(&mut self, other: DebugU256)
*=
operation. Read moresource§impl Ord for DebugU256
impl Ord for DebugU256
source§impl PartialEq for DebugU256
impl PartialEq for DebugU256
source§impl PartialOrd for DebugU256
impl PartialOrd for DebugU256
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl<T> RemAssign<T> for DebugU256
impl<T> RemAssign<T> for DebugU256
source§fn rem_assign(&mut self, other: T)
fn rem_assign(&mut self, other: T)
%=
operation. Read moresource§impl<T> ShlAssign<T> for DebugU256
impl<T> ShlAssign<T> for DebugU256
source§fn shl_assign(&mut self, shift: T)
fn shl_assign(&mut self, shift: T)
<<=
operation. Read moresource§impl<T> ShrAssign<T> for DebugU256
impl<T> ShrAssign<T> for DebugU256
source§fn shr_assign(&mut self, shift: T)
fn shr_assign(&mut self, shift: T)
>>=
operation. Read moresource§impl SubAssign for DebugU256
impl SubAssign for DebugU256
source§fn sub_assign(&mut self, other: DebugU256)
fn sub_assign(&mut self, other: DebugU256)
-=
operation. Read moresource§impl ToBigEndian for DebugU256
impl ToBigEndian for DebugU256
source§fn to_be_bytes(&self) -> [u8; 32]
fn to_be_bytes(&self) -> [u8; 32]
Encode the value as byte array in big endian.
impl Copy for DebugU256
impl Eq for DebugU256
impl StructuralPartialEq for DebugU256
Auto Trait Implementations§
impl RefUnwindSafe for DebugU256
impl Send for DebugU256
impl Sync for DebugU256
impl Unpin for DebugU256
impl UnwindSafe for DebugU256
Blanket Implementations§
§impl<A, T> AsBits<T> for A
impl<A, T> AsBits<T> for A
§impl<T, U> AsByteSlice<T> for U
impl<T, U> AsByteSlice<T> for U
fn as_byte_slice(&self) -> &[u8] ⓘ
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.