An expression template class that represents a binary operation that yields a vector. More...
#include <forwards.h>
Public Types | |
| enum | { alignment = 1 } |
| typedef vcl_size_t | size_type |
| Extracts the vector type from the two operands. More... | |
Public Member Functions | |
| vector_expression (LHS &l, RHS &r) | |
| lhs_reference_type | lhs () const |
| Get left hand side operand. More... | |
| rhs_reference_type | rhs () const |
| Get right hand side operand. More... | |
| size_type | size () const |
| Returns the size of the result vector. More... | |
An expression template class that represents a binary operation that yields a vector.
In contrast to full expression templates as introduced by Veldhuizen, ViennaCL does not allow nested expressions. The reason is that this requires automated GPU viennacl::ocl::kernel generation, which then has to be compiles just-in-time. For performance-critical applications, one better writes the appropriate viennacl::ocl::kernels by hand.
Assumption: dim(LHS) >= dim(RHS), where dim(scalar) = 0, dim(vector) = 1 and dim(matrix = 2)
| LHS | left hand side operand |
| RHS | right hand side operand |
| OP | the operator |
Definition at line 239 of file forwards.h.
| typedef vcl_size_t viennacl::vector_expression< LHS, RHS, OP >::size_type |
Extracts the vector type from the two operands.
Definition at line 68 of file vector.hpp.
| anonymous enum |
| Enumerator | |
|---|---|
| alignment | |
Definition at line 64 of file vector.hpp.
|
inline |
Definition at line 70 of file vector.hpp.
|
inline |
Get left hand side operand.
Definition at line 74 of file vector.hpp.
|
inline |
Get right hand side operand.
Definition at line 77 of file vector.hpp.
|
inline |
Returns the size of the result vector.
Definition at line 80 of file vector.hpp.