[−][src]Trait rustfft::FFT
An umbrella trait for all available FFT algorithms
Required methods
fn process(&self, input: &mut [Complex<T>], output: &mut [Complex<T>])
Computes an FFT on the input
buffer and places the result in the output
buffer.
The output is not normalized. Callers must manually normalize the results by scaling each element by
1/len().sqrt()
. Multiple normalization steps can be merged into one via pairwise multiplication, so when
doing a forward FFT followed by an inverse FFT, callers can normalize once by scaling each element by 1/len()
This method uses the input
buffer as scratch space, so the contents of input
should be considered garbage
after calling
fn process_multi(&self, input: &mut [Complex<T>], output: &mut [Complex<T>])
Divides the input
and output
buffers into chunks of length self.len(), then computes an FFT on each chunk.
The output is not normalized. Callers must manually normalize the results by scaling each element by
1/len().sqrt()
. Multiple normalization steps can be merged into one via pairwise multiplication, so when
doing a forward FFT followed by an inverse FFT, callers can normalize once by scaling each element by 1/len()
This method uses the input
buffer as scratch space, so the contents of input
should be considered garbage
after calling