mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-07 13:33:24 +08:00
Resurect EvalBeforeNestingBit to control nested_eval
This commit is contained in:
parent
16d4c7a5e8
commit
aceae8314b
@ -110,6 +110,8 @@ struct evaluator<Inverse<XprType> >
|
|||||||
|
|
||||||
typedef evaluator type;
|
typedef evaluator type;
|
||||||
typedef evaluator nestedType;
|
typedef evaluator nestedType;
|
||||||
|
|
||||||
|
enum { Flags = Base::Flags | EvalBeforeNestingBit };
|
||||||
|
|
||||||
evaluator(const InverseType& inv_xpr)
|
evaluator(const InverseType& inv_xpr)
|
||||||
: m_result(inv_xpr.rows(), inv_xpr.cols())
|
: m_result(inv_xpr.rows(), inv_xpr.cols())
|
||||||
|
@ -53,9 +53,8 @@ const int Infinity = -1;
|
|||||||
const unsigned int RowMajorBit = 0x1;
|
const unsigned int RowMajorBit = 0x1;
|
||||||
|
|
||||||
/** \ingroup flags
|
/** \ingroup flags
|
||||||
* \deprecated
|
|
||||||
* means the expression should be evaluated by the calling expression */
|
* means the expression should be evaluated by the calling expression */
|
||||||
const unsigned int EvalBeforeNestingBit = 0x2; // FIXME deprecated
|
const unsigned int EvalBeforeNestingBit = 0x2;
|
||||||
|
|
||||||
/** \ingroup flags
|
/** \ingroup flags
|
||||||
* \deprecated
|
* \deprecated
|
||||||
|
@ -432,7 +432,8 @@ template<typename T, int n, typename PlainObject = typename eval<T>::type> struc
|
|||||||
};
|
};
|
||||||
|
|
||||||
typedef typename conditional<
|
typedef typename conditional<
|
||||||
int(CostEvalAsInteger) < int(CostNoEvalAsInteger),
|
( (int(evaluator<T>::Flags) & EvalBeforeNestingBit) ||
|
||||||
|
(int(CostEvalAsInteger) < int(CostNoEvalAsInteger)) ),
|
||||||
PlainObject,
|
PlainObject,
|
||||||
typename ref_selector<T>::type
|
typename ref_selector<T>::type
|
||||||
>::type type;
|
>::type type;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user