diff options
Diffstat (limited to 'libkern/nan-68000.c')
| -rw-r--r-- | libkern/nan-68000.c | 70 |
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; -} |
