cuLite v0.3.1
A lite CUDA C++ Interface
Loading...
Searching...
No Matches
culite::VirtualProduct< T_Result, T_Left, T_Right > Class Template Reference

The virtual product class. More...

Inheritance diagram for culite::VirtualProduct< T_Result, T_Left, T_Right >:

Public Member Functions

void evaluateOnNew (T_Result &dest) const override
 Evaluates the expression on a return object.
void evaluateOnExisting (T_Result &dest) const override
 Evaluates the expression on a return object.
void accumulateOnExisting (T_Result &dest, T_Scalar coeff) const override
 Adds the expression on a return object.
Public Member Functions inherited from culite::VirtualExpression< T_Result, VirtualProduct< T_Result, T_Left, T_Right > >
virtual T_Result evaluate () const
 Evaluates the expression.

Detailed Description

template<typename T_Result, typename T_Left, typename T_Right>
class culite::VirtualProduct< T_Result, T_Left, T_Right >

The virtual product class.

Virtually multiplies two virtual expressions.

Member Function Documentation

◆ evaluateOnNew()

template<typename T_Result, typename T_Left, typename T_Right>
void culite::VirtualProduct< T_Result, T_Left, T_Right >::evaluateOnNew ( T_Result & dest) const
overridevirtual

Evaluates the expression on a return object.

Clears existing data in dest, reallocates and evaluates the expression.

Implements culite::VirtualExpression< T_Result, VirtualProduct< T_Result, T_Left, T_Right > >.

◆ evaluateOnExisting()

template<typename T_Result, typename T_Left, typename T_Right>
void culite::VirtualProduct< T_Result, T_Left, T_Right >::evaluateOnExisting ( T_Result & dest) const
overridevirtual

Evaluates the expression on a return object.

Evaluates the expression on the pre-allocated & compatible dest.

Implements culite::VirtualExpression< T_Result, VirtualProduct< T_Result, T_Left, T_Right > >.

◆ accumulateOnExisting()

template<typename T_Result, typename T_Left, typename T_Right>
void culite::VirtualProduct< T_Result, T_Left, T_Right >::accumulateOnExisting ( T_Result & dest,
T_Scalar coeff ) const
overridevirtual

Adds the expression on a return object.

Adds the scaled expression result to the pre-allocated & compatible dest.

Implements culite::VirtualExpression< T_Result, VirtualProduct< T_Result, T_Left, T_Right > >.