aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Redux.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-03-12 18:13:18 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-03-12 18:13:18 +0100
commit5e26b7cf9dc23bbcaaf28f1416a6e3d8da4bdac0 (patch)
tree40ed02e991196459450ec94e64fd17d3cc4b197f /Eigen/src/Core/Redux.h
parent74b1d79d779fbd9fb5bc5df60ad318c012451da7 (diff)
Extend evaluation traits debuging info
Diffstat (limited to 'Eigen/src/Core/Redux.h')
-rw-r--r--Eigen/src/Core/Redux.h26
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;