fixed bug #2106; added test

This commit is contained in:
Vadim Pisarevsky
2012-06-27 20:51:48 +00:00
parent 73ce3ef8c1
commit d60b1f2f82
2 changed files with 10 additions and 1 deletions

View File

@@ -1491,7 +1491,9 @@ void MatOp_GEMM::multiply(const MatExpr& e, double s, MatExpr& res) const
void MatOp_GEMM::transpose(const MatExpr& e, MatExpr& res) const
{
res = e;
res.flags ^= CV_GEMM_A_T | CV_GEMM_B_T | CV_GEMM_C_T;
res.flags = (!(e.flags & CV_GEMM_A_T) ? CV_GEMM_B_T : 0) |
(!(e.flags & CV_GEMM_B_T) ? CV_GEMM_A_T : 0) |
(!(e.flags & CV_GEMM_C_T) ? CV_GEMM_C_T : 0);
swap(res.a, res.b);
}