* split Product to a DiagonalProduct template specialization

to optimize matrix-diag and diag-matrix products without
  making Product over complicated.
* compilation fixes in Tridiagonalization and HessenbergDecomposition
  in the case of 2x2 matrices.
* added an Orientation2D small class with similar interface than Quaternion
  (used by Transform to handle 2D and 3D orientations seamlessly)
* added a couple of features in Transform.
This commit is contained in:
Gael Guennebaud
2008-06-15 11:54:18 +00:00
parent fbbd8afe30
commit 0ee6b08128
9 changed files with 374 additions and 51 deletions

View File

@@ -52,8 +52,6 @@ struct ei_traits<Transpose<MatrixType> >
& ~( Like1DArrayBit | LowerTriangularBit | UpperTriangularBit)
| (int(_MatrixTypeNested::Flags)&UpperTriangularBit ? LowerTriangularBit : 0)
| (int(_MatrixTypeNested::Flags)&LowerTriangularBit ? UpperTriangularBit : 0),
// Note that the above test cannot be simplified using ^ because a diagonal matrix
// has both LowerTriangularBit and UpperTriangularBit and both must be preserved.
CoeffReadCost = _MatrixTypeNested::CoeffReadCost
};
};