1 #ifndef VIENNACL_SCHEDULER_EXECUTE_GENERIC_DISPATCHER_HPP 
    2 #define VIENNACL_SCHEDULER_EXECUTE_GENERIC_DISPATCHER_HPP 
   43 template<
typename ScalarType1>
 
   52     detail::as(x1, x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha);
 
   55     detail::av(x1, x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha);
 
   58     detail::am(x1, x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha);
 
   66 template<
typename ScalarType1, 
typename ScalarType2>
 
   73             && 
bool(
"Arguments are not of the same type family!"));
 
   79                  x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha,
 
   80                  x3, beta,  len_beta,  reciprocal_beta,  flip_sign_beta);
 
   84                  x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha,
 
   85                  x3, beta,  len_beta,  reciprocal_beta,  flip_sign_beta);
 
   89                  x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha,
 
   90                  x3, beta,  len_beta,  reciprocal_beta,  flip_sign_beta);
 
   98 template<
typename ScalarType1, 
typename ScalarType2>
 
  100             lhs_rhs_element const & x2, ScalarType1 
const & alpha, 
vcl_size_t len_alpha, 
bool reciprocal_alpha, 
bool flip_sign_alpha,
 
  105             && 
bool(
"Arguments are not of the same type family!"));
 
  111                    x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha,
 
  112                    x3, beta,  len_beta,  reciprocal_beta,  flip_sign_beta);
 
  116                    x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha,
 
  117                    x3, beta,  len_beta,  reciprocal_beta,  flip_sign_beta);
 
  121                    x2, alpha, len_alpha, reciprocal_alpha, flip_sign_alpha,
 
  122                    x3, beta,  len_beta,  reciprocal_beta,  flip_sign_beta);
 
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. 
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. 
void ambm(lhs_rhs_element &mat1, lhs_rhs_element const &mat2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &mat3, 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. 
Provides wrappers for am(), ambm(), ambm_m(), etc. in viennacl/linalg/matrix_operations.hpp such that scheduler logic is not cluttered with numeric type decutions. 
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. 
void am(lhs_rhs_element &mat1, lhs_rhs_element const &mat2, 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. 
void avbv(lhs_rhs_element &vec1, lhs_rhs_element const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &vec3, 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. 
void axbx(lhs_rhs_element &x1, lhs_rhs_element const &x2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &x3, 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. 
void ambm_m(lhs_rhs_element &mat1, lhs_rhs_element const &mat2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &mat3, 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. 
void avbv_v(lhs_rhs_element &vec1, lhs_rhs_element const &vec2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &vec3, 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. 
Provides the datastructures for dealing with a single statement such as 'x = y + z;'. 
void ax(lhs_rhs_element &x1, lhs_rhs_element const &x2, 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. 
void av(lhs_rhs_element &vec1, lhs_rhs_element const &vec2, 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. 
Provides wrappers for as(), asbs(), asbs_s(), etc. in viennacl/linalg/scalar_operations.hpp such that scheduler logic is not cluttered with numeric type decutions. 
Provides various utilities for implementing the execution of statements. 
void axbx_x(lhs_rhs_element &x1, lhs_rhs_element const &x2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, lhs_rhs_element const &x3, 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. 
Exception for the case the scheduler is unable to deal with the operation.