Use gsl_finite from GSL, which is portable, instead of isfinite, which
authorBen Pfaff <blp@gnu.org>
Fri, 8 Dec 2006 01:41:21 +0000 (01:41 +0000)
committerBen Pfaff <blp@gnu.org>
Fri, 8 Dec 2006 01:41:21 +0000 (01:41 +0000)
is not.

src/data/ChangeLog
src/data/data-out.c

index 3be6d529938102e7ddb2d963cef8e483b9a22cb8..29e97ff5091c02cf905fdc87777fb5baa5794969 100644 (file)
@@ -1,3 +1,11 @@
+Thu Dec  7 17:38:26 2006  Ben Pfaff  <blp@gnu.org>
+
+       Thanks to Jason Stover for pointing out this problem.
+       
+       * data-out.c (output_number): Use gsl_finite from GSL, which is
+       portable, instead of isfinite, which is not.
+       (power256) Ditto.
+
 Thu Dec  7 15:22:38 WST 2006 John Darrington <john@darrington.wattle.id.au>
 
        * variable.c variable.h (value_dup): New function.
index 8b94da03de39ea527a5ee4e65576a1144839a0c5..e7c709f678bfc1eaa49b331fabb6dfe2b278c525 100644 (file)
@@ -27,6 +27,7 @@
 #include <stdint.h>
 #include <stdlib.h>
 #include <time.h>
+#include <gsl/gsl_math.h>
 
 #include "calendar.h"
 #include "format.h"
@@ -153,7 +154,7 @@ output_number (const union value *input, const struct fmt_spec *format,
 
   if (number == SYSMIS)
     output_missing (format, output);
-  else if (!isfinite (number))
+  else if (!gsl_finite (number))
     output_infinite (number, format, output);
   else 
     {
@@ -951,7 +952,7 @@ power256 (int x)
 static void
 output_infinite (double number, const struct fmt_spec *format, char *output)
 {
-  assert (!isfinite (number));
+  assert (!gsl_finite (number));
   
   if (format->w >= 3)
     {