Vectorize erf(x) for double.

This commit is contained in:
Rasmus Munk Larsen
2024-11-16 19:05:16 +00:00
parent d6e3b528b2
commit 5133c836c0
6 changed files with 134 additions and 93 deletions

View File

@@ -1,3 +1,4 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
@@ -145,6 +146,7 @@ struct packet_traits<double> : default_packet_traits {
#endif
HasTanh = EIGEN_FAST_MATH,
HasLog = 1,
HasErf = 1,
HasErfc = 1,
HasExp = 1,
HasSqrt = 1,

View File

@@ -155,6 +155,7 @@ struct packet_traits<double> : default_packet_traits {
HasExp = 1,
HasATan = 1,
HasTanh = EIGEN_FAST_MATH,
HasErf = EIGEN_FAST_MATH,
HasErfc = EIGEN_FAST_MATH,
HasATanh = 1,
HasCmp = 1,

View File

@@ -3183,6 +3183,7 @@ struct packet_traits<double> : default_packet_traits {
HasSin = EIGEN_FAST_MATH,
HasCos = EIGEN_FAST_MATH,
HasTanh = EIGEN_FAST_MATH,
HasErf = EIGEN_FAST_MATH,
HasErfc = EIGEN_FAST_MATH,
HasATanh = 1,
HasATan = 0,

View File

@@ -5141,7 +5141,7 @@ struct packet_traits<double> : default_packet_traits {
HasSqrt = 1,
HasRsqrt = 1,
HasTanh = EIGEN_FAST_MATH,
HasErf = 0,
HasErf = EIGEN_FAST_MATH,
HasErfc = EIGEN_FAST_MATH
};
};

View File

@@ -217,6 +217,7 @@ struct packet_traits<double> : default_packet_traits {
HasCos = EIGEN_FAST_MATH,
HasTanh = EIGEN_FAST_MATH,
HasLog = 1,
HasErf = EIGEN_FAST_MATH,
HasErfc = EIGEN_FAST_MATH,
HasExp = 1,
HasSqrt = 1,