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