Trait rustfft::FFT [−][src]
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>]); }
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.
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.
This method uses the input
buffer as scratch space, so the contents of input
should be considered garbage
after calling
Implementors
impl<T: FFTnum> FFT<T> for GoodThomasAlgorithm<T>
impl<T: FFTnum> FFT<T> for GoodThomasAlgorithmDoubleButterfly<T>
impl<T: FFTnum> FFT<T> for MixedRadix<T>
impl<T: FFTnum> FFT<T> for MixedRadixDoubleButterfly<T>
impl<T: FFTnum> FFT<T> for RadersAlgorithm<T>
impl<T: FFTnum> FFT<T> for Radix4<T>
impl<T: FFTnum> FFT<T> for DFT<T>
impl<T: FFTnum> FFT<T> for Butterfly2
impl<T: FFTnum> FFT<T> for Butterfly3<T>
impl<T: FFTnum> FFT<T> for Butterfly4
impl<T: FFTnum> FFT<T> for Butterfly5<T>
impl<T: FFTnum> FFT<T> for Butterfly6<T>
impl<T: FFTnum> FFT<T> for Butterfly7<T>
impl<T: FFTnum> FFT<T> for Butterfly8<T>
impl<T: FFTnum> FFT<T> for Butterfly16<T>
impl<T: FFTnum> FFT<T> for Butterfly32<T>