diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-08-18 09:35:55 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-08-18 09:35:55 +0200 |
commit | ddbbd7065d4e7dc221ecdc45f36db8745e433bec (patch) | |
tree | 42a141f5744bf3efac88602706ea5532a6006db8 | |
parent | 85fdcdf0554918a485112ed078417379f691d01b (diff) |
* disable unalignment detection when vectorization is not enabled
* revert MapBase unalignment detection
-rw-r--r-- | Eigen/src/Core/MapBase.h | 2 | ||||
-rw-r--r-- | test/geo_quaternion.cpp | 2 | ||||
-rw-r--r-- | test/map.cpp | 2 |
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); |