ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::scheduler::lhs_rhs_element Struct Reference

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

#include <forwards.h>

Public Attributes

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< char > *   scalar_char
 
   viennacl::scalar< unsigned char > *   scalar_uchar
 
   viennacl::scalar< short > *   scalar_short
 
   viennacl::scalar< unsigned short > *   scalar_ushort
 
   viennacl::scalar< int > *   scalar_int
 
   viennacl::scalar< unsigned int > *   scalar_uint
 
   viennacl::scalar< long > *   scalar_long
 
   viennacl::scalar< unsigned long > *   scalar_ulong
 
   viennacl::scalar< float > *   scalar_float
 
   viennacl::scalar< double > *   scalar_double
 
   viennacl::vector_base< char > *   vector_char
 
   viennacl::vector_base< unsigned char > *   vector_uchar
 
   viennacl::vector_base< short > *   vector_short
 
   viennacl::vector_base< unsigned short > *   vector_ushort
 
   viennacl::vector_base< int > *   vector_int
 
   viennacl::vector_base< unsigned int > *   vector_uint
 
   viennacl::vector_base< long > *   vector_long
 
   viennacl::vector_base< unsigned long > *   vector_ulong
 
   viennacl::vector_base< float > *   vector_float
 
   viennacl::vector_base< double > *   vector_double
 
   viennacl::implicit_vector_base< char > *   implicit_vector_char
 
   viennacl::implicit_vector_base< unsigned char > *   implicit_vector_uchar
 
   viennacl::implicit_vector_base< short > *   implicit_vector_short
 
   viennacl::implicit_vector_base< unsigned short > *   implicit_vector_ushort
 
   viennacl::implicit_vector_base< int > *   implicit_vector_int
 
   viennacl::implicit_vector_base< unsigned int > *   implicit_vector_uint
 
   viennacl::implicit_vector_base< long > *   implicit_vector_long
 
   viennacl::implicit_vector_base< unsigned long > *   implicit_vector_ulong
 
   viennacl::implicit_vector_base< float > *   implicit_vector_float
 
   viennacl::implicit_vector_base< double > *   implicit_vector_double
 
   viennacl::matrix_base< char > *   matrix_char
 
   viennacl::matrix_base< unsigned char > *   matrix_uchar
 
   viennacl::matrix_base< short > *   matrix_short
 
   viennacl::matrix_base< unsigned short > *   matrix_ushort
 
   viennacl::matrix_base< int > *   matrix_int
 
   viennacl::matrix_base< unsigned int > *   matrix_uint
 
   viennacl::matrix_base< long > *   matrix_long
 
   viennacl::matrix_base< unsigned long > *   matrix_ulong
 
   viennacl::matrix_base< float > *   matrix_float
 
   viennacl::matrix_base< double > *   matrix_double
 
   viennacl::implicit_matrix_base< char > *   implicit_matrix_char
 
   viennacl::implicit_matrix_base< unsigned char > *   implicit_matrix_uchar
 
   viennacl::implicit_matrix_base< short > *   implicit_matrix_short
 
   viennacl::implicit_matrix_base< unsigned short > *   implicit_matrix_ushort
 
   viennacl::implicit_matrix_base< int > *   implicit_matrix_int
 
   viennacl::implicit_matrix_base< unsigned int > *   implicit_matrix_uint
 
   viennacl::implicit_matrix_base< long > *   implicit_matrix_long
 
   viennacl::implicit_matrix_base< unsigned long > *   implicit_matrix_ulong
 
   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

Definition at line 337 of file forwards.h.

Member Data Documentation

union { ... }
viennacl::compressed_matrix<double>* viennacl::scheduler::lhs_rhs_element::compressed_matrix_double

Definition at line 432 of file forwards.h.

viennacl::compressed_matrix<float>* viennacl::scheduler::lhs_rhs_element::compressed_matrix_float

Definition at line 431 of file forwards.h.

viennacl::coordinate_matrix<double>* viennacl::scheduler::lhs_rhs_element::coordinate_matrix_double

Definition at line 443 of file forwards.h.

viennacl::coordinate_matrix<float>* viennacl::scheduler::lhs_rhs_element::coordinate_matrix_float

Definition at line 442 of file forwards.h.

viennacl::ell_matrix<double>* viennacl::scheduler::lhs_rhs_element::ell_matrix_double

Definition at line 454 of file forwards.h.

viennacl::ell_matrix<float>* viennacl::scheduler::lhs_rhs_element::ell_matrix_float

Definition at line 453 of file forwards.h.

