Struct sp_core::U512 [−][src]
Little-endian large integer type 512-bits unsigned integer.
Implementations
impl U512[src]
impl U512[src]impl U512[src]
impl U512[src]pub const MAX: U512[src]
Maximum value.
pub fn from_str_radix(txt: &str, radix: u32) -> Result<U512, FromStrRadixErr>[src]
Converts a string slice in a given base to an integer. Only supports radixes of 10 and 16.
pub fn from_dec_str(value: &str) -> Result<U512, FromDecStrErr>[src]
Convert from a decimal string.
pub const fn low_u32(&self) -> u32[src]
Conversion to u32
pub const fn low_u64(&self) -> u64[src]
Low word (u64)
pub fn as_u32(&self) -> u32[src]
pub fn as_u64(&self) -> u64[src]
Conversion to u64 with overflow checking
Panics
Panics if the number is larger than u64::max_value().
pub fn as_usize(&self) -> usize[src]
Conversion to usize with overflow checking
Panics
Panics if the number is larger than usize::max_value().
pub fn is_zero(&self) -> bool[src]
Whether this is zero.
pub fn bits(&self) -> usize[src]
Return the least number of bits needed to represent the number
pub const fn bit(&self, index: usize) -> bool[src]
pub fn leading_zeros(&self) -> u32[src]
Returns the number of leading zeros in the binary representation of self.
pub fn trailing_zeros(&self) -> u32[src]
Returns the number of trailing zeros in the binary representation of self.
pub const fn byte(&self, index: usize) -> u8[src]
pub fn to_big_endian(&self, bytes: &mut [u8])[src]
Write to the slice in big-endian format.
pub fn to_little_endian(&self, bytes: &mut [u8])[src]
Write to the slice in little-endian format.
pub fn exp10(n: usize) -> U512[src]
pub const fn zero() -> U512[src]
Zero (additive identity) of this type.
pub fn one() -> U512[src]
One (multiplicative identity) of this type.
pub fn max_value() -> U512[src]
The maximum value which can be inhabited by this type.
pub fn div_mod(self, other: U512) -> (U512, U512)[src]
pub fn pow(self, expon: U512) -> U512[src]
Fast exponentiation by squaring https://en.wikipedia.org/wiki/Exponentiation_by_squaring
Panics
Panics if the result overflows the type.
pub fn overflowing_pow(self, expon: U512) -> (U512, bool)[src]
Fast exponentiation by squaring. Returns result and overflow flag.
pub fn checked_pow(self, expon: U512) -> Option<U512>[src]
Checked exponentiation. Returns None if overflow occurred.
pub fn overflowing_add(self, other: U512) -> (U512, bool)[src]
Add with overflow.
pub fn saturating_add(self, other: U512) -> U512[src]
Addition which saturates at the maximum value (Self::max_value()).
pub fn checked_add(self, other: U512) -> Option<U512>[src]
Checked addition. Returns None if overflow occurred.
pub fn overflowing_sub(self, other: U512) -> (U512, bool)[src]
Subtraction which underflows and returns a flag if it does.
pub fn saturating_sub(self, other: U512) -> U512[src]
Subtraction which saturates at zero.
pub fn checked_sub(self, other: U512) -> Option<U512>[src]
Checked subtraction. Returns None if overflow occurred.
pub fn overflowing_mul(self, other: U512) -> (U512, bool)[src]
Multiply with overflow, returning a flag if it does.
pub fn saturating_mul(self, other: U512) -> U512[src]
Multiplication which saturates at the maximum value..
pub fn checked_mul(self, other: U512) -> Option<U512>[src]
Checked multiplication. Returns None if overflow occurred.
pub fn checked_div(self, other: U512) -> Option<U512>[src]
Checked division. Returns None if other == 0.
pub fn checked_rem(self, other: U512) -> Option<U512>[src]
Checked modulus. Returns None if other == 0.
pub fn overflowing_neg(self) -> (U512, bool)[src]
Negation with overflow.
pub fn checked_neg(self) -> Option<U512>[src]
Checked negation. Returns None unless self == 0.
pub fn from_big_endian(slice: &[u8]) -> U512[src]
Converts from big endian representation bytes in memory.
pub fn from_little_endian(slice: &[u8]) -> U512[src]
Converts from little endian representation bytes in memory.
Trait Implementations
impl<'de> Deserialize<'de> for U512[src]
impl<'de> Deserialize<'de> for U512[src]pub fn deserialize<D>(
deserializer: D
) -> Result<U512, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>, [src]
deserializer: D
) -> Result<U512, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl MallocSizeOf for U512[src]
impl MallocSizeOf for U512[src]pub fn size_of(&self, &mut MallocSizeOfOps) -> usize[src]
pub fn constant_size() -> Option<usize>[src]
impl PartialOrd<U512> for U512[src]
impl PartialOrd<U512> for U512[src]impl<T> RemAssign<T> for U512 where
T: Into<U512> + Copy, [src]
impl<T> RemAssign<T> for U512 where
T: Into<U512> + Copy, [src]pub fn rem_assign(&mut self, other: T)[src]
impl Serialize for U512[src]
impl Serialize for U512[src]pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer, [src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl Copy for U512[src]
impl EncodeLike<U512> for U512[src]
impl Eq for U512[src]
impl StructuralEq for U512[src]
impl StructuralPartialEq for U512[src]
Auto Trait Implementations
impl RefUnwindSafe for U512
impl Send for U512
impl Sync for U512
impl Unpin for U512
impl UnwindSafe for U512
Blanket Implementations
impl<T, U> AsByteSlice<T> for U where
T: ToByteSlice,
U: AsRef<[T]> + ?Sized, [src]
impl<T, U> AsByteSlice<T> for U where
T: ToByteSlice,
U: AsRef<[T]> + ?Sized, [src]pub fn as_byte_slice(&self) -> &[u8][src]
impl<T> CallHasher for T where
T: Hash, [src]
impl<T> CallHasher for T where
T: Hash, [src]impl<T> DecodeLimit for T where
T: Decode, [src]
impl<T> DecodeLimit for T where
T: Decode, [src]impl<T> Instrument for T[src]
impl<T> Instrument for T[src]pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>, [src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>, [src]impl<T> MallocSizeOfExt for T where
T: MallocSizeOf, [src]
impl<T> MallocSizeOfExt for T where
T: MallocSizeOf, [src]pub fn malloc_size_of(&self) -> usize[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>, [src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>, [src]pub fn unchecked_into(Self) -> T[src]
impl<S> Codec for S where
S: Decode + Encode, [src]
S: Decode + Encode,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode, [src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode, [src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode, [src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode, [src]
T: Encode,
impl<T> EncodeLike<Box<T, Global>> for T where
T: Encode, [src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: ToOwned + Encode, [src]
T: ToOwned + Encode,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode, [src]
T: Encode,
impl<S> FullCodec for S where
S: Decode + FullEncode, [src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>, [src]
S: Encode + EncodeLike<S>,
impl<T> MaybeDebug for T where
T: Debug, [src]
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe, [src]
T: RefUnwindSafe,
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, Base> RefNum<Base> for T where
T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>, [src]
T: NumOps<Base, Base> + for<'r> NumOps<&'r Base, Base>,