ViennaCL - The Vienna Computing Library: viennacl::scheduler::lhs_rhs_element Struct Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Attributes | List of all members
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:

- viennacl/scheduler/forwards.h