Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 18 Jun 1998 12:33:44 +0000 (12:33 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 18 Jun 1998 12:33:44 +0000 (12:33 +0000)
1998-06-18 12:29  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/libm-i387/e_scalb.S: Fix bug in FPU stack handling.
* sysdeps/libm-i387/e_scalbf.S: Likewise.
* sysdeps/libm-i387/e_scalbl.S: Likewise.

1998-06-18  Ulrich Drepper  <drepper@cygnus.com>

* stdlib/tst-strtod.c (long_dbl): Provide receipe to regenerate
longestdbl.

ChangeLog
stdlib/tst-strtod.c
sysdeps/libm-i387/e_scalb.S
sysdeps/libm-i387/e_scalbf.S
sysdeps/libm-i387/e_scalbl.S

index db3e8d7..42651f5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+1998-06-18 12:29  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/libm-i387/e_scalb.S: Fix bug in FPU stack handling.
+       * sysdeps/libm-i387/e_scalbf.S: Likewise.
+       * sysdeps/libm-i387/e_scalbl.S: Likewise.
+
+1998-06-18  Ulrich Drepper  <drepper@cygnus.com>
+
+       * stdlib/tst-strtod.c (long_dbl): Provide receipe to regenerate
+       longestdbl.
+
 1998-06-18 10:26  Ulrich Drepper  <drepper@cygnus.com>
 
        * iconvdata/Makefile (modules): Add MACINTOSH.
index e2c6734..b9158c1 100644 (file)
@@ -114,12 +114,17 @@ expand (dst, c)
 static int
 long_dbl (void)
 {
-  const char longestdbl[] =
-    "179769313486231570814527423731704356798070567525844996598917476"
-    "803157260780028538760589558632766878171540458953514382464234321"
-    "326889464182768467546703537516986049910576551282076245490090389"
-    "328944075868508455133942304583236903222948165808559332123348274"
-    "797826204144723168738177180919299881250404026184124858368";
+  /* Regenerate this string using
+
+     echo '(2^53-1)*2^(1024-53)' | bc | sed 's/\([^\]*\)\\*$/    "\1"/'
+
+  */
+  static const char longestdbl[] =
+    "17976931348623157081452742373170435679807056752584499659891747680315"
+    "72607800285387605895586327668781715404589535143824642343213268894641"
+    "82768467546703537516986049910576551282076245490090389328944075868508"
+    "45513394230458323690322294816580855933212334827479782620414472316873"
+    "8177180919299881250404026184124858368";
   double d = strtod (longestdbl, NULL);
 
   printf ("strtod (\"%s\", NULL) = %g\n", longestdbl, d);
index b4c23ca..7ff5541 100644 (file)
@@ -71,10 +71,10 @@ ENTRY(__ieee754_scalb)
        fnstsw
        movl    8(%esp), %edx
        shrl    $5, %eax
-       fstp    %st(1)
+       fstp    %st
+       fstp    %st
        andl    $0x80000000, %edx
        andl    $8, %eax
-       fstp    %st(1)
        shrl    $27, %edx
        addl    %edx, %eax
        fldl    MOX(zero_nan, %eax, 1)
index c869da9..4222eec 100644 (file)
@@ -73,10 +73,10 @@ ENTRY(__ieee754_scalbf)
        fnstsw
        movl    4(%esp), %edx
        shrl    $5, %eax
-       fstp    %st(1)
+       fstp    %st
+       fstp    %st
        andl    $0x80000000, %edx
        andl    $8, %eax
-       fstp    %st(1)
        shrl    $27, %edx
        addl    %edx, %eax
        fldl    MOX(zero_nan, %eax, 1)
index 33eb732..56cc833 100644 (file)
@@ -73,10 +73,10 @@ ENTRY(__ieee754_scalbl)
        fnstsw
        movl    12(%esp), %edx
        shrl    $5, %eax
-       fstp    %st(1)
+       fstp    %st
+       fstp    %st
        andl    $0x8000, %edx
        andl    $8, %eax
-       fstp    %st(1)
        shrl    $11, %edx
        addl    %edx, %eax
        fldl    MOX(zero_nan, %eax, 1)