HOPS
HOPS class reference
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 > Class Template Referenceabstract

Class MHO_BinaryOperator. More...

#include <MHO_BinaryOperator.hh>

Inheritance diagram for hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >:
[legend]

Public Member Functions

 MHO_BinaryOperator ()
 
virtual ~MHO_BinaryOperator ()
 
virtual bool Execute () override
 Executes operation using provided arguments and returns result. More...
 
virtual bool Initialize () override
 Initializes the object using arguments from fArgs tuple. More...
 
virtual void SetArgs (const XArgType1 *in1, const XArgType2 *in2, XArgType3 *out)
 Setter for args, out-of-place operation, in1/in2 unmodified, result stored in out. 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 ExecuteImpl (const XArgType1 *, const XArgType2 *, XArgType3 *)=0
 Function ExecuteImpl. More...
 
virtual bool InitializeImpl (const XArgType1 *, const XArgType2 *, XArgType3 *)=0
 Function InitializeImpl. More...
 

Protected Attributes

std::tuple< const XArgType1 *, const XArgType2 *, XArgType3 * > fArgs
 

Detailed Description

template<class XArgType1, class XArgType2 = XArgType1, class XArgType3 = XArgType2>
class hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >

Class MHO_BinaryOperator.

an operator which takes to array types as input (XArgType1 and XArgType2), and writes to a single type as output (XArgType3)

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_BinaryOperator()

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::MHO_BinaryOperator ( )
inline

◆ ~MHO_BinaryOperator()

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
virtual hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::~MHO_BinaryOperator ( )
inlinevirtual

Member Function Documentation

◆ Execute()

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
virtual bool hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::Execute ( )
inlineoverridevirtual

Executes operation using provided arguments and returns result.

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

Implements hops::MHO_Operator.

Reimplemented in hops::MHO_OpenCLComplexPointwiseMultiply.

◆ ExecuteImpl()

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
virtual bool hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::ExecuteImpl ( const XArgType1 *  ,
const XArgType2 *  ,
XArgType3 *   
)
protectedpure virtual

Function ExecuteImpl.

Parameters
!in1input paratmer 1
!in2input parameter 2
!outoutput parameter
Returns
Return value (bool)
Note
This is a virtual function.

Implemented in hops::MHO_DelayRate.

◆ Initialize()

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
virtual bool hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::Initialize ( )
inlineoverridevirtual

Initializes the object using arguments from fArgs tuple.

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

Implements hops::MHO_Operator.

Reimplemented in hops::MHO_OpenCLComplexPointwiseMultiply.

◆ InitializeImpl()

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
virtual bool hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::InitializeImpl ( const XArgType1 *  ,
const XArgType2 *  ,
XArgType3 *   
)
protectedpure virtual

Function InitializeImpl.

Parameters
!in1input paratmer 1
!in2input parameter 2
!outoutput parameter
Returns
Return value (bool)
Note
This is a virtual function.

Implemented in hops::MHO_DelayRate.

◆ SetArgs()

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
virtual void hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::SetArgs ( const XArgType1 *  in1,
const XArgType2 *  in2,
XArgType3 *  out 
)
inlinevirtual

Setter for args, out-of-place operation, in1/in2 unmodified, result stored in out.

Parameters
in1Input argument of type XArgType1
in2Input argument of type XArgType2
outOutput argument of type XArgType3
Note
This is a virtual function.

Member Data Documentation

◆ fArgs

template<class XArgType1 , class XArgType2 = XArgType1, class XArgType3 = XArgType2>
std::tuple< const XArgType1*, const XArgType2*, XArgType3* > hops::MHO_BinaryOperator< XArgType1, XArgType2, XArgType3 >::fArgs
protected

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