Class TempLat::FFTLayoutStruct
template <size_t NDim>
ClassList > TempLat > FFTLayoutStruct
A struct which holds two memory layouts, which are inseparable: More...
#include <fftlayoutstruct.h>
Public Attributes
| Type | Name |
|---|---|
| LayoutStruct< NDim > | configurationSpace |
| LayoutStruct< NDim > | fourierSpace |
Public Functions
| Type | Name |
|---|---|
| FFTLayoutStruct (const device::IdxArray< NDim > & nGridPoints, IntrinsicScales scales=IntrinsicScales()) |
|
| void | addExternalMemoryRequest (device::Idx requirement) Your library may require more memory than the simple final layout of the result. Pass that number here. This is specifically the case for non-transposed FFTW in/outputs: needs some extra space for the final transposition into normal layout. |
| IntrinsicScales | getIntrinsicScales () const |
| device::Idx | getMinimalMemorySize () const Compute on the fly, as our members may be modified by others. That's why OOP... |
| const device::IdxArray< NDim > & | getNGridPoints () const |
Public Static Functions
| Type | Name |
|---|---|
| constexpr size_t | getNDimensions () |
Detailed Description
- the pre-FFT layout in configuration space, with padding but no ghosting.
- the Fourier space (complex values!) layout.
Unit test: ctest -R test-fftlayoutstruct
Public Attributes Documentation
variable configurationSpace
variable fourierSpace
Public Functions Documentation
function FFTLayoutStruct
inline TempLat::FFTLayoutStruct::FFTLayoutStruct (
const device::IdxArray< NDim > & nGridPoints,
IntrinsicScales scales=IntrinsicScales ()
)
function addExternalMemoryRequest
Your library may require more memory than the simple final layout of the result. Pass that number here. This is specifically the case for non-transposed FFTW in/outputs: needs some extra space for the final transposition into normal layout.
function getIntrinsicScales
function getMinimalMemorySize
Compute on the fly, as our members may be modified by others. That's why OOP...
function getNGridPoints
Public Static Functions Documentation
function getNDimensions
Friends Documentation
friend operator<<
inline std::ostream & TempLat::FFTLayoutStruct::operator<< (
std::ostream & ostream,
const FFTLayoutStruct & ls
)
friend operator==
inline bool TempLat::FFTLayoutStruct::operator== (
const FFTLayoutStruct & a,
const FFTLayoutStruct & b
)
The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/lattice/memory/memorylayouts/fftlayoutstruct.h