/* fortran.h.  Generated by configure.  */
/* $Id: fortran.h.in,v 1.1 1996/11/19 14:02:12 roitzsch Exp $ */

#ifndef FORTRAN_H
#define FORTRAN_H


#define FORTRANNOUNDERSCORE 0
#define FORTRANUNDERSCORE 1
#define FORTRANUPPERCASE 0

#if FORTRANNOUNDERSCORE==1
  #define F77NAME(x,X) x
#elif FORTRANUNDERSCORE==1
  #define F77NAME(x,X) x##_
#elif FORTRANUPPERCASE
  #define F77NAME(x,X) X
#else
  #define F77NAME(x,X) x
#endif

#define CRAYFTN 0
#define LSFTN 0

#if CRAYFTN==1
 #include <fortran.h>
 typedef _fcd FtnStrPar;
 #define StrParLen(s) (_fcdlen(s))
 #define StrParAdr(s) (_fcdtocp(s))
 #define DeclStrPar(name) _fcd name
 #define MakeStrPar(name,adr,len) name = _cptofcd(adr,len)
 #define UseStrPar(name) (name)
 #define UseStrParLng(name) (0)
#elif LSFTN==1
 struct FtnStr
  {
    char    *DataPtr;
    short    DataSize;
  };
 typedef struct FtnStr* FtnStrPar;
 #define StrParLen(s) (s->DataSize)
 #define StrParAdr(s) (s->DataPtr)
 #define DeclStrPar(name) struct FtnStrPar name
 #define MakeStrPar(name,adr,len) name->DataPtr=adr; name->DataSize=len
 #define UseStrPar(name) (&name)
 #define UseStrParLng(name) (0)
#else
 typedef char* FtnStrPar;
 #define StrParLen(s) (s##Lng)
 #define StrParAdr(s) (s)
 #define DeclStrPar(name) char *name; int name##Lng
 #define MakeStrPar(name,adr,len) name=adr; name##Lng=len
 #define UseStrPar(name) (name)
 #define UseStrParLng(name) (name##Lng)
#endif

#if CRAYFTN==1
 #define FtnLogical(b) (_btol(b))
#else
 #define FtnLogical(b) (b)
#endif

#endif


syntax highlighted by Code2HTML, v. 0.9.1