1*47943Sbostic /*- 2*47943Sbostic * Copyright (c) 1980 The Regents of the University of California. 3*47943Sbostic * All rights reserved. 42509Sdlw * 5*47943Sbostic * %sccs.include.proprietary.c% 6*47943Sbostic * 7*47943Sbostic * @(#)lio.h 5.4 (Berkeley) 04/12/91 823061Skre */ 923061Skre 1023061Skre /* 112509Sdlw * copy of ftypes from the compiler 122509Sdlw * variable types numeric assumptions: 132509Sdlw * int < reals < complexes 142509Sdlw * TYDREAL-TYREAL = TYDCOMPLEX-TYCOMPLEX 152509Sdlw */ 162509Sdlw 172509Sdlw #define TYUNKNOWN 0 182509Sdlw #define TYADDR 1 192509Sdlw #define TYSHORT 2 202509Sdlw #define TYLONG 3 212509Sdlw #define TYREAL 4 222509Sdlw #define TYDREAL 5 232509Sdlw #define TYCOMPLEX 6 242509Sdlw #define TYDCOMPLEX 7 252509Sdlw #define TYLOGICAL 8 262509Sdlw #define TYCHAR 9 272509Sdlw #define TYSUBR 10 282509Sdlw #define TYERROR 11 292509Sdlw 302509Sdlw #define NTYPES (TYERROR+1) 312509Sdlw 322509Sdlw #define LINE 80 332509Sdlw #define LINTW (strlen(buf)) 342509Sdlw #define LLOGW 3 352509Sdlw #define LSTRW (len+2) 362509Sdlw #define LLOW 1.0e-1 3741872Sbostic #define LHIGH 1.0e+6 /* 1.0e+LFD */ 3841872Sbostic #define LDHIGH 1.0e+14 /* 1.0e+LDFD */ 392509Sdlw #define LFD 6 402509Sdlw #define LFW (LFD+4) 412509Sdlw #define LDFD 14 422509Sdlw #define LDFW (LDFD+4) 432509Sdlw #define LED LFD 442509Sdlw #define LEW LFW+4 452509Sdlw #define LEE 2 462509Sdlw #define LDED LDFD 472509Sdlw #define LDEW LDFW+4 482509Sdlw #define LDEE 2 492509Sdlw #define LCW (width(a)+width(b)+5) 502509Sdlw #define LDCW (dwidth(a)+dwidth(b)+5) 512509Sdlw 522509Sdlw #define abs(z) (z<0?-z:z) 532509Sdlw #define width(z) ((z!=0.0 && (abs(z)>=LHIGH || abs(z)<LLOW))?LEW:LFW) 542509Sdlw #define dwidth(z) ((z!=0.0 && (abs(z)>=LDHIGH || abs(z)<LLOW))?LDEW:LDFW) 552509Sdlw #define ERR(x) if(n=(x)) err(n>0?errflag:endflag,n,"list io") 5624101Sjerry #define ERRCHK(x) if(n=(x)) goto got_err; 5724101Sjerry #define chk_len(w) if(recpos+w > line_len) PUT('\n'); 582509Sdlw 592509Sdlw typedef union 602509Sdlw { short flshort; 612509Sdlw ftnint flint; 622509Sdlw float flreal; 632509Sdlw double fldouble; 642509Sdlw } flex; 652509Sdlw 662509Sdlw extern int (*lioproc)(); 672509Sdlw extern flag leof; 682509Sdlw extern ioflag lquit,l_first; 692509Sdlw extern int lcount,line_len; 70