Implementation of the FFT using the algorithm from Takuya OOURA in C. More...
#include <FFT_ooura.hxx>
Public Member Functions | |
FFT_ooura () | |
FFT_ooura (const FFTConfig &c) throw (ErrDynamicType) | |
~FFT_ooura () | |
const char * | GetClassName () const |
Override it in every subclass and retur the name of that class. | |
bool | Do () |
Supervised-mode Do function. | |
bool | Do (const Audio &in, Spectrum &out) |
Standard FFT Do function, with storage class references as arguments. | |
bool | MayDisableExecution () const |
Static Public Member Functions | |
static void | rdft (int n, int isgn, TData *a, int *ip, TData *w) |
static void | makewt (int nw, int *ip, TData *w) |
static void | makect (int nc, int *ip, TData *c) |
static void | bitrv2 (int n, int *ip, TData *a) |
static void | cftfsub (int n, TData *a, TData *w) |
static void | cftbsub (int n, TData *a, TData *w) |
static void | rftfsub (int n, TData *a, int nc, TData *c) |
static void | rftbsub (int n, TData *a, int nc, TData *c) |
static void | cft1st (int n, TData *a, TData *w) |
static void | cftmdl (int n, int l, TData *a, TData *w) |
Implementation of the FFT using the algorithm from Takuya OOURA in C.
Definition at line 44 of file FFT_ooura.hxx.
CLAM::FFT_ooura::FFT_ooura | ( | ) |
Definition at line 80 of file FFT_ooura.cxx.
References CLAM::Processing::Configure().
CLAM::FFT_ooura::FFT_ooura | ( | const FFTConfig & | c | ) | throw (ErrDynamicType) |
Definition at line 86 of file FFT_ooura.cxx.
CLAM::FFT_ooura::~FFT_ooura | ( | ) |
Definition at line 92 of file FFT_ooura.cxx.
Definition at line 282 of file FFT_ooura.cxx.
Definition at line 479 of file FFT_ooura.cxx.
Definition at line 430 of file FFT_ooura.cxx.
References cft1st(), and cftmdl().
Referenced by rdft().
Definition at line 381 of file FFT_ooura.cxx.
References cft1st(), and cftmdl().
Referenced by rdft().
Definition at line 584 of file FFT_ooura.cxx.
Standard FFT Do function, with storage class references as arguments.
This method implements the old conversor routines. The resulting spectrum will be of input audio size / 2 + 1. Input audio must be a power-of-two.
Implements CLAM::FFT_base.
Definition at line 106 of file FFT_ooura.cxx.
References CLAM::FFT_base::CheckTypes(), CLAM_ASSERT, CLAM_DEBUG_ASSERT, CLAM::FFT_base::fftbuffer, isPowerOfTwo(), CLAM::Processing::IsRunning(), CLAM::FFT_base::mComplexflags, CLAM::FFT_base::mSize, CLAM::FFT_base::mState, rdft(), CLAM::FFT_base::sComplex, CLAM::FFT_base::sComplexSync, CLAM::FFT_base::sOther, and CLAM::Spectrum::SynchronizeTo().
bool CLAM::FFT_ooura::Do | ( | ) | [virtual] |
Supervised-mode Do function.
Implements CLAM::FFT_base.
Definition at line 97 of file FFT_ooura.cxx.
References CLAM::InPort< Token >::Consume(), CLAM::AudioInPort::GetAudio(), CLAM::OutPort< Token >::GetData(), CLAM::InPort< Token >::GetSize(), CLAM::FFT_base::mInput, CLAM::FFT_base::mOutput, CLAM::OutPort< Token >::Produce(), and CLAM::Spectrum::SetSize().
const char* CLAM::FFT_ooura::GetClassName | ( | ) | const [inline, virtual] |
Override it in every subclass and retur the name of that class.
Implements CLAM::Processing.
Definition at line 90 of file FFT_ooura.hxx.
Definition at line 264 of file FFT_ooura.cxx.
References CLAM_atan(), CLAM_cos(), and CLAM_sin().
Referenced by rdft().
Definition at line 235 of file FFT_ooura.cxx.
References bitrv2(), CLAM_atan(), CLAM_cos(), and CLAM_sin().
Referenced by rdft().
bool CLAM::FFT_ooura::MayDisableExecution | ( | ) | const [inline, virtual] |
Reimplemented from CLAM::FFT_base.
Definition at line 99 of file FFT_ooura.hxx.
Definition at line 736 of file FFT_ooura.cxx.
Referenced by rdft().
Definition at line 711 of file FFT_ooura.cxx.
Referenced by rdft().