Template Class FFTPlan¶
Defined in File fft.hpp
Class Documentation¶
-
template<typename Real>
class ear::FFTPlan¶ Plan for performing an FFT of a particular size/layout/type; allocated by calling FFTImpl::plan.
This is not mutated when transform_* are called, so one plan may be shared between threads.
Public Functions
-
virtual void transform_forward(Real *input, Complex *output, FFTWorkBuf &workbuf) const = 0¶
Execute an r2c forwards transform.
- Parameters
input – n_fft input samples
output – n_fft/2+1 output samples containing the first half of the complex frequency components without any packing.
workbuf – temporary buffers allocated with alloc_workbuf
-
virtual void transform_reverse(Complex *input, Real *output, FFTWorkBuf &workbuf) const = 0¶
Execute an c2r inverse transform.
- Parameters
input – n_fft/2+1 input samples, in the same format as given by transform_forward
output – n_fft output samples
workbuf – temporary buffers allocated with alloc_workbuf
-
virtual std::unique_ptr<FFTWorkBuf> alloc_workbuf() const = 0¶
allocate temporary buffers to be used with transform_*
-
virtual void transform_forward(Real *input, Complex *output, FFTWorkBuf &workbuf) const = 0¶