1 /* 2 * Copyright (c) 1980 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 * 6 * @(#)conv.h 5.1 (Berkeley) 06/07/85 7 */ 8 9 #if (HERE != VAX || TARGET != VAX) 10 }}}}} WRONG MACHINE!!! }}}}} 11 #endif 12 13 /* The code for converting the types of constants is not */ 14 /* portable. The problems involved in dealing with */ 15 /* features such as reserved operands and byte orderings */ 16 /* have proven very difficult to deal with in a portable */ 17 /* manner. Because of impending deadlines, I have put */ 18 /* off trying to achieve portability. */ 19 /* */ 20 /* -Robert Paul Corbett */ 21 /* 1983 May 1 */ 22 23 24 #define BLANK ' ' 25 26 #define MAXWORD 32767 27 #define MINWORD -32768 28 29 typedef 30 struct Dreal 31 { 32 unsigned fract1: 7; 33 unsigned exp: 8; 34 unsigned sign: 1; 35 unsigned fract2: 16; 36 unsigned fract3: 16; 37 unsigned fract4: 16; 38 } 39 dreal; 40 41 typedef 42 struct Quad 43 { 44 long word1; 45 long word2; 46 } 47 quad; 48 49 typedef 50 union RealValue 51 { 52 double d; 53 quad q; 54 dreal f; 55 } 56 realvalue; 57