Trait Fft

Source
pub trait Fft {
    type Real: Copy;

    // Required methods
    fn size(&self) -> usize;
    fn transform_in_place(
        &self,
        input: &mut [Complex<Self::Real>],
        transform: Transform,
    );

    // Provided methods
    fn transform(
        &self,
        input: &[Complex<Self::Real>],
        output: &mut [Complex<Self::Real>],
        transform: Transform,
    ) { ... }
    fn fft_in_place(&self, input: &mut [Complex<Self::Real>]) { ... }
    fn ifft_in_place(&self, input: &mut [Complex<Self::Real>]) { ... }
    fn fft(
        &self,
        input: &[Complex<Self::Real>],
        output: &mut [Complex<Self::Real>],
    ) { ... }
    fn ifft(
        &self,
        input: &[Complex<Self::Real>],
        output: &mut [Complex<Self::Real>],
    ) { ... }
}
Expand description

The interface for performing FFTs.

Required Associated Types§

Source

type Real: Copy

The real type used by the FFT.

Required Methods§

Source

fn size(&self) -> usize

The size of the FFT.

Source

fn transform_in_place( &self, input: &mut [Complex<Self::Real>], transform: Transform, )

Apply an FFT or IFFT in-place.

Provided Methods§

Source

fn transform( &self, input: &[Complex<Self::Real>], output: &mut [Complex<Self::Real>], transform: Transform, )

Apply an FFT or IFFT out-of-place.

Source

fn fft_in_place(&self, input: &mut [Complex<Self::Real>])

Apply an FFT in-place.

Source

fn ifft_in_place(&self, input: &mut [Complex<Self::Real>])

Apply an IFFT in-place.

Source

fn fft(&self, input: &[Complex<Self::Real>], output: &mut [Complex<Self::Real>])

Apply an FFT out-of-place.

Source

fn ifft( &self, input: &[Complex<Self::Real>], output: &mut [Complex<Self::Real>], )

Apply an IFFT out-of-place.

Implementors§

Source§

impl<InnerFft: Fft<Real = f32>, WTwiddles: AsRef<[Complex<f32>]>, XTwiddles: AsRef<[Complex<f32>]>, Work: AsMut<[Complex<f32>]>> Fft for Bluesteins<f32, InnerFft, WTwiddles, XTwiddles, Work>

Source§

impl<InnerFft: Fft<Real = f64>, WTwiddles: AsRef<[Complex<f64>]>, XTwiddles: AsRef<[Complex<f64>]>, Work: AsMut<[Complex<f64>]>> Fft for Bluesteins<f64, InnerFft, WTwiddles, XTwiddles, Work>

Source§

impl<Twiddles: AsRef<[Complex<f32>]>, Work: AsMut<[Complex<f32>]>> Fft for Autosort<f32, Twiddles, Work>

Source§

impl<Twiddles: AsRef<[Complex<f64>]>, Work: AsMut<[Complex<f64>]>> Fft for Autosort<f64, Twiddles, Work>