1998-03-01 19:05 H.J. Lu (hjl@gnu.org)
authorrth <rth>
Sun, 1 Mar 1998 11:06:42 +0000 (11:06 +0000)
committerrth <rth>
Sun, 1 Mar 1998 11:06:42 +0000 (11:06 +0000)
        * sysdeps/libm-ieee754/e_exp.c (__ieee754_exp): Use __isinf.
        Changed type of TWO43, TWO52 from float to double.
        * sysdeps/libm-ieee754/e_expf.c (__ieee754_expf): Use __isinff.
        * sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): Use __isinf.
        Changed type of TWO43 from float to double.
        * sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): Fix a typo.
        Use __isinff.

ChangeLog
sysdeps/libm-ieee754/e_exp.c
sysdeps/libm-ieee754/e_expf.c
sysdeps/libm-ieee754/s_exp2.c
sysdeps/libm-ieee754/s_exp2f.c

index 88431a6..51860f8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+1998-03-01 19:05  H.J. Lu  (hjl@gnu.org)
+
+       * sysdeps/libm-ieee754/e_exp.c (__ieee754_exp): Use __isinf.
+       Changed type of TWO43, TWO52 from float to double.
+       * sysdeps/libm-ieee754/e_expf.c (__ieee754_expf): Use __isinff.
+       * sysdeps/libm-ieee754/s_exp2.c (__ieee754_exp2): Use __isinf.
+       Changed type of TWO43 from float to double.
+       * sysdeps/libm-ieee754/s_exp2f.c (__ieee754_exp2f): Fix a typo.
+       Use __isinff.
+
 1998-03-01 18:52  H.J. Lu  (hjl@gnu.org)
 
        * sysdeps/unix/sysv/linux/alpha/syscalls.list (osf_settimeofday,
index a6d53eb..660c5bc 100644 (file)
@@ -71,14 +71,13 @@ static const volatile double TWOM1000 = 9.3326361850321887899e-302;
 double
 __ieee754_exp (double x)
 {
-  static const uint32_t a_minf = 0xff800000;
   static const double himark = 709.7827128933840868;
   static const double lomark = -745.1332191019412221;
   /* Check for usual case.  */
   if (isless (x, himark) && isgreater (x, lomark))
     {
-      static const float TWO43 = 8796093022208.0;
-      static const float TWO52 = 4503599627370496.0;
+      static const double TWO43 = 8796093022208.0;
+      static const double TWO52 = 4503599627370496.0;
       /* 1/ln(2).  */
       static const double M_1_LN2 = 1.442695040888963387;
       /* ln(2), part 1 */
@@ -166,7 +165,7 @@ __ieee754_exp (double x)
   /* Exceptional cases:  */
   else if (isless (x, himark))
     {
-      if (x == *(const float *) &a_minf)
+      if (__isinf (x))
        /* e^-inf == 0, with no error.  */
        return 0;
       else
index 08103aa..c4a7b64 100644 (file)
@@ -66,7 +66,6 @@ static const volatile float TWO127 = 1.7014118346e+38;
 float
 __ieee754_expf (float x)
 {
-  static const uint32_t a_minf = 0xff800000;
   static const float himark = 88.72283935546875;
   static const float lomark = -103.972084045410;
   /* Check for usual case.  */
@@ -144,7 +143,7 @@ __ieee754_expf (float x)
   /* Exceptional cases:  */
   else if (isless (x, himark))
     {
-      if (x == *(const float *) &a_minf)
+      if (__isinff (x))
        /* e^-inf == 0, with no error.  */
        return 0;
       else
index d6f4de0..ead1ce8 100644 (file)
@@ -42,14 +42,13 @@ static const volatile double TWOM1000 = 9.3326361850321887899e-302;
 double
 __ieee754_exp2 (double x)
 {
-  static const uint32_t a_minf = 0xff800000;
   static const double himark = (double) DBL_MAX_EXP;
   static const double lomark = (double) (DBL_MIN_EXP - DBL_MANT_DIG - 1) - 1.0;
 
   /* Check for usual case.  */
   if (isless (x, himark) && isgreater (x, lomark))
     {
-      static const float TWO43 = 8796093022208.0;
+      static const double TWO43 = 8796093022208.0;
       int tval, unsafe;
       double rx, x22, result;
       union ieee754_double ex2_u, scale_u;
@@ -125,7 +124,7 @@ __ieee754_exp2 (double x)
   /* Exceptional cases:  */
   else if (isless (x, himark))
     {
-      if (x == *(const float *) &a_minf)
+      if (__isinf (x))
        /* e^-inf == 0, with no error.  */
        return 0;
       else
index 428f46f..641b754 100644 (file)
@@ -43,7 +43,6 @@ static const volatile float TWO127 = 1.7014118346e+38;
 float
 __ieee754_exp2f (float x)
 {
-  static const uint32_t a_minf = 0xff800000;
   static const float himark = (float) FLT_MAX_EXP;
   static const float lomark = (float) (FLT_MIN_EXP - FLT_MANT_DIG - 1) - 1.0;
 
@@ -76,7 +75,7 @@ __ieee754_exp2f (float x)
       else
        {
          rx = x - TWO15;
-+        rx += TWO15;
+         rx += TWO15;
        }
       x -= rx;  /* Compute x=x1. */
       /* Compute tval = (ex*256 + t)+128.
@@ -123,7 +122,7 @@ __ieee754_exp2f (float x)
   /* Exceptional cases:  */
   else if (isless (x, himark))
     {
-      if (x == *(const float *) &a_minf)
+      if (__isinff (x))
        /* e^-inf == 0, with no error.  */
        return 0;
       else