1 #ifndef VIENNACL_TRAITS_HANDLE_HPP_ 
    2 #define VIENNACL_TRAITS_HANDLE_HPP_ 
   54 inline char   handle(
char val)   { 
return val; }  
 
   55 inline short  handle(
short val)  { 
return val; }  
 
   56 inline int    handle(
int val)    { 
return val; }  
 
   57 inline long   handle(
long val)   { 
return val; }  
 
   58 inline float  handle(
float val)  { 
return val; }  
 
   59 inline double handle(
double val) { 
return val; }  
 
   61 template<
typename LHS, 
typename RHS, 
typename OP>
 
   67 template<
typename LHS, 
typename RHS, 
typename OP>
 
   70 template<
typename LHS, 
typename RHS, 
typename OP>
 
   73 template<
typename LHS, 
typename RHS, 
typename OP>
 
  103   return obj.get().
handle();
 
  110   return obj.get().
handle();
 
  116   return obj.get().
handle();
 
  119 template<
typename LHS, 
typename RHS, 
typename OP>
 
  125 template<
typename LHS, 
typename RHS, 
typename OP>
 
  165 #ifdef VIENNACL_WITH_OPENCL 
  180 inline cl_char   opencl_handle(
char            val) { 
return val; }  
 
  181 inline cl_short  opencl_handle(
short           val) { 
return val; }  
 
  182 inline cl_int    opencl_handle(
int             val) { 
return val; }  
 
  183 inline cl_long   opencl_handle(
long            val) { 
return val; }  
 
  184 inline cl_uchar  opencl_handle(
unsigned char   val) { 
return val; }  
 
  185 inline cl_ushort opencl_handle(
unsigned short  val) { 
return val; }  
 
  186 inline cl_uint   opencl_handle(
unsigned int    val) { 
return val; }  
 
  187 inline cl_ulong  opencl_handle(
unsigned long   val) { 
return val; }  
 
  188 inline float     opencl_handle(
float           val) { 
return val; }  
 
  189 inline double    opencl_handle(
double          val) { 
return val; }  
 
  193 template<
typename LHS, 
typename NumericT>
 
  236 template<
typename LHS, 
typename RHS, 
typename OP>
 
  239 template<
typename LHS, 
typename RHS, 
typename OP>
 
  245 template<
typename LHS, 
typename RHS, 
typename OP>
 
  251 template<
typename LHS, 
typename RHS, 
typename OP>
 
  258 template<
typename LHS, 
typename NumericT>
 
Class for representing strided submatrices of a bigger matrix A. 
Manages an OpenCL context and provides the respective convenience functions for creating buffers...
Expression template class for representing a tree of expressions which ultimately result in a matrix...
This file provides the forward declarations for the main types used within ViennaCL. 
A proxy for scalar expressions (e.g. from inner vector products) 
lhs_reference_type lhs() const 
Get left hand side operand. 
An expression template class that represents a binary operation that yields a vector. 
Implements the multi-memory-domain handle. 
Common base class for dense vectors, vector ranges, and vector slices. 
handle_type & handle()
Returns the OpenCL handle, non-const-version. 
viennacl::memory_types active_handle_id(T const &obj)
Returns an ID for the currently active memory domain of an object. 
RHS & rhs() const 
Get right hand side operand. 
LHS & lhs() const 
Returns the left hand side operand. 
Main abstraction class for multiple memory domains. Represents a buffer in either main RAM...
A Circulant matrix class. 
Class for representing non-strided submatrices of a bigger matrix A. 
viennacl::backend::mem_handle & handle(T &obj)
Returns the generic memory handle of an object. Non-const version. 
LHS & lhs() const 
Get left hand side operand. 
viennacl::backend::mem_handle::ram_handle_type & ram_handle(T &obj)
Generic helper routine for extracting the RAM handle of a ViennaCL object. Non-const version...
const handle_type & handle() const 
Returns the memory handle. 
ram_handle_type & ram_handle()
Returns the handle to a buffer in CPU RAM. NULL is returned if no such buffer has been allocated...
memory_types get_active_handle_id() const 
Returns an ID for the currently active memory buffer. Other memory buffers might contain old or no da...