diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-04-13 18:26:08 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-04-13 18:26:08 +0200 |
commit | 2630d97c625d642a205ecf00723efd8e28b9639e (patch) | |
tree | 9b4f30544fe203afa9cb50f536dd78a9ecef7a1a /Eigen/src/Core/SolveTriangular.h | |
parent | 512ba0ac760c8dd0bd667cbe74f53c440b7e835f (diff) |
Fix detection of same matrices when both matrices are not handled by extract_data.
Diffstat (limited to 'Eigen/src/Core/SolveTriangular.h')
-rw-r--r-- | Eigen/src/Core/SolveTriangular.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Eigen/src/Core/SolveTriangular.h b/Eigen/src/Core/SolveTriangular.h index 5a2010449..9b52e1b6e 100644 --- a/Eigen/src/Core/SolveTriangular.h +++ b/Eigen/src/Core/SolveTriangular.h @@ -213,7 +213,8 @@ template<int Side, typename TriangularType, typename Rhs> struct triangular_solv template<typename Dest> inline void evalTo(Dest& dst) const { - if(!(is_same<RhsNestedCleaned,Dest>::value && extract_data(dst) == extract_data(m_rhs))) + const typename Dest::Scalar *dst_data = internal::extract_data(dst); + if(!(is_same<RhsNestedCleaned,Dest>::value && dst_data!=0 && dst_data == extract_data(m_rhs))) dst = m_rhs; m_triangularMatrix.template solveInPlace<Side>(dst); } |