Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: VampPluginSDK: Vamp::FFTReal Class Reference Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
Chris@6:
VampPluginSDK Chris@6:  2.7 Chris@6:
Chris@6:
Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6:
Chris@6:
Chris@6:
Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6:
Chris@6:
Vamp::FFTReal Class Reference
Chris@6:
Chris@6:
Chris@6: Chris@6:

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

Chris@6: Chris@6:

#include <FFT.h>

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

Chris@6: Public Member Functions

 FFTReal (unsigned int n)
 Prepare to calculate transforms of size n. More...
 
 ~FFTReal ()
 
void forward (const double *ri, double *co)
 Calculate a forward transform of size n. More...
 
void inverse (const double *ci, double *ro)
 Calculate an inverse transform of size n. More...
 
Chris@6: Chris@6: Chris@6: Chris@6:

Chris@6: Private Attributes

D * m_d
 
Chris@6:

Detailed Description

Chris@6:

A simple FFT implementation provided for convenience of plugin authors.

Chris@6:

This class provides transforms between double-precision real time-domain and double-precision complex frequency-domain data.

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

Definition at line 161 of file FFT.h.

Chris@6:

Constructor & Destructor Documentation

Chris@6: Chris@6:

◆ FFTReal()

Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
Vamp::FFTReal::FFTReal (unsigned int n)
Chris@6:
Chris@6: Chris@6:

Prepare to calculate transforms of size n.

Chris@6:

n must be a multiple of 2.

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

◆ ~FFTReal()

Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
Vamp::FFTReal::~FFTReal ()
Chris@6:
Chris@6: Chris@6:
Chris@6:
Chris@6:

Member Function Documentation

Chris@6: Chris@6:

◆ forward()

Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
void Vamp::FFTReal::forward (const double * ri,
double * co 
)
Chris@6:
Chris@6: Chris@6:

Calculate a forward transform of size n.

Chris@6:

ri must point to the real input data of size n.

Chris@6:

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

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

◆ inverse()

Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
void Vamp::FFTReal::inverse (const double * ci,
double * ro 
)
Chris@6:
Chris@6: Chris@6:

Calculate an inverse transform of size n.

Chris@6:

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

Chris@6:

ro must point to enough space to receive the real output data of size n. The output is scaled by 1/n and only the real part is returned.

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

Member Data Documentation

Chris@6: Chris@6:

◆ m_d

Chris@6: Chris@6:
Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
Chris@6: Chris@6: Chris@6: Chris@6: Chris@6:
D* Vamp::FFTReal::m_d
Chris@6:
Chris@6: private
Chris@6:
Chris@6: Chris@6:

Definition at line 195 of file FFT.h.

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