27 #ifndef math_templateCufft_hpp
28 #define math_templateCufft_hpp
31 #include <cuda_runtime.h>
40 template<
typename inputT,
typename outputT>
41 cufftResult cufftPlan2d( cufftHandle *plan,
47 cufftResult cufftPlan2d<std::complex<float>, std::complex<float>>( cufftHandle *plan,
53 cufftResult cufftPlan2d<cuComplex, cuComplex>( cufftHandle *plan,
59 cufftResult cufftPlan2d<std::complex<double>, std::complex<double>>( cufftHandle *plan,
65 cufftResult cufftPlan2d<cuDoubleComplex, cuDoubleComplex>( cufftHandle *plan,
70 template<
typename inputT,
typename outputT>
71 cufftResult cufftExec( cufftHandle plan,
78 cufftResult cufftExec<std::complex<float>, std::complex<float>>( cufftHandle plan,
79 std::complex<float> *idata,
80 std::complex<float> *odata,
85 cufftResult cufftExec<cuComplex, cuComplex>( cufftHandle plan,
92 cufftResult cufftExec<std::complex<double>, std::complex<double>>( cufftHandle plan,
93 std::complex<double> *idata,
94 std::complex<double> *odata,
99 cufftResult cufftExec<cuDoubleComplex, cuDoubleComplex>( cufftHandle plan,
100 cuDoubleComplex *idata,
101 cuDoubleComplex *odata,