HOPS
HOPS class reference
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
hops::MHO_UnaryOperator< XArgType > Class Template Referenceabstract

Class MHO_UnaryOperator. More...

#include <MHO_UnaryOperator.hh>

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

Public Member Functions

 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...
 

Protected Member Functions

virtual bool ExecuteInPlace (XArgType *in)=0
 Function ExecuteInPlace. More...
 
virtual bool ExecuteOutOfPlace (const XArgType *in, XArgType *out)=0
 Function ExecuteOutOfPlace. More...
 
virtual bool InitializeInPlace (XArgType *in)=0
 Function InitializeInPlace. More...
 
virtual bool InitializeOutOfPlace (const XArgType *in, XArgType *out)=0
 Function InitializeOutOfPlace. More...
 

Protected Attributes

bool fInPlace
 
std::tuple< XArgType * > fInPlaceArgs
 
std::tuple< const XArgType *, XArgType * > fOutOfPlaceArgs
 

Detailed Description

template<class XArgType>
class hops::MHO_UnaryOperator< XArgType >

Class MHO_UnaryOperator.

operator which only operates on a single array, input = ouput, but the output can be a different object

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du
Date
Fri Oct 15 12:58:01 2021 -0400

Constructor & Destructor Documentation

◆ MHO_UnaryOperator()

template<class XArgType >
hops::MHO_UnaryOperator< XArgType >::MHO_UnaryOperator ( )
inline

◆ ~MHO_UnaryOperator()

template<class XArgType >
virtual hops::MHO_UnaryOperator< XArgType >::~MHO_UnaryOperator ( )
inlinevirtual

Member Function Documentation

◆ Execute() [1/2]

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::Execute ( )
inlineoverridevirtual

Executes operation using provided arguments and return type.

Returns
bool indicating success of execution.
Note
This is a virtual function.

Implements hops::MHO_Operator.

◆ Execute() [2/2]

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::Execute ( )
overridepure virtual

Function Execute.

Returns
Return value (bool)
Note
This is a virtual function.

Implements hops::MHO_Operator.

◆ ExecuteInPlace()

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::ExecuteInPlace ( XArgType *  in)
protectedpure virtual

Function ExecuteInPlace.

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

Implemented in hops::MHO_SubSample< XArrayType >, hops::MHO_Reducer< XArrayType, XFunctorType >, hops::MHO_FunctorBroadcaster< XArrayType, XFunctorType >, hops::MHO_CyclicRotator< XArrayType >, hops::MHO_SamplerLabeler< XArrayType >, hops::MHO_DoubleSidebandChannelLabeler< XArrayType >, hops::MHO_ChannelLabeler< XArrayType >, hops::MHO_OpenCLScalarMultiply< XFactorType, XArrayType >, hops::MHO_NormFX, hops::MHO_SelectRepack< XArgType >, hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >, hops::MHO_MultidimensionalFastFourierTransform< XArgType >, hops::MHO_SingleSidebandNormFX, hops::MHO_MixedSidebandNormFX, hops::MHO_EndZeroPadder< XArgType >, hops::MHO_MinWeight, hops::MHO_MultidimensionalFastFourierTransform< visibility_type >, hops::MHO_StationDelayCorrection, hops::MHO_PolProductSummation, hops::MHO_Passband, hops::MHO_Notches, hops::MHO_MultitonePhaseCorrection, hops::MHO_MixedPolYShift, hops::MHO_ManualPolPhaseCorrection, hops::MHO_ManualPolDelayCorrection, hops::MHO_ManualChannelPhaseCorrection, hops::MHO_ManualChannelDelayCorrection, hops::MHO_LSBOffset, hops::MHO_LinearDParCorrection, hops::MHO_IonosphericPhaseCorrection, hops::MHO_DCBlock, hops::MHO_CircularFieldRotationCorrection, hops::MHO_PhaseCalibrationTrim, hops::MHO_CyclicRotator< MHO_TableContainer< visibility_element_type, mbd_axis_pack > >, hops::MHO_SubSample< hops::MHO_TableContainer >, hops::MHO_Reducer< hops::MHO_TableContainer, hops::MHO_CompoundSum >, hops::MHO_MultidimensionalFastFourierTransform< hops::MHO_TableContainer >, hops::MHO_FunctorBroadcaster< hops::MHO_TableContainer, hops::MHO_NaNMasker >, hops::MHO_CyclicRotator< hops::MHO_TableContainer >, and hops::MHO_EndZeroPadder< hops::MHO_TableContainer >.

◆ ExecuteOutOfPlace()

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::ExecuteOutOfPlace ( const XArgType *  in,
XArgType *  out 
)
protectedpure virtual

