1 /*	copy of ftypes from the compiler */
2 /* variable types
3  * numeric assumptions:
4  *	int < reals < complexes
5  *	TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX
6  */
7 
8 /* 0-10 retain their old (pre LOGICAL*1, etc.) */
9 /* values to allow mixing old and new objects. */
10 
11 #define TYUNKNOWN 0
12 #define TYADDR 1
13 #define TYSHORT 2
14 #define TYLONG 3
15 #define TYREAL 4
16 #define TYDREAL 5
17 #define TYCOMPLEX 6
18 #define TYDCOMPLEX 7
19 #define TYLOGICAL 8
20 #define TYCHAR 9
21 #define TYSUBR 10
22 #define TYINT1 11
23 #define TYLOGICAL1 12
24 #define TYLOGICAL2 13
25 #ifdef Allow_TYQUAD
26 #undef TYQUAD
27 #define TYQUAD 14
28 #endif
29 
30 #define	LINTW	24
31 #define	LINE	80
32 #define	LLOGW	2
33 #ifdef Old_list_output
34 #define	LLOW	1.0
35 #define	LHIGH	1.e9
36 #define	LEFMT	" %# .8E"
37 #define	LFFMT	" %# .9g"
38 #else
39 #define	LGFMT	"%.9G"
40 #endif
41 /* LEFBL 20 should suffice; 24 overcomes a NeXT bug. */
42 #define	LEFBL	24
43 
44 typedef union
45 {
46 	char	flchar;
47 	short	flshort;
48 	ftnint	flint;
49 #ifdef Allow_TYQUAD
50 	longint fllongint;
51 #endif
52 	real	flreal;
53 	doublereal	fldouble;
54 } flex;
55 #ifdef KR_headers
56 extern int (*f__lioproc)(), (*l_getc)(), (*l_ungetc)();
57 extern int l_read(), l_write();
58 #else
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 extern int (*f__lioproc)(ftnint*, char*, ftnlen, ftnint);
63 extern int l_write(ftnint*, char*, ftnlen, ftnint);
64 extern void x_wsne(cilist*);
65 extern int c_le(cilist*), (*l_getc)(void), (*l_ungetc)(int,FILE*);
66 extern int l_read(ftnint*,char*,ftnlen,ftnint);
67 extern integer e_rsle(void), e_wsle(void), s_wsne(cilist*);
68 extern int z_rnew(void);
69 #endif
70 extern ftnint L_len;
71 extern int f__scale;
72 #ifdef __cplusplus
73 	}
74 #endif
75