aboutsummaryrefslogtreecommitdiff
path: root/math/math.h
diff options
context:
space:
mode:
Diffstat (limited to 'math/math.h')
-rw-r--r--math/math.h59
1 files changed, 14 insertions, 45 deletions
diff --git a/math/math.h b/math/math.h
index 1e300c4..b0d99cf 100644
--- a/math/math.h
+++ b/math/math.h
@@ -1,5 +1,5 @@
/* Declarations for math functions.
- Copyright (C) 1991-2024 Free Software Foundation, Inc.
+ Copyright (C) 1991-2025 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -87,20 +87,24 @@ __BEGIN_DECLS
#ifdef __USE_ISOC99
/* IEEE positive infinity. */
-# if __GNUC_PREREQ (3, 3)
-# define INFINITY (__builtin_inff ())
-# else
-# define INFINITY HUGE_VALF
+# ifndef INFINITY
+# if __GNUC_PREREQ (3, 3)
+# define INFINITY (__builtin_inff ())
+# else
+# define INFINITY HUGE_VALF
+# endif
# endif
/* IEEE Not A Number. */
-# if __GNUC_PREREQ (3, 3)
-# define NAN (__builtin_nanf (""))
-# else
+# ifndef NAN
+# if __GNUC_PREREQ (3, 3)
+# define NAN (__builtin_nanf (""))
+# else
/* This will raise an "invalid" exception outside static initializers,
but is the best that can be done in ISO C while remaining a
constant expression. */
-# define NAN (0.0f / 0.0f)
+# define NAN (0.0f / 0.0f)
+# endif
# endif
#endif /* __USE_ISOC99 */
@@ -268,42 +272,7 @@ enum
};
#endif
-/* The file <bits/mathcalls.h> contains the prototypes for all the
- actual math functions. These macros are used for those prototypes,
- so we can easily declare each function as both `name' and `__name',
- and can declare the float versions `namef' and `__namef'. */
-
-#define __SIMD_DECL(function) __CONCAT (__DECL_SIMD_, function)
-
-#define __MATHCALL_VEC(function, suffix, args) \
- __SIMD_DECL (__MATH_PRECNAME (function, suffix)) \
- __MATHCALL (function, suffix, args)
-
-#define __MATHDECL_VEC(type, function,suffix, args) \
- __SIMD_DECL (__MATH_PRECNAME (function, suffix)) \
- __MATHDECL(type, function,suffix, args)
-
-#define __MATHCALL(function,suffix, args) \
- __MATHDECL (_Mdouble_,function,suffix, args)
-#define __MATHDECL(type, function,suffix, args) \
- __MATHDECL_1(type, function,suffix, args); \
- __MATHDECL_1(type, __CONCAT(__,function),suffix, args)
-#define __MATHCALLX(function,suffix, args, attrib) \
- __MATHDECLX (_Mdouble_,function,suffix, args, attrib)
-#define __MATHDECLX(type, function,suffix, args, attrib) \
- __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); \
- __MATHDECL_1(type, __CONCAT(__,function),suffix, args) __attribute__ (attrib)
-#define __MATHDECL_1_IMPL(type, function, suffix, args) \
- extern type __MATH_PRECNAME(function,suffix) args __THROW
-#define __MATHDECL_1(type, function, suffix, args) \
- __MATHDECL_1_IMPL(type, function, suffix, args)
-/* Ignore the alias by default. The alias is only useful with
- redirections. */
-#define __MATHDECL_ALIAS(type, function, suffix, args, alias) \
- __MATHDECL_1(type, function, suffix, args)
-
-#define __MATHREDIR(type, function, suffix, args, to) \
- extern type __REDIRECT_NTH (__MATH_PRECNAME (function, suffix), args, to)
+#include <bits/mathcalls-macros.h>
#define _Mdouble_ double
#define __MATH_PRECNAME(name,r) __CONCAT(name,r)