Function ExecuteOutOfPlace.

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

Implemented in hops::MHO_SubSample< XArrayType >, hops::MHO_Reducer< XArrayType, XFunctorType >, hops::MHO_FunctorBroadcaster< XArrayType, XFunctorType >, hops::MHO_CyclicRotator< XArrayType >, hops::MHO_SamplerLabeler< XArrayType >, hops::MHO_DoubleSidebandChannelLabeler< XArrayType >, hops::MHO_ChannelLabeler< XArrayType >, hops::MHO_OpenCLScalarMultiply< XFactorType, XArrayType >, hops::MHO_NormFX, hops::MHO_SelectRepack< XArgType >, hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >, hops::MHO_MultidimensionalFastFourierTransform< XArgType >, hops::MHO_SingleSidebandNormFX, hops::MHO_MixedSidebandNormFX, hops::MHO_EndZeroPadder< XArgType >, hops::MHO_MinWeight, hops::MHO_MultidimensionalFastFourierTransform< visibility_type >, hops::MHO_StationDelayCorrection, hops::MHO_PolProductSummation, hops::MHO_Passband, hops::MHO_Notches, hops::MHO_MultitonePhaseCorrection, hops::MHO_MixedPolYShift, hops::MHO_ManualPolPhaseCorrection, hops::MHO_ManualPolDelayCorrection, hops::MHO_ManualChannelPhaseCorrection, hops::MHO_ManualChannelDelayCorrection, hops::MHO_LSBOffset, hops::MHO_LinearDParCorrection, hops::MHO_IonosphericPhaseCorrection, hops::MHO_DCBlock, hops::MHO_CircularFieldRotationCorrection, hops::MHO_PhaseCalibrationTrim, hops::MHO_CyclicRotator< MHO_TableContainer< visibility_element_type, mbd_axis_pack > >, hops::MHO_SubSample< hops::MHO_TableContainer >, hops::MHO_Reducer< hops::MHO_TableContainer, hops::MHO_CompoundSum >, hops::MHO_MultidimensionalFastFourierTransform< hops::MHO_TableContainer >, hops::MHO_FunctorBroadcaster< hops::MHO_TableContainer, hops::MHO_NaNMasker >, hops::MHO_CyclicRotator< hops::MHO_TableContainer >, and hops::MHO_EndZeroPadder< hops::MHO_TableContainer >.

◆ Initialize() [1/2]

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::Initialize ( )
inlineoverridevirtual

Initializes the system using in-place or out-of-place arguments.

Returns
True if initialization succeeds, false otherwise.
Note
This is a virtual function.

Implements hops::MHO_Operator.

◆ Initialize() [2/2]

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::Initialize ( )
overridepure virtual

Function Initialize.

Returns
Return value (bool)
Note
This is a virtual function.

Implements hops::MHO_Operator.

◆ InitializeInPlace()

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::InitializeInPlace ( XArgType *  in)
protectedpure virtual

Function InitializeInPlace.

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

Implemented in hops::MHO_SubSample< XArrayType >, hops::MHO_Reducer< XArrayType, XFunctorType >, hops::MHO_FunctorBroadcaster< XArrayType, XFunctorType >, hops::MHO_CyclicRotator< XArrayType >, hops::MHO_SamplerLabeler< XArrayType >, hops::MHO_DoubleSidebandChannelLabeler< XArrayType >, hops::MHO_ChannelLabeler< XArrayType >, hops::MHO_OpenCLScalarMultiply< XFactorType, XArrayType >, hops::MHO_NormFX, hops::MHO_SelectRepack< XArgType >, hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >, hops::MHO_MultidimensionalFastFourierTransform< XArgType >, hops::MHO_SingleSidebandNormFX, hops::MHO_MixedSidebandNormFX, hops::MHO_EndZeroPadder< XArgType >, hops::MHO_MinWeight, hops::MHO_MultidimensionalFastFourierTransform< visibility_type >, hops::MHO_StationDelayCorrection, hops::MHO_PolProductSummation, hops::MHO_Passband, hops::MHO_Notches, hops::MHO_MixedPolYShift, hops::MHO_ManualPolPhaseCorrection, hops::MHO_ManualPolDelayCorrection, hops::MHO_ManualChannelPhaseCorrection, hops::MHO_ManualChannelDelayCorrection, hops::MHO_LSBOffset, hops::MHO_LinearDParCorrection, hops::MHO_IonosphericPhaseCorrection, hops::MHO_DCBlock, hops::MHO_CircularFieldRotationCorrection, hops::MHO_MultitonePhaseCorrection, hops::MHO_PhaseCalibrationTrim, hops::MHO_CyclicRotator< MHO_TableContainer< visibility_element_type, mbd_axis_pack > >, hops::MHO_SubSample< hops::MHO_TableContainer >, hops::MHO_Reducer< hops::MHO_TableContainer, hops::MHO_CompoundSum >, hops::MHO_MultidimensionalFastFourierTransform< hops::MHO_TableContainer >, hops::MHO_FunctorBroadcaster< hops::MHO_TableContainer, hops::MHO_NaNMasker >, hops::MHO_CyclicRotator< hops::MHO_TableContainer >, and hops::MHO_EndZeroPadder< hops::MHO_TableContainer >.

