From 8d00a953af6d84413abd0c8941db6666f4e0bf4e Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 8 Oct 2015 17:36:57 +0200 Subject: Fix a nesting issue in some matrix-vector cases. --- Eigen/src/Core/GeneralProduct.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'Eigen/src/Core/GeneralProduct.h') diff --git a/Eigen/src/Core/GeneralProduct.h b/Eigen/src/Core/GeneralProduct.h index 4a5054592..fe8204ac3 100644 --- a/Eigen/src/Core/GeneralProduct.h +++ b/Eigen/src/Core/GeneralProduct.h @@ -350,10 +350,11 @@ template<> struct gemv_dense_selector template static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) { - // TODO makes sure dest is sequentially stored in memory, otherwise use a temp + // TODO if rhs is large enough it might be beneficial to make sure that dest is sequentially stored in memory, otherwise use a temp + typename nested_eval::type actual_rhs(rhs); const Index size = rhs.rows(); for(Index k=0; k struct gemv_dense_selector template static void run(const Lhs &lhs, const Rhs &rhs, Dest& dest, const typename Dest::Scalar& alpha) { - // TODO makes sure rhs is sequentially stored in memory, otherwise use a temp + typename nested_eval::type actual_rhs(rhs); const Index rows = dest.rows(); for(Index i=0; i