|
| HeffteFastFourierTransform (execution_space exec_space, const ArrayLayout< EntityType, MeshType > &layout, const FastFourierTransformParams ¶ms) |
| Constructor.
|
|
template<class Array_t, class ScaleType> |
void | forwardImpl (const Array_t &x, const ScaleType) |
| Do a forward FFT.
|
|
template<class Array_t, class ScaleType> |
void | reverseImpl (const Array_t &x, const ScaleType) |
| Do a reverse FFT.
|
|
template<class Array_t> |
void | compute (const Array_t &x, const int flag, const heffte::scale scale) |
| Do the FFT.
|
|
| FastFourierTransform (const ArrayLayout< EntityType, MeshType > &layout) |
| Constructor.
|
|
void | checkArrayDofs (const int dof) |
| Ensure the FFT compute array has the correct DoFs.
|
|
void | forward (const Array_t &x, const ScaleType scaling, typename std::enable_if<(is_array< Array_t >::value &&is_matching_array< typename Array_t::entity_type, typename Array_t::mesh_type, typename Array_t::memory_space, typename Array_t::value_type, entity_type, mesh_type, memory_space, value_type >::value), int >::type *=0) |
| Do a forward FFT.
|
|
void | reverse (const Array_t &x, const ScaleType scaling, typename std::enable_if<(is_array< Array_t >::value &&is_matching_array< typename Array_t::entity_type, typename Array_t::mesh_type, typename Array_t::memory_space, typename Array_t::value_type, entity_type, mesh_type, memory_space, value_type >::value), int >::type *=0) |
| Do a reverse FFT.
|
|
std::enable_if_t< 3==NSD, void > | copyToLocal (ExecutionSpace exec_space, const IndexSpaceType own_space, LViewType &l_view, const LGViewType lg_view) |
| Copy owned data for FFT.
|
|
std::enable_if_t< 2==NSD, void > | copyToLocal (ExecutionSpace space, const IndexSpaceType own_space, LViewType &l_view, const LGViewType lg_view) |
| Copy owned data for FFT.
|
|
std::enable_if_t< 3==NSD, void > | copyFromLocal (ExecutionSpace space, const IndexSpaceType own_space, const LViewType l_view, LGViewType &lg_view) |
| Copy owned data back after FFT.
|
|
std::enable_if_t< 2==NSD, void > | copyFromLocal (ExecutionSpace space, const IndexSpaceType own_space, const LViewType l_view, LGViewType &lg_view) |
| Copy owned data back after FFT.
|
|
template<class EntityType, class MeshType, class Scalar, class MemorySpace, class ExecSpace, class BackendType>
class Cabana::Grid::Experimental::HeffteFastFourierTransform< EntityType, MeshType, Scalar, MemorySpace, ExecSpace, BackendType >
Interface to heFFTe fast Fourier transform library.