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 #include "FFTUtil.h"
5 
6 namespace isce3 { namespace fft {
7 
16 template<typename T>
17 FwdFFTPlan<T> planfft1d(std::complex<T> * out, std::complex<T> * in, int n);
18 
20 template<typename T>
21 FwdFFTPlan<T> planfft1d(std::complex<T> * out, T * in, int n);
22 
35 template<typename T>
36 FwdFFTPlan<T> planfft1d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2], int axis);
37 
39 template<typename T>
40 FwdFFTPlan<T> planfft1d(std::complex<T> * out, T * in, const int (&dims)[2], int axis);
41 
52 template<typename T>
53 FwdFFTPlan<T> planfft2d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2]);
54 
56 template<typename T>
57 FwdFFTPlan<T> planfft2d(std::complex<T> * out, T * in, const int (&dims)[2]);
58 
67 template<typename T>
68 InvFFTPlan<T> planifft1d(std::complex<T> * out, std::complex<T> * in, int n);
69 
71 template<typename T>
72 InvFFTPlan<T> planifft1d(T * out, std::complex<T> * in, int n);
73 
86 template<typename T>
87 InvFFTPlan<T> planifft1d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2], int axis);
88 
90 template<typename T>
91 InvFFTPlan<T> planifft1d(T * out, std::complex<T> * in, const int (&dims)[2], int axis);
92 
103 template<typename T>
104 InvFFTPlan<T> planifft2d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2]);
105 
107 template<typename T>
108 InvFFTPlan<T> planifft2d(T * out, std::complex<T> * in, const int (&dims)[2]);
109 
117 template<typename T>
118 void fft1d(std::complex<T> * out, std::complex<T> * in, int n);
119 
121 template<typename T>
122 void fft1d(std::complex<T> * out, T * in, int n);
123 
135 template<typename T>
136 void fft1d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2], int axis);
137 
139 template<typename T>
140 void fft1d(std::complex<T> * out, T * in, const int (&dims)[2], int axis);
141 
151 template<typename T>
152 void fft2d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2]);
153 
155 template<typename T>
156 void fft2d(std::complex<T> * out, T * in, const int (&dims)[2]);
157 
165 template<typename T>
166 void ifft1d(std::complex<T> * out, std::complex<T> * in, int n);
167 
169 template<typename T>
170 void ifft1d(T * out, std::complex<T> * in, int n);
171 
183 template<typename T>
184 void ifft1d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2], int axis);
185 
187 template<typename T>
188 void ifft1d(T * out, std::complex<T> * in, const int (&dims)[2], int axis);
189 
199 template<typename T>
200 void ifft2d(std::complex<T> * out, std::complex<T> * in, const int (&dims)[2]);
201 
203 template<typename T>
204 void ifft2d(T * out, std::complex<T> * in, int (&dims)[2]);
205 
206 }}
207 
208 #define ISCE_FFT_FFT_ICC
209 #include "FFT.icc"
210 #undef ISCE_FFT_FFT_ICC

Generated for ISCE3.0 by doxygen 1.8.5.