1 #ifndef VIENNACL_SCHEDULER_EXECUTE_MATRIX_DISPATCHER_HPP
2 #define VIENNACL_SCHEDULER_EXECUTE_MATRIX_DISPATCHER_HPP
41 template <
typename ScalarType1>
43 lhs_rhs_element const & mat2, ScalarType1
const & alpha,
vcl_size_t len_alpha,
bool reciprocal_alpha,
bool flip_sign_alpha)
46 &&
bool(
"Arguments are not matrix types!"));
91 template <
typename ScalarType1,
typename ScalarType2>
93 lhs_rhs_element const & mat2, ScalarType1
const & alpha,
vcl_size_t len_alpha,
bool reciprocal_alpha,
bool flip_sign_alpha,
99 &&
bool(
"Arguments are not matrix types!"));
103 &&
bool(
"Matrices do not have the same layout"));
107 &&
bool(
"Matrices do not have the same scalar type"));
148 template <
typename ScalarType1,
typename ScalarType2>
150 lhs_rhs_element const & mat2, ScalarType1
const & alpha,
vcl_size_t len_alpha,
bool reciprocal_alpha,
bool flip_sign_alpha,
156 &&
bool(
"Arguments are not matrix types!"));
160 &&
bool(
"Matrices do not have the same layout"));
164 &&
bool(
"Matrices do not have the same scalar type"));
209 &&
bool(
"Arguments are not matrix types!"));
statement_node_subtype subtype
Definition: forwards.h:270
viennacl::matrix_base< float > * matrix_row_float
Definition: forwards.h:339
void ambm_m(matrix_base< NumericT, F > &mat1, matrix_base< NumericT, F > const &mat2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, matrix_base< NumericT, F > const &mat3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Definition: matrix_operations.hpp:118
std::size_t vcl_size_t
Definition: forwards.h:58
viennacl::enable_if< viennacl::is_any_sparse_matrix< M1 >::value, matrix_expression< const M1, const M1, op_trans > >::type trans(const M1 &mat)
Returns an expression template class representing a transposed matrix.
Definition: sparse_matrix_operations.hpp:330
Implementations of dense matrix related operations including matrix-vector products.
void assign_trans(lhs_rhs_element const &A, lhs_rhs_element const &B)
Scheduler unwrapper for A = trans(B)
Definition: execute_matrix_dispatcher.hpp:205
Definition: forwards.h:176
void am(matrix_base< NumericT, F > &mat1, matrix_base< NumericT, F > const &mat2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha)
Definition: matrix_operations.hpp:55
void ambm(matrix_base< NumericT, F > &mat1, matrix_base< NumericT, F > const &mat2, ScalarType1 const &alpha, vcl_size_t len_alpha, bool reciprocal_alpha, bool flip_sign_alpha, matrix_base< NumericT, F > const &mat3, ScalarType2 const &beta, vcl_size_t len_beta, bool reciprocal_beta, bool flip_sign_beta)
Definition: matrix_operations.hpp:83
Definition: forwards.h:217
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.
Definition: execute_matrix_dispatcher.hpp:92
double convert_to_double(float d)
Definition: execute_util.hpp:88
Definition: forwards.h:190
This file provides the forward declarations for the main types used within ViennaCL.
A class representing the 'data' for the LHS or RHS operand of the respective node.
Definition: forwards.h:267
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.
Definition: execute_matrix_dispatcher.hpp:42
viennacl::matrix_base< float, viennacl::column_major > * matrix_col_float
Definition: forwards.h:351
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
Definition: cpu_ram.hpp:29
viennacl::matrix_base< double, viennacl::column_major > * matrix_col_double
Definition: forwards.h:352
statement_node_numeric_type numeric_type
Definition: forwards.h:271
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.
Definition: execute_matrix_dispatcher.hpp:149
Provides the datastructures for dealing with a single statement such as 'x = y + z;'.
float convert_to_float(float f)
Definition: execute_util.hpp:75
viennacl::matrix_base< double > * matrix_row_double
Definition: forwards.h:340
statement_node_type_family type_family
Definition: forwards.h:269
Definition: forwards.h:216
Provides various utilities for implementing the execution of statements.
Exception for the case the scheduler is unable to deal with the operation.
Definition: forwards.h:36
Definition: forwards.h:191