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