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> { \
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( \
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> { \
const const_blas_data_mapper<Scalar,Index,RowMajor> &lhs, \
const const_blas_data_mapper<Scalar,Index,ColMajor> &rhs, \
rows,
cols, lhs.data(), lhs.stride(), rhs.data(), rhs.stride(),
res, resIncr,
alpha); \
} \
}; \