pub struct FixedUInt<T, const N: usize, P: Personality = Nct>where
T: MachineWord,{ /* private fields */ }Expand description
Fixed-size unsigned integer, represented by array of N words of builtin unsigned type T.
The optional P: Personality parameter selects which implementations of
operation primitives are used at each call site. Defaults to Nct
(non-constant-time). Use FixedUInt<T, N, Ct> for
values that must be handled in constant time. See crate::personality.
Implementations§
Source§impl<T: MachineWord, const N: usize> FixedUInt<T, N, Ct>
impl<T: MachineWord, const N: usize> FixedUInt<T, N, Ct>
Sourcepub const fn forget_ct(self) -> FixedUInt<T, N, Nct>
pub const fn forget_ct(self) -> FixedUInt<T, N, Nct>
Drop the CT guarantee and convert to the Nct variant.
This is an explicit downgrade. The caller is asserting that the value is no longer secret — typically because the CT-handling phase has ended (e.g. a finalized signature, a published key, a post- reduction modular value about to be serialized).
Source§impl<T: MachineWord + ConditionallySelectable, const N: usize> FixedUInt<T, N, Ct>
impl<T: MachineWord + ConditionallySelectable, const N: usize> FixedUInt<T, N, Ct>
Sourcepub fn ct_checked_add(&self, other: &Self) -> CtOption<Self>
pub fn ct_checked_add(&self, other: &Self) -> CtOption<Self>
CT-friendly counterpart to num_traits::CheckedAdd::checked_add.
Returns CtOption::new(res, Choice::from(!overflow)) — the result is
always computed (always-iterate via overflowing_add), and the
validity Choice carries the overflow flag without exposing it as
a control-flow signal.
Sourcepub fn ct_checked_sub(&self, other: &Self) -> CtOption<Self>
pub fn ct_checked_sub(&self, other: &Self) -> CtOption<Self>
CT-friendly counterpart to num_traits::CheckedSub::checked_sub.
Sourcepub fn ct_checked_mul(&self, other: &Self) -> CtOption<Self>
pub fn ct_checked_mul(&self, other: &Self) -> CtOption<Self>
CT-friendly counterpart to num_traits::CheckedMul::checked_mul.
Sourcepub fn ct_checked_shl(&self, bits: u32) -> CtOption<Self>
pub fn ct_checked_shl(&self, bits: u32) -> CtOption<Self>
CT-friendly counterpart to ConstCheckedShl::checked_shl.
Sourcepub fn ct_checked_shr(&self, bits: u32) -> CtOption<Self>
pub fn ct_checked_shr(&self, bits: u32) -> CtOption<Self>
CT-friendly counterpart to ConstCheckedShr::checked_shr.
Sourcepub fn ct_checked_next_power_of_two(self) -> CtOption<Self>where
T: ConstantTimeEq,
pub fn ct_checked_next_power_of_two(self) -> CtOption<Self>where
T: ConstantTimeEq,
CT-friendly counterpart to ConstPowerOfTwo::checked_next_power_of_two.
pub fn ct_checked_pow(self, exp: u32) -> CtOption<Self>
Source§impl<T: MachineWord, const N: usize, P: Personality> FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize> FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> FixedUInt<T, N, Nct>
Source§impl<T: MachineWord, const N: usize, P: Personality> FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> FixedUInt<T, N, P>
Sourcepub fn from_le_bytes(bytes: &[u8]) -> Self
pub fn from_le_bytes(bytes: &[u8]) -> Self
Create a little-endian integer value from its representation as a byte array in little endian.
Sourcepub fn from_be_bytes(bytes: &[u8]) -> Self
pub fn from_be_bytes(bytes: &[u8]) -> Self
Create a big-endian integer value from its representation as a byte array in big endian.
Source§impl<T: MachineWord, const N: usize, P: Personality> FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> FixedUInt<T, N, P>
Sourcepub fn to_le_bytes<'a>(
&self,
output_buffer: &'a mut [u8],
) -> Result<&'a [u8], bool>
pub fn to_le_bytes<'a>( &self, output_buffer: &'a mut [u8], ) -> Result<&'a [u8], bool>
Converts the FixedUInt into a little-endian byte array.
Sourcepub fn to_be_bytes<'a>(
&self,
output_buffer: &'a mut [u8],
) -> Result<&'a [u8], bool>
pub fn to_be_bytes<'a>( &self, output_buffer: &'a mut [u8], ) -> Result<&'a [u8], bool>
Converts the FixedUInt into a big-endian byte array.
Trait Implementations§
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Add for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> AddAssign<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> AddAssign<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§fn add_assign(&mut self, other: &Self)
fn add_assign(&mut self, other: &Self)
+= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> AddAssign for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> AddAssign for FixedUInt<T, N, P>
Source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAnd for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAndAssign for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitAndAssign for FixedUInt<T, N, P>
Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
&= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOr for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOrAssign for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitOrAssign for FixedUInt<T, N, P>
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
|= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXor for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXorAssign for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> BitXorAssign for FixedUInt<T, N, P>
Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
^= operation. Read moreSource§impl<T: MachineWord, const N: usize, P: Personality> Bounded for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> Bounded for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> CarryingMul for &FixedUInt<T, N, P>
Ref-based carrying multiplication — allows calling with references.
impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> CarryingMul for &FixedUInt<T, N, P>
Ref-based carrying multiplication — allows calling with references.
Source§impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> CarryingMul for FixedUInt<T, N, P>
Non-const carrying multiplication that delegates to ConstCarryingMul.
impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> CarryingMul for FixedUInt<T, N, P>
Non-const carrying multiplication that delegates to ConstCarryingMul.
type Output = FixedUInt<T, N, P>
Source§fn carrying_mul(self, rhs: Self, carry: Self) -> (Self, Self)
fn carrying_mul(self, rhs: Self, carry: Self) -> (Self, Self)
Source§fn carrying_mul_add(self, rhs: Self, addend: Self, carry: Self) -> (Self, Self)
fn carrying_mul_add(self, rhs: Self, addend: Self, carry: Self) -> (Self, Self)
Source§impl<T: MachineWord, const N: usize, P: Personality> CheckedAdd for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> CheckedAdd for FixedUInt<T, N, P>
Source§fn checked_add(&self, other: &Self) -> Option<Self>
fn checked_add(&self, other: &Self) -> Option<Self>
None is
returned.Source§impl<T: MachineWord, const N: usize> CheckedDiv for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> CheckedDiv for FixedUInt<T, N, Nct>
Source§fn checked_div(&self, other: &Self) -> Option<Self>
fn checked_div(&self, other: &Self) -> Option<Self>
None is returned.Source§impl<T: MachineWord, const N: usize> CheckedEuclid for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> CheckedEuclid for FixedUInt<T, N, Nct>
Source§fn checked_div_euclid(&self, v: &Self) -> Option<Self>
fn checked_div_euclid(&self, v: &Self) -> Option<Self>
None instead of panicking on division by zero
and instead of wrapping around on underflow and overflow.Source§fn checked_rem_euclid(&self, v: &Self) -> Option<Self>
fn checked_rem_euclid(&self, v: &Self) -> Option<Self>
None is returned.Source§fn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>
fn checked_div_rem_euclid(&self, v: &Self) -> Option<(Self, Self)>
Source§impl<T: MachineWord, const N: usize, P: Personality> CheckedMul for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> CheckedMul for FixedUInt<T, N, P>
Source§fn checked_mul(&self, other: &Self) -> Option<Self>
fn checked_mul(&self, other: &Self) -> Option<Self>
None is returned.Source§impl<T: MachineWord, const N: usize> CheckedRem for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> CheckedRem for FixedUInt<T, N, Nct>
Source§fn checked_rem(&self, other: &Self) -> Option<Self>
fn checked_rem(&self, other: &Self) -> Option<Self>
None is returned. Read moreSource§impl<T: MachineWord, const N: usize, P: Personality> CheckedShl for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> CheckedShl for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize, P: Personality> CheckedShr for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> CheckedShr for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize, P: Personality> CheckedSub for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> CheckedSub for FixedUInt<T, N, P>
Source§fn checked_sub(&self, other: &Self) -> Option<Self>
fn checked_sub(&self, other: &Self) -> Option<Self>
None is returned.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Clone for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Clone for FixedUInt<T, N, P>
Source§impl<T: MachineWord + ConditionallySelectable, const N: usize> ConditionallySelectable for FixedUInt<T, N, Ct>
impl<T: MachineWord + ConditionallySelectable, const N: usize> ConditionallySelectable for FixedUInt<T, N, Ct>
Source§fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
Source§fn conditional_assign(&mut self, other: &Self, choice: Choice)
fn conditional_assign(&mut self, other: &Self, choice: Choice)
Source§fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
self and other if choice == 1; otherwise,
reassign both unto themselves. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstAbsDiff for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstAbsDiff for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstBitPrimInt for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstBitPrimInt for FixedUInt<T, N, P>
fn count_ones(self) -> u32
fn count_zeros(self) -> u32
fn leading_zeros(self) -> u32
fn trailing_zeros(self) -> u32
fn swap_bytes(self) -> Self
fn rotate_left(self, n: u32) -> Self
fn rotate_right(self, n: u32) -> Self
fn unsigned_shl(self, n: u32) -> Self
fn unsigned_shr(self, n: u32) -> Self
fn reverse_bits(self) -> Self
fn from_be(x: Self) -> Self
fn from_le(x: Self) -> Self
fn to_be(self) -> Self
fn to_le(self) -> Self
fn leading_ones(self) -> u32
fn trailing_ones(self) -> u32
fn signed_shl(self, n: u32) -> Self
fn signed_shr(self, n: u32) -> Self
Source§impl<T: ConstMachineWord + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> ConstBorrowingSub for FixedUInt<T, N, P>
impl<T: ConstMachineWord + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> ConstBorrowingSub for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstBounded for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstBounded for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + ConstCarryingAdd + MachineWord, const N: usize, P: Personality> ConstCarryingAdd for FixedUInt<T, N, P>
impl<T: ConstMachineWord + ConstCarryingAdd + MachineWord, const N: usize, P: Personality> ConstCarryingAdd for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> ConstCarryingMul for FixedUInt<T, N, P>
impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> ConstCarryingMul for FixedUInt<T, N, P>
Source§fn carrying_mul(self, rhs: Self, carry: Self) -> (Self, Self)
fn carrying_mul(self, rhs: Self, carry: Self) -> (Self, Self)
Source§fn carrying_mul_add(self, rhs: Self, addend: Self, carry: Self) -> (Self, Self)
fn carrying_mul_add(self, rhs: Self, addend: Self, carry: Self) -> (Self, Self)
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedAdd for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedAdd for FixedUInt<T, N, P>
Source§fn checked_add(&self, other: &Self) -> Option<Self>
fn checked_add(&self, other: &Self) -> Option<Self>
None if overflow occurred.Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedDiv for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedDiv for FixedUInt<T, N, Nct>
Source§fn checked_div(&self, other: &Self) -> Option<Self>
fn checked_div(&self, other: &Self) -> Option<Self>
None if the divisor is zero.Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedEuclid for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedEuclid for FixedUInt<T, N, Nct>
Source§fn checked_div_euclid(&self, v: &Self) -> Option<Self>
fn checked_div_euclid(&self, v: &Self) -> Option<Self>
None if the divisor is zero.Source§fn checked_rem_euclid(&self, v: &Self) -> Option<Self>
fn checked_rem_euclid(&self, v: &Self) -> Option<Self>
None if the divisor is zero.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedMul for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedMul for FixedUInt<T, N, P>
Source§fn checked_mul(&self, other: &Self) -> Option<Self>
fn checked_mul(&self, other: &Self) -> Option<Self>
None if overflow occurred.Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedPow for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedPow for FixedUInt<T, N, Nct>
Source§fn checked_pow(self, exp: u32) -> Option<Self>
fn checked_pow(self, exp: u32) -> Option<Self>
self.pow(exp), returning None
if overflow occurred.Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedRem for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstCheckedRem for FixedUInt<T, N, Nct>
Source§fn checked_rem(&self, other: &Self) -> Option<Self>
fn checked_rem(&self, other: &Self) -> Option<Self>
None if the divisor is zero.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedShl for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedShl for FixedUInt<T, N, P>
Source§fn checked_shl(&self, bits: u32) -> Option<Self>
fn checked_shl(&self, bits: u32) -> Option<Self>
None if the shift amount exceeds bit width.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedShr for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedShr for FixedUInt<T, N, P>
Source§fn checked_shr(&self, bits: u32) -> Option<Self>
fn checked_shr(&self, bits: u32) -> Option<Self>
None if the shift amount exceeds bit width.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedSub for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstCheckedSub for FixedUInt<T, N, P>
Source§fn checked_sub(&self, other: &Self) -> Option<Self>
fn checked_sub(&self, other: &Self) -> Option<Self>
None if overflow occurred.Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstDivCeil for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstDivCeil for FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstEuclid for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstEuclid for FixedUInt<T, N, Nct>
Source§fn div_euclid(&self, v: &Self) -> Self
fn div_euclid(&self, v: &Self) -> Self
Source§fn rem_euclid(&self, v: &Self) -> Self
fn rem_euclid(&self, v: &Self) -> Self
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstIlog for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstIlog for FixedUInt<T, N, Nct>
Source§fn ilog(self, base: Self) -> u32
fn ilog(self, base: Self) -> u32
Source§fn checked_ilog2(self) -> Option<u32>
fn checked_ilog2(self) -> Option<u32>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstIsqrt for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstIsqrt for FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstMidpoint for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstMidpoint for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstMultiple for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstMultiple for FixedUInt<T, N, Nct>
Source§fn is_multiple_of(&self, rhs: &Self) -> bool
fn is_multiple_of(&self, rhs: &Self) -> bool
Source§fn next_multiple_of(self, rhs: Self) -> Self
fn next_multiple_of(self, rhs: Self) -> Self
Source§fn checked_next_multiple_of(self, rhs: Self) -> Option<Self>
fn checked_next_multiple_of(self, rhs: Self) -> Option<Self>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOne for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOne for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingAdd for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingAdd for FixedUInt<T, N, P>
Source§fn overflowing_add(&self, other: &Self) -> (Self, bool)
fn overflowing_add(&self, other: &Self) -> (Self, bool)
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingMul for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingMul for FixedUInt<T, N, P>
Source§fn overflowing_mul(&self, other: &Self) -> (Self, bool)
fn overflowing_mul(&self, other: &Self) -> (Self, bool)
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingShl for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingShl for FixedUInt<T, N, P>
Source§fn overflowing_shl(&self, bits: u32) -> (Self, bool)
fn overflowing_shl(&self, bits: u32) -> (Self, bool)
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingShr for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingShr for FixedUInt<T, N, P>
Source§fn overflowing_shr(&self, bits: u32) -> (Self, bool)
fn overflowing_shr(&self, bits: u32) -> (Self, bool)
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingSub for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstOverflowingSub for FixedUInt<T, N, P>
Source§fn overflowing_sub(&self, other: &Self) -> (Self, bool)
fn overflowing_sub(&self, other: &Self) -> (Self, bool)
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstPowerOfTwo for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstPowerOfTwo for FixedUInt<T, N, P>
Source§fn is_power_of_two(&self) -> bool
fn is_power_of_two(&self) -> bool
Source§fn next_power_of_two(self) -> Self
fn next_power_of_two(self) -> Self
self. Read moreSource§fn checked_next_power_of_two(self) -> Option<Self>
fn checked_next_power_of_two(self) -> Option<Self>
self. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize> ConstPrimInt for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> ConstPrimInt for FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstSaturatingAdd for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstSaturatingAdd for FixedUInt<T, N, P>
Source§fn saturating_add(&self, other: &Self) -> Self
fn saturating_add(&self, other: &Self) -> Self
self + v, saturating at max_value().Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstSaturatingMul for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstSaturatingMul for FixedUInt<T, N, P>
Source§fn saturating_mul(&self, other: &Self) -> Self
fn saturating_mul(&self, other: &Self) -> Self
self * v, saturating at max_value().Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstSaturatingSub for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstSaturatingSub for FixedUInt<T, N, P>
Source§fn saturating_sub(&self, other: &Self) -> Self
fn saturating_sub(&self, other: &Self) -> Self
self - v, saturating at zero.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstUnboundedShift for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstUnboundedShift for FixedUInt<T, N, P>
Source§fn unbounded_shl(self, rhs: u32) -> Self
fn unbounded_shl(self, rhs: u32) -> Self
rhs is greater than or equal to the bit width of the type.Source§fn unbounded_shr(self, rhs: u32) -> Self
fn unbounded_shr(self, rhs: u32) -> Self
rhs is greater than or equal to the bit width of the type.Source§impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> ConstWideningMul for FixedUInt<T, N, P>
impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> ConstWideningMul for FixedUInt<T, N, P>
Source§fn widening_mul(self, rhs: Self) -> (Self, Self)
fn widening_mul(self, rhs: Self) -> (Self, Self)
self * rhs without overflow. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingAdd for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingAdd for FixedUInt<T, N, P>
Source§fn wrapping_add(&self, other: &Self) -> Self
fn wrapping_add(&self, other: &Self) -> Self
self + v, wrapping around at the boundary of the type.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingMul for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingMul for FixedUInt<T, N, P>
Source§fn wrapping_mul(&self, other: &Self) -> Self
fn wrapping_mul(&self, other: &Self) -> Self
self * v, wrapping around at the boundary of the type.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingShl for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingShl for FixedUInt<T, N, P>
Source§fn wrapping_shl(&self, bits: u32) -> Self
fn wrapping_shl(&self, bits: u32) -> Self
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingShr for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingShr for FixedUInt<T, N, P>
Source§fn wrapping_shr(&self, bits: u32) -> Self
fn wrapping_shr(&self, bits: u32) -> Self
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingSub for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstWrappingSub for FixedUInt<T, N, P>
Source§fn wrapping_sub(&self, other: &Self) -> Self
fn wrapping_sub(&self, other: &Self) -> Self
self - v, wrapping around at the boundary of the type.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstZero for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ConstZero for FixedUInt<T, N, P>
Source§impl<T: MachineWord + ConstantTimeEq, const N: usize> ConstantTimeEq for FixedUInt<T, N, Ct>
impl<T: MachineWord + ConstantTimeEq, const N: usize> ConstantTimeEq for FixedUInt<T, N, Ct>
Source§impl<T: MachineWord + ConstantTimeEq + ConstantTimeGreater, const N: usize> ConstantTimeGreater for FixedUInt<T, N, Ct>
impl<T: MachineWord + ConstantTimeEq + ConstantTimeGreater, const N: usize> ConstantTimeGreater for FixedUInt<T, N, Ct>
Source§impl<T: MachineWord + ConstantTimeEq + ConstantTimeGreater, const N: usize> ConstantTimeLess for FixedUInt<T, N, Ct>
impl<T: MachineWord + ConstantTimeEq + ConstantTimeGreater, const N: usize> ConstantTimeLess for FixedUInt<T, N, Ct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Default for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Default for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> Div<&FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> Div<&FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> Div<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> Div<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> Div<FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> Div<FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> DivAssign<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> DivAssign<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> DivAssign for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> DivAssign for FixedUInt<T, N, Nct>
Source§fn div_assign(&mut self, other: Self)
fn div_assign(&mut self, other: Self)
/= operation. Read moreSource§impl<T: MachineWord, const N: usize> Euclid for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> Euclid for FixedUInt<T, N, Nct>
Source§fn div_euclid(&self, v: &Self) -> Self
fn div_euclid(&self, v: &Self) -> Self
rem_euclid. Read moreSource§fn rem_euclid(&self, v: &Self) -> Self
fn rem_euclid(&self, v: &Self) -> Self
self (mod v). Read moreSource§fn div_rem_euclid(&self, v: &Self) -> (Self, Self)
fn div_rem_euclid(&self, v: &Self) -> (Self, Self)
Source§impl<T, const N: usize, P: Personality> From<[T; N]> for FixedUInt<T, N, P>where
T: MachineWord,
impl<T, const N: usize, P: Personality> From<[T; N]> for FixedUInt<T, N, P>where
T: MachineWord,
Source§impl<T: MachineWord, const N: usize> From<FixedUInt<T, N>> for FixedUInt<T, N, Ct>
Lossless conversion from Nct to Ct. Tightens the invariant
(declares that the value will be handled under the CT threat model going
forward). Bit representation is identical; this is a free reinterpretation.
impl<T: MachineWord, const N: usize> From<FixedUInt<T, N>> for FixedUInt<T, N, Ct>
Lossless conversion from Nct to Ct. Tightens the invariant
(declares that the value will be handled under the CT threat model going
forward). Bit representation is identical; this is a free reinterpretation.
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u16> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u16> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u32> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u32> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u64> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u64> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u8> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> From<u8> for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize, P: Personality> FromPrimitive for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> FromPrimitive for FixedUInt<T, N, P>
Source§fn from_i64(_: i64) -> Option<Self>
fn from_i64(_: i64) -> Option<Self>
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_u64(input: u64) -> Option<Self>
fn from_u64(input: u64) -> Option<Self>
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_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
isize 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<Self>
fn from_i8(n: i8) -> Option<Self>
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<Self>
fn from_i16(n: i16) -> Option<Self>
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<Self>
fn from_i32(n: i32) -> Option<Self>
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_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
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_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
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_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
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<Self>
fn from_u16(n: u16) -> Option<Self>
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<Self>
fn from_u32(n: u32) -> Option<Self>
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_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
u128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read moreSource§impl<T: MachineWord, const N: usize> Integer for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> Integer for FixedUInt<T, N, Nct>
Source§fn divides(&self, other: &Self) -> bool
fn divides(&self, other: &Self) -> bool
Please use is_multiple_of instead
is_multiple_of instead.Source§fn is_multiple_of(&self, other: &Self) -> bool
fn is_multiple_of(&self, other: &Self) -> bool
Source§fn div_rem(&self, other: &Self) -> (Self, Self)
fn div_rem(&self, other: &Self) -> (Self, Self)
(quotient, remainder). Read moreSource§fn gcd_lcm(&self, other: &Self) -> (Self, Self)
fn gcd_lcm(&self, other: &Self) -> (Self, Self)
Source§fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
fn extended_gcd(&self, other: &Self) -> ExtendedGcd<Self>where
Self: Clone,
Source§fn div_mod_floor(&self, other: &Self) -> (Self, Self)
fn div_mod_floor(&self, other: &Self) -> (Self, Self)
(quotient, remainder). Read moreSource§fn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn next_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
Source§fn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
fn prev_multiple_of(&self, other: &Self) -> Selfwhere
Self: Clone,
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<&&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<&&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<&FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Mul for FixedUInt<T, N, P>
Source§impl<T, const N: usize> MulAccOps for FixedUInt<T, N, Nct>
impl<T, const N: usize> MulAccOps for FixedUInt<T, N, Nct>
Source§type GetWordOutput = Option<T>
type GetWordOutput = Option<T>
get_word: Option<Word> for Nct implementations,
subtle::CtOption<Word> for Ct implementations. The discriminant
shape encodes the call site’s CT contract — Option matches via
Some/None (NCT-callable), CtOption exposes only subtle-backed
methods (CT-callable).Source§fn get_word(&self, i: usize) -> Option<T>
fn get_word(&self, i: usize) -> Option<T>
i-th word (little-endian, i = 0 is least significant).
Returns the personality-appropriate “maybe-a-word” type:
Option<Self::Word> for NCT impls (O(1) fast path),
subtle::CtOption<Self::Word> for CT impls (O(N) constant-time scan).Source§fn word_count() -> usize
fn word_count() -> usize
Source§fn mul_acc_row(scalar: T, multiplicand: &Self, acc: &mut Self, carry_in: T) -> T
fn mul_acc_row(scalar: T, multiplicand: &Self, acc: &mut Self, carry_in: T) -> T
acc += scalar * multiplicand Read moreSource§fn mul_acc_shift_row(
scalar: T,
multiplicand: &Self,
acc: &mut Self,
acc_hi: T,
) -> T
fn mul_acc_shift_row( scalar: T, multiplicand: &Self, acc: &mut Self, acc_hi: T, ) -> T
[acc, acc_hi] = ([acc, acc_hi] + scalar * multiplicand) >> word_bits Read moreSource§impl<T, const N: usize> MulAccOps for FixedUInt<T, N, Ct>
impl<T, const N: usize> MulAccOps for FixedUInt<T, N, Ct>
Source§type GetWordOutput = CtOption<T>
type GetWordOutput = CtOption<T>
get_word: Option<Word> for Nct implementations,
subtle::CtOption<Word> for Ct implementations. The discriminant
shape encodes the call site’s CT contract — Option matches via
Some/None (NCT-callable), CtOption exposes only subtle-backed
methods (CT-callable).Source§fn get_word(&self, i: usize) -> CtOption<T>
fn get_word(&self, i: usize) -> CtOption<T>
i-th word (little-endian, i = 0 is least significant).
Returns the personality-appropriate “maybe-a-word” type:
Option<Self::Word> for NCT impls (O(1) fast path),
subtle::CtOption<Self::Word> for CT impls (O(N) constant-time scan).Source§fn word_count() -> usize
fn word_count() -> usize
Source§fn mul_acc_row(scalar: T, multiplicand: &Self, acc: &mut Self, carry_in: T) -> T
fn mul_acc_row(scalar: T, multiplicand: &Self, acc: &mut Self, carry_in: T) -> T
acc += scalar * multiplicand Read moreSource§fn mul_acc_shift_row(
scalar: T,
multiplicand: &Self,
acc: &mut Self,
acc_hi: T,
) -> T
fn mul_acc_shift_row( scalar: T, multiplicand: &Self, acc: &mut Self, acc_hi: T, ) -> T
[acc, acc_hi] = ([acc, acc_hi] + scalar * multiplicand) >> word_bits Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> MulAssign<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> MulAssign<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§fn mul_assign(&mut self, other: &FixedUInt<T, N, P>)
fn mul_assign(&mut self, other: &FixedUInt<T, N, P>)
*= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> MulAssign for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> MulAssign for FixedUInt<T, N, P>
Source§fn mul_assign(&mut self, other: Self)
fn mul_assign(&mut self, other: Self)
*= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Not for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Not for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize> Num for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> Num for FixedUInt<T, N, Nct>
type FromStrRadixErr = ParseIntError
Source§fn from_str_radix(
input: &str,
radix: u32,
) -> Result<Self, <Self as Num>::FromStrRadixErr>
fn from_str_radix( input: &str, radix: u32, ) -> Result<Self, <Self as Num>::FromStrRadixErr>
2..=36). Read moreSource§impl<T: MachineWord, const N: usize, P: Personality> NumCast for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> NumCast for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize, P: Personality> One for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> One for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Ord for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Ord for FixedUInt<T, N, P>
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl<T: MachineWord, const N: usize, P: Personality> OverflowingAdd for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> OverflowingAdd for FixedUInt<T, N, P>
Source§fn overflowing_add(&self, other: &Self) -> (Self, bool)
fn overflowing_add(&self, other: &Self) -> (Self, bool)
Source§impl<T: MachineWord, const N: usize, P: Personality> OverflowingMul for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> OverflowingMul for FixedUInt<T, N, P>
Source§fn overflowing_mul(&self, other: &Self) -> (Self, bool)
fn overflowing_mul(&self, other: &Self) -> (Self, bool)
Source§impl<T: MachineWord, const N: usize, P: Personality> OverflowingShl for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> OverflowingShl for FixedUInt<T, N, P>
fn overflowing_shl(self, bits: u32) -> (Self, bool)
Source§impl<T: MachineWord, const N: usize, P: Personality> OverflowingShr for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> OverflowingShr for FixedUInt<T, N, P>
fn overflowing_shr(self, bits: u32) -> (Self, bool)
Source§impl<T: MachineWord, const N: usize, P: Personality> OverflowingSub for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> OverflowingSub for FixedUInt<T, N, P>
Source§fn overflowing_sub(&self, other: &Self) -> (Self, bool)
fn overflowing_sub(&self, other: &Self) -> (Self, bool)
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> PartialEq for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> PartialEq for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> PartialOrd for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> PartialOrd for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize> PrimInt for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> PrimInt for FixedUInt<T, N, Nct>
Source§fn count_ones(self) -> u32
fn count_ones(self) -> u32
self. Read moreSource§fn count_zeros(self) -> u32
fn count_zeros(self) -> u32
self. Read moreSource§fn leading_zeros(self) -> u32
fn leading_zeros(self) -> u32
self. Read moreSource§fn trailing_zeros(self) -> u32
fn trailing_zeros(self) -> u32
self. Read moreSource§fn rotate_left(self, bits: u32) -> Self
fn rotate_left(self, bits: u32) -> Self
n, wrapping
the truncated bits to the end of the resulting integer. Read moreSource§fn rotate_right(self, bits: u32) -> Self
fn rotate_right(self, bits: u32) -> Self
n, wrapping
the truncated bits to the beginning of the resulting integer. Read moreSource§fn signed_shl(self, bits: u32) -> Self
fn signed_shl(self, bits: u32) -> Self
n, filling
zeros in the least significant bits. Read moreSource§fn signed_shr(self, bits: u32) -> Self
fn signed_shr(self, bits: u32) -> Self
n, copying
the “sign bit” in the most significant bits even for unsigned types. Read moreSource§fn unsigned_shl(self, bits: u32) -> Self
fn unsigned_shl(self, bits: u32) -> Self
n, filling
zeros in the least significant bits. Read moreSource§fn unsigned_shr(self, bits: u32) -> Self
fn unsigned_shr(self, bits: u32) -> Self
n, filling
zeros in the most significant bits. Read moreSource§fn swap_bytes(self) -> Self
fn swap_bytes(self) -> Self
Source§fn from_be(source: Self) -> Self
fn from_be(source: Self) -> Self
Source§fn from_le(source: Self) -> Self
fn from_le(source: Self) -> Self
Source§fn pow(self, exp: u32) -> Self
fn pow(self, exp: u32) -> Self
exp, using exponentiation by squaring. Read moreSource§fn leading_ones(self) -> u32
fn leading_ones(self) -> u32
self. Read moreSource§fn trailing_ones(self) -> u32
fn trailing_ones(self) -> u32
self. Read moreSource§fn reverse_bits(self) -> Self
fn reverse_bits(self) -> Self
Source§impl<'a, T: MachineWord, const N: usize, P: Personality> Product<&'a FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<'a, T: MachineWord, const N: usize, P: Personality> Product<&'a FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize, P: Personality> Product for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> Product for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> Rem<&FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> Rem<&FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> Rem<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> Rem<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> Rem<FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> Rem<FixedUInt<T, N>> for &FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> RemAssign<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> RemAssign<&FixedUInt<T, N>> for FixedUInt<T, N, Nct>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize> RemAssign for FixedUInt<T, N, Nct>
impl<T: ConstMachineWord + MachineWord, const N: usize> RemAssign for FixedUInt<T, N, Nct>
Source§fn rem_assign(&mut self, other: Self)
fn rem_assign(&mut self, other: Self)
%= operation. Read moreSource§impl<T: MachineWord, const N: usize> Roots for FixedUInt<T, N, Nct>
impl<T: MachineWord, const N: usize> Roots for FixedUInt<T, N, Nct>
Source§impl<T: MachineWord, const N: usize, P: Personality> Saturating for FixedUInt<T, N, P>
Note: This is marked deprecated, but still used by PrimInt
impl<T: MachineWord, const N: usize, P: Personality> Saturating for FixedUInt<T, N, P>
Note: This is marked deprecated, but still used by PrimInt
Source§fn saturating_add(self, other: Self) -> Self
fn saturating_add(self, other: Self) -> Self
Source§fn saturating_sub(self, other: Self) -> Self
fn saturating_sub(self, other: Self) -> Self
Source§impl<T: MachineWord, const N: usize, P: Personality> SaturatingAdd for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> SaturatingAdd for FixedUInt<T, N, P>
Source§fn saturating_add(&self, other: &Self) -> Self
fn saturating_add(&self, other: &Self) -> Self
self + other, saturating at the relevant high or low boundary of
the type.Source§impl<T: MachineWord, const N: usize, P: Personality> SaturatingMul for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> SaturatingMul for FixedUInt<T, N, P>
Source§fn saturating_mul(&self, other: &Self) -> Self
fn saturating_mul(&self, other: &Self) -> Self
self * other, saturating at the relevant high or low boundary of
the type.Source§impl<T: MachineWord, const N: usize, P: Personality> SaturatingSub for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> SaturatingSub for FixedUInt<T, N, P>
Source§fn saturating_sub(&self, other: &Self) -> Self
fn saturating_sub(&self, other: &Self) -> Self
self - other, saturating at the relevant high or low boundary of
the type.Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&u32> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&u32> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&u32> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&u32> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&usize> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&usize> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<&usize> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<u32> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<u32> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<u32> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<u32> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<usize> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<usize> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shl<usize> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShlAssign<&usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShlAssign<&usize> for FixedUInt<T, N, P>
Source§fn shl_assign(&mut self, bits: &usize)
fn shl_assign(&mut self, bits: &usize)
<<= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShlAssign<usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShlAssign<usize> for FixedUInt<T, N, P>
Source§fn shl_assign(&mut self, bits: usize)
fn shl_assign(&mut self, bits: usize)
<<= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&u32> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&u32> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&u32> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&u32> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&usize> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&usize> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<&usize> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<u32> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<u32> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<u32> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<u32> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<usize> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<usize> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Shr<usize> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShrAssign<&usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShrAssign<&usize> for FixedUInt<T, N, P>
Source§fn shr_assign(&mut self, bits: &usize)
fn shr_assign(&mut self, bits: &usize)
>>= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShrAssign<usize> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> ShrAssign<usize> for FixedUInt<T, N, P>
Source§fn shr_assign(&mut self, bits: usize)
fn shr_assign(&mut self, bits: usize)
>>= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub<FixedUInt<T, N, P>> for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub for &FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub for &FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Sub for FixedUInt<T, N, P>
Source§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> SubAssign<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> SubAssign<&FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§fn sub_assign(&mut self, other: &Self)
fn sub_assign(&mut self, other: &Self)
-= operation. Read moreSource§impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> SubAssign for FixedUInt<T, N, P>
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> SubAssign for FixedUInt<T, N, P>
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-= operation. Read moreSource§impl<'a, T: MachineWord, const N: usize, P: Personality> Sum<&'a FixedUInt<T, N, P>> for FixedUInt<T, N, P>
impl<'a, T: MachineWord, const N: usize, P: Personality> Sum<&'a FixedUInt<T, N, P>> for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize, P: Personality> Sum for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> Sum for FixedUInt<T, N, P>
Source§impl<T: MachineWord, const N: usize, P: Personality> ToPrimitive for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> ToPrimitive for FixedUInt<T, N, P>
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_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_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§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_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_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_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_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§impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> WideningMul for &FixedUInt<T, N, P>
Ref-based widening multiplication — allows calling with references.
impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> WideningMul for &FixedUInt<T, N, P>
Ref-based widening multiplication — allows calling with references.
Source§impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> WideningMul for FixedUInt<T, N, P>
Non-const widening multiplication that delegates to ConstWideningMul.
impl<T: ConstMachineWord + ConstCarryingAdd + ConstBorrowingSub + MachineWord, const N: usize, P: Personality> WideningMul for FixedUInt<T, N, P>
Non-const widening multiplication that delegates to ConstWideningMul.
Source§impl<T: MachineWord, const N: usize, P: Personality> WrappingAdd for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> WrappingAdd for FixedUInt<T, N, P>
Source§fn wrapping_add(&self, other: &Self) -> Self
fn wrapping_add(&self, other: &Self) -> Self
self + other, wrapping around at the boundary of
the type.Source§impl<T: MachineWord, const N: usize, P: Personality> WrappingMul for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> WrappingMul for FixedUInt<T, N, P>
Source§fn wrapping_mul(&self, other: &Self) -> Self
fn wrapping_mul(&self, other: &Self) -> Self
self * other, wrapping around at the boundary
of the type.Source§impl<T: MachineWord, const N: usize, P: Personality> WrappingShl for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> WrappingShl for FixedUInt<T, N, P>
Source§fn wrapping_shl(&self, bits: u32) -> Self
fn wrapping_shl(&self, bits: u32) -> Self
self << mask(rhs),
where mask removes any high order bits of rhs that would
cause the shift to exceed the bitwidth of the type. Read moreSource§impl<T: MachineWord, const N: usize, P: Personality> WrappingShr for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> WrappingShr for FixedUInt<T, N, P>
Source§fn wrapping_shr(&self, bits: u32) -> Self
fn wrapping_shr(&self, bits: u32) -> Self
self >> mask(rhs),
where mask removes any high order bits of rhs that would
cause the shift to exceed the bitwidth of the type. Read moreSource§impl<T: MachineWord, const N: usize, P: Personality> WrappingSub for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> WrappingSub for FixedUInt<T, N, P>
Source§fn wrapping_sub(&self, other: &Self) -> Self
fn wrapping_sub(&self, other: &Self) -> Self
self - other, wrapping around at the boundary
of the type.Source§impl<T: MachineWord, const N: usize, P: Personality> Zero for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize, P: Personality> Zero for FixedUInt<T, N, P>
impl<T, const N: usize, P: Copy + Personality> Copy for FixedUInt<T, N, P>where
T: MachineWord + Copy,
impl<T: ConstMachineWord + MachineWord, const N: usize, P: Personality> Eq for FixedUInt<T, N, P>
impl<T: MachineWord, const N: usize> Unsigned for FixedUInt<T, N, Nct>
Auto Trait Implementations§
impl<T, const N: usize, P> Freeze for FixedUInt<T, N, P>where
T: Freeze,
impl<T, const N: usize, P> RefUnwindSafe for FixedUInt<T, N, P>where
T: RefUnwindSafe,
impl<T, const N: usize, P> Send for FixedUInt<T, N, P>where
T: Send,
impl<T, const N: usize, P> Sync for FixedUInt<T, N, P>where
T: Sync,
impl<T, const N: usize, P> Unpin for FixedUInt<T, N, P>where
T: Unpin,
impl<T, const N: usize, P> UnsafeUnpin for FixedUInt<T, N, P>where
T: UnsafeUnpin,
impl<T, const N: usize, P> UnwindSafe for FixedUInt<T, N, P>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<I> Average for I
impl<I> Average for I
Source§fn average_floor(&self, other: &I) -> I
fn average_floor(&self, other: &I) -> I
Returns the floor value of the average of self and other.
Source§fn average_ceil(&self, other: &I) -> I
fn average_ceil(&self, other: &I) -> I
Returns the ceil value of the average of self and other.