Struct rustfft::algorithm::DFT[][src]

pub struct DFT<T> { /* fields omitted */ }

Naive O(n^2 ) Discrete Fourier Transform implementation

This implementation is primarily used to test other FFT algorithms. In a few rare cases, such as small Cunningham Chain primes, this can be faster than the O(nlogn) algorithms

// Computes a naive DFT of size 1234
use rustfft::algorithm::DFT;
use rustfft::FFT;
use rustfft::num_complex::Complex;
use rustfft::num_traits::Zero;

let mut input:  Vec<Complex<f32>> = vec![Zero::zero(); 1234];
let mut output: Vec<Complex<f32>> = vec![Zero::zero(); 1234];

let dft = DFT::new(1234, false);
dft.process(&mut input, &mut output);

Methods

impl<T: FFTnum> DFT<T>
[src]

Preallocates necessary arrays and precomputes necessary data to efficiently compute DFT

Trait Implementations

impl<T: FFTnum> FFT<T> for DFT<T>
[src]

Computes an FFT on the input buffer and places the result in the output buffer. Read more

Divides the input and output buffers into chunks of length self.len(), then computes an FFT on each chunk. Read more

impl<T> Length for DFT<T>
[src]

The FFT size that this algorithm can process

impl<T> IsInverse for DFT<T>
[src]

Returns false if this instance computes forward FFTs, true for inverse FFTs

Auto Trait Implementations

impl<T> Send for DFT<T> where
    T: Send

impl<T> Sync for DFT<T> where
    T: Sync