template<typename V = double>
class signalsmith::fft::FFT< V >
Floating-point FFT implementation.
It is fast for 2^a * 3^b. Here are the peak and RMS errors for float
/double
computation:
Simulated errors for pure-tone harmonic inputs, compared to a theoretical upper bound from "Roundoff error analysis of the fast Fourier transform" (G. Ramos 1971)
FFT (size_t size, int fastDirection=0)
size_t setSize (size_t size)
size_t setFastSizeAbove (size_t size)
size_t setFastSizeBelow (size_t size)
const size_t & size () const
template<typename Input , typename Output >
void fft (Input &&input, Output &&output)
template<typename Input , typename Output >
void ifft (Input &&input, Output &&output)
FFT (size_t size, int fastDirection=0)
size_t setSize (size_t size)
size_t setFastSizeAbove (size_t size)
size_t setFastSizeBelow (size_t size)
const size_t & size () const
template<typename InputIterator , typename OutputIterator >
void fft (InputIterator &&input, OutputIterator &&output)
template<typename InputIterator , typename OutputIterator >
void ifft (InputIterator &&input, OutputIterator &&output)