xoreos  0.0.5
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
Common::FFT Class Reference

(Inverse) Fast Fourier Transform. More...

#include <fft.h>

Inheritance diagram for Common::FFT:
Inheritance graph
[legend]
Collaboration diagram for Common::FFT:
Collaboration graph
[legend]

Public Member Functions

 FFT (int bits, bool inverse)
 
 ~FFT ()
 
const uint16getRevTab () const
 
void permute (Complex *z)
 Do the permutation needed BEFORE calling calc(). More...
 
void calc (Complex *z)
 Do a complex FFT. More...
 

Static Private Member Functions

static int splitRadixPermutation (int i, int n, bool inverse)
 

Private Attributes

int _bits
 
bool _inverse
 
ScopedArray< uint16_revTab
 
ScopedArray< Complex_expTab
 
ScopedArray< Complex_tmpBuf
 

Detailed Description

(Inverse) Fast Fourier Transform.

Definition at line 66 of file fft.h.

Constructor & Destructor Documentation

◆ FFT()

Common::FFT::FFT ( int  bits,
bool  inverse 
)

Definition at line 63 of file fft.cpp.

References _bits, _expTab, _inverse, _revTab, _tmpBuf, Common::ScopedPtrBase< T, Deallocator >::reset(), and splitRadixPermutation().

Here is the call graph for this function:

◆ ~FFT()

Common::FFT::~FFT ( )

Definition at line 76 of file fft.cpp.

Member Function Documentation

◆ calc()

void Common::FFT::calc ( Complex z)

Do a complex FFT.

The input data must be permuted before. No 1.0/sqrt(n) normalization is done.

Definition at line 271 of file fft.cpp.

References _bits, and Common::fft_dispatch.

◆ getRevTab()

const uint16 * Common::FFT::getRevTab ( ) const

Definition at line 79 of file fft.cpp.

References _revTab, and Common::ScopedPtrBase< T, Deallocator >::get().

Here is the call graph for this function:

◆ permute()

void Common::FFT::permute ( Complex z)

Do the permutation needed BEFORE calling calc().

Definition at line 83 of file fft.cpp.

References _bits, _revTab, _tmpBuf, and SWAP().

Here is the call graph for this function:

◆ splitRadixPermutation()

int Common::FFT::splitRadixPermutation ( int  i,
int  n,
bool  inverse 
)
staticprivate

Definition at line 104 of file fft.cpp.

References inverse().

Referenced by FFT().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _bits

int Common::FFT::_bits
private

Definition at line 84 of file fft.h.

Referenced by calc(), FFT(), and permute().

◆ _expTab

ScopedArray<Complex> Common::FFT::_expTab
private

Definition at line 89 of file fft.h.

Referenced by FFT().

◆ _inverse

bool Common::FFT::_inverse
private

Definition at line 85 of file fft.h.

Referenced by FFT().

◆ _revTab

ScopedArray<uint16> Common::FFT::_revTab
private

Definition at line 87 of file fft.h.

Referenced by FFT(), getRevTab(), and permute().

◆ _tmpBuf

ScopedArray<Complex> Common::FFT::_tmpBuf
private

Definition at line 90 of file fft.h.

Referenced by FFT(), and permute().


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