big refactoring in Product.h:

- all specialized products now inherits ProductBase
- the default product evaluated by Assign is still here,
  but it is currently enabled for small fixed sizes only
- => this significantly speed up compilation for large matrices
- I left the OuterProduct specialization empty as an exercise...
This commit is contained in:
Gael Guennebaud
2009-08-05 15:23:35 +02:00
parent 014c581a5b
commit 88147e0a91
7 changed files with 479 additions and 540 deletions

View File

@@ -91,9 +91,6 @@ template<typename MatrixType> void product(const MatrixType& m)
VERIFY_IS_APPROX(s1*(square*m1), (s1*square)*m1);
VERIFY_IS_APPROX(s1*(square*m1), square*(m1*s1));
// again, test operator() to check const-qualification
s1 += (square.lazy() * m1)(r,c);
// test Product.h together with Identity.h
VERIFY_IS_APPROX(v1, identity*v1);
VERIFY_IS_APPROX(v1.transpose(), v1.transpose() * identity);