fortran.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00038 #ifndef BASE_FORTRAN_H
00039 #define BASE_FORTRAN_H
00040
00041
00042
00044 typedef int f77_integer;
00046 typedef unsigned int f77_logical;
00048 typedef float f77_real;
00050 typedef double f77_double;
00051
00058 typedef int f77_ret_void;
00060 typedef f77_integer f77_ret_integer;
00062 typedef f77_logical f77_ret_logical;
00069 typedef f77_double f77_ret_real;
00071 typedef f77_double f77_ret_double;
00072
00074 typedef struct {
00075 f77_real re;
00076 f77_real im;
00077 } f77_complex;
00079 typedef struct {
00080 f77_double re;
00081 f77_double im;
00082 } f77_doublecomplex;
00083
00085 typedef long f77_str_len;
00086
00088 #define F77_FALSE ((f77_logical)0)
00089
00090 #define F77_TRUE (~F77_FALSE)
00091
00104 #define F77_FUNC(fname) fname ## _
00105
00106 #ifdef __cplusplus
00107 #define F77_UNKNOWN_ARGS ...
00108 #else
00109 #define F77_UNKNOWN_ARGS
00110 #endif
00111
00113 typedef f77_ret_integer (*f77_integer_func)( F77_UNKNOWN_ARGS );
00115 typedef f77_ret_logical (*f77_logical_func)( F77_UNKNOWN_ARGS );
00117 typedef f77_ret_real (*f77_real_func)( F77_UNKNOWN_ARGS );
00119 typedef f77_ret_double (*f77_double_func)( F77_UNKNOWN_ARGS );
00120
00121 #endif