summaryrefslogtreecommitdiff
path: root/missing/isinf.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-12-20 15:45:15 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-12-20 15:45:15 +0000
commite91e9e7bbf1d93cdff89878b776a7824a9bc2d99 (patch)
treedb5ce495631901ac5458a7373cfcb0bae9e2fc56 /missing/isinf.c
parentbb4f36de3a032909c90f6fa72f2134f198958145 (diff)
* eval.c (rb_with_disable_interrupt): prohibit thread context
switch during proc execution. [ruby-dev:21899] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'missing/isinf.c')
-rw-r--r--missing/isinf.c28
1 files changed, 23 insertions, 5 deletions
diff --git a/missing/isinf.c b/missing/isinf.c
index 38772ba..1b09f11 100644
--- a/missing/isinf.c
+++ b/missing/isinf.c
@@ -9,16 +9,33 @@ int
isinf(n)
double n;
{
- if (IsNANorINF(n) && IsINF(n)) {
- return 1;
- } else {
- return 0;
- }
+ if (IsNANorINF(n) && IsINF(n)) {
+ return 1;
+ }
+ else {
+ return 0;
+ }
}
#else
#include "config.h"
+
+#if defined(HAVE_FINITE) && defined(HAVE_ISNAN)
+
+#ifdef HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
+
+int
+isinf(n)
+ double n;
+{
+ return (!finite(x) && !isnan(x))
+}
+
+#else
+
#ifdef HAVE_STRING_H
# include <string.h>
#else
@@ -44,3 +61,4 @@ isinf(n)
|| memcmp(&n, &ninf, sizeof n) == 0;
}
#endif
+#endif