aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Block.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-11-28 13:43:10 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-11-28 13:43:10 +0100
commit2d621d235d67f8cab4f6a77ada9db0087bc82234 (patch)
tree5af22d930472330613c99b89b0bb9590dea35372 /Eigen/src/Core/Block.h
parenta2810aa32fa752e45b6ff9d2a2a9891cbf588b23 (diff)
fix alignment computation in Block and MapBase such that aligned means aligned on 16 bytes and nothing else
Diffstat (limited to 'Eigen/src/Core/Block.h')
-rw-r--r--Eigen/src/Core/Block.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/Eigen/src/Core/Block.h b/Eigen/src/Core/Block.h
index b7dafd3ee..0c833c2bc 100644
--- a/Eigen/src/Core/Block.h
+++ b/Eigen/src/Core/Block.h
@@ -94,7 +94,7 @@ struct traits<Block<XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess>
MaskPacketAccessBit = (InnerSize == Dynamic || (InnerSize % packet_traits<Scalar>::size) == 0)
&& (InnerStrideAtCompileTime == 1)
? PacketAccessBit : 0,
- MaskAlignedBit = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && ((OuterStrideAtCompileTime % packet_traits<Scalar>::size) == 0)) ? AlignedBit : 0,
+ MaskAlignedBit = (InnerPanel && (OuterStrideAtCompileTime!=Dynamic) && (((OuterStrideAtCompileTime * sizeof(Scalar)) % 16) == 0)) ? AlignedBit : 0,
FlagsLinearAccessBit = (RowsAtCompileTime == 1 || ColsAtCompileTime == 1) ? LinearAccessBit : 0,
FlagsLvalueBit = is_lvalue<XprType>::value ? LvalueBit : 0,
FlagsRowMajorBit = IsRowMajor ? RowMajorBit : 0,