xref: /csrg-svn/usr.bin/f77/libI77/lio.h (revision 23061)
12509Sdlw /*
2*23061Skre  * Copyright (c) 1980 Regents of the University of California.
3*23061Skre  * All rights reserved.  The Berkeley software License Agreement
4*23061Skre  * specifies the terms and conditions for redistribution.
52509Sdlw  *
6*23061Skre  *	@(#)lio.h	5.1 (Berkeley) 06/07/85
7*23061Skre  */
8*23061Skre 
9*23061Skre /*
102509Sdlw  * copy of ftypes from the compiler
112509Sdlw  * variable types numeric assumptions:
122509Sdlw  *	int < reals < complexes
132509Sdlw  *	TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX
142509Sdlw  */
152509Sdlw 
162509Sdlw #define TYUNKNOWN 0
172509Sdlw #define TYADDR 1
182509Sdlw #define TYSHORT 2
192509Sdlw #define TYLONG 3
202509Sdlw #define TYREAL 4
212509Sdlw #define TYDREAL 5
222509Sdlw #define TYCOMPLEX 6
232509Sdlw #define TYDCOMPLEX 7
242509Sdlw #define TYLOGICAL 8
252509Sdlw #define TYCHAR 9
262509Sdlw #define TYSUBR 10
272509Sdlw #define TYERROR 11
282509Sdlw 
292509Sdlw #define NTYPES (TYERROR+1)
302509Sdlw 
312509Sdlw #define	LINE	80
322509Sdlw #define LINTW	(strlen(buf))
332509Sdlw #define	LLOGW	3
342509Sdlw #define LSTRW	(len+2)
352509Sdlw #define	LLOW	1.0e-1
362509Sdlw #define	LHIGH	1.0e+LFD
372509Sdlw #define LDHIGH	1.0e+LDFD
382509Sdlw #define	LFD	6
392509Sdlw #define	LFW	(LFD+4)
402509Sdlw #define LDFD	14
412509Sdlw #define LDFW	(LDFD+4)
422509Sdlw #define	LED	LFD
432509Sdlw #define	LEW	LFW+4
442509Sdlw #define	LEE	2
452509Sdlw #define LDED	LDFD
462509Sdlw #define LDEW	LDFW+4
472509Sdlw #define LDEE	2
482509Sdlw #define LCW	(width(a)+width(b)+5)
492509Sdlw #define LDCW	(dwidth(a)+dwidth(b)+5)
502509Sdlw 
512509Sdlw #define abs(z)	(z<0?-z:z)
522509Sdlw #define width(z) ((z!=0.0 && (abs(z)>=LHIGH || abs(z)<LLOW))?LEW:LFW)
532509Sdlw #define dwidth(z) ((z!=0.0 && (abs(z)>=LDHIGH || abs(z)<LLOW))?LDEW:LDFW)
542509Sdlw #define ERR(x)	if(n=(x)) err(n>0?errflag:endflag,n,"list io")
552509Sdlw 
562509Sdlw typedef union
572509Sdlw {	short	flshort;
582509Sdlw 	ftnint	flint;
592509Sdlw 	float	flreal;
602509Sdlw 	double	fldouble;
612509Sdlw } flex;
622509Sdlw 
632509Sdlw extern int (*lioproc)();
642509Sdlw extern flag leof;
652509Sdlw extern ioflag lquit,l_first;
662509Sdlw extern int lcount,line_len;
67