[][src]Trait contest_algorithms::math::fft::FFT

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;

    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; }

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>

Loading content...

Associated Constants

const ZERO: Self

Loading content...

Required methods

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

fn get_factor(n: usize, inverse: bool) -> Self::F

1 for forward transform, 1/n for inverse transform

fn extract(f: Self::F) -> Self

The inverse of Self::F::from()

Loading content...

Implementations on Foreign Types

impl FFT for f64[src]

type F = Complex

impl FFT for i64[src]

type F = Field

Loading content...

Implementors

Loading content...