divert(-1) # Name of system platform (for use in comments) define(`M4__SYSTEM', Linux) # transformation from fortran name to name of C module. Append an extra # underscore if the name contains an underscore. define(`NAMEF',`ifelse(index($1,_),-1,$1_,$1__)') define(`REALX',`') define(`INTEGERX',`') define(`FUNCTIONX',`') define(`DOUBLEX',`') # transformation from string name to corresponding argument name define(`STRINGF',`$1') # extra arguments, if any, for string length define(`STRINGX',`, $1_len') # one extra stringlen parameter # declaration to be used for argument name descriptor define(`STRINGD',` char *$1; `$2' int $1`'`_len';') # declare argument string with extra stringlen parameter define(`STRINGP',` char *$1') define(`STRINGPX',`, int $1_len') # declarations and initializations of canonical local variables define(`STRINGL',`') # FORTRAN declaration for a long integer (e.g. integer*4 for Microsoft) define(`LONG_INT',`integer') # FORTRAN declaration for a short integer (e.g. integer*2) define(`SHORT_INT',`integer*2') # FORTRAN declaration for an integer byte (e.g. integer*1 or byte) define(`BYTE_INT',`byte') # FORTRAN declaration for single precision define(`SINGLE_PRECISION',`real') # FORTRAN declaration for double precision (e.g. real for a Cray) define(`DOUBLE_PRECISION',`double precision') divert(0)dnl