xref: /original-bsd/usr.bin/f77/libI77/lio.h (revision 6c57d260)
1 /*
2 char id_lio[] = "@(#)lio.h	1.1";
3  *
4  * copy of ftypes from the compiler
5  * variable types numeric assumptions:
6  *	int < reals < complexes
7  *	TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX
8  */
9 
10 #define TYUNKNOWN 0
11 #define TYADDR 1
12 #define TYSHORT 2
13 #define TYLONG 3
14 #define TYREAL 4
15 #define TYDREAL 5
16 #define TYCOMPLEX 6
17 #define TYDCOMPLEX 7
18 #define TYLOGICAL 8
19 #define TYCHAR 9
20 #define TYSUBR 10
21 #define TYERROR 11
22 
23 #define NTYPES (TYERROR+1)
24 
25 #define	LINE	80
26 #define LINTW	(strlen(buf))
27 #define	LLOGW	3
28 #define LSTRW	(len+2)
29 #define	LLOW	1.0e-1
30 #define	LHIGH	1.0e+LFD
31 #define LDHIGH	1.0e+LDFD
32 #define	LFD	6
33 #define	LFW	(LFD+4)
34 #define LDFD	14
35 #define LDFW	(LDFD+4)
36 #define	LED	LFD
37 #define	LEW	LFW+4
38 #define	LEE	2
39 #define LDED	LDFD
40 #define LDEW	LDFW+4
41 #define LDEE	2
42 #define LCW	(width(a)+width(b)+5)
43 #define LDCW	(dwidth(a)+dwidth(b)+5)
44 
45 #define abs(z)	(z<0?-z:z)
46 #define width(z) ((z!=0.0 && (abs(z)>=LHIGH || abs(z)<LLOW))?LEW:LFW)
47 #define dwidth(z) ((z!=0.0 && (abs(z)>=LDHIGH || abs(z)<LLOW))?LDEW:LDFW)
48 #define ERR(x)	if(n=(x)) err(n>0?errflag:endflag,n,"list io")
49 
50 typedef union
51 {	short	flshort;
52 	ftnint	flint;
53 	float	flreal;
54 	double	fldouble;
55 } flex;
56 
57 extern int (*lioproc)();
58 extern flag leof;
59 extern ioflag lquit,l_first;
60 extern int lcount,line_len;
61