template<typename Index, bool ConjugateLhs, bool ConjugateRhs> \
struct general_matrix_vector_product<Index,
Scalar,const_blas_data_mapper<
Scalar,Index,ColMajor>,ColMajor,ConjugateLhs,
Scalar,const_blas_data_mapper<
Scalar,Index,RowMajor>,ConjugateRhs,Specialized> { \
static void run( \
const const_blas_data_mapper<Scalar,Index,ColMajor> &lhs, \
const const_blas_data_mapper<Scalar,Index,RowMajor> &rhs, \
{ \
if (ConjugateLhs) { \
general_matrix_vector_product<Index,Scalar,const_blas_data_mapper<Scalar,Index,ColMajor>,ColMajor,ConjugateLhs,
Scalar,const_blas_data_mapper<Scalar,Index,RowMajor>,ConjugateRhs,BuiltIn>::run( \
} else { \
general_matrix_vector_product_gemv<Index,Scalar,ColMajor,ConjugateLhs,Scalar,ConjugateRhs>::run( \
rows,
cols, lhs.data(), lhs.stride(), rhs.data(), rhs.stride(),
res, resIncr,
alpha); \
} \
} \
}; \
template<typename Index, bool ConjugateLhs, bool ConjugateRhs> \
struct general_matrix_vector_product<
Index,
Scalar,const_blas_data_mapper<
Scalar,
Index,
RowMajor>,
RowMajor,ConjugateLhs,
Scalar,const_blas_data_mapper<
Scalar,
Index,
ColMajor>,ConjugateRhs,
Specialized> { \
static void run( \
const const_blas_data_mapper<Scalar,Index,RowMajor> &lhs, \
const const_blas_data_mapper<Scalar,Index,ColMajor> &rhs, \
{ \
general_matrix_vector_product_gemv<Index,Scalar,RowMajor,ConjugateLhs,Scalar,ConjugateRhs>::run( \
rows,
cols, lhs.data(), lhs.stride(), rhs.data(), rhs.stride(),
res, resIncr,
alpha); \
} \
}; \
SCALAR Scalar
Definition bench_gemm.cpp:46
@ ColMajor
Definition Constants.h:319
@ RowMajor
Definition Constants.h:321
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
@ Specialized
Definition Constants.h:310