A simple FFT implementation provided for convenience of plugin authors. More...

#include <FFT.h>

Static Public Member Functions

static void forward (unsigned int n, const double *ri, const double *ii, double *ro, double *io)
 Calculate a one-shot forward transform of size n. More...
 
static void inverse (unsigned int n, const double *ri, const double *ii, double *ro, double *io)
 Calculate a one-shot inverse transform of size n. More...
 

Detailed Description

A simple FFT implementation provided for convenience of plugin authors.

This class provides one-shot (i.e. fixed table state is recalculated every time) double-precision complex-complex transforms. For repeated transforms from real time-domain data, use an FFTComplex or FFTReal object instead.

Note: If the SDK has been compiled with the SINGLE_PRECISION_FFT flag, then all FFTs will use single precision internally. The default is double precision. The API uses doubles in either case.

The forward transform is unscaled; the inverse transform is scaled by 1/n.

Definition at line 59 of file FFT.h.

Member Function Documentation

static void Vamp::FFT::forward ( unsigned int  n,
const double *  ri,
const double *  ii,
double *  ro,
double *  io 
)
static

Calculate a one-shot forward transform of size n.

n must be a multiple of 2.

ri and ii must point to the real and imaginary component arrays of the input. For real input, ii may be NULL.

ro and io must point to enough space to receive the real and imaginary component arrays of the output.

All input and output arrays are of size n.

static void Vamp::FFT::inverse ( unsigned int  n,
const double *  ri,
const double *  ii,
double *  ro,
double *  io 
)
static

Calculate a one-shot inverse transform of size n.

n must be a power of 2, greater than 1.

ri and ii must point to the real and imaginary component arrays of the input. For real input, ii may be NULL.

ro and io must point to enough space to receive the real and imaginary component arrays of the output. The output is scaled by 1/n. The output pointers may not be NULL, even if the output is expected to be real.

All input and output arrays are of size n.


The documentation for this class was generated from the following file: