mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
-new: recursive costs system, useful to determine automatically
when to evaluate arguments and when to meta-unroll. -use it in Product to determine when to eval args. not yet used to determine when to unroll. for now, not used anywhere else but that'll follow. -fix badness of my last commit
This commit is contained in:
@@ -5,9 +5,10 @@ using namespace std;
|
||||
// define a custom template binary functor
|
||||
template<typename Scalar>
|
||||
struct CwiseClampOp EIGEN_EMPTY_STRUCT {
|
||||
CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {}
|
||||
Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); }
|
||||
Scalar m_inf, m_sup;
|
||||
CwiseClampOp(const Scalar& inf, const Scalar& sup) : m_inf(inf), m_sup(sup) {}
|
||||
const Scalar operator()(const Scalar& x) const { return x<m_inf ? m_inf : (x>m_sup ? m_sup : x); }
|
||||
Scalar m_inf, m_sup;
|
||||
enum { Cost = Eigen::ConditionalJumpCost + Eigen::NumTraits<Scalar>::AddCost };
|
||||
};
|
||||
|
||||
int main(int, char**)
|
||||
|
||||
Reference in New Issue
Block a user