From f600bdd76bb8decf675e46fbcc3f96f2d4acebaa Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Thu, 11 Jun 2015 22:17:56 +0200 Subject: [PATCH] Map: assert on unaligned on scalar only if the object might be vectorized --- Eigen/src/Core/MapBase.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Eigen/src/Core/MapBase.h b/Eigen/src/Core/MapBase.h index 9be0b169b..608c268e0 100644 --- a/Eigen/src/Core/MapBase.h +++ b/Eigen/src/Core/MapBase.h @@ -156,7 +156,7 @@ template class MapBase EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(internal::traits::Flags&PacketAccessBit, internal::inner_stride_at_compile_time::ret==1), PACKET_ACCESS_REQUIRES_TO_HAVE_INNER_STRIDE_FIXED_TO_1); - eigen_assert(EIGEN_IMPLIES(internal::packet_traits::AlignedOnScalar, (size_t(m_data) % sizeof(Scalar)) == 0) + eigen_assert(EIGEN_IMPLIES(bool(internal::traits::Flags&PacketAccessBit) && internal::packet_traits::AlignedOnScalar, (size_t(m_data) % sizeof(Scalar)) == 0) && "input pointer is not aligned on scalar boundary, e.g., use \"EIGEN_ALIGN8 T ptr[N];\" for double or complex"); eigen_assert(EIGEN_IMPLIES(internal::traits::Flags&AlignedBit, (size_t(m_data) % 16) == 0) && "input pointer is not aligned on a 16 byte boundary");