1#ifndef ISCE_CUDA_FFT_FFT_ICC
2#error "FFT.icc is an implementation detail of FFT.h"
5#include <isce3/fft/detail/ConfigureFFTLayout.h>
7namespace isce3 {
namespace cuda {
namespace fft {
11FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, thrust::complex<T> * in,
int n)
18FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, T * in,
int n)
25FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2],
int axis)
27 int n, stride, dist, batch;
28 isce3::fft::detail::configureFFTLayout(&n, &stride, &dist, &batch, dims, axis);
35FwdFFTPlan<T> planfft1d(thrust::complex<T> * out, T * in,
const int (&dims)[2],
int axis)
37 int n, stride, dist, batch;
38 isce3::fft::detail::configureFFTLayout(&n, &stride, &dist, &batch, dims, axis);
45FwdFFTPlan<T> planfft2d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2])
52FwdFFTPlan<T> planfft2d(thrust::complex<T> * out, T * in,
const int (&dims)[2])
59InvFFTPlan<T> planifft1d(thrust::complex<T> * out, thrust::complex<T> * in,
int n)
66InvFFTPlan<T> planifft1d(T * out, thrust::complex<T> * in,
int n)
73InvFFTPlan<T> planifft1d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2],
int axis)
75 int n, stride, dist, batch;
76 isce3::fft::detail::configureFFTLayout(&n, &stride, &dist, &batch, dims, axis);
83InvFFTPlan<T> planifft1d(T * out, thrust::complex<T> * in,
const int (&dims)[2],
int axis)
85 int n, stride, dist, batch;
86 isce3::fft::detail::configureFFTLayout(&n, &stride, &dist, &batch, dims, axis);
93InvFFTPlan<T> planifft2d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2])
100InvFFTPlan<T> planifft2d(T * out, thrust::complex<T> * in,
const int (&dims)[2])
107void fft1d(thrust::complex<T> * out, thrust::complex<T> * in,
int n)
115void fft1d(thrust::complex<T> * out, T * in,
int n)
123void fft1d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2],
int axis)
131void fft1d(thrust::complex<T> * out, T * in,
const int (&dims)[2],
int axis)
139void fft2d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2])
147void fft2d(thrust::complex<T> * out, T * in,
const int (&dims)[2])
155void ifft1d(thrust::complex<T> * out, thrust::complex<T> * in,
int n)
163void ifft1d(T * out, thrust::complex<T> * in,
int n)
171void ifft1d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2],
int axis)
179void ifft1d(T * out, thrust::complex<T> * in,
const int (&dims)[2],
int axis)
187void ifft2d(thrust::complex<T> * out, thrust::complex<T> * in,
const int (&dims)[2])
195void ifft2d(T * out, thrust::complex<T> * in,
const int (&dims)[2])
RAII wrapper encapsulating cuFFT plan for forward FFT execution.
Definition FFTPlan.h:11
RAII wrapper encapsulating cuFFT plan for inverse FFT execution.
Definition FFTPlan.h:280
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5