pub trait FFT<T: FFTnum>: Length + IsInverse + Sync + Send {
fn process(&self, input: &mut [Complex<T>], output: &mut [Complex<T>]);
fn process_multi(&self, input: &mut [Complex<T>], output: &mut [Complex<T>]);
}
Expand description
An umbrella trait for all available FFT algorithms
Required Methods
sourcefn process(&self, input: &mut [Complex<T>], output: &mut [Complex<T>])
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.
This method uses the input
buffer as scratch space, so the contents of input
should be considered garbage
after calling
sourcefn process_multi(&self, input: &mut [Complex<T>], output: &mut [Complex<T>])
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.
This method uses the input
buffer as scratch space, so the contents of input
should be considered garbage
after calling