summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/missing/isinf.c
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_1_8_6/missing/isinf.c')
-rw-r--r--ruby_1_8_6/missing/isinf.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/ruby_1_8_6/missing/isinf.c b/ruby_1_8_6/missing/isinf.c
deleted file mode 100644
index c9e49c6795..0000000000
--- a/ruby_1_8_6/missing/isinf.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* public domain rewrite of isinf(3) */
-
-#ifdef __osf__
-
-#define _IEEE 1
-#include <nan.h>
-
-int
-isinf(n)
- double n;
-{
- if (IsNANorINF(n) && IsINF(n)) {
- return 1;
- }
- else {
- return 0;
- }
-}
-
-#else
-
-#include "config.h"
-
-#if defined(HAVE_FINITE) && defined(HAVE_ISNAN)
-
-#include <math.h>
-#ifdef HAVE_IEEEFP_H
-#include <ieeefp.h>
-#endif
-
-/*
- * isinf may be provided only as a macro.
- * ex. HP-UX, Solaris 10
- * http://www.gnu.org/software/automake/manual/autoconf/Function-Portability.html
- */
-#ifndef isinf
-int
-isinf(n)
- double n;
-{
- return (!finite(n) && !isnan(n));
-}
-#endif
-
-#else
-
-#ifdef HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
-static double zero() { return 0.0; }
-static double one() { return 1.0; }
-static double inf() { return one() / zero(); }
-
-int
-isinf(n)
- double n;
-{
- static double pinf = 0.0;
- static double ninf = 0.0;
-
- if (pinf == 0.0) {
- pinf = inf();
- ninf = -pinf;
- }
- return memcmp(&n, &pinf, sizeof n) == 0
- || memcmp(&n, &ninf, sizeof n) == 0;
-}
-#endif
-#endif