isce3 0.25.0
Loading...
Searching...
No Matches
FFTPlan.icc
1#ifndef ISCE_CUDA_FFT_FFTPLAN_ICC
2#error "FFTPlan.icc is an implementation detail of FFTPlan.h"
3#endif
4
5namespace isce3 { namespace cuda { namespace fft {
6
7template<typename T>
8FwdFFTPlan<T>::FwdFFTPlan(thrust::complex<T> * out, T * in, int n, int batch)
9:
10 super_t(out, in, &n, &n, 1, n, &n, 1, n, batch, 1, detail::CufftR2CType<T>::type)
11{}
12
13template<typename T>
14template<int Rank>
16 T * in,
17 const int (&n)[Rank],
18 int batch)
19:
20 super_t(out, in, n, n, 1, detail::product(n), n, 1, detail::product(n), batch, Rank, detail::CufftR2CType<T>::type)
21{
22 static_assert( Rank <= 3, "" );
23}
24
25template<typename T>
27 T * in,
28 int n,
29 int nembed,
30 int stride,
31 int dist,
32 int batch)
33:
34 super_t(out, in, &n, &nembed, stride, dist, &nembed, stride, dist, batch, 1, detail::CufftR2CType<T>::type)
35{}
36
37template<typename T>
38template<int Rank>
40 T * in,
41 const int (&n)[Rank],
42 const int (&nembed)[Rank],
43 int stride,
44 int dist,
45 int batch)
46:
47 super_t(out, in, n, nembed, stride, dist, nembed, stride, dist, batch, Rank, detail::CufftR2CType<T>::type)
48{
49 static_assert( Rank <= 3, "" );
50}
51
52template<typename T>
54 T * in,
55 int n,
56 int inembed,
57 int istride,
58 int idist,
59 int onembed,
60 int ostride,
61 int odist,
62 int batch)
63:
64 super_t(out, in, &n, &inembed, istride, idist, &onembed, ostride, odist, batch, 1, detail::CufftR2CType<T>::type)
65{}
66
67template<typename T>
68template<int Rank>
70 T * in,
71 const int (&n)[Rank],
72 const int (&inembed)[Rank],
73 int istride,
74 int idist,
75 const int (&onembed)[Rank],
76 int ostride,
77 int odist,
78 int batch)
79:
80 super_t(out, in, n, inembed, istride, idist, onembed, ostride, odist, batch, Rank, detail::CufftR2CType<T>::type)
81{
82 static_assert( Rank <= 3, "" );
83}
84
85template<typename T>
86InvFFTPlan<T>::InvFFTPlan(T * out, thrust::complex<T> * in, int n, int batch)
87:
88 super_t(out, in, &n, &n, 1, n, &n, 1, n, batch, 1, detail::CufftC2RType<T>::type)
89{}
90
91template<typename T>
92template<int Rank>
95 const int (&n)[Rank],
96 int batch)
97:
98 super_t(out, in, n, n, 1, detail::product(n), n, 1, detail::product(n), batch, Rank, detail::CufftC2RType<T>::type)
99{
100 static_assert( Rank <= 3, "" );
101}
102
103template<typename T>
106 int n,
107 int nembed,
108 int stride,
109 int dist,
110 int batch)
111:
112 super_t(out, in, &n, &nembed, stride, dist, &nembed, stride, dist, batch, 1, detail::CufftC2RType<T>::type)
113{}
114
115template<typename T>
116template<int Rank>
119 const int (&n)[Rank],
120 const int (&nembed)[Rank],
121 int stride,
122 int dist,
123 int batch)
124:
125 super_t(out, in, n, nembed, stride, dist, nembed, stride, dist, batch, Rank, detail::CufftC2RType<T>::type)
126{
127 static_assert( Rank <= 3, "" );
128}
129
130template<typename T>
133 int n,
134 int inembed,
135 int istride,
136 int idist,
137 int onembed,
138 int ostride,
139 int odist,
140 int batch)
141:
142 super_t(out, in, &n, &inembed, istride, idist, &onembed, ostride, odist, batch, 1, detail::CufftC2RType<T>::type)
143{}
144
145template<typename T>
146template<int Rank>
149 const int (&n)[Rank],
150 const int (&inembed)[Rank],
151 int istride,
152 int idist,
153 const int (&onembed)[Rank],
154 int ostride,
155 int odist,
156 int batch)
157:
158 super_t(out, in, n, inembed, istride, idist, onembed, ostride, odist, batch, Rank, detail::CufftC2RType<T>::type)
159{}
160
161}}}
FwdFFTPlan()
Construct an invalid plan.
Definition FFTPlan.h:21
InvFFTPlan()
Construct an invalid plan.
Definition FFTPlan.h:290
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5
Definition GDALDataTypeUtil.h:10

Generated for ISCE3.0 by doxygen 1.13.2.