X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-round1.c;h=7bd6adb0e8732dd2a87c5680a491b200ba80c47c;hb=c0920188a9d9d5405cb9639d7ae07d9cae2161bf;hp=625b9ff3665b1c2d05b36015cf5114ba652d9e9e;hpb=b17d7ac7df62c7c7f56fe857ed28151d8b0e4e28;p=gnulib.git
diff --git a/tests/test-round1.c b/tests/test-round1.c
index 625b9ff36..7bd6adb0e 100644
--- a/tests/test-round1.c
+++ b/tests/test-round1.c
@@ -1,9 +1,9 @@
/* Test of rounding to nearest, breaking ties away from zero.
- Copyright (C) 2007-2008 Free Software Foundation, Inc.
+ Copyright (C) 2007-2014 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 2, or (at your option)
+ the Free Software Foundation; either version 3, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
@@ -12,8 +12,7 @@
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, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program; if not, see . */
/* Written by Ben Pfaff , 2007.
Based heavily on Bruno Haible's test-trunc.c. */
@@ -22,40 +21,21 @@
#include
-#include
-#include
+#include "signature.h"
+SIGNATURE_CHECK (round, double, (double));
-#include "isnand.h"
-
-#define ASSERT(expr) \
- do \
- { \
- if (!(expr)) \
- { \
- fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \
- abort (); \
- } \
- } \
- while (0)
-
-/* The Compaq (ex-DEC) C 6.4 compiler chokes on the expression 0.0 / 0.0. */
-#ifdef __DECC
-static double
-NaN ()
-{
- static double zero = 0.0;
- return zero / zero;
-}
-#else
-# define NaN() (0.0 / 0.0)
-#endif
+#include "isnand-nolibm.h"
+#include "minus-zero.h"
+#include "infinity.h"
+#include "nan.h"
+#include "macros.h"
int
main ()
{
/* Zero. */
ASSERT (round (0.0) == 0.0);
- ASSERT (round (-0.0) == 0.0);
+ ASSERT (round (minus_zerod) == 0.0);
/* Positive numbers. */
ASSERT (round (0.3) == 0.0);
ASSERT (round (0.5) == 1.0);
@@ -83,10 +63,10 @@ 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 (NaN ())));
+ ASSERT (isnand (round (NaNd ())));
return 0;
}