From 3af177058efbcaad9281f5a7f4008a5ef659c377 Mon Sep 17 00:00:00 2001 From: Benoit Jacob Date: Fri, 21 Aug 2009 16:03:14 -0400 Subject: [PATCH] fix nasty bug: when calling the cache friendly product, one used the product xpr flags instead of the destination flags, resulting in a transposed result when the storage orders didn't match. --- Eigen/src/Core/Product.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Eigen/src/Core/Product.h b/Eigen/src/Core/Product.h index 5fbfd62d6..1151b2164 100644 --- a/Eigen/src/Core/Product.h +++ b/Eigen/src/Core/Product.h @@ -762,7 +762,7 @@ inline void Product::_cacheFriendlyEvalAndAdd(DestDerived& rows(), cols(), lhs.cols(), _LhsCopy::Flags&RowMajorBit, (const Scalar*)&(lhs.const_cast_derived().coeffRef(0,0)), lhs.stride(), _RhsCopy::Flags&RowMajorBit, (const Scalar*)&(rhs.const_cast_derived().coeffRef(0,0)), rhs.stride(), - Flags&RowMajorBit, (Scalar*)&(res.coeffRef(0,0)), res.stride() + DestDerived::Flags&RowMajorBit, (Scalar*)&(res.coeffRef(0,0)), res.stride() ); }