aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/SelfAdjointView.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-05-19 13:01:51 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-05-19 13:01:51 +0200
commitee7da3c7c5d516896ce312999f1d0167d330f00f (patch)
tree09db41defe966dde69b6b5d3035bfb3f635f81c1 /Eigen/src/Core/SelfAdjointView.h
parentb6b8578a678c0ebe8ed80bdd975882d37902952f (diff)
Fix SelfAdjointView::triangularView for complexes.
Diffstat (limited to 'Eigen/src/Core/SelfAdjointView.h')
-rw-r--r--Eigen/src/Core/SelfAdjointView.h5
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);