30 #ifndef REMORA_KERNELS_GEMV_HPP 31 #define REMORA_KERNELS_GEMV_HPP 35 #ifdef REMORA_USE_CBLAS 40 namespace remora{
namespace bindings{
41 template<
class M1,
class M2,
class M3>
42 struct has_optimized_gemv
43 :
public std::false_type{};
49 namespace remora{
namespace kernels{
58 template<
class M,
class E1,
class E2>
60 matrix_expression<E1, cpu_tag>
const& e1,
61 vector_expression<E2, cpu_tag>
const& e2,
62 vector_expression<M, cpu_tag>& m,
63 typename M::value_type alpha
65 assert(m().size() == e1().size1());
66 assert(e1().size2() == e2().size());
70 typename bindings::has_optimized_gemv<M,E1,E2>::type()
76 #ifdef REMORA_USE_CLBLAST