diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-03-12 18:13:18 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-03-12 18:13:18 +0100 |
commit | 5e26b7cf9dc23bbcaaf28f1416a6e3d8da4bdac0 (patch) | |
tree | 40ed02e991196459450ec94e64fd17d3cc4b197f /Eigen/src/Core/Redux.h | |
parent | 74b1d79d779fbd9fb5bc5df60ad318c012451da7 (diff) |
Extend evaluation traits debuging info
Diffstat (limited to 'Eigen/src/Core/Redux.h')
-rw-r--r-- | Eigen/src/Core/Redux.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/Eigen/src/Core/Redux.h b/Eigen/src/Core/Redux.h index 6c8c58e95..b9d59af47 100644 --- a/Eigen/src/Core/Redux.h +++ b/Eigen/src/Core/Redux.h @@ -65,6 +65,29 @@ public: ? CompleteUnrolling : NoUnrolling }; + +#ifdef EIGEN_DEBUG_ASSIGN + static void debug() + { +#ifdef EIGEN_TEST_EVALUATORS + std::cerr << "Xpr: " << typeid(typename Derived::XprType).name() << std::endl; +#else + std::cerr << "Xpr: " << typeid(Derived).name() << std::endl; +#endif + std::cerr.setf(std::ios::hex, std::ios::basefield); + EIGEN_DEBUG_VAR(Derived::Flags) + std::cerr.unsetf(std::ios::hex); + EIGEN_DEBUG_VAR(InnerMaxSize) + EIGEN_DEBUG_VAR(PacketSize) + EIGEN_DEBUG_VAR(MightVectorize) + EIGEN_DEBUG_VAR(MayLinearVectorize) + EIGEN_DEBUG_VAR(MaySliceVectorize) + EIGEN_DEBUG_VAR(Traversal) + EIGEN_DEBUG_VAR(UnrollingLimit) + EIGEN_DEBUG_VAR(Unrolling) + std::cerr << std::endl; + } +#endif }; /*************************************************************************** @@ -311,10 +334,11 @@ struct redux_impl<Func, Derived, LinearVectorizedTraversal, CompleteUnrolling> #ifdef EIGEN_ENABLE_EVALUATORS // evaluator adaptor -template<typename XprType> +template<typename _XprType> class redux_evaluator { public: + typedef _XprType XprType; redux_evaluator(const XprType &xpr) : m_evaluator(xpr), m_xpr(xpr) {} typedef typename XprType::Index Index; |