summaryrefslogtreecommitdiff
path: root/libkern/nan-68000.c
diff options
context:
space:
mode:
Diffstat (limited to 'libkern/nan-68000.c')
-rw-r--r--libkern/nan-68000.c70
1 files changed, 0 insertions, 70 deletions
diff --git a/libkern/nan-68000.c b/libkern/nan-68000.c
deleted file mode 100644
index e1b3db36..00000000
--- a/libkern/nan-68000.c
+++ /dev/null
@@ -1,70 +0,0 @@
-#include <u.h>
-#include <libc.h>
-
-#define NANEXP (2047<<20)
-#define NANMASK (2047<<20)
-#define NANSIGN (1<<31)
-
-double
-NaN(void)
-{
- union
- {
- double d;
- long x[2];
- } a;
-
- a.x[0] = NANEXP;
- a.x[1] = 1;
- return a.d;
-}
-
-int
-isNaN(double d)
-{
- union
- {
- double d;
- long x[2];
- } a;
-
- a.d = d;
- if((a.x[0] & NANMASK) != NANEXP)
- return 0;
- return !isInf(d, 0);
-}
-
-double
-Inf(int sign)
-{
- union
- {
- double d;
- long x[2];
- } a;
-
- a.x[0] = NANEXP;
- a.x[1] = 0;
- if(sign < 0)
- a.x[0] |= NANSIGN;
- return a.d;
-}
-
-int
-isInf(double d, int sign)
-{
- union
- {
- double d;
- long x[2];
- } a;
-
- a.d = d;
- if(a.x[1] != 0)
- return 0;
- if(a.x[0] == NANEXP)
- return sign >= 0;
- if(a.x[0] == (NANEXP|NANSIGN))
- return sign <= 0;
- return 0;
-}