aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Util.h
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen/src/Core/Util.h')
-rw-r--r--Eigen/src/Core/Util.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/Eigen/src/Core/Util.h b/Eigen/src/Core/Util.h
index ad8a15b07..e2c95bc53 100644
--- a/Eigen/src/Core/Util.h
+++ b/Eigen/src/Core/Util.h
@@ -1,6 +1,7 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra. Eigen itself is part of the KDE project.
//
+// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
// Copyright (C) 2006-2008 Benoit Jacob <jacob@math.jussieu.fr>
//
// Eigen is free software; you can redistribute it and/or
@@ -51,11 +52,13 @@ using Eigen::MatrixBase;
#define EIGEN_NO_DEBUG
#endif
+#ifndef ei_assert
#ifdef EIGEN_NO_DEBUG
#define ei_assert(x)
#else
#define ei_assert(x) assert(x)
#endif
+#endif
#ifdef EIGEN_INTERNAL_DEBUGGING
#define ei_internal_assert(x) ei_assert(x);
@@ -79,6 +82,12 @@ using Eigen::MatrixBase;
#define EIGEN_ALWAYS_INLINE
#endif
+#if (defined __GNUC__)
+#define EIGEN_ALIGN_128 __attribute__ ((aligned(16)))
+#else
+#define EIGEN_ALIGN_128
+#endif
+
#define EIGEN_INHERIT_ASSIGNMENT_OPERATOR(Derived, Op) \
template<typename OtherDerived> \
Derived& operator Op(const MatrixBase<OtherDerived>& other) \
@@ -107,6 +116,7 @@ EIGEN_INHERIT_SCALAR_ASSIGNMENT_OPERATOR(Derived, /=)
#define _EIGEN_GENERIC_PUBLIC_INTERFACE(Derived, BaseClass) \
typedef BaseClass Base; \
typedef typename Eigen::ei_traits<Derived>::Scalar Scalar; \
+typedef typename Base::PacketScalar PacketScalar; \
typedef typename Eigen::ei_xpr_copy<Derived>::type XprCopy; \
typedef typename Eigen::ei_eval<Derived>::type Eval; \
enum { RowsAtCompileTime = Base::RowsAtCompileTime, \
@@ -132,7 +142,11 @@ const unsigned int RowMajorBit = 0x1;
const unsigned int EvalBeforeNestingBit = 0x2;
const unsigned int EvalBeforeAssigningBit = 0x4;
const unsigned int LargeBit = 0x8;
+#ifdef EIGEN_VECTORIZE
const unsigned int VectorizableBit = 0x10;
+#else
+const unsigned int VectorizableBit = 0x0;
+#endif
enum { ConditionalJumpCost = 5 };