⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cforthdf.h

📁 GIS系统支持库Geospatial Data Abstraction Library代码.GDAL is a translator library for raster geospatial dat
💻 H
📖 第 1 页 / 共 5 页
字号:
#define INT_BYTEVVV                  INT_DOUBLEVVV#define INT_BYTEVVVV                 INT_DOUBLEVVVV#define INT_BYTEVVVVV                INT_DOUBLEVVVVV#define INT_BYTEVVVVVV               INT_DOUBLEVVVVVV#define INT_BYTEVVVVVVV              INT_DOUBLEVVVVVVV#define INT_DOUBLEV(      N,A,B,Y,Z) CFARGS##N(A,INTV,B,Y,Z,0)#define INT_DOUBLEVV(     N,A,B,Y,Z) CFARGS##N(A,INTVV,B,Y,Z,0)#define INT_DOUBLEVVV(    N,A,B,Y,Z) CFARGS##N(A,INTVVV,B,Y,Z,0)#define INT_DOUBLEVVVV(   N,A,B,Y,Z) CFARGS##N(A,INTVVVV,B,Y,Z,0)#define INT_DOUBLEVVVVV(  N,A,B,Y,Z) CFARGS##N(A,INTVVVVV,B,Y,Z,0)#define INT_DOUBLEVVVVVV( N,A,B,Y,Z) CFARGS##N(A,INTVVVVVV,B,Y,Z,0)#define INT_DOUBLEVVVVVVV(N,A,B,Y,Z) CFARGS##N(A,INTVVVVVVV,B,Y,Z,0)#define INT_FLOATV                   INT_DOUBLEV#define INT_FLOATVV                  INT_DOUBLEVV#define INT_FLOATVVV                 INT_DOUBLEVVV#define INT_FLOATVVVV                INT_DOUBLEVVVV#define INT_FLOATVVVVV               INT_DOUBLEVVVVV#define INT_FLOATVVVVVV              INT_DOUBLEVVVVVV#define INT_FLOATVVVVVVV             INT_DOUBLEVVVVVVV#define INT_INTV                     INT_DOUBLEV#define INT_INTVV                    INT_DOUBLEVV#define INT_INTVVV                   INT_DOUBLEVVV#define INT_INTVVVV                  INT_DOUBLEVVVV#define INT_INTVVVVV                 INT_DOUBLEVVVVV#define INT_INTVVVVVV                INT_DOUBLEVVVVVV#define INT_INTVVVVVVV               INT_DOUBLEVVVVVVV#define INT_LOGICALV                 INT_DOUBLEV#define INT_LOGICALVV                INT_DOUBLEVV#define INT_LOGICALVVV               INT_DOUBLEVVV#define INT_LOGICALVVVV              INT_DOUBLEVVVV#define INT_LOGICALVVVVV             INT_DOUBLEVVVVV#define INT_LOGICALVVVVVV            INT_DOUBLEVVVVVV#define INT_LOGICALVVVVVVV           INT_DOUBLEVVVVVVV#define INT_LONGV                    INT_DOUBLEV#define INT_LONGVV                   INT_DOUBLEVV#define INT_LONGVVV                  INT_DOUBLEVVV#define INT_LONGVVVV                 INT_DOUBLEVVVV#define INT_LONGVVVVV                INT_DOUBLEVVVVV#define INT_LONGVVVVVV               INT_DOUBLEVVVVVV#define INT_LONGVVVVVVV              INT_DOUBLEVVVVVVV#define INT_SHORTV                   INT_DOUBLEV#define INT_SHORTVV                  INT_DOUBLEVV#define INT_SHORTVVV                 INT_DOUBLEVVV#define INT_SHORTVVVV                INT_DOUBLEVVVV#define INT_SHORTVVVVV               INT_DOUBLEVVVVV#define INT_SHORTVVVVVV              INT_DOUBLEVVVVVV#define INT_SHORTVVVVVVV             INT_DOUBLEVVVVVVV#define INT_PVOID(        N,A,B,Y,Z) CFARGS##N(A,B,B,Y,Z,0)#define INT_ROUTINE                  INT_PVOID/*CRAY coughs on the first, i.e. the usual trouble of not being able to  define macros to macros with arguments. *//*#define INT_SIMPLE                   INT_PVOID*/#define INT_SIMPLE(       N,A,B,Y,Z) INT_PVOID(N,A,B,Y,Z)#define INT_VOID                     INT_PVOID#define INT_STRING                   INT_PVOID#define INT_STRINGV                  INT_PVOID#define INT_PSTRING                  INT_PVOID#define INT_PSTRINGV                 INT_PVOID#define INT_PNSTRING                 INT_PVOID#define INT_PPSTRING                 INT_PVOID#define INT_ZTRINGV                  INT_PVOID#define INT_PZTRINGV                 INT_PVOID#define INT_STRVOID                   INT_PVOID#define INT_CF_0(         N,A,B,Y,Z)                         #define   UCF(TN,I,C)  _SEP_(TN,C,COMMA) _INT(2,U,TN,A##I,0)#define  UUCF(TN,I,C)  _SEP_(TN,C,COMMA) _SEP_(TN,1,I) #define UUUCF(TN,I,C)  _SEP_(TN,C,COLON) _INT(2,U,TN,A##I,0)#define UINT(       T,A) typeP##T##VVVVVVV  A#define UINTV(      T,A) typeP##T##VVVVVV  *A#define UINTVV(     T,A) typeP##T##VVVVV   *A#define UINTVVV(    T,A) typeP##T##VVVV    *A#define UINTVVVV(   T,A) typeP##T##VVV     *A#define UINTVVVVV(  T,A) typeP##T##VV      *A#define UINTVVVVVV( T,A) typeP##T##V       *A#define UINTVVVVVVV(T,A) typeP##T            *A#define UPINT(      T,A)  type##T##VVVVVVV *A#define UPVOID(     T,A) void *A #define UROUTINE(   T,A) void (*A)() #define UVOID(      T,A) void  A     /* Needed for C calls FORTRAN subroutines. */#define USTRING(    T,A) char *A     /*            via VOID and wrapper.        */#define USTRINGV(   T,A) char *A#define UPSTRING(   T,A) char *A#define UPSTRINGV(  T,A) char *A#define UZTRINGV(   T,A) char *A#define UPZTRINGV(  T,A) char *A/* VOID breaks U into U and UU. */#define UUINT(      T,A) typeP##T##VVVVVVV  A#define UUVOID(     T,A)           /* Needed for FORTRAN calls C subroutines. */#define UUSTRING(   T,A) char *A /* Sun and VOID break U into U and PU. */#define PUBYTE(      A) INTEGER_BYTE     A#define PUDOUBLE(    A) DOUBLE_PRECISION A#ifndef sunFortran#define PUFLOAT(     A) float   A#else#define PUFLOAT(     A) FLOATFUNCTIONTYPE   A#endif#define PUINT(       A) int     A#define PULOGICAL(   A) int     A#define PULONG(      A) long    A#define PUSHORT(     A) short   A#define PUSTRING(    A) char   *A #define PUVOID(      A) void    A#define EBYTE          INTEGER_BYTE     A0;#define EDOUBLE        DOUBLE_PRECISION A0;#ifndef sunFortran#define EFLOAT         float  A0;#else#define EFLOAT         float AA0;   FLOATFUNCTIONTYPE A0;#endif#define EINT           int    A0;#define ELOGICAL       int    A0;#define ELONG          long   A0;#define ESHORT         short  A0;#define EVOID#ifdef vmsFortran#define ESTRING        static char AA0[MAX_LEN_FORTRAN_FUNCTION_STRING+1];     \                       static fstring A0 =                                     \             {MAX_LEN_FORTRAN_FUNCTION_STRING,DSC$K_DTYPE_T,DSC$K_CLASS_S,AA0};\               memset(AA0, CFORTRAN_NON_CHAR, MAX_LEN_FORTRAN_FUNCTION_STRING);\                                    *(AA0+MAX_LEN_FORTRAN_FUNCTION_STRING)='\0';#else#ifdef CRAYFortran#define ESTRING        static char AA0[MAX_LEN_FORTRAN_FUNCTION_STRING+1];     \                   static _fcd A0; *(AA0+MAX_LEN_FORTRAN_FUNCTION_STRING)='\0';\                memset(AA0,CFORTRAN_NON_CHAR, MAX_LEN_FORTRAN_FUNCTION_STRING);\                            A0 = _cptofcd(AA0,MAX_LEN_FORTRAN_FUNCTION_STRING);#else#define ESTRING        static char A0[MAX_LEN_FORTRAN_FUNCTION_STRING+1];      \                       memset(A0, CFORTRAN_NON_CHAR,                           \                              MAX_LEN_FORTRAN_FUNCTION_STRING);                \                       *(A0+MAX_LEN_FORTRAN_FUNCTION_STRING)='\0';#endif#endif/* ESTRING must use static char. array which is guaranteed to exist after   function returns.                                                     *//* N.B.i) The diff. for 0 (Zero) and >=1 arguments.       ii)That the following create an unmatched bracket, i.e. '(', which          must of course be matched in the call.       iii)Commas must be handled very carefully                         */#define GZINT(    T,UN,LN) A0=CFC_(UN,LN)(#define GZVOID(   T,UN,LN)    CFC_(UN,LN)(#ifdef vmsFortran#define GZSTRING( T,UN,LN)    CFC_(UN,LN)(&A0#else#ifdef CRAYFortran#define GZSTRING( T,UN,LN)    CFC_(UN,LN)( A0#else#define GZSTRING( T,UN,LN)    CFC_(UN,LN)( A0,MAX_LEN_FORTRAN_FUNCTION_STRING#endif#endif#define GINT               GZINT#define GVOID              GZVOID#define GSTRING(  T,UN,LN) GZSTRING(T,UN,LN),#define    PPBYTEVVVVVVV#define     PPINTVVVVVVV     /* These complement PPFLOATVVVVVVV. */#define  PPDOUBLEVVVVVVV#define PPLOGICALVVVVVVV#define    PPLONGVVVVVVV#define   PPSHORTVVVVVVV#define BCF(TN,AN,C)   _SEP_(TN,C,COMMA) _INT(2,B,TN,AN,0)#define BINT(       T,A) (typeP##T##VVVVVVV) A#define BINTV(      T,A)            A#define BINTVV(     T,A)           (A)[0]#define BINTVVV(    T,A)           (A)[0][0]#define BINTVVVV(   T,A)           (A)[0][0][0]#define BINTVVVVV(  T,A)           (A)[0][0][0][0]#define BINTVVVVVV( T,A)           (A)[0][0][0][0][0]#define BINTVVVVVVV(T,A)           (A)[0][0][0][0][0][0]#define BPINT(      T,A) P##T##VVVVVVV  &A#define BSTRING(    T,A) (char *)   A#define BSTRINGV(   T,A) (char *)   A#define BPSTRING(   T,A) (char *)   A#define BPSTRINGV(  T,A) (char *)   A#define BPVOID(     T,A) (void *)   A#define BROUTINE(   T,A) (void(*)())A#define BZTRINGV(   T,A) (char *)   A#define BPZTRINGV(  T,A) (char *)   A                                                              	#define ZCF(TN,N,AN)   _INT(3,Z,TN,N,AN)#define ZINT(       T,I,A) (__cfztringv[I]=(int)A),#define ZPINT              ZINT#define ZINTV(      T,I,A)#define ZINTVV(     T,I,A)#define ZINTVVV(    T,I,A)#define ZINTVVVV(   T,I,A)#define ZINTVVVVV(  T,I,A)#define ZINTVVVVVV( T,I,A)#define ZINTVVVVVVV(T,I,A)#define ZSTRING(    T,I,A)#define ZSTRINGV(   T,I,A)#define ZPSTRING(   T,I,A)#define ZPSTRINGV(  T,I,A)#define ZPVOID(     T,I,A)#define ZROUTINE(   T,I,A)#define ZSIMPLE(    T,I,A)#define ZZTRINGV(   T,I,A)#define ZPZTRINGV(  T,I,A)#define SCF(TN,NAME,I,A) STR_##TN(3,S,NAME,I,A,0)#define SLOGICAL( M,I,A)#define SPLOGICAL(M,I,A)#define SSTRING(  M,I,A) ,sizeof(A)#define SSTRINGV( M,I,A) ,( (unsigned)0xFFFF*firstindexlength(A)               \                             +secondindexlength(A))#define SPSTRING( M,I,A) ,sizeof(A)#define SPSTRINGV          SSTRINGV#define SZTRINGV( M,I,A) ,( (unsigned)0xFFFF*M##_ELEMS_##I                 \                             +M##_ELEMLEN_##I+1)#define SPZTRINGV        SZTRINGV#define   HCF(TN,I)      STR_##TN(3,H,COMMA, H,C##I,0)#define  HHCF(TN,I)      STR_##TN(3,H,COMMA,HH,C##I,0)#define HHHCF(TN,I)      STR_##TN(3,H,COLON, H,C##I,0)#define  H_CF_SPECIAL    unsigned#define HH_CF_SPECIAL#define HLOGICAL( S,U,B)#define HPLOGICAL(S,U,B)#define HSTRING(  S,U,B) A##S U##_CF_SPECIAL B#define HSTRINGV         HSTRING    #define HPSTRING         HSTRING#define HPSTRINGV        HSTRING#define HPNSTRING        HSTRING#define HPPSTRING        HSTRING#define HSTRVOID          HSTRING#define HZTRINGV         HSTRING#define HPZTRINGV        HSTRING#define STR_BYTE(          N,T,A,B,C,D)#define STR_DOUBLE(        N,T,A,B,C,D)      /* Can't add spaces inside       */#define STR_FLOAT(         N,T,A,B,C,D)      /* expansion since it screws up  */#define STR_INT(           N,T,A,B,C,D)      /* macro catenation kludge.      */#define STR_LOGICAL(       N,T,A,B,C,D) CFARGS##N(T,LOGICAL,A,B,C,D)#define STR_LONG(          N,T,A,B,C,D)#define STR_SHORT(         N,T,A,B,C,D)#define STR_BYTEV(         N,T,A,B,C,D)#define STR_BYTEVV(        N,T,A,B,C,D)#define STR_BYTEVVV(       N,T,A,B,C,D)#define STR_BYTEVVVV(      N,T,A,B,C,D)#define STR_BYTEVVVVV(     N,T,A,B,C,D)#define STR_BYTEVVVVVV(    N,T,A,B,C,D)#define STR_BYTEVVVVVVV(   N,T,A,B,C,D)#define STR_DOUBLEV(       N,T,A,B,C,D)#define STR_DOUBLEVV(      N,T,A,B,C,D)#define STR_DOUBLEVVV(     N,T,A,B,C,D)#define STR_DOUBLEVVVV(    N,T,A,B,C,D)#define STR_DOUBLEVVVVV(   N,T,A,B,C,D)#define STR_DOUBLEVVVVVV(  N,T,A,B,C,D)#define STR_DOUBLEVVVVVVV( N,T,A,B,C,D)#define STR_FLOATV(        N,T,A,B,C,D)#define STR_FLOATVV(       N,T,A,B,C,D)#define STR_FLOATVVV(      N,T,A,B,C,D)#define STR_FLOATVVVV(     N,T,A,B,C,D)#define STR_FLOATVVVVV(    N,T,A,B,C,D)#define STR_FLOATVVVVVV(   N,T,A,B,C,D)#define STR_FLOATVVVVVVV(  N,T,A,B,C,D)#define STR_INTV(          N,T,A,B,C,D)#define STR_INTVV(         N,T,A,B,C,D)#define STR_INTVVV(        N,T,A,B,C,D)#define STR_INTVVVV(       N,T,A,B,C,D)#define STR_INTVVVVV(      N,T,A,B,C,D)#define STR_INTVVVVVV(     N,T,A,B,C,D)#define STR_INTVVVVVVV(    N,T,A,B,C,D)#define STR_LOGICALV(      N,T,A,B,C,D)#define STR_LOGICALVV(     N,T,A,B,C,D)#define STR_LOGICALVVV(    N,T,A,B,C,D)#define STR_LOGICALVVVV(   N,T,A,B,C,D)#define STR_LOGICALVVVVV(  N,T,A,B,C,D)#define STR_LOGICALVVVVVV( N,T,A,B,C,D)#define STR_LOGICALVVVVVVV(N,T,A,B,C,D)#define STR_LONGV(         N,T,A,B,C,D)#define STR_LONGVV(        N,T,A,B,C,D)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -