annotate Source/FFT.h @ 15:585caf503ef5 tip

Tidy up for ROLI
author Geogaddi\David <d.m.ronan@qmul.ac.uk>
date Tue, 17 May 2016 18:50:19 +0100
parents 262e084a15a9
children
rev   line source
d@0 1 /*
d@0 2 ==============================================================================
d@0 3
d@0 4 FFT.h
d@0 5 Created: 11 Aug 2014 11:18:53am
d@0 6 Author: mickael.legoff
d@0 7
d@0 8 ==============================================================================
d@0 9 */
d@0 10
d@0 11 #ifndef FFT_H_INCLUDED
d@0 12 #define FFT_H_INCLUDED
d@0 13
d@0 14 #include "FFTW.h"
d@0 15
d@0 16
d@0 17 template < typename FFTImpl >
d@0 18 class FastFourierTransform
d@0 19 {
d@0 20
d@0 21 public:
d@9 22 FastFourierTransform(){};
d@0 23 FastFourierTransform( unsigned fftLength )
d@0 24 : m_fft_impl( fftLength )
d@0 25 {
d@0 26
d@9 27 std::vector<float> m_realPart = std::vector<float>(fftLength, 0);
d@9 28 std::vector<float> m_imagPart = std::vector<float>(fftLength, 0);
d@0 29 }
d@0 30
d@0 31 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
d@0 32
d@0 33 ~FastFourierTransform()
d@0 34 {
d@0 35
d@0 36 }
d@0 37
d@0 38 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
d@0 39
d@0 40 void process( const float* input ) { m_fft_impl.process( input , m_realPart , m_imagPart ); }
d@0 41
d@0 42 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
d@0 43
d@9 44 std::vector<float> realPart() { return m_realPart; }
d@9 45 std::vector<float> imagPart() { return m_imagPart; }
d@0 46
d@0 47 private:
d@0 48
d@9 49 std::vector<float> m_realPart;
d@9 50 std::vector<float> m_imagPart;
d@0 51
d@0 52 FFTImpl m_fft_impl;
d@0 53
d@0 54 };
d@0 55
d@0 56
d@0 57 typedef FastFourierTransform<FFTW> FFT;
d@0 58
d@0 59
d@0 60 #endif // FFT_H_INCLUDED