2 typedef unsigned short ushort;
3 typedef unsigned char uchar;
4 typedef unsigned long ulong;
5 typedef unsigned int uint;
6 typedef signed char schar;
7 typedef long long vlong;
8 typedef unsigned long long uvlong;
9 typedef unsigned long long uintptr;
10 typedef unsigned long usize;
12 typedef union FPdbleword FPdbleword;
13 typedef uintptr jmp_buf[2];
17 typedef unsigned int mpdigit; /* for /sys/include/mp.h */
18 typedef unsigned char u8int;
19 typedef unsigned short u16int;
20 typedef unsigned int u32int;
21 typedef unsigned long long u64int;
24 #define FPSFX (1<<31) /* exception summary (sticky) */
25 #define FPSEX (1<<30) /* enabled exception summary */
26 #define FPSVX (1<<29) /* invalid operation exception summary */
27 #define FPSOX (1<<28) /* overflow exception OX (sticky) */
28 #define FPSUX (1<<27) /* underflow exception UX (sticky) */
29 #define FPSZX (1<<26) /* zero divide exception ZX (sticky) */
30 #define FPSXX (1<<25) /* inexact exception XX (sticky) */
31 #define FPSVXSNAN (1<<24) /* invalid operation exception for SNaN (sticky) */
32 #define FPSVXISI (1<<23) /* invalid operation exception for ∞-∞ (sticky) */
33 #define FPSVXIDI (1<<22) /* invalid operation exception for ∞/∞ (sticky) */
34 #define FPSVXZDZ (1<<21) /* invalid operation exception for 0/0 (sticky) */
35 #define FPSVXIMZ (1<<20) /* invalid operation exception for ∞*0 (sticky) */
36 #define FPSVXVC (1<<19) /* invalid operation exception for invalid compare (sticky) */
37 #define FPSFR (1<<18) /* fraction rounded */
38 #define FPSFI (1<<17) /* fraction inexact */
39 #define FPSFPRF (1<<16) /* floating point result class */
40 #define FPSFPCC (0xF<<12) /* <, >, =, unordered */
41 #define FPVXCVI (1<<8) /* enable exception for invalid integer convert (sticky) */
42 #define FPVE (1<<7) /* invalid operation exception enable */
43 #define FPOVFL (1<<6) /* enable overflow exceptions */
44 #define FPUNFL (1<<5) /* enable underflow */
45 #define FPZDIV (1<<4) /* enable zero divide */
46 #define FPINEX (1<<3) /* enable inexact exceptions */
47 #define FPRMASK (3<<0) /* rounding mode */
50 #define FPRPINF (2<<0)
51 #define FPRNINF (3<<0)
62 #define FPAINVAL FPSVX
67 struct { /* big endian */
73 typedef char* va_list;
74 #define va_start(list, start) list =\
76 (char*)((vlong*)&(start)+1):\
80 #define va_arg(list, mode)\
81 ((sizeof(mode) == 1)?\
82 ((mode*)(list += 8))[-1]:\
84 ((mode*)(list += 8))[-1]:\
86 ((mode*)(list += 8))[-1]:\
87 ((mode*)(list += sizeof(mode)))[-1])