diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-08-01 14:48:22 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-08-01 14:48:22 +0200 |
commit | 2a3c3c49a19572b544b22820065c673cfac9bc04 (patch) | |
tree | a1fd384c35bfe0414d5f92517e156b2dfd821e75 | |
parent | fc13b37c552c6661c81f135cf94edc3de09d2000 (diff) |
Fix numerous nested versus nested_eval shortcomings
-rw-r--r-- | Eigen/src/Core/Dot.h | 5 | ||||
-rw-r--r-- | Eigen/src/Geometry/AlignedBox.h | 4 | ||||
-rw-r--r-- | Eigen/src/LU/InverseImpl.h | 4 | ||||
-rw-r--r-- | test/CMakeLists.txt | 4 |
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") |