aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/util
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2008-07-12 22:59:34 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2008-07-12 22:59:34 +0000
commit861d18d5532546ddb0cd2bff8795eda080ce0c85 (patch)
treea5f874ce1846c3c36a067cb88fe0ae3775adc56b /Eigen/src/Core/util
parent1bbaea988501ac4c151485bbbe1a170e594ce90b (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.h5
-rw-r--r--Eigen/src/Core/util/ForwardDeclarations.h3
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;