if (leafA.lhs.subtype == LAYOUTA && leafB.lhs.subtype == LAYOUTB && result.subtype == LAYOUTC)\
{\
switch (result.numeric_type)\
{\
const matrix_base<float, MAJORA>,\
op_trans>(*leafA.lhs.matrix_##MEMBERA##_float, *leafA.lhs.matrix_##MEMBERA##_float), \
const matrix_base<float, MAJORB>,\
op_trans>(*leafB.lhs.matrix_##MEMBERB##_float, *leafB.lhs.matrix_##MEMBERB##_float), \
*result.matrix_##MEMBERC##_float, static_cast<float>(alpha), static_cast<float>(beta)); break;\
const matrix_base<double, MAJORA>,\
op_trans>(*leafA.lhs.matrix_##MEMBERA##_double, *leafA.lhs.matrix_##MEMBERA##_double), \
const matrix_base<double, MAJORB>,\
op_trans>(*leafB.lhs.matrix_##MEMBERB##_double, *leafB.lhs.matrix_##MEMBERB##_double), \
*result.matrix_##MEMBERC##_double, alpha, beta); break;\
default:\
throw statement_not_supported_exception("Invalid numeric type in matrix-matrix multiplication");\
}\
}
Definition: forwards.h:217
Expression template class for representing a tree of expressions which ultimately result in a matrix...
Definition: forwards.h:283
void prod_impl(const matrix_base< NumericT, F > &mat, const vector_base< NumericT > &vec, vector_base< NumericT > &result)
Carries out matrix-vector multiplication.
Definition: matrix_operations.hpp:350
Definition: forwards.h:216