aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2010-08-18 09:35:55 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2010-08-18 09:35:55 +0200
commitddbbd7065d4e7dc221ecdc45f36db8745e433bec (patch)
tree42a141f5744bf3efac88602706ea5532a6006db8
parent85fdcdf0554918a485112ed078417379f691d01b (diff)
* disable unalignment detection when vectorization is not enabled
* revert MapBase unalignment detection
-rw-r--r--Eigen/src/Core/MapBase.h2
-rw-r--r--test/geo_quaternion.cpp2
-rw-r--r--test/map.cpp2
3 files changed, 5 insertions, 1 deletions
diff --git a/Eigen/src/Core/MapBase.h b/Eigen/src/Core/MapBase.h
index f7f9ccdb7..6b1a25ce2 100644
--- a/Eigen/src/Core/MapBase.h
+++ b/Eigen/src/Core/MapBase.h
@@ -189,7 +189,7 @@ template<typename Derived> class MapBase
EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(ei_traits<Derived>::Flags&PacketAccessBit,
ei_inner_stride_at_compile_time<Derived>::ret==1),
PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1);
- ei_assert(EIGEN_IMPLIES(ei_traits<Derived>::Flags&AlignedBit, (size_t(m_data) % 16 == 0))
+ ei_assert(EIGEN_IMPLIES(ei_traits<Derived>::Flags&AlignedBit, (size_t(m_data) % (sizeof(Scalar)*ei_packet_traits<Scalar>::size)) == 0)
&& "data is not aligned");
}
diff --git a/test/geo_quaternion.cpp b/test/geo_quaternion.cpp
index 953ea158a..bfe15320a 100644
--- a/test/geo_quaternion.cpp
+++ b/test/geo_quaternion.cpp
@@ -134,7 +134,9 @@ template<typename Scalar> void mapQuaternion(void){
VERIFY_IS_APPROX(q1.coeffs(), q2.coeffs());
VERIFY_IS_APPROX(q1.coeffs(), q3.coeffs());
+ #ifdef EIGEN_VECTORIZE
VERIFY_RAISES_ASSERT((MQuaternionA(array3unaligned)));
+ #endif
}
void test_geo_quaternion()
diff --git a/test/map.cpp b/test/map.cpp
index fa4427ba3..9b0301ec0 100644
--- a/test/map.cpp
+++ b/test/map.cpp
@@ -45,7 +45,9 @@ template<typename VectorType> void map_class_vector(const VectorType& m)
VectorType ma3 = Map<VectorType>(array3unaligned, size);
VERIFY_IS_EQUAL(ma1, ma2);
VERIFY_IS_EQUAL(ma1, ma3);
+ #ifdef EIGEN_VECTORIZE
VERIFY_RAISES_ASSERT((Map<VectorType,Aligned>(array3unaligned, size)))
+ #endif
ei_aligned_delete(array1, size);
ei_aligned_delete(array2, size);