diff options
author | Guoqiang QI <425418567@qq.com> | 2020-09-15 17:10:35 +0000 |
---|---|---|
committer | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-09-15 17:10:35 +0000 |
commit | 3012e755e92d3b3f01f8e7753b5e71cbeaaa40df (patch) | |
tree | d643ea9b9a1a388ee60b7082906f24e7506f92b6 /Eigen/src/Core/arch/NEON | |
parent | e4fb0ddf78b06bb34c2a33d2e0507ecb0420a2c9 (diff) |
Add plog ops support packet2d for NEON
Diffstat (limited to 'Eigen/src/Core/arch/NEON')
-rw-r--r-- | Eigen/src/Core/arch/NEON/MathFunctions.h | 3 | ||||
-rw-r--r-- | Eigen/src/Core/arch/NEON/PacketMath.h | 8 |
2 files changed, 10 insertions, 1 deletions
diff --git a/Eigen/src/Core/arch/NEON/MathFunctions.h b/Eigen/src/Core/arch/NEON/MathFunctions.h index 8bea0ac3c..28167b904 100644 --- a/Eigen/src/Core/arch/NEON/MathFunctions.h +++ b/Eigen/src/Core/arch/NEON/MathFunctions.h @@ -51,6 +51,9 @@ BF16_PACKET_FUNCTION(Packet4f, Packet4bf, ptanh) template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d pexp<Packet2d>(const Packet2d& x) { return pexp_double(x); } +template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d plog<Packet2d>(const Packet2d& x) +{ return plog_double(x); } + #endif } // end namespace internal diff --git a/Eigen/src/Core/arch/NEON/PacketMath.h b/Eigen/src/Core/arch/NEON/PacketMath.h index 2d0f91e2f..530adfeec 100644 --- a/Eigen/src/Core/arch/NEON/PacketMath.h +++ b/Eigen/src/Core/arch/NEON/PacketMath.h @@ -3579,7 +3579,7 @@ template<> struct packet_traits<double> : default_packet_traits HasSin = 0, HasCos = 0, - HasLog = 0, + HasLog = 1, HasExp = 1, HasSqrt = 1, HasTanh = 0, @@ -3753,6 +3753,12 @@ template<> EIGEN_DEVICE_FUNC inline Packet2d pselect( const Packet2d& mask, cons template<> EIGEN_STRONG_INLINE Packet2d pldexp<Packet2d>(const Packet2d& a, const Packet2d& exponent) { return pldexp_double(a, exponent); } +template<> EIGEN_STRONG_INLINE Packet2d pfrexp<Packet2d>(const Packet2d& a, Packet2d& exponent) +{ return pfrexp_double(a,exponent); } + +template<> EIGEN_STRONG_INLINE Packet2d pset1frombits<Packet2d>(unsigned long from) +{ return vreinterpretq_f64_u64(vdupq_n_u64(from)); } + #if EIGEN_FAST_MATH // Functions for sqrt support packet2d. |