diff options
| author | Mike Barcroft <mike@FreeBSD.org> | 2003-02-08 20:37:55 +0000 |
|---|---|---|
| committer | Mike Barcroft <mike@FreeBSD.org> | 2003-02-08 20:37:55 +0000 |
| commit | 8cf5ed5125ca8f57fa6f27892f3fbda25a52d354 (patch) | |
| tree | 5fa8c1927e480809720c766a3f48569e33c80af9 /lib/msun/src/math.h | |
| parent | 856417ebfd05b1330ae28035e7582e0b543b7619 (diff) | |
Notes
Diffstat (limited to 'lib/msun/src/math.h')
| -rw-r--r-- | lib/msun/src/math.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/msun/src/math.h b/lib/msun/src/math.h index 655b1828d90f..abeca6e8f21b 100644 --- a/lib/msun/src/math.h +++ b/lib/msun/src/math.h @@ -17,6 +17,8 @@ #ifndef _MATH_H_ #define _MATH_H_ +#include <sys/_types.h> + /* * ANSI/POSIX */ @@ -24,7 +26,33 @@ extern const union __infinity_un { unsigned char __uc[8]; double __ud; } __infinity; + +extern const union __nan_un { + unsigned char __uc[sizeof(float)]; + float __uf; +} __nan; + +#define FP_ILOGB0 (-0x7fffffff - 1) /* INT_MIN */ +#define FP_ILOGBNAN 0x7fffffff /* INT_MAX */ #define HUGE_VAL (__infinity.__ud) +#define HUGE_VALF (float)HUGE_VAL +#define HUGE_VALL (long double)HUGE_VAL +#define INFINITY HUGE_VALF +#define NAN (__nan.__uf) + +/* Symbolic constants to classify floating point numbers. */ +#define FP_INFINITE 1 +#define FP_NAN 2 +#define FP_NORMAL 3 +#define FP_SUBNORMAL 4 +#define FP_ZERO 5 +#define fpclassify(x) \ + ((sizeof (x) == sizeof (float)) ? __fpclassifyf(x) \ + : (sizeof (x) == sizeof (double)) ? __fpclassifyd(x) \ + : __fpclassifyl(x)) + +typedef __double_t double_t; +typedef __float_t float_t; /* * XOPEN/SVID @@ -116,6 +144,10 @@ __BEGIN_DECLS /* * ANSI/POSIX */ +int __fpclassifyd(double); +int __fpclassifyf(float); +int __fpclassifyl(long double); + double acos(double); double asin(double); double atan(double); |
