about summary refs log tree commit diff
path: root/sysdeps/libm-ieee754/e_exp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-ieee754/e_exp.c')
-rw-r--r--sysdeps/libm-ieee754/e_exp.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sysdeps/libm-ieee754/e_exp.c b/sysdeps/libm-ieee754/e_exp.c
index a6d53eb9df..660c5bc88d 100644
--- a/sysdeps/libm-ieee754/e_exp.c
+++ b/sysdeps/libm-ieee754/e_exp.c
@@ -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