From 785b9c0127a508cb7d573cdad895707b6d5bc77e Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 9 Jun 2015 17:42:09 +0200 Subject: bug #1003: assert in MapBase if the provided pointer is not aligned on scalar while it is expected to be. Also add a EIGEN_ALIGN8 macro. --- Eigen/src/Core/MapBase.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Eigen/src/Core/MapBase.h') diff --git a/Eigen/src/Core/MapBase.h b/Eigen/src/Core/MapBase.h index fe61d2a28..0d85085c8 100644 --- a/Eigen/src/Core/MapBase.h +++ b/Eigen/src/Core/MapBase.h @@ -160,6 +160,8 @@ template class MapBase EIGEN_DEVICE_FUNC void checkSanity() const { + eigen_assert(EIGEN_IMPLIES(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::IsAligned, (size_t(m_data) % EIGEN_ALIGN_BYTES) == 0) && "data is not aligned"); } -- cgit v1.2.3