16template<
size_t d,
size_t dim>
30 array<fftw_plan,2> plans;
Provides shared types, platform headers, and basic definitions.
Core namespace for Ensign's numerical algorithms and data structures.
array< fftw_plan, 2 > create_plans_2d(array< Index, 2 > dims_, multi_array< double, 1 > &real, multi_array< complex< double >, 1 > &freq)
Helper routines to create FFTW plans for 2d transforms.
array< fftw_plan, 2 > create_plans_3d(array< Index, 3 > dims_, multi_array< double, 2 > &real, multi_array< complex< double >, 2 > &freq)
Helper routines to create FFTW plans for 3d transforms.
array< fftw_plan, 2 > create_plans_1d(Index dims_, multi_array< double, 2 > &real, multi_array< complex< double >, 2 > &freq)
Helper routines to create FFTW plans for 1d transforms.
void destroy_plans(array< fftw_plan, 2 > &plans)
Helper function to destroy FFTW plans.
array< fftw_plan, 2 > create_plans_3d_adapt(array< Index, 3 > dims_, multi_array< double, 2 > &real, multi_array< complex< double >, 2 > &freq)
Provides contiguous multidimensional arrays for CPU and GPU storage.
FFT for arbitrary dimensional data, specified by dim.
void forward(double *real, complex< double > *freq, stloc sl)
void forward(multi_array< double, d > &real, multi_array< complex< double >, d > &freq)
fft(array< Index, dim > dims_, multi_array< double, d > &real, multi_array< complex< double >, d > &freq, bool adapt)
void backward(multi_array< complex< double >, d > &freq, multi_array< double, d > &real)
fft(array< Index, dim > dims_, multi_array< double, d > &real, multi_array< complex< double >, d > &freq)
void backward(complex< double > *freq, double *real, stloc sl)
Dense d-dimensional array stored contiguously in column-major order (i.e.