| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 | 
							- /* f2c.h  --  Standard Fortran to C header file */
 
- /**  barf  [ba:rf]  2.  "He suggested using FORTRAN, and everybody barfed."
 
- 	- From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
 
- #ifndef F2C_INCLUDE
 
- #define F2C_INCLUDE
 
- typedef long int integer;
 
- typedef unsigned long int uinteger;
 
- typedef char *address;
 
- typedef short int shortint;
 
- typedef float real;
 
- typedef double doublereal;
 
- typedef struct { real r, i; } complex;
 
- typedef struct { doublereal r, i; } doublecomplex;
 
- typedef long int logical;
 
- typedef short int shortlogical;
 
- typedef char logical1;
 
- typedef char integer1;
 
- #ifdef INTEGER_STAR_8	/* Adjust for integer*8. */
 
- typedef long long longint;		/* system-dependent */
 
- typedef unsigned long long ulongint;	/* system-dependent */
 
- #define qbit_clear(a,b)	((a) & ~((ulongint)1 << (b)))
 
- #define qbit_set(a,b)	((a) |  ((ulongint)1 << (b)))
 
- #endif
 
- #define TRUE_ (1)
 
- #define FALSE_ (0)
 
- /* Extern is for use with -E */
 
- #ifndef Extern
 
- #define Extern extern
 
- #endif
 
- /* I/O stuff */
 
- #ifdef f2c_i2
 
- /* for -i2 */
 
- typedef short flag;
 
- typedef short ftnlen;
 
- typedef short ftnint;
 
- #else
 
- typedef long int flag;
 
- typedef long int ftnlen;
 
- typedef long int ftnint;
 
- #endif
 
- /*external read, write*/
 
- typedef struct
 
- {	flag cierr;
 
- 	ftnint ciunit;
 
- 	flag ciend;
 
- 	char *cifmt;
 
- 	ftnint cirec;
 
- } cilist;
 
- /*internal read, write*/
 
- typedef struct
 
- {	flag icierr;
 
- 	char *iciunit;
 
- 	flag iciend;
 
- 	char *icifmt;
 
- 	ftnint icirlen;
 
- 	ftnint icirnum;
 
- } icilist;
 
- /*open*/
 
- typedef struct
 
- {	flag oerr;
 
- 	ftnint ounit;
 
- 	char *ofnm;
 
- 	ftnlen ofnmlen;
 
- 	char *osta;
 
- 	char *oacc;
 
- 	char *ofm;
 
- 	ftnint orl;
 
- 	char *oblnk;
 
- } olist;
 
- /*close*/
 
- typedef struct
 
- {	flag cerr;
 
- 	ftnint cunit;
 
- 	char *csta;
 
- } cllist;
 
- /*rewind, backspace, endfile*/
 
- typedef struct
 
- {	flag aerr;
 
- 	ftnint aunit;
 
- } alist;
 
- /* inquire */
 
- typedef struct
 
- {	flag inerr;
 
- 	ftnint inunit;
 
- 	char *infile;
 
- 	ftnlen infilen;
 
- 	ftnint	*inex;	/*parameters in standard's order*/
 
- 	ftnint	*inopen;
 
- 	ftnint	*innum;
 
- 	ftnint	*innamed;
 
- 	char	*inname;
 
- 	ftnlen	innamlen;
 
- 	char	*inacc;
 
- 	ftnlen	inacclen;
 
- 	char	*inseq;
 
- 	ftnlen	inseqlen;
 
- 	char 	*indir;
 
- 	ftnlen	indirlen;
 
- 	char	*infmt;
 
- 	ftnlen	infmtlen;
 
- 	char	*inform;
 
- 	ftnint	informlen;
 
- 	char	*inunf;
 
- 	ftnlen	inunflen;
 
- 	ftnint	*inrecl;
 
- 	ftnint	*innrec;
 
- 	char	*inblank;
 
- 	ftnlen	inblanklen;
 
- } inlist;
 
