xref: /original-bsd/usr.bin/f77/pass1.tahoe/conv.h (revision 1897046e)
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 TARGET != TAHOE
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.						   */
19 
20 #define	BLANK	' '
21 
22 #define MAXWORD  0x7fff
23 #define MINWORD -0x8000
24 
25 typedef
26   struct Dreal
27     {
28 #if HERE == VAX
29       unsigned fract1: 7;
30       unsigned exp: 8;
31       unsigned sign: 1;
32 #else
33 #if HERE == TAHOE
34       unsigned sign: 1;
35       unsigned exp: 8;
36       unsigned fract1: 7;
37 #else
38 	}}}}}	WRONG MACHINE!!!	}}}}}
39 #endif
40 #endif
41       unsigned fract2: 16;
42       unsigned short fract3;
43       unsigned short fract4;
44     }
45   dreal;
46 
47 typedef
48   struct Quad
49     {
50       long word1;
51       long word2;
52     }
53   quad;
54 
55 typedef
56   union RealValue
57     {
58       double d;
59       quad   q;
60       dreal  f;
61     }
62   realvalue;
63