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 44typedef 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; 55extern int f__scale; 56#ifdef KR_headers 57extern int (*f__lioproc)(), (*l_getc)(), (*l_ungetc)(); 58extern int l_read(), l_write(); 59#else 60#ifdef __cplusplus 61extern "C" { 62#endif 63extern int (*f__lioproc)(ftnint*, char*, ftnlen, ftnint); 64extern int l_write(ftnint*, char*, ftnlen, ftnint); 65extern void x_wsne(cilist*); 66extern int c_le(cilist*), (*l_getc)(void), (*l_ungetc)(int,FILE*); 67extern int l_read(ftnint*,char*,ftnlen,ftnint); 68extern integer e_rsle(void), e_wsle(void), s_wsne(cilist*); 69extern int z_rnew(void); 70#ifdef __cplusplus 71 } 72#endif 73#endif 74extern ftnint L_len; 75