From e2f21465fea76a80966f12a20d0be36597f19b44 Mon Sep 17 00:00:00 2001 From: Antonio Sanchez Date: Wed, 2 Dec 2020 14:00:57 -0800 Subject: Special function implementations for half/bfloat16 packets. Current implementations fail to consider half-float packets, only half-float scalars. Added specializations for packets on AVX, AVX512 and NEON. Added tests to `special_packetmath`. The current `special_functions` tests would fail for half and bfloat16 due to lack of precision. The NEON tests also fail with precision issues and due to different handling of `sqrt(inf)`, so special functions bessel, ndtri have been disabled. Tested with AVX, AVX512. --- Eigen/src/Core/arch/AVX512/PacketMath.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Eigen/src/Core/arch/AVX512') diff --git a/Eigen/src/Core/arch/AVX512/PacketMath.h b/Eigen/src/Core/arch/AVX512/PacketMath.h index 2bbcd802c..a001fb186 100644 --- a/Eigen/src/Core/arch/AVX512/PacketMath.h +++ b/Eigen/src/Core/arch/AVX512/PacketMath.h @@ -86,7 +86,9 @@ struct packet_traits : default_packet_traits { HasRound = 1, HasFloor = 1, HasCeil = 1, - HasRint = 1 + HasRint = 1, + HasBessel = 1, + HasNdtri = 1, }; }; -- cgit v1.2.3