summaryrefslogtreecommitdiff
path: root/math/math.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-26 23:11:18 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-26 23:11:18 +0000
commit5d220788b3a97f1c726eb7f0c98333cbc2b41433 (patch)
treec69e7696c310a4f208b83d333b345cdc1cdbc806 /math/math.h
parent67ad7163bbfa25d901eae2dcc442cab55c37cf7e (diff)
Add HUGE_VAL macros for more _FloatN, _FloatNx types.
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. * 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.
Diffstat (limited to 'math/math.h')
-rw-r--r--math/math.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/math/math.h b/math/math.h
index 5ad8156555..4affd2a911 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. */