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§
Required Methods§
Sourcefn transform_in_place(
&self,
input: &mut [Complex<Self::Real>],
transform: Transform,
)
fn transform_in_place( &self, input: &mut [Complex<Self::Real>], transform: Transform, )
Apply an FFT or IFFT in-place.
Provided Methods§
Sourcefn transform(
&self,
input: &[Complex<Self::Real>],
output: &mut [Complex<Self::Real>],
transform: Transform,
)
fn transform( &self, input: &[Complex<Self::Real>], output: &mut [Complex<Self::Real>], transform: Transform, )
Apply an FFT or IFFT out-of-place.
Sourcefn fft_in_place(&self, input: &mut [Complex<Self::Real>])
fn fft_in_place(&self, input: &mut [Complex<Self::Real>])
Apply an FFT in-place.
Sourcefn ifft_in_place(&self, input: &mut [Complex<Self::Real>])
fn ifft_in_place(&self, input: &mut [Complex<Self::Real>])
Apply an IFFT in-place.