1 #ifndef VIENNACL_SCHEDULER_EXECUTE_SCALAR_ASSIGN_HPP
2 #define VIENNACL_SCHEDULER_EXECUTE_SCALAR_ASSIGN_HPP
void inner_prod_impl(lhs_rhs_element const &x, lhs_rhs_element const &y, lhs_rhs_element const &s)
Dispatcher interface for computing s = inner_prod(x, y)
Provides wrappers for av(), avbv(), avbv_v(), etc. in viennacl/linalg/vector_operations.hpp such that scheduler logic is not cluttered with numeric type decutions.
viennacl::context extract_context(statement_node const &root_node)
Helper routine for extracting the context in which a statement is executed.
void norm_impl(lhs_rhs_element const &x, lhs_rhs_element const &s, operation_node_type op_type)
Dispatcher interface for computing s = norm_1(x)
statement_node_subtype subtype
void execute_scalar_assign_composite(statement const &s, statement_node const &root_node)
Deals with x = RHS where RHS is a vector expression.
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
operation_node_type_family type_family
void delete_element(lhs_rhs_element &elem)
Represents a generic 'context' similar to an OpenCL context, but is backend-agnostic and thus also su...
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
statement_node_numeric_type numeric_type
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
void execute_composite(statement const &s, statement_node const &root_node)
Deals with x = RHS where RHS is an expression and x is either a scalar, a vector, or a matrix...
void new_element(lhs_rhs_element &new_elem, lhs_rhs_element const &old_element, viennacl::context const &ctx)
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.
Provides various utilities for implementing the execution of statements.
Main datastructure for an node in the statement tree.
Exception for the case the scheduler is unable to deal with the operation.