aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-02-19 14:05:56 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-02-19 14:05:56 +0100
commit61cff286189144e4dc84631c04db2a3b8fd43fad (patch)
tree6894119767ad059f89ec95fce8d88767e6bcd691 /Eigen
parent68e8ddaf94035827f9865ed0e402682f0292d53f (diff)
Disable Flagged and ForceAlignedAccess
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/Core4
-rw-r--r--Eigen/src/Core/DenseBase.h7
-rw-r--r--Eigen/src/Core/MatrixBase.h9
3 files changed, 19 insertions, 1 deletions
diff --git a/Eigen/Core b/Eigen/Core
index e00cd7a16..bcf354a48 100644
--- a/Eigen/Core
+++ b/Eigen/Core
@@ -327,7 +327,10 @@ using std::ptrdiff_t;
#include "src/Core/util/BlasUtil.h"
#include "src/Core/DenseStorage.h"
#include "src/Core/NestByValue.h"
+#ifndef EIGEN_ENABLE_EVALUATORS
#include "src/Core/ForceAlignedAccess.h"
+#include "src/Core/Flagged.h"
+#endif
#include "src/Core/ReturnByValue.h"
#include "src/Core/NoAlias.h"
#include "src/Core/PlainObjectBase.h"
@@ -358,7 +361,6 @@ using std::ptrdiff_t;
#include "src/Core/IO.h"
#include "src/Core/Swap.h"
#include "src/Core/CommaInitializer.h"
-#include "src/Core/Flagged.h"
#include "src/Core/ProductBase.h"
#include "src/Core/GeneralProduct.h"
#ifdef EIGEN_ENABLE_EVALUATORS
diff --git a/Eigen/src/Core/DenseBase.h b/Eigen/src/Core/DenseBase.h
index 9bbfacbcf..bd7c6d6a0 100644
--- a/Eigen/src/Core/DenseBase.h
+++ b/Eigen/src/Core/DenseBase.h
@@ -287,8 +287,15 @@ template<typename Derived> class DenseBase
EIGEN_DEVICE_FUNC
CommaInitializer<Derived> operator<< (const Scalar& s);
+#ifndef EIGEN_TEST_EVALUATORS
template<unsigned int Added,unsigned int Removed>
const Flagged<Derived, Added, Removed> flagged() const;
+#else
+ // TODO flagged is temporarly disabled. It seems useless now
+ template<unsigned int Added,unsigned int Removed>
+ const Derived& flagged() const
+ { return derived(); }
+#endif
template<typename OtherDerived>
EIGEN_DEVICE_FUNC
diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h
index 851fa28d5..5a3675a20 100644
--- a/Eigen/src/Core/MatrixBase.h
+++ b/Eigen/src/Core/MatrixBase.h
@@ -360,10 +360,19 @@ template<typename Derived> class MatrixBase
NoAlias<Derived,Eigen::MatrixBase > noalias();
+#ifndef EIGEN_TEST_EVALUATORS
inline const ForceAlignedAccess<Derived> forceAlignedAccess() const;
inline ForceAlignedAccess<Derived> forceAlignedAccess();
template<bool Enable> inline typename internal::add_const_on_value_type<typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type>::type forceAlignedAccessIf() const;
template<bool Enable> inline typename internal::conditional<Enable,ForceAlignedAccess<Derived>,Derived&>::type forceAlignedAccessIf();
+#else
+ // TODO forceAlignedAccess is temporarly disabled
+ // Need to find a nicer workaround.
+ inline const Derived& forceAlignedAccess() const { return derived(); }
+ inline Derived& forceAlignedAccess() { return derived(); }
+ template<bool Enable> inline const Derived& forceAlignedAccessIf() const { return derived(); }
+ template<bool Enable> inline Derived& forceAlignedAccessIf() { return derived(); }
+#endif
Scalar trace() const;