- #define VOID void
 
- union Multitype {	/* for multiple entry points */
 
- 	integer1 g;
 
- 	shortint h;
 
- 	integer i;
 
- 	/* longint j; */
 
- 	real r;
 
- 	doublereal d;
 
- 	complex c;
 
- 	doublecomplex z;
 
- 	};
 
- typedef union Multitype Multitype;
 
- /*typedef long int Long;*/	/* No longer used; formerly in Namelist */
 
- struct Vardesc {	/* for Namelist */
 
- 	char *name;
 
- 	char *addr;
 
- 	ftnlen *dims;
 
- 	int  type;
 
- 	};
 
- typedef struct Vardesc Vardesc;
 
- struct Namelist {
 
- 	char *name;
 
- 	Vardesc **vars;
 
- 	int nvars;
 
- 	};
 
- typedef struct Namelist Namelist;
 
- #define abs(x) ((x) >= 0 ? (x) : -(x))
 
- #define dabs(x) (doublereal)abs(x)
 
- #define min(a,b) ((a) <= (b) ? (a) : (b))
 
- #define max(a,b) ((a) >= (b) ? (a) : (b))
 
- #define dmin(a,b) (doublereal)min(a,b)
 
- #define dmax(a,b) (doublereal)max(a,b)
 
- #define bit_test(a,b)	((a) >> (b) & 1)
 
- #define bit_clear(a,b)	((a) & ~((uinteger)1 << (b)))
 
- #define bit_set(a,b)	((a) |  ((uinteger)1 << (b)))
 
- /* procedure parameter types for -A and -C++ */
 
- #define F2C_proc_par_types 1
 
- #ifdef __cplusplus
 
- typedef int /* Unknown procedure type */ (*U_fp)(...);
 
- typedef shortint (*J_fp)(...);
 
- typedef integer (*I_fp)(...);
 
- typedef real (*R_fp)(...);
 
- typedef doublereal (*D_fp)(...), (*E_fp)(...);
 
- typedef /* Complex */ VOID (*C_fp)(...);
 
- typedef /* Double Complex */ VOID (*Z_fp)(...);
 
- typedef logical (*L_fp)(...);
 
- typedef shortlogical (*K_fp)(...);
 
- typedef /* Character */ VOID (*H_fp)(...);
 
- typedef /* Subroutine */ int (*S_fp)(...);
 
- #else
 
- typedef int /* Unknown procedure type */ (*U_fp)();
 
- typedef shortint (*J_fp)();
 
- typedef integer (*I_fp)();
 
- typedef real (*R_fp)();
 
- typedef doublereal (*D_fp)(), (*E_fp)();
 
- typedef /* Complex */ VOID (*C_fp)();
 
- typedef /* Double Complex */ VOID (*Z_fp)();
 
- typedef logical (*L_fp)();
 
- typedef shortlogical (*K_fp)();
 
- typedef /* Character */ VOID (*H_fp)();
 
- typedef /* Subroutine */ int (*S_fp)();
 
- #endif
 
- /* E_fp is for real functions when -R is not specified */
 
- typedef VOID C_f;	/* complex function */
 
- typedef VOID H_f;	/* character function */
 
- typedef VOID Z_f;	/* double complex function */
 
- typedef doublereal E_f;	/* real function with -R not specified */
 
- /* undef any lower-case symbols that your C compiler predefines, e.g.: */
 
- #ifndef Skip_f2c_Undefs
 
- #undef cray
 
- #undef gcos
 
- #undef mc68010
 
- #undef mc68020
 
- #undef mips
 
- #undef pdp11
 
- #undef sgi
 
- #undef sparc
 
- #undef sun
 
- #undef sun2
 
- #undef sun3
 
- #undef sun4
 
- #undef u370
 
- #undef u3b
 
- #undef u3b2
 
- #undef u3b5
 
- #undef unix
 
- #undef vax
 
- #endif
 
- #endif
 
 
  |