pub trait FixedUnsigned: Fixed
where Self: Div<<Self as Fixed>::NonZeroBits, Output = Self> + DivAssign<<Self as Fixed>::NonZeroBits>,
{
Show 19 methods // Required methods fn significant_bits(self) -> u32; fn is_power_of_two(self) -> bool; fn highest_one(self) -> Self; fn next_power_of_two(self) -> Self; fn add_signed(self, rhs: Self::Signed) -> Self; fn sub_signed(self, rhs: Self::Signed) -> Self; fn checked_next_power_of_two(self) -> Option<Self>; fn checked_add_signed(self, rhs: Self::Signed) -> Option<Self>; fn checked_sub_signed(self, rhs: Self::Signed) -> Option<Self>; fn saturating_add_signed(self, rhs: Self::Signed) -> Self; fn saturating_sub_signed(self, rhs: Self::Signed) -> Self; fn wrapping_next_power_of_two(self) -> Self; fn wrapping_add_signed(self, rhs: Self::Signed) -> Self; fn wrapping_sub_signed(self, rhs: Self::Signed) -> Self; fn unwrapped_next_power_of_two(self) -> Self; fn unwrapped_add_signed(self, rhs: Self::Signed) -> Self; fn unwrapped_sub_signed(self, rhs: Self::Signed) -> Self; fn overflowing_add_signed(self, rhs: Self::Signed) -> (Self, bool); fn overflowing_sub_signed(self, rhs: Self::Signed) -> (Self, bool);
}
Expand description

This trait provides methods common to all unsigned fixed-point numbers.

Methods common to all fixed-point numbers including signed fixed-point numbers are provided by the Fixed supertrait.

This trait is sealed and cannot be implemented for more types; it is implemented for FixedU8, FixedU16, FixedU32, FixedU64, and FixedU128.

Required Methods§

source

fn significant_bits(self) -> u32

Returns the number of bits required to represent the value.

See also FixedU32::significant_bits.

source

fn is_power_of_two(self) -> bool

Returns true if the fixed-point number is 2k for some integer k.

See also FixedU32::is_power_of_two.

source

fn highest_one(self) -> Self

Returns the highest one in the binary representation, or zero if self is zero.

See also FixedU32::highest_one.

source

fn next_power_of_two(self) -> Self

Returns the smallest power of two that is ≥ self.

See also FixedU32::next_power_of_two.

source

fn add_signed(self, rhs: Self::Signed) -> Self

Addition with an signed fixed-point number.

See also FixedU32::add_signed.

source

fn sub_signed(self, rhs: Self::Signed) -> Self

Subtraction with an signed fixed-point number.

See also FixedU32::sub_signed.

source

fn checked_next_power_of_two(self) -> Option<Self>

Returns the smallest power of two that is ≥ self, or None if the next power of two is too large to represent.

See also FixedU32::checked_next_power_of_two.

source

fn checked_add_signed(self, rhs: Self::Signed) -> Option<Self>

Checked addition with an signed fixed-point number. Returns the sum, or None on overflow.

See also FixedU32::checked_add_signed.

source

fn checked_sub_signed(self, rhs: Self::Signed) -> Option<Self>

Checked subtraction with an signed fixed-point number. Returns the difference, or None on overflow.

See also FixedU32::checked_sub_signed.

source

fn saturating_add_signed(self, rhs: Self::Signed) -> Self

Saturating addition with an signed fixed-point number. Returns the sum, saturating on overflow.

See also FixedU32::saturating_add_signed.

source

fn saturating_sub_signed(self, rhs: Self::Signed) -> Self

Saturating subtraction with an signed fixed-point number. Returns the difference, saturating on overflow.

See also FixedU32::saturating_sub_signed.

source

fn wrapping_next_power_of_two(self) -> Self

Returns the smallest power of two that is ≥ self, wrapping to 0 if the next power of two is too large to represent.

See also FixedU32::wrapping_next_power_of_two.

source

fn wrapping_add_signed(self, rhs: Self::Signed) -> Self

Wrapping addition with an signed fixed-point number. Returns the sum, wrapping on overflow.

See also FixedU32::wrapping_add_signed.

source

fn wrapping_sub_signed(self, rhs: Self::Signed) -> Self

Wrapping subtraction with an signed fixed-point number. Returns the difference, wrapping on overflow.

See also FixedU32::wrapping_sub_signed.

source

fn unwrapped_next_power_of_two(self) -> Self

Returns the smallest power of two that is ≥ self, panicking if the next power of two is too large to represent.

See also FixedU32::unwrapped_next_power_of_two.

§Panics

Panics if the result does not fit.

source

fn unwrapped_add_signed(self, rhs: Self::Signed) -> Self

Unwrapped addition with an signed fixed-point number. Returns the sum, panicking on overflow.

See also FixedU32::unwrapped_add_signed.

§Panics

Panics if the result does not fit.

source

fn unwrapped_sub_signed(self, rhs: Self::Signed) -> Self

Unwrapped subtraction with an signed fixed-point number. Returns the difference, panicking on overflow.

See also FixedU32::unwrapped_sub_signed.

§Panics

Panics if the result does not fit.

source

fn overflowing_add_signed(self, rhs: Self::Signed) -> (Self, bool)

Overflowing addition with an signed fixed-point number.

Returns a tuple of the sum and a bool, indicating whether an overflow has occurred. On overflow, the wrapped value is returned.

See also FixedU32::overflowing_add_signed.

source

fn overflowing_sub_signed(self, rhs: Self::Signed) -> (Self, bool)

Overflowing subtraction with an signed fixed-point number.

Returns a tuple of the difference and a bool, indicating whether an overflow has occurred. On overflow, the wrapped value is returned.

See also FixedU32::overflowing_sub_signed.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Frac: LeEqU8> FixedUnsigned for FixedU8<Frac>

source§

impl<Frac: LeEqU16> FixedUnsigned for FixedU16<Frac>

source§

impl<Frac: LeEqU32> FixedUnsigned for FixedU32<Frac>

source§

impl<Frac: LeEqU64> FixedUnsigned for FixedU64<Frac>

source§

impl<Frac: LeEqU128> FixedUnsigned for FixedU128<Frac>