diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2011-01-23 21:53:28 -0500 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2011-01-23 21:53:28 -0500 |
commit | 1dabd133cc7b547ded5750e3fd1a6c6701ba47b5 (patch) | |
tree | 5ef2cd6a6337f0e2591d03e097b41fe7ea71d2a7 /Eigen/src/Core/DiagonalMatrix.h | |
parent | 5c82fd7f40e926e07a2303bc144334286fe48d70 (diff) |
pass eigen2's triangular test
Diffstat (limited to 'Eigen/src/Core/DiagonalMatrix.h')
-rw-r--r-- | Eigen/src/Core/DiagonalMatrix.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Eigen/src/Core/DiagonalMatrix.h b/Eigen/src/Core/DiagonalMatrix.h index 7b105b299..7118db4b8 100644 --- a/Eigen/src/Core/DiagonalMatrix.h +++ b/Eigen/src/Core/DiagonalMatrix.h @@ -76,6 +76,19 @@ class DiagonalBase : public EigenBase<Derived> { return diagonal().cwiseInverse(); } + + #ifdef EIGEN2_SUPPORT + template<typename OtherDerived> + bool isApprox(const DiagonalBase<OtherDerived>& other, typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision()) const + { + return diagonal().isApprox(other.diagonal(), precision); + } + template<typename OtherDerived> + bool isApprox(const MatrixBase<OtherDerived>& other, typename NumTraits<Scalar>::Real precision = NumTraits<Scalar>::dummy_precision()) const + { + return toDenseMatrix().isApprox(other, precision); + } + #endif }; template<typename Derived> @@ -256,7 +269,7 @@ class DiagonalWrapper * \sa class DiagonalWrapper, class DiagonalMatrix, diagonal(), isDiagonal() **/ template<typename Derived> -inline const DiagonalWrapper<Derived> +inline const DiagonalWrapper<const Derived> MatrixBase<Derived>::asDiagonal() const { return derived(); |