|
|
1.1 root 1: /*
2: * h/i386/cc0mch.h
3: * Machine-specific definitions for the C compiler parser.
4: * i386.
5: */
6:
7: /*
8: * Some definitions for the portable floating point input code.
9: * Used by the multiprecision integer package.
10: * mch.h has set either IEEE or DECVAX to 1.
11: * Both formats use 8 byte double constants with the sign bit in the same place.
12: */
13:
14: #define NBIG 8 /* Loop limit, etc. */
15: typedef unsigned char BIG[NBIG]; /* Unsigned, holds 64 bits */
16: #define t5ne(n) ((n[0]&0370)!=0) /* Check if top 5 bits clear */
17: #define cbit(n) (((n)>>8)&0377) /* Get 'carry' for addition */
18: #define MSBBIG 0200 /* Top bit of each thing */
19:
20: #if IEEE
21: #define IROUND 6 /* IEEE format */
22: #define BROUND 010 /* 52 bits */
23: #define EXPBIAS 1023 /* binary exponent bias */
24: #define EXPMAX 2046 /* maximum biased binary exponent */
25: #else
26: #define IROUND 6 /* DEC VAX-11 format */
27: #define BROUND 01 /* 55 bits */
28: #define EXPBIAS 129 /* binary exponent bias */
29: #define EXPMAX 255 /* maximum biased binary exponent */
30: #endif
31:
32: /* This macro determines which bit field base types are promoted. */
33: #define doalign(t) 0
34:
35: /* end of h/i386/cc0mch.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.