char viennacl::scheduler::lhs_rhs_element::host_char

Definition at line 351 of file forwards.h.

double viennacl::scheduler::lhs_rhs_element::host_double

Definition at line 360 of file forwards.h.

float viennacl::scheduler::lhs_rhs_element::host_float

Definition at line 359 of file forwards.h.

int viennacl::scheduler::lhs_rhs_element::host_int

Definition at line 355 of file forwards.h.

long viennacl::scheduler::lhs_rhs_element::host_long

Definition at line 357 of file forwards.h.

short viennacl::scheduler::lhs_rhs_element::host_short

Definition at line 353 of file forwards.h.

unsigned char viennacl::scheduler::lhs_rhs_element::host_uchar

Definition at line 352 of file forwards.h.

unsigned int viennacl::scheduler::lhs_rhs_element::host_uint

Definition at line 356 of file forwards.h.

unsigned long viennacl::scheduler::lhs_rhs_element::host_ulong

Definition at line 358 of file forwards.h.

unsigned short viennacl::scheduler::lhs_rhs_element::host_ushort

Definition at line 354 of file forwards.h.

viennacl::hyb_matrix<double>* viennacl::scheduler::lhs_rhs_element::hyb_matrix_double

Definition at line 465 of file forwards.h.

viennacl::hyb_matrix<float>* viennacl::scheduler::lhs_rhs_element::hyb_matrix_float

Definition at line 464 of file forwards.h.

viennacl::implicit_matrix_base<char>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_char

Definition at line 412 of file forwards.h.

viennacl::implicit_matrix_base<double>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_double

Definition at line 421 of file forwards.h.

viennacl::implicit_matrix_base<float>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_float

Definition at line 420 of file forwards.h.

viennacl::implicit_matrix_base<int>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_int

Definition at line 416 of file forwards.h.

viennacl::implicit_matrix_base<long>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_long

Definition at line 418 of file forwards.h.

viennacl::implicit_matrix_base<short>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_short

Definition at line 414 of file forwards.h.

viennacl::implicit_matrix_base<unsigned char>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_uchar

Definition at line 413 of file forwards.h.

viennacl::implicit_matrix_base<unsigned int>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_uint

Definition at line 417 of file forwards.h.

viennacl::implicit_matrix_base<unsigned long>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_ulong

Definition at line 419 of file forwards.h.

viennacl::implicit_matrix_base<unsigned short>* viennacl::scheduler::lhs_rhs_element::implicit_matrix_ushort

Definition at line 415 of file forwards.h.

viennacl::implicit_vector_base<char>* viennacl::scheduler::lhs_rhs_element::implicit_vector_char

Definition at line 389 of file forwards.h.

viennacl::implicit_vector_base<double>* viennacl::scheduler::lhs_rhs_element::implicit_vector_double

Definition at line 398 of file forwards.h.

viennacl::implicit_vector_base<float>* viennacl::scheduler::lhs_rhs_element::implicit_vector_float

Definition at line 397 of file forwards.h.

viennacl::implicit_vector_base<int>* viennacl::scheduler::lhs_rhs_element::implicit_vector_int

Definition at line 393 of file forwards.h.

viennacl::implicit_vector_base<long>* viennacl::scheduler::lhs_rhs_element::implicit_vector_long

Definition at line 395 of file forwards.h.

viennacl::implicit_vector_base<short>* viennacl::scheduler::lhs_rhs_element::implicit_vector_short

Definition at line 391 of file forwards.h.

viennacl::implicit_vector_base<unsigned char>* viennacl::scheduler::lhs_rhs_element::implicit_vector_uchar

Definition at line 390 of file forwards.h.

viennacl::implicit_vector_base<unsigned int>* viennacl::scheduler::lhs_rhs_element::implicit_vector_uint

Definition at line 394 of file forwards.h.

viennacl::implicit_vector_base<unsigned long>* viennacl::scheduler::lhs_rhs_element::implicit_vector_ulong

Definition at line 396 of file forwards.h.

viennacl::implicit_vector_base<unsigned short>* viennacl::scheduler::lhs_rhs_element::implicit_vector_ushort

Definition at line 392 of file forwards.h.

viennacl::matrix_base<char>* viennacl::scheduler::lhs_rhs_element::matrix_char

Definition at line 401 of file forwards.h.

viennacl::matrix_base<double>* viennacl::scheduler::lhs_rhs_element::matrix_double

Definition at line 410 of file forwards.h.

viennacl::matrix_base<float>* viennacl::scheduler::lhs_rhs_element::matrix_float

