isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
FFTWWrapper.h
1 #pragma once
2 
3 #include <complex>
4 #include <fftw3.h>
5 
6 namespace isce3 { namespace fft { namespace detail {
7 
8 template<typename T> struct FFTWPlanType {};
9 template<> struct FFTWPlanType<float> { using plan_t = fftwf_plan; };
10 template<> struct FFTWPlanType<double> { using plan_t = fftw_plan; };
11 
12 fftwf_plan
13 initPlan(int rank, const int * n, int howmany,
14  std::complex<float> * in,
15  const int * inembed, int istride, int idist,
16  std::complex<float> * out,
17  const int * onembed, int ostride, int odist,
18  int sign, unsigned flags, int threads);
19 
20 fftw_plan
21 initPlan(int rank, const int * n, int howmany,
22  std::complex<double> * in,
23  const int * inembed, int istride, int idist,
24  std::complex<double> * out,
25  const int * onembed, int ostride, int odist,
26  int sign, unsigned flags, int threads);
27 
28 fftwf_plan
29 initPlan(int rank, const int * n, int howmany,
30  float * in,
31  const int * inembed, int istride, int idist,
32  std::complex<float> * out,
33  const int * onembed, int ostride, int odist,
34  int sign, unsigned flags, int threads);
35 
36 fftw_plan
37 initPlan(int rank, const int * n, int howmany,
38  double * in,
39  const int * inembed, int istride, int idist,
40  std::complex<double> * out,
41  const int * onembed, int ostride, int odist,
42  int sign, unsigned flags, int threads);
43 
44 fftwf_plan
45 initPlan(int rank, const int * n, int howmany,
46  std::complex<float> * in,
47  const int * inembed, int istride, int idist,
48  float * out,
49  const int * onembed, int ostride, int odist,
50  int sign, unsigned flags, int threads);
51 
52 fftw_plan
53 initPlan(int rank, const int * n, int howmany,
54  std::complex<double> * in,
55  const int * inembed, int istride, int idist,
56  double * out,
57  const int * onembed, int ostride, int odist,
58  int sign, unsigned flags, int threads);
59 
60 void executePlan(const fftwf_plan);
61 void executePlan(const fftw_plan);
62 
63 void destroyPlan(fftwf_plan);
64 void destroyPlan(fftw_plan);
65 
66 }}}
Definition: FFTWWrapper.h:8

Generated for ISCE3.0 by doxygen 1.8.5.