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

Class MHO_MultidimensionalFastFourierTransform. More...

#include <MHO_MultidimensionalFastFourierTransform.hh>

Inheritance diagram for hops::MHO_MultidimensionalFastFourierTransform< 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_MultidimensionalFastFourierTransform ()
 
virtual ~MHO_MultidimensionalFastFourierTransform ()
 
- 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, does FFT in-place. More...
 
virtual bool ExecuteOutOfPlace (const XArgType *in, XArgType *out) override
 Copies input data to output if they're not the same array and executes FFT in-place on output. More...
 
virtual bool InitializeInPlace (XArgType *in) override
 Initializes in-place operation and allocates workspace. 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_MultidimensionalFastFourierTransform< XArgType >

Class MHO_MultidimensionalFastFourierTransform.

Operator for multidimensional FFTS (native 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_MultidimensionalFastFourierTransform< XArgType >::complex_value_type = typename XArgType::value_type

◆ floating_point_value_type

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

Constructor & Destructor Documentation

◆ MHO_MultidimensionalFastFourierTransform()

◆ ~MHO_MultidimensionalFastFourierTransform()

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

Member Function Documentation

◆ ExecuteInPlace()

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

Function ExecuteInPlace, does FFT in-place.

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_MultidimensionalFastFourierTransform< XArgType >::ExecuteOutOfPlace ( const XArgType *  in,
XArgType *  out 
)
inlineoverrideprotectedvirtual

Copies input data to output if they're not the same array and executes FFT in-place on output.

Parameters
inInput data of type XArgType
outOutput data of type XArgType
Returns
Boolean indicating success of ExecuteInPlace operation.
Note
This is a virtual function.

Implements hops::MHO_UnaryOperator< XArgType >.

◆ InitializeInPlace()

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

Initializes in-place operation and allocates workspace.

Parameters
inInput argument of type XArgType*
Returns
True if initialization is successful, false otherwise.
Note
This is a virtual function.

Implements hops::MHO_UnaryOperator< XArgType >.

◆ InitializeOutOfPlace()

template<typename XArgType >
virtual bool hops::MHO_MultidimensionalFastFourierTransform< 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: