Highly Efficient FFT for Exascale: HeFFTe v2.4
|
Base reshape interface. More...
#include <heffte_reshape3d.h>
Public Member Functions | |
reshape3d_base (index cinput_size, index coutput_size) | |
Constructor that sets the input and output sizes. | |
virtual | ~reshape3d_base ()=default |
Default virtual destructor. | |
virtual void | apply (int batch_size, float const source[], float destination[], float workspace[]) const =0 |
Apply the reshape, single precision. | |
virtual void | apply (int batch_size, double const source[], double destination[], double workspace[]) const =0 |
Apply the reshape, double precision. | |
virtual void | apply (int batch_size, std::complex< float > const source[], std::complex< float > destination[], std::complex< float > workspace[]) const =0 |
Apply the reshape, single precision complex. | |
virtual void | apply (int batch_size, std::complex< double > const source[], std::complex< double > destination[], std::complex< double > workspace[]) const =0 |
Apply the reshape, double precision complex. | |
index | size_intput () const |
Returns the input size. | |
index | size_output () const |
Returns the output size. | |
virtual size_t | size_workspace () const |
Returns the workspace size. | |
Base reshape interface.
|
pure virtual |
Apply the reshape, single precision.
Implemented in heffte::reshape3d_alltoall< location_tag, packer, index >, heffte::reshape3d_alltoallv< location_tag, packer, index >, heffte::reshape3d_pointtopoint< location_tag, packer, index >, and heffte::reshape3d_transpose< location_tag, index >.
|
pure virtual |
Apply the reshape, double precision.
Implemented in heffte::reshape3d_alltoall< location_tag, packer, index >, heffte::reshape3d_alltoallv< location_tag, packer, index >, heffte::reshape3d_pointtopoint< location_tag, packer, index >, and heffte::reshape3d_transpose< location_tag, index >.
|
pure virtual |
Apply the reshape, single precision complex.
Implemented in heffte::reshape3d_alltoall< location_tag, packer, index >, heffte::reshape3d_alltoallv< location_tag, packer, index >, heffte::reshape3d_pointtopoint< location_tag, packer, index >, and heffte::reshape3d_transpose< location_tag, index >.
|
pure virtual |
Apply the reshape, double precision complex.
Implemented in heffte::reshape3d_alltoall< location_tag, packer, index >, heffte::reshape3d_alltoallv< location_tag, packer, index >, heffte::reshape3d_pointtopoint< location_tag, packer, index >, and heffte::reshape3d_transpose< location_tag, index >.
|
inlinevirtual |
Returns the workspace size.
Reimplemented in heffte::reshape3d_alltoall< location_tag, packer, index >.