27 lines
1.1 KiB
Diff
Executable File
27 lines
1.1 KiB
Diff
Executable File
diff --git a/Eigen/src/Core/PartialReduxEvaluator.h b/Eigen/src/Core/PartialReduxEvaluator.h
|
|
index 29abf35..4051fcf 100644
|
|
--- a/Eigen/src/Core/PartialReduxEvaluator.h
|
|
+++ b/Eigen/src/Core/PartialReduxEvaluator.h
|
|
@@ -54,12 +54,19 @@ struct packetwise_redux_traits
|
|
/* Value to be returned when size==0 , by default let's return 0 */
|
|
template<typename PacketType,typename Func>
|
|
EIGEN_DEVICE_FUNC
|
|
-PacketType packetwise_redux_empty_value(const Func& ) { return pset1<PacketType>(0); }
|
|
+PacketType packetwise_redux_empty_value(const Func& ) {
|
|
+ const typename unpacket_traits<PacketType>::type zero(0);
|
|
+ return pset1<PacketType>(zero);
|
|
+}
|
|
+
|
|
|
|
/* For products the default is 1 */
|
|
template<typename PacketType,typename Scalar>
|
|
EIGEN_DEVICE_FUNC
|
|
-PacketType packetwise_redux_empty_value(const scalar_product_op<Scalar,Scalar>& ) { return pset1<PacketType>(1); }
|
|
+PacketType packetwise_redux_empty_value(const scalar_product_op<Scalar,Scalar>& ) {
|
|
+ return pset1<PacketType>(Scalar(1));
|
|
+}
|
|
+
|
|
|
|
/* Perform the actual reduction */
|
|
template<typename Func, typename Evaluator,
|