summaryrefslogtreecommitdiff
path: root/numeric.c
diff options
context:
space:
mode:
Diffstat (limited to 'numeric.c')
-rw-r--r--numeric.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/numeric.c b/numeric.c
index 2c15e2fbe9..e3a1a8c458 100644
--- a/numeric.c
+++ b/numeric.c
@@ -30,6 +30,14 @@
#include <ieeefp.h>
#endif
+#if !defined HAVE_ISFINITE && !defined isfinite
+#if defined HAVE_FINITE && !defined finite && !defined _WIN32
+extern int finite(double);
+# define HAVE_ISFINITE 1
+# define isfinite(x) finite(x)
+#endif
+#endif
+
/* use IEEE 64bit values if not defined */
#ifndef FLT_RADIX
#define FLT_RADIX 2
@@ -1482,8 +1490,8 @@ flo_is_finite_p(VALUE num)
{
double value = RFLOAT_VALUE(num);
-#if HAVE_FINITE
- if (!finite(value))
+#if HAVE_ISFINITE
+ if (!isfinite(value))
return Qfalse;
#else
if (isinf(value) || isnan(value))