aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/AssignEvaluator.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-08-07 20:05:31 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-08-07 20:05:31 +0200
commitfebcce34f1a5cabc3f4d92b52f7520b8a5e681f4 (patch)
treec4fae0a6f9cc41e95209da9997a0dd5e31b435f6 /Eigen/src/Core/AssignEvaluator.h
parent6245591349bdf013bc421e6887d98164cdd15cd0 (diff)
Enable vectorization with half-packets
Diffstat (limited to 'Eigen/src/Core/AssignEvaluator.h')
-rw-r--r--Eigen/src/Core/AssignEvaluator.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/Eigen/src/Core/AssignEvaluator.h b/Eigen/src/Core/AssignEvaluator.h
index 9dbf2c063..2b00d355b 100644
--- a/Eigen/src/Core/AssignEvaluator.h
+++ b/Eigen/src/Core/AssignEvaluator.h
@@ -29,8 +29,8 @@ struct copy_using_evaluator_traits
{
typedef typename DstEvaluator::XprType Dst;
typedef typename Dst::Scalar DstScalar;
- // TODO recursively find best packet size
- typedef typename packet_traits<DstScalar>::type PacketType;
+ // TODO distinguish between linear traversal and inner-traversals
+ typedef typename find_best_packet<DstScalar,Dst::SizeAtCompileTime>::type PacketType;
enum {
DstFlags = DstEvaluator::Flags,
@@ -55,7 +55,7 @@ private:
: int(DstFlags)&RowMajorBit ? int(Dst::MaxColsAtCompileTime)
: int(Dst::MaxRowsAtCompileTime),
MaxSizeAtCompileTime = Dst::SizeAtCompileTime,
- PacketSize = packet_traits<DstScalar>::size
+ PacketSize = unpacket_traits<PacketType>::size
};
enum {