Skip to content

Class TempLat::ParafaftPlanHolder

template <typename T, size_t NDim>

ClassList > TempLat > ParafaftPlanHolder

Plan holder for parafaft FFT transforms. More...

  • #include <parafaftplanholder.h>

Inherits the following classes: TempLat::FFTPlanInterface

Public Types

Type Name
typedef complex< T > Complex

Public Functions

Type Name
virtual void c2r (MemoryBlock< T, NDim > & mBlock) override
Complex-to-real backward transform (in-place).
virtual void r2c (MemoryBlock< T, NDim > & mBlock) override
Real-to-complex forward transform (in-place).
virtual ~ParafaftPlanHolder ()

Public Functions inherited from TempLat::FFTPlanInterface

See TempLat::FFTPlanInterface

Type Name
virtual void c2r (MemoryBlock< T, NDim > & mBlock) = 0
virtual void r2c (MemoryBlock< T, NDim > & mBlock) = 0
virtual ~FFTPlanInterface () = default

Detailed Description

This class holds a parafaft::ParaFaFT_R2C object and implements the PlanInterface<T> methods for r2c and c2r transforms.

Unit test: ctest -R test-parafaftplanholder

Public Types Documentation

typedef Complex

using TempLat::ParafaftPlanHolder< T, NDim >::Complex =  complex<T>;

Public Functions Documentation

function c2r

Complex-to-real backward transform (in-place).

inline virtual void TempLat::ParafaftPlanHolder::c2r (
    MemoryBlock < T, NDim > & mBlock
) override

Parafaft's backward() copies input to internal buffers before processing, so using the same memory for both is safe.

Implements TempLat::FFTPlanInterface::c2r


function r2c

Real-to-complex forward transform (in-place).

inline virtual void TempLat::ParafaftPlanHolder::r2c (
    MemoryBlock < T, NDim > & mBlock
) override

Parafaft's forward() copies input to internal buffers before processing, so using the same memory for both is safe.

Implements TempLat::FFTPlanInterface::r2c


function ~ParafaftPlanHolder

inline virtual TempLat::ParafaftPlanHolder::~ParafaftPlanHolder () 


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