mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-04 18:54:00 +08:00
Extend evaluation traits debuging info
This commit is contained in:
parent
74b1d79d77
commit
5e26b7cf9d
@ -118,6 +118,12 @@ public:
|
|||||||
#ifdef EIGEN_DEBUG_ASSIGN
|
#ifdef EIGEN_DEBUG_ASSIGN
|
||||||
static void debug()
|
static void debug()
|
||||||
{
|
{
|
||||||
|
std::cerr << "DstXpr: " << typeid(typename DstEvaluator::XprType).name() << std::endl;
|
||||||
|
std::cerr << "SrcXpr: " << typeid(typename SrcEvaluator::XprType).name() << std::endl;
|
||||||
|
std::cerr.setf(std::ios::hex, std::ios::basefield);
|
||||||
|
EIGEN_DEBUG_VAR(DstFlags)
|
||||||
|
EIGEN_DEBUG_VAR(SrcFlags)
|
||||||
|
std::cerr.unsetf(std::ios::hex);
|
||||||
EIGEN_DEBUG_VAR(DstIsAligned)
|
EIGEN_DEBUG_VAR(DstIsAligned)
|
||||||
EIGEN_DEBUG_VAR(SrcIsAligned)
|
EIGEN_DEBUG_VAR(SrcIsAligned)
|
||||||
EIGEN_DEBUG_VAR(JointAlignment)
|
EIGEN_DEBUG_VAR(JointAlignment)
|
||||||
@ -126,10 +132,6 @@ public:
|
|||||||
EIGEN_DEBUG_VAR(PacketSize)
|
EIGEN_DEBUG_VAR(PacketSize)
|
||||||
EIGEN_DEBUG_VAR(StorageOrdersAgree)
|
EIGEN_DEBUG_VAR(StorageOrdersAgree)
|
||||||
EIGEN_DEBUG_VAR(MightVectorize)
|
EIGEN_DEBUG_VAR(MightVectorize)
|
||||||
std::cerr.setf(std::ios::hex, std::ios::basefield);
|
|
||||||
EIGEN_DEBUG_VAR(DstFlags)
|
|
||||||
EIGEN_DEBUG_VAR(SrcFlags)
|
|
||||||
std::cerr.unsetf(std::ios::hex);
|
|
||||||
EIGEN_DEBUG_VAR(MayLinearize)
|
EIGEN_DEBUG_VAR(MayLinearize)
|
||||||
EIGEN_DEBUG_VAR(MayInnerVectorize)
|
EIGEN_DEBUG_VAR(MayInnerVectorize)
|
||||||
EIGEN_DEBUG_VAR(MayLinearVectorize)
|
EIGEN_DEBUG_VAR(MayLinearVectorize)
|
||||||
@ -139,6 +141,7 @@ public:
|
|||||||
EIGEN_DEBUG_VAR(MayUnrollCompletely)
|
EIGEN_DEBUG_VAR(MayUnrollCompletely)
|
||||||
EIGEN_DEBUG_VAR(MayUnrollInner)
|
EIGEN_DEBUG_VAR(MayUnrollInner)
|
||||||
EIGEN_DEBUG_VAR(Unrolling)
|
EIGEN_DEBUG_VAR(Unrolling)
|
||||||
|
std::cerr << std::endl;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@ -65,6 +65,29 @@ public:
|
|||||||
? CompleteUnrolling
|
? CompleteUnrolling
|
||||||
: NoUnrolling
|
: 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
|
#ifdef EIGEN_ENABLE_EVALUATORS
|
||||||
// evaluator adaptor
|
// evaluator adaptor
|
||||||
template<typename XprType>
|
template<typename _XprType>
|
||||||
class redux_evaluator
|
class redux_evaluator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
typedef _XprType XprType;
|
||||||
redux_evaluator(const XprType &xpr) : m_evaluator(xpr), m_xpr(xpr) {}
|
redux_evaluator(const XprType &xpr) : m_evaluator(xpr), m_xpr(xpr) {}
|
||||||
|
|
||||||
typedef typename XprType::Index Index;
|
typedef typename XprType::Index Index;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user