Struct scrypto::prelude::bnum_integer::U384
source · #[repr(transparent)]pub struct U384(pub BUint<6>);
Expand description
Provides safe integer arithmetic.
Operations like +
, ‘-’, ‘*’, or ‘/’ sometimes produce overflow
which is detected and results in a panic, in of silently
wrapping around.
The bit length of output type will be the greater one in the math operation, and if any of the types was signed, then the resulting type will be signed too, otherwise the output type is unsigned.
The underlying value can be retrieved through the .0
index of the
U384
tuple.
§Layout
U384
will have the same methods and traits as
the built-in counterpart.
Tuple Fields§
§0: BUint<6>
Implementations§
source§impl U384
impl U384
sourcepub const fn count_ones(self) -> u32
pub const fn count_ones(self) -> u32
Returns the number of ones in the binary representation of self
.
sourcepub const fn count_zeros(self) -> u32
pub const fn count_zeros(self) -> u32
Returns the number of zeros in the binary representation of self
.
sourcepub const fn trailing_zeros(self) -> u32
pub const fn trailing_zeros(self) -> u32
Returns the number of trailing zeros in the binary representation of self
.
sourcepub const fn swap_bytes(self) -> U384
pub const fn swap_bytes(self) -> U384
Reverses the byte order of the integer.
sourcepub const fn reverse_bits(self) -> U384
pub const fn reverse_bits(self) -> U384
Reverses the bit pattern of the integer.
sourcepub const fn leading_zeros(self) -> u32
pub const fn leading_zeros(self) -> u32
Returns the number of leading zeros in the binary representation of self
.
sourcepub const fn from_be(x: U384) -> U384
pub const fn from_be(x: U384) -> U384
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.
sourcepub const fn from_le(x: U384) -> U384
pub const fn from_le(x: U384) -> U384
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.
source§impl U384
impl U384
pub fn is_power_of_two(self) -> bool
pub fn next_power_of_two(self) -> U384
Trait Implementations§
source§impl AddAssign<&U384> for U384
impl AddAssign<&U384> for U384
source§fn add_assign(&mut self, other: &U384)
fn add_assign(&mut self, other: &U384)
+=
operation. Read moresource§impl AddAssign for U384
impl AddAssign for U384
source§fn add_assign(&mut self, other: U384)
fn add_assign(&mut self, other: U384)
+=
operation. Read moresource§impl BitAndAssign for U384
impl BitAndAssign for U384
source§fn bitand_assign(&mut self, other: U384)
fn bitand_assign(&mut self, other: U384)
&=
operation. Read moresource§impl BitOrAssign for U384
impl BitOrAssign for U384
source§fn bitor_assign(&mut self, other: U384)
fn bitor_assign(&mut self, other: U384)
|=
operation. Read moresource§impl BitXorAssign for U384
impl BitXorAssign for U384
source§fn bitxor_assign(&mut self, other: U384)
fn bitxor_assign(&mut self, other: U384)
^=
operation. Read moresource§impl CheckedAdd for U384
impl CheckedAdd for U384
source§impl CheckedDiv for U384
impl CheckedDiv for U384
source§impl CheckedMul for U384
impl CheckedMul for U384
source§impl CheckedSub for U384
impl CheckedSub for U384
source§impl DivAssign<&U384> for U384
impl DivAssign<&U384> for U384
source§fn div_assign(&mut self, other: &U384)
fn div_assign(&mut self, other: &U384)
/=
operation. Read moresource§impl DivAssign for U384
impl DivAssign for U384
source§fn div_assign(&mut self, other: U384)
fn div_assign(&mut self, other: U384)
/=
operation. Read moresource§impl FromPrimitive for U384
impl FromPrimitive for U384
source§fn from_u8(n: u8) -> Option<U384>
fn from_u8(n: u8) -> Option<U384>
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u16(n: u16) -> Option<U384>
fn from_u16(n: u16) -> Option<U384>
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u32(n: u32) -> Option<U384>
fn from_u32(n: u32) -> Option<U384>
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u64(n: u64) -> Option<U384>
fn from_u64(n: u64) -> Option<U384>
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u128(n: u128) -> Option<U384>
fn from_u128(n: u128) -> Option<U384>
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§fn from_usize(n: usize) -> Option<U384>
fn from_usize(n: usize) -> Option<U384>
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i8(n: i8) -> Option<U384>
fn from_i8(n: i8) -> Option<U384>
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i16(n: i16) -> Option<U384>
fn from_i16(n: i16) -> Option<U384>
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i32(n: i32) -> Option<U384>
fn from_i32(n: i32) -> Option<U384>
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i64(n: i64) -> Option<U384>
fn from_i64(n: i64) -> Option<U384>
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i128(n: i128) -> Option<U384>
fn from_i128(n: i128) -> Option<U384>
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§fn from_isize(n: isize) -> Option<U384>
fn from_isize(n: isize) -> Option<U384>
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§impl MulAssign<&U384> for U384
impl MulAssign<&U384> for U384
source§fn mul_assign(&mut self, other: &U384)
fn mul_assign(&mut self, other: &U384)
*=
operation. Read moresource§impl MulAssign for U384
impl MulAssign for U384
source§fn mul_assign(&mut self, other: U384)
fn mul_assign(&mut self, other: U384)
*=
operation. Read moresource§impl Ord for U384
impl Ord for U384
source§impl PartialEq for U384
impl PartialEq for U384
source§impl PartialOrd for U384
impl PartialOrd for U384
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 RemAssign<&U384> for U384
impl RemAssign<&U384> for U384
source§fn rem_assign(&mut self, other: &U384)
fn rem_assign(&mut self, other: &U384)
%=
operation. Read moresource§impl RemAssign for U384
impl RemAssign for U384
source§fn rem_assign(&mut self, other: U384)
fn rem_assign(&mut self, other: U384)
%=
operation. Read moresource§impl ShlAssign<u32> for U384
impl ShlAssign<u32> for U384
source§fn shl_assign(&mut self, other: u32)
fn shl_assign(&mut self, other: u32)
<<=
operation. Read moresource§impl ShrAssign<u32> for U384
impl ShrAssign<u32> for U384
source§fn shr_assign(&mut self, other: u32)
fn shr_assign(&mut self, other: u32)
>>=
operation. Read moresource§impl SubAssign<&U384> for U384
impl SubAssign<&U384> for U384
source§fn sub_assign(&mut self, other: &U384)
fn sub_assign(&mut self, other: &U384)
-=
operation. Read moresource§impl SubAssign for U384
impl SubAssign for U384
source§fn sub_assign(&mut self, other: U384)
fn sub_assign(&mut self, other: U384)
-=
operation. Read moresource§impl ToPrimitive for U384
impl ToPrimitive for U384
source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned.source§fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned.source§fn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned.source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned.source§fn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read moresource§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned.source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned.source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned.source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned.source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned.source§fn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read moresource§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned.source§impl TryFrom<U384> for PreciseDecimal
impl TryFrom<U384> for PreciseDecimal
§type Error = ParsePreciseDecimalError
type Error = ParsePreciseDecimalError
source§fn try_from(
val: U384
) -> Result<PreciseDecimal, <PreciseDecimal as TryFrom<U384>>::Error>
fn try_from( val: U384 ) -> Result<PreciseDecimal, <PreciseDecimal as TryFrom<U384>>::Error>
impl Copy for U384
impl Eq for U384
Auto Trait Implementations§
impl RefUnwindSafe for U384
impl Send for U384
impl Sync for U384
impl Unpin for U384
impl UnwindSafe for U384
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§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
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.