xref: /original-bsd/usr.bin/f77/pass1.vax/conv.h (revision 50dd0bba)
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