diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-05-19 13:01:51 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-05-19 13:01:51 +0200 |
commit | ee7da3c7c5d516896ce312999f1d0167d330f00f (patch) | |
tree | 09db41defe966dde69b6b5d3035bfb3f635f81c1 /Eigen/src/Core/SelfAdjointView.h | |
parent | b6b8578a678c0ebe8ed80bdd975882d37902952f (diff) |
Fix SelfAdjointView::triangularView for complexes.
Diffstat (limited to 'Eigen/src/Core/SelfAdjointView.h')
-rw-r--r-- | Eigen/src/Core/SelfAdjointView.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Eigen/src/Core/SelfAdjointView.h b/Eigen/src/Core/SelfAdjointView.h index 3a8cc221f..d08350df1 100644 --- a/Eigen/src/Core/SelfAdjointView.h +++ b/Eigen/src/Core/SelfAdjointView.h @@ -176,10 +176,11 @@ template<typename _MatrixType, unsigned int UpLo> class SelfAdjointView EIGEN_DEVICE_FUNC typename internal::conditional<(TriMode&(Upper|Lower))==(UpLo&(Upper|Lower)), TriangularView<MatrixType,TriMode>, - TriangularView<const Transpose<MatrixType>,TriMode> >::type + TriangularView<typename MatrixType::AdjointReturnType,TriMode> >::type triangularView() const { - typename internal::conditional<(TriMode&(Upper|Lower))==(UpLo&(Upper|Lower)), MatrixType&, Transpose<MatrixType> >::type tmp(m_matrix); + typename internal::conditional<(TriMode&(Upper|Lower))==(UpLo&(Upper|Lower)), MatrixType&, typename MatrixType::ConstTransposeReturnType>::type tmp1(m_matrix); + typename internal::conditional<(TriMode&(Upper|Lower))==(UpLo&(Upper|Lower)), MatrixType&, typename MatrixType::AdjointReturnType>::type tmp2(tmp1); return typename internal::conditional<(TriMode&(Upper|Lower))==(UpLo&(Upper|Lower)), TriangularView<MatrixType,TriMode>, TriangularView<const Transpose<MatrixType>,TriMode> >::type(tmp); |