aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2011-01-23 18:34:30 -0500
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2011-01-23 18:34:30 -0500
commit1cf4996d3cfab2c7b8f0d390aa65ab64e4ec7e90 (patch)
treeb1662d52cbf735e819f6a0710c5149b1b5babdd9 /Eigen
parent8df5bca979cc6acdf85215fda611e45211ed09ae (diff)
make eigen2 visitor test pass
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/DenseBase.h8
-rw-r--r--Eigen/src/Core/MatrixBase.h2
-rw-r--r--Eigen/src/Core/Visitor.h47
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