JASPL  0.2
Just Another Signal Processing Library
fft.h
1 #ifndef FFT_H
2 #define FFT_H
3 
4 //Header for this file
5 //
6 //C System-Headers
7 //
8 //C++ System headers
9 #include <boost/type_traits.hpp>
10 //OpenCL Headers
11 #include <clFFT.h>
12 //Boost Headers
13 //
14 //Project specific headers
15 #include "../JASPL/jVector/jvector.h"
16 #include "../JASPL/TaskItem/taskitem.h"
17 
18 namespace jaspl {
19 
20 namespace ocl {
21 
22 template <class T>
23 class FFT : public TaskItem {
24 
25  public:
26 
27  FFT();
28  ~FFT();
29 
30  protected:
31 
32  void Trigger();
33  virtual void SetSignal(cl::Buffer& signal_buff , uint sig_size);
34 
35  virtual cl::Buffer& ProcessedSignal();
36  virtual size_t ProcessedSignalBytes();
37  virtual size_t ProcessedSignalSize();
38  virtual bool NeedsToReknew();
39 
40  void TearDown();
41 
42  cl::Buffer local_buff;
43 
44  cl_int err;
45 
46  clfftPlanHandle planHandle;
47  clfftSetupData fftSetup;
48  clfftDim dim = CLFFT_1D ;
49 
50 };
51 
52 #include "TaskItems/FFT/fft.tpp"
53 
54 }
55 
56 }
57 
58 #endif // FFT_H