VCV Rack API v2
Loading...
Searching...
No Matches
rack::dsp::ComplexFFT Struct Reference

Complex-valued FFT context. More...

#include <fft.hpp>

Public Member Functions

 ComplexFFT (size_t length)
 ~ComplexFFT ()
void fftUnordered (const float *input, float *output)
 Performs the complex FFT.
void ifftUnordered (const float *input, float *output)
 Performs the inverse complex FFT.
void fft (const float *input, float *output)
void ifft (const float *input, float *output)
void scale (float *x)

Public Attributes

PFFFT_Setup * setup
int length

Detailed Description

Complex-valued FFT context.

length must be a multiple of 16.

Constructor & Destructor Documentation

◆ ComplexFFT()

rack::dsp::ComplexFFT::ComplexFFT ( size_t length)
inline

◆ ~ComplexFFT()

rack::dsp::ComplexFFT::~ComplexFFT ( )
inline

Member Function Documentation

◆ fftUnordered()

void rack::dsp::ComplexFFT::fftUnordered ( const float * input,
float * output )
inline

Performs the complex FFT.

Input and output must be aligned using the above align*() functions. Input is 2*length elements. Output is 2*length elements.

◆ ifftUnordered()

void rack::dsp::ComplexFFT::ifftUnordered ( const float * input,
float * output )
inline

Performs the inverse complex FFT.

Input is 2*length elements. Output is 2*length elements. Scaling is such that FFT(IFFT(x)) = N*x.

◆ fft()

void rack::dsp::ComplexFFT::fft ( const float * input,
float * output )
inline

◆ ifft()

void rack::dsp::ComplexFFT::ifft ( const float * input,
float * output )
inline

◆ scale()

void rack::dsp::ComplexFFT::scale ( float * x)
inline

Member Data Documentation

◆ setup

PFFFT_Setup* rack::dsp::ComplexFFT::setup

◆ length

int rack::dsp::ComplexFFT::length

The documentation for this struct was generated from the following file:
  • /home/vortico/src/vcv/Rack2/include/dsp/fft.hpp