5 #include "detail/FFTPlanBase.h"
7 namespace isce3 {
namespace fft {
14 using super_t::super_t;
40 unsigned flags = FFTW_MEASURE,
41 int threads = detail::getMaxThreads());
59 unsigned flags = FFTW_MEASURE,
60 int threads = detail::getMaxThreads());
82 unsigned flags = FFTW_MEASURE,
83 int threads = detail::getMaxThreads());
101 std::complex<T> * in,
102 const int (&n)[Rank],
103 const int (&nembed)[Rank],
107 unsigned flags = FFTW_MEASURE,
108 int threads = detail::getMaxThreads());
127 std::complex<T> * in,
136 unsigned flags = FFTW_MEASURE,
137 int threads = detail::getMaxThreads());
158 std::complex<T> * in,
159 const int (&n)[Rank],
160 const int (&inembed)[Rank],
163 const int (&onembed)[Rank],
167 unsigned flags = FFTW_MEASURE,
168 int threads = detail::getMaxThreads());
185 unsigned flags = FFTW_MEASURE,
186 int threads = detail::getMaxThreads());
202 const int (&n)[Rank],
204 unsigned flags = FFTW_MEASURE,
205 int threads = detail::getMaxThreads());
227 unsigned flags = FFTW_MEASURE,
228 int threads = detail::getMaxThreads());
247 const int (&n)[Rank],
248 const int (&nembed)[Rank],
252 unsigned flags = FFTW_MEASURE,
253 int threads = detail::getMaxThreads());
281 unsigned flags = FFTW_MEASURE,
282 int threads = detail::getMaxThreads());
304 const int (&n)[Rank],
305 const int (&inembed)[Rank],
308 const int (&onembed)[Rank],
312 unsigned flags = FFTW_MEASURE,
313 int threads = detail::getMaxThreads());
319 explicit operator bool()
const;
322 void execute()
const;
331 using super_t::super_t;
354 std::complex<T> * in,
357 unsigned flags = FFTW_MEASURE,
358 int threads = detail::getMaxThreads());
373 std::complex<T> * in,
374 const int (&n)[Rank],
376 unsigned flags = FFTW_MEASURE,
377 int threads = detail::getMaxThreads());
393 std::complex<T> * in,
399 unsigned flags = FFTW_MEASURE,
400 int threads = detail::getMaxThreads());
418 std::complex<T> * in,
419 const int (&n)[Rank],
420 const int (&nembed)[Rank],
424 unsigned flags = FFTW_MEASURE,
425 int threads = detail::getMaxThreads());
444 std::complex<T> * in,
453 unsigned flags = FFTW_MEASURE,
454 int threads = detail::getMaxThreads());
475 std::complex<T> * in,
476 const int (&n)[Rank],
477 const int (&inembed)[Rank],
480 const int (&onembed)[Rank],
484 unsigned flags = FFTW_MEASURE,
485 int threads = detail::getMaxThreads());
499 std::complex<T> * in,
502 unsigned flags = FFTW_MEASURE,
503 int threads = detail::getMaxThreads());
518 std::complex<T> * in,
519 const int (&n)[Rank],
521 unsigned flags = FFTW_MEASURE,
522 int threads = detail::getMaxThreads());
538 std::complex<T> * in,
544 unsigned flags = FFTW_MEASURE,
545 int threads = detail::getMaxThreads());
563 std::complex<T> * in,
564 const int (&n)[Rank],
565 const int (&nembed)[Rank],
569 unsigned flags = FFTW_MEASURE,
570 int threads = detail::getMaxThreads());
589 std::complex<T> * in,
598 unsigned flags = FFTW_MEASURE,
599 int threads = detail::getMaxThreads());
620 std::complex<T> * in,
621 const int (&n)[Rank],
622 const int (&inembed)[Rank],
625 const int (&onembed)[Rank],
629 unsigned flags = FFTW_MEASURE,
630 int threads = detail::getMaxThreads());
636 explicit operator bool()
const;
639 void execute()
const;
645 #define ISCE_FFT_FFTPLAN_ICC
646 #include "FFTPlan.icc"
647 #undef ISCE_FFT_FFTPLAN_ICC
RAII wrapper encapsulating FFTW plan for forward FFT execution.
Definition: FFTPlan.h:11
FwdFFTPlan()
Construct an invalid plan.
Definition: FFTPlan.h:21
Definition: FFTPlanBase.h:13
RAII wrapper encapsulating FFTW plan for inverse FFT execution.
Definition: FFTPlan.h:328
InvFFTPlan()
Construct an invalid plan.
Definition: FFTPlan.h:338