pub trait FFT: Sized + Copy {
type F: Sized + Copy + From<Self> + Neg + Add<Output = Self::F> + Div<Output = Self::F> + Mul<Output = Self::F> + Sub<Output = Self::F>;
const ZERO: Self;
// Required methods
fn get_roots(n: usize, inverse: bool) -> Vec<Self::F>;
fn get_factor(n: usize, inverse: bool) -> Self::F;
fn extract(f: Self::F) -> Self;
}
Required Associated Constants§
Required Associated Types§
type F: Sized + Copy + From<Self> + Neg + Add<Output = Self::F> + Div<Output = Self::F> + Mul<Output = Self::F> + Sub<Output = Self::F>
Required Methods§
Sourcefn get_roots(n: usize, inverse: bool) -> Vec<Self::F>
fn get_roots(n: usize, inverse: bool) -> Vec<Self::F>
A primitive nth root of one raised to the powers 0, 1, 2, …, n/2 - 1
Sourcefn get_factor(n: usize, inverse: bool) -> Self::F
fn get_factor(n: usize, inverse: bool) -> Self::F
1 for forward transform, 1/n for inverse transform
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.