aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-06-15 09:57:33 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-06-15 09:57:33 +0200
commitc55035b9c0c894551850d122ac8b0cf1a053c28e (patch)
tree6cb06732afc83d3735da9c18294720890df7c067 /Eigen/src/Core
parent4e7c3af874e9e1273b5bf3acdc4b53e8c6bdf086 (diff)
Include the cost of stores in unrolling of triangular expressions.
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r--Eigen/src/Core/TriangularMatrix.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h
index 8731e9127..c599e0b32 100644
--- a/Eigen/src/Core/TriangularMatrix.h
+++ b/Eigen/src/Core/TriangularMatrix.h
@@ -794,7 +794,7 @@ void call_triangular_assignment_loop(const DstXprType& dst, const SrcXprType& sr
enum {
unroll = DstXprType::SizeAtCompileTime != Dynamic
&& SrcEvaluatorType::CoeffReadCost < HugeCost
- && DstXprType::SizeAtCompileTime * SrcEvaluatorType::CoeffReadCost / 2 <= EIGEN_UNROLLING_LIMIT
+ && DstXprType::SizeAtCompileTime * (DstEvaluatorType::CoeffReadCost+SrcEvaluatorType::CoeffReadCost) / 2 <= EIGEN_UNROLLING_LIMIT
};
triangular_assignment_loop<Kernel, Mode, unroll ? int(DstXprType::SizeAtCompileTime) : Dynamic, SetOpposite>::run(kernel);