aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/arch/MSA
diff options
context:
space:
mode:
authorGravatar Rasmus Munk Larsen <rmlarsen@google.com>2019-09-19 12:48:30 -0700
committerGravatar Rasmus Munk Larsen <rmlarsen@google.com>2019-09-19 12:48:30 -0700
commit6de5ed08d88239080b9381f60f75e5abea731d75 (patch)
treeaf9fcc1e95e23d7faece933d8c7a16a9778147a7 /Eigen/src/Core/arch/MSA
parente02d42963750531490a69fc87926b60f32180456 (diff)
Add generic PacketMath implementation of the Error Function (erf).
Diffstat (limited to 'Eigen/src/Core/arch/MSA')
-rw-r--r--Eigen/src/Core/arch/MSA/MathFunctions.h7
-rw-r--r--Eigen/src/Core/arch/MSA/PacketMath.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/Eigen/src/Core/arch/MSA/MathFunctions.h b/Eigen/src/Core/arch/MSA/MathFunctions.h
index f5181b90e..23e4b8664 100644
--- a/Eigen/src/Core/arch/MSA/MathFunctions.h
+++ b/Eigen/src/Core/arch/MSA/MathFunctions.h
@@ -321,6 +321,13 @@ pcos<Packet4f>(const Packet4f& x) {
return psincos_inner_msa_float</* sine */ false>(x);
}
+// Error function.
+template <>
+EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet4f
+perf<Packet4f>(const Packet4f& x) {
+ return internal::generic_fast_erf_float(x);
+}
+
template <>
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d
pexp<Packet2d>(const Packet2d& _x) {
diff --git a/Eigen/src/Core/arch/MSA/PacketMath.h b/Eigen/src/Core/arch/MSA/PacketMath.h
index 3c922d4de..94ee0e302 100644
--- a/Eigen/src/Core/arch/MSA/PacketMath.h
+++ b/Eigen/src/Core/arch/MSA/PacketMath.h
@@ -88,6 +88,7 @@ struct packet_traits<float> : default_packet_traits {
HasSin = EIGEN_FAST_MATH,
HasCos = EIGEN_FAST_MATH,
HasTanh = EIGEN_FAST_MATH,
+ HasErf = EIGEN_FAST_MATH,
HasLog = 1,
HasExp = 1,
HasSqrt = 1,