summaryrefslogtreecommitdiff
path: root/missing
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
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')
-rw-r--r--missing/isinf.c28
-rw-r--r--missing/isnan.c24
2 files changed, 28 insertions, 24 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
diff --git a/missing/isnan.c b/missing/isnan.c
index df424c2..459048e 100644
--- a/missing/isnan.c
+++ b/missing/isnan.c
@@ -1,31 +1,17 @@
/* public domain rewrite of isnan(3) */
-#ifdef _MSC_VER
-
-#include <float.h>
-int
-isnan(n)
- double n;
-{
- return _isnan(n);
-}
-
-#else
-
static int double_ne();
int
isnan(n)
- double n;
+ double n;
{
- return double_ne(n, n);
+ return double_ne(n, n);
}
-static
-int
+static int
double_ne(n1, n2)
- double n1, n2;
+ double n1, n2;
{
- return n1 != n2;
+ return n1 != n2;
}
-#endif