Skip to content

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

LayoutStruct<NDim> TempLat::FFTLayoutStruct< NDim >::configurationSpace;

variable fourierSpace

LayoutStruct<NDim> TempLat::FFTLayoutStruct< NDim >::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.

inline void TempLat::FFTLayoutStruct::addExternalMemoryRequest (
    device::Idx requirement
) 


function getIntrinsicScales

inline IntrinsicScales TempLat::FFTLayoutStruct::getIntrinsicScales () const

function getMinimalMemorySize

Compute on the fly, as our members may be modified by others. That's why OOP...

inline device::Idx TempLat::FFTLayoutStruct::getMinimalMemorySize () const


function getNGridPoints

inline const device::IdxArray< NDim > & TempLat::FFTLayoutStruct::getNGridPoints () const

Public Static Functions Documentation

function getNDimensions

static inline constexpr size_t TempLat::FFTLayoutStruct::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