aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-08-01 14:48:22 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-08-01 14:48:22 +0200
commit2a3c3c49a19572b544b22820065c673cfac9bc04 (patch)
treea1fd384c35bfe0414d5f92517e156b2dfd821e75
parentfc13b37c552c6661c81f135cf94edc3de09d2000 (diff)
Fix numerous nested versus nested_eval shortcomings
-rw-r--r--Eigen/src/Core/Dot.h5
-rw-r--r--Eigen/src/Geometry/AlignedBox.h4
-rw-r--r--Eigen/src/LU/InverseImpl.h4
-rw-r--r--test/CMakeLists.txt4
4 files changed, 13 insertions, 4 deletions
diff --git a/Eigen/src/Core/Dot.h b/Eigen/src/Core/Dot.h
index d18b0099a..d6441c6a5 100644
--- a/Eigen/src/Core/Dot.h
+++ b/Eigen/src/Core/Dot.h
@@ -211,8 +211,13 @@ template<typename OtherDerived>
bool MatrixBase<Derived>::isOrthogonal
(const MatrixBase<OtherDerived>& other, const RealScalar& prec) const
{
+#ifndef EIGEN_TEST_EVALUATORS
typename internal::nested<Derived,2>::type nested(derived());
typename internal::nested<OtherDerived,2>::type otherNested(other.derived());
+#else
+ typename internal::nested_eval<Derived,2>::type nested(derived());
+ typename internal::nested_eval<OtherDerived,2>::type otherNested(other.derived());
+#endif
return numext::abs2(nested.dot(otherNested)) <= prec * prec * nested.squaredNorm() * otherNested.squaredNorm();
}
diff --git a/Eigen/src/Geometry/AlignedBox.h b/Eigen/src/Geometry/AlignedBox.h
index b6a2f0e24..1d1daaa61 100644
--- a/Eigen/src/Geometry/AlignedBox.h
+++ b/Eigen/src/Geometry/AlignedBox.h
@@ -71,7 +71,11 @@ EIGEN_MAKE_ALIGNED_OPERATOR_NEW_IF_VECTORIZABLE_FIXED_SIZE(_Scalar,_AmbientDim)
template<typename Derived>
inline explicit AlignedBox(const MatrixBase<Derived>& a_p)
{
+#ifndef EIGEN_TEST_EVALUATORS
typename internal::nested<Derived,2>::type p(a_p.derived());
+#else
+ typename internal::nested_eval<Derived,2>::type p(a_p.derived());
+#endif
m_min = p;
m_max = p;
}
diff --git a/Eigen/src/LU/InverseImpl.h b/Eigen/src/LU/InverseImpl.h
index 174dfbac5..e10fee48f 100644
--- a/Eigen/src/LU/InverseImpl.h
+++ b/Eigen/src/LU/InverseImpl.h
@@ -422,7 +422,11 @@ inline void MatrixBase<Derived>::computeInverseAndDetWithCheck(
// for larger sizes, evaluating has negligible cost and limits code size.
typedef typename internal::conditional<
RowsAtCompileTime == 2,
+#ifndef EIGEN_TEST_EVALUATORS
typename internal::remove_all<typename internal::nested<Derived, 2>::type>::type,
+#else
+ typename internal::remove_all<typename internal::nested_eval<Derived, 2>::type>::type,
+#endif
PlainObject
>::type MatrixType;
internal::compute_inverse_and_det_with_check<MatrixType, ResultType>::run
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 000d16c45..7555aaa38 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -251,8 +251,6 @@ ei_add_test(dense_storage)
# # ei_add_test(denseLM)
-if(NOT EIGEN_TEST_EVALUATORS)
-
if(QT4_FOUND)
ei_add_test(qtvector "" "${QT_QTCORE_LIBRARY}")
endif(QT4_FOUND)
@@ -285,8 +283,6 @@ if(METIS_FOUND)
ei_add_test(metis_support "" "${METIS_LIBRARIES}")
endif()
-endif(NOT EIGEN_TEST_EVALUATORS)
-
string(TOLOWER "${CMAKE_CXX_COMPILER}" cmake_cxx_compiler_tolower)
if(cmake_cxx_compiler_tolower MATCHES "qcc")
set(CXX_IS_QCC "ON")