6 namespace isce3 {
namespace fft {
17 FwdFFTPlan<T> planfft1d(std::complex<T> * out, std::complex<T> * in,
int n);
21 FwdFFTPlan<T> planfft1d(std::complex<T> * out, T * in,
int n);
36 FwdFFTPlan<T> planfft1d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2],
int axis);
40 FwdFFTPlan<T> planfft1d(std::complex<T> * out, T * in,
const int (&dims)[2],
int axis);
53 FwdFFTPlan<T> planfft2d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2]);
57 FwdFFTPlan<T> planfft2d(std::complex<T> * out, T * in,
const int (&dims)[2]);
68 InvFFTPlan<T> planifft1d(std::complex<T> * out, std::complex<T> * in,
int n);
72 InvFFTPlan<T> planifft1d(T * out, std::complex<T> * in,
int n);
87 InvFFTPlan<T> planifft1d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2],
int axis);
91 InvFFTPlan<T> planifft1d(T * out, std::complex<T> * in,
const int (&dims)[2],
int axis);
104 InvFFTPlan<T> planifft2d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2]);
108 InvFFTPlan<T> planifft2d(T * out, std::complex<T> * in,
const int (&dims)[2]);
118 void fft1d(std::complex<T> * out, std::complex<T> * in,
int n);
122 void fft1d(std::complex<T> * out, T * in,
int n);
136 void fft1d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2],
int axis);
140 void fft1d(std::complex<T> * out, T * in,
const int (&dims)[2],
int axis);
152 void fft2d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2]);
156 void fft2d(std::complex<T> * out, T * in,
const int (&dims)[2]);
166 void ifft1d(std::complex<T> * out, std::complex<T> * in,
int n);
170 void ifft1d(T * out, std::complex<T> * in,
int n);
184 void ifft1d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2],
int axis);
188 void ifft1d(T * out, std::complex<T> * in,
const int (&dims)[2],
int axis);
200 void ifft2d(std::complex<T> * out, std::complex<T> * in,
const int (&dims)[2]);
204 void ifft2d(T * out, std::complex<T> * in,
int (&dims)[2]);
208 #define ISCE_FFT_FFT_ICC
210 #undef ISCE_FFT_FFT_ICC