1 #if TARGET != TAHOE 2 }}}}} WRONG MACHINE!!! }}}}} 3 #endif 4 5 /* The code for converting the types of constants is not */ 6 /* portable. The problems involved in dealing with */ 7 /* features such as reserved operands and byte orderings */ 8 /* have proven very difficult to deal with in a portable */ 9 /* manner. */ 10 11 #define BLANK ' ' 12 13 #define MAXWORD 0x7fff 14 #define MINWORD -0x8000 15 16 typedef 17 struct Dreal 18 { 19 #if HERE == VAX 20 unsigned fract1: 7; 21 unsigned exp: 8; 22 unsigned sign: 1; 23 #else 24 #if HERE == TAHOE 25 unsigned sign: 1; 26 unsigned exp: 8; 27 unsigned fract1: 7; 28 #else 29 }}}}} WRONG MACHINE!!! }}}}} 30 #endif 31 #endif 32 unsigned fract2: 16; 33 unsigned short fract3; 34 unsigned short fract4; 35 } 36 dreal; 37 38 typedef 39 struct Quad 40 { 41 long word1; 42 long word2; 43 } 44 quad; 45 46 typedef 47 union RealValue 48 { 49 double d; 50 quad q; 51 dreal f; 52 } 53 realvalue; 54