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

An operator that takes two array types as input (XArgType1 and XArgType2) and writes to a single output type (XArgType3) 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
 Function Execute. More...
 
virtual bool Initialize () override
 Function Initialize. More...
 
void SetArgs (const XArgType1 *in1, const XArgType2 *in2, XArgType3 *out)
 
- Public Member Functions inherited from hops::MHO_Operator
 MHO_Operator ()
 
virtual ~MHO_Operator ()
 
std::string GetName () const
 Getter for operator name. More...
 
double Priority () const
 Get the the priority field value. More...
 
void SetName (std::string name)
 Setter for operator name. More...
 
void SetPriority (double priority)
 Setter for operator priority (determines order of execution within a operator category) More...
 

Protected Member Functions

virtual bool ExecuteImpl (const XArgType1 *in1, const XArgType2 *in2, XArgType3 *out)=0
 
virtual bool InitializeImpl (const XArgType1 *, const XArgType2 *, XArgType3 *)
 
- Protected Member Functions inherited from hops::MHO_ArgumentCarrier< const XArgType1 *, const XArgType1 *, XArgType1 * >
auto Apply (Func &&func) -> decltype(mho_tuple_apply(std::forward< Func >(func), fArgs))
 

Additional Inherited Members

- Protected Attributes inherited from hops::MHO_ArgumentCarrier< const XArgType1 *, const XArgType1 *, XArgType1 * >
std::tuple< Args... > fArgs
 

Detailed Description

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

An operator that takes two array types as input (XArgType1 and XArgType2) and writes to a single output type (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

Function Execute.

Returns
Return value (bool)
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 *  in1,
const XArgType2 *  in2,
XArgType3 *  out 
)
protectedpure virtual

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

Function Initialize.

Returns
Return value (bool)
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 *   
)
inlineprotectedvirtual

Reimplemented in hops::MHO_DelayRate.

◆ SetArgs()

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

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