[go: up one dir, main page]

CordicNumber

Trait CordicNumber 

Source
pub trait CordicNumber:
    Copy
    + PartialOrd
    + AddAssign
    + SubAssign
    + Div<Output = Self>
    + Mul<Output = Self>
    + Neg<Output = Self>
    + Sub<Output = Self>
    + Add<Output = Self>
    + Shr<u8, Output = Self>
    + Shl<u8, Output = Self> {
    // Required methods
    fn floor(self) -> Self;
    fn zero() -> Self;
    fn one() -> Self;
    fn frac_pi_2() -> Self;
    fn pi() -> Self;
    fn e() -> Self;
    fn from_u0f64(val: U0F64) -> Self;
    fn num_fract_bits() -> u8;
    fn num_bits() -> u8;

    // Provided method
    fn half() -> Self { ... }
}
Expand description

A number that can be used by the CORDIC-based algorithms.

This covers most fixed-point numbers, with some restriction on the maximal number of decimal bits in order to allow some constraints (like PI) to fit.

Required Methods§

Source

fn floor(self) -> Self

Source

fn zero() -> Self

Source

fn one() -> Self

Source

fn frac_pi_2() -> Self

Source

fn pi() -> Self

Source

fn e() -> Self

Source

fn from_u0f64(val: U0F64) -> Self

Source

fn num_fract_bits() -> u8

Source

fn num_bits() -> u8

Provided Methods§

Source

fn half() -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<Fract> CordicNumber for FixedI8<Fract>
where Fract: 'static + Unsigned + IsLessOrEqual<U8, Output = True> + IsLessOrEqual<U6, Output = True> + IsLessOrEqual<U5, Output = True>,

Source§

fn floor(self) -> Self

Source§

fn zero() -> Self

Source§

fn one() -> Self

Source§

fn frac_pi_2() -> Self

Source§

fn pi() -> Self

Source§

fn e() -> Self

Source§

fn from_u0f64(val: U0F64) -> Self

Source§

fn num_fract_bits() -> u8

Source§

fn num_bits() -> u8

Source§

impl<Fract> CordicNumber for FixedI16<Fract>
where Fract: 'static + Unsigned + IsLessOrEqual<U16, Output = True> + IsLessOrEqual<U14, Output = True> + IsLessOrEqual<U13, Output = True>,

Source§

fn floor(self) -> Self

Source§

fn zero() -> Self

Source§

fn one() -> Self

Source§

fn frac_pi_2() -> Self

Source§

fn pi() -> Self

Source§

fn e() -> Self

Source§

fn from_u0f64(val: U0F64) -> Self

Source§

fn num_fract_bits() -> u8

Source§

fn num_bits() -> u8

Source§

impl<Fract> CordicNumber for FixedI32<Fract>
where Fract: 'static + Unsigned + IsLessOrEqual<U32, Output = True> + IsLessOrEqual<U30, Output = True> + IsLessOrEqual<U29, Output = True>,

Source§

fn floor(self) -> Self

Source§

fn zero() -> Self

Source§

fn one() -> Self

Source§

fn frac_pi_2() -> Self

Source§

fn pi() -> Self

Source§

fn e() -> Self

Source§

fn from_u0f64(val: U0F64) -> Self

Source§

fn num_fract_bits() -> u8

Source§

fn num_bits() -> u8

Source§

impl<Fract> CordicNumber for FixedI64<Fract>
where Fract: 'static + Unsigned + IsLessOrEqual<U64, Output = True> + IsLessOrEqual<U62, Output = True> + IsLessOrEqual<U61, Output = True>,

Source§

fn floor(self) -> Self

Source§

fn zero() -> Self

Source§

fn one() -> Self

Source§

fn frac_pi_2() -> Self

Source§

fn pi() -> Self

Source§

fn e() -> Self

Source§

fn from_u0f64(val: U0F64) -> Self

Source§

fn num_fract_bits() -> u8

Source§

fn num_bits() -> u8

Implementors§