|
|
1.1 root 1:
2: #if (HERE != VAX || TARGET != VAX)
3: }}}}} WRONG MACHINE!!! }}}}}
4: #endif
5:
6: /* The code for converting the types of constants is not */
7: /* portable. The problems involved in dealing with */
8: /* features such as reserved operands and byte orderings */
9: /* have proven very difficult to deal with in a portable */
10: /* manner. Because of impending deadlines, I have put */
11: /* off trying to achieve portability. */
12: /* */
13: /* -Robert Paul Corbett */
14: /* 1983 May 1 */
15:
16:
17: #define BLANK ' '
18:
19: #define MAXWORD 32767
20: #define MINWORD -32768
21:
22: typedef
23: struct Dreal
24: {
25: unsigned fract1: 7;
26: unsigned exp: 8;
27: unsigned sign: 1;
28: unsigned fract2: 16;
29: unsigned fract3: 16;
30: unsigned fract4: 16;
31: }
32: dreal;
33:
34: typedef
35: struct Quad
36: {
37: long word1;
38: long word2;
39: }
40: quad;
41:
42: typedef
43: union RealValue
44: {
45: double d;
46: quad q;
47: dreal f;
48: }
49: realvalue;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.