ViennaCL - The Vienna Computing Library  1.5.2
Public Types | Public Member Functions
vector_expression< LHS, RHS, OP > Class Template Reference

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...
 

Detailed Description

template<typename LHS, typename RHS, typename OP>
class viennacl::vector_expression< LHS, RHS, OP >

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)

Template Parameters
LHSleft hand side operand
RHSright hand side operand
OPthe operator

Member Typedef Documentation

Extracts the vector type from the two operands.

Member Enumeration Documentation

anonymous enum
Enumerator
alignment 

Constructor & Destructor Documentation

vector_expression ( LHS &  l,
RHS &  r 
)
inline

Member Function Documentation

lhs_reference_type lhs ( ) const
inline

Get left hand side operand.

rhs_reference_type rhs ( ) const
inline

Get right hand side operand.

size_type size ( ) const
inline

Returns the size of the result vector.


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