diff options
Diffstat (limited to 'math')
-rw-r--r-- | math/bits/mathcalls.h | 3 | ||||
-rw-r--r-- | math/math.h | 52 |
2 files changed, 29 insertions, 26 deletions
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 7f41ef9711..0a4f3eaab4 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -210,6 +210,9 @@ __MATHCALLX (nan,, (__const char *__tagb), (__const__)); #endif +/* Return nonzero if VALUE is not a number. */ +__MATHDECLX (int,__isnan,, (_Mdouble_ __value), (__const__)); + #if defined __USE_MISC || defined __USE_XOPEN /* Return nonzero if VALUE is not a number. */ __MATHDECLX (int,isnan,, (_Mdouble_ __value), (__const__)); diff --git a/math/math.h b/math/math.h index 291fb0e5d3..0e2b4e7e5e 100644 --- a/math/math.h +++ b/math/math.h @@ -1,5 +1,5 @@ /* Declarations for math functions. - Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1991,92,93,95,96,97,98,99 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 @@ -166,68 +166,68 @@ enum }; /* Return number of classification appropriate for X. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define fpclassify(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define fpclassify(x) \ (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x)) -#else -# define fpclassify(x) \ +# else +# define fpclassify(x) \ (sizeof (x) == sizeof (float) ? \ __fpclassifyf (x) \ : sizeof (x) == sizeof (double) ? \ __fpclassify (x) : __fpclassifyl (x)) -#endif +# endif /* Return nonzero value if sign of X is negative. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define signbit(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define signbit(x) \ (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x)) -#else -# define signbit(x) \ +# else +# define signbit(x) \ (sizeof (x) == sizeof (float) ? \ __signbitf (x) \ : sizeof (x) == sizeof (double) ? \ __signbit (x) : __signbitl (x)) -#endif +# endif /* Return nonzero value if X is not +-Inf or NaN. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define isfinite(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define isfinite(x) \ (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x)) -#else -# define isfinite(x) \ +# else +# define isfinite(x) \ (sizeof (x) == sizeof (float) ? \ __finitef (x) \ : sizeof (x) == sizeof (double) ? \ __finite (x) : __finitel (x)) -#endif +# endif /* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */ # define isnormal(x) (fpclassify (x) == FP_NORMAL) /* Return nonzero value if X is a NaN. We could use `fpclassify' but we already have this functions `__isnan' and it is faster. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define isnan(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define isnan(x) \ (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x)) -#else -# define isnan(x) \ +# else +# define isnan(x) \ (sizeof (x) == sizeof (float) ? \ __isnanf (x) \ : sizeof (x) == sizeof (double) ? \ __isnan (x) : __isnanl (x)) -#endif +# endif /* Return nonzero value is X is positive or negative infinity. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define isinf(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define isinf(x) \ (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x)) -#else -# define isinf(x) \ +# else +# define isinf(x) \ (sizeof (x) == sizeof (float) ? \ __isinff (x) \ : sizeof (x) == sizeof (double) ? \ __isinf (x) : __isinfl (x)) -#endif +# endif #endif /* Use ISO C 9X. */ |