From 59187285e1aa3859de7480889ac0a6498bde3f0e Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 13 Dec 2016 23:10:27 +0100 Subject: [PATCH] bug #1361: fix compilation issue in mat=perm.inverse() (grafted from c817ce3ba3f5fcc9cc52e761df2b4f4d20b0d336 ) --- Eigen/src/Core/Inverse.h | 1 + test/permutationmatrices.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Eigen/src/Core/Inverse.h b/Eigen/src/Core/Inverse.h index f303aebf9..b76f0439d 100644 --- a/Eigen/src/Core/Inverse.h +++ b/Eigen/src/Core/Inverse.h @@ -45,6 +45,7 @@ class Inverse : public InverseImpl::S public: typedef typename XprType::StorageIndex StorageIndex; typedef typename XprType::PlainObject PlainObject; + typedef typename XprType::Scalar Scalar; typedef typename internal::ref_selector::type XprTypeNested; typedef typename internal::remove_all::type XprTypeNestedCleaned; typedef typename internal::ref_selector::type Nested; diff --git a/test/permutationmatrices.cpp b/test/permutationmatrices.cpp index 41aa57d6d..70b469ebc 100644 --- a/test/permutationmatrices.cpp +++ b/test/permutationmatrices.cpp @@ -108,7 +108,14 @@ template void permutationmatrices(const MatrixType& m) rm = rp; rm.col(i).swap(rm.col(j)); VERIFY_IS_APPROX(rm, rp2.toDenseMatrix().template cast()); - } + } + + { + // simple compilation check + Matrix A = rp; + Matrix B = rp.transpose(); + VERIFY_IS_APPROX(A, B.transpose()); + } } template