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

Class MHO_FastFourierTransform. More...

#include <MHO_FastFourierTransform.hh>

Inheritance diagram for hops::MHO_FastFourierTransform< XFloatType >:
[legend]

Public Types

using XArrayType = MHO_NDArrayWrapper< std::complex< XFloatType >, 1 >
 

Public Member Functions

 MHO_FastFourierTransform ()
 
virtual ~MHO_FastFourierTransform ()
 
virtual void SetBackward ()
 Setter for backward flag (FFT direction) More...
 
virtual void SetForward ()
 Setter for forward flag (FFT direction) More...
 
- Public Member Functions inherited from hops::MHO_UnaryOperator< MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > >
 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 MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *in, MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *out)
 Setter for args. More...
 
virtual void SetArgs (MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *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...
 

Protected Member Functions

virtual bool ExecuteInPlace (XArrayType *in) override
 Function ExecuteInPlace, does the FFT on the array in-place. More...
 
virtual bool ExecuteOutOfPlace (const XArrayType *in, XArrayType *out) override
 Copies input array to output and executes in-place FFT in the output array. More...
 
virtual bool InitializeInPlace (XArrayType *in) override
 Initializes in-place transformation and checks input array validity. More...
 
virtual bool InitializeOutOfPlace (const XArrayType *in, XArrayType *out) override
 Initializes out-of-place FFT by checking input/output array sizes and resizing if necessary. More...
 
- Protected Member Functions inherited from hops::MHO_UnaryOperator< MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > >
virtual bool ExecuteInPlace (MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *in)=0
 Function ExecuteInPlace. More...
 
virtual bool ExecuteOutOfPlace (const MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *in, MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *out)=0
 Function ExecuteOutOfPlace. More...
 
virtual bool InitializeInPlace (MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *in)=0
 Function InitializeInPlace. More...
 
virtual bool InitializeOutOfPlace (const MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *in, MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *out)=0
 Function InitializeOutOfPlace. More...
 

Additional Inherited Members

- Protected Attributes inherited from hops::MHO_UnaryOperator< MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > >
bool fInPlace
 
std::tuple< MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > * > fInPlaceArgs
 
std::tuple< const MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > *, MHO_NDArrayWrapper< std::complex< XFloatType >, 1 > * > fOutOfPlaceArgs
 

Detailed Description

template<typename XFloatType>
class hops::MHO_FastFourierTransform< XFloatType >

Class MHO_FastFourierTransform.

Member Typedef Documentation

◆ XArrayType

template<typename XFloatType >
using hops::MHO_FastFourierTransform< XFloatType >::XArrayType = MHO_NDArrayWrapper< std::complex< XFloatType >, 1 >

Constructor & Destructor Documentation

◆ MHO_FastFourierTransform()

template<typename XFloatType >
hops::MHO_FastFourierTransform< XFloatType >::MHO_FastFourierTransform ( )
inline

◆ ~MHO_FastFourierTransform()

template<typename XFloatType >
virtual hops::MHO_FastFourierTransform< XFloatType >::~MHO_FastFourierTransform ( )
inlinevirtual

Member Function Documentation

◆ ExecuteInPlace()

template<typename XFloatType >
bool hops::MHO_FastFourierTransform< XFloatType >::ExecuteInPlace ( XArrayType in)
overrideprotectedvirtual

Function ExecuteInPlace, does the FFT on the array in-place.

Make a call to execute the FFT plan and perform the transformation.

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

◆ ExecuteOutOfPlace()

template<typename XFloatType >
bool hops::MHO_FastFourierTransform< XFloatType >::ExecuteOutOfPlace ( const XArrayType in,
XArrayType out 
)
overrideprotectedvirtual

Copies input array to output and executes in-place FFT in the output array.

Make a call to execute the FFT plan and perform the transformation.

Parameters
inConst reference to input array.
out(XArrayType*)
Returns
Boolean indicating success of ExecuteInPlace operation.
Note
This is a virtual function.

◆ InitializeInPlace()

template<typename XFloatType >
bool hops::MHO_FastFourierTransform< XFloatType >::InitializeInPlace ( XArrayType in)
overrideprotectedvirtual

Initializes in-place transformation and checks input array validity.

Function MHO_FastFourierTransform<XFloatType>::InitializeInPlace.

Parameters
inInput array pointer for initialization.
Returns
Boolean indicating successful initialization.
Note
This is a virtual function.
Parameters
in(XArrayType*)
Returns
Return value (template< typename XFloatType > bool MHO_FastFourierTransform< XFloatType)

◆ InitializeOutOfPlace()

template<typename XFloatType >
bool hops::MHO_FastFourierTransform< XFloatType >::InitializeOutOfPlace ( const XArrayType in,
XArrayType out 
)
overrideprotectedvirtual

Initializes out-of-place FFT by checking input/output array sizes and resizing if necessary.

Function MHO_FastFourierTransform<XFloatType>::InitializeOutOfPlace.

Parameters
inConst reference to input XArrayType
outReference to output XArrayType
Returns
Boolean indicating successful initialization
Note
This is a virtual function.
Parameters
in(const XArrayType*)
out(XArrayType*)
Returns
Return value (bool MHO_FastFourierTransform< XFloatType)

◆ SetBackward()

template<typename XFloatType >
virtual void hops::MHO_FastFourierTransform< XFloatType >::SetBackward ( )
inlinevirtual

Setter for backward flag (FFT direction)

Note
This is a virtual function.

◆ SetForward()

template<typename XFloatType >
virtual void hops::MHO_FastFourierTransform< XFloatType >::SetForward ( )
inlinevirtual

Setter for forward flag (FFT direction)

Note
This is a virtual function.

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