diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-02-05 21:46:39 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-02-05 21:46:39 +0100 |
commit | 5b2d287878d4f049c1ba6c55c1fcaac1129d6df0 (patch) | |
tree | 658e36843c96218621d3b83c12ba61df16da47ed /Eigen/src/Core/MapBase.h | |
parent | e8e1d504d6cbeb47c33169a36c052aa21bea32ee (diff) |
bug #779: allow non aligned buffers for buffers smaller than the requested alignment.
Diffstat (limited to 'Eigen/src/Core/MapBase.h')
-rw-r--r-- | Eigen/src/Core/MapBase.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Eigen/src/Core/MapBase.h b/Eigen/src/Core/MapBase.h index 75a80daaa..afa47540e 100644 --- a/Eigen/src/Core/MapBase.h +++ b/Eigen/src/Core/MapBase.h @@ -165,7 +165,8 @@ template<typename Derived> class MapBase<Derived, ReadOnlyAccessors> void checkSanity() const { #if EIGEN_MAX_ALIGN_BYTES>0 - eigen_assert(((size_t(m_data) % EIGEN_PLAIN_ENUM_MAX(1,internal::traits<Derived>::Alignment)) == 0) && "data is not aligned"); + eigen_assert(( ((size_t(m_data) % EIGEN_PLAIN_ENUM_MAX(1,internal::traits<Derived>::Alignment)) == 0) + || (cols() * rows() * innerStride() * sizeof(Scalar)) < internal::traits<Derived>::Alignment ) && "data is not aligned"); #endif } |