7 #ifndef _MGCPP_OPERATIONS_GEMM_HPP_ 8 #define _MGCPP_OPERATIONS_GEMM_HPP_ 25 template <
typename ADense,
typename BDense,
typename CDense,
typename Type>
26 inline decltype(
auto)
gemm(dense_matrix<ADense, Type> const& A,
27 dense_matrix<BDense, Type> const& B,
28 dense_matrix<CDense, Type> const& C);
46 typename = typename
std::enable_if<is_scalar<ScalarAlpha>::value &&
47 is_scalar<ScalarBeta>::value>::type>
48 inline decltype(auto)
gemm(ScalarAlpha alpha,
49 dense_matrix<ADense, Type> const& A,
50 dense_matrix<BDense, Type> const& B,
52 dense_matrix<CDense, Type> const& C);
71 typename = typename
std::enable_if<is_scalar<ScalarAlpha>::value &&
72 is_scalar<ScalarBeta>::value>::type>
73 inline decltype(auto)
gemm(ScalarAlpha alpha,
74 dense_matrix<ADense, Type> const& A,
75 dense_matrix<BDense, Type> const& B,
77 dense_matrix<CDense, Type>&& C);
104 typename ScalarAlpha,
106 typename =
typename std::enable_if<is_scalar<ScalarAlpha>::value &&
108 inline decltype(
auto)
gemm(ScalarAlpha alpha,
136 typename ScalarAlpha,
138 typename =
typename std::enable_if<is_scalar<ScalarAlpha>::value &&
140 inline decltype(
auto)
gemm(ScalarAlpha alpha,
Definition: adapter_base.hpp:12
Definition: is_scalar.hpp:16
decltype(auto) gemm(dense_matrix< ADense, Type > const &A, dense_matrix< BDense, Type > const &B, dense_matrix< CDense, Type > const &C)
Definition: dense_matrix.hpp:15
trans_mode
Definition: gemm.hpp:79