From bb8081f57f23a3e1b28b1b7104f24d17da9a3d82 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 23 Sep 2016 21:54:21 +0000 Subject: Add iszero. TS 18661-1 adds an iszero classification macro to . This patch implements it for glibc. There are no new underlying functions in libm because the implementation uses fpclassify when sNaN support is required and a direct comparison otherwise; any optimizations for this macro should be done through adding __builtin_iszero in GCC and using it in the header for suitable GCC versions, not through adding other optimized inline or out-of-line versions to glibc. Tested for x86_64 and x86. * math/math.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (iszero): New macro. * math/libm-test.inc (iszero_test_data): New array. (iszero_test): New function. (main): Call iszero_test. * manual/arith.texi (Floating Point Classes): Document iszero. * manual/libm-err-tab.pl: Update comment on interfaces without ulps tabulated. --- ChangeLog | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index fa6d945ed1..6cbe4303d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2016-09-23 Joseph Myers + + * math/math.h [__GLIBC_USE (IEC_60559_BFP_EXT)] (iszero): New + macro. + * math/libm-test.inc (iszero_test_data): New array. + (iszero_test): New function. + (main): Call iszero_test. + * manual/arith.texi (Floating Point Classes): Document iszero. + * manual/libm-err-tab.pl: Update comment on interfaces without + ulps tabulated. + 2016-09-23 Zack Weinberg * scripts/check-installed-headers.sh: New script. -- cgit v1.2.3