Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: VampPluginSDK: Vamp::FFT Class Reference 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:
VampPluginSDK Chris@3:  2.4 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:
Vamp::FFT Class Reference
Chris@3:
Chris@3:
Chris@3: Chris@3:

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

Chris@3: Chris@3:

#include <FFT.h>

Chris@3: Chris@3:

List of all members.

Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: 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 forward transform of size n.
static void inverse (unsigned int n, const double *ri, const double *ii, double *ro, double *io)
 Calculate an inverse transform of size n.
Chris@3:

Detailed Description

Chris@3:

A simple FFT implementation provided for convenience of plugin authors.

Chris@3:

This class provides double-precision FFTs in power-of-two sizes only. It is slower than more sophisticated library implementations. If these requirements aren't suitable, make other arrangements.

Chris@3:

The inverse transform is scaled by 1/n.

Chris@3:

The implementation is from Don Cross's public domain FFT code.

Chris@3: Chris@3:

Definition at line 58 of file FFT.h.

Chris@3:

Member Function Documentation

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@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3:
static void Vamp::FFT::forward (unsigned int n,
const double * ri,
const double * ii,
double * ro,
double * io 
) [static]
Chris@3:
Chris@3:
Chris@3: Chris@3:

Calculate a forward transform of size n.

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@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@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3:
static void Vamp::FFT::inverse (unsigned int n,
const double * ri,
const double * ii,
double * ro,
double * io 
) [static]
Chris@3:
Chris@3:
Chris@3: Chris@3:

Calculate an inverse transform of size n.

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