More corrections.
authorUlrich Drepper <drepper@redhat.com>
Wed, 14 Jul 1999 15:02:03 +0000 (15:02 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 14 Jul 1999 15:02:03 +0000 (15:02 +0000)
* sysdeps/i960/Implies: Imply ieee754/flt-32 and ieee754/dbl-64
instead of ieee754.
* sysdeps/generic/s_nextafter.c: ...here.
* sysdeps/generic/s_nexttowardl.c: ...here.

ChangeLog
sysdeps/ieee754/ldbl-96/printf_fphex.c

index e2ba474936419e3c332398365112f040585654d0..2b03ad40ccdc84f5a8fda1cf354cda3cd84126df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,7 +15,6 @@
        * sysdeps/i386/Implies: Imply ieee754/flt-32, ieee754/dbl-64, and
        ieee754/ldbl-96 instead of ieee754.
        * sysdeps/i386/i686/Implies: Remove implication for libm-i387/i686.
-       * sysdeps/generic/strtold.c: Remove.
        * sysdeps/generic/e_atanhl.c: New file.
        * sysdeps/generic/e_coshl.c: New file.
        * sysdeps/generic/e_sinhl.c: New file.
@@ -25,6 +24,8 @@
        * sysdeps/generic/s_asinhl.c: New file.
        * sysdeps/generic/s_tanhl.c: New file.
        * sysdeps/generic/w_expl.c: New file.
+       * sysdeps/i960/Implies: Imply ieee754/flt-32 and ieee754/dbl-64
+       instead of ieee754.
        * sysdeps/m68k/Implies: Imply ieee754/flt-32, ieee754/dbl-64, and
        ieee754/ldbl-96 instead of ieee754.
        * sysdeps/m68k/strtold.c: Include ldbl-96 version of strtold.
        * sysdeps/libm-ieee754/s_nearbyint.c: Moved to ...
        * sysdeps/ieee754/dbl-64/s_nearbyint.c: ...here.
        * sysdeps/libm-ieee754/s_nextafter.c: Moved to ...
-       * sysdeps/ieee754/dbl-64/s_nextafter.c: ...here.
+       * sysdeps/generic/s_nextafter.c: ...here.
        Add __nexttoward and nexttoward aliases if NO_LONG_DOUBLE.
        * sysdeps/libm-ieee754/s_remquo.c: Moved to ...
        * sysdeps/ieee754/dbl-64/s_remquo.c: ...here.
        * sysdeps/ieee754/ldbl-96/s_scalblnl.c: ...here.
        Fix exponent for subnormal result.
        * sysdeps/libm-ieee754/s_nexttowardl.c: Moved to ...
-       * math/s_nexttowardl.c: ...here.
+       * sysdeps/generic/s_nexttowardl.c: ...here.
        * sysdeps/libm-i387/i686/s_fmaxf.S: Moved to ...
        * sysdeps/i386/i686/fpu/s_fmaxf.S: ...here.
        * sysdeps/libm-i387/s_isnanl.c: Moved to ...
index 8dfa387df5d5bfac16ad350582f2095236c60437..844addd2f8cc887bcedb487a59e830dd65960709 100644 (file)
@@ -1,61 +1,81 @@
+/* Print floating point number in hexadecimal notation according to
+   ISO C 9X.
+   Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
 #ifndef LONG_DOUBLE_DENORM_BIAS
 # define LONG_DOUBLE_DENORM_BIAS (IEEE854_LONG_DOUBLE_BIAS - 1)
 #endif
 
-#define PRINT_FPHEX_LONG_DOUBLE                                                        \
-do {                                                                           \
-      /* The "strange" 80 bit format on ix86 and m68k has an explicit          \
-        leading digit in the 64 bit mantissa.  */                              \
-      unsigned long long int num;                                              \
-                                                                               \
-      assert (sizeof (long double) == 12);                                     \
-                                                                               \
-      num = (((unsigned long long int) fpnum.ldbl.ieee.mantissa0) << 32                \
-            | fpnum.ldbl.ieee.mantissa1);                                      \
-                                                                               \
-      zero_mantissa = num == 0;                                                        \
-                                                                               \
-      if (sizeof (unsigned long int) > 6)                                      \
-       numstr = _itoa_word (num, numbuf + sizeof numbuf, 16,                   \
-                            info->spec == 'A');                                \
-      else                                                                     \
-       numstr = _itoa (num, numbuf + sizeof numbuf, 16, info->spec == 'A');    \
-                                                                               \
-      /* Fill with zeroes.  */                                                 \
-      while (numstr > numbuf + (sizeof numbuf - 64 / 4))                       \
-       *--numstr = '0';                                                        \
-                                                                               \
-      /* We use a full nibble for the leading digit.  */                       \
-      leading = *numstr++;                                                     \
-                                                                               \
-      /* We have 3 bits from the mantissa in the leading nibble.               \
-        Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'.  */        \
-      exponent = fpnum.ldbl.ieee.exponent;                                     \
-                                                                               \
-      if (exponent == 0)                                                       \
-       {                                                                       \
-         if (zero_mantissa)                                                    \
-           expnegative = 0;                                                    \
-         else                                                                  \
-           {                                                                   \
-             /* This is a denormalized number.  */                             \
-             expnegative = 1;                                                  \
-             /* This is a hook for the m68k long double format, where the      \
-                exponent bias is the same for normalized and denormalized      \
-                numbers.  */                                                   \
-             exponent = LONG_DOUBLE_DENORM_BIAS + 3;                           \
-           }                                                                   \
-       }                                                                       \
-      else if (exponent >= IEEE854_LONG_DOUBLE_BIAS + 3)                       \
-       {                                                                       \
-         expnegative = 0;                                                      \
-         exponent -= IEEE854_LONG_DOUBLE_BIAS + 3;                             \
-       }                                                                       \
-      else                                                                     \
-       {                                                                       \
-         expnegative = 1;                                                      \
-         exponent = -(exponent - (IEEE854_LONG_DOUBLE_BIAS + 3));              \
-       }                                                                       \
+#define PRINT_FPHEX_LONG_DOUBLE \
+do {                                                                         \
+      /* The "strange" 80 bit format on ix86 and m68k has an explicit        \
+        leading digit in the 64 bit mantissa.  */                            \
+      unsigned long long int num;                                            \
+                                                                             \
+      assert (sizeof (long double) == 12);                                   \
+                                                                             \
+      num = (((unsigned long long int) fpnum.ldbl.ieee.mantissa0) << 32              \
+            | fpnum.ldbl.ieee.mantissa1);                                    \
+                                                                             \
+      zero_mantissa = num == 0;                                                      \
+                                                                             \
+      if (sizeof (unsigned long int) > 6)                                    \
+       numstr = _itoa_word (num, numbuf + sizeof numbuf, 16,                 \
+                            info->spec == 'A');                              \
+      else                                                                   \
+       numstr = _itoa (num, numbuf + sizeof numbuf, 16, info->spec == 'A');  \
+                                                                             \
+      /* Fill with zeroes.  */                                               \
+      while (numstr > numbuf + (sizeof numbuf - 64 / 4))                     \
+       *--numstr = '0';                                                      \
+                                                                             \
+      /* We use a full nibble for the leading digit.  */                     \
+      leading = *numstr++;                                                   \
+                                                                             \
+      /* We have 3 bits from the mantissa in the leading nibble.             \
+        Therefore we are here using `IEEE854_LONG_DOUBLE_BIAS + 3'.  */      \
+      exponent = fpnum.ldbl.ieee.exponent;                                   \
+                                                                             \
+      if (exponent == 0)                                                     \
+       {                                                                     \
+         if (zero_mantissa)                                                  \
+           expnegative = 0;                                                  \
+         else                                                                \
+           {                                                                 \
+             /* This is a denormalized number.  */                           \
+             expnegative = 1;                                                \
+             /* This is a hook for the m68k long double format, where the    \
+                exponent bias is the same for normalized and denormalized    \
+                numbers.  */                                                 \
+             exponent = LONG_DOUBLE_DENORM_BIAS + 3;                         \
+           }                                                                 \
+       }                                                                     \
+      else if (exponent >= IEEE854_LONG_DOUBLE_BIAS + 3)                     \
+       {                                                                     \
+         expnegative = 0;                                                    \
+         exponent -= IEEE854_LONG_DOUBLE_BIAS + 3;                           \
+       }                                                                     \
+      else                                                                   \
+       {                                                                     \
+         expnegative = 1;                                                    \
+         exponent = -(exponent - (IEEE854_LONG_DOUBLE_BIAS + 3));            \
+       }                                                                     \
 } while (0)
 
 #include <sysdeps/generic/printf_fphex.c>