Definition at line 409 of file forwards.h.

viennacl::matrix_base<int>* viennacl::scheduler::lhs_rhs_element::matrix_int

Definition at line 405 of file forwards.h.

viennacl::matrix_base<long>* viennacl::scheduler::lhs_rhs_element::matrix_long

Definition at line 407 of file forwards.h.

viennacl::matrix_base<short>* viennacl::scheduler::lhs_rhs_element::matrix_short

Definition at line 403 of file forwards.h.

viennacl::matrix_base<unsigned char>* viennacl::scheduler::lhs_rhs_element::matrix_uchar

Definition at line 402 of file forwards.h.

viennacl::matrix_base<unsigned int>* viennacl::scheduler::lhs_rhs_element::matrix_uint

Definition at line 406 of file forwards.h.

viennacl::matrix_base<unsigned long>* viennacl::scheduler::lhs_rhs_element::matrix_ulong

Definition at line 408 of file forwards.h.

viennacl::matrix_base<unsigned short>* viennacl::scheduler::lhs_rhs_element::matrix_ushort

Definition at line 404 of file forwards.h.

vcl_size_t viennacl::scheduler::lhs_rhs_element::node_index

Definition at line 346 of file forwards.h.

statement_node_numeric_type viennacl::scheduler::lhs_rhs_element::numeric_type

Definition at line 341 of file forwards.h.

viennacl::scalar<char>* viennacl::scheduler::lhs_rhs_element::scalar_char

Definition at line 365 of file forwards.h.

viennacl::scalar<double>* viennacl::scheduler::lhs_rhs_element::scalar_double

Definition at line 374 of file forwards.h.

viennacl::scalar<float>* viennacl::scheduler::lhs_rhs_element::scalar_float

Definition at line 373 of file forwards.h.

viennacl::scalar<int>* viennacl::scheduler::lhs_rhs_element::scalar_int

Definition at line 369 of file forwards.h.

viennacl::scalar<long>* viennacl::scheduler::lhs_rhs_element::scalar_long

Definition at line 371 of file forwards.h.

viennacl::scalar<short>* viennacl::scheduler::lhs_rhs_element::scalar_short

Definition at line 367 of file forwards.h.

viennacl::scalar<unsigned char>* viennacl::scheduler::lhs_rhs_element::scalar_uchar

Definition at line 366 of file forwards.h.

viennacl::scalar<unsigned int>* viennacl::scheduler::lhs_rhs_element::scalar_uint

Definition at line 370 of file forwards.h.

viennacl::scalar<unsigned long>* viennacl::scheduler::lhs_rhs_element::scalar_ulong

Definition at line 372 of file forwards.h.

viennacl::scalar<unsigned short>* viennacl::scheduler::lhs_rhs_element::scalar_ushort

Definition at line 368 of file forwards.h.

statement_node_subtype viennacl::scheduler::lhs_rhs_element::subtype

Definition at line 340 of file forwards.h.

statement_node_type_family viennacl::scheduler::lhs_rhs_element::type_family

Definition at line 339 of file forwards.h.

viennacl::vector_base<char>* viennacl::scheduler::lhs_rhs_element::vector_char

Definition at line 377 of file forwards.h.

viennacl::vector_base<double>* viennacl::scheduler::lhs_rhs_element::vector_double

Definition at line 386 of file forwards.h.

viennacl::vector_base<float>* viennacl::scheduler::lhs_rhs_element::vector_float

Definition at line 385 of file forwards.h.

viennacl::vector_base<int>* viennacl::scheduler::lhs_rhs_element::vector_int

Definition at line 381 of file forwards.h.

viennacl::vector_base<long>* viennacl::scheduler::lhs_rhs_element::vector_long

Definition at line 383 of file forwards.h.

viennacl::vector_base<short>* viennacl::scheduler::lhs_rhs_element::vector_short

Definition at line 379 of file forwards.h.

viennacl::vector_base<unsigned char>* viennacl::scheduler::lhs_rhs_element::vector_uchar

Definition at line 378 of file forwards.h.

viennacl::vector_base<unsigned int>* viennacl::scheduler::lhs_rhs_element::vector_uint

Definition at line 382 of file forwards.h.

viennacl::vector_base<unsigned long>* viennacl::scheduler::lhs_rhs_element::vector_ulong

Definition at line 384 of file forwards.h.

viennacl::vector_base<unsigned short>* viennacl::scheduler::lhs_rhs_element::vector_ushort

Definition at line 380 of file forwards.h.


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