Signalsmith Audio's DSP Library  1.6.0
Useful C++ classes/templates for audio effects
Nested Classes | Static Methods | Methods
signalsmith::fft::FFT< V > Class Template Reference

#include <fft.h>

Detailed Description

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)

Static Methods

static size_t fastSizeAbove (size_t size)
 
static size_t fastSizeBelow (size_t size)
 

Methods

 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)