◆ InitializeOutOfPlace()

template<class XArgType >
virtual bool hops::MHO_UnaryOperator< XArgType >::InitializeOutOfPlace ( const XArgType *  in,
XArgType *  out 
)
protectedpure virtual

Function InitializeOutOfPlace.

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

Implemented in hops::MHO_SubSample< XArrayType >, hops::MHO_Reducer< XArrayType, XFunctorType >, hops::MHO_FunctorBroadcaster< XArrayType, XFunctorType >, hops::MHO_CyclicRotator< XArrayType >, hops::MHO_OpenCLScalarMultiply< XFactorType, XArrayType >, hops::MHO_SamplerLabeler< XArrayType >, hops::MHO_DoubleSidebandChannelLabeler< XArrayType >, hops::MHO_ChannelLabeler< XArrayType >, hops::MHO_NormFX, hops::MHO_SelectRepack< XArgType >, hops::MHO_MultidimensionalFastFourierTransformFFTW< XArgType >, hops::MHO_MultidimensionalFastFourierTransform< XArgType >, hops::MHO_SingleSidebandNormFX, hops::MHO_MixedSidebandNormFX, hops::MHO_EndZeroPadder< XArgType >, hops::MHO_MinWeight, hops::MHO_MultidimensionalFastFourierTransform< visibility_type >, hops::MHO_StationDelayCorrection, hops::MHO_PolProductSummation, hops::MHO_Passband, hops::MHO_Notches, hops::MHO_MixedPolYShift, hops::MHO_ManualPolPhaseCorrection, hops::MHO_ManualPolDelayCorrection, hops::MHO_ManualChannelPhaseCorrection, hops::MHO_ManualChannelDelayCorrection, hops::MHO_LSBOffset, hops::MHO_LinearDParCorrection, hops::MHO_IonosphericPhaseCorrection, hops::MHO_DCBlock, hops::MHO_CircularFieldRotationCorrection, hops::MHO_MultitonePhaseCorrection, hops::MHO_PhaseCalibrationTrim, hops::MHO_CyclicRotator< MHO_TableContainer< visibility_element_type, mbd_axis_pack > >, hops::MHO_SubSample< hops::MHO_TableContainer >, hops::MHO_Reducer< hops::MHO_TableContainer, hops::MHO_CompoundSum >, hops::MHO_MultidimensionalFastFourierTransform< hops::MHO_TableContainer >, hops::MHO_FunctorBroadcaster< hops::MHO_TableContainer, hops::MHO_NaNMasker >, hops::MHO_CyclicRotator< hops::MHO_TableContainer >, and hops::MHO_EndZeroPadder< hops::MHO_TableContainer >.

◆ MHO_Operator()

template<class XArgType >
hops::MHO_Operator::MHO_Operator

◆ SetArgs() [1/2]

template<class XArgType >
virtual void hops::MHO_UnaryOperator< XArgType >::SetArgs ( const XArgType *  in,
XArgType *  out 
)
inlinevirtual

Setter for args.

Parameters
inInput array of type XArgType* (const)
out(XArgType*)
Note
This is a virtual function.

◆ SetArgs() [2/2]

template<class XArgType >
virtual void hops::MHO_UnaryOperator< XArgType >::SetArgs ( XArgType *  in)
inlinevirtual

Setter for args.

Parameters
inPointer to input array of type XArgType.
Note
This is a virtual function.

Member Data Documentation

◆ fInPlace

template<class XArgType >
bool hops::MHO_UnaryOperator< XArgType >::fInPlace
protected

◆ fInPlaceArgs

template<class XArgType >
std::tuple< XArgType* > hops::MHO_UnaryOperator< XArgType >::fInPlaceArgs
protected

◆ fOutOfPlaceArgs

template<class XArgType >
std::tuple< const XArgType*, XArgType* > hops::MHO_UnaryOperator< XArgType >::fOutOfPlaceArgs
protected

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