Add HUGE_VAL macros for more _FloatN, _FloatNx types [committed]
diff mbox series

Message ID alpine.DEB.2.20.1710262312260.5564@digraph.polyomino.org.uk
State New
Headers show
Series
  • Add HUGE_VAL macros for more _FloatN, _FloatNx types [committed]
Related show

Commit Message

Joseph Myers Oct. 26, 2017, 11:12 p.m. UTC
This patch continues the preparation for additional _FloatN / _FloatNx
type support by adding appropriately conditional definitions of
HUGE_VAL_* macros, corresponding to the HUGE_VAL_F128 definition
already present.

Tested for x86_64.  Committed.

2017-10-26  Joseph Myers  <joseph@codesourcery.com>

	* 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.
	[__HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)]
	(HUGE_VAL_F64): Likewise.
	[__HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
	(HUGE_VAL_F32X): Likewise.
	[__HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
	(HUGE_VAL_F64X): Likewise.
	[__HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)]
	(HUGE_VAL_F128X): Likewise.

Patch
diff mbox series

diff --git a/math/math.h b/math/math.h
index 5ad8156..4affd2a 100644
--- a/math/math.h
+++ b/math/math.h
@@ -63,9 +63,27 @@  __BEGIN_DECLS
 #  define HUGE_VALL 1e10000L
 # endif
 #endif
+#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define HUGE_VAL_F16 (__builtin_huge_valf16 ())
+#endif
+#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define HUGE_VAL_F32 (__builtin_huge_valf32 ())
+#endif
+#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define HUGE_VAL_F64 (__builtin_huge_valf64 ())
+#endif
 #if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
 # define HUGE_VAL_F128 (__builtin_huge_valf128 ())
 #endif
+#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define HUGE_VAL_F32X (__builtin_huge_valf32x ())
+#endif
+#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define HUGE_VAL_F64X (__builtin_huge_valf64x ())
+#endif
+#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)
+# define HUGE_VAL_F128X (__builtin_huge_valf128x ())
+#endif
 
 #ifdef __USE_ISOC99
 /* IEEE positive infinity.  */