Vamp::FFTComplex Class Reference

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

#include <FFT.h>

Public Member Functions

 FFTComplex (unsigned int n)
 Prepare to calculate transforms of size n. More...
 
 ~FFTComplex ()
 
void forward (const double *ci, double *co)
 Calculate a forward transform of size n. More...
 
void inverse (const double *ci, double *co)
 Calculate an inverse transform of size n. More...
 

Private Attributes

D * m_d
 

Detailed Description

A simple FFT implementation provided for convenience of plugin authors.

This class provides double-precision complex-complex transforms.

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 109 of file FFT.h.

Constructor & Destructor Documentation

Vamp::FFTComplex::FFTComplex ( unsigned int  n)

Prepare to calculate transforms of size n.

n must be a multiple of 2.

Vamp::FFTComplex::~FFTComplex ( )

Member Function Documentation

void Vamp::FFTComplex::forward ( const double *  ci,
double *  co 
)

Calculate a forward transform of size n.

ci must point to the interleaved complex input data of size n (that is, 2n doubles in total).

co must point to enough space to receive an interleaved complex output array of size n (that is, 2n doubles in total).

void Vamp::FFTComplex::inverse ( const double *  ci,
double *  co 
)

Calculate an inverse transform of size n.

ci must point to an interleaved complex input array of size n (that is, 2n doubles in total).

co must point to enough space to receive the interleaved complex output data of size n (that is, 2n doubles in total). The output is scaled by 1/n.

Member Data Documentation

D* Vamp::FFTComplex::m_d
private

Definition at line 144 of file FFT.h.


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