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