diff options
author | 2016-06-15 09:57:33 +0200 | |
---|---|---|
committer | 2016-06-15 09:57:33 +0200 | |
commit | c55035b9c0c894551850d122ac8b0cf1a053c28e (patch) | |
tree | 6cb06732afc83d3735da9c18294720890df7c067 /Eigen/src/Core | |
parent | 4e7c3af874e9e1273b5bf3acdc4b53e8c6bdf086 (diff) |
Include the cost of stores in unrolling of triangular expressions.
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/TriangularMatrix.h | 2 |
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); |