]> git.lizzy.rs Git - plan9front.git/blob - 68020/include/ape/float.h
acid: fix dumptree() acid function to work in kernel debug, update malloc.acid and...
[plan9front.git] / 68020 / include / ape / float.h
1 #ifndef __FLOAT
2 #define __FLOAT
3 /* IEEE, default rounding */
4
5 #define FLT_ROUNDS      1
6 #define FLT_RADIX       2
7
8 #define FLT_DIG         6
9 #define FLT_EPSILON     1.19209290e-07
10 #define FLT_MANT_DIG    24
11 #define FLT_MAX         3.40282347e+38
12 #define FLT_MAX_10_EXP  38
13 #define FLT_MAX_EXP     128
14 #define FLT_MIN         1.17549435e-38
15 #define FLT_MIN_10_EXP  -37
16 #define FLT_MIN_EXP     -125
17
18 #define DBL_DIG         15
19 #define DBL_EPSILON     2.2204460492503131e-16
20 #define DBL_MANT_DIG    53
21 #define DBL_MAX         1.797693134862315708145e+308
22 #define DBL_MAX_10_EXP  308
23 #define DBL_MAX_EXP     1024
24 #define DBL_MIN         2.225073858507201383090233e-308
25 #define DBL_MIN_10_EXP  -307
26 #define DBL_MIN_EXP     -1021
27 #define LDBL_MANT_DIG   DBL_MANT_DIG
28 #define LDBL_EPSILON    DBL_EPSILON
29 #define LDBL_DIG        DBL_DIG
30 #define LDBL_MIN_EXP    DBL_MIN_EXP
31 #define LDBL_MIN        DBL_MIN
32 #define LDBL_MIN_10_EXP DBL_MIN_10_EXP
33 #define LDBL_MAX_EXP    DBL_MAX_EXP
34 #define LDBL_MAX        DBL_MAX
35 #define LDBL_MAX_10_EXP DBL_MAX_10_EXP
36
37
38 typedef         union FPdbleword FPdbleword;
39 union FPdbleword
40 {
41         double  x;
42         struct {        /* big endian */
43                 long hi;
44                 long lo;
45         };
46 };
47
48 #ifdef _RESEARCH_SOURCE
49 /* define order of longs in IEEE double: little endian */
50 #define IEEE_MC68k      1
51 #define Sudden_Underflow 1
52 #endif
53 #ifdef _PLAN9_SOURCE
54 /* FCR */
55 #define FPINEX  (3<<8)
56 #define FPOVFL  (1<<12)
57 #define FPUNFL  (1<<11)
58 #define FPZDIV  (1<<10)
59 #define FPRNR   (0<<4)
60 #define FPRZ    (1<<4)
61 #define FPRPINF (3<<4)
62 #define FPRNINF (2<<4)
63 #define FPRMASK (3<<4)
64 #define FPPEXT  (0<<6)
65 #define FPPSGL  (1<<6)
66 #define FPPDBL  (2<<6)
67 #define FPPMASK (3<<6)
68 /* FSR */
69 #define FPAINEX FPINEX
70 #define FPAOVFL FPOVFL
71 #define FPAUNFL FPUNFL
72 #define FPAZDIV FPZDIV
73 #endif
74 #endif /* __FLOAT */