diff options
author | Gael Guennebaud <g.gael@free.fr> | 2008-09-03 14:42:36 +0000 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2008-09-03 14:42:36 +0000 |
commit | 3bbd1b3114e2afbac07e3f6c53be4ee7b203c67e (patch) | |
tree | faf661e6b3de0b8264ef17e9647723dcc04b5948 /Eigen/src/Core | |
parent | 75649551c26b7fb6cff4933aaa7b31303163aaa7 (diff) |
Bugfix regarding alignent in Assign.h (updated map unit test to detect this bug)
Anyway: LinearVectorization+CompleteUnrolling actually uses the InnerVectorization
unrollers, so these two cases could be merged to a single one...
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r-- | Eigen/src/Core/Assign.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Eigen/src/Core/Assign.h b/Eigen/src/Core/Assign.h index 758858165..cdfd0b302 100644 --- a/Eigen/src/Core/Assign.h +++ b/Eigen/src/Core/Assign.h @@ -157,12 +157,13 @@ struct ei_assign_innervec_CompleteUnrolling : Index % Derived1::RowsAtCompileTime, col = int(Derived1::Flags)&RowMajorBit ? Index % int(Derived1::ColsAtCompileTime) - : Index / Derived1::RowsAtCompileTime + : Index / Derived1::RowsAtCompileTime, + SrcAlignment = ei_assign_traits<Derived1,Derived2>::SrcAlignment }; inline static void run(Derived1 &dst, const Derived2 &src) { - dst.template copyPacket<Derived2, Aligned, Aligned>(row, col, src); + dst.template copyPacket<Derived2, Aligned, SrcAlignment>(row, col, src); ei_assign_innervec_CompleteUnrolling<Derived1, Derived2, Index+ei_packet_traits<typename Derived1::Scalar>::size, Stop>::run(dst, src); } |