isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
FFT.h
1 #pragma once
2 
3 #include "FFTPlan.h"
4 
5 namespace isce3 { namespace cuda { namespace fft {
6 
15 template<typename T>
16 FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, thrust::complex<T> * in, int n);
17 
19 template<typename T>
20 FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, T * in, int n);
21 
34 template<typename T>
35 FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2], int axis);
36 
38 template<typename T>
39 FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, T * in, const int (&dims)[2], int axis);
40 
51 template<typename T>
52 FwdFFTPlan<T> planfft2d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2]);
53 
55 template<typename T>
56 FwdFFTPlan<T> planfft2d(thrust::complex<T> * out, T * in, const int (&dims)[2]);
57 
66 template<typename T>
67 InvFFTPlan<T> planifft1d(thrust::complex<T> * out, thrust::complex<T> * in, int n);
68 
70 template<typename T>
71 InvFFTPlan<T> planifft1d(T * out, thrust::complex<T> * in, int n);
72 
85 template<typename T>
86 InvFFTPlan<T> planifft1d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2], int axis);
87 
89 template<typename T>
90 InvFFTPlan<T> planifft1d(T * out, thrust::complex<T> * in, const int (&dims)[2], int axis);
91 
102 template<typename T>
103 InvFFTPlan<T> planifft2d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2]);
104 
106 template<typename T>
107 InvFFTPlan<T> planifft2d(T * out, thrust::complex<T> * in, const int (&dims)[2]);
108 
116 template<typename T>
117 void fft1d(thrust::complex<T> * out, thrust::complex<T> * in, int n);
118 
120 template<typename T>
121 void fft1d(thrust::complex<T> * out, T * in, int n);
122 
134 template<typename T>
135 void fft1d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2], int axis);
136 
138 template<typename T>
139 void fft1d(thrust::complex<T> * out, T * in, const int (&dims)[2], int axis);
140 
150 template<typename T>
151 void fft2d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2]);
152 
154 template<typename T>
155 void fft2d(thrust::complex<T> * out, T * in, const int (&dims)[2]);
156 
164 template<typename T>
165 void ifft1d(thrust::complex<T> * out, thrust::complex<T> * in, int n);
166 
168 template<typename T>
169 void ifft1d(T * out, thrust::complex<T> * in, int n);
170 
182 template<typename T>
183 void ifft1d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2], int axis);
184 
186 template<typename T>
187 void ifft1d(T * out, thrust::complex<T> * in, const int (&dims)[2], int axis);
188 
198 template<typename T>
199 void ifft2d(thrust::complex<T> * out, thrust::complex<T> * in, const int (&dims)[2]);
200 
202 template<typename T>
203 void ifft2d(T * out, thrust::complex<T> * in, int (&dims)[2]);
204 
205 }}}
206 
207 #define ISCE_CUDA_FFT_FFT_ICC
208 #include "FFT.icc"
209 #undef ISCE_CUDA_FFT_FFT_ICC

Generated for ISCE3.0 by doxygen 1.8.5.