diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2011-01-23 18:34:30 -0500 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2011-01-23 18:34:30 -0500 |
commit | 1cf4996d3cfab2c7b8f0d390aa65ab64e4ec7e90 (patch) | |
tree | b1662d52cbf735e819f6a0710c5149b1b5babdd9 /Eigen | |
parent | 8df5bca979cc6acdf85215fda611e45211ed09ae (diff) |
make eigen2 visitor test pass
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/DenseBase.h | 8 | ||||
-rw-r--r-- | Eigen/src/Core/MatrixBase.h | 2 | ||||
-rw-r--r-- | Eigen/src/Core/Visitor.h | 47 |
3 files changed, 55 insertions, 2 deletions
diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h index b335754c0..9c3c6432b 100644 --- a/Eigen/src/Core/DenseBase.h +++ b/Eigen/src/Core/DenseBase.h @@ -417,9 +417,15 @@ template<typename Derived> class DenseBase typename internal::traits<Derived>::Scalar minCoeff(Index* row, Index* col) const; typename internal::traits<Derived>::Scalar maxCoeff(Index* row, Index* col) const; - typename internal::traits<Derived>::Scalar minCoeff(Index* index) const; typename internal::traits<Derived>::Scalar maxCoeff(Index* index) const; + + #ifdef EIGEN2_SUPPORT + typename internal::traits<Derived>::Scalar minCoeff(int* row, int* col) const; + typename internal::traits<Derived>::Scalar maxCoeff(int* row, int* col) const; + typename internal::traits<Derived>::Scalar minCoeff(int* index) const; + typename internal::traits<Derived>::Scalar maxCoeff(int* index) const; + #endif template<typename BinaryOp> typename internal::result_of<BinaryOp(typename internal::traits<Derived>::Scalar)>::type diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index 510e7115d..457450c43 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -208,7 +208,7 @@ template<typename Derived> class MatrixBase Scalar dot(const MatrixBase<OtherDerived>& other) const; #endif - #if EIGEN2_SUPPORT_STAGE != STAGE99_NO_EIGEN2_SUPPORT + #ifdef EIGEN2_SUPPORT template<typename OtherDerived> #if EIGEN2_SUPPORT_STAGE >= STAGE30_FULL_EIGEN3_API EIGEN_DEPRECATED diff --git a/Eigen/src/Core/Visitor.h b/Eigen/src/Core/Visitor.h index 6b3b3bfb4..556c6fcd7 100644 --- a/Eigen/src/Core/Visitor.h +++ b/Eigen/src/Core/Visitor.h @@ -241,4 +241,51 @@ DenseBase<Derived>::maxCoeff(Index* index) const return maxVisitor.res; } +#ifdef EIGEN2_SUPPORT + +template<typename Derived> +typename internal::traits<Derived>::Scalar +DenseBase<Derived>::minCoeff(int* row, int* col) const +{ + Index r, c; + Scalar result = this->minCoeff(&r, &c); + *row = int(r); + *col = int(c); + return result; +} + +template<typename Derived> +typename internal::traits<Derived>::Scalar +DenseBase<Derived>::minCoeff(int* index) const +{ + Index i; + Scalar result = this->minCoeff(&i); + *index = int(i); + return result; +} + +template<typename Derived> +typename internal::traits<Derived>::Scalar +DenseBase<Derived>::maxCoeff(int* row, int* col) const +{ + Index r, c; + Scalar result = this->maxCoeff(&r, &c); + *row = int(r); + *col = int(c); + return result; +} + +template<typename Derived> +typename internal::traits<Derived>::Scalar +DenseBase<Derived>::maxCoeff(int* index) const +{ + Index i; + Scalar result = this->maxCoeff(&i); + *index = int(i); + return result; +} + +#endif // EIGEN2_SUPPORT + + #endif // EIGEN_VISITOR_H |