![]() |
cuLite v0.3.1
A lite CUDA C++ Interface
|
The virtual expression base class. More...

Public Member Functions | |
| virtual T_Result | evaluate () const |
| Evaluates the expression. | |
| virtual void | evaluateOnNew (T_Result &dest) const =0 |
| Evaluates the expression on a return object. | |
| virtual void | evaluateOnExisting (T_Result &dest) const =0 |
| Evaluates the expression on a return object. | |
| virtual void | accumulateOnExisting (T_Result &dest, T_Scalar coeff) const =0 |
| Adds the expression on a return object. | |
The virtual expression base class.
|
inlinevirtual |
Evaluates the expression.
Evaluates the expression and stores the result in a new object.
|
pure virtual |
Evaluates the expression on a return object.
Clears existing data in dest, reallocates and evaluates the expression.
Implemented in culite::VirtualConjugate< T_Result >, culite::VirtualMinus< T_Result, T_Left, T_Right >, culite::VirtualObject< T_Result >, culite::VirtualOuter< T_Result, T_Virtual >, culite::VirtualPlus< T_Result, T_Left, T_Right >, culite::VirtualProduct< T_Result, T_Left, T_Right >, culite::VirtualScale< T_Result, T_Virtual >, and culite::VirtualTranspose< T_Result >.
|
pure virtual |
Evaluates the expression on a return object.
Evaluates the expression on the pre-allocated & compatible dest.
Implemented in culite::VirtualConjugate< T_Result >, culite::VirtualMinus< T_Result, T_Left, T_Right >, culite::VirtualObject< T_Result >, culite::VirtualOuter< T_Result, T_Virtual >, culite::VirtualPlus< T_Result, T_Left, T_Right >, culite::VirtualProduct< T_Result, T_Left, T_Right >, culite::VirtualScale< T_Result, T_Virtual >, and culite::VirtualTranspose< T_Result >.
|
pure virtual |
Adds the expression on a return object.
Adds the scaled expression result to the pre-allocated & compatible dest.
Implemented in culite::VirtualConjugate< T_Result >, culite::VirtualMinus< T_Result, T_Left, T_Right >, culite::VirtualObject< T_Result >, culite::VirtualOuter< T_Result, T_Virtual >, culite::VirtualPlus< T_Result, T_Left, T_Right >, culite::VirtualProduct< T_Result, T_Left, T_Right >, culite::VirtualScale< T_Result, T_Virtual >, and culite::VirtualTranspose< T_Result >.