aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/MapBase.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2016-02-05 21:46:39 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2016-02-05 21:46:39 +0100
commit5b2d287878d4f049c1ba6c55c1fcaac1129d6df0 (patch)
tree658e36843c96218621d3b83c12ba61df16da47ed /Eigen/src/Core/MapBase.h
parente8e1d504d6cbeb47c33169a36c052aa21bea32ee (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.h3
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
}