diff options
author | Gael Guennebaud <g.gael@free.fr> | 2013-11-07 16:38:14 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2013-11-07 16:38:14 +0100 |
commit | 76c230a84d4857722e4a72e9007302a504af0fb7 (patch) | |
tree | 0565d86ff27ff165bab2e8b0b6c11876a6394bc1 /Eigen/src/Core/Assign.h | |
parent | 57327cc2d5aab1cc51dd1308bd0d000f2ccb623c (diff) |
Add an option to test evaluators globally
Diffstat (limited to 'Eigen/src/Core/Assign.h')
-rw-r--r-- | Eigen/src/Core/Assign.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Eigen/src/Core/Assign.h b/Eigen/src/Core/Assign.h index 906adcf82..c0b4bbfe0 100644 --- a/Eigen/src/Core/Assign.h +++ b/Eigen/src/Core/Assign.h @@ -504,12 +504,27 @@ EIGEN_STRONG_INLINE Derived& DenseBase<Derived> EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(Derived,OtherDerived) EIGEN_STATIC_ASSERT(SameType,YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY) +#ifdef EIGEN_TEST_EVALUATORS + +#ifdef EIGEN_DEBUG_ASSIGN + internal::copy_using_evaluator_traits<Derived, OtherDerived>::debug(); +#endif + eigen_assert(rows() == other.rows() && cols() == other.cols()); +// internal::copy_using_evaluator_impl<Derived, OtherDerived, int(SameType) ? int(internal::copy_using_evaluator_traits<Derived, OtherDerived>::Traversal) +// : int(InvalidTraversal)>::run(derived(),other.derived()); + internal::call_dense_assignment_loop(derived(),other.derived()); + +#else // EIGEN_TEST_EVALUATORS + #ifdef EIGEN_DEBUG_ASSIGN internal::assign_traits<Derived, OtherDerived>::debug(); #endif eigen_assert(rows() == other.rows() && cols() == other.cols()); - internal::assign_impl<Derived, OtherDerived, int(SameType) ? int(internal::assign_traits<Derived, OtherDerived>::Traversal) - : int(InvalidTraversal)>::run(derived(),other.derived()); + internal::assign_impl<Derived, OtherDerived, int(SameType) ? int(internal::copy_using_evaluator_traits<Derived, OtherDerived>::Traversal) + : int(InvalidTraversal)>::run(derived(),other.derived()); + +#endif // EIGEN_TEST_EVALUATORS + #ifndef EIGEN_NO_DEBUG checkTransposeAliasing(other.derived()); #endif |