]> Savannah Git Hosting - gnulib.git/commitdiff
Support for MSVC compiler: Avoid division by a literal 0.
authorBruno Haible <bruno@clisp.org>
Sun, 11 Sep 2011 15:29:11 +0000 (17:29 +0200)
committerBruno Haible <bruno@clisp.org>
Sun, 11 Sep 2011 15:32:25 +0000 (17:32 +0200)
* lib/math.in.h (NAN): Define through a function call also on MSVC.
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
* m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
(gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
* tests/infinity.h: New file.
* tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
on MSVC.
* tests/test-ceilf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-ceil1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-ceill.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-dprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd.
* tests/test-floorf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-floor1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-floorl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-fprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd.
* tests/test-frexp.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-frexpl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-isfinite.c: Include infinity.h.
(test_isfinitef): Use Infinityf.
(test_isfinited): Use Infinityd.
(test_isfinitel): Use Infinityl.
* tests/test-isinf.c: Include infinity.h.
(test_isinff): Use Infinityf.
(test_isinfd): Use Infinityd.
(test_isinfl): Use Infinityl.
* tests/test-isnan.c: Include infinity.h.
(test_float): Use Infinityf.
(test_double): Use Infinityd.
(test_long_double): Use Infinityl.
* tests/test-isnanf.h: Include infinity.h.
(main): Use Infinityf.
* tests/test-isnand.h: Include infinity.h.
(main): Use Infinityd.
* tests/test-isnanl.h: Include infinity.h.
(main): Use Infinityl.
* tests/test-ldexpl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-printf-posix.h: Include infinity.h.
(test_function): Use Infinityd.
* tests/test-roundf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-round1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-roundl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-signbit.c: Include infinity.h.
(test_signbitf): Use Infinityf.
(test_signbitd): Use Infinityd.
(test_signbitl): Use Infinityl.
* tests/test-snprintf-posix.h: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* tests/test-sprintf-posix.h: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* tests/test-truncf1.c: Include infinity.h.
(main): Use Infinityf.
* tests/test-trunc1.c: Include infinity.h.
(main): Use Infinityd.
* tests/test-truncl.c: Include infinity.h.
(main): Use Infinityl.
* tests/test-vasnprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* tests/test-vasprintf-posix.c: Include infinity.h.
(test_function): Use Infinityd, Infinityl.
* modules/ceilf-tests (Files): Add tests/infinity.h.
* modules/ceil-tests (Files): Likewise.
* modules/ceill-tests (Files): Likewise.
* modules/dprintf-posix-tests (Files): Likewise.
* modules/floorf-tests (Files): Likewise.
* modules/floor-tests (Files): Likewise.
* modules/floorl-tests (Files): Likewise.
* modules/fprintf-posix-tests (Files): Likewise.
* modules/frexp-tests (Files): Likewise.
* modules/frexp-nolibm-tests (Files): Likewise.
* modules/frexpl-tests (Files): Likewise.
* modules/frexpl-nolibm-tests (Files): Likewise.
* modules/isfinite-tests (Files): Likewise.
* modules/isinf-tests (Files): Likewise.
* modules/isnan-tests (Files): Likewise.
* modules/isnanf-tests (Files): Likewise.
* modules/isnanf-nolibm-tests (Files): Likewise.
* modules/isnand-tests (Files): Likewise.
* modules/isnand-nolibm-tests (Files): Likewise.
* modules/isnanl-tests (Files): Likewise.
* modules/isnanl-nolibm-tests (Files): Likewise.
* modules/ldexpl-tests (Files): Likewise.
* modules/printf-posix-tests (Files): Likewise.
* modules/roundf-tests (Files): Likewise.
* modules/round-tests (Files): Likewise.
* modules/roundl-tests (Files): Likewise.
* modules/signbit-tests (Files): Likewise.
* modules/snprintf-posix-tests (Files): Likewise.
* modules/sprintf-posix-tests (Files): Likewise.
* modules/truncf-tests (Files): Likewise.
* modules/trunc-tests (Files): Likewise.
* modules/truncl-tests (Files): Likewise.
* modules/vasnprintf-posix-tests (Files): Likewise.
* modules/vasprintf-posix-tests (Files): Likewise.
* modules/vdprintf-posix-tests (Files): Likewise.
* modules/vfprintf-posix-tests (Files): Likewise.
* modules/vprintf-posix-tests (Files): Likewise.
* modules/vsnprintf-posix-tests (Files): Likewise.
* modules/vsprintf-posix-tests (Files): Likewise.
* modules/xprintf-posix-tests (Files): Likewise.

75 files changed:
ChangeLog
lib/math.in.h
m4/frexp.m4
m4/printf.m4
modules/ceil-tests
modules/ceilf-tests
modules/ceill-tests
modules/dprintf-posix-tests
modules/floor-tests
modules/floorf-tests
modules/floorl-tests
modules/fprintf-posix-tests
modules/frexp-nolibm-tests
modules/frexp-tests
modules/frexpl-nolibm-tests
modules/frexpl-tests
modules/isfinite-tests
modules/isinf-tests
modules/isnan-tests
modules/isnand-nolibm-tests
modules/isnand-tests
modules/isnanf-nolibm-tests
modules/isnanf-tests
modules/isnanl-nolibm-tests
modules/isnanl-tests
modules/ldexpl-tests
modules/printf-posix-tests
modules/round-tests
modules/roundf-tests
modules/roundl-tests
modules/signbit-tests
modules/snprintf-posix-tests
modules/sprintf-posix-tests
modules/trunc-tests
modules/truncf-tests
modules/truncl-tests
modules/vasnprintf-posix-tests
modules/vasprintf-posix-tests
modules/vdprintf-posix-tests
modules/vfprintf-posix-tests
modules/vprintf-posix-tests
modules/vsnprintf-posix-tests
modules/vsprintf-posix-tests
modules/xprintf-posix-tests
tests/infinity.h [new file with mode: 0644]
tests/nan.h
tests/test-ceil1.c
tests/test-ceilf1.c
tests/test-ceill.c
tests/test-dprintf-posix.c
tests/test-floor1.c
tests/test-floorf1.c
tests/test-floorl.c
tests/test-fprintf-posix.h
tests/test-frexp.c
tests/test-frexpl.c
tests/test-isfinite.c
tests/test-isinf.c
tests/test-isnan.c
tests/test-isnand.h
tests/test-isnanf.h
tests/test-isnanl.h
tests/test-ldexpl.c
tests/test-printf-posix.h
tests/test-round1.c
tests/test-roundf1.c
tests/test-roundl.c
tests/test-signbit.c
tests/test-snprintf-posix.h
tests/test-sprintf-posix.h
tests/test-trunc1.c
tests/test-truncf1.c
tests/test-truncl.c
tests/test-vasnprintf-posix.c
tests/test-vasprintf-posix.c

index 6ed26026725189f7d2c50c3af3390dceb423c525..a44ba2e17b61b59f8b4f3ef4673c3744032bde58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,121 @@
+2011-09-11  Bruno Haible  <bruno@clisp.org>
+
+       Support for MSVC compiler: Avoid division by a literal 0.
+       * lib/math.in.h (NAN): Define through a function call also on MSVC.
+       * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
+       * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
+       gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
+       (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
+       * tests/infinity.h: New file.
+       * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
+       on MSVC.
+       * tests/test-ceilf1.c: Include infinity.h.
+       (main): Use Infinityf.
+       * tests/test-ceil1.c: Include infinity.h.
+       (main): Use Infinityd.
+       * tests/test-ceill.c: Include infinity.h.
+       (main): Use Infinityl.
+       * tests/test-dprintf-posix.c: Include infinity.h.
+       (test_function): Use Infinityd.
+       * tests/test-floorf1.c: Include infinity.h.
+       (main): Use Infinityf.
+       * tests/test-floor1.c: Include infinity.h.
+       (main): Use Infinityd.
+       * tests/test-floorl.c: Include infinity.h.
+       (main): Use Infinityl.
+       * tests/test-fprintf-posix.c: Include infinity.h.
+       (test_function): Use Infinityd.
+       * tests/test-frexp.c: Include infinity.h.
+       (main): Use Infinityd.
+       * tests/test-frexpl.c: Include infinity.h.
+       (main): Use Infinityl.
+       * tests/test-isfinite.c: Include infinity.h.
+       (test_isfinitef): Use Infinityf.
+       (test_isfinited): Use Infinityd.
+       (test_isfinitel): Use Infinityl.
+       * tests/test-isinf.c: Include infinity.h.
+       (test_isinff): Use Infinityf.
+       (test_isinfd): Use Infinityd.
+       (test_isinfl): Use Infinityl.
+       * tests/test-isnan.c: Include infinity.h.
+       (test_float): Use Infinityf.
+       (test_double): Use Infinityd.
+       (test_long_double): Use Infinityl.
+       * tests/test-isnanf.h: Include infinity.h.
+       (main): Use Infinityf.
+       * tests/test-isnand.h: Include infinity.h.
+       (main): Use Infinityd.
+       * tests/test-isnanl.h: Include infinity.h.
+       (main): Use Infinityl.
+       * tests/test-ldexpl.c: Include infinity.h.
+       (main): Use Infinityl.
+       * tests/test-printf-posix.h: Include infinity.h.
+       (test_function): Use Infinityd.
+       * tests/test-roundf1.c: Include infinity.h.
+       (main): Use Infinityf.
+       * tests/test-round1.c: Include infinity.h.
+       (main): Use Infinityd.
+       * tests/test-roundl.c: Include infinity.h.
+       (main): Use Infinityl.
+       * tests/test-signbit.c: Include infinity.h.
+       (test_signbitf): Use Infinityf.
+       (test_signbitd): Use Infinityd.
+       (test_signbitl): Use Infinityl.
+       * tests/test-snprintf-posix.h: Include infinity.h.
+       (test_function): Use Infinityd, Infinityl.
+       * tests/test-sprintf-posix.h: Include infinity.h.
+       (test_function): Use Infinityd, Infinityl.
+       * tests/test-truncf1.c: Include infinity.h.
+       (main): Use Infinityf.
+       * tests/test-trunc1.c: Include infinity.h.
+       (main): Use Infinityd.
+       * tests/test-truncl.c: Include infinity.h.
+       (main): Use Infinityl.
+       * tests/test-vasnprintf-posix.c: Include infinity.h.
+       (test_function): Use Infinityd, Infinityl.
+       * tests/test-vasprintf-posix.c: Include infinity.h.
+       (test_function): Use Infinityd, Infinityl.
+       * modules/ceilf-tests (Files): Add tests/infinity.h.
+       * modules/ceil-tests (Files): Likewise.
+       * modules/ceill-tests (Files): Likewise.
+       * modules/dprintf-posix-tests (Files): Likewise.
+       * modules/floorf-tests (Files): Likewise.
+       * modules/floor-tests (Files): Likewise.
+       * modules/floorl-tests (Files): Likewise.
+       * modules/fprintf-posix-tests (Files): Likewise.
+       * modules/frexp-tests (Files): Likewise.
+       * modules/frexp-nolibm-tests (Files): Likewise.
+       * modules/frexpl-tests (Files): Likewise.
+       * modules/frexpl-nolibm-tests (Files): Likewise.
+       * modules/isfinite-tests (Files): Likewise.
+       * modules/isinf-tests (Files): Likewise.
+       * modules/isnan-tests (Files): Likewise.
+       * modules/isnanf-tests (Files): Likewise.
+       * modules/isnanf-nolibm-tests (Files): Likewise.
+       * modules/isnand-tests (Files): Likewise.
+       * modules/isnand-nolibm-tests (Files): Likewise.
+       * modules/isnanl-tests (Files): Likewise.
+       * modules/isnanl-nolibm-tests (Files): Likewise.
+       * modules/ldexpl-tests (Files): Likewise.
+       * modules/printf-posix-tests (Files): Likewise.
+       * modules/roundf-tests (Files): Likewise.
+       * modules/round-tests (Files): Likewise.
+       * modules/roundl-tests (Files): Likewise.
+       * modules/signbit-tests (Files): Likewise.
+       * modules/snprintf-posix-tests (Files): Likewise.
+       * modules/sprintf-posix-tests (Files): Likewise.
+       * modules/truncf-tests (Files): Likewise.
+       * modules/trunc-tests (Files): Likewise.
+       * modules/truncl-tests (Files): Likewise.
+       * modules/vasnprintf-posix-tests (Files): Likewise.
+       * modules/vasprintf-posix-tests (Files): Likewise.
+       * modules/vdprintf-posix-tests (Files): Likewise.
+       * modules/vfprintf-posix-tests (Files): Likewise.
+       * modules/vprintf-posix-tests (Files): Likewise.
+       * modules/vsnprintf-posix-tests (Files): Likewise.
+       * modules/vsprintf-posix-tests (Files): Likewise.
+       * modules/xprintf-posix-tests (Files): Likewise.
+
 2011-09-11  Bruno Haible  <bruno@clisp.org>
 
        Ensure pid_t gets defined.
index d6308cbb9dc1df25022a2203a21c32d3954529f5..05f03b1ee1a483d4a295df535569d985dda9f92d 100644 (file)
@@ -75,8 +75,9 @@ _GL_WARN_ON_USE (rpl_ ## func ## l, #func " is unportable - "       \
 #if !defined NAN || @REPLACE_NAN@
 # if !GNULIB_defined_NAN
 #  undef NAN
-  /* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0.  */
-#  ifdef __DECC
+  /* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler
+     choke on the expression 0.0 / 0.0.  */
+#  if defined __DECC || defined _MSC_VER
 static float
 _NaN ()
 {
index 125edcdc45d0db747d9e258ff88b630cf41c4c43..f2048f3be37bc58d5e2b8d27069a86f9e197b1c1 100644 (file)
@@ -1,4 +1,4 @@
-# frexp.m4 serial 11
+# frexp.m4 serial 12
 dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -133,7 +133,7 @@ int main()
         result |= 1;
     }
   /* Test on infinite numbers.  */
-  x = 1.0 / 0.0;
+  x = 1.0 / zero;
   {
     int exp;
     double y = frexp (x, &exp);
index 0531ad5f2eac12cf36b3aa7aaeff904e4f0d24a0..d046c11123d2292c461beb7b6ed842406b5fc56b 100644 (file)
@@ -1,4 +1,4 @@
-# printf.m4 serial 44
+# printf.m4 serial 45
 dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -178,28 +178,28 @@ static double zero = 0.0;
 int main ()
 {
   int result = 0;
-  if (sprintf (buf, "%f", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%f", 1.0 / zero) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%f", -1.0 / 0.0) < 0
+  if (sprintf (buf, "%f", -1.0 / zero) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%f", zero / zero) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 2;
-  if (sprintf (buf, "%e", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%e", 1.0 / zero) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 4;
-  if (sprintf (buf, "%e", -1.0 / 0.0) < 0
+  if (sprintf (buf, "%e", -1.0 / zero) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 4;
   if (sprintf (buf, "%e", zero / zero) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 8;
-  if (sprintf (buf, "%g", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%g", 1.0 / zero) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 16;
-  if (sprintf (buf, "%g", -1.0 / 0.0) < 0
+  if (sprintf (buf, "%g", -1.0 / zero) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 16;
   if (sprintf (buf, "%g", zero / zero) < 0
@@ -294,28 +294,28 @@ int main ()
 {
   int result = 0;
   nocrash_init();
-  if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%Lf", zeroL / zeroL) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 1;
-  if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Le", 1.0L / zeroL) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Le", -1.0L / zeroL) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%Le", zeroL / zeroL) < 0
       || !strisnan (buf, 0, strlen (buf)))
     result |= 1;
-  if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0
       || (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
     result |= 1;
-  if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0
+  if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0
       || (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
     result |= 1;
   if (sprintf (buf, "%Lg", zeroL / zeroL) < 0
@@ -478,6 +478,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_A],
 #include <stdio.h>
 #include <string.h>
 static char buf[100];
+static double zero = 0.0;
 int main ()
 {
   int result = 0;
@@ -502,7 +503,7 @@ int main ()
     result |= 4;
   /* This catches a FreeBSD 6.1 bug.  See
      <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
-  if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0
+  if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0
       || buf[0] == '0')
     result |= 8;
   /* This catches a MacOS X 10.3.9 (Darwin 7.9) bug.  */
@@ -562,13 +563,14 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_F],
 #include <stdio.h>
 #include <string.h>
 static char buf[100];
+static double zero = 0.0;
 int main ()
 {
   int result = 0;
   if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0
       || strcmp (buf, "1234567.000000 33") != 0)
     result |= 1;
-  if (sprintf (buf, "%F", 1.0 / 0.0) < 0
+  if (sprintf (buf, "%F", 1.0 / zero) < 0
       || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0))
     result |= 2;
   /* This catches a Cygwin 1.5.x bug.  */
@@ -878,9 +880,10 @@ AC_DEFUN([gl_PRINTF_FLAG_ZERO],
 #include <stdio.h>
 #include <string.h>
 static char buf[100];
+static double zero = 0.0;
 int main ()
 {
-  if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0
+  if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0
       || (strcmp (buf, "       inf") != 0
           && strcmp (buf, "  infinity") != 0))
     return 1;
index 2a168b5223e45c5e476da60c55c632ddbafee892..4051d1c25602e99dc4ea2605898ca11e8dba4ae0 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-ceil1.c
 tests/test-ceil2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 040fd1bbf5f38730e4482acb5ad1b85f5086c9ba..6ead40244ea41b7d9de45f44979f7cb04e9bb357 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-ceilf1.c
 tests/test-ceilf2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 09ae4f32d432a029b3002f2ab0f9d12808abe9b8..d6176c835134181d9279360e86cdcec47038fc64 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-ceill.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 219761f77907f5350b582035a12cca5c0decfdd9..0c5a6e8cba1ec879b87f718d84e9869f2571f6f0 100644 (file)
@@ -4,6 +4,7 @@ tests/test-dprintf-posix.c
 tests/test-printf-posix.output
 tests/test-dprintf-posix2.sh
 tests/test-dprintf-posix2.c
+tests/infinity.h
 tests/signature.h
 tests/macros.h
 
index 9d5fbe8bbf63a89ed26e51391e11c031217c4f86..c57c3c9eccbe6fc667da5e2fb6c25dc07bdb5025 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-floor1.c
 tests/test-floor2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 3e9c045ef0076bfaf2e9901016706d0d5f69195e..8e7004368831e01d6f06aa61e13e8df097d3af54 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-floorf1.c
 tests/test-floorf2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 5273fb5a8826677131d3642790824c734b51f492..68ef0f56a5b717990c1e7f2b72eb061d991b6320 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-floorl.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index d2058aeb2043ce5b9925d163626b4094a43ee63f..258e3bfb28e62ad2d9e43fdfe27b71e74a220ff3 100644 (file)
@@ -7,6 +7,7 @@ tests/test-fprintf-posix2.sh
 tests/test-fprintf-posix2.c
 tests/test-fprintf-posix3.sh
 tests/test-fprintf-posix3.c
+tests/infinity.h
 tests/signature.h
 tests/macros.h
 
index 82ee57c879705f32e9238487dbb3176807c7a9ed..963a52ec4a1eac2191ad689c6de085e4b5e61cc9 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-frexp.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 3f669f9353726c0512bd393467e7b74df8f16f03..55ddaa4db5538a464c75b95987b0be56335238bd 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-frexp.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 1648d95ab444454afc24e4b80b9aba0ce1d800cf..ffc6892de00dbaa7d26b03d5a7eff7879e20810b 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-frexpl.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index a944634af22845e31c5d64fb9d0a4368a6ab1c98..09879550859f1708f88e03cefe0b89f45328e474 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-frexpl.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index d4940690b0ec4a0559f6c9e9e73bc4aa3cd482d6..dc0ab8c6a425b55ef91f783eb3e67071f70dfd09 100644 (file)
@@ -1,5 +1,6 @@
 Files:
 tests/test-isfinite.c
+tests/infinity.h
 tests/macros.h
 
 Depends-on:
index f577aa9e8d02efdc0ef987c1fc14d32035571c84..2ee42a7ab005ead2ec35bef249d54bbe2694f7a1 100644 (file)
@@ -3,6 +3,7 @@ m4/exponentf.m4
 m4/exponentd.m4
 m4/exponentl.m4
 tests/test-isinf.c
+tests/infinity.h
 tests/macros.h
 
 Depends-on:
index 1bc2b7217ad73f217326a3beb22345b7556e9168..e21153b7e468203bf5f427890da1d2162e89c5e1 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-isnan.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index ee6f880d2f0b0c3427494f27f77ec981183f9a67..d2cbc79f0230db26aa92f45f1ea1a6cf53c06a36 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-isnand-nolibm.c
 tests/test-isnand.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index a23ba4db67a5c29dcc267d471dccd54df867eaf0..89d2ae01104acb17ac44a559dfac5295c1c2b5dd 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-isnand.c
 tests/test-isnand.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index ff89c1d6cbcff54efa1d0f4b6ad08b6d4d4c44a3..88c15d013faf4d484913d88562ded206a95fcea5 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-isnanf-nolibm.c
 tests/test-isnanf.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index ba301df11ef0776fbdd885c42404134c4df11a2f..86caabe8bedd14e8da1fec130952589b524fb550 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-isnanf.c
 tests/test-isnanf.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index 78427b43680f5131675ef7347e73b67ef2717688..6a2ed4e27fc217bf3263439f558dbf473952eb27 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-isnanl-nolibm.c
 tests/test-isnanl.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index 68411fec1d6dfe407a437af095e43a8dd6604465..c39be318e84a1e2a2adf6a3c271eaffcc4a9cc75 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-isnanl.c
 tests/test-isnanl.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index 1daeb6fa2a260e059062199a3411ea2bae3a4c5c..2fa0434387db74d756921ff57a2e0a6fca404056 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-ldexpl.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 8e8ec6de6f6ec0852f4e896a68f62d3d8c3989a2..8a99cd6cddaacccd891af8a82af2f6dd8091d884 100644 (file)
@@ -5,6 +5,7 @@ tests/test-printf-posix.h
 tests/test-printf-posix.output
 tests/test-printf-posix2.sh
 tests/test-printf-posix2.c
+tests/infinity.h
 tests/signature.h
 tests/macros.h
 
index 9e154c8cc1b4fbefe140be287a6f2be63fbb7ef7..2c4b37bf6ee7d528a8a296e52df73f9e392a8012 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-round1.c
 tests/test-round2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 7ee4178f3efe7ef5f96ba7a180cc5da84aafbabc..cd8af3020299ac1df8cd428d36abe740544de5b2 100644 (file)
@@ -3,6 +3,7 @@ tests/test-roundf1.c
 tests/test-round2.c
 tests/test-roundf2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index f9bd46727ee3dfd099a7325378e957b6f4de00cb..7e7aca3b98bb8788f957cb1480b7762665343d46 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-roundl.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index b8247652f2a99a89a84e313d2ff88b7d4776b653..65d5602b903ebdbbe11f91092f7f704b1d5beb45 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-signbit.c
 tests/minus-zero.h
+tests/infinity.h
 tests/macros.h
 m4/exponentf.m4
 m4/exponentd.m4
index 9a5c3ab7cbd499815fd4c59ee50911df7684a6b8..e26803bc8839f61738f3d939e9619b2cff679626 100644 (file)
@@ -3,6 +3,7 @@ tests/test-snprintf-posix.c
 tests/test-snprintf-posix.h
 tests/test-snprintf.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 333c5844be1c37618289c40fe7d9b371cbe81934..712859a9c6d4e6f73fb4478a93d6ffa027eba15c 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-sprintf-posix.c
 tests/test-sprintf-posix.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 6c254e0692a8db04c1281e06008ec0caec5c7f13..1ec87d7c5783cdcdbfe5604c728e0304a83814f3 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-trunc1.c
 tests/test-trunc2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 27b93f2a2a8b4bf4814a4d23b35f950b4031b5f2..1c847e7bfc121bc0b015ce1beddeed8553ac2533 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-truncf1.c
 tests/test-truncf2.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 01bcf73921c524f2a488117f24f81c9828aac891..f6b7dd3944125f2e6b97c07dfb2641b5cdbddb23 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-truncl.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 01f0188fd51b2695426c44561750bdee6041468d..eb6acf14e6b986216b7d82c82d5f8045926c54ed 100644 (file)
@@ -4,6 +4,7 @@ tests/test-vasnprintf-posix2.sh
 tests/test-vasnprintf-posix2.c
 tests/test-vasnprintf-posix3.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 m4/locale-fr.m4
index 8702bdcbde84d51aa38146265211f22f580def9c..cf74d788747f345efc4ea911b32673d22d380caa 100644 (file)
@@ -1,6 +1,7 @@
 Files:
 tests/test-vasprintf-posix.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/macros.h
 
index a7dff7acabb266a3e665173d50372cc26e7be16f..032cae90da77b4071b6cfd17a47ebe33ac382570 100644 (file)
@@ -3,6 +3,7 @@ tests/test-vdprintf-posix.sh
 tests/test-vdprintf-posix.c
 tests/test-fprintf-posix.h
 tests/test-printf-posix.output
+tests/infinity.h
 tests/signature.h
 tests/macros.h
 
index d4dab2d9481de23d8c8d628a3b4def11edb1850b..87e8809031671bc47aeb2db79ae3491ec027dc72 100644 (file)
@@ -3,6 +3,7 @@ tests/test-vfprintf-posix.sh
 tests/test-vfprintf-posix.c
 tests/test-fprintf-posix.h
 tests/test-printf-posix.output
+tests/infinity.h
 tests/signature.h
 tests/macros.h
 
index 84f250b35cdee7757051ffc8469162676d4fc1ad..1d7e50b319ff383bbffa958aaae074b641f6d2d1 100644 (file)
@@ -3,6 +3,7 @@ tests/test-vprintf-posix.sh
 tests/test-vprintf-posix.c
 tests/test-printf-posix.h
 tests/test-printf-posix.output
+tests/infinity.h
 tests/signature.h
 tests/macros.h
 
index 687d28d44928039ed045a05f6863c182d11ce3d4..7c43b70c39a3cf225d5da35e14770f2f919a5600 100644 (file)
@@ -3,6 +3,7 @@ tests/test-vsnprintf-posix.c
 tests/test-snprintf-posix.h
 tests/test-vsnprintf.c
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 2f04f875a85ac20f8a475b14ac49adfd23f485c7..9d8c5fd6f684f5c6ad2900ec5f7ec16080e616fd 100644 (file)
@@ -2,6 +2,7 @@ Files:
 tests/test-vsprintf-posix.c
 tests/test-sprintf-posix.h
 tests/minus-zero.h
+tests/infinity.h
 tests/nan.h
 tests/signature.h
 tests/macros.h
index 7882b43e1b7e6caca17723560c65f8f2441fe25f..a8b2984cd78634b46058709f11c64683b813fadd 100644 (file)
@@ -5,6 +5,7 @@ tests/test-xprintf-posix.c
 tests/test-fprintf-posix.h
 tests/test-printf-posix.h
 tests/test-printf-posix.output
+tests/infinity.h
 tests/macros.h
 
 Depends-on:
diff --git a/tests/infinity.h b/tests/infinity.h
new file mode 100644 (file)
index 0000000..19a6873
--- /dev/null
@@ -0,0 +1,60 @@
+/* Macros for infinity.
+   Copyright (C) 2011 Free Software Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program 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 General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+
+/* Infinityf () returns a 'float' +Infinity.  */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0f / 0.0f.  */
+#if defined _MSC_VER
+static float
+Infinityf ()
+{
+  static float zero = 0.0f;
+  return 1.0f / zero;
+}
+#else
+# define Infinityf() (1.0f / 0.0f)
+#endif
+
+
+/* Infinityd () returns a 'double' +Infinity.  */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0 / 0.0.  */
+#if defined _MSC_VER
+static double
+Infinityd ()
+{
+  static double zero = 0.0;
+  return 1.0 / zero;
+}
+#else
+# define Infinityd() (1.0 / 0.0)
+#endif
+
+
+/* Infinityl () returns a 'long double' +Infinity.  */
+
+/* The Microsoft MSVC 9 compiler chokes on the expression 1.0L / 0.0L.  */
+#if defined _MSC_VER
+static double
+Infinityl ()
+{
+  static long double zero = 0.0L;
+  return 1.0L / zero;
+}
+#else
+# define Infinityl() (1.0L / 0.0L)
+#endif
index 5e1c0c379840bd118b81ad3d18c6661ace27fe40..eb5fd95931edbdb3290056fcdb75faecd1738f16 100644 (file)
@@ -17,8 +17,9 @@
 
 /* NaNf () returns a 'float' not-a-number.  */
 
-/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0.  */
-#ifdef __DECC
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+   on the expression 0.0 / 0.0.  */
+#if defined __DECC || defined _MSC_VER
 static float
 NaNf ()
 {
@@ -32,8 +33,9 @@ NaNf ()
 
 /* NaNd () returns a 'double' not-a-number.  */
 
-/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0.  */
-#ifdef __DECC
+/* The Compaq (ex-DEC) C 6.4 compiler and the Microsoft MSVC 9 compiler choke
+   on the expression 0.0 / 0.0.  */
+#if defined __DECC || defined _MSC_VER
 static double
 NaNd ()
 {
@@ -48,13 +50,21 @@ NaNd ()
 /* NaNl () returns a 'long double' not-a-number.  */
 
 /* On Irix 6.5, gcc 3.4.3 can't compute compile-time NaN, and needs the
-   runtime type conversion.  */
+   runtime type conversion.
+   The Microsoft MSVC 9 compiler chokes on the expression 0.0L / 0.0L.  */
 #ifdef __sgi
 static long double NaNl ()
 {
   double zero = 0.0;
   return zero / zero;
 }
+#elif defined _MSC_VER
+static long double
+NaNl ()
+{
+  static long double zero = 0.0L;
+  return zero / zero;
+}
 #else
 # define NaNl() (0.0L / 0.0L)
 #endif
index 7d4d325a7250923e25fe99fdb0d5158cbc88b6e9..c6b30259adb2163700b105750022601e54681e8a 100644 (file)
@@ -27,6 +27,7 @@ SIGNATURE_CHECK (ceil, double, (double));
 
 #include "isnand-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -58,8 +59,8 @@ main ()
   ASSERT (ceil (-65536.0) == -65536.0);
   ASSERT (ceil (-2.341e31) == -2.341e31);
   /* Infinite numbers.  */
-  ASSERT (ceil (1.0 / 0.0) == 1.0 / 0.0);
-  ASSERT (ceil (-1.0 / 0.0) == -1.0 / 0.0);
+  ASSERT (ceil (Infinityd ()) == Infinityd ());
+  ASSERT (ceil (- Infinityd ()) == - Infinityd ());
   /* NaNs.  */
   ASSERT (isnand (ceil (NaNd ())));
 
index c4581c6d2f63ea87c4d08d5c2fa151f444f89366..d2898c8ad8268223ba3252b5c6c42e5db04ef63d 100644 (file)
@@ -25,6 +25,7 @@ SIGNATURE_CHECK (ceilf, float, (float));
 
 #include "isnanf-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -69,8 +70,8 @@ main (int argc, char **argv _GL_UNUSED)
   ASSERT (my_ceilf (-65536.0f) == -65536.0f);
   ASSERT (my_ceilf (-2.341e31f) == -2.341e31f);
   /* Infinite numbers.  */
-  ASSERT (my_ceilf (1.0f / 0.0f) == 1.0f / 0.0f);
-  ASSERT (my_ceilf (-1.0f / 0.0f) == -1.0f / 0.0f);
+  ASSERT (my_ceilf (Infinityf ()) == Infinityf ());
+  ASSERT (my_ceilf (- Infinityf ()) == - Infinityf ());
   /* NaNs.  */
   ASSERT (isnanf (my_ceilf (NaNf ())));
 
index e0b8ff232bc3521234770c77e709f2a7a895f28b..8af3ba1299538655a47da39448a64b8145464961 100644 (file)
@@ -28,6 +28,7 @@ SIGNATURE_CHECK (ceill, long double, (long double));
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -63,8 +64,8 @@ main ()
   ASSERT (ceill (-65536.0L) == -65536.0L);
   ASSERT (ceill (-2.341e31L) == -2.341e31L);
   /* Infinite numbers.  */
-  ASSERT (ceill (1.0L / 0.0L) == 1.0L / 0.0L);
-  ASSERT (ceill (-1.0L / 0.0L) == -1.0L / 0.0L);
+  ASSERT (ceill (Infinityl ()) == Infinityl ());
+  ASSERT (ceill (- Infinityl ()) == - Infinityl ());
   /* NaNs.  */
   ASSERT (isnanl (ceill (NaNl ())));
 
index 34b54919388fdd11dd7115f67599a8b8b67fd27b..414f8d42c0e0b65357dc9709c80ba8ffe39dd446 100644 (file)
@@ -27,6 +27,7 @@ SIGNATURE_CHECK (dprintf, int, (int, const char *, ...));
 #include <stdint.h>
 #include <string.h>
 
+#include "infinity.h"
 #include "macros.h"
 
 static void
@@ -50,13 +51,13 @@ test_function (int (*my_dprintf) (int, const char *, ...))
   my_dprintf (fileno (stdout), "%a %d\n", 0.0, 33, 44, 55);
 
   /* Positive infinity.  */
-  my_dprintf (fileno (stdout), "%a %d\n", 1.0 / 0.0, 33, 44, 55);
+  my_dprintf (fileno (stdout), "%a %d\n", Infinityd (), 33, 44, 55);
 
   /* Negative infinity.  */
-  my_dprintf (fileno (stdout), "%a %d\n", -1.0 / 0.0, 33, 44, 55);
+  my_dprintf (fileno (stdout), "%a %d\n", - Infinityd (), 33, 44, 55);
 
   /* FLAG_ZERO with infinite number.  */
-  my_dprintf (fileno (stdout), "%010a %d\n", 1.0 / 0.0, 33, 44, 55);
+  my_dprintf (fileno (stdout), "%010a %d\n", Infinityd (), 33, 44, 55);
 
   /* Test the support of the %f format directive.  */
 
index bfb1f1dad25a753fd3ea8ec9bc137f52d713d8e7..2d2ce865a961060cd5d5f3c69393c3aba97e0166 100644 (file)
@@ -25,6 +25,7 @@ SIGNATURE_CHECK (floor, double, (double));
 
 #include "isnand-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -56,8 +57,8 @@ main (int argc, char **argv _GL_UNUSED)
   ASSERT (floor (-65536.0) == -65536.0);
   ASSERT (floor (-2.341e31) == -2.341e31);
   /* Infinite numbers.  */
-  ASSERT (floor (1.0 / 0.0) == 1.0 / 0.0);
-  ASSERT (floor (-1.0 / 0.0) == -1.0 / 0.0);
+  ASSERT (floor (Infinityd ()) == Infinityd ());
+  ASSERT (floor (- Infinityd ()) == - Infinityd ());
   /* NaNs.  */
   ASSERT (isnand (floor (NaNd ())));
 
index 378b994d07819d05c8e7b257c48807e391423733..38d4a501860c2e3d41e070818f74facbfdbd86c6 100644 (file)
@@ -25,6 +25,7 @@ SIGNATURE_CHECK (floorf, float, (float));
 
 #include "isnanf-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -69,8 +70,8 @@ main (int argc, char **argv _GL_UNUSED)
   ASSERT (my_floorf (-65536.0f) == -65536.0f);
   ASSERT (my_floorf (-2.341e31f) == -2.341e31f);
   /* Infinite numbers.  */
-  ASSERT (my_floorf (1.0f / 0.0f) == 1.0f / 0.0f);
-  ASSERT (my_floorf (-1.0f / 0.0f) == -1.0f / 0.0f);
+  ASSERT (my_floorf (Infinityf ()) == Infinityf ());
+  ASSERT (my_floorf (- Infinityf ()) == - Infinityf ());
   /* NaNs.  */
   ASSERT (isnanf (my_floorf (NaNf ())));
 
index df745f4e390aa0afcaca66ebd9b193c737dc4f82..e9696d98e344cdcac583d9bf62c5d7b7358aa8cd 100644 (file)
@@ -28,6 +28,7 @@ SIGNATURE_CHECK (floorl, long double, (long double));
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -63,8 +64,8 @@ main ()
   ASSERT (floorl (-65536.0L) == -65536.0L);
   ASSERT (floorl (-2.341e31L) == -2.341e31L);
   /* Infinite numbers.  */
-  ASSERT (floorl (1.0L / 0.0L) == 1.0L / 0.0L);
-  ASSERT (floorl (-1.0L / 0.0L) == -1.0L / 0.0L);
+  ASSERT (floorl (Infinityl ()) == Infinityl ());
+  ASSERT (floorl (- Infinityl ()) == - Infinityl ());
   /* NaNs.  */
   ASSERT (isnanl (floorl (NaNl ())));
 
index 9481aaa16ff3013fedd1edd7a6143d87002f7f3f..e0fa53707113173b37a627a49b56fd96f60d3dfa 100644 (file)
@@ -16,6 +16,8 @@
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
+#include "infinity.h"
+
 static void
 test_function (int (*my_fprintf) (FILE *, const char *, ...))
 {
@@ -37,13 +39,13 @@ test_function (int (*my_fprintf) (FILE *, const char *, ...))
   my_fprintf (stdout, "%a %d\n", 0.0, 33, 44, 55);
 
   /* Positive infinity.  */
-  my_fprintf (stdout, "%a %d\n", 1.0 / 0.0, 33, 44, 55);
+  my_fprintf (stdout, "%a %d\n", Infinityd (), 33, 44, 55);
 
   /* Negative infinity.  */
-  my_fprintf (stdout, "%a %d\n", -1.0 / 0.0, 33, 44, 55);
+  my_fprintf (stdout, "%a %d\n", - Infinityd (), 33, 44, 55);
 
   /* FLAG_ZERO with infinite number.  */
-  my_fprintf (stdout, "%010a %d\n", 1.0 / 0.0, 33, 44, 55);
+  my_fprintf (stdout, "%010a %d\n", Infinityd (), 33, 44, 55);
 
   /* Test the support of the %f format directive.  */
 
index 4ed24d2902a3c922374ebd2e94944aaaabf6c958..a7ec639df6f32d9f8218717e77025baa1dbc0b37 100644 (file)
@@ -27,6 +27,7 @@ SIGNATURE_CHECK (frexp, double, (double, int *));
 
 #include "isnand-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -67,7 +68,7 @@ main ()
   { /* Positive infinity.  */
     int exp = -9999;
     double mantissa;
-    x = 1.0 / 0.0;
+    x = Infinityd ();
     mantissa = frexp (x, &exp);
     ASSERT (mantissa == x);
   }
@@ -75,7 +76,7 @@ main ()
   { /* Negative infinity.  */
     int exp = -9999;
     double mantissa;
-    x = -1.0 / 0.0;
+    x = - Infinityd ();
     mantissa = frexp (x, &exp);
     ASSERT (mantissa == x);
   }
index ccb547b037b8dfbab3aad1f9717c3e98429d31d0..905b293a1d39ce727fbc8da374c479fb4cf4bf6d 100644 (file)
@@ -28,6 +28,7 @@ SIGNATURE_CHECK (frexpl, long double, (long double, int *));
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -79,7 +80,7 @@ main ()
   { /* Positive infinity.  */
     int exp = -9999;
     long double mantissa;
-    x = 1.0L / 0.0L;
+    x = Infinityl ();
     mantissa = frexpl (x, &exp);
     ASSERT (mantissa == x);
   }
@@ -87,7 +88,7 @@ main ()
   { /* Negative infinity.  */
     int exp = -9999;
     long double mantissa;
-    x = -1.0L / 0.0L;
+    x = - Infinityl ();
     mantissa = frexpl (x, &exp);
     ASSERT (mantissa == x);
   }
index ed87ccf97e88f9942e9253ef132b5d31af41d750..2f50de32293dff1b5bb6669a88c6cdf086a7ad35 100644 (file)
@@ -29,6 +29,7 @@
 #include <float.h>
 #include <limits.h>
 
+#include "infinity.h"
 #include "macros.h"
 
 float zerof = 0.0f;
@@ -51,8 +52,8 @@ test_isfinitef ()
   ASSERT (isfinite (-2.718e30f));
   ASSERT (isfinite (-2.718e-30f));
   /* Infinite values.  */
-  ASSERT (!isfinite (1.0f / 0.0f));
-  ASSERT (!isfinite (-1.0f / 0.0f));
+  ASSERT (!isfinite (Infinityf ()));
+  ASSERT (!isfinite (- Infinityf ()));
   /* Quiet NaN.  */
   ASSERT (!isfinite (zerof / zerof));
 #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
@@ -95,8 +96,8 @@ test_isfinited ()
   ASSERT (isfinite (-2.718e30));
   ASSERT (isfinite (-2.718e-30));
   /* Infinite values.  */
-  ASSERT (!isfinite (1.0 / 0.0));
-  ASSERT (!isfinite (-1.0 / 0.0));
+  ASSERT (!isfinite (Infinityd ()));
+  ASSERT (!isfinite (- Infinityd ()));
   /* Quiet NaN.  */
   ASSERT (!isfinite (zerod / zerod));
 #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
@@ -142,8 +143,8 @@ test_isfinitel ()
   ASSERT (isfinite (-2.718e30L));
   ASSERT (isfinite (-2.718e-30L));
   /* Infinite values.  */
-  ASSERT (!isfinite (1.0L / 0.0L));
-  ASSERT (!isfinite (-1.0L / 0.0L));
+  ASSERT (!isfinite (Infinityl ()));
+  ASSERT (!isfinite (- Infinityl ()));
   /* Quiet NaN.  */
   ASSERT (!isfinite (zerol / zerol));
 
index d0d2cdaee731e39e1c0e31c287c8478d4c81d998..266cd7e9a059f9fbe57c9d102eb2112ad9ac8e6e 100644 (file)
@@ -29,6 +29,7 @@
 #include <float.h>
 #include <limits.h>
 
+#include "infinity.h"
 #include "macros.h"
 
 float zerof = 0.0f;
@@ -53,8 +54,8 @@ test_isinff ()
   ASSERT (!isinf (FLT_MAX));
   ASSERT (!isinf (-FLT_MAX));
   /* Infinite values.  */
-  ASSERT (isinf (1.0f / 0.0f));
-  ASSERT (isinf (-1.0f / 0.0f));
+  ASSERT (isinf (Infinityf ()));
+  ASSERT (isinf (- Infinityf ()));
   /* Quiet NaN.  */
   ASSERT (!isinf (zerof / zerof));
 #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
@@ -99,8 +100,8 @@ test_isinfd ()
   ASSERT (!isinf (DBL_MAX));
   ASSERT (!isinf (-DBL_MAX));
   /* Infinite values.  */
-  ASSERT (isinf (1.0 / 0.0));
-  ASSERT (isinf (-1.0 / 0.0));
+  ASSERT (isinf (Infinityd ()));
+  ASSERT (isinf (- Infinityd ()));
   /* Quiet NaN.  */
   ASSERT (!isinf (zerod / zerod));
 #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
@@ -148,8 +149,8 @@ test_isinfl ()
   ASSERT (!isinf (LDBL_MAX));
   ASSERT (!isinf (-LDBL_MAX));
   /* Infinite values.  */
-  ASSERT (isinf (1.0L / 0.0L));
-  ASSERT (isinf (-1.0L / 0.0L));
+  ASSERT (isinf (Infinityl ()));
+  ASSERT (isinf (- Infinityl ()));
   /* Quiet NaN.  */
   ASSERT (!isinf (zerol / zerol));
 
index 57475a365b518bf54edd2b65eebf279b87932751..cfdff84a2cc82b734c0c9191e24fe9d18e17b5fb 100644 (file)
@@ -30,6 +30,7 @@
 #include <limits.h>
 
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -46,8 +47,8 @@ test_float (void)
   ASSERT (!isnan (0.0f));
   ASSERT (!isnan (minus_zerof));
   /* Infinite values.  */
-  ASSERT (!isnan (1.0f / 0.0f));
-  ASSERT (!isnan (-1.0f / 0.0f));
+  ASSERT (!isnan (Infinityf ()));
+  ASSERT (!isnan (- Infinityf ()));
   /* Quiet NaN.  */
   ASSERT (isnan (NaNf ()));
 #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
@@ -86,8 +87,8 @@ test_double (void)
   ASSERT (!isnan (0.0));
   ASSERT (!isnan (minus_zerod));
   /* Infinite values.  */
-  ASSERT (!isnan (1.0 / 0.0));
-  ASSERT (!isnan (-1.0 / 0.0));
+  ASSERT (!isnan (Infinityd ()));
+  ASSERT (!isnan (- Infinityd ()));
   /* Quiet NaN.  */
   ASSERT (isnan (NaNd ()));
 #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
@@ -129,8 +130,8 @@ test_long_double (void)
   ASSERT (!isnan (0.0L));
   ASSERT (!isnan (minus_zerol));
   /* Infinite values.  */
-  ASSERT (!isnan (1.0L / 0.0L));
-  ASSERT (!isnan (-1.0L / 0.0L));
+  ASSERT (!isnan (Infinityl ()));
+  ASSERT (!isnan (- Infinityl ()));
   /* Quiet NaN.  */
   ASSERT (isnan (NaNl ()));
 
index de69331efda6df42e5db92d447892a07bc0cf0fd..181e36ff05e748abca1a0324813f82b7f161f8cb 100644 (file)
@@ -19,6 +19,7 @@
 #include <limits.h>
 
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -35,8 +36,8 @@ main ()
   ASSERT (!isnand (0.0));
   ASSERT (!isnand (minus_zerod));
   /* Infinite values.  */
-  ASSERT (!isnand (1.0 / 0.0));
-  ASSERT (!isnand (-1.0 / 0.0));
+  ASSERT (!isnand (Infinityd ()));
+  ASSERT (!isnand (- Infinityd ()));
   /* Quiet NaN.  */
   ASSERT (isnand (NaNd ()));
 #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
index f4b0e861fc6cf80ca1e9f67e31b874d216e0296c..4a33508e4a09cd279de88ac83b1f7442e16f4001 100644 (file)
@@ -19,6 +19,7 @@
 #include <limits.h>
 
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -35,8 +36,8 @@ main ()
   ASSERT (!isnanf (0.0f));
   ASSERT (!isnanf (minus_zerof));
   /* Infinite values.  */
-  ASSERT (!isnanf (1.0f / 0.0f));
-  ASSERT (!isnanf (-1.0f / 0.0f));
+  ASSERT (!isnanf (Infinityf ()));
+  ASSERT (!isnanf (- Infinityf ()));
   /* Quiet NaN.  */
   ASSERT (isnanf (NaNf ()));
 #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
index c07f3a96462f272ecbab3346a57cf3de21c3d962..055d05f479d06906d411bc2b11f445cd7d60d58c 100644 (file)
@@ -20,6 +20,7 @@
 #include <limits.h>
 
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -41,8 +42,8 @@ main ()
   ASSERT (!isnanl (0.0L));
   ASSERT (!isnanl (minus_zerol));
   /* Infinite values.  */
-  ASSERT (!isnanl (1.0L / 0.0L));
-  ASSERT (!isnanl (-1.0L / 0.0L));
+  ASSERT (!isnanl (Infinityl ()));
+  ASSERT (!isnanl (- Infinityl ()));
   /* Quiet NaN.  */
   ASSERT (isnanl (NaNl ()));
 
index d8e7e15ebdd4b0f12a121362e1fe6edf380c55f8..5e921f61e8e6b7001b0ddf64a6be1e278a03b90b 100644 (file)
@@ -28,6 +28,7 @@ SIGNATURE_CHECK (ldexpl, long double, (long double, int));
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -49,14 +50,14 @@ main ()
   }
 
   { /* Positive infinity.  */
-    x = 1.0L / 0.0L;
+    x = Infinityl ();
     y = ldexpl (x, 0); ASSERT (y == x);
     y = ldexpl (x, 5); ASSERT (y == x);
     y = ldexpl (x, -5); ASSERT (y == x);
   }
 
   { /* Negative infinity.  */
-    x = -1.0L / 0.0L;
+    x = - Infinityl ();
     y = ldexpl (x, 0); ASSERT (y == x);
     y = ldexpl (x, 5); ASSERT (y == x);
     y = ldexpl (x, -5); ASSERT (y == x);
index 73365a5b9d65a1c7c183219848e0ab336ffc988f..3d292121167b39babbf7771987fa1fc652dbd861 100644 (file)
@@ -16,6 +16,8 @@
 
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
+#include "infinity.h"
+
 static void
 test_function (int (*my_printf) (const char *, ...))
 {
@@ -37,15 +39,15 @@ test_function (int (*my_printf) (const char *, ...))
   my_printf ("%a %d\n", 0.0, 33, 44, 55);
 
   /* Positive infinity.  */
-  my_printf ("%a %d\n", 1.0 / 0.0, 33, 44, 55);
+  my_printf ("%a %d\n", Infinityd (), 33, 44, 55);
 
   /* Negative infinity.  */
-  my_printf ("%a %d\n", -1.0 / 0.0, 33, 44, 55);
+  my_printf ("%a %d\n", - Infinityd (), 33, 44, 55);
 
   /* FLAG_ZERO with infinite number.  */
   /* "0000000inf 33" is not a valid result; see
      <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
-  my_printf ("%010a %d\n", 1.0 / 0.0, 33, 44, 55);
+  my_printf ("%010a %d\n", Infinityd (), 33, 44, 55);
 
   /* Test the support of the %f format directive.  */
 
index 663377359e301ccc1634519f301fbe658fb0ddf8..f99ec1ddbf596aeaf8cf00d677ab4b2cce453d18 100644 (file)
@@ -27,6 +27,7 @@ SIGNATURE_CHECK (round, double, (double));
 
 #include "isnand-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -63,8 +64,8 @@ main ()
   ASSERT (round (-65536.001) == -65536.0);
   ASSERT (round (-2.341e31) == -2.341e31);
   /* Infinite numbers.  */
-  ASSERT (round (1.0 / 0.0) == 1.0 / 0.0);
-  ASSERT (round (-1.0 / 0.0) == -1.0 / 0.0);
+  ASSERT (round (Infinityd ()) == Infinityd ());
+  ASSERT (round (- Infinityd ()) == - Infinityd ());
   /* NaNs.  */
   ASSERT (isnand (round (NaNd ())));
 
index 2ccbe29faa9c6ded95bf2e83b6b5f81f8a4151e7..8413e827b484a9fae5b7692bd53f9ea86ae1d624 100644 (file)
@@ -27,6 +27,7 @@ SIGNATURE_CHECK (roundf, float, (float));
 
 #include "isnanf-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -63,8 +64,8 @@ main ()
   ASSERT (roundf (-65536.01f) == -65536.0f);
   ASSERT (roundf (-2.341e31f) == -2.341e31f);
   /* Infinite numbers.  */
-  ASSERT (roundf (1.0 / 0.0f) == 1.0 / 0.0f);
-  ASSERT (roundf (-1.0 / 0.0f) == -1.0 / 0.0f);
+  ASSERT (roundf (Infinityf ()) == Infinityf ());
+  ASSERT (roundf (- Infinityf ()) == - Infinityf ());
   /* NaNs.  */
   ASSERT (isnanf (roundf (NaNf ())));
 
index 0daace587a76aaf9297e0fcf3fe44f427e2183fb..7af95a4a7914c233ec8856e32d3f66236b27a7d7 100644 (file)
@@ -30,6 +30,7 @@ SIGNATURE_CHECK (roundl, long double, (long double));
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -70,8 +71,8 @@ main ()
   ASSERT (roundl (-65536.001L) == -65536.0L);
   ASSERT (roundl (-2.341e31L) == -2.341e31L);
   /* Infinite numbers.  */
-  ASSERT (roundl (1.0 / 0.0L) == 1.0 / 0.0L);
-  ASSERT (roundl (-1.0 / 0.0L) == -1.0 / 0.0L);
+  ASSERT (roundl (Infinityl ()) == Infinityl ());
+  ASSERT (roundl (- Infinityl ()) == - Infinityl ());
   /* NaNs.  */
   ASSERT (isnanl (roundl (NaNl ())));
 
index c8981498a1feb7dd398f68a479445e4a3525fb97..940156e6d9f99fcdf0fc09f6020e58e5ea41af1a 100644 (file)
@@ -29,6 +29,7 @@
 #include <limits.h>
 
 #include "minus-zero.h"
+#include "infinity.h"
 #include "macros.h"
 
 float zerof = 0.0f;
@@ -52,8 +53,8 @@ test_signbitf ()
   else
     ASSERT (!signbit (minus_zerof));
   /* Infinite values.  */
-  ASSERT (!signbit (1.0f / 0.0f));
-  ASSERT (signbit (-1.0f / 0.0f));
+  ASSERT (!signbit (Infinityf ()));
+  ASSERT (signbit (- Infinityf ()));
   /* Quiet NaN.  */
   (void) signbit (zerof / zerof);
 #if defined FLT_EXPBIT0_WORD && defined FLT_EXPBIT0_BIT
@@ -97,8 +98,8 @@ test_signbitd ()
   else
     ASSERT (!signbit (minus_zerod));
   /* Infinite values.  */
-  ASSERT (!signbit (1.0 / 0.0));
-  ASSERT (signbit (-1.0 / 0.0));
+  ASSERT (!signbit (Infinityd ()));
+  ASSERT (signbit (- Infinityd ()));
   /* Quiet NaN.  */
   (void) signbit (zerod / zerod);
 #if defined DBL_EXPBIT0_WORD && defined DBL_EXPBIT0_BIT
@@ -140,8 +141,8 @@ test_signbitl ()
   else
     ASSERT (!signbit (minus_zerol));
   /* Infinite values.  */
-  ASSERT (!signbit (1.0L / 0.0L));
-  ASSERT (signbit (-1.0L / 0.0L));
+  ASSERT (!signbit (Infinityl ()));
+  ASSERT (signbit (- Infinityl ()));
   /* Quiet NaN.  */
   (void) signbit (zerol / zerol);
 #if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
index c0c95939040731120b47734e515c75586c52ff39..a2fab0f0192a297afa783b7cf93840341ba1f7ab 100644 (file)
@@ -17,6 +17,7 @@
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 
 /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0.  */
@@ -182,7 +183,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%a %d", 1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%a %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -190,7 +191,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%a %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%a %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -385,7 +386,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%010a %d", 1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%010a %d", Infinityd (), 33, 44, 55);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     ASSERT (strcmp (result, "       inf 33") == 0);
@@ -446,7 +447,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%La %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -454,7 +455,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%La %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%La %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -737,7 +738,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%010La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%010La %d", Infinityl (), 33, 44, 55);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     ASSERT (strcmp (result, "       inf 33") == 0);
@@ -891,7 +892,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%f %d", 1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%f %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -900,7 +901,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%f %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%f %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -975,7 +976,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015f %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015f %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1148,7 +1149,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%Lf %d", 1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%Lf %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1157,7 +1158,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1319,7 +1320,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1405,7 +1406,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%F %d", 1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%F %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1414,7 +1415,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%F %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%F %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1441,7 +1442,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015F %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015F %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1515,7 +1516,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%LF %d", 1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%LF %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1524,7 +1525,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1551,7 +1552,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1729,7 +1730,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%e %d", 1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%e %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1738,7 +1739,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%e %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%e %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1829,7 +1830,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015e %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015e %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2018,7 +2019,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%Le %d", 1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%Le %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2027,7 +2028,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2205,7 +2206,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2393,7 +2394,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%g %d", 1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%g %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2402,7 +2403,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%g %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%g %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2486,7 +2487,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015g %d", -1.0 / 0.0, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015g %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2670,7 +2671,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Positive infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%Lg %d", 1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%Lg %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2679,7 +2680,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* Negative infinity.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2850,7 +2851,7 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[100];
     int retval =
-      my_snprintf (result, sizeof (result), "%015Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_snprintf (result, sizeof (result), "%015Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
index 3003b426b3f854867713d705d36c6085b2e5b6ad..bd7a647a8f9d952e016e3fd610c689be7a9e0443 100644 (file)
@@ -17,6 +17,7 @@
 /* Written by Bruno Haible <bruno@clisp.org>, 2007.  */
 
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 
 /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0.  */
@@ -168,7 +169,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%a %d", 1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%a %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -176,7 +177,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%a %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%a %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -371,7 +372,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%010a %d", 1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%010a %d", Infinityd (), 33, 44, 55);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     ASSERT (strcmp (result, "       inf 33") == 0);
@@ -432,7 +433,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%La %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -440,7 +441,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%La %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%La %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (retval == strlen (result));
   }
@@ -723,7 +724,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%010La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%010La %d", Infinityl (), 33, 44, 55);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
     ASSERT (strcmp (result, "       inf 33") == 0);
@@ -877,7 +878,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%f %d", 1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%f %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -886,7 +887,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%f %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%f %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -961,7 +962,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015f %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%015f %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1134,7 +1135,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%Lf %d", 1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%Lf %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1143,7 +1144,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1305,7 +1306,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%015Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1391,7 +1392,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%F %d", 1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%F %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1400,7 +1401,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%F %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%F %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1427,7 +1428,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015F %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%015F %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1501,7 +1502,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%LF %d", 1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%LF %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1510,7 +1511,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1537,7 +1538,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%015LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1715,7 +1716,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%e %d", 1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%e %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1724,7 +1725,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%e %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%e %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -1815,7 +1816,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015e %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%015e %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2004,7 +2005,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%Le %d", 1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%Le %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2013,7 +2014,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2191,7 +2192,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%015Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2379,7 +2380,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%g %d", 1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%g %d", Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2388,7 +2389,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%g %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%g %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2472,7 +2473,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015g %d", -1.0 / 0.0, 33, 44, 55);
+      my_sprintf (result, "%015g %d", - Infinityd (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2656,7 +2657,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Positive infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%Lg %d", 1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%Lg %d", Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2665,7 +2666,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* Negative infinity.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
     ASSERT (retval == strlen (result));
@@ -2836,7 +2837,7 @@ test_function (int (*my_sprintf) (char *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char result[1000];
     int retval =
-      my_sprintf (result, "%015Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_sprintf (result, "%015Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
     ASSERT (retval == strlen (result));
index f272aae2768b0593a5e9807378b17a1eefd63247..4e18ef44f63aec9c54efcedf930ad7cd74db98a5 100644 (file)
@@ -25,6 +25,7 @@ SIGNATURE_CHECK (trunc, double, (double));
 
 #include "isnand-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -55,8 +56,8 @@ main ()
   ASSERT (trunc (-65536.0) == -65536.0);
   ASSERT (trunc (-2.341e31) == -2.341e31);
   /* Infinite numbers.  */
-  ASSERT (trunc (1.0 / 0.0) == 1.0 / 0.0);
-  ASSERT (trunc (-1.0 / 0.0) == -1.0 / 0.0);
+  ASSERT (trunc (Infinityd ()) == Infinityd ());
+  ASSERT (trunc (- Infinityd ()) == - Infinityd ());
   /* NaNs.  */
   ASSERT (isnand (trunc (NaNd ())));
 
index 5d7a4efb1e68b94fc5a10aa165fc4101dae948ee..c356d93fa7ffb8f726317d879ab843638ca2bdf7 100644 (file)
@@ -25,6 +25,7 @@ SIGNATURE_CHECK (truncf, float, (float));
 
 #include "isnanf-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -55,8 +56,8 @@ main ()
   ASSERT (truncf (-65536.0f) == -65536.0f);
   ASSERT (truncf (-2.341e31f) == -2.341e31f);
   /* Infinite numbers.  */
-  ASSERT (truncf (1.0f / 0.0f) == 1.0f / 0.0f);
-  ASSERT (truncf (-1.0f / 0.0f) == -1.0f / 0.0f);
+  ASSERT (truncf (Infinityf ()) == Infinityf ());
+  ASSERT (truncf (- Infinityf ()) == - Infinityf ());
   /* NaNs.  */
   ASSERT (isnanf (truncf (NaNf ())));
 
index ef9345639168caf505cdc3a1aa3eea2e58df6557..c648166894c3e2c30e56fb8b40720b25dbaadeb7 100644 (file)
@@ -28,6 +28,7 @@ SIGNATURE_CHECK (truncl, long double, (long double));
 #include "fpucw.h"
 #include "isnanl-nolibm.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 #include "macros.h"
 
@@ -62,8 +63,8 @@ main ()
   ASSERT (truncl (-65536.0L) == -65536.0L);
   ASSERT (truncl (-2.341e31L) == -2.341e31L);
   /* Infinite numbers.  */
-  ASSERT (truncl (1.0L / 0.0L) == 1.0L / 0.0L);
-  ASSERT (truncl (-1.0L / 0.0L) == -1.0L / 0.0L);
+  ASSERT (truncl (Infinityl ()) == Infinityl ());
+  ASSERT (truncl (- Infinityl ()) == - Infinityl ());
   /* NaNs.  */
   ASSERT (isnanl (truncl (NaNl ())));
 
index dea0d3c1b29b8cd142155c680104bc68cee3f9ce..5bb89d32b19e32f52afb4544ca965a5cb8bfe442 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "macros.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 
 /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0.  */
@@ -217,7 +218,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%a %d", 1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%a %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (length == strlen (result));
@@ -227,7 +228,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%a %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%a %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (length == strlen (result));
@@ -458,7 +459,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%010a %d", 1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%010a %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -531,7 +532,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%La %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (length == strlen (result));
@@ -541,7 +542,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%La %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%La %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (length == strlen (result));
@@ -874,7 +875,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%010La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%010La %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -1044,7 +1045,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%f %d", 1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%f %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -1055,7 +1056,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%f %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%f %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -1148,7 +1149,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015f %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015f %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -1343,7 +1344,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%Lf %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%Lf %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -1354,7 +1355,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -1548,7 +1549,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -1654,7 +1655,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%F %d", 1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%F %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
@@ -1665,7 +1666,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%F %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%F %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
@@ -1698,7 +1699,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015F %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015F %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
@@ -1790,7 +1791,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%LF %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%LF %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
@@ -1801,7 +1802,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
@@ -1834,7 +1835,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
@@ -2032,7 +2033,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%e %d", 1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%e %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -2043,7 +2044,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%e %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%e %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -2154,7 +2155,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015e %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015e %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -2365,7 +2366,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%Le %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%Le %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -2376,7 +2377,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -2588,7 +2589,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -2798,7 +2799,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%g %d", 1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%g %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -2809,7 +2810,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%g %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%g %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -2913,7 +2914,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015g %d", -1.0 / 0.0, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015g %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -3119,7 +3120,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Positive infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%Lg %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%Lg %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -3130,7 +3131,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* Negative infinity.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -3335,7 +3336,7 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     size_t length;
     char *result =
-      my_asnprintf (NULL, &length, "%015Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asnprintf (NULL, &length, "%015Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
index b819b5b67a47705c90d985a150b7ce9dd205b9d4..da7221b82e80b71ee62aa130d71bfc599877bcc6 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "macros.h"
 #include "minus-zero.h"
+#include "infinity.h"
 #include "nan.h"
 
 /* The SGI MIPS floating-point format does not distinguish 0.0 and -0.0.  */
@@ -197,7 +198,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%a %d", 1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%a %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (retval == strlen (result));
@@ -207,7 +208,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%a %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%a %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (retval == strlen (result));
@@ -438,7 +439,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%010a %d", 1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%010a %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -511,7 +512,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%La %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0);
     ASSERT (retval == strlen (result));
@@ -521,7 +522,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%La %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%La %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0);
     ASSERT (retval == strlen (result));
@@ -854,7 +855,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%010La %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%010La %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     /* "0000000inf 33" is not a valid result; see
        <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
@@ -1024,7 +1025,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%f %d", 1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%f %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -1035,7 +1036,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%f %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%f %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -1128,7 +1129,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015f %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%015f %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -1323,7 +1324,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%Lf %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%Lf %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -1334,7 +1335,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -1528,7 +1529,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015Lf %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%015Lf %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -1634,7 +1635,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%F %d", 1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%F %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
@@ -1645,7 +1646,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%F %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%F %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
@@ -1678,7 +1679,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015F %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%015F %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
@@ -1770,7 +1771,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%LF %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%LF %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "INF 33") == 0
             || strcmp (result, "INFINITY 33") == 0);
@@ -1781,7 +1782,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-INF 33") == 0
             || strcmp (result, "-INFINITY 33") == 0);
@@ -1814,7 +1815,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015LF %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%015LF %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -INF 33") == 0
             || strcmp (result, "      -INFINITY 33") == 0);
@@ -2012,7 +2013,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%e %d", 1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%e %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -2023,7 +2024,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%e %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%e %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -2134,7 +2135,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015e %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%015e %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -2345,7 +2346,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%Le %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%Le %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -2356,7 +2357,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -2568,7 +2569,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015Le %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%015Le %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -2778,7 +2779,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%g %d", 1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%g %d", Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -2789,7 +2790,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%g %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%g %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -2893,7 +2894,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015g %d", -1.0 / 0.0, 33, 44, 55);
+      my_asprintf (&result, "%015g %d", - Infinityd (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);
@@ -3099,7 +3100,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Positive infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%Lg %d", 1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%Lg %d", Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "inf 33") == 0
             || strcmp (result, "infinity 33") == 0);
@@ -3110,7 +3111,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* Negative infinity.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "-inf 33") == 0
             || strcmp (result, "-infinity 33") == 0);
@@ -3315,7 +3316,7 @@ test_function (int (*my_asprintf) (char **, const char *, ...))
   { /* FLAG_ZERO with infinite number.  */
     char *result;
     int retval =
-      my_asprintf (&result, "%015Lg %d", -1.0L / 0.0L, 33, 44, 55);
+      my_asprintf (&result, "%015Lg %d", - Infinityl (), 33, 44, 55);
     ASSERT (result != NULL);
     ASSERT (strcmp (result, "           -inf 33") == 0
             || strcmp (result, "      -infinity 33") == 0);