From 3012e755e92d3b3f01f8e7753b5e71cbeaaa40df Mon Sep 17 00:00:00 2001 From: Guoqiang QI <425418567@qq.com> Date: Tue, 15 Sep 2020 17:10:35 +0000 Subject: Add plog ops support packet2d for NEON --- Eigen/src/Core/arch/NEON/MathFunctions.h | 3 +++ Eigen/src/Core/arch/NEON/PacketMath.h | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'Eigen/src/Core/arch/NEON') 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(const Packet2d& x) { return pexp_double(x); } +template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d plog(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 : 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(const Packet2d& a, const Packet2d& exponent) { return pldexp_double(a, exponent); } +template<> EIGEN_STRONG_INLINE Packet2d pfrexp(const Packet2d& a, Packet2d& exponent) +{ return pfrexp_double(a,exponent); } + +template<> EIGEN_STRONG_INLINE Packet2d pset1frombits(unsigned long from) +{ return vreinterpretq_f64_u64(vdupq_n_u64(from)); } + #if EIGEN_FAST_MATH // Functions for sqrt support packet2d. -- cgit v1.2.3