1 #ifndef VIENNACL_SCHEDULER_EXECUTE_UTIL_HPP
2 #define VIENNACL_SCHEDULER_EXECUTE_UTIL_HPP
viennacl::scalar< float > * scalar_float
viennacl::vector_base< unsigned short > * vector_ushort
viennacl::vector_base< unsigned int > * vector_uint
viennacl::matrix_base< short > * matrix_short
viennacl::vector_base< short > * vector_short
viennacl::scalar< short > * scalar_short
Implementation of the dense matrix class.
viennacl::context extract_context(statement_node const &root_node)
Helper routine for extracting the context in which a statement is executed.
viennacl::matrix_base< char > * matrix_char
vcl_size_t size1(MatrixType const &mat)
Generic routine for obtaining the number of rows of a matrix (ViennaCL, uBLAS, etc.)
double convert_to_double(float d)
viennacl::vector_base< int > * vector_int
statement_node_subtype subtype
This file provides the forward declarations for the main types used within ViennaCL.
statement_node_type_family type_family
A class representing the 'data' for the LHS or RHS operand of the respective node.
container_type const & array() const
viennacl::scalar< unsigned int > * scalar_uint
viennacl::scalar< long > * scalar_long
operation_node_type_family type_family
result_of::size_type< MatrixType >::type size2(MatrixType const &mat)
Generic routine for obtaining the number of columns of a matrix (ViennaCL, uBLAS, etc...
viennacl::matrix_base< double > * matrix_double
void delete_element(lhs_rhs_element &elem)
Represents a generic 'context' similar to an OpenCL context, but is backend-agnostic and thus also su...
viennacl::scalar< unsigned long > * scalar_ulong
viennacl::matrix_base< long > * matrix_long
viennacl::matrix_base< unsigned short > * matrix_ushort
vcl_size_t size(VectorType const &vec)
Generic routine for obtaining the size of a vector (ViennaCL, uBLAS, etc.)
statement_node_numeric_type numeric_type
viennacl::vector_base< unsigned long > * vector_ulong
viennacl::vector_base< float > * vector_float
viennacl::matrix_base< float > * matrix_float
viennacl::vector_base< double > * vector_double
viennacl::matrix_base< unsigned long > * matrix_ulong
viennacl::scalar< double > * scalar_double
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
viennacl::scalar< unsigned short > * scalar_ushort
viennacl::vector_base< char > * vector_char
viennacl::context context(T const &t)
Returns an ID for the currently active memory domain of an object.
void new_element(lhs_rhs_element &new_elem, lhs_rhs_element const &old_element, viennacl::context const &ctx)
The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations ...
bool row_major(T const &)
viennacl::scalar< int > * scalar_int
float convert_to_float(float f)
lhs_rhs_element const & extract_representative_vector(statement const &s, lhs_rhs_element const &element)
The main class for representing a statement such as x = inner_prod(y,z); at runtime.
viennacl::scalar< char > * scalar_char
viennacl::matrix_base< int > * matrix_int
Implementation of the ViennaCL scalar class.
viennacl::vector_base< long > * vector_long
Main datastructure for an node in the statement tree.
Exception for the case the scheduler is unable to deal with the operation.
viennacl::matrix_base< unsigned int > * matrix_uint