Use isfinite, round modules from gnulib.
authorBen Pfaff <blp@gnu.org>
Sat, 3 Nov 2007 02:32:37 +0000 (02:32 +0000)
committerBen Pfaff <blp@gnu.org>
Sat, 3 Nov 2007 02:32:37 +0000 (02:32 +0000)
ChangeLog
Smake
src/data/ChangeLog
src/data/data-out.c

index 853b0724c8418efcd04ea0ce5bc55fa1a2b1158c..5768f68bf0674435766fb9d669a82c7fa25917bf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-11-02  Ben Pfaff  <blp@gnu.org>
+
+       * Smake (GNULIB_MODULES): Add isfinite, round modules.
+
 2007-10-12  Ben Pfaff  <blp@gnu.org>
 
        Use trunc module from gnulib instead of our home-grown solution.
diff --git a/Smake b/Smake
index d2dc497ab8067185061c5e7db83adc87de9694e5..aaf1ff90da4cf66ba579a0082e8a6db0aa473de0 100644 (file)
--- a/Smake
+++ b/Smake
@@ -24,6 +24,7 @@ GNULIB_MODULES = \
        getopt \
        gettext-h \
        gettimeofday \
+       isfinite \
        intprops \
        inttostr \
        linebreak \
@@ -42,6 +43,7 @@ GNULIB_MODULES = \
        printf-safe \
        progname \
        relocatable-prog \
+       round \
        snprintf \
        snprintf-posix \
        sprintf-posix \
index ad2d8287fb8e38e832cf9cf8d92de25b2048a5a3..6f116701363c5c048e2d6b125e27ca85dd142647 100644 (file)
@@ -1,3 +1,12 @@
+2007-11-02  Ben Pfaff  <blp@gnu.org>
+
+       * data-out.c (output_number): Use isfinite (from C99) instead of
+       gsl_isfinite, since we now have universal support for it in
+       gnulib.
+       (output_infinite): Ditto.
+       [!HAVE_ROUND] (round): Remove definition, since we now have a
+       replacement in gnulib.
+
 2007-10-27  John Darrington <john@darrington.wattle.id.au>
 
        * dictionary.c: Fixed bug in dict_clone, where the vardict.dict member
index 8091cefd6e5215c462ff98e82bc5b234b7ce1151..967f57eddc23bf2090360032d26fb20417b01728 100644 (file)
@@ -24,7 +24,6 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <time.h>
-#include <gsl/gsl_math.h>
 
 #include "calendar.h"
 #include "format.h"
@@ -150,7 +149,7 @@ output_number (const union value *input, const struct fmt_spec *format,
 
   if (number == SYSMIS)
     output_missing (format, output);
-  else if (!gsl_finite (number))
+  else if (!isfinite (number))
     output_infinite (number, format, output);
   else
     {
@@ -710,16 +709,6 @@ output_scientific (double number, const struct fmt_spec *format,
   return true;
 }
 \f
-#ifndef HAVE_ROUND
-/* Return X rounded to the nearest integer,
-   rounding ties away from zero. */
-static double
-round (double x)
-{
-  return x >= 0.0 ? floor (x + .5) : ceil (x - .5);
-}
-#endif /* !HAVE_ROUND */
-
 /* Returns true if the magnitude represented by R should be
    rounded up when chopped off at DECIMALS decimal places, false
    if it should be rounded down. */
@@ -948,7 +937,7 @@ power256 (int x)
 static void
 output_infinite (double number, const struct fmt_spec *format, char *output)
 {
-  assert (!gsl_finite (number));
+  assert (!isfinite (number));
 
   if (format->w >= 3)
     {