Mercurial > hg > qm-dsp
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 |