current state of the mess. One line fails in the tests, and

useless copies are made when evaluating nested expressions.
Changes:
- kill LazyBit, introduce EvalBeforeNestingBit and EvalBeforeAssigningBit
- product and random don't evaluate immediately anymore
- eval() always evaluates
- change the value of Dynamic to some large positive value,
  in preparation of future simplifications
This commit is contained in:
Benoit Jacob
2008-04-03 16:54:19 +00:00
parent b8900d0b80
commit 249dc4f482
7 changed files with 67 additions and 72 deletions

View File

@@ -127,12 +127,15 @@ friend class Eigen::MatrixBase<Derived>;
#define EIGEN_ENUM_MIN(a,b) (((int)a <= (int)b) ? (int)a : (int)b)
const int Dynamic = -10;
const int Dynamic = 10000;
// matrix/expression flags
const unsigned int RowMajorBit = 0x1;
const unsigned int LazyBit = 0x2;
const unsigned int LargeBit = 0x4;
const unsigned int EvalBeforeNestingBit = 0x2;
const unsigned int EvalBeforeAssigningBit = 0x4;
const unsigned int LargeBit = 0x8;
const unsigned int TemporaryBit = 0x10;
enum { ConditionalJumpCost = 5 };