about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-26 23:34:55 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-26 23:34:55 +0000
commitecc7da5bb897f17ef470fc928ab2b7132e3fa069 (patch)
treee8d783dcc8b325eb19b83592f588bae10312bb3f
parent5d220788b3a97f1c726eb7f0c98333cbc2b41433 (diff)
downloadglibc-ecc7da5bb897f17ef470fc928ab2b7132e3fa069.tar.gz
glibc-ecc7da5bb897f17ef470fc928ab2b7132e3fa069.tar.xz
glibc-ecc7da5bb897f17ef470fc928ab2b7132e3fa069.zip
Add SNAN macros for more _FloatN, _FloatNx types.
This patch continues the preparation for additional _FloatN / _FloatNx
type support by adding appropriately conditional definitions of SNAN*
macros, corresponding to the SNANF128 definition already present.

Tested for x86_64.

	* math/math.h [__HAVE_FLOAT16 && __GLIBC_USE
	(IEC_60559_TYPES_EXT)] (SNANF16): New macro.
	[__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32):
	Likewise.
	[__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64):
	Likewise.
	[__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32X):
	Likewise.
	[__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64X):
	Likewise.
	[__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
	(SNANF128X): Likewise.
-rw-r--r--ChangeLog13
-rw-r--r--math/math.h18
2 files changed, 31 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f9a0fdc04..4822e49a59 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,19 @@
 2017-10-26  Joseph Myers  <joseph@codesourcery.com>
 
 	* math/math.h [__HAVE_FLOAT16 && __GLIBC_USE
+	(IEC_60559_TYPES_EXT)] (SNANF16): New macro.
+	[__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32):
+	Likewise.
+	[__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64):
+	Likewise.
+	[__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF32X):
+	Likewise.
+	[__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)] (SNANF64X):
+	Likewise.
+	[__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
+	(SNANF128X): Likewise.
+
+	* math/math.h [__HAVE_FLOAT16 && __GLIBC_USE
 	(IEC_60559_TYPES_EXT)] (HUGE_VAL_F16): New macro.
 	[__HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
 	(HUGE_VAL_F32): Likewise.
diff --git a/math/math.h b/math/math.h
index 4affd2a911..22ff23b5a2 100644
--- a/math/math.h
+++ b/math/math.h
@@ -112,9 +112,27 @@ __BEGIN_DECLS
 #  define SNANL (__builtin_nansl (""))
 # endif
 #endif
+#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define SNANF16 (__builtin_nansf16 (""))
+#endif
+#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define SNANF32 (__builtin_nansf32 (""))
+#endif
+#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define SNANF64 (__builtin_nansf64 (""))
+#endif
 #if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
 # define SNANF128 (__builtin_nansf128 (""))
 #endif
+#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define SNANF32X (__builtin_nansf32x (""))
+#endif
+#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define SNANF64X (__builtin_nansf64x (""))
+#endif
+#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define SNANF128X (__builtin_nansf128x (""))
+#endif
 
 /* Get __GLIBC_FLT_EVAL_METHOD.  */
 #include <bits/flt-eval-method.h>