annotate dsp/transforms/FFT.h @ 289:befe5aa6b450

* Refactor FFT a little bit so as to separate construction and processing rather than have a single static method -- will make it easier to use a different implementation * pull in KissFFT implementation (not hooked up yet)
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 13 May 2009 09:19:12 +0000
parents 9edaa3ce62e8
children f6ccde089491
rev   line source
c@225 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
c@225 2
c@225 3 /*
c@225 4 QM DSP Library
c@225 5
c@225 6 Centre for Digital Music, Queen Mary, University of London.
c@225 7 */
c@225 8
c@225 9 #ifndef FFT_H
c@225 10 #define FFT_H
c@225 11
c@225 12 class FFT
c@225 13 {
c@225 14 public:
c@289 15 FFT(unsigned int nsamples);
c@289 16 ~FFT();
c@225 17
c@289 18 void process(bool inverse,
c@289 19 const double *realIn, const double *imagIn,
c@289 20 double *realOut, double *imagOut);
c@289 21
c@289 22 private:
c@289 23 unsigned int m_n;
c@289 24 void *m_private;
c@225 25 };
c@225 26
c@289 27 class FFTReal
c@289 28 {
c@289 29 public:
c@289 30 FFTReal(unsigned int nsamples);
c@289 31 ~FFTReal();
c@289 32
c@289 33 void process(bool inverse,
c@289 34 const double *realIn,
c@289 35 double *realOut, double *imagOut);
c@289 36
c@289 37 private:
c@289 38 unsigned int m_n;
c@289 39 void *m_private;
c@289 40 };
c@289 41
c@225 42 #endif