aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2008-09-03 14:42:36 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2008-09-03 14:42:36 +0000
commit3bbd1b3114e2afbac07e3f6c53be4ee7b203c67e (patch)
treefaf661e6b3de0b8264ef17e9647723dcc04b5948 /Eigen/src/Core
parent75649551c26b7fb6cff4933aaa7b31303163aaa7 (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.h5
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);
}