Skip to main content

FixedPoint

Trait FixedPoint 

Source
pub trait FixedPoint: Sized + Copy {
    type T: TimeInt;

    const SCALING_FACTOR: Fraction;

    // Required method
    fn integer(&self) -> Self::T;

    // Provided methods
    fn checked_mul(&self, rhs: &Self::T) -> Option<Self> { ... }
    fn checked_div(&self, rhs: &Self::T) -> Option<Self> { ... }
    fn min_value() -> Self::T { ... }
    fn max_value() -> Self::T { ... }
}
Expand description

Fixed-point value type

QX.32 where X: bit-width of T

Required Associated Constants§

Source

const SCALING_FACTOR: Fraction

The fractional scaling factor

Required Associated Types§

Source

type T: TimeInt

The integer (magnitude) type

Required Methods§

Source

fn integer(&self) -> Self::T

Returns the integer part of the FixedPoint value

assert_eq!(Hertz(45_u32).integer(), 45_u32);

Provided Methods§

Source

fn checked_mul(&self, rhs: &Self::T) -> Option<Self>

Multiply with overflow checking

Source

fn checked_div(&self, rhs: &Self::T) -> Option<Self>

Multiply with overflow checking

Source

fn min_value() -> Self::T

Returns the minimum integer value

Source

fn max_value() -> Self::T

Returns the maximum integer value

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<T: TimeInt> FixedPoint for Baud<T>

Source§

impl<T: TimeInt> FixedPoint for BitsPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for BytesPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for Centihertz<T>

Source§

impl<T: TimeInt> FixedPoint for Decihertz<T>

Source§

impl<T: TimeInt> FixedPoint for Hertz<T>

Source§

impl<T: TimeInt> FixedPoint for Hours<T>

Source§

impl<T: TimeInt> FixedPoint for Kibibaud<T>

Source§

impl<T: TimeInt> FixedPoint for KibibitsPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for KibibytesPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for Kibihertz<T>

Source§

impl<T: TimeInt> FixedPoint for Kilobaud<T>

Source§

impl<T: TimeInt> FixedPoint for KilobitsPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for KilobytesPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for Kilohertz<T>

Source§

impl<T: TimeInt> FixedPoint for Mebibaud<T>

Source§

impl<T: TimeInt> FixedPoint for MebibitsPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for MebibytesPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for Mebihertz<T>

Source§

impl<T: TimeInt> FixedPoint for Megabaud<T>

Source§

impl<T: TimeInt> FixedPoint for MegabitsPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for MegabytesPerSecond<T>

Source§

impl<T: TimeInt> FixedPoint for Megahertz<T>

Source§

impl<T: TimeInt> FixedPoint for Microhertz<T>

Source§

impl<T: TimeInt> FixedPoint for Microseconds<T>

Source§

impl<T: TimeInt> FixedPoint for Millihertz<T>

Source§

impl<T: TimeInt> FixedPoint for Milliseconds<T>

Source§

impl<T: TimeInt> FixedPoint for Minutes<T>

Source§

impl<T: TimeInt> FixedPoint for Nanoseconds<T>

Source§

impl<T: TimeInt> FixedPoint for Seconds<T>