1 #ifndef VIENNACL_SCHEDULER_EXECUTE_SCALAR_DISPATCHER_HPP 
    2 #define VIENNACL_SCHEDULER_EXECUTE_SCALAR_DISPATCHER_HPP 
   41 template<
typename ScalarType1>
 
   47             && 
bool(
"Arguments are not vector types!"));
 
   67 template<
typename ScalarType1, 
typename ScalarType2>
 
   75             && 
bool(
"Arguments are not vector types!"));
 
   97 template<
typename ScalarType1, 
typename ScalarType2>
 
  105             && 
bool(
"Arguments are not vector types!"));
 
void asbs(lhs_rhs_element &s1, lhs_rhs_element const &s2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &s3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Wrapper for viennacl::linalg::avbv(), taking care of the argument unwrapping. 
 
Implementations of scalar operations. 
 
void avbv_v(vector_base< T > &vec1, vector_base< T > const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, vector_base< T > const &vec3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
 
double convert_to_double(float d)
 
statement_node_subtype subtype
 
void as(lhs_rhs_element &s1, lhs_rhs_element const &s2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha)
Wrapper for viennacl::linalg::av(), taking care of the argument unwrapping. 
 
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. 
 
void asbs_s(lhs_rhs_element &s1, lhs_rhs_element const &s2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &s3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Wrapper for viennacl::linalg::avbv_v(), taking care of the argument unwrapping. 
 
viennacl::scalar< int > s2
 
viennacl::scalar< float > s1
 
statement_node_numeric_type numeric_type
 
viennacl::vector_base< float > * vector_float
 
viennacl::vector_base< double > * vector_double
 
Provides the datastructures for dealing with a single statement such as 'x = y + z;'. 
 
void avbv(vector_base< T > &vec1, vector_base< T > const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, vector_base< T > const &vec3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
 
void av(vector_base< T > &vec1, vector_base< T > const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha)
 
float convert_to_float(float f)
 
Provides various utilities for implementing the execution of statements. 
 
Exception for the case the scheduler is unable to deal with the operation.