CLAM::FFT_ooura Class Reference

Implementation of the FFT using the algorithm from Takuya OOURA in C. More...

#include <FFT_ooura.hxx>

List of all members.

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)

Detailed Description

Implementation of the FFT using the algorithm from Takuya OOURA in C.

See also:
Ooura's FFT Homepage

Definition at line 44 of file FFT_ooura.hxx.


Constructor & Destructor Documentation

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.


Member Function Documentation

void CLAM::FFT_ooura::bitrv2 ( int  n,
int ip,
TData a 
) [static]

Definition at line 282 of file FFT_ooura.cxx.

Referenced by makewt(), and rdft().

void CLAM::FFT_ooura::cft1st ( int  n,
TData a,
TData w 
) [static]

Definition at line 479 of file FFT_ooura.cxx.

Referenced by cftbsub(), and cftfsub().

void CLAM::FFT_ooura::cftbsub ( int  n,
TData a,
TData w 
) [static]

Definition at line 430 of file FFT_ooura.cxx.

References cft1st(), and cftmdl().

Referenced by rdft().

void CLAM::FFT_ooura::cftfsub ( int  n,
TData a,
TData w 
) [static]

Definition at line 381 of file FFT_ooura.cxx.

References cft1st(), and cftmdl().

Referenced by rdft().

void CLAM::FFT_ooura::cftmdl ( int  n,
int  l,
TData a,
TData w 
) [static]

Definition at line 584 of file FFT_ooura.cxx.

Referenced by cftbsub(), and cftfsub().

bool CLAM::FFT_ooura::Do ( const Audio in,
Spectrum out 
) [virtual]

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]
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.

void CLAM::FFT_ooura::makect ( int  nc,
int ip,
TData c 
) [static]

Definition at line 264 of file FFT_ooura.cxx.

References CLAM_atan(), CLAM_cos(), and CLAM_sin().

Referenced by rdft().

void CLAM::FFT_ooura::makewt ( int  nw,
int ip,
TData w 
) [static]

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.

void CLAM::FFT_ooura::rdft ( int  n,
int  isgn,
TData a,
int ip,
TData w 
) [static]

Definition at line 194 of file FFT_ooura.cxx.

References bitrv2(), cftbsub(), cftfsub(), makect(), makewt(), rftbsub(), and rftfsub().

Referenced by CLAM::IFFT_ooura::Do(), and Do().

void CLAM::FFT_ooura::rftbsub ( int  n,
TData a,
int  nc,
TData c 
) [static]

Definition at line 736 of file FFT_ooura.cxx.

Referenced by rdft().

void CLAM::FFT_ooura::rftfsub ( int  n,
TData a,
int  nc,
TData c 
) [static]

Definition at line 711 of file FFT_ooura.cxx.

Referenced by rdft().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.3