diff options
author | 2008-07-12 22:59:34 +0000 | |
---|---|---|
committer | 2008-07-12 22:59:34 +0000 | |
commit | 861d18d5532546ddb0cd2bff8795eda080ce0c85 (patch) | |
tree | a5f874ce1846c3c36a067cb88fe0ae3775adc56b /Eigen/src/Core/util | |
parent | 1bbaea988501ac4c151485bbbe1a170e594ce90b (diff) |
* Optimization: added a specialization of Block for xpr with DirectAccessBit
* some simplifications and fixes in cache friendly products
Diffstat (limited to 'Eigen/src/Core/util')
-rw-r--r-- | Eigen/src/Core/util/Constants.h | 5 | ||||
-rw-r--r-- | Eigen/src/Core/util/ForwardDeclarations.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/Eigen/src/Core/util/Constants.h b/Eigen/src/Core/util/Constants.h index c51aa282b..7e2d37dff 100644 --- a/Eigen/src/Core/util/Constants.h +++ b/Eigen/src/Core/util/Constants.h @@ -206,6 +206,11 @@ enum { RowMajor = RowMajorBit }; +enum { + NoDirectAccess = 0, + HasDirectAccess = DirectAccessBit +}; + const int FullyCoherentAccessPattern = 0x1; const int InnerCoherentAccessPattern = 0x2 | FullyCoherentAccessPattern; const int OuterCoherentAccessPattern = 0x4 | InnerCoherentAccessPattern; diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h index 922a3716f..f96d57747 100644 --- a/Eigen/src/Core/util/ForwardDeclarations.h +++ b/Eigen/src/Core/util/ForwardDeclarations.h @@ -42,7 +42,8 @@ class Matrix; template<typename ExpressionType, unsigned int Added, unsigned int Removed> class Flagged; template<typename ExpressionType> class NestByValue; template<typename MatrixType> class Minor; -template<typename MatrixType, int BlockRows=Dynamic, int BlockCols=Dynamic> class Block; +template<typename MatrixType, int BlockRows=Dynamic, int BlockCols=Dynamic, + int DirectAccessStatus = ei_traits<MatrixType>::Flags&DirectAccessBit> class Block; template<typename MatrixType> class Transpose; template<typename MatrixType> class Conjugate; template<typename NullaryOp, typename MatrixType> class CwiseNullaryOp; |