Go to the documentation of this file.
25 #ifndef UNDERLING_FFTW_HPP
26 #define UNDERLING_FFTW_HPP
89 unsigned fftw_rigor_flags = 0,
90 unsigned packed_flags = 0)
92 p.
get(), long_ni, in, out, fftw_rigor_flags, packed_flags))
103 unsigned fftw_rigor_flags = 0,
104 unsigned packed_flags = 0)
106 p.
get(), long_ni, in, out, fftw_rigor_flags, packed_flags))
117 unsigned fftw_rigor_flags = 0,
118 unsigned packed_flags = 0)
120 p.
get(), long_ni, in, out, fftw_rigor_flags, packed_flags))
131 unsigned fftw_rigor_flags = 0,
132 unsigned packed_flags = 0)
134 p.
get(), long_ni, in, out, fftw_rigor_flags, packed_flags))
143 unsigned fftw_rigor_flags = 0)
145 plan_to_invert.
get(), in, out, fftw_rigor_flags))
170 int *order = NULL)
const
179 int *order = NULL)
const {
184 operator bool ()
const {
return plan_ != NULL; };
210 template<
typename charT,
typename traits >
212 std::basic_ostream<charT,traits> &os,
235 #endif // UNDERLING_FFTW_HPP
@ long_n0
Definition: underling_fftw.hpp:52
int underling_fftw_local_input(const underling_fftw_plan plan, int *start, int *size, int *stride, int *order)
Obtain the processor-local sizes, storage details, and global starting offsets for the given plan's i...
underling_fftw_extents local_extents_output() const
Definition: underling_fftw.hpp:161
@ none
Definition: underling_fftw.hpp:58
underling_fftw_extents extents
Definition: underling_fftw.hpp:41
int underling_fftw_local_output(const underling_fftw_plan plan, int *start, int *size, int *stride, int *order)
Obtain the processor-local sizes, storage details, and global starting offsets for the given plan's o...
int execute(underling_real *in, underling_real *out) const
Definition: underling_fftw.hpp:187
bool operator==(const underling::fftw::extents &e1, const underling::fftw::extents &e2)
Definition: underling_fftw.hpp:230
underling_fftw_plan get() const
Definition: underling_fftw.hpp:152
~plan()
Definition: underling_fftw.hpp:149
underling_fftw_plan underling_fftw_plan_create_inverse(const underling_fftw_plan plan_to_invert, underling_real *in, underling_real *out, unsigned fftw_rigor_flags)
Create a plan to invert another underling_fftw_plan.
Provides a thin RAII wrapper for underling_fftw_plan.
Definition: underling_fftw.hpp:68
A tag type used to indicate a real-to-complex forward transform.
Definition: underling_fftw.hpp:78
A mixin for making a subclass non-copyable via private inheritance.
Definition: underling.hpp:89
Provides a thin RAII wrapper for underling_problem.
Definition: underling.hpp:156
#define UNDERLING_FFTW_PACKED_LONG_N0
Flag indicating the FFT transform output and input for the "long in n0" direction is packed contiguou...
Definition: underling_fftw.h:90
int local_output(int *start=NULL, int *size=NULL, int *stride=NULL, int *order=NULL) const
Definition: underling_fftw.hpp:176
underling_fftw_extents local_extents_input() const
Definition: underling_fftw.hpp:155
int size[5]
The amount of global data stored locally in directions n{0,1,2}.
Definition: underling_fftw.h:307
plan(const c2r_backward tag, const problem &p, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags=0, unsigned packed_flags=0)
Definition: underling_fftw.hpp:126
underling_fftw_plan underling_fftw_plan_create_c2c_backward(const underling_problem problem, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags, unsigned packed_flags)
Create a plan to perform a backward complex-to-complex FFT on the given data when long in the long_ni...
void underling_fftw_plan_destroy(underling_fftw_plan plan)
Destroy all resources associated with the given plan.
@ long_n2
Definition: underling_fftw.hpp:49
Provides C++ wrappers for underling's C-based API.
Definition: underling.hpp:38
underling_fftw_plan underling_fftw_plan_create_c2r_backward(const underling_problem problem, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags, unsigned packed_flags)
Create a plan to perform a backward complex-to-real FFT on the given data when long in the long_nith ...
A tag type used to indicate a complex-to-complex forward transform.
Definition: underling_fftw.hpp:72
std::basic_ostream< charT, traits > & operator<<(std::basic_ostream< charT, traits > &os, const underling::fftw::extents &e)
Outputs an underling_extents or underling::fftw::extents instance as a human-readable string on any s...
Definition: underling_fftw.hpp:211
plan(const r2c_forward tag, const problem &p, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags=0, unsigned packed_flags=0)
Definition: underling_fftw.hpp:112
underling_fftw_extents underling_fftw_local_extents_input(const underling_fftw_plan plan)
Obtain local size, stride, and storage information for the input data to a given plan.
#define UNDERLING_FFTW_PACKED_NONE
Flag indicating the FFT transform output for no direction is necessarily packed contiguously in memor...
Definition: underling_fftw.h:105
underling_fftw_plan underling_fftw_plan_create_r2c_forward(const underling_problem problem, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags, unsigned packed_flags)
Create a plan to perform a forward real-to-complex FFT on the given data when long in the long_nith d...
A tag type used to indicate a complex-to-real backward transform.
Definition: underling_fftw.hpp:81
underling_fftw_plan underling_fftw_plan_create_c2c_forward(const underling_problem problem, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags, unsigned packed_flags)
Create a plan to perform a forward complex-to-complex FFT on the given data when long in the long_nit...
#define UNDERLING_FFTW_PACKED_ALL
Convenience flag indicating packed transform output whenever possible.
Definition: underling_fftw.h:93
A transparent type storing the local sizes, strides, and storage when the data is long in a particula...
Definition: underling_fftw.h:291
int start[5]
The inclusive global data starting offset in directions n{0,1,2}.
Definition: underling_fftw.h:297
int underling_fftw_extents_cmp(const underling_fftw_extents *const e1, const underling_fftw_extents *const e2)
Compare two underling_fftw_extents instances using lexicographic ordering.
@ all
Definition: underling_fftw.hpp:55
underling_fftw_extents underling_fftw_local_extents_output(const underling_fftw_plan plan)
Obtain local size, stride, and storage information for the input data to a given plan.
double underling_real
The real-valued scalar type used throughout the library.
Definition: underling.h:63
A tag type used to indicate a complex-to-complex backward transform.
Definition: underling_fftw.hpp:75
struct underling_fftw_plan_s * underling_fftw_plan
A type encapsulating FFTW-like planning information.
Definition: underling_fftw.h:48
#define UNDERLING_FFTW_PACKED_LONG_N2
Flag indicating the FFT transform output and input for the "long in n2" direction is packed contiguou...
Definition: underling_fftw.h:69
plan(const c2c_forward tag, const problem &p, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags=0, unsigned packed_flags=0)
Definition: underling_fftw.hpp:84
plan(const c2c_backward tag, const problem &p, int long_ni, underling_real *in, underling_real *out, unsigned fftw_rigor_flags=0, unsigned packed_flags=0)
Definition: underling_fftw.hpp:98
int local_input(int *start=NULL, int *size=NULL, int *stride=NULL, int *order=NULL) const
Definition: underling_fftw.hpp:167
plan(const plan &plan_to_invert, underling_real *in, underling_real *out, unsigned fftw_rigor_flags=0)
Definition: underling_fftw.hpp:140
int underling_fftw_plan_execute(const underling_fftw_plan plan, underling_real *in, underling_real *out)
Perform a previously planned FFT.
Generated on Wed Jul 1 2026 13:22:57 for underling
by
doxygen
1.8.17