isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
CufftWrapper.h
1 #pragma once
2 
3 #include <cufft.h>
4 #include <thrust/complex.h>
5 
6 namespace isce3 { namespace cuda { namespace fft { namespace detail {
7 
8 template<typename T> struct CufftC2CType {};
9 template<> struct CufftC2CType<float> { constexpr static cufftType type = CUFFT_C2C; };
10 template<> struct CufftC2CType<double> { constexpr static cufftType type = CUFFT_Z2Z; };
11 
12 template<typename T> struct CufftR2CType {};
13 template<> struct CufftR2CType<float> { constexpr static cufftType type = CUFFT_R2C; };
14 template<> struct CufftR2CType<double> { constexpr static cufftType type = CUFFT_D2Z; };
15 
16 template<typename T> struct CufftC2RType {};
17 template<> struct CufftC2RType<float> { constexpr static cufftType type = CUFFT_C2R; };
18 template<> struct CufftC2RType<double> { constexpr static cufftType type = CUFFT_Z2D; };
19 
20 template<int Sign, typename T>
21 void executePlan(cufftHandle plan, void * in, void * out, cufftType type);
22 
23 }}}}
Definition: CufftWrapper.h:16
Definition: CufftWrapper.h:12
Definition: CufftWrapper.h:8

Generated for ISCE3.0 by doxygen 1.8.5.