gramods
Loading...
Searching...
No Matches
FFTW.hh
1
5#ifndef GRAMODS_MISC_FFTW
6#define GRAMODS_MISC_FFTW
7
8#include <gmMisc/config.hh>
9
10#ifdef gramods_ENABLE_fftw
11
12#include <complex>
13#include <memory>
14
15BEGIN_NAMESPACE_GMMISC
16
20class FFTW {
21
22public:
23
24 struct RealData {
25 RealData(size_t N);
26 ~RealData();
27 const size_t size;
28 double *const data;
29 };
30
31 struct ComplexData {
32 ComplexData(size_t N);
34 const size_t size;
35 std::complex<double> *const data;
36 };
37
38 FFTW(std::shared_ptr<RealData> in, std::shared_ptr<ComplexData> out);
39 virtual ~FFTW();
40
41 void execute();
42
43private:
44 struct Impl;
45 std::unique_ptr<Impl> _impl;
46};
47
48END_NAMESPACE_GMMISC
49
50#endif
51#endif
This is FFT using FFTW as back-end.
Definition FFTW.hh:20
Definition FFTW.cpp:16
Definition FFTW.hh:24