ViennaCL - The Vienna Computing Library  1.5.1
Data Fields
lhs_rhs_element Struct Reference

A class representing the 'data' for the LHS or RHS operand of the respective node. More...

#include <forwards.h>

Data Fields

statement_node_type_family type_family
statement_node_subtype subtype
statement_node_numeric_type numeric_type
union {
   vcl_size_t   node_index
   char   host_char
   unsigned char   host_uchar
   short   host_short
   unsigned short   host_ushort
   int   host_int
   unsigned int   host_uint
   long   host_long
   unsigned long   host_ulong
   float   host_float
   double   host_double
   viennacl::scalar< float > *   scalar_float
   viennacl::scalar< double > *   scalar_double
   viennacl::vector_base< float > *   vector_float
   viennacl::vector_base< double > *   vector_double
   viennacl::implicit_vector_base
< float > *   implicit_vector_float
   viennacl::implicit_vector_base
< double > *   implicit_vector_double
   viennacl::matrix_base< float > *   matrix_row_float
   viennacl::matrix_base< double > *   matrix_row_double
   viennacl::matrix_base< float,
viennacl::column_major > *   matrix_col_float
   viennacl::matrix_base< double,
viennacl::column_major > *   matrix_col_double
   viennacl::implicit_matrix_base
< float > *   implicit_matrix_float
   viennacl::implicit_matrix_base
< double > *   implicit_matrix_double
   viennacl::compressed_matrix
< float > *   compressed_matrix_float
   viennacl::compressed_matrix
< double > *   compressed_matrix_double
   viennacl::coordinate_matrix
< float > *   coordinate_matrix_float
   viennacl::coordinate_matrix
< double > *   coordinate_matrix_double
   viennacl::ell_matrix< float > *   ell_matrix_float
   viennacl::ell_matrix< double > *   ell_matrix_double
   viennacl::hyb_matrix< float > *   hyb_matrix_float
   viennacl::hyb_matrix< double > *   hyb_matrix_double
}; 

Detailed Description

A class representing the 'data' for the LHS or RHS operand of the respective node.

If it represents a compound expression, the union holds the array index within the respective statement array. If it represents a object with data (vector, matrix, etc.) it holds the respective pointer (scalar, vector, matrix) or value (host scalar)

The member 'type_family' is an optimization for quickly retrieving the 'type', which denotes the currently 'active' member in the union


Field Documentation

union { ... }
char host_char
double host_double
float host_float
int host_int
long host_long
short host_short
unsigned char host_uchar
unsigned int host_uint
unsigned long host_ulong
unsigned short host_ushort

The documentation for this struct was generated from the following file: