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:
A simple FFT implementation provided for convenience of plugin authors. Chris@3: More...
Chris@3: Chris@3:#include <FFT.h>
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. |
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: Chris@3:static void Vamp::FFT::forward | Chris@3:( | Chris@3:unsigned int | Chris@3:n, | Chris@3:
Chris@3: | Chris@3: | const double * | Chris@3:ri, | Chris@3:
Chris@3: | Chris@3: | const double * | Chris@3:ii, | Chris@3:
Chris@3: | Chris@3: | double * | Chris@3:ro, | Chris@3:
Chris@3: | Chris@3: | double * | Chris@3:io | Chris@3:
Chris@3: | ) | Chris@3: [static] |
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:static void Vamp::FFT::inverse | Chris@3:( | Chris@3:unsigned int | Chris@3:n, | Chris@3:
Chris@3: | Chris@3: | const double * | Chris@3:ri, | Chris@3:
Chris@3: | Chris@3: | const double * | Chris@3:ii, | Chris@3:
Chris@3: | Chris@3: | double * | Chris@3:ro, | Chris@3:
Chris@3: | Chris@3: | double * | Chris@3:io | Chris@3:
Chris@3: | ) | Chris@3: [static] |
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: