Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@6: Chris@6: Chris@3: VampPluginSDK: Vamp::FFT Class Reference Chris@3: Chris@6: Chris@6: Chris@3: Chris@3: Chris@6: Chris@3: Chris@3: Chris@6: Chris@3: Chris@3: Chris@6:
Chris@3:
Chris@3: Chris@3: Chris@3: Chris@6: Chris@3: Chris@3: Chris@3:
Chris@3:
VampPluginSDK Chris@6:  2.7 Chris@3:
Chris@3:
Chris@3:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
Chris@3:
Chris@3: Chris@3:
Chris@3:
Chris@3:
Chris@3: Chris@3:
Chris@3:
Chris@3: Chris@3:
Chris@3:
Vamp::FFT Class Reference
Chris@3:
Chris@3:
Chris@3: Chris@6:

A simple FFT implementation provided for convenience of plugin authors. Chris@3: More...

Chris@3: Chris@3:

#include <FFT.h>

Chris@3: Chris@6: Chris@3: Chris@6: Chris@6: Chris@3: Chris@6: Chris@6: Chris@3:

Chris@3: 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...
 
Chris@6:

Detailed Description

Chris@6:

A simple FFT implementation provided for convenience of plugin authors.

Chris@6:

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.

Chris@6:

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.

Chris@6:

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

Chris@3: Chris@6:

Definition at line 59 of file FFT.h.

Chris@6:

Member Function Documentation

Chris@6: Chris@6:

◆ forward()

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

Calculate a one-shot forward transform of size n.

Chris@6:

n must be a multiple of 2.

Chris@3:

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

Chris@3:

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

Chris@3:

All input and output arrays are of size n.

Chris@3: Chris@3:
Chris@3:
Chris@6: Chris@6:

◆ inverse()

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

Calculate a one-shot inverse transform of size n.

Chris@6:

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

Chris@3:

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

Chris@3:

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.

Chris@3:

All input and output arrays are of size n.

Chris@3: Chris@3:
Chris@3:
Chris@3:
The documentation for this class was generated from the following file: Chris@3:
Chris@6:
Chris@6: Chris@6: Chris@3: Chris@3: