00001
00002
00003
00004
00005 #ifndef __CFORTRAN_LOADED
00006 #define __CFORTRAN_LOADED
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
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068 #ifndef LONGLONG_TYPE
00069 #if defined(_MSC_VER)
00070
00071 #if (_MSC_VER < 1300)
00072 typedef __int64 LONGLONG;
00073 #else
00074 typedef long long LONGLONG;
00075 #endif
00076
00077 #else
00078 typedef long long LONGLONG;
00079 #endif
00080
00081 #define LONGLONG_TYPE
00082 #endif
00083
00084
00085
00086
00087 #ifndef ANSI_C_preprocessor
00088 #ifdef __CF__KnR
00089 #define ANSI_C_preprocessor 0
00090 #else
00091 #ifdef __STDC__
00092 #define ANSI_C_preprocessor 1
00093 #else
00094 #define _cfleft 1
00095 #define _cfright
00096 #define _cfleft_cfright 0
00097 #define ANSI_C_preprocessor _cfleft_cfright
00098 #endif
00099 #endif
00100 #endif
00101
00102 #if ANSI_C_preprocessor
00103 #define _0(A,B) A##B
00104 #define _(A,B) _0(A,B)
00105 #define _2(A,B) A##B
00106 #define _3(A,B,C) _(A,_(B,C))
00107 #else
00108 #define _(A,B) AB
00109 #define _2(A,B) AB
00110 #define _3(A,B,C) ABC
00111 #endif
00112
00113 #if (defined(vax)&&defined(unix)) || (defined(__vax__)&&defined(__unix__))
00114 #define VAXUltrix
00115 #endif
00116
00117 #include <stdio.h>
00118 #include <string.h>
00119 #if !( defined(VAXUltrix) || defined(sun) || (defined(apollo)&&!defined(__STDCPP__)) )
00120 #include <stdlib.h>
00121 #else
00122 #include <malloc.h>
00123 #ifdef apollo
00124 #define __CF__APOLLO67
00125 #endif
00126 #endif
00127
00128 #if !defined(__GNUC__) && !defined(__sun) && (defined(sun)||defined(VAXUltrix)||defined(lynx))
00129 #define __CF__KnR
00130
00131 #endif
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144 #if defined(CLIPPERFortran) || defined(pgiFortran) || defined(__INTEL_COMPILER) || defined(INTEL_COMPILER) || defined(gFortran)
00145 #define f2cFortran
00146 #endif
00147
00148
00149
00150 #if !(defined(NAGf90Fortran)||defined(f2cFortran)||defined(hpuxFortran)||defined(apolloFortran)||defined(sunFortran)||defined(IBMR2Fortran)||defined(CRAYFortran))
00151 #if !(defined(mipsFortran)||defined(DECFortran)||defined(vmsFortran)||defined(CONVEXFortran)||defined(PowerStationFortran)||defined(AbsoftUNIXFortran)||defined(AbsoftProFortran)||defined(SXFortran))
00152
00153 #if defined(lynx) || defined(VAXUltrix)
00154 #define f2cFortran
00155
00156
00157
00158 #endif
00159
00160
00161 #if defined(WIN32) && !defined(__CYGWIN__)
00162 #define PowerStationFortran
00163 #define VISUAL_CPLUSPLUS
00164 #endif
00165 #if defined(g77Fortran)
00166 #define f2cFortran
00167 #endif
00168 #if defined(__CYGWIN__)
00169 #define f2cFortran
00170 #endif
00171 #if defined(__GNUC__) && defined(linux)
00172 #define f2cFortran
00173 #endif
00174 #if defined(macintosh)
00175 #define f2cFortran
00176 #endif
00177 #if defined(__APPLE__)
00178 #define f2cFortran
00179 #endif
00180 #if defined(__FreeBSD__)
00181 #define f2cFortran
00182 #endif
00183 #if defined(__hpux)
00184 #define hpuxFortran
00185 #endif
00186 #if defined(apollo)
00187 #define apolloFortran
00188 #endif
00189 #if defined(sun) || defined(__sun)
00190 #define sunFortran
00191 #endif
00192 #if defined(_IBMR2)
00193 #define IBMR2Fortran
00194 #endif
00195 #if defined(_CRAY)
00196 #define CRAYFortran
00197 #endif
00198 #if defined(_SX)
00199 #define SXFortran
00200 #endif
00201 #if defined(mips) || defined(__mips)
00202 #define mipsFortran
00203 #endif
00204 #if defined(vms) || defined(__vms)
00205 #define vmsFortran
00206 #endif
00207 #if defined(__alpha) && defined(__unix__)
00208 #define DECFortran
00209 #endif
00210 #if defined(__convex__)
00211 #define CONVEXFortran
00212 #endif
00213 #if defined(VISUAL_CPLUSPLUS)
00214 #define PowerStationFortran
00215 #endif
00216 #endif
00217 #endif
00218
00219
00220 #if !(defined(NAGf90Fortran)||defined(f2cFortran)||defined(hpuxFortran)||defined(apolloFortran)||defined(sunFortran)||defined(IBMR2Fortran)||defined(CRAYFortran))
00221 #if !(defined(mipsFortran)||defined(DECFortran)||defined(vmsFortran)||defined(CONVEXFortran)||defined(PowerStationFortran)||defined(AbsoftUNIXFortran)||defined(AbsoftProFortran)||defined(SXFortran))
00222
00223 #error "cfortran.h: Can't find your environment among:\
00224 - GNU gcc (g77) on Linux. \
00225 - MIPS cc and f77 2.0. (e.g. Silicon Graphics, DECstations, ...) \
00226 - IBM AIX XL C and FORTRAN Compiler/6000 Version 01.01.0000.0000 \
00227 - VAX VMS CC 3.1 and FORTRAN 5.4. \
00228 - Alpha VMS DEC C 1.3 and DEC FORTRAN 6.0. \
00229 - Alpha OSF DEC C and DEC Fortran for OSF/1 AXP Version 1.2 \
00230 - Apollo DomainOS 10.2 (sys5.3) with f77 10.7 and cc 6.7. \
00231 - CRAY \
00232 - NEC SX-4 SUPER-UX \
00233 - CONVEX \
00234 - Sun \
00235 - PowerStation Fortran with Visual C++ \
00236 - HP9000s300/s700/s800 Latest test with: HP-UX A.08.07 A 9000/730 \
00237 - LynxOS: cc or gcc with f2c. \
00238 - VAXUltrix: vcc,cc or gcc with f2c. gcc or cc with f77. \
00239 - f77 with vcc works; but missing link magic for f77 I/O. \
00240 - NO fort. None of gcc, cc or vcc generate required names.\
00241 - f2c/g77: Use #define f2cFortran, or cc -Df2cFortran \
00242 - gfortran: Use #define gFortran, or cc -DgFortran \
00243 (also necessary for g77 with -fno-f2c option) \
00244 - NAG f90: Use #define NAGf90Fortran, or cc -DNAGf90Fortran \
00245 - Absoft UNIX F77: Use #define AbsoftUNIXFortran or cc -DAbsoftUNIXFortran \
00246 - Absoft Pro Fortran: Use #define AbsoftProFortran \
00247 - Portland Group Fortran: Use #define pgiFortran \
00248 - Intel Fortran: Use #define INTEL_COMPILER"
00249
00250 #endif
00251 #endif
00252
00253
00254 #if defined(VAXC) && !defined(__VAXC)
00255 #define OLD_VAXC
00256 #pragma nostandard
00257 #endif
00258
00259
00260
00261
00262 #if defined(f2cFortran) || defined(NAGf90Fortran) || defined(DECFortran) || defined(mipsFortran) || defined(apolloFortran) || defined(sunFortran) || defined(CONVEXFortran) || defined(SXFortran) || defined(appendus)
00263 #define CFC_(UN,LN) _(LN,_)
00264 #define orig_fcallsc(UN,LN) CFC_(UN,LN)
00265 #else
00266 #if defined(CRAYFortran) || defined(PowerStationFortran) || defined(AbsoftProFortran)
00267 #ifdef _CRAY
00268 #define CFC_(UN,LN) (UN)
00269 #else
00270 #define CFC_(UN,LN) UN
00271 #endif
00272 #define orig_fcallsc(UN,LN) CFC_(UN,LN)
00273 #else
00274 #define CF_SAME_NAMESPACE
00275 #ifdef vmsFortran
00276 #define CFC_(UN,LN) LN
00277
00278
00279 #define orig_fcallsc(UN,LN) UN
00280 #else
00281 #define CFC_(UN,LN) LN
00282 #define orig_fcallsc(UN,LN) CFC_(UN,LN)
00283 #endif
00284 #endif
00285 #endif
00286
00287 #define fcallsc(UN,LN) orig_fcallsc(UN,LN)
00288 #define preface_fcallsc(P,p,UN,LN) CFC_(_(P,UN),_(p,LN))
00289 #define append_fcallsc(P,p,UN,LN) CFC_(_(UN,P),_(LN,p))
00290
00291 #define C_FUNCTION(UN,LN) fcallsc(UN,LN)
00292 #define FORTRAN_FUNCTION(UN,LN) CFC_(UN,LN)
00293
00294 #ifndef COMMON_BLOCK
00295 #ifndef CONVEXFortran
00296 #ifndef CLIPPERFortran
00297 #if !(defined(AbsoftUNIXFortran)||defined(AbsoftProFortran))
00298 #define COMMON_BLOCK(UN,LN) CFC_(UN,LN)
00299 #else
00300 #define COMMON_BLOCK(UN,LN) _(_C,LN)
00301 #endif
00302 #else
00303 #define COMMON_BLOCK(UN,LN) _(LN,__)
00304 #endif
00305 #else
00306 #define COMMON_BLOCK(UN,LN) _3(_,LN,_)
00307 #endif
00308 #endif
00309
00310 #ifndef DOUBLE_PRECISION
00311 #if defined(CRAYFortran) && !defined(_CRAYT3E)
00312 #define DOUBLE_PRECISION long double
00313 #else
00314 #define DOUBLE_PRECISION double
00315 #endif
00316 #endif
00317
00318 #ifndef FORTRAN_REAL
00319 #if defined(CRAYFortran) && defined(_CRAYT3E)
00320 #define FORTRAN_REAL double
00321 #else
00322 #define FORTRAN_REAL float
00323 #endif
00324 #endif
00325
00326 #ifdef CRAYFortran
00327 #ifdef _CRAY
00328 #include <fortran.h>
00329 #else
00330 #include "fortran.h"
00331 #endif
00332 #define FLOATVVVVVVV_cfPP (FORTRAN_REAL *)
00333
00334 #define VOIDP (void *)
00335
00336 #else
00337 #define FLOATVVVVVVV_cfPP
00338 #define VOIDP
00339 #endif
00340
00341 #ifdef vmsFortran
00342 #if defined(vms) || defined(__vms)
00343 #include <descrip.h>
00344 #else
00345 #include "descrip.h"
00346 #endif
00347 #endif
00348
00349 #ifdef sunFortran
00350 #if defined(sun) || defined(__sun)
00351 #include <math.h>
00352 #else
00353 #include "math.h"
00354 #endif
00355
00356
00357
00358
00359
00360
00361
00362
00363 #endif
00364
00365 #ifndef apolloFortran
00366 #define COMMON_BLOCK_DEF(DEFINITION, NAME) extern DEFINITION NAME
00367 #define CF_NULL_PROTO
00368 #else
00369
00370
00371 #define CF_NULL_PROTO ...
00372 #ifndef __CF__APOLLO67
00373 #define COMMON_BLOCK_DEF(DEFINITION, NAME) \
00374 DEFINITION NAME __attribute((__section(NAME)))
00375 #else
00376 #define COMMON_BLOCK_DEF(DEFINITION, NAME) \
00377 DEFINITION NAME #attribute[section(NAME)]
00378 #endif
00379 #endif
00380
00381 #ifdef __cplusplus
00382 #undef CF_NULL_PROTO
00383 #define CF_NULL_PROTO ...
00384 #endif
00385
00386
00387 #ifndef USE_NEW_DELETE
00388 #ifdef __cplusplus
00389 #define USE_NEW_DELETE 1
00390 #else
00391 #define USE_NEW_DELETE 0
00392 #endif
00393 #endif
00394 #if USE_NEW_DELETE
00395 #define _cf_malloc(N) new char[N]
00396 #define _cf_free(P) delete[] P
00397 #else
00398 #define _cf_malloc(N) (char *)malloc(N)
00399 #define _cf_free(P) free(P)
00400 #endif
00401
00402 #ifdef mipsFortran
00403 #define CF_DECLARE_GETARG int f77argc; char **f77argv
00404 #define CF_SET_GETARG(ARGC,ARGV) f77argc = ARGC; f77argv = ARGV
00405 #else
00406 #define CF_DECLARE_GETARG
00407 #define CF_SET_GETARG(ARGC,ARGV)
00408 #endif
00409
00410 #ifdef OLD_VAXC
00411 #pragma standard
00412 #endif
00413
00414 #define AcfCOMMA ,
00415 #define AcfCOLON ;
00416
00417
00418
00419
00420
00421 #define _cfMIN(A,B) (A<B?A:B)
00422
00423
00424
00425
00426
00427 #define firstindexlength(A) (sizeof(A[0])==1 ? 1 : (sizeof(A) / sizeof(A[0])) )
00428 #define secondindexlength(A) (sizeof(A[0])==1 ? sizeof(A) : sizeof(A[0]) )
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440
00441 #if defined(NAGf90Fortran) || defined(f2cFortran) || defined(mipsFortran) || defined(PowerStationFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran) || defined(AbsoftProFortran) || defined(SXFortran)
00442
00443
00444 #define LOGICAL_STRICT
00445 #endif
00446
00447 #define C2FLOGICALV(A,I) \
00448 do {int __i; for(__i=0;__i<I;__i++) A[__i]=C2FLOGICAL(A[__i]); } while (0)
00449 #define F2CLOGICALV(A,I) \
00450 do {int __i; for(__i=0;__i<I;__i++) A[__i]=F2CLOGICAL(A[__i]); } while (0)
00451
00452 #if defined(apolloFortran)
00453 #define C2FLOGICAL(L) ((L)?-1:(L)&~((unsigned)1<<sizeof(int)*8-1))
00454 #define F2CLOGICAL(L) ((L)<0?(L):0)
00455 #else
00456 #if defined(CRAYFortran)
00457 #define C2FLOGICAL(L) _btol(L)
00458 #define F2CLOGICAL(L) _ltob(&(L))
00459 #else
00460 #if defined(IBMR2Fortran) || defined(vmsFortran) || defined(DECFortran) || defined(AbsoftUNIXFortran)
00461
00462 #define C2FLOGICAL(L) ((L)?(L)|1:(L)&~(int)1)
00463 #define F2CLOGICAL(L) ((L)&1?(L):0)
00464 #else
00465 #if defined(CONVEXFortran)
00466 #define C2FLOGICAL(L) ((L) ? ~0 : 0 )
00467 #define F2CLOGICAL(L) (L)
00468 #else
00469 #define C2FLOGICAL(L) (L)
00470 #define F2CLOGICAL(L) (L)
00471 #ifndef LOGICAL_STRICT
00472 #undef C2FLOGICALV
00473 #undef F2CLOGICALV
00474 #define C2FLOGICALV(A,I)
00475 #define F2CLOGICALV(A,I)
00476 #endif
00477 #endif
00478 #endif
00479 #endif
00480 #endif
00481
00482
00483
00484 #if defined(LOGICAL_STRICT) && !defined(CRAYFortran)
00485
00486
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496 #undef C2FLOGICAL
00497 #ifdef hpuxFortran800
00498 #define C2FLOGICAL(L) ((L)?0x01000000:0)
00499 #else
00500 #if defined(apolloFortran) || defined(vmsFortran) || defined(DECFortran)
00501 #define C2FLOGICAL(L) ((L)?-1:0)
00502 #else
00503 #define C2FLOGICAL(L) ((L)? 1:0)
00504 #endif
00505 #endif
00506 #endif
00507
00508
00509 #ifndef __CF__KnR
00510 static char *c2fstrv(char* cstr, char *fstr, int elem_len, int sizeofcstr)
00511 #else
00512 static char *c2fstrv( cstr, fstr, elem_len, sizeofcstr)
00513 char* cstr; char *fstr; int elem_len; int sizeofcstr;
00514 #endif
00515 { int i,j;
00516
00517
00518 for (i=0; i<sizeofcstr/elem_len; i++) {
00519 for (j=1; j<elem_len && *cstr; j++) *fstr++ = *cstr++;
00520 cstr += 1+elem_len-j;
00521 for (; j<elem_len; j++) *fstr++ = ' ';
00522 }
00523 return fstr-sizeofcstr+sizeofcstr/elem_len; }
00524
00525
00526 #ifndef __CF__KnR
00527 static char *f2cstrv(char *fstr, char* cstr, int elem_len, int sizeofcstr)
00528 #else
00529 static char *f2cstrv( fstr, cstr, elem_len, sizeofcstr)
00530 char *fstr; char* cstr; int elem_len; int sizeofcstr;
00531 #endif
00532 { int i,j;
00533
00534
00535 cstr += sizeofcstr;
00536 fstr += sizeofcstr - sizeofcstr/elem_len;
00537 for (i=0; i<sizeofcstr/elem_len; i++) {
00538 *--cstr = '\0';
00539 for (j=1; j<elem_len; j++) *--cstr = *--fstr;
00540 } return cstr; }
00541
00542
00543 #ifndef __CF__KnR
00544 static char *kill_trailing(char *s, char t)
00545 #else
00546 static char *kill_trailing( s, t) char *s; char t;
00547 #endif
00548 {char *e;
00549 e = s + strlen(s);
00550 if (e>s) {
00551 while (e>s && *--e==t) {;}
00552 e[*e==t?0:1] = '\0';
00553 } return s; }
00554
00555
00556
00557
00558
00559 #ifndef __CF__KnR
00560 static char *kill_trailingn(char *s, char t, char *e)
00561 #else
00562 static char *kill_trailingn( s, t, e) char *s; char t; char *e;
00563 #endif
00564 {
00565 if (e==s) *e = '\0';
00566 else if (e>s) {
00567 while (e>s && *--e==t){;}
00568 e[*e==t?0:1] = '\0';
00569 } return s; }
00570
00571
00572
00573 #ifndef __CF__KnR
00574 static char *vkill_trailing(char* cstr, int elem_len, int sizeofcstr, char t)
00575 #else
00576 static char *vkill_trailing( cstr, elem_len, sizeofcstr, t)
00577 char* cstr; int elem_len; int sizeofcstr; char t;
00578 #endif
00579 { int i;
00580 for (i=0; i<sizeofcstr/elem_len; i++)
00581 kill_trailingn(cstr+elem_len*i,t,cstr+elem_len*(i+1)-1);
00582 return cstr; }
00583
00584 #ifdef vmsFortran
00585 typedef struct dsc$descriptor_s fstring;
00586 #define DSC$DESCRIPTOR_A(DIMCT) \
00587 struct { \
00588 unsigned short dsc$w_length; unsigned char dsc$b_dtype; \
00589 unsigned char dsc$b_class; char *dsc$a_pointer; \
00590 char dsc$b_scale; unsigned char dsc$b_digits; \
00591 struct { \
00592 unsigned : 3; unsigned dsc$v_fl_binscale : 1; \
00593 unsigned dsc$v_fl_redim : 1; unsigned dsc$v_fl_column : 1; \
00594 unsigned dsc$v_fl_coeff : 1; unsigned dsc$v_fl_bounds : 1; \
00595 } dsc$b_aflags; \
00596 unsigned char dsc$b_dimct; unsigned long dsc$l_arsize; \
00597 char *dsc$a_a0; long dsc$l_m [DIMCT]; \
00598 struct { \
00599 long dsc$l_l; long dsc$l_u; \
00600 } dsc$bounds [DIMCT]; \
00601 }
00602 typedef DSC$DESCRIPTOR_A(1) fstringvector;
00603
00604
00605 #define initfstr(F,C,ELEMNO,ELEMLEN) \
00606 ( (F).dsc$l_arsize= ( (F).dsc$w_length =(ELEMLEN) ) \
00607 *( (F).dsc$l_m[0]=(F).dsc$bounds[0].dsc$l_u=(ELEMNO) ), \
00608 (F).dsc$a_a0 = ( (F).dsc$a_pointer=(C) ) - (F).dsc$w_length ,(F))
00609
00610 #endif
00611 #define _NUM_ELEMS -1
00612 #define _NUM_ELEM_ARG -2
00613 #define NUM_ELEMS(A) A,_NUM_ELEMS
00614 #define NUM_ELEM_ARG(B) *_2(A,B),_NUM_ELEM_ARG
00615 #define TERM_CHARS(A,B) A,B
00616 #ifndef __CF__KnR
00617 static int num_elem(char *strv, unsigned elem_len, int term_char, int num_term)
00618 #else
00619 static int num_elem( strv, elem_len, term_char, num_term)
00620 char *strv; unsigned elem_len; int term_char; int num_term;
00621 #endif
00622
00623
00624
00625
00626 {
00627 unsigned num,i;
00628 if (num_term == _NUM_ELEMS || num_term == _NUM_ELEM_ARG)
00629 return term_char;
00630 if (num_term <=0) num_term = (int)elem_len;
00631 for (num=0; ; num++) {
00632 for (i=0; i<(unsigned)num_term && *strv==term_char; i++,strv++){;}
00633 if (i==(unsigned)num_term) break;
00634 else strv += elem_len-i;
00635 }
00636 if (0) {
00637 c2fstrv(0, 0, 0, 0); f2cstrv(0, 0, 0, 0); kill_trailing(0, 0);
00638 vkill_trailing(0, 0, 0, 0); num_elem(0, 0, 0, 0);
00639 }
00640 return (int)num;
00641 }
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651 #define C2FCBSTR(CSTR,FSTR,DIM) \
00652 c2fstrv((char *)CSTR, (char *)FSTR, sizeof(FSTR)/cfelementsof(FSTR,DIM)+1, \
00653 sizeof(FSTR)+cfelementsof(FSTR,DIM))
00654
00655
00656 #define FCB2CSTR(FSTR,CSTR,DIM) \
00657 vkill_trailing(f2cstrv((char *)FSTR, (char *)CSTR, \
00658 sizeof(FSTR)/cfelementsof(FSTR,DIM)+1, \
00659 sizeof(FSTR)+cfelementsof(FSTR,DIM)), \
00660 sizeof(FSTR)/cfelementsof(FSTR,DIM)+1, \
00661 sizeof(FSTR)+cfelementsof(FSTR,DIM), ' ')
00662
00663 #define cfDEREFERENCE0
00664 #define cfDEREFERENCE1 *
00665 #define cfDEREFERENCE2 **
00666 #define cfDEREFERENCE3 ***
00667 #define cfDEREFERENCE4 ****
00668 #define cfDEREFERENCE5 *****
00669 #define cfelementsof(A,D) (sizeof(A)/sizeof(_(cfDEREFERENCE,D)(A)))
00670
00671
00672
00673
00674
00675
00676
00677 #ifdef OLD_VAXC
00678 #pragma nostandard
00679 #endif
00680
00681 #define ZTRINGV_NUM(I) I
00682 #define ZTRINGV_ARGFP(I) (*(_2(A,I)))
00683 #define ZTRINGV_ARGF(I) _2(A,I)
00684 #ifdef CFSUBASFUN
00685 #define ZTRINGV_ARGS(I) ZTRINGV_ARGF(I)
00686 #else
00687 #define ZTRINGV_ARGS(I) _2(B,I)
00688 #endif
00689
00690 #define PBYTE_cfVP(A,B) PINT_cfVP(A,B)
00691 #define PDOUBLE_cfVP(A,B)
00692 #define PFLOAT_cfVP(A,B)
00693 #ifdef ZTRINGV_ARGS_allows_Pvariables
00694
00695
00696
00697 #define PINT_cfVP(A,B) int B = (int)A;
00698 #else
00699 #define PINT_cfVP(A,B)
00700 #endif
00701 #define PLOGICAL_cfVP(A,B) int *B;
00702 #define PLONG_cfVP(A,B) PINT_cfVP(A,B)
00703 #define PSHORT_cfVP(A,B) PINT_cfVP(A,B)
00704
00705 #define VCF_INT_S(T,A,B) _(T,VVVVVVV_cfTYPE) B = A;
00706 #define VCF_INT_F(T,A,B) _(T,_cfVCF)(A,B)
00707
00708 #define BYTE_cfVCF(A,B)
00709 #define DOUBLE_cfVCF(A,B)
00710 #if !defined(__CF__KnR)
00711 #define FLOAT_cfVCF(A,B)
00712 #else
00713 #define FLOAT_cfVCF(A,B) FORTRAN_REAL B = A;
00714 #endif
00715 #define INT_cfVCF(A,B)
00716 #define LOGICAL_cfVCF(A,B)
00717 #define LONG_cfVCF(A,B)
00718 #define SHORT_cfVCF(A,B)
00719
00720
00721
00722
00723
00724
00725 typedef void (*cfCAST_FUNCTION)(CF_NULL_PROTO);
00726
00727 #define VCF(TN,I) _Icf4(4,V,TN,_(A,I),_(B,I),F)
00728 #define VVCF(TN,AI,BI) _Icf4(4,V,TN,AI,BI,S)
00729 #define INT_cfV(T,A,B,F) _(VCF_INT_,F)(T,A,B)
00730 #define INTV_cfV(T,A,B,F)
00731 #define INTVV_cfV(T,A,B,F)
00732 #define INTVVV_cfV(T,A,B,F)
00733 #define INTVVVV_cfV(T,A,B,F)
00734 #define INTVVVVV_cfV(T,A,B,F)
00735 #define INTVVVVVV_cfV(T,A,B,F)
00736 #define INTVVVVVVV_cfV(T,A,B,F)
00737 #define PINT_cfV( T,A,B,F) _(T,_cfVP)(A,B)
00738 #define PVOID_cfV( T,A,B,F)
00739 #if defined(apolloFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran) || defined(AbsoftProFortran)
00740 #define ROUTINE_cfV(T,A,B,F) void (*B)(CF_NULL_PROTO) = (cfCAST_FUNCTION)A;
00741 #else
00742 #define ROUTINE_cfV(T,A,B,F)
00743 #endif
00744 #define SIMPLE_cfV(T,A,B,F)
00745 #ifdef vmsFortran
00746 #define STRING_cfV(T,A,B,F) static struct {fstring f; unsigned clen;} B = \
00747 {{0,DSC$K_DTYPE_T,DSC$K_CLASS_S,NULL},0};
00748 #define PSTRING_cfV(T,A,B,F) static fstring B={0,DSC$K_DTYPE_T,DSC$K_CLASS_S,NULL};
00749 #define STRINGV_cfV(T,A,B,F) static fstringvector B = \
00750 {sizeof(A),DSC$K_DTYPE_T,DSC$K_CLASS_A,NULL,0,0,{0,0,1,1,1},1,0,NULL,0,{1,0}};
00751 #define PSTRINGV_cfV(T,A,B,F) static fstringvector B = \
00752 {0,DSC$K_DTYPE_T,DSC$K_CLASS_A,NULL,0,0,{0,0,1,1,1},1,0,NULL,0,{1,0}};
00753 #else
00754 #define STRING_cfV(T,A,B,F) struct {unsigned int clen, flen; char *nombre;} B;
00755 #define STRINGV_cfV(T,A,B,F) struct {char *s, *fs; unsigned flen; char *nombre;} B;
00756 #define PSTRING_cfV(T,A,B,F) int B;
00757 #define PSTRINGV_cfV(T,A,B,F) struct{char *fs; unsigned int sizeofA,flen;}B;
00758 #endif
00759 #define ZTRINGV_cfV(T,A,B,F) STRINGV_cfV(T,A,B,F)
00760 #define PZTRINGV_cfV(T,A,B,F) PSTRINGV_cfV(T,A,B,F)
00761
00762
00763
00764
00765 #define ACF(NAME,TN,AI,I) _(TN,_cfSTR)(4,A,NAME,I,AI,_(B,I),0)
00766 #define DEFAULT_cfA(M,I,A,B)
00767 #define LOGICAL_cfA(M,I,A,B) B=C2FLOGICAL(B);
00768 #define PLOGICAL_cfA(M,I,A,B) A=C2FLOGICAL(A);
00769 #define STRING_cfA(M,I,A,B) STRING_cfC(M,I,A,B,sizeof(A))
00770 #define PSTRING_cfA(M,I,A,B) PSTRING_cfC(M,I,A,B,sizeof(A))
00771 #ifdef vmsFortran
00772 #define AATRINGV_cfA( A,B, sA,filA,silA) \
00773 initfstr(B,_cf_malloc((sA)-(filA)),(filA),(silA)-1), \
00774 c2fstrv(A,B.dsc$a_pointer,(silA),(sA));
00775 #define APATRINGV_cfA( A,B, sA,filA,silA) \
00776 initfstr(B,A,(filA),(silA)-1),c2fstrv(A,A,(silA),(sA));
00777 #else
00778 #define AATRINGV_cfA( A,B, sA,filA,silA) \
00779 (B.s=_cf_malloc((sA)-(filA)),B.fs=c2fstrv(A,B.s,(B.flen=(silA)-1)+1,(sA)));
00780 #define APATRINGV_cfA( A,B, sA,filA,silA) \
00781 B.fs=c2fstrv(A,A,(B.flen=(silA)-1)+1,B.sizeofA=(sA));
00782 #endif
00783 #define STRINGV_cfA(M,I,A,B) \
00784 AATRINGV_cfA((char *)A,B,sizeof(A),firstindexlength(A),secondindexlength(A))
00785 #define PSTRINGV_cfA(M,I,A,B) \
00786 APATRINGV_cfA((char *)A,B,sizeof(A),firstindexlength(A),secondindexlength(A))
00787 #define ZTRINGV_cfA(M,I,A,B) AATRINGV_cfA( (char *)A,B, \
00788 (_3(M,_ELEMS_,I))*(( _3(M,_ELEMLEN_,I))+1), \
00789 (_3(M,_ELEMS_,I)),(_3(M,_ELEMLEN_,I))+1)
00790 #define PZTRINGV_cfA(M,I,A,B) APATRINGV_cfA( (char *)A,B, \
00791 (_3(M,_ELEMS_,I))*(( _3(M,_ELEMLEN_,I))+1), \
00792 (_3(M,_ELEMS_,I)),(_3(M,_ELEMLEN_,I))+1)
00793
00794 #define PBYTE_cfAAP(A,B) &A
00795 #define PDOUBLE_cfAAP(A,B) &A
00796 #define PFLOAT_cfAAP(A,B) FLOATVVVVVVV_cfPP &A
00797 #define PINT_cfAAP(A,B) &A
00798 #define PLOGICAL_cfAAP(A,B) B= &A
00799 #define PLONG_cfAAP(A,B) &A
00800 #define PSHORT_cfAAP(A,B) &A
00801
00802 #define AACF(TN,AI,I,C) _SEP_(TN,C,cfCOMMA) _Icf(3,AA,TN,AI,_(B,I))
00803 #define INT_cfAA(T,A,B) &B
00804 #define INTV_cfAA(T,A,B) _(T,VVVVVV_cfPP) A
00805 #define INTVV_cfAA(T,A,B) _(T,VVVVV_cfPP) A[0]
00806 #define INTVVV_cfAA(T,A,B) _(T,VVVV_cfPP) A[0][0]
00807 #define INTVVVV_cfAA(T,A,B) _(T,VVV_cfPP) A[0][0][0]
00808 #define INTVVVVV_cfAA(T,A,B) _(T,VV_cfPP) A[0][0][0][0]
00809 #define INTVVVVVV_cfAA(T,A,B) _(T,V_cfPP) A[0][0][0][0][0]
00810 #define INTVVVVVVV_cfAA(T,A,B) _(T,_cfPP) A[0][0][0][0][0][0]
00811 #define PINT_cfAA(T,A,B) _(T,_cfAAP)(A,B)
00812 #define PVOID_cfAA(T,A,B) (void *) A
00813 #if defined(apolloFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran)
00814 #define ROUTINE_cfAA(T,A,B) &B
00815 #else
00816 #define ROUTINE_cfAA(T,A,B) (cfCAST_FUNCTION)A
00817 #endif
00818 #define STRING_cfAA(T,A,B) STRING_cfCC(T,A,B)
00819 #define PSTRING_cfAA(T,A,B) PSTRING_cfCC(T,A,B)
00820 #ifdef vmsFortran
00821 #define STRINGV_cfAA(T,A,B) &B
00822 #else
00823 #ifdef CRAYFortran
00824 #define STRINGV_cfAA(T,A,B) _cptofcd(B.fs,B.flen)
00825 #else
00826 #define STRINGV_cfAA(T,A,B) B.fs
00827 #endif
00828 #endif
00829 #define PSTRINGV_cfAA(T,A,B) STRINGV_cfAA(T,A,B)
00830 #define ZTRINGV_cfAA(T,A,B) STRINGV_cfAA(T,A,B)
00831 #define PZTRINGV_cfAA(T,A,B) STRINGV_cfAA(T,A,B)
00832
00833 #if defined(vmsFortran) || defined(CRAYFortran)
00834 #define JCF(TN,I)
00835 #define KCF(TN,I)
00836 #else
00837 #define JCF(TN,I) _(TN,_cfSTR)(1,J,_(B,I), 0,0,0,0)
00838 #if defined(AbsoftUNIXFortran)
00839 #define DEFAULT_cfJ(B) ,0
00840 #else
00841 #define DEFAULT_cfJ(B)
00842 #endif
00843 #define LOGICAL_cfJ(B) DEFAULT_cfJ(B)
00844 #define PLOGICAL_cfJ(B) DEFAULT_cfJ(B)
00845 #define STRING_cfJ(B) ,B.flen
00846 #define PSTRING_cfJ(B) ,B
00847 #define STRINGV_cfJ(B) STRING_cfJ(B)
00848 #define PSTRINGV_cfJ(B) STRING_cfJ(B)
00849 #define ZTRINGV_cfJ(B) STRING_cfJ(B)
00850 #define PZTRINGV_cfJ(B) STRING_cfJ(B)
00851
00852
00853 #define KCF(TN,I) _(TN,_cfSTR)(1,KK,_(B,I), 0,0,0,0)
00854 #if defined(AbsoftUNIXFortran)
00855 #define DEFAULT_cfKK(B) , unsigned B
00856 #else
00857 #define DEFAULT_cfKK(B)
00858 #endif
00859 #define LOGICAL_cfKK(B) DEFAULT_cfKK(B)
00860 #define PLOGICAL_cfKK(B) DEFAULT_cfKK(B)
00861 #define STRING_cfKK(B) , unsigned B
00862 #define PSTRING_cfKK(B) STRING_cfKK(B)
00863 #define STRINGV_cfKK(B) STRING_cfKK(B)
00864 #define PSTRINGV_cfKK(B) STRING_cfKK(B)
00865 #define ZTRINGV_cfKK(B) STRING_cfKK(B)
00866 #define PZTRINGV_cfKK(B) STRING_cfKK(B)
00867 #endif
00868
00869 #define WCF(TN,AN,I) _(TN,_cfSTR)(2,W,AN,_(B,I), 0,0,0)
00870 #define DEFAULT_cfW(A,B)
00871 #define LOGICAL_cfW(A,B)
00872 #define PLOGICAL_cfW(A,B) *B=F2CLOGICAL(*B);
00873 #define STRING_cfW(A,B) (B.nombre=A,B.nombre[B.clen]!='\0'?B.nombre[B.clen]='\0':0);
00874 #define PSTRING_cfW(A,B) kill_trailing(A,' ');
00875 #ifdef vmsFortran
00876 #define STRINGV_cfW(A,B) _cf_free(B.dsc$a_pointer);
00877 #define PSTRINGV_cfW(A,B) \
00878 vkill_trailing(f2cstrv((char*)A, (char*)A, \
00879 B.dsc$w_length+1, B.dsc$l_arsize+B.dsc$l_m[0]), \
00880 B.dsc$w_length+1, B.dsc$l_arsize+B.dsc$l_m[0], ' ');
00881 #else
00882 #define STRINGV_cfW(A,B) _cf_free(B.s);
00883 #define PSTRINGV_cfW(A,B) vkill_trailing( \
00884 f2cstrv((char*)A,(char*)A,B.flen+1,B.sizeofA), B.flen+1,B.sizeofA,' ');
00885 #endif
00886 #define ZTRINGV_cfW(A,B) STRINGV_cfW(A,B)
00887 #define PZTRINGV_cfW(A,B) PSTRINGV_cfW(A,B)
00888
00889 #define NCF(TN,I,C) _SEP_(TN,C,cfCOMMA) _Icf(2,N,TN,_(A,I),0)
00890 #define NNCF(TN,I,C) UUCF(TN,I,C)
00891 #define NNNCF(TN,I,C) _SEP_(TN,C,cfCOLON) _Icf(2,N,TN,_(A,I),0)
00892 #define INT_cfN(T,A) _(T,VVVVVVV_cfTYPE) * A
00893 #define INTV_cfN(T,A) _(T,VVVVVV_cfTYPE) * A
00894 #define INTVV_cfN(T,A) _(T,VVVVV_cfTYPE) * A
00895 #define INTVVV_cfN(T,A) _(T,VVVV_cfTYPE) * A
00896 #define INTVVVV_cfN(T,A) _(T,VVV_cfTYPE) * A
00897 #define INTVVVVV_cfN(T,A) _(T,VV_cfTYPE) * A
00898 #define INTVVVVVV_cfN(T,A) _(T,V_cfTYPE) * A
00899 #define INTVVVVVVV_cfN(T,A) _(T,_cfTYPE) * A
00900 #define PINT_cfN(T,A) _(T,_cfTYPE) * A
00901 #define PVOID_cfN(T,A) void * A
00902 #if defined(apolloFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran)
00903 #define ROUTINE_cfN(T,A) void (**A)(CF_NULL_PROTO)
00904 #else
00905 #define ROUTINE_cfN(T,A) void ( *A)(CF_NULL_PROTO)
00906 #endif
00907 #ifdef vmsFortran
00908 #define STRING_cfN(T,A) fstring * A
00909 #define STRINGV_cfN(T,A) fstringvector * A
00910 #else
00911 #ifdef CRAYFortran
00912 #define STRING_cfN(T,A) _fcd A
00913 #define STRINGV_cfN(T,A) _fcd A
00914 #else
00915 #define STRING_cfN(T,A) char * A
00916 #define STRINGV_cfN(T,A) char * A
00917 #endif
00918 #endif
00919 #define PSTRING_cfN(T,A) STRING_cfN(T,A)
00920 #define PNSTRING_cfN(T,A) STRING_cfN(T,A)
00921 #define PPSTRING_cfN(T,A) STRING_cfN(T,A)
00922 #define PSTRINGV_cfN(T,A) STRINGV_cfN(T,A)
00923 #define ZTRINGV_cfN(T,A) STRINGV_cfN(T,A)
00924 #define PZTRINGV_cfN(T,A) PSTRINGV_cfN(T,A)
00925
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935
00936 #ifndef MAX_PREPRO_ARGS
00937 #if !defined(__GNUC__) && (defined(VAXUltrix) || defined(__CF__APOLLO67) || (defined(sun)&&!defined(__sun)) || defined(_CRAY) || defined(__ultrix__) || (defined(__hpux)&&defined(__CF__KnR)))
00938 #define MAX_PREPRO_ARGS 31
00939 #else
00940 #define MAX_PREPRO_ARGS 99
00941 #endif
00942 #endif
00943
00944 #if defined(AbsoftUNIXFortran) || defined(AbsoftProFortran)
00945
00946
00947
00948
00949
00950 #define ABSOFT_cf1(T0) _(T0,_cfSTR)(0,ABSOFT1,0,0,0,0,0)
00951 #define ABSOFT_cf2(T0) _(T0,_cfSTR)(0,ABSOFT2,0,0,0,0,0)
00952 #define ABSOFT_cf3(T0) _(T0,_cfSTR)(0,ABSOFT3,0,0,0,0,0)
00953 #define DEFAULT_cfABSOFT1
00954 #define LOGICAL_cfABSOFT1
00955 #define STRING_cfABSOFT1 ,MAX_LEN_FORTRAN_FUNCTION_STRING
00956 #define DEFAULT_cfABSOFT2
00957 #define LOGICAL_cfABSOFT2
00958 #define STRING_cfABSOFT2 ,unsigned D0
00959 #define DEFAULT_cfABSOFT3
00960 #define LOGICAL_cfABSOFT3
00961 #define STRING_cfABSOFT3 ,D0
00962 #else
00963 #define ABSOFT_cf1(T0)
00964 #define ABSOFT_cf2(T0)
00965 #define ABSOFT_cf3(T0)
00966 #endif
00967
00968
00969
00970
00971 #define _Z
00972
00973 #define CFARGT14S(S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
00974 S(T1,1) S(T2,2) S(T3,3) S(T4,4) S(T5,5) S(T6,6) S(T7,7) \
00975 S(T8,8) S(T9,9) S(TA,10) S(TB,11) S(TC,12) S(TD,13) S(TE,14)
00976 #define CFARGT27S(S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
00977 S(T1,1) S(T2,2) S(T3,3) S(T4,4) S(T5,5) S(T6,6) S(T7,7) \
00978 S(T8,8) S(T9,9) S(TA,10) S(TB,11) S(TC,12) S(TD,13) S(TE,14) \
00979 S(TF,15) S(TG,16) S(TH,17) S(TI,18) S(TJ,19) S(TK,20) S(TL,21) \
00980 S(TM,22) S(TN,23) S(TO,24) S(TP,25) S(TQ,26) S(TR,27)
00981
00982 #define CFARGT14FS(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
00983 F(T1,1,0) F(T2,2,1) F(T3,3,1) F(T4,4,1) F(T5,5,1) F(T6,6,1) F(T7,7,1) \
00984 F(T8,8,1) F(T9,9,1) F(TA,10,1) F(TB,11,1) F(TC,12,1) F(TD,13,1) F(TE,14,1) \
00985 M CFARGT14S(S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)
00986 #define CFARGT27FS(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
00987 F(T1,1,0) F(T2,2,1) F(T3,3,1) F(T4,4,1) F(T5,5,1) F(T6,6,1) F(T7,7,1) \
00988 F(T8,8,1) F(T9,9,1) F(TA,10,1) F(TB,11,1) F(TC,12,1) F(TD,13,1) F(TE,14,1) \
00989 F(TF,15,1) F(TG,16,1) F(TH,17,1) F(TI,18,1) F(TJ,19,1) F(TK,20,1) F(TL,21,1) \
00990 F(TM,22,1) F(TN,23,1) F(TO,24,1) F(TP,25,1) F(TQ,26,1) F(TR,27,1) \
00991 M CFARGT27S(S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)
00992
00993 #if !(defined(PowerStationFortran)||defined(hpuxFortran800))
00994
00995
00996
00997
00998
00999
01000
01001
01002
01003
01004
01005
01006
01007 #define CFARGT14(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01008 F(T1,1,0) F(T2,2,1) F(T3,3,1) F(T4,4,1) F(T5,5,1) F(T6,6,1) F(T7,7,1) \
01009 F(T8,8,1) F(T9,9,1) F(TA,10,1) F(TB,11,1) F(TC,12,1) F(TD,13,1) F(TE,14,1) \
01010 M CFARGT14S(S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)
01011 #define CFARGT27(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
01012 F(T1,1,0) F(T2,2,1) F(T3,3,1) F(T4,4,1) F(T5,5,1) F(T6,6,1) F(T7,7,1) \
01013 F(T8,8,1) F(T9,9,1) F(TA,10,1) F(TB,11,1) F(TC,12,1) F(TD,13,1) F(TE,14,1) \
01014 F(TF,15,1) F(TG,16,1) F(TH,17,1) F(TI,18,1) F(TJ,19,1) F(TK,20,1) F(TL,21,1) \
01015 F(TM,22,1) F(TN,23,1) F(TO,24,1) F(TP,25,1) F(TQ,26,1) F(TR,27,1) \
01016 M CFARGT27S(S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)
01017
01018 #define CFARGT20(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) \
01019 F(T1,1,0) F(T2,2,1) F(T3,3,1) F(T4,4,1) F(T5,5,1) F(T6,6,1) F(T7,7,1) \
01020 F(T8,8,1) F(T9,9,1) F(TA,10,1) F(TB,11,1) F(TC,12,1) F(TD,13,1) F(TE,14,1) \
01021 F(TF,15,1) F(TG,16,1) F(TH,17,1) F(TI,18,1) F(TJ,19,1) F(TK,20,1) \
01022 S(T1,1) S(T2,2) S(T3,3) S(T4,4) S(T5,5) S(T6,6) S(T7,7) \
01023 S(T8,8) S(T9,9) S(TA,10) S(TB,11) S(TC,12) S(TD,13) S(TE,14) \
01024 S(TF,15) S(TG,16) S(TH,17) S(TI,18) S(TJ,19) S(TK,20)
01025 #define CFARGTA14(F,S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE) \
01026 F(T1,A1,1,0) F(T2,A2,2,1) F(T3,A3,3,1) F(T4,A4,4,1) F(T5,A5,5,1) F(T6,A6,6,1) \
01027 F(T7,A7,7,1) F(T8,A8,8,1) F(T9,A9,9,1) F(TA,AA,10,1) F(TB,AB,11,1) F(TC,AC,12,1) \
01028 F(TD,AD,13,1) F(TE,AE,14,1) S(T1,1) S(T2,2) S(T3,3) S(T4,4) \
01029 S(T5,5) S(T6,6) S(T7,7) S(T8,8) S(T9,9) S(TA,10) \
01030 S(TB,11) S(TC,12) S(TD,13) S(TE,14)
01031 #if MAX_PREPRO_ARGS>31
01032 #define CFARGTA20(F,S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK) \
01033 F(T1,A1,1,0) F(T2,A2,2,1) F(T3,A3,3,1) F(T4,A4,4,1) F(T5,A5,5,1) F(T6,A6,6,1) \
01034 F(T7,A7,7,1) F(T8,A8,8,1) F(T9,A9,9,1) F(TA,AA,10,1) F(TB,AB,11,1) F(TC,AC,12,1) \
01035 F(TD,AD,13,1) F(TE,AE,14,1) F(TF,AF,15,1) F(TG,AG,16,1) F(TH,AH,17,1) F(TI,AI,18,1) \
01036 F(TJ,AJ,19,1) F(TK,AK,20,1) S(T1,1) S(T2,2) S(T3,3) S(T4,4) \
01037 S(T5,5) S(T6,6) S(T7,7) S(T8,8) S(T9,9) S(TA,10) \
01038 S(TB,11) S(TC,12) S(TD,13) S(TE,14) S(TF,15) S(TG,16) \
01039 S(TH,17) S(TI,18) S(TJ,19) S(TK,20)
01040 #define CFARGTA27(F,S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR) \
01041 F(T1,A1,1,0) F(T2,A2,2,1) F(T3,A3,3,1) F(T4,A4,4,1) F(T5,A5,5,1) F(T6,A6,6,1) \
01042 F(T7,A7,7,1) F(T8,A8,8,1) F(T9,A9,9,1) F(TA,AA,10,1) F(TB,AB,11,1) F(TC,AC,12,1) \
01043 F(TD,AD,13,1) F(TE,AE,14,1) F(TF,AF,15,1) F(TG,AG,16,1) F(TH,AH,17,1) F(TI,AI,18,1) \
01044 F(TJ,AJ,19,1) F(TK,AK,20,1) F(TL,AL,21,1) F(TM,AM,22,1) F(TN,AN,23,1) F(TO,AO,24,1) \
01045 F(TP,AP,25,1) F(TQ,AQ,26,1) F(TR,AR,27,1) S(T1,1) S(T2,2) S(T3,3) \
01046 S(T4,4) S(T5,5) S(T6,6) S(T7,7) S(T8,8) S(T9,9) \
01047 S(TA,10) S(TB,11) S(TC,12) S(TD,13) S(TE,14) S(TF,15) \
01048 S(TG,16) S(TH,17) S(TI,18) S(TJ,19) S(TK,20) S(TL,21) \
01049 S(TM,22) S(TN,23) S(TO,24) S(TP,25) S(TQ,26) S(TR,27)
01050 #endif
01051 #else
01052 #define CFARGT14(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01053 F(T1,1,0) S(T1,1) F(T2,2,1) S(T2,2) F(T3,3,1) S(T3,3) F(T4,4,1) S(T4,4) \
01054 F(T5,5,1) S(T5,5) F(T6,6,1) S(T6,6) F(T7,7,1) S(T7,7) F(T8,8,1) S(T8,8) \
01055 F(T9,9,1) S(T9,9) F(TA,10,1) S(TA,10) F(TB,11,1) S(TB,11) F(TC,12,1) S(TC,12) \
01056 F(TD,13,1) S(TD,13) F(TE,14,1) S(TE,14)
01057 #define CFARGT27(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
01058 F(T1,1,0) S(T1,1) F(T2,2,1) S(T2,2) F(T3,3,1) S(T3,3) F(T4,4,1) S(T4,4) \
01059 F(T5,5,1) S(T5,5) F(T6,6,1) S(T6,6) F(T7,7,1) S(T7,7) F(T8,8,1) S(T8,8) \
01060 F(T9,9,1) S(T9,9) F(TA,10,1) S(TA,10) F(TB,11,1) S(TB,11) F(TC,12,1) S(TC,12) \
01061 F(TD,13,1) S(TD,13) F(TE,14,1) S(TE,14) F(TF,15,1) S(TF,15) F(TG,16,1) S(TG,16) \
01062 F(TH,17,1) S(TH,17) F(TI,18,1) S(TI,18) F(TJ,19,1) S(TJ,19) F(TK,20,1) S(TK,20) \
01063 F(TL,21,1) S(TL,21) F(TM,22,1) S(TM,22) F(TN,23,1) S(TN,23) F(TO,24,1) S(TO,24) \
01064 F(TP,25,1) S(TP,25) F(TQ,26,1) S(TQ,26) F(TR,27,1) S(TR,27)
01065
01066 #define CFARGT20(F,S,M,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) \
01067 F(T1,1,0) S(T1,1) F(T2,2,1) S(T2,2) F(T3,3,1) S(T3,3) F(T4,4,1) S(T4,4) \
01068 F(T5,5,1) S(T5,5) F(T6,6,1) S(T6,6) F(T7,7,1) S(T7,7) F(T8,8,1) S(T8,8) \
01069 F(T9,9,1) S(T9,9) F(TA,10,1) S(TA,10) F(TB,11,1) S(TB,11) F(TC,12,1) S(TC,12) \
01070 F(TD,13,1) S(TD,13) F(TE,14,1) S(TE,14) F(TF,15,1) S(TF,15) F(TG,16,1) S(TG,16) \
01071 F(TH,17,1) S(TH,17) F(TI,18,1) S(TI,18) F(TJ,19,1) S(TJ,19) F(TK,20,1) S(TK,20)
01072 #define CFARGTA14(F,S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE) \
01073 F(T1,A1,1,0) S(T1,1) F(T2,A2,2,1) S(T2,2) F(T3,A3,3,1) S(T3,3) \
01074 F(T4,A4,4,1) S(T4,4) F(T5,A5,5,1) S(T5,5) F(T6,A6,6,1) S(T6,6) \
01075 F(T7,A7,7,1) S(T7,7) F(T8,A8,8,1) S(T8,8) F(T9,A9,9,1) S(T9,9) \
01076 F(TA,AA,10,1) S(TA,10) F(TB,AB,11,1) S(TB,11) F(TC,AC,12,1) S(TC,12) \
01077 F(TD,AD,13,1) S(TD,13) F(TE,AE,14,1) S(TE,14)
01078 #if MAX_PREPRO_ARGS>31
01079 #define CFARGTA20(F,S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK) \
01080 F(T1,A1,1,0) S(T1,1) F(T2,A2,2,1) S(T2,2) F(T3,A3,3,1) S(T3,3) \
01081 F(T4,A4,4,1) S(T4,4) F(T5,A5,5,1) S(T5,5) F(T6,A6,6,1) S(T6,6) \
01082 F(T7,A7,7,1) S(T7,7) F(T8,A8,8,1) S(T8,8) F(T9,A9,9,1) S(T9,9) \
01083 F(TA,AA,10,1) S(TA,10) F(TB,AB,11,1) S(TB,11) F(TC,AC,12,1) S(TC,12) \
01084 F(TD,AD,13,1) S(TD,13) F(TE,AE,14,1) S(TE,14) F(TF,AF,15,1) S(TF,15) \
01085 F(TG,AG,16,1) S(TG,16) F(TH,AH,17,1) S(TH,17) F(TI,AI,18,1) S(TI,18) \
01086 F(TJ,AJ,19,1) S(TJ,19) F(TK,AK,20,1) S(TK,20)
01087 #define CFARGTA27(F,S,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR) \
01088 F(T1,A1,1,0) S(T1,1) F(T2,A2,2,1) S(T2,2) F(T3,A3,3,1) S(T3,3) \
01089 F(T4,A4,4,1) S(T4,4) F(T5,A5,5,1) S(T5,5) F(T6,A6,6,1) S(T6,6) \
01090 F(T7,A7,7,1) S(T7,7) F(T8,A8,8,1) S(T8,8) F(T9,A9,9,1) S(T9,9) \
01091 F(TA,AA,10,1) S(TA,10) F(TB,AB,11,1) S(TB,11) F(TC,AC,12,1) S(TC,12) \
01092 F(TD,AD,13,1) S(TD,13) F(TE,AE,14,1) S(TE,14) F(TF,AF,15,1) S(TF,15) \
01093 F(TG,AG,16,1) S(TG,16) F(TH,AH,17,1) S(TH,17) F(TI,AI,18,1) S(TI,18) \
01094 F(TJ,AJ,19,1) S(TJ,19) F(TK,AK,20,1) S(TK,20) F(TL,AL,21,1) S(TL,21) \
01095 F(TM,AM,22,1) S(TM,22) F(TN,AN,23,1) S(TN,23) F(TO,AO,24,1) S(TO,24) \
01096 F(TP,AP,25,1) S(TP,25) F(TQ,AQ,26,1) S(TQ,26) F(TR,AR,27,1) S(TR,27)
01097 #endif
01098 #endif
01099
01100
01101 #define PROTOCCALLSFSUB1( UN,LN,T1) \
01102 PROTOCCALLSFSUB14(UN,LN,T1,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01103 #define PROTOCCALLSFSUB2( UN,LN,T1,T2) \
01104 PROTOCCALLSFSUB14(UN,LN,T1,T2,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01105 #define PROTOCCALLSFSUB3( UN,LN,T1,T2,T3) \
01106 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01107 #define PROTOCCALLSFSUB4( UN,LN,T1,T2,T3,T4) \
01108 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01109 #define PROTOCCALLSFSUB5( UN,LN,T1,T2,T3,T4,T5) \
01110 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01111 #define PROTOCCALLSFSUB6( UN,LN,T1,T2,T3,T4,T5,T6) \
01112 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01113 #define PROTOCCALLSFSUB7( UN,LN,T1,T2,T3,T4,T5,T6,T7) \
01114 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01115 #define PROTOCCALLSFSUB8( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8) \
01116 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01117 #define PROTOCCALLSFSUB9( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9) \
01118 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,CF_0,CF_0,CF_0,CF_0,CF_0)
01119 #define PROTOCCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA) \
01120 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,CF_0,CF_0,CF_0,CF_0)
01121 #define PROTOCCALLSFSUB11(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB) \
01122 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,CF_0,CF_0,CF_0)
01123 #define PROTOCCALLSFSUB12(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC) \
01124 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,CF_0,CF_0)
01125 #define PROTOCCALLSFSUB13(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD) \
01126 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,CF_0)
01127
01128
01129 #define PROTOCCALLSFSUB15(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF) \
01130 PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,CF_0,CF_0,CF_0,CF_0,CF_0)
01131 #define PROTOCCALLSFSUB16(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG) \
01132 PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,CF_0,CF_0,CF_0,CF_0)
01133 #define PROTOCCALLSFSUB17(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH) \
01134 PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,CF_0,CF_0,CF_0)
01135 #define PROTOCCALLSFSUB18(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI) \
01136 PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,CF_0,CF_0)
01137 #define PROTOCCALLSFSUB19(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ) \
01138 PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,CF_0)
01139
01140 #define PROTOCCALLSFSUB21(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL) \
01141 PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
01142 #define PROTOCCALLSFSUB22(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM) \
01143 PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,CF_0,CF_0,CF_0,CF_0,CF_0)
01144 #define PROTOCCALLSFSUB23(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN) \
01145 PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,CF_0,CF_0,CF_0,CF_0)
01146 #define PROTOCCALLSFSUB24(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO) \
01147 PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,CF_0,CF_0,CF_0)
01148 #define PROTOCCALLSFSUB25(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP) \
01149 PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,CF_0,CF_0)
01150 #define PROTOCCALLSFSUB26(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ) \
01151 PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,CF_0)
01152
01153
01154 #ifndef FCALLSC_QUALIFIER
01155 #ifdef VISUAL_CPLUSPLUS
01156 #define FCALLSC_QUALIFIER __stdcall
01157 #else
01158 #define FCALLSC_QUALIFIER
01159 #endif
01160 #endif
01161
01162 #ifdef __cplusplus
01163 #define CFextern extern "C"
01164 #else
01165 #define CFextern extern
01166 #endif
01167
01168
01169 #ifdef CFSUBASFUN
01170 #define PROTOCCALLSFSUB0(UN,LN) \
01171 PROTOCCALLSFFUN0( VOID,UN,LN)
01172 #define PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01173 PROTOCCALLSFFUN14(VOID,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)
01174 #define PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)\
01175 PROTOCCALLSFFUN20(VOID,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)
01176 #define PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)\
01177 PROTOCCALLSFFUN27(VOID,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)
01178 #else
01179
01180
01181
01182 #define PROTOCCALLSFSUB0(UN,LN) _(VOID,_cfPU)(CFC_(UN,LN))();
01183 #ifndef __CF__KnR
01184 #define PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01185 _(VOID,_cfPU)(CFC_(UN,LN))( CFARGT14(NCF,KCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) );
01186 #define PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)\
01187 _(VOID,_cfPU)(CFC_(UN,LN))( CFARGT20(NCF,KCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) );
01188 #define PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)\
01189 _(VOID,_cfPU)(CFC_(UN,LN))( CFARGT27(NCF,KCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) );
01190 #else
01191 #define PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01192 PROTOCCALLSFSUB0(UN,LN)
01193 #define PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) \
01194 PROTOCCALLSFSUB0(UN,LN)
01195 #define PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
01196 PROTOCCALLSFSUB0(UN,LN)
01197 #endif
01198 #endif
01199
01200
01201 #ifdef OLD_VAXC
01202 #pragma standard
01203 #endif
01204
01205
01206 #define CCALLSFSUB1( UN,LN,T1, A1) \
01207 CCALLSFSUB5 (UN,LN,T1,CF_0,CF_0,CF_0,CF_0,A1,0,0,0,0)
01208 #define CCALLSFSUB2( UN,LN,T1,T2, A1,A2) \
01209 CCALLSFSUB5 (UN,LN,T1,T2,CF_0,CF_0,CF_0,A1,A2,0,0,0)
01210 #define CCALLSFSUB3( UN,LN,T1,T2,T3, A1,A2,A3) \
01211 CCALLSFSUB5 (UN,LN,T1,T2,T3,CF_0,CF_0,A1,A2,A3,0,0)
01212 #define CCALLSFSUB4( UN,LN,T1,T2,T3,T4, A1,A2,A3,A4)\
01213 CCALLSFSUB5 (UN,LN,T1,T2,T3,T4,CF_0,A1,A2,A3,A4,0)
01214 #define CCALLSFSUB5( UN,LN,T1,T2,T3,T4,T5, A1,A2,A3,A4,A5) \
01215 CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,CF_0,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,0,0,0,0,0)
01216 #define CCALLSFSUB6( UN,LN,T1,T2,T3,T4,T5,T6, A1,A2,A3,A4,A5,A6) \
01217 CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,0,0,0,0)
01218 #define CCALLSFSUB7( UN,LN,T1,T2,T3,T4,T5,T6,T7, A1,A2,A3,A4,A5,A6,A7) \
01219 CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,0,0,0)
01220 #define CCALLSFSUB8( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8, A1,A2,A3,A4,A5,A6,A7,A8) \
01221 CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,0,0)
01222 #define CCALLSFSUB9( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,A1,A2,A3,A4,A5,A6,A7,A8,A9)\
01223 CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,0)
01224 #define CCALLSFSUB10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA)\
01225 CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,0,0,0,0)
01226 #define CCALLSFSUB11(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB)\
01227 CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,0,0,0)
01228 #define CCALLSFSUB12(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC)\
01229 CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,0,0)
01230 #define CCALLSFSUB13(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD)\
01231 CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,0)
01232
01233 #ifdef __cplusplus
01234 #define CPPPROTOCLSFSUB0( UN,LN)
01235 #define CPPPROTOCLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)
01236 #define CPPPROTOCLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)
01237 #define CPPPROTOCLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)
01238 #else
01239 #define CPPPROTOCLSFSUB0(UN,LN) \
01240 PROTOCCALLSFSUB0(UN,LN)
01241 #define CPPPROTOCLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01242 PROTOCCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)
01243 #define CPPPROTOCLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) \
01244 PROTOCCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)
01245 #define CPPPROTOCLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
01246 PROTOCCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)
01247 #endif
01248
01249 #ifdef CFSUBASFUN
01250 #define CCALLSFSUB0(UN,LN) CCALLSFFUN0(UN,LN)
01251 #define CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE)\
01252 CCALLSFFUN14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE)
01253 #else
01254
01255 #define CCALLSFSUB0( UN,LN) do{CPPPROTOCLSFSUB0(UN,LN) CFC_(UN,LN)();}while(0)
01256 #define CCALLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE)\
01257 do{VVCF(T1,A1,B1) VVCF(T2,A2,B2) VVCF(T3,A3,B3) VVCF(T4,A4,B4) VVCF(T5,A5,B5) \
01258 VVCF(T6,A6,B6) VVCF(T7,A7,B7) VVCF(T8,A8,B8) VVCF(T9,A9,B9) VVCF(TA,AA,B10) \
01259 VVCF(TB,AB,B11) VVCF(TC,AC,B12) VVCF(TD,AD,B13) VVCF(TE,AE,B14) \
01260 CPPPROTOCLSFSUB14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01261 ACF(LN,T1,A1,1) ACF(LN,T2,A2,2) ACF(LN,T3,A3,3) \
01262 ACF(LN,T4,A4,4) ACF(LN,T5,A5,5) ACF(LN,T6,A6,6) ACF(LN,T7,A7,7) \
01263 ACF(LN,T8,A8,8) ACF(LN,T9,A9,9) ACF(LN,TA,AA,10) ACF(LN,TB,AB,11) \
01264 ACF(LN,TC,AC,12) ACF(LN,TD,AD,13) ACF(LN,TE,AE,14) \
01265 CFC_(UN,LN)( CFARGTA14(AACF,JCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE) );\
01266 WCF(T1,A1,1) WCF(T2,A2,2) WCF(T3,A3,3) WCF(T4,A4,4) WCF(T5,A5,5) \
01267 WCF(T6,A6,6) WCF(T7,A7,7) WCF(T8,A8,8) WCF(T9,A9,9) WCF(TA,AA,10) \
01268 WCF(TB,AB,11) WCF(TC,AC,12) WCF(TD,AD,13) WCF(TE,AE,14) }while(0)
01269 #endif
01270
01271
01272 #if MAX_PREPRO_ARGS>31
01273 #define CCALLSFSUB15(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF)\
01274 CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,CF_0,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,0,0,0,0,0)
01275 #define CCALLSFSUB16(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG)\
01276 CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,0,0,0,0)
01277 #define CCALLSFSUB17(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH)\
01278 CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,0,0,0)
01279 #define CCALLSFSUB18(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI)\
01280 CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,0,0)
01281 #define CCALLSFSUB19(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ)\
01282 CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,0)
01283
01284 #ifdef CFSUBASFUN
01285 #define CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH, \
01286 TI,TJ,TK, A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK) \
01287 CCALLSFFUN20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH, \
01288 TI,TJ,TK, A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK)
01289 #else
01290 #define CCALLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH, \
01291 TI,TJ,TK, A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK) \
01292 do{VVCF(T1,A1,B1) VVCF(T2,A2,B2) VVCF(T3,A3,B3) VVCF(T4,A4,B4) VVCF(T5,A5,B5) \
01293 VVCF(T6,A6,B6) VVCF(T7,A7,B7) VVCF(T8,A8,B8) VVCF(T9,A9,B9) VVCF(TA,AA,B10) \
01294 VVCF(TB,AB,B11) VVCF(TC,AC,B12) VVCF(TD,AD,B13) VVCF(TE,AE,B14) VVCF(TF,AF,B15) \
01295 VVCF(TG,AG,B16) VVCF(TH,AH,B17) VVCF(TI,AI,B18) VVCF(TJ,AJ,B19) VVCF(TK,AK,B20) \
01296 CPPPROTOCLSFSUB20(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) \
01297 ACF(LN,T1,A1,1) ACF(LN,T2,A2,2) ACF(LN,T3,A3,3) ACF(LN,T4,A4,4) \
01298 ACF(LN,T5,A5,5) ACF(LN,T6,A6,6) ACF(LN,T7,A7,7) ACF(LN,T8,A8,8) \
01299 ACF(LN,T9,A9,9) ACF(LN,TA,AA,10) ACF(LN,TB,AB,11) ACF(LN,TC,AC,12) \
01300 ACF(LN,TD,AD,13) ACF(LN,TE,AE,14) ACF(LN,TF,AF,15) ACF(LN,TG,AG,16) \
01301 ACF(LN,TH,AH,17) ACF(LN,TI,AI,18) ACF(LN,TJ,AJ,19) ACF(LN,TK,AK,20) \
01302 CFC_(UN,LN)( CFARGTA20(AACF,JCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK) ); \
01303 WCF(T1,A1,1) WCF(T2,A2,2) WCF(T3,A3,3) WCF(T4,A4,4) WCF(T5,A5,5) WCF(T6,A6,6) \
01304 WCF(T7,A7,7) WCF(T8,A8,8) WCF(T9,A9,9) WCF(TA,AA,10) WCF(TB,AB,11) WCF(TC,AC,12) \
01305 WCF(TD,AD,13) WCF(TE,AE,14) WCF(TF,AF,15) WCF(TG,AG,16) WCF(TH,AH,17) WCF(TI,AI,18) \
01306 WCF(TJ,AJ,19) WCF(TK,AK,20) }while(0)
01307 #endif
01308 #endif
01309
01310 #if MAX_PREPRO_ARGS>31
01311 #define CCALLSFSUB21(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL)\
01312 CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,0,0,0,0,0,0)
01313 #define CCALLSFSUB22(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM)\
01314 CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,CF_0,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,0,0,0,0,0)
01315 #define CCALLSFSUB23(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN)\
01316 CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,0,0,0,0)
01317 #define CCALLSFSUB24(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO)\
01318 CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,0,0,0)
01319 #define CCALLSFSUB25(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP)\
01320 CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,0,0)
01321 #define CCALLSFSUB26(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ)\
01322 CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,0)
01323
01324 #ifdef CFSUBASFUN
01325 #define CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR, \
01326 A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR) \
01327 CCALLSFFUN27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR, \
01328 A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR)
01329 #else
01330 #define CCALLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR, \
01331 A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR) \
01332 do{VVCF(T1,A1,B1) VVCF(T2,A2,B2) VVCF(T3,A3,B3) VVCF(T4,A4,B4) VVCF(T5,A5,B5) \
01333 VVCF(T6,A6,B6) VVCF(T7,A7,B7) VVCF(T8,A8,B8) VVCF(T9,A9,B9) VVCF(TA,AA,B10) \
01334 VVCF(TB,AB,B11) VVCF(TC,AC,B12) VVCF(TD,AD,B13) VVCF(TE,AE,B14) VVCF(TF,AF,B15) \
01335 VVCF(TG,AG,B16) VVCF(TH,AH,B17) VVCF(TI,AI,B18) VVCF(TJ,AJ,B19) VVCF(TK,AK,B20) \
01336 VVCF(TL,AL,B21) VVCF(TM,AM,B22) VVCF(TN,AN,B23) VVCF(TO,AO,B24) VVCF(TP,AP,B25) \
01337 VVCF(TQ,AQ,B26) VVCF(TR,AR,B27) \
01338 CPPPROTOCLSFSUB27(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
01339 ACF(LN,T1,A1,1) ACF(LN,T2,A2,2) ACF(LN,T3,A3,3) ACF(LN,T4,A4,4) \
01340 ACF(LN,T5,A5,5) ACF(LN,T6,A6,6) ACF(LN,T7,A7,7) ACF(LN,T8,A8,8) \
01341 ACF(LN,T9,A9,9) ACF(LN,TA,AA,10) ACF(LN,TB,AB,11) ACF(LN,TC,AC,12) \
01342 ACF(LN,TD,AD,13) ACF(LN,TE,AE,14) ACF(LN,TF,AF,15) ACF(LN,TG,AG,16) \
01343 ACF(LN,TH,AH,17) ACF(LN,TI,AI,18) ACF(LN,TJ,AJ,19) ACF(LN,TK,AK,20) \
01344 ACF(LN,TL,AL,21) ACF(LN,TM,AM,22) ACF(LN,TN,AN,23) ACF(LN,TO,AO,24) \
01345 ACF(LN,TP,AP,25) ACF(LN,TQ,AQ,26) ACF(LN,TR,AR,27) \
01346 CFC_(UN,LN)( CFARGTA27(AACF,JCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR,\
01347 A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR) ); \
01348 WCF(T1,A1,1) WCF(T2,A2,2) WCF(T3,A3,3) WCF(T4,A4,4) WCF(T5,A5,5) WCF(T6,A6,6) \
01349 WCF(T7,A7,7) WCF(T8,A8,8) WCF(T9,A9,9) WCF(TA,AA,10) WCF(TB,AB,11) WCF(TC,AC,12) \
01350 WCF(TD,AD,13) WCF(TE,AE,14) WCF(TF,AF,15) WCF(TG,AG,16) WCF(TH,AH,17) WCF(TI,AI,18) \
01351 WCF(TJ,AJ,19) WCF(TK,AK,20) WCF(TL,AL,21) WCF(TM,AM,22) WCF(TN,AN,23) WCF(TO,AO,24) \
01352 WCF(TP,AP,25) WCF(TQ,AQ,26) WCF(TR,AR,27) }while(0)
01353 #endif
01354 #endif
01355
01356
01357
01358
01359
01360
01361
01362
01363
01364
01365
01366
01367
01368
01369
01370
01371 #define MAX_LEN_FORTRAN_FUNCTION_STRING 0x4FE
01372
01373
01374
01375 #define CFORTRAN_NON_CHAR 0x7F
01376
01377 #ifdef OLD_VAXC
01378 #pragma nostandard
01379 #endif
01380
01381 #define _SEP_(TN,C,cfCOMMA) _(__SEP_,C)(TN,cfCOMMA)
01382 #define __SEP_0(TN,cfCOMMA)
01383 #define __SEP_1(TN,cfCOMMA) _Icf(2,SEP,TN,cfCOMMA,0)
01384 #define INT_cfSEP(T,B) _(A,B)
01385 #define INTV_cfSEP(T,B) INT_cfSEP(T,B)
01386 #define INTVV_cfSEP(T,B) INT_cfSEP(T,B)
01387 #define INTVVV_cfSEP(T,B) INT_cfSEP(T,B)
01388 #define INTVVVV_cfSEP(T,B) INT_cfSEP(T,B)
01389 #define INTVVVVV_cfSEP(T,B) INT_cfSEP(T,B)
01390 #define INTVVVVVV_cfSEP(T,B) INT_cfSEP(T,B)
01391 #define INTVVVVVVV_cfSEP(T,B) INT_cfSEP(T,B)
01392 #define PINT_cfSEP(T,B) INT_cfSEP(T,B)
01393 #define PVOID_cfSEP(T,B) INT_cfSEP(T,B)
01394 #define ROUTINE_cfSEP(T,B) INT_cfSEP(T,B)
01395 #define SIMPLE_cfSEP(T,B) INT_cfSEP(T,B)
01396 #define VOID_cfSEP(T,B) INT_cfSEP(T,B)
01397 #define STRING_cfSEP(T,B) INT_cfSEP(T,B)
01398 #define STRINGV_cfSEP(T,B) INT_cfSEP(T,B)
01399 #define PSTRING_cfSEP(T,B) INT_cfSEP(T,B)
01400 #define PSTRINGV_cfSEP(T,B) INT_cfSEP(T,B)
01401 #define PNSTRING_cfSEP(T,B) INT_cfSEP(T,B)
01402 #define PPSTRING_cfSEP(T,B) INT_cfSEP(T,B)
01403 #define ZTRINGV_cfSEP(T,B) INT_cfSEP(T,B)
01404 #define PZTRINGV_cfSEP(T,B) INT_cfSEP(T,B)
01405
01406 #if defined(SIGNED_BYTE) || !defined(UNSIGNED_BYTE)
01407 #ifdef OLD_VAXC
01408 #define INTEGER_BYTE char
01409 #else
01410 #define INTEGER_BYTE signed char
01411 #endif
01412 #else
01413 #define INTEGER_BYTE unsigned char
01414 #endif
01415 #define BYTEVVVVVVV_cfTYPE INTEGER_BYTE
01416 #define DOUBLEVVVVVVV_cfTYPE DOUBLE_PRECISION
01417 #define FLOATVVVVVVV_cfTYPE FORTRAN_REAL
01418 #define INTVVVVVVV_cfTYPE int
01419 #define LOGICALVVVVVVV_cfTYPE int
01420 #define LONGVVVVVVV_cfTYPE long
01421 #define LONGLONGVVVVVVV_cfTYPE LONGLONG
01422 #define SHORTVVVVVVV_cfTYPE short
01423 #define PBYTE_cfTYPE INTEGER_BYTE
01424 #define PDOUBLE_cfTYPE DOUBLE_PRECISION
01425 #define PFLOAT_cfTYPE FORTRAN_REAL
01426 #define PINT_cfTYPE int
01427 #define PLOGICAL_cfTYPE int
01428 #define PLONG_cfTYPE long
01429 #define PLONGLONG_cfTYPE LONGLONG
01430 #define PSHORT_cfTYPE short
01431
01432 #define CFARGS0(A,T,V,W,X,Y,Z) _3(T,_cf,A)
01433 #define CFARGS1(A,T,V,W,X,Y,Z) _3(T,_cf,A)(V)
01434 #define CFARGS2(A,T,V,W,X,Y,Z) _3(T,_cf,A)(V,W)
01435 #define CFARGS3(A,T,V,W,X,Y,Z) _3(T,_cf,A)(V,W,X)
01436 #define CFARGS4(A,T,V,W,X,Y,Z) _3(T,_cf,A)(V,W,X,Y)
01437 #define CFARGS5(A,T,V,W,X,Y,Z) _3(T,_cf,A)(V,W,X,Y,Z)
01438
01439 #define _Icf(N,T,I,X,Y) _(I,_cfINT)(N,T,I,X,Y,0)
01440 #define _Icf4(N,T,I,X,Y,Z) _(I,_cfINT)(N,T,I,X,Y,Z)
01441 #define BYTE_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z)
01442 #define DOUBLE_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INT,B,X,Y,Z,0)
01443 #define FLOAT_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z)
01444 #define INT_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z)
01445 #define LOGICAL_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z)
01446 #define LONG_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z)
01447 #define LONGLONG_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z)
01448 #define SHORT_cfINT(N,A,B,X,Y,Z) DOUBLE_cfINT(N,A,B,X,Y,Z)
01449 #define PBYTE_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z)
01450 #define PDOUBLE_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,PINT,B,X,Y,Z,0)
01451 #define PFLOAT_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z)
01452 #define PINT_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z)
01453 #define PLOGICAL_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z)
01454 #define PLONG_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z)
01455 #define PLONGLONG_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z)
01456 #define PSHORT_cfINT(N,A,B,X,Y,Z) PDOUBLE_cfINT(N,A,B,X,Y,Z)
01457 #define BYTEV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z)
01458 #define BYTEVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z)
01459 #define BYTEVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
01460 #define BYTEVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z)
01461 #define BYTEVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
01462 #define BYTEVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
01463 #define BYTEVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
01464 #define DOUBLEV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INTV,B,X,Y,Z,0)
01465 #define DOUBLEVV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INTVV,B,X,Y,Z,0)
01466 #define DOUBLEVVV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INTVVV,B,X,Y,Z,0)
01467 #define DOUBLEVVVV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INTVVVV,B,X,Y,Z,0)
01468 #define DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INTVVVVV,B,X,Y,Z,0)
01469 #define DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INTVVVVVV,B,X,Y,Z,0)
01470 #define DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,INTVVVVVVV,B,X,Y,Z,0)
01471 #define FLOATV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z)
01472 #define FLOATVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z)
01473 #define FLOATVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
01474 #define FLOATVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z)
01475 #define FLOATVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
01476 #define FLOATVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
01477 #define FLOATVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
01478 #define INTV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z)
01479 #define INTVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z)
01480 #define INTVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
01481 #define INTVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z)
01482 #define INTVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
01483 #define INTVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
01484 #define INTVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
01485 #define LOGICALV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z)
01486 #define LOGICALVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z)
01487 #define LOGICALVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
01488 #define LOGICALVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z)
01489 #define LOGICALVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
01490 #define LOGICALVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
01491 #define LOGICALVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
01492 #define LONGV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z)
01493 #define LONGVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z)
01494 #define LONGVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
01495 #define LONGVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z)
01496 #define LONGVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
01497 #define LONGVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
01498 #define LONGVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
01499 #define LONGLONGV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z)
01500 #define LONGLONGVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z)
01501 #define LONGLONGVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
01502 #define LONGLONGVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z)
01503 #define LONGLONGVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
01504 #define LONGLONGVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
01505 #define LONGLONGVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
01506 #define SHORTV_cfINT(N,A,B,X,Y,Z) DOUBLEV_cfINT(N,A,B,X,Y,Z)
01507 #define SHORTVV_cfINT(N,A,B,X,Y,Z) DOUBLEVV_cfINT(N,A,B,X,Y,Z)
01508 #define SHORTVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVV_cfINT(N,A,B,X,Y,Z)
01509 #define SHORTVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVV_cfINT(N,A,B,X,Y,Z)
01510 #define SHORTVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVV_cfINT(N,A,B,X,Y,Z)
01511 #define SHORTVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVV_cfINT(N,A,B,X,Y,Z)
01512 #define SHORTVVVVVVV_cfINT(N,A,B,X,Y,Z) DOUBLEVVVVVVV_cfINT(N,A,B,X,Y,Z)
01513 #define PVOID_cfINT(N,A,B,X,Y,Z) _(CFARGS,N)(A,B,B,X,Y,Z,0)
01514 #define ROUTINE_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01515
01516
01517
01518
01519
01520
01521 #define SIMPLE_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01522 #define VOID_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01523 #define STRING_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01524 #define STRINGV_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01525 #define PSTRING_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01526 #define PSTRINGV_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01527 #define PNSTRING_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01528 #define PPSTRING_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01529 #define ZTRINGV_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01530 #define PZTRINGV_cfINT(N,A,B,X,Y,Z) PVOID_cfINT(N,A,B,X,Y,Z)
01531 #define CF_0_cfINT(N,A,B,X,Y,Z)
01532
01533
01534 #define UCF(TN,I,C) _SEP_(TN,C,cfCOMMA) _Icf(2,U,TN,_(A,I),0)
01535 #define UUCF(TN,I,C) _SEP_(TN,C,cfCOMMA) _SEP_(TN,1,I)
01536 #define UUUCF(TN,I,C) _SEP_(TN,C,cfCOLON) _Icf(2,U,TN,_(A,I),0)
01537 #define INT_cfU(T,A) _(T,VVVVVVV_cfTYPE) A
01538 #define INTV_cfU(T,A) _(T,VVVVVV_cfTYPE) * A
01539 #define INTVV_cfU(T,A) _(T,VVVVV_cfTYPE) * A
01540 #define INTVVV_cfU(T,A) _(T,VVVV_cfTYPE) * A
01541 #define INTVVVV_cfU(T,A) _(T,VVV_cfTYPE) * A
01542 #define INTVVVVV_cfU(T,A) _(T,VV_cfTYPE) * A
01543 #define INTVVVVVV_cfU(T,A) _(T,V_cfTYPE) * A
01544 #define INTVVVVVVV_cfU(T,A) _(T,_cfTYPE) * A
01545 #define PINT_cfU(T,A) _(T,_cfTYPE) * A
01546 #define PVOID_cfU(T,A) void *A
01547 #define ROUTINE_cfU(T,A) void (*A)(CF_NULL_PROTO)
01548 #define VOID_cfU(T,A) void A
01549 #define STRING_cfU(T,A) char *A
01550 #define STRINGV_cfU(T,A) char *A
01551 #define PSTRING_cfU(T,A) char *A
01552 #define PSTRINGV_cfU(T,A) char *A
01553 #define ZTRINGV_cfU(T,A) char *A
01554 #define PZTRINGV_cfU(T,A) char *A
01555
01556
01557 #define INT_cfUU(T,A) _(T,VVVVVVV_cfTYPE) A
01558 #define VOID_cfUU(T,A)
01559 #define STRING_cfUU(T,A) char *A
01560
01561
01562 #define BYTE_cfPU(A) CFextern INTEGER_BYTE FCALLSC_QUALIFIER A
01563 #define DOUBLE_cfPU(A) CFextern DOUBLE_PRECISION FCALLSC_QUALIFIER A
01564 #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT))
01565 #if defined (f2cFortran) && ! defined (gFortran)
01566
01567 #define FLOAT_cfPU(A) CFextern DOUBLE_PRECISION FCALLSC_QUALIFIER A
01568 #else
01569 #define FLOAT_cfPU(A) CFextern FORTRAN_REAL FCALLSC_QUALIFIER A
01570 #endif
01571 #else
01572 #define FLOAT_cfPU(A) CFextern FLOATFUNCTIONTYPE FCALLSC_QUALIFIER A
01573 #endif
01574 #define INT_cfPU(A) CFextern int FCALLSC_QUALIFIER A
01575 #define LOGICAL_cfPU(A) CFextern int FCALLSC_QUALIFIER A
01576 #define LONG_cfPU(A) CFextern long FCALLSC_QUALIFIER A
01577 #define SHORT_cfPU(A) CFextern short FCALLSC_QUALIFIER A
01578 #define STRING_cfPU(A) CFextern void FCALLSC_QUALIFIER A
01579 #define VOID_cfPU(A) CFextern void FCALLSC_QUALIFIER A
01580
01581 #define BYTE_cfE INTEGER_BYTE A0;
01582 #define DOUBLE_cfE DOUBLE_PRECISION A0;
01583 #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT))
01584 #define FLOAT_cfE FORTRAN_REAL A0;
01585 #else
01586 #define FLOAT_cfE FORTRAN_REAL AA0; FLOATFUNCTIONTYPE A0;
01587 #endif
01588 #define INT_cfE int A0;
01589 #define LOGICAL_cfE int A0;
01590 #define LONG_cfE long A0;
01591 #define SHORT_cfE short A0;
01592 #define VOID_cfE
01593 #ifdef vmsFortran
01594 #define STRING_cfE static char AA0[1+MAX_LEN_FORTRAN_FUNCTION_STRING]; \
01595 static fstring A0 = \
01596 {MAX_LEN_FORTRAN_FUNCTION_STRING,DSC$K_DTYPE_T,DSC$K_CLASS_S,AA0};\
01597 memset(AA0, CFORTRAN_NON_CHAR, MAX_LEN_FORTRAN_FUNCTION_STRING);\
01598 *(AA0+MAX_LEN_FORTRAN_FUNCTION_STRING)='\0';
01599 #else
01600 #ifdef CRAYFortran
01601 #define STRING_cfE static char AA0[1+MAX_LEN_FORTRAN_FUNCTION_STRING]; \
01602 static _fcd A0; *(AA0+MAX_LEN_FORTRAN_FUNCTION_STRING)='\0';\
01603 memset(AA0,CFORTRAN_NON_CHAR, MAX_LEN_FORTRAN_FUNCTION_STRING);\
01604 A0 = _cptofcd(AA0,MAX_LEN_FORTRAN_FUNCTION_STRING);
01605 #else
01606
01607
01608 #define STRING_cfE static char A0[1+MAX_LEN_FORTRAN_FUNCTION_STRING]; \
01609 memset(A0, CFORTRAN_NON_CHAR, \
01610 MAX_LEN_FORTRAN_FUNCTION_STRING); \
01611 *(A0+MAX_LEN_FORTRAN_FUNCTION_STRING)='\0';
01612 #endif
01613 #endif
01614
01615
01616
01617
01618
01619
01620
01621 #define INT_cfGZ(T,UN,LN) A0=CFC_(UN,LN)(
01622 #define VOID_cfGZ(T,UN,LN) CFC_(UN,LN)(
01623 #ifdef vmsFortran
01624 #define STRING_cfGZ(T,UN,LN) CFC_(UN,LN)(&A0
01625 #else
01626 #if defined(CRAYFortran) || defined(AbsoftUNIXFortran) || defined(AbsoftProFortran)
01627 #define STRING_cfGZ(T,UN,LN) CFC_(UN,LN)( A0
01628 #else
01629 #define STRING_cfGZ(T,UN,LN) CFC_(UN,LN)( A0,MAX_LEN_FORTRAN_FUNCTION_STRING
01630 #endif
01631 #endif
01632
01633 #define INT_cfG(T,UN,LN) INT_cfGZ(T,UN,LN)
01634 #define VOID_cfG(T,UN,LN) VOID_cfGZ(T,UN,LN)
01635 #define STRING_cfG(T,UN,LN) STRING_cfGZ(T,UN,LN),
01636
01637 #define BYTEVVVVVVV_cfPP
01638 #define INTVVVVVVV_cfPP
01639 #define DOUBLEVVVVVVV_cfPP
01640 #define LOGICALVVVVVVV_cfPP
01641 #define LONGVVVVVVV_cfPP
01642 #define SHORTVVVVVVV_cfPP
01643 #define PBYTE_cfPP
01644 #define PINT_cfPP
01645 #define PDOUBLE_cfPP
01646 #define PLOGICAL_cfPP
01647 #define PLONG_cfPP
01648 #define PSHORT_cfPP
01649 #define PFLOAT_cfPP FLOATVVVVVVV_cfPP
01650
01651 #define BCF(TN,AN,C) _SEP_(TN,C,cfCOMMA) _Icf(2,B,TN,AN,0)
01652 #define INT_cfB(T,A) (_(T,VVVVVVV_cfTYPE)) A
01653 #define INTV_cfB(T,A) A
01654 #define INTVV_cfB(T,A) (A)[0]
01655 #define INTVVV_cfB(T,A) (A)[0][0]
01656 #define INTVVVV_cfB(T,A) (A)[0][0][0]
01657 #define INTVVVVV_cfB(T,A) (A)[0][0][0][0]
01658 #define INTVVVVVV_cfB(T,A) (A)[0][0][0][0][0]
01659 #define INTVVVVVVV_cfB(T,A) (A)[0][0][0][0][0][0]
01660 #define PINT_cfB(T,A) _(T,_cfPP)&A
01661 #define STRING_cfB(T,A) (char *) A
01662 #define STRINGV_cfB(T,A) (char *) A
01663 #define PSTRING_cfB(T,A) (char *) A
01664 #define PSTRINGV_cfB(T,A) (char *) A
01665 #define PVOID_cfB(T,A) (void *) A
01666 #define ROUTINE_cfB(T,A) (cfCAST_FUNCTION)A
01667 #define ZTRINGV_cfB(T,A) (char *) A
01668 #define PZTRINGV_cfB(T,A) (char *) A
01669
01670 #define SCF(TN,NAME,I,A) _(TN,_cfSTR)(3,S,NAME,I,A,0,0)
01671 #define DEFAULT_cfS(M,I,A)
01672 #define LOGICAL_cfS(M,I,A)
01673 #define PLOGICAL_cfS(M,I,A)
01674 #define STRING_cfS(M,I,A) ,sizeof(A)
01675 #define STRINGV_cfS(M,I,A) ,( (unsigned)0xFFFF*firstindexlength(A) \
01676 +secondindexlength(A))
01677 #define PSTRING_cfS(M,I,A) ,sizeof(A)
01678 #define PSTRINGV_cfS(M,I,A) STRINGV_cfS(M,I,A)
01679 #define ZTRINGV_cfS(M,I,A)
01680 #define PZTRINGV_cfS(M,I,A)
01681
01682 #define HCF(TN,I) _(TN,_cfSTR)(3,H,cfCOMMA, H,_(C,I),0,0)
01683 #define HHCF(TN,I) _(TN,_cfSTR)(3,H,cfCOMMA,HH,_(C,I),0,0)
01684 #define HHHCF(TN,I) _(TN,_cfSTR)(3,H,cfCOLON, H,_(C,I),0,0)
01685 #define H_CF_SPECIAL unsigned
01686 #define HH_CF_SPECIAL
01687 #define DEFAULT_cfH(M,I,A)
01688 #define LOGICAL_cfH(S,U,B)
01689 #define PLOGICAL_cfH(S,U,B)
01690 #define STRING_cfH(S,U,B) _(A,S) _(U,_CF_SPECIAL) B
01691 #define STRINGV_cfH(S,U,B) STRING_cfH(S,U,B)
01692 #define PSTRING_cfH(S,U,B) STRING_cfH(S,U,B)
01693 #define PSTRINGV_cfH(S,U,B) STRING_cfH(S,U,B)
01694 #define PNSTRING_cfH(S,U,B) STRING_cfH(S,U,B)
01695 #define PPSTRING_cfH(S,U,B) STRING_cfH(S,U,B)
01696 #define ZTRINGV_cfH(S,U,B)
01697 #define PZTRINGV_cfH(S,U,B)
01698
01699
01700
01701 #define VOID_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01702 #define BYTE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01703 #define DOUBLE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01704 #define FLOAT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01705 #define INT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01706 #define LOGICAL_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,LOGICAL,A,B,C,D,E)
01707 #define LONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01708 #define LONGLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01709 #define SHORT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01710 #define BYTEV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01711 #define BYTEVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01712 #define BYTEVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01713 #define BYTEVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01714 #define BYTEVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01715 #define BYTEVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01716 #define BYTEVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01717 #define DOUBLEV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01718 #define DOUBLEVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01719 #define DOUBLEVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01720 #define DOUBLEVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01721 #define DOUBLEVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01722 #define DOUBLEVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01723 #define DOUBLEVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01724 #define FLOATV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01725 #define FLOATVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01726 #define FLOATVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01727 #define FLOATVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01728 #define FLOATVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01729 #define FLOATVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01730 #define FLOATVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01731 #define INTV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01732 #define INTVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01733 #define INTVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01734 #define INTVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01735 #define INTVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01736 #define INTVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01737 #define INTVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01738 #define LOGICALV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01739 #define LOGICALVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01740 #define LOGICALVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01741 #define LOGICALVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01742 #define LOGICALVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01743 #define LOGICALVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01744 #define LOGICALVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01745 #define LONGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01746 #define LONGVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01747 #define LONGVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01748 #define LONGVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01749 #define LONGVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01750 #define LONGVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01751 #define LONGVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01752 #define LONGLONGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01753 #define LONGLONGVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01754 #define LONGLONGVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01755 #define LONGLONGVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01756 #define LONGLONGVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01757 #define LONGLONGVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01758 #define LONGLONGVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01759 #define SHORTV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01760 #define SHORTVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01761 #define SHORTVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01762 #define SHORTVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01763 #define SHORTVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01764 #define SHORTVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01765 #define SHORTVVVVVVV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01766 #define PBYTE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01767 #define PDOUBLE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01768 #define PFLOAT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01769 #define PINT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01770 #define PLOGICAL_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PLOGICAL,A,B,C,D,E)
01771 #define PLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01772 #define PLONGLONG_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01773 #define PSHORT_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01774 #define STRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,STRING,A,B,C,D,E)
01775 #define PSTRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PSTRING,A,B,C,D,E)
01776 #define STRINGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,STRINGV,A,B,C,D,E)
01777 #define PSTRINGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PSTRINGV,A,B,C,D,E)
01778 #define PNSTRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PNSTRING,A,B,C,D,E)
01779 #define PPSTRING_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PPSTRING,A,B,C,D,E)
01780 #define PVOID_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01781 #define ROUTINE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01782 #define SIMPLE_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,DEFAULT,A,B,C,D,E)
01783 #define ZTRINGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,ZTRINGV,A,B,C,D,E)
01784 #define PZTRINGV_cfSTR(N,T,A,B,C,D,E) _(CFARGS,N)(T,PZTRINGV,A,B,C,D,E)
01785 #define CF_0_cfSTR(N,T,A,B,C,D,E)
01786
01787
01788 #define CCF(NAME,TN,I) _(TN,_cfSTR)(5,C,NAME,I,_(A,I),_(B,I),_(C,I))
01789 #define DEFAULT_cfC(M,I,A,B,C)
01790 #define LOGICAL_cfC(M,I,A,B,C) A=C2FLOGICAL( A);
01791 #define PLOGICAL_cfC(M,I,A,B,C) *A=C2FLOGICAL(*A);
01792 #ifdef vmsFortran
01793 #define STRING_cfC(M,I,A,B,C) (B.clen=strlen(A),B.f.dsc$a_pointer=A, \
01794 C==sizeof(char*)||C==(unsigned)(B.clen+1)?B.f.dsc$w_length=B.clen: \
01795 (memset((A)+B.clen,' ',C-B.clen-1),A[B.f.dsc$w_length=C-1]='\0'));
01796
01797 #define PSTRING_cfC(M,I,A,B,C) (B.dsc$a_pointer=A, C==sizeof(char*) ? \
01798 B.dsc$w_length=strlen(A): (A[C-1]='\0',B.dsc$w_length=strlen(A), \
01799 memset((A)+B.dsc$w_length,' ',C-B.dsc$w_length-1), B.dsc$w_length=C-1));
01800 #else
01801 #define STRING_cfC(M,I,A,B,C) (B.nombre=A,B.clen=strlen(A), \
01802 C==sizeof(char*)||C==(unsigned)(B.clen+1)?B.flen=B.clen: \
01803 (memset(B.nombre+B.clen,' ',C-B.clen-1),B.nombre[B.flen=C-1]='\0'));
01804 #define PSTRING_cfC(M,I,A,B,C) (C==sizeof(char*)? B=strlen(A): \
01805 (A[C-1]='\0',B=strlen(A),memset((A)+B,' ',C-B-1),B=C-1));
01806 #endif
01807
01808 #define STRINGV_cfC(M,I,A,B,C) \
01809 AATRINGV_cfA( A,B,(C/0xFFFF)*(C%0xFFFF),C/0xFFFF,C%0xFFFF)
01810 #define PSTRINGV_cfC(M,I,A,B,C) \
01811 APATRINGV_cfA( A,B,(C/0xFFFF)*(C%0xFFFF),C/0xFFFF,C%0xFFFF)
01812 #define ZTRINGV_cfC(M,I,A,B,C) \
01813 AATRINGV_cfA( A,B, (_3(M,_ELEMS_,I))*((_3(M,_ELEMLEN_,I))+1), \
01814 (_3(M,_ELEMS_,I)), (_3(M,_ELEMLEN_,I))+1 )
01815 #define PZTRINGV_cfC(M,I,A,B,C) \
01816 APATRINGV_cfA( A,B, (_3(M,_ELEMS_,I))*((_3(M,_ELEMLEN_,I))+1), \
01817 (_3(M,_ELEMS_,I)), (_3(M,_ELEMLEN_,I))+1 )
01818
01819 #define BYTE_cfCCC(A,B) &A
01820 #define DOUBLE_cfCCC(A,B) &A
01821 #if !defined(__CF__KnR)
01822 #define FLOAT_cfCCC(A,B) &A
01823
01824 #else
01825 #define FLOAT_cfCCC(A,B) &B
01826 #endif
01827 #define INT_cfCCC(A,B) &A
01828 #define LOGICAL_cfCCC(A,B) &A
01829 #define LONG_cfCCC(A,B) &A
01830 #define SHORT_cfCCC(A,B) &A
01831 #define PBYTE_cfCCC(A,B) A
01832 #define PDOUBLE_cfCCC(A,B) A
01833 #define PFLOAT_cfCCC(A,B) A
01834 #define PINT_cfCCC(A,B) A
01835 #define PLOGICAL_cfCCC(A,B) B=A
01836 #define PLONG_cfCCC(A,B) A
01837 #define PSHORT_cfCCC(A,B) A
01838
01839 #define CCCF(TN,I,M) _SEP_(TN,M,cfCOMMA) _Icf(3,CC,TN,_(A,I),_(B,I))
01840 #define INT_cfCC(T,A,B) _(T,_cfCCC)(A,B)
01841 #define INTV_cfCC(T,A,B) A
01842 #define INTVV_cfCC(T,A,B) A
01843 #define INTVVV_cfCC(T,A,B) A
01844 #define INTVVVV_cfCC(T,A,B) A
01845 #define INTVVVVV_cfCC(T,A,B) A
01846 #define INTVVVVVV_cfCC(T,A,B) A
01847 #define INTVVVVVVV_cfCC(T,A,B) A
01848 #define PINT_cfCC(T,A,B) _(T,_cfCCC)(A,B)
01849 #define PVOID_cfCC(T,A,B) A
01850 #if defined(apolloFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran)
01851 #define ROUTINE_cfCC(T,A,B) &A
01852 #else
01853 #define ROUTINE_cfCC(T,A,B) A
01854 #endif
01855 #define SIMPLE_cfCC(T,A,B) A
01856 #ifdef vmsFortran
01857 #define STRING_cfCC(T,A,B) &B.f
01858 #define STRINGV_cfCC(T,A,B) &B
01859 #define PSTRING_cfCC(T,A,B) &B
01860 #define PSTRINGV_cfCC(T,A,B) &B
01861 #else
01862 #ifdef CRAYFortran
01863 #define STRING_cfCC(T,A,B) _cptofcd(A,B.flen)
01864 #define STRINGV_cfCC(T,A,B) _cptofcd(B.s,B.flen)
01865 #define PSTRING_cfCC(T,A,B) _cptofcd(A,B)
01866 #define PSTRINGV_cfCC(T,A,B) _cptofcd(A,B.flen)
01867 #else
01868 #define STRING_cfCC(T,A,B) A
01869 #define STRINGV_cfCC(T,A,B) B.fs
01870 #define PSTRING_cfCC(T,A,B) A
01871 #define PSTRINGV_cfCC(T,A,B) B.fs
01872 #endif
01873 #endif
01874 #define ZTRINGV_cfCC(T,A,B) STRINGV_cfCC(T,A,B)
01875 #define PZTRINGV_cfCC(T,A,B) PSTRINGV_cfCC(T,A,B)
01876
01877 #define BYTE_cfX return A0;
01878 #define DOUBLE_cfX return A0;
01879 #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT))
01880 #define FLOAT_cfX return A0;
01881 #else
01882 #define FLOAT_cfX ASSIGNFLOAT(AA0,A0); return AA0;
01883 #endif
01884 #define INT_cfX return A0;
01885 #define LOGICAL_cfX return F2CLOGICAL(A0);
01886 #define LONG_cfX return A0;
01887 #define SHORT_cfX return A0;
01888 #define VOID_cfX return ;
01889 #if defined(vmsFortran) || defined(CRAYFortran)
01890 #define STRING_cfX return kill_trailing( \
01891 kill_trailing(AA0,CFORTRAN_NON_CHAR),' ');
01892 #else
01893 #define STRING_cfX return kill_trailing( \
01894 kill_trailing( A0,CFORTRAN_NON_CHAR),' ');
01895 #endif
01896
01897 #define CFFUN(NAME) _(__cf__,NAME)
01898
01899
01900 #define CCALLSFFUN0(UN,LN) CFFUN(UN)()
01901
01902 #ifdef OLD_VAXC
01903 #pragma standard
01904 #endif
01905
01906 #define CCALLSFFUN1( UN,LN,T1, A1) \
01907 CCALLSFFUN5 (UN,LN,T1,CF_0,CF_0,CF_0,CF_0,A1,0,0,0,0)
01908 #define CCALLSFFUN2( UN,LN,T1,T2, A1,A2) \
01909 CCALLSFFUN5 (UN,LN,T1,T2,CF_0,CF_0,CF_0,A1,A2,0,0,0)
01910 #define CCALLSFFUN3( UN,LN,T1,T2,T3, A1,A2,A3) \
01911 CCALLSFFUN5 (UN,LN,T1,T2,T3,CF_0,CF_0,A1,A2,A3,0,0)
01912 #define CCALLSFFUN4( UN,LN,T1,T2,T3,T4, A1,A2,A3,A4)\
01913 CCALLSFFUN5 (UN,LN,T1,T2,T3,T4,CF_0,A1,A2,A3,A4,0)
01914 #define CCALLSFFUN5( UN,LN,T1,T2,T3,T4,T5, A1,A2,A3,A4,A5) \
01915 CCALLSFFUN10(UN,LN,T1,T2,T3,T4,T5,CF_0,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,0,0,0,0,0)
01916 #define CCALLSFFUN6( UN,LN,T1,T2,T3,T4,T5,T6, A1,A2,A3,A4,A5,A6) \
01917 CCALLSFFUN10(UN,LN,T1,T2,T3,T4,T5,T6,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,0,0,0,0)
01918 #define CCALLSFFUN7( UN,LN,T1,T2,T3,T4,T5,T6,T7, A1,A2,A3,A4,A5,A6,A7) \
01919 CCALLSFFUN10(UN,LN,T1,T2,T3,T4,T5,T6,T7,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,0,0,0)
01920 #define CCALLSFFUN8( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8, A1,A2,A3,A4,A5,A6,A7,A8) \
01921 CCALLSFFUN10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,0,0)
01922 #define CCALLSFFUN9( UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,A1,A2,A3,A4,A5,A6,A7,A8,A9)\
01923 CCALLSFFUN10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,0)
01924 #define CCALLSFFUN10(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA)\
01925 CCALLSFFUN14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,CF_0,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,0,0,0,0)
01926 #define CCALLSFFUN11(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB)\
01927 CCALLSFFUN14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,CF_0,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,0,0,0)
01928 #define CCALLSFFUN12(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC)\
01929 CCALLSFFUN14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,CF_0,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,0,0)
01930 #define CCALLSFFUN13(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD)\
01931 CCALLSFFUN14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,CF_0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,0)
01932
01933 #define CCALLSFFUN14(UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE)\
01934 ((CFFUN(UN)( BCF(T1,A1,0) BCF(T2,A2,1) BCF(T3,A3,1) BCF(T4,A4,1) BCF(T5,A5,1) \
01935 BCF(T6,A6,1) BCF(T7,A7,1) BCF(T8,A8,1) BCF(T9,A9,1) BCF(TA,AA,1) \
01936 BCF(TB,AB,1) BCF(TC,AC,1) BCF(TD,AD,1) BCF(TE,AE,1) \
01937 SCF(T1,LN,1,A1) SCF(T2,LN,2,A2) SCF(T3,LN,3,A3) SCF(T4,LN,4,A4) \
01938 SCF(T5,LN,5,A5) SCF(T6,LN,6,A6) SCF(T7,LN,7,A7) SCF(T8,LN,8,A8) \
01939 SCF(T9,LN,9,A9) SCF(TA,LN,10,AA) SCF(TB,LN,11,AB) SCF(TC,LN,12,AC) \
01940 SCF(TD,LN,13,AD) SCF(TE,LN,14,AE))))
01941
01942
01943
01944
01945
01946
01947
01948
01949
01950
01951
01952
01953
01954
01955 #define PROTOCCALLSFFUN0(F,UN,LN) \
01956 _(F,_cfPU)( CFC_(UN,LN))(CF_NULL_PROTO); \
01957 static _Icf(2,U,F,CFFUN(UN),0)() {_(F,_cfE) _Icf(3,GZ,F,UN,LN) ABSOFT_cf1(F));_(F,_cfX)}
01958
01959 #define PROTOCCALLSFFUN1( T0,UN,LN,T1) \
01960 PROTOCCALLSFFUN5 (T0,UN,LN,T1,CF_0,CF_0,CF_0,CF_0)
01961 #define PROTOCCALLSFFUN2( T0,UN,LN,T1,T2) \
01962 PROTOCCALLSFFUN5 (T0,UN,LN,T1,T2,CF_0,CF_0,CF_0)
01963 #define PROTOCCALLSFFUN3( T0,UN,LN,T1,T2,T3) \
01964 PROTOCCALLSFFUN5 (T0,UN,LN,T1,T2,T3,CF_0,CF_0)
01965 #define PROTOCCALLSFFUN4( T0,UN,LN,T1,T2,T3,T4) \
01966 PROTOCCALLSFFUN5 (T0,UN,LN,T1,T2,T3,T4,CF_0)
01967 #define PROTOCCALLSFFUN5( T0,UN,LN,T1,T2,T3,T4,T5) \
01968 PROTOCCALLSFFUN10(T0,UN,LN,T1,T2,T3,T4,T5,CF_0,CF_0,CF_0,CF_0,CF_0)
01969 #define PROTOCCALLSFFUN6( T0,UN,LN,T1,T2,T3,T4,T5,T6) \
01970 PROTOCCALLSFFUN10(T0,UN,LN,T1,T2,T3,T4,T5,T6,CF_0,CF_0,CF_0,CF_0)
01971 #define PROTOCCALLSFFUN7( T0,UN,LN,T1,T2,T3,T4,T5,T6,T7) \
01972 PROTOCCALLSFFUN10(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,CF_0,CF_0,CF_0)
01973 #define PROTOCCALLSFFUN8( T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8) \
01974 PROTOCCALLSFFUN10(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,CF_0,CF_0)
01975 #define PROTOCCALLSFFUN9( T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9) \
01976 PROTOCCALLSFFUN10(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,CF_0)
01977 #define PROTOCCALLSFFUN10(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA) \
01978 PROTOCCALLSFFUN14(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,CF_0,CF_0,CF_0,CF_0)
01979 #define PROTOCCALLSFFUN11(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB) \
01980 PROTOCCALLSFFUN14(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,CF_0,CF_0,CF_0)
01981 #define PROTOCCALLSFFUN12(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC) \
01982 PROTOCCALLSFFUN14(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,CF_0,CF_0)
01983 #define PROTOCCALLSFFUN13(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD) \
01984 PROTOCCALLSFFUN14(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,CF_0)
01985
01986
01987
01988 #ifndef __CF__KnR
01989 #define PROTOCCALLSFFUN14(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
01990 _(T0,_cfPU)(CFC_(UN,LN))(CF_NULL_PROTO); static _Icf(2,U,T0,CFFUN(UN),0)( \
01991 CFARGT14FS(UCF,HCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) ) \
01992 { CFARGT14S(VCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) _(T0,_cfE) \
01993 CCF(LN,T1,1) CCF(LN,T2,2) CCF(LN,T3,3) CCF(LN,T4,4) CCF(LN,T5,5) \
01994 CCF(LN,T6,6) CCF(LN,T7,7) CCF(LN,T8,8) CCF(LN,T9,9) CCF(LN,TA,10) \
01995 CCF(LN,TB,11) CCF(LN,TC,12) CCF(LN,TD,13) CCF(LN,TE,14) _Icf(3,G,T0,UN,LN) \
01996 CFARGT14(CCCF,JCF,ABSOFT_cf1(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)); \
01997 WCF(T1,A1,1) WCF(T2,A2,2) WCF(T3,A3,3) WCF(T4,A4,4) WCF(T5,A5,5) \
01998 WCF(T6,A6,6) WCF(T7,A7,7) WCF(T8,A8,8) WCF(T9,A9,9) WCF(TA,A10,10) \
01999 WCF(TB,A11,11) WCF(TC,A12,12) WCF(TD,A13,13) WCF(TE,A14,14) _(T0,_cfX)}
02000 #else
02001 #define PROTOCCALLSFFUN14(T0,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
02002 _(T0,_cfPU)(CFC_(UN,LN))(CF_NULL_PROTO); static _Icf(2,U,T0,CFFUN(UN),0)( \
02003 CFARGT14FS(UUCF,HHCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) ) \
02004 CFARGT14FS(UUUCF,HHHCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) ; \
02005 { CFARGT14S(VCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) _(T0,_cfE) \
02006 CCF(LN,T1,1) CCF(LN,T2,2) CCF(LN,T3,3) CCF(LN,T4,4) CCF(LN,T5,5) \
02007 CCF(LN,T6,6) CCF(LN,T7,7) CCF(LN,T8,8) CCF(LN,T9,9) CCF(LN,TA,10) \
02008 CCF(LN,TB,11) CCF(LN,TC,12) CCF(LN,TD,13) CCF(LN,TE,14) _Icf(3,G,T0,UN,LN) \
02009 CFARGT14(CCCF,JCF,ABSOFT_cf1(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)); \
02010 WCF(T1,A1,1) WCF(T2,A2,2) WCF(T3,A3,3) WCF(T4,A4,4) WCF(T5,A5,5) \
02011 WCF(T6,A6,6) WCF(T7,A7,7) WCF(T8,A8,8) WCF(T9,A9,9) WCF(TA,A10,10) \
02012 WCF(TB,A11,11) WCF(TC,A12,12) WCF(TD,A13,13) WCF(TE,A14,14) _(T0,_cfX)}
02013 #endif
02014
02015
02016
02017
02018
02019 #ifdef OLD_VAXC
02020 #pragma nostandard
02021 #endif
02022
02023 #if defined(vmsFortran) || defined(CRAYFortran)
02024 #define DCF(TN,I)
02025 #define DDCF(TN,I)
02026 #define DDDCF(TN,I)
02027 #else
02028 #define DCF(TN,I) HCF(TN,I)
02029 #define DDCF(TN,I) HHCF(TN,I)
02030 #define DDDCF(TN,I) HHHCF(TN,I)
02031 #endif
02032
02033 #define QCF(TN,I) _(TN,_cfSTR)(1,Q,_(B,I), 0,0,0,0)
02034 #define DEFAULT_cfQ(B)
02035 #define LOGICAL_cfQ(B)
02036 #define PLOGICAL_cfQ(B)
02037 #define STRINGV_cfQ(B) char *B; unsigned int _(B,N);
02038 #define STRING_cfQ(B) char *B=NULL;
02039 #define PSTRING_cfQ(B) char *B=NULL;
02040 #define PSTRINGV_cfQ(B) STRINGV_cfQ(B)
02041 #define PNSTRING_cfQ(B) char *B=NULL;
02042 #define PPSTRING_cfQ(B)
02043
02044 #ifdef __sgi
02045 #define ROUTINE_orig *(void**)&
02046 #else
02047 #define ROUTINE_orig (void *)
02048 #endif
02049
02050 #define ROUTINE_1 ROUTINE_orig
02051 #define ROUTINE_2 ROUTINE_orig
02052 #define ROUTINE_3 ROUTINE_orig
02053 #define ROUTINE_4 ROUTINE_orig
02054 #define ROUTINE_5 ROUTINE_orig
02055 #define ROUTINE_6 ROUTINE_orig
02056 #define ROUTINE_7 ROUTINE_orig
02057 #define ROUTINE_8 ROUTINE_orig
02058 #define ROUTINE_9 ROUTINE_orig
02059 #define ROUTINE_10 ROUTINE_orig
02060 #define ROUTINE_11 ROUTINE_orig
02061 #define ROUTINE_12 ROUTINE_orig
02062 #define ROUTINE_13 ROUTINE_orig
02063 #define ROUTINE_14 ROUTINE_orig
02064 #define ROUTINE_15 ROUTINE_orig
02065 #define ROUTINE_16 ROUTINE_orig
02066 #define ROUTINE_17 ROUTINE_orig
02067 #define ROUTINE_18 ROUTINE_orig
02068 #define ROUTINE_19 ROUTINE_orig
02069 #define ROUTINE_20 ROUTINE_orig
02070 #define ROUTINE_21 ROUTINE_orig
02071 #define ROUTINE_22 ROUTINE_orig
02072 #define ROUTINE_23 ROUTINE_orig
02073 #define ROUTINE_24 ROUTINE_orig
02074 #define ROUTINE_25 ROUTINE_orig
02075 #define ROUTINE_26 ROUTINE_orig
02076 #define ROUTINE_27 ROUTINE_orig
02077
02078 #define TCF(NAME,TN,I,M) _SEP_(TN,M,cfCOMMA) _(TN,_cfT)(NAME,I,_(A,I),_(B,I),_(C,I))
02079 #define BYTE_cfT(M,I,A,B,D) *A
02080 #define DOUBLE_cfT(M,I,A,B,D) *A
02081 #define FLOAT_cfT(M,I,A,B,D) *A
02082 #define INT_cfT(M,I,A,B,D) *A
02083 #define LOGICAL_cfT(M,I,A,B,D) F2CLOGICAL(*A)
02084 #define LONG_cfT(M,I,A,B,D) *A
02085 #define LONGLONG_cfT(M,I,A,B,D) *A
02086 #define SHORT_cfT(M,I,A,B,D) *A
02087 #define BYTEV_cfT(M,I,A,B,D) A
02088 #define DOUBLEV_cfT(M,I,A,B,D) A
02089 #define FLOATV_cfT(M,I,A,B,D) VOIDP A
02090 #define INTV_cfT(M,I,A,B,D) A
02091 #define LOGICALV_cfT(M,I,A,B,D) A
02092 #define LONGV_cfT(M,I,A,B,D) A
02093 #define LONGLONGV_cfT(M,I,A,B,D) A
02094 #define SHORTV_cfT(M,I,A,B,D) A
02095 #define BYTEVV_cfT(M,I,A,B,D) (void *)A
02096 #define BYTEVVV_cfT(M,I,A,B,D) (void *)A
02097 #define BYTEVVVV_cfT(M,I,A,B,D) (void *)A
02098 #define BYTEVVVVV_cfT(M,I,A,B,D) (void *)A
02099 #define BYTEVVVVVV_cfT(M,I,A,B,D) (void *)A
02100 #define BYTEVVVVVVV_cfT(M,I,A,B,D) (void *)A
02101 #define DOUBLEVV_cfT(M,I,A,B,D) (void *)A
02102 #define DOUBLEVVV_cfT(M,I,A,B,D) (void *)A
02103 #define DOUBLEVVVV_cfT(M,I,A,B,D) (void *)A
02104 #define DOUBLEVVVVV_cfT(M,I,A,B,D) (void *)A
02105 #define DOUBLEVVVVVV_cfT(M,I,A,B,D) (void *)A
02106 #define DOUBLEVVVVVVV_cfT(M,I,A,B,D) (void *)A
02107 #define FLOATVV_cfT(M,I,A,B,D) (void *)A
02108 #define FLOATVVV_cfT(M,I,A,B,D) (void *)A
02109 #define FLOATVVVV_cfT(M,I,A,B,D) (void *)A
02110 #define FLOATVVVVV_cfT(M,I,A,B,D) (void *)A
02111 #define FLOATVVVVVV_cfT(M,I,A,B,D) (void *)A
02112 #define FLOATVVVVVVV_cfT(M,I,A,B,D) (void *)A
02113 #define INTVV_cfT(M,I,A,B,D) (void *)A
02114 #define INTVVV_cfT(M,I,A,B,D) (void *)A
02115 #define INTVVVV_cfT(M,I,A,B,D) (void *)A
02116 #define INTVVVVV_cfT(M,I,A,B,D) (void *)A
02117 #define INTVVVVVV_cfT(M,I,A,B,D) (void *)A
02118 #define INTVVVVVVV_cfT(M,I,A,B,D) (void *)A
02119 #define LOGICALVV_cfT(M,I,A,B,D) (void *)A
02120 #define LOGICALVVV_cfT(M,I,A,B,D) (void *)A
02121 #define LOGICALVVVV_cfT(M,I,A,B,D) (void *)A
02122 #define LOGICALVVVVV_cfT(M,I,A,B,D) (void *)A
02123 #define LOGICALVVVVVV_cfT(M,I,A,B,D) (void *)A
02124 #define LOGICALVVVVVVV_cfT(M,I,A,B,D) (void *)A
02125 #define LONGVV_cfT(M,I,A,B,D) (void *)A
02126 #define LONGVVV_cfT(M,I,A,B,D) (void *)A
02127 #define LONGVVVV_cfT(M,I,A,B,D) (void *)A
02128 #define LONGVVVVV_cfT(M,I,A,B,D) (void *)A
02129 #define LONGVVVVVV_cfT(M,I,A,B,D) (void *)A
02130 #define LONGVVVVVVV_cfT(M,I,A,B,D) (void *)A
02131 #define LONGLONGVV_cfT(M,I,A,B,D) (void *)A
02132 #define LONGLONGVVV_cfT(M,I,A,B,D) (void *)A
02133 #define LONGLONGVVVV_cfT(M,I,A,B,D) (void *)A
02134 #define LONGLONGVVVVV_cfT(M,I,A,B,D) (void *)A
02135 #define LONGLONGVVVVVV_cfT(M,I,A,B,D) (void *)A
02136 #define LONGLONGVVVVVVV_cfT(M,I,A,B,D) (void *)A
02137 #define SHORTVV_cfT(M,I,A,B,D) (void *)A
02138 #define SHORTVVV_cfT(M,I,A,B,D) (void *)A
02139 #define SHORTVVVV_cfT(M,I,A,B,D) (void *)A
02140 #define SHORTVVVVV_cfT(M,I,A,B,D) (void *)A
02141 #define SHORTVVVVVV_cfT(M,I,A,B,D) (void *)A
02142 #define SHORTVVVVVVV_cfT(M,I,A,B,D) (void *)A
02143 #define PBYTE_cfT(M,I,A,B,D) A
02144 #define PDOUBLE_cfT(M,I,A,B,D) A
02145 #define PFLOAT_cfT(M,I,A,B,D) VOIDP A
02146 #define PINT_cfT(M,I,A,B,D) A
02147 #define PLOGICAL_cfT(M,I,A,B,D) ((*A=F2CLOGICAL(*A)),A)
02148 #define PLONG_cfT(M,I,A,B,D) A
02149 #define PLONGLONG_cfT(M,I,A,B,D) A
02150 #define PSHORT_cfT(M,I,A,B,D) A
02151 #define PVOID_cfT(M,I,A,B,D) A
02152 #if defined(apolloFortran) || defined(hpuxFortran800) || defined(AbsoftUNIXFortran)
02153 #define ROUTINE_cfT(M,I,A,B,D) _(ROUTINE_,I) (*A)
02154 #else
02155 #define ROUTINE_cfT(M,I,A,B,D) _(ROUTINE_,I) A
02156 #endif
02157
02158
02159
02160 #define TTSTR( A,B,D) \
02161 ((B=_cf_malloc(D+1))[D]='\0', memcpy(B,A,D), kill_trailing(B,' '))
02162 #define TTTTSTR( A,B,D) (!(D<4||A[0]||A[1]||A[2]||A[3]))?NULL: \
02163 memchr(A,'\0',D) ?A : TTSTR(A,B,D)
02164 #define TTTTSTRV( A,B,D,E) (_(B,N)=E,B=_cf_malloc(_(B,N)*(D+1)), (void *) \
02165 vkill_trailing(f2cstrv(A,B,D+1, _(B,N)*(D+1)), D+1,_(B,N)*(D+1),' '))
02166 #ifdef vmsFortran
02167 #define STRING_cfT(M,I,A,B,D) TTTTSTR( A->dsc$a_pointer,B,A->dsc$w_length)
02168 #define STRINGV_cfT(M,I,A,B,D) TTTTSTRV(A->dsc$a_pointer, B, \
02169 A->dsc$w_length , A->dsc$l_m[0])
02170 #define PSTRING_cfT(M,I,A,B,D) TTSTR( A->dsc$a_pointer,B,A->dsc$w_length)
02171 #define PPSTRING_cfT(M,I,A,B,D) A->dsc$a_pointer
02172 #else
02173 #ifdef CRAYFortran
02174 #define STRING_cfT(M,I,A,B,D) TTTTSTR( _fcdtocp(A),B,_fcdlen(A))
02175 #define STRINGV_cfT(M,I,A,B,D) TTTTSTRV(_fcdtocp(A),B,_fcdlen(A), \
02176 num_elem(_fcdtocp(A),_fcdlen(A),_3(M,_STRV_A,I)))
02177 #define PSTRING_cfT(M,I,A,B,D) TTSTR( _fcdtocp(A),B,_fcdlen(A))
02178 #define PPSTRING_cfT(M,I,A,B,D) _fcdtocp(A)
02179 #else
02180 #define STRING_cfT(M,I,A,B,D) TTTTSTR( A,B,D)
02181 #define STRINGV_cfT(M,I,A,B,D) TTTTSTRV(A,B,D, num_elem(A,D,_3(M,_STRV_A,I)))
02182 #define PSTRING_cfT(M,I,A,B,D) TTSTR( A,B,D)
02183 #define PPSTRING_cfT(M,I,A,B,D) A
02184 #endif
02185 #endif
02186 #define PNSTRING_cfT(M,I,A,B,D) STRING_cfT(M,I,A,B,D)
02187 #define PSTRINGV_cfT(M,I,A,B,D) STRINGV_cfT(M,I,A,B,D)
02188 #define CF_0_cfT(M,I,A,B,D)
02189
02190 #define RCF(TN,I) _(TN,_cfSTR)(3,R,_(A,I),_(B,I),_(C,I),0,0)
02191 #define DEFAULT_cfR(A,B,D)
02192 #define LOGICAL_cfR(A,B,D)
02193 #define PLOGICAL_cfR(A,B,D) *A=C2FLOGICAL(*A);
02194 #define STRING_cfR(A,B,D) if (B) _cf_free(B);
02195 #define STRINGV_cfR(A,B,D) _cf_free(B);
02196
02197 #define RRRRPSTR( A,B,D) if (B) memcpy(A,B, _cfMIN(strlen(B),D)), \
02198 (D>strlen(B)?memset(A+strlen(B),' ', D-strlen(B)):0), _cf_free(B);
02199 #define RRRRPSTRV(A,B,D) c2fstrv(B,A,D+1,(D+1)*_(B,N)), _cf_free(B);
02200 #ifdef vmsFortran
02201 #define PSTRING_cfR(A,B,D) RRRRPSTR( A->dsc$a_pointer,B,A->dsc$w_length)
02202 #define PSTRINGV_cfR(A,B,D) RRRRPSTRV(A->dsc$a_pointer,B,A->dsc$w_length)
02203 #else
02204 #ifdef CRAYFortran
02205 #define PSTRING_cfR(A,B,D) RRRRPSTR( _fcdtocp(A),B,_fcdlen(A))
02206 #define PSTRINGV_cfR(A,B,D) RRRRPSTRV(_fcdtocp(A),B,_fcdlen(A))
02207 #else
02208 #define PSTRING_cfR(A,B,D) RRRRPSTR( A,B,D)
02209 #define PSTRINGV_cfR(A,B,D) RRRRPSTRV(A,B,D)
02210 #endif
02211 #endif
02212 #define PNSTRING_cfR(A,B,D) PSTRING_cfR(A,B,D)
02213 #define PPSTRING_cfR(A,B,D)
02214
02215 #define BYTE_cfFZ(UN,LN) INTEGER_BYTE FCALLSC_QUALIFIER fcallsc(UN,LN)(
02216 #define DOUBLE_cfFZ(UN,LN) DOUBLE_PRECISION FCALLSC_QUALIFIER fcallsc(UN,LN)(
02217 #define INT_cfFZ(UN,LN) int FCALLSC_QUALIFIER fcallsc(UN,LN)(
02218 #define LOGICAL_cfFZ(UN,LN) int FCALLSC_QUALIFIER fcallsc(UN,LN)(
02219 #define LONG_cfFZ(UN,LN) long FCALLSC_QUALIFIER fcallsc(UN,LN)(
02220 #define LONGLONG_cfFZ(UN,LN) LONGLONG FCALLSC_QUALIFIER fcallsc(UN,LN)(
02221 #define SHORT_cfFZ(UN,LN) short FCALLSC_QUALIFIER fcallsc(UN,LN)(
02222 #define VOID_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(
02223 #ifndef __CF__KnR
02224
02225
02226 #if defined (f2cFortran) && ! defined (gFortran)
02227
02228 #define FLOAT_cfFZ(UN,LN) DOUBLE_PRECISION FCALLSC_QUALIFIER fcallsc(UN,LN)(void
02229 #else
02230 #define FLOAT_cfFZ(UN,LN) FORTRAN_REAL FCALLSC_QUALIFIER fcallsc(UN,LN)(void
02231 #endif
02232 #ifdef vmsFortran
02233 #define STRING_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(fstring *AS
02234 #else
02235 #ifdef CRAYFortran
02236 #define STRING_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(_fcd AS
02237 #else
02238 #if defined(AbsoftUNIXFortran) || defined(AbsoftProFortran)
02239 #define STRING_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(char *AS
02240 #else
02241 #define STRING_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(char *AS, unsigned D0
02242 #endif
02243 #endif
02244 #endif
02245 #else
02246 #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT))
02247 #if defined (f2cFortran) && ! defined (gFortran)
02248
02249 #define FLOAT_cfFZ(UN,LN) DOUBLE_PRECISION FCALLSC_QUALIFIER fcallsc(UN,LN)(
02250 #else
02251 #define FLOAT_cfFZ(UN,LN) FORTRAN_REAL FCALLSC_QUALIFIER fcallsc(UN,LN)(
02252 #endif
02253 #else
02254 #define FLOAT_cfFZ(UN,LN) FLOATFUNCTIONTYPE FCALLSC_QUALIFIER fcallsc(UN,LN)(
02255 #endif
02256 #if defined(vmsFortran) || defined(CRAYFortran) || defined(AbsoftUNIXFortran)
02257 #define STRING_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(AS
02258 #else
02259 #define STRING_cfFZ(UN,LN) void FCALLSC_QUALIFIER fcallsc(UN,LN)(AS, D0
02260 #endif
02261 #endif
02262
02263 #define BYTE_cfF(UN,LN) BYTE_cfFZ(UN,LN)
02264 #define DOUBLE_cfF(UN,LN) DOUBLE_cfFZ(UN,LN)
02265 #ifndef __CF_KnR
02266 #if defined (f2cFortran) && ! defined (gFortran)
02267
02268 #define FLOAT_cfF(UN,LN) DOUBLE_PRECISION FCALLSC_QUALIFIER fcallsc(UN,LN)(
02269 #else
02270 #define FLOAT_cfF(UN,LN) FORTRAN_REAL FCALLSC_QUALIFIER fcallsc(UN,LN)(
02271 #endif
02272 #else
02273 #define FLOAT_cfF(UN,LN) FLOAT_cfFZ(UN,LN)
02274 #endif
02275 #define INT_cfF(UN,LN) INT_cfFZ(UN,LN)
02276 #define LOGICAL_cfF(UN,LN) LOGICAL_cfFZ(UN,LN)
02277 #define LONG_cfF(UN,LN) LONG_cfFZ(UN,LN)
02278 #define LONGLONG_cfF(UN,LN) LONGLONG_cfFZ(UN,LN)
02279 #define SHORT_cfF(UN,LN) SHORT_cfFZ(UN,LN)
02280 #define VOID_cfF(UN,LN) VOID_cfFZ(UN,LN)
02281 #define STRING_cfF(UN,LN) STRING_cfFZ(UN,LN),
02282
02283 #define INT_cfFF
02284 #define VOID_cfFF
02285 #ifdef vmsFortran
02286 #define STRING_cfFF fstring *AS;
02287 #else
02288 #ifdef CRAYFortran
02289 #define STRING_cfFF _fcd AS;
02290 #else
02291 #define STRING_cfFF char *AS; unsigned D0;
02292 #endif
02293 #endif
02294
02295 #define INT_cfL A0=
02296 #define STRING_cfL A0=
02297 #define VOID_cfL
02298
02299 #define INT_cfK
02300 #define VOID_cfK
02301
02302 #ifdef vmsFortran
02303 #define STRING_cfK \
02304 memcpy(AS->dsc$a_pointer,A0,_cfMIN(AS->dsc$w_length,(A0==NULL?0:strlen(A0))));\
02305 AS->dsc$w_length>(A0==NULL?0:strlen(A0))? \
02306 memset(AS->dsc$a_pointer+(A0==NULL?0:strlen(A0)),' ', \
02307 AS->dsc$w_length-(A0==NULL?0:strlen(A0))):0;
02308 #else
02309 #ifdef CRAYFortran
02310 #define STRING_cfK \
02311 memcpy(_fcdtocp(AS),A0, _cfMIN(_fcdlen(AS),(A0==NULL?0:strlen(A0))) ); \
02312 _fcdlen(AS)>(A0==NULL?0:strlen(A0))? \
02313 memset(_fcdtocp(AS)+(A0==NULL?0:strlen(A0)),' ', \
02314 _fcdlen(AS)-(A0==NULL?0:strlen(A0))):0;
02315 #else
02316 #define STRING_cfK memcpy(AS,A0, _cfMIN(D0,(A0==NULL?0:strlen(A0))) ); \
02317 D0>(A0==NULL?0:strlen(A0))?memset(AS+(A0==NULL?0:strlen(A0)), \
02318 ' ', D0-(A0==NULL?0:strlen(A0))):0;
02319 #endif
02320 #endif
02321
02322
02323
02324
02325
02326 #define BYTE_cfI return A0;
02327 #define DOUBLE_cfI return A0;
02328 #if ! (defined(FLOATFUNCTIONTYPE)&&defined(ASSIGNFLOAT)&&defined(RETURNFLOAT))
02329 #define FLOAT_cfI return A0;
02330 #else
02331 #define FLOAT_cfI RETURNFLOAT(A0);
02332 #endif
02333 #define INT_cfI return A0;
02334 #ifdef hpuxFortran800
02335
02336 #define LOGICAL_cfI return ((A0)?1:0);
02337 #else
02338 #define LOGICAL_cfI return C2FLOGICAL(A0);
02339 #endif
02340 #define LONG_cfI return A0;
02341 #define LONGLONG_cfI return A0;
02342 #define SHORT_cfI return A0;
02343 #define STRING_cfI return ;
02344 #define VOID_cfI return ;
02345
02346 #ifdef OLD_VAXC
02347 #pragma standard
02348 #endif
02349
02350 #define FCALLSCSUB0( CN,UN,LN) FCALLSCFUN0(VOID,CN,UN,LN)
02351 #define FCALLSCSUB1( CN,UN,LN,T1) FCALLSCFUN1(VOID,CN,UN,LN,T1)
02352 #define FCALLSCSUB2( CN,UN,LN,T1,T2) FCALLSCFUN2(VOID,CN,UN,LN,T1,T2)
02353 #define FCALLSCSUB3( CN,UN,LN,T1,T2,T3) FCALLSCFUN3(VOID,CN,UN,LN,T1,T2,T3)
02354 #define FCALLSCSUB4( CN,UN,LN,T1,T2,T3,T4) \
02355 FCALLSCFUN4(VOID,CN,UN,LN,T1,T2,T3,T4)
02356 #define FCALLSCSUB5( CN,UN,LN,T1,T2,T3,T4,T5) \
02357 FCALLSCFUN5(VOID,CN,UN,LN,T1,T2,T3,T4,T5)
02358 #define FCALLSCSUB6( CN,UN,LN,T1,T2,T3,T4,T5,T6) \
02359 FCALLSCFUN6(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6)
02360 #define FCALLSCSUB7( CN,UN,LN,T1,T2,T3,T4,T5,T6,T7) \
02361 FCALLSCFUN7(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7)
02362 #define FCALLSCSUB8( CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8) \
02363 FCALLSCFUN8(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8)
02364 #define FCALLSCSUB9( CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9) \
02365 FCALLSCFUN9(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9)
02366 #define FCALLSCSUB10(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA) \
02367 FCALLSCFUN10(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA)
02368 #define FCALLSCSUB11(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB) \
02369 FCALLSCFUN11(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB)
02370 #define FCALLSCSUB12(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC) \
02371 FCALLSCFUN12(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC)
02372 #define FCALLSCSUB13(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD) \
02373 FCALLSCFUN13(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD)
02374 #define FCALLSCSUB14(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
02375 FCALLSCFUN14(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)
02376 #define FCALLSCSUB15(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF) \
02377 FCALLSCFUN15(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF)
02378 #define FCALLSCSUB16(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG) \
02379 FCALLSCFUN16(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG)
02380 #define FCALLSCSUB17(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH) \
02381 FCALLSCFUN17(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH)
02382 #define FCALLSCSUB18(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI) \
02383 FCALLSCFUN18(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI)
02384 #define FCALLSCSUB19(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ) \
02385 FCALLSCFUN19(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ)
02386 #define FCALLSCSUB20(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) \
02387 FCALLSCFUN20(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK)
02388 #define FCALLSCSUB21(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL) \
02389 FCALLSCFUN21(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL)
02390 #define FCALLSCSUB22(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM) \
02391 FCALLSCFUN22(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM)
02392 #define FCALLSCSUB23(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN) \
02393 FCALLSCFUN23(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN)
02394 #define FCALLSCSUB24(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO) \
02395 FCALLSCFUN24(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO)
02396 #define FCALLSCSUB25(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP) \
02397 FCALLSCFUN25(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP)
02398 #define FCALLSCSUB26(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ) \
02399 FCALLSCFUN26(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ)
02400 #define FCALLSCSUB27(CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
02401 FCALLSCFUN27(VOID,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)
02402
02403
02404 #define FCALLSCFUN1( T0,CN,UN,LN,T1) \
02405 FCALLSCFUN5 (T0,CN,UN,LN,T1,CF_0,CF_0,CF_0,CF_0)
02406 #define FCALLSCFUN2( T0,CN,UN,LN,T1,T2) \
02407 FCALLSCFUN5 (T0,CN,UN,LN,T1,T2,CF_0,CF_0,CF_0)
02408 #define FCALLSCFUN3( T0,CN,UN,LN,T1,T2,T3) \
02409 FCALLSCFUN5 (T0,CN,UN,LN,T1,T2,T3,CF_0,CF_0)
02410 #define FCALLSCFUN4( T0,CN,UN,LN,T1,T2,T3,T4) \
02411 FCALLSCFUN5 (T0,CN,UN,LN,T1,T2,T3,T4,CF_0)
02412 #define FCALLSCFUN5( T0,CN,UN,LN,T1,T2,T3,T4,T5) \
02413 FCALLSCFUN10(T0,CN,UN,LN,T1,T2,T3,T4,T5,CF_0,CF_0,CF_0,CF_0,CF_0)
02414 #define FCALLSCFUN6( T0,CN,UN,LN,T1,T2,T3,T4,T5,T6) \
02415 FCALLSCFUN10(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,CF_0,CF_0,CF_0,CF_0)
02416 #define FCALLSCFUN7( T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7) \
02417 FCALLSCFUN10(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,CF_0,CF_0,CF_0)
02418 #define FCALLSCFUN8( T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8) \
02419 FCALLSCFUN10(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,CF_0,CF_0)
02420 #define FCALLSCFUN9( T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9) \
02421 FCALLSCFUN10(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,CF_0)
02422 #define FCALLSCFUN10(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA) \
02423 FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,CF_0,CF_0,CF_0,CF_0)
02424 #define FCALLSCFUN11(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB) \
02425 FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,CF_0,CF_0,CF_0)
02426 #define FCALLSCFUN12(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC) \
02427 FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,CF_0,CF_0)
02428 #define FCALLSCFUN13(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD) \
02429 FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,CF_0)
02430
02431
02432 #define FCALLSCFUN15(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF) \
02433 FCALLSCFUN20(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,CF_0,CF_0,CF_0,CF_0,CF_0)
02434 #define FCALLSCFUN16(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG) \
02435 FCALLSCFUN20(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,CF_0,CF_0,CF_0,CF_0)
02436 #define FCALLSCFUN17(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH) \
02437 FCALLSCFUN20(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,CF_0,CF_0,CF_0)
02438 #define FCALLSCFUN18(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI) \
02439 FCALLSCFUN20(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,CF_0,CF_0)
02440 #define FCALLSCFUN19(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ) \
02441 FCALLSCFUN20(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,CF_0)
02442 #define FCALLSCFUN20(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK) \
02443 FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
02444 #define FCALLSCFUN21(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL) \
02445 FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,CF_0,CF_0,CF_0,CF_0,CF_0,CF_0)
02446 #define FCALLSCFUN22(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM) \
02447 FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,CF_0,CF_0,CF_0,CF_0,CF_0)
02448 #define FCALLSCFUN23(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN) \
02449 FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,CF_0,CF_0,CF_0,CF_0)
02450 #define FCALLSCFUN24(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO) \
02451 FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,CF_0,CF_0,CF_0)
02452 #define FCALLSCFUN25(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP) \
02453 FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,CF_0,CF_0)
02454 #define FCALLSCFUN26(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ) \
02455 FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,CF_0)
02456
02457
02458 #ifndef __CF__KnR
02459 #define FCALLSCFUN0(T0,CN,UN,LN) CFextern _(T0,_cfFZ)(UN,LN) ABSOFT_cf2(T0)) \
02460 {_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN(); _Icf(0,K,T0,0,0) _(T0,_cfI)}
02461
02462 #define FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
02463 CFextern _(T0,_cfF)(UN,LN) \
02464 CFARGT14(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) ) \
02465 { CFARGT14S(QCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
02466 _Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN( TCF(LN,T1,1,0) TCF(LN,T2,2,1) \
02467 TCF(LN,T3,3,1) TCF(LN,T4,4,1) TCF(LN,T5,5,1) TCF(LN,T6,6,1) TCF(LN,T7,7,1) \
02468 TCF(LN,T8,8,1) TCF(LN,T9,9,1) TCF(LN,TA,10,1) TCF(LN,TB,11,1) TCF(LN,TC,12,1) \
02469 TCF(LN,TD,13,1) TCF(LN,TE,14,1) ); _Icf(0,K,T0,0,0) \
02470 CFARGT14S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) _(T0,_cfI) }
02471
02472 #define FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
02473 CFextern _(T0,_cfF)(UN,LN) \
02474 CFARGT27(NCF,DCF,ABSOFT_cf2(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) ) \
02475 { CFARGT27S(QCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
02476 _Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN( TCF(LN,T1,1,0) TCF(LN,T2,2,1) \
02477 TCF(LN,T3,3,1) TCF(LN,T4,4,1) TCF(LN,T5,5,1) TCF(LN,T6,6,1) TCF(LN,T7,7,1) \
02478 TCF(LN,T8,8,1) TCF(LN,T9,9,1) TCF(LN,TA,10,1) TCF(LN,TB,11,1) TCF(LN,TC,12,1) \
02479 TCF(LN,TD,13,1) TCF(LN,TE,14,1) TCF(LN,TF,15,1) TCF(LN,TG,16,1) TCF(LN,TH,17,1) \
02480 TCF(LN,TI,18,1) TCF(LN,TJ,19,1) TCF(LN,TK,20,1) TCF(LN,TL,21,1) TCF(LN,TM,22,1) \
02481 TCF(LN,TN,23,1) TCF(LN,TO,24,1) TCF(LN,TP,25,1) TCF(LN,TQ,26,1) TCF(LN,TR,27,1) ); _Icf(0,K,T0,0,0) \
02482 CFARGT27S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) _(T0,_cfI) }
02483
02484 #else
02485 #define FCALLSCFUN0(T0,CN,UN,LN) CFextern _(T0,_cfFZ)(UN,LN) ABSOFT_cf3(T0)) _Icf(0,FF,T0,0,0)\
02486 {_Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN(); _Icf(0,K,T0,0,0) _(T0,_cfI)}
02487
02488 #define FCALLSCFUN14(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
02489 CFextern _(T0,_cfF)(UN,LN) \
02490 CFARGT14(NNCF,DDCF,ABSOFT_cf3(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE)) _Icf(0,FF,T0,0,0) \
02491 CFARGT14FS(NNNCF,DDDCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE); \
02492 { CFARGT14S(QCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) \
02493 _Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN( TCF(LN,T1,1,0) TCF(LN,T2,2,1) \
02494 TCF(LN,T3,3,1) TCF(LN,T4,4,1) TCF(LN,T5,5,1) TCF(LN,T6,6,1) TCF(LN,T7,7,1) \
02495 TCF(LN,T8,8,1) TCF(LN,T9,9,1) TCF(LN,TA,10,1) TCF(LN,TB,11,1) TCF(LN,TC,12,1) \
02496 TCF(LN,TD,13,1) TCF(LN,TE,14,1) ); _Icf(0,K,T0,0,0) \
02497 CFARGT14S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE) _(T0,_cfI)}
02498
02499 #define FCALLSCFUN27(T0,CN,UN,LN,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
02500 CFextern _(T0,_cfF)(UN,LN) \
02501 CFARGT27(NNCF,DDCF,ABSOFT_cf3(T0),T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR)) _Icf(0,FF,T0,0,0) \
02502 CFARGT27FS(NNNCF,DDDCF,_Z,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR); \
02503 { CFARGT27S(QCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) \
02504 _Icf(2,UU,T0,A0,0); _Icf(0,L,T0,0,0) CN( TCF(LN,T1,1,0) TCF(LN,T2,2,1) \
02505 TCF(LN,T3,3,1) TCF(LN,T4,4,1) TCF(LN,T5,5,1) TCF(LN,T6,6,1) TCF(LN,T7,7,1) \
02506 TCF(LN,T8,8,1) TCF(LN,T9,9,1) TCF(LN,TA,10,1) TCF(LN,TB,11,1) TCF(LN,TC,12,1) \
02507 TCF(LN,TD,13,1) TCF(LN,TE,14,1) TCF(LN,TF,15,1) TCF(LN,TG,16,1) TCF(LN,TH,17,1) \
02508 TCF(LN,TI,18,1) TCF(LN,TJ,19,1) TCF(LN,TK,20,1) TCF(LN,TL,21,1) TCF(LN,TM,22,1) \
02509 TCF(LN,TN,23,1) TCF(LN,TO,24,1) TCF(LN,TP,25,1) TCF(LN,TQ,26,1) TCF(LN,TR,27,1) ); _Icf(0,K,T0,0,0) \
02510 CFARGT27S(RCF,T1,T2,T3,T4,T5,T6,T7,T8,T9,TA,TB,TC,TD,TE,TF,TG,TH,TI,TJ,TK,TL,TM,TN,TO,TP,TQ,TR) _(T0,_cfI)}
02511
02512 #endif
02513
02514
02515 #endif