Use gsl_isnan instead of isnan, gsl_isinf instead of isinf, and
[pspp-builds.git] / src / language / control / loop.c
index ea020a250dd3b8fbca1702b2ff598f8c85718142..c6309d42186fa814428d5ca8cb5016ebe4ee6003 100644 (file)
@@ -17,6 +17,9 @@
 #include <config.h>
 
 #include "control-stack.h"
+
+#include <gsl/gsl_math.h>
+
 #include <data/case.h>
 #include <data/dictionary.h>
 #include <data/procedure.h>
@@ -320,7 +323,8 @@ loop_trns_proc (void *loop_, struct ccase *c, casenumber case_num)
       case_data_rw (c, loop->index_var)->f = loop->cur;
 
       /* Throw out pathological cases. */
-      if (!finite (loop->cur) || !finite (loop->by) || !finite (loop->last)
+      if (!gsl_finite (loop->cur) || !gsl_finite (loop->by)
+          || !gsl_finite (loop->last)
           || loop->by == 0.0
           || (loop->by > 0.0 && loop->cur > loop->last)
           || (loop->by < 0.0 && loop->cur < loop->last))