Skip to content

Class TempLat::FFTWHermitianPartners

template <size_t NDim>

ClassList > TempLat > FFTWHermitianPartners

A class which holds all information about the redundancy in the complex values from a r2c fft. The redundancy comes from hermitian symmetry, so certain elements must be each other's complex conjugate. This class tells you which elements are each other's. More...

  • #include <fftwhermitianpartners.h>

Inherits the following classes: TempLat::HermitianPartners

Public Functions

Type Name
FFTWHermitianPartners () = delete

Public Functions inherited from TempLat::HermitianPartners

See TempLat::HermitianPartners

Type Name
DEVICE_FUNCTION HermitianPartners (const device::IdxArray< NDim > & initNGrid)
HermitianPartnersMode getMode () const
DEVICE_FUNCTION HermitianValueAccounting getNumberOfIndependentValues () const
Compute the number of unique / independent real and imaginary floating point values in a memory layout.
DEVICE_FUNCTION HermitianRedundancy putHermitianPartner (const Container1 & globalCoordinate, Container2 & target) const
If the entry at your input globalCoordinate has a partner which is its hermitian conjugate, then return the coordinates to that partner. Otherwise return the input. No bounds checking!
DEVICE_FUNCTION HermitianRedundancy qualify (const Container & globalCoordinate) const
For testing purposes: track which entries in the layout carry redundant information, and if so, what information. The default implementation returns HermitianRedundancy::none , which you could (uselessly) use for configuration-space layouts.
void setMode (HermitianPartnersMode new_mode)
std::string toString () const

Public Static Functions

Type Name
HermitianPartners< NDim > create (const device::IdxArray< NDim > & globalSizes)
Construct a std::shared_ptr to a new instance.

Detailed Description

Unit test: ctest -R test-fftwhermitianpartners

Public Functions Documentation

function FFTWHermitianPartners

TempLat::FFTWHermitianPartners::FFTWHermitianPartners () = delete

Public Static Functions Documentation

function create

Construct a std::shared_ptr to a new instance.

static inline HermitianPartners < NDim > TempLat::FFTWHermitianPartners::create (
    const device::IdxArray< NDim > & globalSizes
) 



The documentation for this class was generated from the following file cosmolatticeweb/tmp/code_source/templat/include/TempLat/fft/external/fftw/fftwhermitianpartners.h