Moved one dir up.
[kopensolaris-gnu/glibc.git] / math / math.h
index 5103f2e..a5d5b50 100644 (file)
@@ -33,7 +33,7 @@ __BEGIN_DECLS
 #include <bits/huge_val.h>
 
 /* Get machine-dependent NAN value (returned for some domain errors).  */
-#ifdef  __USE_GNU
+#ifdef  __USE_ISOC9X
 # include <bits/nan.h>
 #endif
 
@@ -135,7 +135,7 @@ extern int signgam;
     FP_FAST_FMA
     FP_FAST_FMAF
     FP_FAST_FMAL
-               If defined it indicates that the the `fma' function
+               If defined it indicates that the `fma' function
                generally executes about as fast as a multiply and an add.
                This macro is defined only iff the `fma' function is
                implemented directly with a hardware multiply-add instructions.
@@ -200,8 +200,14 @@ enum
 
 #ifdef __USE_MISC
 /* Support for various different standard error handling behaviors.  */
-
-typedef enum { _IEEE_ = -1, _SVID_, _XOPEN_, _POSIX_ } _LIB_VERSION_TYPE;
+typedef enum
+{
+  _IEEE_ = -1, /* According to IEEE 754/IEEE 854.  */
+  _SVID_,      /* According to System V, release 4.  */
+  _XOPEN_,     /* Nowadays also Unix98.  */
+  _POSIX_,
+  _ISOC_       /* Actually this is ISO C 9X.  */
+} _LIB_VERSION_TYPE;
 
 /* This variable can be changed at run-time to any of the values above to
    affect floating point error handling behavior (it may also be necessary
@@ -281,21 +287,21 @@ extern int matherr __P ((struct exception *__exc));
 
 /* The above constants are not adequate for computation using `long double's.
    Therefore we provide as an extension constants with similar names as a
-   GNU extension.  */
+   GNU extension.  Provide enough digits for the 128-bit IEEE quad.  */
 #ifdef __USE_GNU
-# define M_El          2.7182818284590452354L  /* e */
-# define M_LOG2El      1.4426950408889634074L  /* log_2 e */
-# define M_LOG10El     0.43429448190325182765L /* log_10 e */
-# define M_LN2l                0.69314718055994530942L /* log_e 2 */
-# define M_LN10l       2.30258509299404568402L /* log_e 10 */
-# define M_PIl         3.14159265358979323846L /* pi */
-# define M_PI_2l       1.57079632679489661923L /* pi/2 */
-# define M_PI_4l       0.78539816339744830962L /* pi/4 */
-# define M_1_PIl       0.31830988618379067154L /* 1/pi */
-# define M_2_PIl       0.63661977236758134308L /* 2/pi */
-# define M_2_SQRTPIl   1.12837916709551257390L /* 2/sqrt(pi) */
-# define M_SQRT2l      1.41421356237309504880L /* sqrt(2) */
-# define M_SQRT1_2l    0.70710678118654752440L /* 1/sqrt(2) */
+# define M_El          2.7182818284590452353602874713526625L  /* e */
+# define M_LOG2El      1.4426950408889634073599246810018922L  /* log_2 e */
+# define M_LOG10El     0.4342944819032518276511289189166051L  /* log_10 e */
+# define M_LN2l                0.6931471805599453094172321214581766L  /* log_e 2 */
+# define M_LN10l       2.3025850929940456840179914546843642L  /* log_e 10 */
+# define M_PIl         3.1415926535897932384626433832795029L  /* pi */
+# define M_PI_2l       1.5707963267948966192313216916397514L  /* pi/2 */
+# define M_PI_4l       0.7853981633974483096156608458198757L  /* pi/4 */
+# define M_1_PIl       0.3183098861837906715377675267450287L  /* 1/pi */
+# define M_2_PIl       0.6366197723675813430755350534900574L  /* 2/pi */
+# define M_2_SQRTPIl   1.1283791670955125738961589031215452L  /* 2/sqrt(pi) */
+# define M_SQRT2l      1.4142135623730950488016887242096981L  /* sqrt(2) */
+# define M_SQRT1_2l    0.7071067811865475244008443621048490L  /* 1/sqrt(2) */
 #endif
 
 
@@ -354,10 +360,10 @@ extern int matherr __P ((struct exception *__exc));
 
 /* Return nonzero value if arguments are unordered.  */
 # ifndef isunordered
-#  define isunordered(x, y) \
+#  define isunordered(u, v) \
   (__extension__                                                             \
-   ({ __typeof__(x) __x = (x); __typeof__(y) __y = (y);                              \
-      fpclassify (__x) == FP_NAN || fpclassify (__y) == FP_NAN; }))
+   ({ __typeof__(u) __u = (u); __typeof__(v) __v = (v);                              \
+      fpclassify (__u) == FP_NAN || fpclassify (__v) == FP_NAN; }))
 # endif
 
 #endif