HOPS
HOPS class reference
Public Types | Public Member Functions | Protected Member Functions | List of all members
hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType > Class Template Reference

Class MHO_MultidimensionalFastFourierTransformFFTW. More...

#include <MHO_MultidimensionalFastFourierTransformFFTW.hh>

Inheritance diagram for hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >:
[legend]

Public Types

using complex_value_type = typename XArgType::value_type
 
using floating_point_value_type = typename XArgType::value_type::value_type
 
- Public Types inherited from hops::MHO_MultidimensionalFastFourierTransformInterface< XArgType >
using complex_value_type = typename XArgType::value_type
 
using floating_point_value_type = typename XArgType::value_type::value_type
 

Public Member Functions

 MHO_MultidimensionalFastFourierTransformFFTW ()
 
virtual ~MHO_MultidimensionalFastFourierTransformFFTW ()
 
- Public Member Functions inherited from hops::MHO_UnaryOperator< XArgType >
 MHO_UnaryOperator ()
 
virtual ~MHO_UnaryOperator ()
 
virtual bool Execute () override
 Executes operation using provided arguments and return type. More...
 
virtual bool Execute () override=0
 Function Execute. More...
 
virtual bool Initialize () override
 Initializes the system using in-place or out-of-place arguments. More...
 
virtual bool Initialize () override=0
 Function Initialize. More...
 
 MHO_Operator ()
 
virtual void SetArgs (const XArgType *in, XArgType *out)
 Setter for args. More...
 
virtual void SetArgs (XArgType *in)
 Setter for args. More...
 
- Public Member Functions inherited from hops::MHO_Operator
 MHO_Operator ()
 
virtual ~MHO_Operator ()
 
std::string GetName () const
 Getter for operator name. More...
 
virtual double Priority () const
 Get the the priority field value. More...
 
void SetName (std::string name)
 Setter for operator name. More...
 
virtual void SetPriority (const double &priority)
 Setter for operator priority (determines order of execution within a operator category) More...
 
- Public Member Functions inherited from hops::MHO_MultidimensionalFastFourierTransformInterface< XArgType >
 MHO_MultidimensionalFastFourierTransformInterface ()
 
virtual ~MHO_MultidimensionalFastFourierTransformInterface ()
 
virtual void DeselectAllAxes ()
 Deselects all axes by setting fAxesToXForm to false and resetting initialization. More...
 
void DisableAxisLabelTransformation ()
 Disables axis label transformation by setting fTransformAxisLabels to false. More...
 
void EnableAxisLabelTransformation ()
 Enables transformation for axis labels. More...
 
virtual void SelectAllAxes ()
 Selects all axes for transformation. More...
 
virtual void SelectAxis (std::size_t axis_index)
 Selects an axis for transformation if within array rank. More...
 
virtual void SetBackward ()
 Setter for backward. More...
 
virtual void SetForward ()
 Setter for forward. More...
 

Protected Member Functions

virtual bool ExecuteInPlace (XArgType *in) override
 Function ExecuteInPlace. More...
 
virtual bool ExecuteOutOfPlace (const XArgType *in, XArgType *out) override
 Copies input data to output and executes in-place if input/output are different. More...
 
virtual bool InitializeInPlace (XArgType *in) override
 Function InitializeInPlace. More...
 
virtual bool InitializeOutOfPlace (const XArgType *in, XArgType *out) override
 Function InitializeOutOfPlace. More...
 
- Protected Member Functions inherited from hops::MHO_MultidimensionalFastFourierTransformInterface< XArgType >
template<typename XCheckType = XArgType>
std::enable_if< !std::is_base_of< MHO_TableContainerBase, XCheckType >::value, void >::type IfTableTransformAxis (XArgType *, std::size_t)
 Transforms axis of input data if transformation is enabled and axis was transformed. More...
 
template<typename XCheckType = XArgType>
std::enable_if< std::is_base_of< MHO_TableContainerBase, XCheckType >::value, void >::type IfTableTransformAxis (XArgType *in, std::size_t axis_index)
 Transforms axis of input table if specified dimension was transformed. More...
 

Additional Inherited Members

- Protected Attributes inherited from hops::MHO_UnaryOperator< XArgType >
bool fInPlace
 
std::tuple< XArgType * > fInPlaceArgs
 
std::tuple< const XArgType *, XArgType * > fOutOfPlaceArgs
 
- Protected Attributes inherited from hops::MHO_MultidimensionalFastFourierTransformInterface< XArgType >
bool fAxesToXForm [XArgType::rank::value]
 
size_t fDimensionSize [XArgType::rank::value]
 
bool fForward
 
bool fInitialized
 
bool fIsValid
 
bool fTransformAxisLabels
 

Detailed Description

template<typename XArgType>
class hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >

Class MHO_MultidimensionalFastFourierTransformFFTW.

Operator for multidimensional FFTs (FFTW3 implementation)

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Fri Oct 23 12:02:01 2020 -0400

Member Typedef Documentation

◆ complex_value_type

template<typename XArgType >
using hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >::complex_value_type = typename XArgType::value_type

◆ floating_point_value_type

template<typename XArgType >
using hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >::floating_point_value_type = typename XArgType::value_type::value_type

Constructor & Destructor Documentation

◆ MHO_MultidimensionalFastFourierTransformFFTW()

◆ ~MHO_MultidimensionalFastFourierTransformFFTW()

template<typename XArgType >
virtual hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >::~MHO_MultidimensionalFastFourierTransformFFTW ( )
inlinevirtual

Member Function Documentation

◆ ExecuteInPlace()

template<typename XArgType >
virtual bool hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >::ExecuteInPlace ( XArgType *  in)
inlineoverrideprotectedvirtual

Function ExecuteInPlace.

Parameters
in(XArgType*)
Returns
Return value (bool)
Note
This is a virtual function.

Implements hops::MHO_UnaryOperator< XArgType >.

◆ ExecuteOutOfPlace()

template<typename XArgType >
virtual bool hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >::ExecuteOutOfPlace ( const XArgType *  in,
XArgType *  out 
)
inlineoverrideprotectedvirtual

Copies input data to output and executes in-place if input/output are different.

Parameters
inInput data of type XArgType*
outOutput data of type XArgType*
Returns
Result of ExecuteInPlace function call
Note
This is a virtual function.

Implements hops::MHO_UnaryOperator< XArgType >.

◆ InitializeInPlace()

template<typename XArgType >
virtual bool hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >::InitializeInPlace ( XArgType *  in)
inlineoverrideprotectedvirtual

Function InitializeInPlace.

Parameters
in(XArgType*)
Returns
Return value (bool)
Note
This is a virtual function.

Implements hops::MHO_UnaryOperator< XArgType >.

◆ InitializeOutOfPlace()

template<typename XArgType >
virtual bool hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >::InitializeOutOfPlace ( const XArgType *  in,
XArgType *  out 
)
inlineoverrideprotectedvirtual

Function InitializeOutOfPlace.

Parameters
in(const XArgType*)
out(XArgType*)
Returns
Return value (bool)
Note
This is a virtual function.

Implements hops::MHO_UnaryOperator< XArgType >.


The documentation for this class was generated from the following file: