bug #779: allow non aligned buffers for buffers smaller than the requested alignment.

This commit is contained in:
Gael Guennebaud
2016-02-05 21:46:39 +01:00
parent e8e1d504d6
commit 5b2d287878
3 changed files with 6 additions and 5 deletions

View File

@@ -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
}