Annotation of researchv10dc/cmd/f2c/F77a.st, revision 1.1.1.1

1.1       root        1: ./ ADD NAME=Version.c TIME=699256367
                      2: static char junk[] = "\n@(#)LIBF77 VERSION 2.01 28 Feb. 1992\n";
                      3: 
                      4: /*
                      5: 2.00   11 June 1980.  File version.c added to library.
                      6: 2.01   31 May 1988.  s_paus() flushes stderr; names of hl_* fixed
                      7:        [ d]erf[c ] added
                      8:         8 Aug. 1989: #ifdefs for f2c -i2 added to s_cat.c
                      9:        29 Nov. 1989: s_cmp returns long (for f2c)
                     10:        30 Nov. 1989: arg types from f2c.h
                     11:        12 Dec. 1989: s_rnge allows long names
                     12:        19 Dec. 1989: getenv_ allows unsorted environment
                     13:        28 Mar. 1990: add exit(0) to end of main()
                     14:         2 Oct. 1990: test signal(...) == SIG_IGN rather than & 01 in main
                     15:        17 Oct. 1990: abort() calls changed to sig_die(...,1)
                     16:        22 Oct. 1990: separate sig_die from main
                     17:        25 Apr. 1991: minor, theoretically invisible tweaks to s_cat, sig_die
                     18:        31 May  1991: make system_ return status
                     19:        18 Dec. 1991: change long to ftnlen (for -i2) many places
                     20:        28 Feb. 1992: repair z_sqrt.c (scribbled on input, gave wrong answer)
                     21: */
                     22: ./ ADD NAME=abort_.c TIME=708871716
                     23: #include "stdio.h"
                     24: #include "f2c.h"
                     25: 
                     26: #ifdef KR_headers
                     27: extern VOID sig_die();
                     28: 
                     29: VOID abort_()
                     30: #else
                     31: extern void sig_die(char*,int);
                     32: 
                     33: void abort_(void)
                     34: #endif
                     35: {
                     36: sig_die("Fortran abort routine called", 1);
                     37: }
                     38: ./ ADD NAME=c_abs.c TIME=708960773
                     39: #include "f2c.h"
                     40: 
                     41: #ifdef KR_headers
                     42: extern double Cabs();
                     43: 
                     44: double c_abs(z) complex *z;
                     45: #else
                     46: extern double Cabs(double, double);
                     47: 
                     48: double c_abs(complex *z)
                     49: #endif
                     50: {
                     51: return( Cabs( z->r, z->i ) );
                     52: }
                     53: ./ ADD NAME=c_cos.c TIME=708889712
                     54: #include "f2c.h"
                     55: 
                     56: #ifdef KR_headers
                     57: extern double sin(), cos(), sinh(), cosh();
                     58: 
                     59: VOID c_cos(r, z) complex *r, *z;
                     60: #else
                     61: #undef abs
                     62: #include "math.h"
                     63: 
                     64: void c_cos(complex *r, complex *z)
                     65: #endif
                     66: {
                     67: r->r = cos(z->r) * cosh(z->i);
                     68: r->i = - sin(z->r) * sinh(z->i);
                     69: }
                     70: ./ ADD NAME=c_div.c TIME=708872168
                     71: #include "f2c.h"
                     72: 
                     73: #ifdef KR_headers
                     74: extern VOID sig_die();
                     75: VOID c_div(c, a, b)
                     76: complex *a, *b, *c;
                     77: #else
                     78: extern void sig_die(char*,int);
                     79: void c_div(complex *c, complex *a, complex *b)
                     80: #endif
                     81: {
                     82: double ratio, den;
                     83: double abr, abi;
                     84: 
                     85: if( (abr = b->r) < 0.)
                     86:        abr = - abr;
                     87: if( (abi = b->i) < 0.)
                     88:        abi = - abi;
                     89: if( abr <= abi )
                     90:        {
                     91:        if(abi == 0)
                     92:                sig_die("complex division by zero", 1);
                     93:        ratio = (double)b->r / b->i ;
                     94:        den = b->i * (1 + ratio*ratio);
                     95:        c->r = (a->r*ratio + a->i) / den;
                     96:        c->i = (a->i*ratio - a->r) / den;
                     97:        }
                     98: 
                     99: else
                    100:        {
                    101:        ratio = (double)b->i / b->r ;
                    102:        den = b->r * (1 + ratio*ratio);
                    103:        c->r = (a->r + a->i*ratio) / den;
                    104:        c->i = (a->i - a->r*ratio) / den;
                    105:        }
                    106: }
                    107: ./ ADD NAME=c_exp.c TIME=708889712
                    108: #include "f2c.h"
                    109: 
                    110: #ifdef KR_headers
                    111: extern double exp(), cos(), sin();
                    112: 
                    113:  VOID c_exp(r, z) complex *r, *z;
                    114: #else
                    115: #undef abs
                    116: #include "math.h"
                    117: 
                    118: void c_exp(complex *r, complex *z)
                    119: #endif
                    120: {
                    121: double expx;
                    122: 
                    123: expx = exp(z->r);
                    124: r->r = expx * cos(z->i);
                    125: r->i = expx * sin(z->i);
                    126: }
                    127: ./ ADD NAME=c_log.c TIME=708960882
                    128: #include "f2c.h"
                    129: 
                    130: #ifdef KR_headers
                    131: extern double log(), Cabs(), atan2();
                    132: VOID c_log(r, z) complex *r, *z;
                    133: #else
                    134: #undef abs
                    135: #include "math.h"
                    136: extern double Cabs(double, double);
                    137: 
                    138: void c_log(complex *r, complex *z)
                    139: #endif
                    140: {
                    141: r->i = atan2(z->i, z->r);
                    142: r->r = log( Cabs(z->r, z->i) );
                    143: }
                    144: ./ ADD NAME=c_sin.c TIME=708889712
                    145: #include "f2c.h"
                    146: 
                    147: #ifdef KR_headers
                    148: extern double sin(), cos(), sinh(), cosh();
                    149: 
                    150: VOID c_sin(r, z) complex *r, *z;
                    151: #else
                    152: #undef abs
                    153: #include "math.h"
                    154: 
                    155: void c_sin(complex *r, complex *z)
                    156: #endif
                    157: {
                    158: r->r = sin(z->r) * cosh(z->i);
                    159: r->i = cos(z->r) * sinh(z->i);
                    160: }
                    161: ./ ADD NAME=c_sqrt.c TIME=708960905
                    162: #include "f2c.h"
                    163: 
                    164: #ifdef KR_headers
                    165: extern double sqrt(), Cabs();
                    166: 
                    167: VOID c_sqrt(r, z) complex *r, *z;
                    168: #else
                    169: #undef abs
                    170: #include "math.h"
                    171: extern double Cabs(double, double);
                    172: 
                    173: void c_sqrt(complex *r, complex *z)
                    174: #endif
                    175: {
                    176: double mag, t;
                    177: 
                    178: if( (mag = Cabs(z->r, z->i)) == 0.)
                    179:        r->r = r->i = 0.;
                    180: else if(z->r > 0)
                    181:        {
                    182:        r->r = t = sqrt(0.5 * (mag + z->r) );
                    183:        t = z->i / t;
                    184:        r->i = 0.5 * t;
                    185:        }
                    186: else
                    187:        {
                    188:        t = sqrt(0.5 * (mag - z->r) );
                    189:        if(z->i < 0)
                    190:                t = -t;
                    191:        r->i = t;
                    192:        t = z->i / t;
                    193:        r->r = 0.5 * t;
                    194:        }
                    195: }
                    196: ./ ADD NAME=cabs.c TIME=708960702
                    197: #ifdef KR_headers
                    198: extern double sqrt();
                    199: double Cabs(real, imag) double real, imag;
                    200: #else
                    201: #undef abs
                    202: #include "math.h"
                    203: double Cabs(double real, double imag)
                    204: #endif
                    205: {
                    206: double temp;
                    207: 
                    208: if(real < 0)
                    209:        real = -real;
                    210: if(imag < 0)
                    211:        imag = -imag;
                    212: if(imag > real){
                    213:        temp = real;
                    214:        real = imag;
                    215:        imag = temp;
                    216: }
                    217: if((real+imag) == real)
                    218:        return(real);
                    219: 
                    220: temp = imag/real;
                    221: temp = real*sqrt(1.0 + temp*temp);  /*overflow!!*/
                    222: return(temp);
                    223: }
                    224: ./ ADD NAME=d_abs.c TIME=708873064
                    225: #include "f2c.h"
                    226: 
                    227: #ifdef KR_headers
                    228: double d_abs(x) doublereal *x;
                    229: #else
                    230: double d_abs(doublereal *x)
                    231: #endif
                    232: {
                    233: if(*x >= 0)
                    234:        return(*x);
                    235: return(- *x);
                    236: }
                    237: ./ ADD NAME=d_acos.c TIME=708889712
                    238: #include "f2c.h"
                    239: 
                    240: #ifdef KR_headers
                    241: double acos();
                    242: double d_acos(x) doublereal *x;
                    243: #else
                    244: #undef abs
                    245: #include "math.h"
                    246: double d_acos(doublereal *x)
                    247: #endif
                    248: {
                    249: return( acos(*x) );
                    250: }
                    251: ./ ADD NAME=d_asin.c TIME=708889712
                    252: #include "f2c.h"
                    253: 
                    254: #ifdef KR_headers
                    255: double asin();
                    256: double d_asin(x) doublereal *x;
                    257: #else
                    258: #undef abs
                    259: #include "math.h"
                    260: double d_asin(doublereal *x)
                    261: #endif
                    262: {
                    263: return( asin(*x) );
                    264: }
                    265: ./ ADD NAME=d_atan.c TIME=708889712
                    266: #include "f2c.h"
                    267: 
                    268: #ifdef KR_headers
                    269: double atan();
                    270: double d_atan(x) doublereal *x;
                    271: #else
                    272: #undef abs
                    273: #include "math.h"
                    274: double d_atan(doublereal *x)
                    275: #endif
                    276: {
                    277: return( atan(*x) );
                    278: }
                    279: ./ ADD NAME=d_atn2.c TIME=708889712
                    280: #include "f2c.h"
                    281: 
                    282: #ifdef KR_headers
                    283: double atan2();
                    284: double d_atn2(x,y) doublereal *x, *y;
                    285: #else
                    286: #undef abs
                    287: #include "math.h"
                    288: double d_atn2(doublereal *x, doublereal *y)
                    289: #endif
                    290: {
                    291: return( atan2(*x,*y) );
                    292: }
                    293: ./ ADD NAME=d_cnjg.c TIME=708873825
                    294: #include "f2c.h"
                    295: 
                    296:  VOID
                    297: #ifdef KR_headers
                    298: d_cnjg(r, z) doublecomplex *r, *z;
                    299: #else
                    300: d_cnjg(doublecomplex *r, doublecomplex *z)
                    301: #endif
                    302: {
                    303: r->r = z->r;
                    304: r->i = - z->i;
                    305: }
                    306: ./ ADD NAME=d_cos.c TIME=708889712
                    307: #include "f2c.h"
                    308: 
                    309: #ifdef KR_headers
                    310: double cos();
                    311: double d_cos(x) doublereal *x;
                    312: #else
                    313: #undef abs
                    314: #include "math.h"
                    315: double d_cos(doublereal *x)
                    316: #endif
                    317: {
                    318: return( cos(*x) );
                    319: }
                    320: ./ ADD NAME=d_cosh.c TIME=708889712
                    321: #include "f2c.h"
                    322: 
                    323: #ifdef KR_headers
                    324: double cosh();
                    325: double d_cosh(x) doublereal *x;
                    326: #else
                    327: #undef abs
                    328: #include "math.h"
                    329: double d_cosh(doublereal *x)
                    330: #endif
                    331: {
                    332: return( cosh(*x) );
                    333: }
                    334: ./ ADD NAME=d_dim.c TIME=708874152
                    335: #include "f2c.h"
                    336: 
                    337: #ifdef KR_headers
                    338: double d_dim(a,b) doublereal *a, *b;
                    339: #else
                    340: double d_dim(doublereal *a, doublereal *b)
                    341: #endif
                    342: {
                    343: return( *a > *b ? *a - *b : 0);
                    344: }
                    345: ./ ADD NAME=d_exp.c TIME=708889712
                    346: #include "f2c.h"
                    347: 
                    348: #ifdef KR_headers
                    349: double exp();
                    350: double d_exp(x) doublereal *x;
                    351: #else
                    352: #undef abs
                    353: #include "math.h"
                    354: double d_exp(doublereal *x)
                    355: #endif
                    356: {
                    357: return( exp(*x) );
                    358: }
                    359: ./ ADD NAME=d_imag.c TIME=708874254
                    360: #include "f2c.h"
                    361: 
                    362: #ifdef KR_headers
                    363: double d_imag(z) doublecomplex *z;
                    364: #else
                    365: double d_imag(doublecomplex *z)
                    366: #endif
                    367: {
                    368: return(z->i);
                    369: }
                    370: ./ ADD NAME=d_int.c TIME=708889712
                    371: #include "f2c.h"
                    372: 
                    373: #ifdef KR_headers
                    374: double floor();
                    375: double d_int(x) doublereal *x;
                    376: #else
                    377: #undef abs
                    378: #include "math.h"
                    379: double d_int(doublereal *x)
                    380: #endif
                    381: {
                    382: return( (*x>0) ? floor(*x) : -floor(- *x) );
                    383: }
                    384: ./ ADD NAME=d_lg10.c TIME=708889712
                    385: #include "f2c.h"
                    386: 
                    387: #define log10e 0.43429448190325182765
                    388: 
                    389: #ifdef KR_headers
                    390: double log();
                    391: double d_lg10(x) doublereal *x;
                    392: #else
                    393: #undef abs
                    394: #include "math.h"
                    395: double d_lg10(doublereal *x)
                    396: #endif
                    397: {
                    398: return( log10e * log(*x) );
                    399: }
                    400: ./ ADD NAME=d_log.c TIME=708889712
                    401: #include "f2c.h"
                    402: 
                    403: #ifdef KR_headers
                    404: double log();
                    405: double d_log(x) doublereal *x;
                    406: #else
                    407: #undef abs
                    408: #include "math.h"
                    409: double d_log(doublereal *x)
                    410: #endif
                    411: {
                    412: return( log(*x) );
                    413: }
                    414: ./ ADD NAME=d_mod.c TIME=708889713
                    415: #include "f2c.h"
                    416: 
                    417: #ifdef KR_headers
                    418: #ifdef IEEE_drem
                    419: double drem();
                    420: #else
                    421: double floor();
                    422: #endif
                    423: double d_mod(x,y) doublereal *x, *y;
                    424: #else
                    425: #ifdef IEEE_drem
                    426: double drem(double, double);
                    427: #else
                    428: #undef abs
                    429: #include "math.h"
                    430: #endif
                    431: double d_mod(doublereal *x, doublereal *y)
                    432: #endif
                    433: {
                    434: #ifdef IEEE_drem
                    435:        double xa, ya, z;
                    436:        if ((ya = *y) < 0.)
                    437:                ya = -ya;
                    438:        z = drem(xa = *x, ya);
                    439:        if (xa > 0) {
                    440:                if (z < 0)
                    441:                        z += ya;
                    442:                }
                    443:        else if (z > 0)
                    444:                z -= ya;
                    445:        return z;
                    446: #else
                    447:        double quotient;
                    448:        if( (quotient = *x / *y) >= 0)
                    449:                quotient = floor(quotient);
                    450:        else
                    451:                quotient = -floor(-quotient);
                    452:        return(*x - (*y) * quotient );
                    453: #endif
                    454: }
                    455: ./ ADD NAME=d_nint.c TIME=708889713
                    456: #include "f2c.h"
                    457: 
                    458: #ifdef KR_headers
                    459: double floor();
                    460: double d_nint(x) doublereal *x;
                    461: #else
                    462: #undef abs
                    463: #include "math.h"
                    464: double d_nint(doublereal *x)
                    465: #endif
                    466: {
                    467: return( (*x)>=0 ?
                    468:        floor(*x + .5) : -floor(.5 - *x) );
                    469: }
                    470: ./ ADD NAME=d_prod.c TIME=708874891
                    471: #include "f2c.h"
                    472: 
                    473: #ifdef KR_headers
                    474: double d_prod(x,y) real *x, *y;
                    475: #else
                    476: double d_prod(real *x, real *y)
                    477: #endif
                    478: {
                    479: return( (*x) * (*y) );
                    480: }
                    481: ./ ADD NAME=d_sign.c TIME=708874925
                    482: #include "f2c.h"
                    483: 
                    484: #ifdef KR_headers
                    485: double d_sign(a,b) doublereal *a, *b;
                    486: #else
                    487: double d_sign(doublereal *a, doublereal *b)
                    488: #endif
                    489: {
                    490: double x;
                    491: x = (*a >= 0 ? *a : - *a);
                    492: return( *b >= 0 ? x : -x);
                    493: }
                    494: ./ ADD NAME=d_sin.c TIME=708889713
                    495: #include "f2c.h"
                    496: 
                    497: #ifdef KR_headers
                    498: double sin();
                    499: double d_sin(x) doublereal *x;
                    500: #else
                    501: #undef abs
                    502: #include "math.h"
                    503: double d_sin(doublereal *x)
                    504: #endif
                    505: {
                    506: return( sin(*x) );
                    507: }
                    508: ./ ADD NAME=d_sinh.c TIME=708889713
                    509: #include "f2c.h"
                    510: 
                    511: #ifdef KR_headers
                    512: double sinh();
                    513: double d_sinh(x) doublereal *x;
                    514: #else
                    515: #undef abs
                    516: #include "math.h"
                    517: double d_sinh(doublereal *x)
                    518: #endif
                    519: {
                    520: return( sinh(*x) );
                    521: }
                    522: ./ ADD NAME=d_sqrt.c TIME=708889713
                    523: #include "f2c.h"
                    524: 
                    525: #ifdef KR_headers
                    526: double sqrt();
                    527: double d_sqrt(x) doublereal *x;
                    528: #else
                    529: #undef abs
                    530: #include "math.h"
                    531: double d_sqrt(doublereal *x)
                    532: #endif
                    533: {
                    534: return( sqrt(*x) );
                    535: }
                    536: ./ ADD NAME=d_tan.c TIME=708889713
                    537: #include "f2c.h"
                    538: 
                    539: #ifdef KR_headers
                    540: double tan();
                    541: double d_tan(x) doublereal *x;
                    542: #else
                    543: #undef abs
                    544: #include "math.h"
                    545: double d_tan(doublereal *x)
                    546: #endif
                    547: {
                    548: return( tan(*x) );
                    549: }
                    550: ./ ADD NAME=d_tanh.c TIME=708889713
                    551: #include "f2c.h"
                    552: 
                    553: #ifdef KR_headers
                    554: double tanh();
                    555: double d_tanh(x) doublereal *x;
                    556: #else
                    557: #undef abs
                    558: #include "math.h"
                    559: double d_tanh(doublereal *x)
                    560: #endif
                    561: {
                    562: return( tanh(*x) );
                    563: }
                    564: ./ ADD NAME=derf_.c TIME=708875112
                    565: #include "f2c.h"
                    566: 
                    567: #ifdef KR_headers
                    568: double erf();
                    569: double derf_(x) doublereal *x;
                    570: #else
                    571: extern double erf(double);
                    572: double derf_(doublereal *x)
                    573: #endif
                    574: {
                    575: return( erf(*x) );
                    576: }
                    577: ./ ADD NAME=derfc_.c TIME=708873008
                    578: #include "f2c.h"
                    579: 
                    580: #ifdef KR_headers
                    581: extern double erfc();
                    582: 
                    583: double derfc_(x) doublereal *x;
                    584: #else
                    585: extern double erfc(double);
                    586: 
                    587: double derfc_(doublereal *x)
                    588: #endif
                    589: {
                    590: return( erfc(*x) );
                    591: }
                    592: ./ ADD NAME=ef1asc_.c TIME=708875832
                    593: /* EFL support routine to copy string b to string a */
                    594: 
                    595: #include "f2c.h"
                    596: 
                    597: 
                    598: #define M      ( (long) (sizeof(long) - 1) )
                    599: #define EVEN(x)        ( ( (x)+ M) & (~M) )
                    600: 
                    601: #ifdef KR_headers
                    602: extern VOID s_copy();
                    603: VOID ef1asc_(a, la, b, lb) ftnint *a, *b; ftnlen *la, *lb;
                    604: #else
                    605: extern void s_copy(char*,char*,ftnlen,ftnlen);
                    606: void ef1asc_(ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb)
                    607: #endif
                    608: {
                    609: s_copy( (char *)a, (char *)b, EVEN(*la), *lb );
                    610: }
                    611: ./ ADD NAME=ef1cmc_.c TIME=708876086
                    612: /* EFL support routine to compare two character strings */
                    613: 
                    614: #include "f2c.h"
                    615: 
                    616: #ifdef KR_headers
                    617: extern integer s_cmp();
                    618: integer ef1cmc_(a, la, b, lb) ftnint *a, *b; ftnlen *la, *lb;
                    619: #else
                    620: extern integer s_cmp(char*,char*,ftnlen,ftnlen);
                    621: integer ef1cmc_(ftnint *a, ftnlen *la, ftnint *b, ftnlen *lb)
                    622: #endif
                    623: {
                    624: return( s_cmp( (char *)a, (char *)b, *la, *lb) );
                    625: }
                    626: ./ ADD NAME=erf_.c TIME=708875594
                    627: #include "f2c.h"
                    628: 
                    629: #ifdef KR_headers
                    630: double erf();
                    631: double erf_(x) real *x;
                    632: #else
                    633: extern double erf(double);
                    634: double erf_(real *x)
                    635: #endif
                    636: {
                    637: return( erf(*x) );
                    638: }
                    639: ./ ADD NAME=erfc_.c TIME=708875664
                    640: #include "f2c.h"
                    641: 
                    642: #ifdef KR_headers
                    643: double erfc();
                    644: double erfc_(x) real *x;
                    645: #else
                    646: extern double erfc(double);
                    647: double erfc_(real *x)
                    648: #endif
                    649: {
                    650: return( erfc(*x) );
                    651: }
                    652: ./ ADD NAME=f2c.h TIME=708964532
                    653: /* f2c.h  --  Standard Fortran to C header file */
                    654: 
                    655: /**  barf  [ba:rf]  2.  "He suggested using FORTRAN, and everybody barfed."
                    656: 
                    657:        - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
                    658: 
                    659: #ifndef F2C_INCLUDE
                    660: #define F2C_INCLUDE
                    661: 
                    662: typedef long int integer;
                    663: typedef char *address;
                    664: typedef short int shortint;
                    665: typedef float real;
                    666: typedef double doublereal;
                    667: typedef struct { real r, i; } complex;
                    668: typedef struct { doublereal r, i; } doublecomplex;
                    669: typedef long int logical;
                    670: typedef short int shortlogical;
                    671: 
                    672: #define TRUE_ (1)
                    673: #define FALSE_ (0)
                    674: 
                    675: /* Extern is for use with -E */
                    676: #ifndef Extern
                    677: #define Extern extern
                    678: #endif
                    679: 
                    680: /* I/O stuff */
                    681: 
                    682: #ifdef f2c_i2
                    683: /* for -i2 */
                    684: typedef short flag;
                    685: typedef short ftnlen;
                    686: typedef short ftnint;
                    687: #else
                    688: typedef long flag;
                    689: typedef long ftnlen;
                    690: typedef long ftnint;
                    691: #endif
                    692: 
                    693: /*external read, write*/
                    694: typedef struct
                    695: {      flag cierr;
                    696:        ftnint ciunit;
                    697:        flag ciend;
                    698:        char *cifmt;
                    699:        ftnint cirec;
                    700: } cilist;
                    701: 
                    702: /*internal read, write*/
                    703: typedef struct
                    704: {      flag icierr;
                    705:        char *iciunit;
                    706:        flag iciend;
                    707:        char *icifmt;
                    708:        ftnint icirlen;
                    709:        ftnint icirnum;
                    710: } icilist;
                    711: 
                    712: /*open*/
                    713: typedef struct
                    714: {      flag oerr;
                    715:        ftnint ounit;
                    716:        char *ofnm;
                    717:        ftnlen ofnmlen;
                    718:        char *osta;
                    719:        char *oacc;
                    720:        char *ofm;
                    721:        ftnint orl;
                    722:        char *oblnk;
                    723: } olist;
                    724: 
                    725: /*close*/
                    726: typedef struct
                    727: {      flag cerr;
                    728:        ftnint cunit;
                    729:        char *csta;
                    730: } cllist;
                    731: 
                    732: /*rewind, backspace, endfile*/
                    733: typedef struct
                    734: {      flag aerr;
                    735:        ftnint aunit;
                    736: } alist;
                    737: 
                    738: /* inquire */
                    739: typedef struct
                    740: {      flag inerr;
                    741:        ftnint inunit;
                    742:        char *infile;
                    743:        ftnlen infilen;
                    744:        ftnint  *inex;  /*parameters in standard's order*/
                    745:        ftnint  *inopen;
                    746:        ftnint  *innum;
                    747:        ftnint  *innamed;
                    748:        char    *inname;
                    749:        ftnlen  innamlen;
                    750:        char    *inacc;
                    751:        ftnlen  inacclen;
                    752:        char    *inseq;
                    753:        ftnlen  inseqlen;
                    754:        char    *indir;
                    755:        ftnlen  indirlen;
                    756:        char    *infmt;
                    757:        ftnlen  infmtlen;
                    758:        char    *inform;
                    759:        ftnint  informlen;
                    760:        char    *inunf;
                    761:        ftnlen  inunflen;
                    762:        ftnint  *inrecl;
                    763:        ftnint  *innrec;
                    764:        char    *inblank;
                    765:        ftnlen  inblanklen;
                    766: } inlist;
                    767: 
                    768: #define VOID void
                    769: 
                    770: union Multitype {      /* for multiple entry points */
                    771:        shortint h;
                    772:        integer i;
                    773:        real r;
                    774:        doublereal d;
                    775:        complex c;
                    776:        doublecomplex z;
                    777:        };
                    778: 
                    779: typedef union Multitype Multitype;
                    780: 
                    781: typedef long Long;     /* No longer used; formerly in Namelist */
                    782: 
                    783: struct Vardesc {       /* for Namelist */
                    784:        char *name;
                    785:        char *addr;
                    786:        ftnlen *dims;
                    787:        int  type;
                    788:        };
                    789: typedef struct Vardesc Vardesc;
                    790: 
                    791: struct Namelist {
                    792:        char *name;
                    793:        Vardesc **vars;
                    794:        int nvars;
                    795:        };
                    796: typedef struct Namelist Namelist;
                    797: 
                    798: #define abs(x) ((x) >= 0 ? (x) : -(x))
                    799: #define dabs(x) (doublereal)abs(x)
                    800: #define min(a,b) ((a) <= (b) ? (a) : (b))
                    801: #define max(a,b) ((a) >= (b) ? (a) : (b))
                    802: #define dmin(a,b) (doublereal)min(a,b)
                    803: #define dmax(a,b) (doublereal)max(a,b)
                    804: 
                    805: /* procedure parameter types for -A and -C++ */
                    806: 
                    807: #define F2C_proc_par_types 1
                    808: #ifdef __cplusplus
                    809: typedef int /* Unknown procedure type */ (*U_fp)(...);
                    810: typedef shortint (*J_fp)(...);
                    811: typedef integer (*I_fp)(...);
                    812: typedef real (*R_fp)(...);
                    813: typedef doublereal (*D_fp)(...), (*E_fp)(...);
                    814: typedef /* Complex */ VOID (*C_fp)(...);
                    815: typedef /* Double Complex */ VOID (*Z_fp)(...);
                    816: typedef logical (*L_fp)(...);
                    817: typedef shortlogical (*K_fp)(...);
                    818: typedef /* Character */ VOID (*H_fp)(...);
                    819: typedef /* Subroutine */ int (*S_fp)(...);
                    820: #else
                    821: #ifndef __LCC__
                    822: typedef int /* Unknown procedure type */ (*U_fp)();
                    823: typedef shortint (*J_fp)();
                    824: typedef integer (*I_fp)();
                    825: typedef real (*R_fp)();
                    826: typedef doublereal (*D_fp)(), (*E_fp)();
                    827: typedef /* Complex */ VOID (*C_fp)();
                    828: typedef /* Double Complex */ VOID (*Z_fp)();
                    829: typedef logical (*L_fp)();
                    830: typedef shortlogical (*K_fp)();
                    831: typedef /* Character */ VOID (*H_fp)();
                    832: typedef /* Subroutine */ int (*S_fp)();
                    833: #endif
                    834: #endif
                    835: /* E_fp is for real functions when -R is not specified */
                    836: typedef VOID C_f;      /* complex function */
                    837: typedef VOID H_f;      /* character function */
                    838: typedef VOID Z_f;      /* double complex function */
                    839: typedef doublereal E_f;        /* real function with -R not specified */
                    840: 
                    841: /* undef any lower-case symbols that your C compiler predefines, e.g.: */
                    842: 
                    843: #ifndef Skip_f2c_Undefs
                    844: #undef mips
                    845: #undef sgi
                    846: #undef unix
                    847: #endif
                    848: #endif
                    849: 
                    850: #ifdef __cplusplus
                    851: extern "C" {
                    852: extern void abort_(void);
                    853: extern double c_abs(complex *);
                    854: extern void c_cos(complex *, complex *);
                    855: extern void c_div(complex *, complex *, complex *);
                    856: extern void c_exp(complex *, complex *);
                    857: extern void c_log(complex *, complex *);
                    858: extern void c_sin(complex *, complex *);
                    859: extern void c_sqrt(complex *, complex *);
                    860: extern double d_abs(double *);
                    861: extern double d_acos(double *);
                    862: extern double d_asin(double *);
                    863: extern double d_atan(double *);
                    864: extern double d_atn2(double *, double *);
                    865: extern void d_cnjg(doublecomplex *, doublecomplex *);
                    866: extern double d_cos(double *);
                    867: extern double d_cosh(double *);
                    868: extern double d_dim(double *, double *);
                    869: extern double d_exp(double *);
                    870: extern double d_imag(doublecomplex *);
                    871: extern double d_int(double *);
                    872: extern double d_lg10(double *);
                    873: extern double d_log(double *);
                    874: extern double d_mod(double *, double *);
                    875: extern double d_nint(double *);
                    876: extern double d_prod(float *, float *);
                    877: extern double d_sign(double *, double *);
                    878: extern double d_sin(double *);
                    879: extern double d_sinh(double *);
                    880: extern double d_sqrt(double *);
                    881: extern double d_tan(double *);
                    882: extern double d_tanh(double *);
                    883: extern double derf_(double *);
                    884: extern double derfc_(double *);
                    885: extern void ef1asc_(long int *, long int *, long int *, long int *);
                    886: extern long int ef1cmc_(long int *, long int *, long int *, long int *);
                    887: extern double erf(double);
                    888: extern double erf_(float *);
                    889: extern double erfc(double);
                    890: extern double erfc_(float *);
                    891: extern void getarg_(long int *, char *, long int);
                    892: extern void getenv_(char *, char *, long int, long int);
                    893: extern int getpid(void);
                    894: extern short h_abs(short *);
                    895: extern short h_dim(short *, short *);
                    896: extern short h_dnnt(double *);
                    897: extern short h_indx(char *, char *, long int, long int);
                    898: extern short h_len(char *, long int);
                    899: extern short h_mod(short *, short *);
                    900: extern short h_nint(float *);
                    901: extern short h_sign(short *, short *);
                    902: extern short hl_ge(char *, char *, long int, long int);
                    903: extern short hl_gt(char *, char *, long int, long int);
                    904: extern short hl_le(char *, char *, long int, long int);
                    905: extern short hl_lt(char *, char *, long int, long int);
                    906: extern long int i_abs(long int *);
                    907: extern long int i_dim(long int *, long int *);
                    908: extern long int i_dnnt(double *);
                    909: extern long int i_indx(char *, char *, long int, long int);
                    910: extern long int i_len(char *, long int);
                    911: extern long int i_mod(long int *, long int *);
                    912: extern long int i_nint(float *);
                    913: extern long int i_sign(long int *, long int *);
                    914: extern long int iargc_(void);
                    915: extern long int l_ge(char *, char *, long int, long int);
                    916: extern long int l_gt(char *, char *, long int, long int);
                    917: extern long int l_le(char *, char *, long int, long int);
                    918: extern long int l_lt(char *, char *, long int, long int);
                    919: extern int main(int, char **);
                    920: extern int pause(void);
                    921: extern void pow_ci(complex *, complex *, long int *);
                    922: extern double pow_dd(double *, double *);
                    923: extern double pow_di(double *, long int *);
                    924: extern short pow_hh(short *, short *);
                    925: extern long int pow_ii(long int *, long int *);
                    926: extern double pow_ri(float *, long int *);
                    927: extern void pow_zi(doublecomplex *, doublecomplex *, long int *);
                    928: extern void pow_zz(doublecomplex *, doublecomplex *, doublecomplex *);
                    929: extern double r_abs(float *);
                    930: extern double r_acos(float *);
                    931: extern double r_asin(float *);
                    932: extern double r_atan(float *);
                    933: extern double r_atn2(float *, float *);
                    934: extern void r_cnjg(complex *, complex *);
                    935: extern double r_cos(float *);
                    936: extern double r_cosh(float *);
                    937: extern double r_dim(float *, float *);
                    938: extern double r_exp(float *);
                    939: extern double r_imag(complex *);
                    940: extern double r_int(float *);
                    941: extern double r_lg10(float *);
                    942: extern double r_log(float *);
                    943: extern double r_mod(float *, float *);
                    944: extern double r_nint(float *);
                    945: extern double r_sign(float *, float *);
                    946: extern double r_sin(float *);
                    947: extern double r_sinh(float *);
                    948: extern double r_sqrt(float *);
                    949: extern double r_tan(float *);
                    950: extern double r_tanh(float *);
                    951: extern void s_cat(char *, char **, long int *, long int *, long int);
                    952: extern long int s_cmp(char *, char *, long int, long int);
                    953: extern void s_copy(char *, char *, long int, long int);
                    954: extern void s_paus(char *, long int);
                    955: extern void s_rnge(char *, long int, char *, long int);
                    956: extern void s_stop(char *, long int);
                    957: extern void sig_die(char *, int);
                    958: extern long int signal_(long int *, void *);
                    959: extern int system_(char *, long int);
                    960: extern double z_abs(doublecomplex *);
                    961: extern void z_cos(doublecomplex *, doublecomplex *);
                    962: extern void z_div(doublecomplex *, doublecomplex *, doublecomplex *);
                    963: extern void z_exp(doublecomplex *, doublecomplex *);
                    964: extern void z_log(doublecomplex *, doublecomplex *);
                    965: extern void z_sin(doublecomplex *, doublecomplex *);
                    966: extern void z_sqrt(doublecomplex *, doublecomplex *);
                    967:        }
                    968: #endif
                    969: ./ ADD NAME=getarg_.c TIME=708888157
                    970: #include "f2c.h"
                    971: 
                    972: /*
                    973:  * subroutine getarg(k, c)
                    974:  * returns the kth unix command argument in fortran character
                    975:  * variable argument c
                    976: */
                    977: 
                    978: #ifdef KR_headers
                    979: VOID getarg_(n, s, ls) ftnint *n; register char *s; ftnlen ls;
                    980: #else
                    981: void getarg_(ftnint *n, register char *s, ftnlen ls)
                    982: #endif
                    983: {
                    984: extern int xargc;
                    985: extern char **xargv;
                    986: register char *t;
                    987: register int i;
                    988: 
                    989: if(*n>=0 && *n<xargc)
                    990:        t = xargv[*n];
                    991: else
                    992:        t = "";
                    993: for(i = 0; i<ls && *t!='\0' ; ++i)
                    994:        *s++ = *t++;
                    995: for( ; i<ls ; ++i)
                    996:        *s++ = ' ';
                    997: }
                    998: ./ ADD NAME=getenv_.c TIME=708888060
                    999: #include "f2c.h"
                   1000: 
                   1001: /*
                   1002:  * getenv - f77 subroutine to return environment variables
                   1003:  *
                   1004:  * called by:
                   1005:  *     call getenv (ENV_NAME, char_var)
                   1006:  * where:
                   1007:  *     ENV_NAME is the name of an environment variable
                   1008:  *     char_var is a character variable which will receive
                   1009:  *             the current value of ENV_NAME, or all blanks
                   1010:  *             if ENV_NAME is not defined
                   1011:  */
                   1012: 
                   1013: #ifdef KR_headers
                   1014: VOID getenv_(fname, value, flen, vlen) char *value, *fname; ftnlen vlen, flen;
                   1015: #else
                   1016: void getenv_(char *fname, char *value, ftnlen flen, ftnlen vlen)
                   1017: #endif
                   1018: {
                   1019: extern char **environ;
                   1020: register char *ep, *fp, *flast;
                   1021: register char **env = environ;
                   1022: 
                   1023: flast = fname + flen;
                   1024: for(fp = fname ; fp < flast ; ++fp)
                   1025:        if(*fp == ' ')
                   1026:                {
                   1027:                flast = fp;
                   1028:                break;
                   1029:                }
                   1030: 
                   1031: while (ep = *env++)
                   1032:        {
                   1033:        for(fp = fname; fp<flast ; )
                   1034:                if(*fp++ != *ep++)
                   1035:                        goto endloop;
                   1036: 
                   1037:        if(*ep++ == '=') {      /* copy right hand side */
                   1038:                while( *ep && --vlen>=0 )
                   1039:                        *value++ = *ep++;
                   1040: 
                   1041:                goto blank;
                   1042:                }
                   1043: endloop: ;
                   1044:        }
                   1045: 
                   1046: blank:
                   1047:        while( --vlen >= 0 )
                   1048:                *value++ = ' ';
                   1049: }
                   1050: ./ ADD NAME=h_abs.c TIME=708876130
                   1051: #include "f2c.h"
                   1052: 
                   1053: #ifdef KR_headers
                   1054: shortint h_abs(x) shortint *x;
                   1055: #else
                   1056: shortint h_abs(shortint *x)
                   1057: #endif
                   1058: {
                   1059: if(*x >= 0)
                   1060:        return(*x);
                   1061: return(- *x);
                   1062: }
                   1063: ./ ADD NAME=h_dim.c TIME=708876178
                   1064: #include "f2c.h"
                   1065: 
                   1066: #ifdef KR_headers
                   1067: shortint h_dim(a,b) shortint *a, *b;
                   1068: #else
                   1069: shortint h_dim(shortint *a, shortint *b)
                   1070: #endif
                   1071: {
                   1072: return( *a > *b ? *a - *b : 0);
                   1073: }
                   1074: ./ ADD NAME=h_dnnt.c TIME=708889713
                   1075: #include "f2c.h"
                   1076: 
                   1077: #ifdef KR_headers
                   1078: double floor();
                   1079: shortint h_dnnt(x) doublereal *x;
                   1080: #else
                   1081: #undef abs
                   1082: #include "math.h"
                   1083: shortint h_dnnt(doublereal *x)
                   1084: #endif
                   1085: {
                   1086: return( (*x)>=0 ?
                   1087:        floor(*x + .5) : -floor(.5 - *x) );
                   1088: }
                   1089: ./ ADD NAME=h_indx.c TIME=708876294
                   1090: #include "f2c.h"
                   1091: 
                   1092: #ifdef KR_headers
                   1093: shortint h_indx(a, b, la, lb) char *a, *b; ftnlen la, lb;
                   1094: #else
                   1095: shortint h_indx(char *a, char *b, ftnlen la, ftnlen lb)
                   1096: #endif
                   1097: {
                   1098: int i, n;
                   1099: char *s, *t, *bend;
                   1100: 
                   1101: n = la - lb + 1;
                   1102: bend = b + lb;
                   1103: 
                   1104: for(i = 0 ; i < n ; ++i)
                   1105:        {
                   1106:        s = a + i;
                   1107:        t = b;
                   1108:        while(t < bend)
                   1109:                if(*s++ != *t++)
                   1110:                        goto no;
                   1111:        return(i+1);
                   1112:        no: ;
                   1113:        }
                   1114: return(0);
                   1115: }
                   1116: ./ ADD NAME=h_len.c TIME=708876334
                   1117: #include "f2c.h"
                   1118: 
                   1119: #ifdef KR_headers
                   1120: shortint h_len(s, n) char *s; ftnlen n;
                   1121: #else
                   1122: shortint h_len(char *s, ftnlen n)
                   1123: #endif
                   1124: {
                   1125: return(n);
                   1126: }
                   1127: ./ ADD NAME=h_mod.c TIME=708876382
                   1128: #include "f2c.h"
                   1129: 
                   1130: #ifdef KR_headers
                   1131: shortint h_mod(a,b) short *a, *b;
                   1132: #else
                   1133: shortint h_mod(short *a, short *b)
                   1134: #endif
                   1135: {
                   1136: return( *a % *b);
                   1137: }
                   1138: ./ ADD NAME=h_nint.c TIME=708889713
                   1139: #include "f2c.h"
                   1140: 
                   1141: #ifdef KR_headers
                   1142: double floor();
                   1143: shortint h_nint(x) real *x;
                   1144: #else
                   1145: #undef abs
                   1146: #include "math.h"
                   1147: shortint h_nint(real *x)
                   1148: #endif
                   1149: {
                   1150: return( (*x)>=0 ?
                   1151:        floor(*x + .5) : -floor(.5 - *x) );
                   1152: }
                   1153: ./ ADD NAME=h_sign.c TIME=708876507
                   1154: #include "f2c.h"
                   1155: 
                   1156: #ifdef KR_headers
                   1157: shortint h_sign(a,b) shortint *a, *b;
                   1158: #else
                   1159: shortint h_sign(shortint *a, shortint *b)
                   1160: #endif
                   1161: {
                   1162: shortint x;
                   1163: x = (*a >= 0 ? *a : - *a);
                   1164: return( *b >= 0 ? x : -x);
                   1165: }
                   1166: ./ ADD NAME=hl_ge.c TIME=708875517
                   1167: #include "f2c.h"
                   1168: 
                   1169: #ifdef KR_headers
                   1170: extern integer s_cmp();
                   1171: shortlogical hl_ge(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1172: #else
                   1173: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1174: shortlogical hl_ge(char *a, char *b, ftnlen la, ftnlen lb)
                   1175: #endif
                   1176: {
                   1177: return(s_cmp(a,b,la,lb) >= 0);
                   1178: }
                   1179: ./ ADD NAME=hl_gt.c TIME=708875484
                   1180: #include "f2c.h"
                   1181: 
                   1182: #ifdef KR_headers
                   1183: extern integer s_cmp();
                   1184: shortlogical hl_gt(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1185: #else
                   1186: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1187: shortlogical hl_gt(char *a, char *b, ftnlen la, ftnlen lb)
                   1188: #endif
                   1189: {
                   1190: return(s_cmp(a,b,la,lb) > 0);
                   1191: }
                   1192: ./ ADD NAME=hl_le.c TIME=708875449
                   1193: #include "f2c.h"
                   1194: 
                   1195: #ifdef KR_headers
                   1196: extern integer s_cmp();
                   1197: shortlogical hl_le(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1198: #else
                   1199: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1200: shortlogical hl_le(char *a, char *b, ftnlen la, ftnlen lb)
                   1201: #endif
                   1202: {
                   1203: return(s_cmp(a,b,la,lb) <= 0);
                   1204: }
                   1205: ./ ADD NAME=hl_lt.c TIME=708875277
                   1206: #include "f2c.h"
                   1207: 
                   1208: #ifdef KR_headers
                   1209: extern integer s_cmp();
                   1210: shortlogical hl_lt(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1211: #else
                   1212: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1213: shortlogical hl_lt(char *a, char *b, ftnlen la, ftnlen lb)
                   1214: #endif
                   1215: {
                   1216: return(s_cmp(a,b,la,lb) < 0);
                   1217: }
                   1218: ./ ADD NAME=i_abs.c TIME=708877760
                   1219: #include "f2c.h"
                   1220: 
                   1221: #ifdef KR_headers
                   1222: integer i_abs(x) integer *x;
                   1223: #else
                   1224: integer i_abs(integer *x)
                   1225: #endif
                   1226: {
                   1227: if(*x >= 0)
                   1228:        return(*x);
                   1229: return(- *x);
                   1230: }
                   1231: ./ ADD NAME=i_dim.c TIME=708877832
                   1232: #include "f2c.h"
                   1233: 
                   1234: #ifdef KR_headers
                   1235: integer i_dim(a,b) integer *a, *b;
                   1236: #else
                   1237: integer i_dim(integer *a, integer *b)
                   1238: #endif
                   1239: {
                   1240: return( *a > *b ? *a - *b : 0);
                   1241: }
                   1242: ./ ADD NAME=i_dnnt.c TIME=708889713
                   1243: #include "f2c.h"
                   1244: 
                   1245: #ifdef KR_headers
                   1246: double floor();
                   1247: integer i_dnnt(x) doublereal *x;
                   1248: #else
                   1249: #undef abs
                   1250: #include "math.h"
                   1251: integer i_dnnt(doublereal *x)
                   1252: #endif
                   1253: {
                   1254: return( (*x)>=0 ?
                   1255:        floor(*x + .5) : -floor(.5 - *x) );
                   1256: }
                   1257: ./ ADD NAME=i_indx.c TIME=708877932
                   1258: #include "f2c.h"
                   1259: 
                   1260: #ifdef KR_headers
                   1261: integer i_indx(a, b, la, lb) char *a, *b; ftnlen la, lb;
                   1262: #else
                   1263: integer i_indx(char *a, char *b, ftnlen la, ftnlen lb)
                   1264: #endif
                   1265: {
                   1266: ftnlen i, n;
                   1267: char *s, *t, *bend;
                   1268: 
                   1269: n = la - lb + 1;
                   1270: bend = b + lb;
                   1271: 
                   1272: for(i = 0 ; i < n ; ++i)
                   1273:        {
                   1274:        s = a + i;
                   1275:        t = b;
                   1276:        while(t < bend)
                   1277:                if(*s++ != *t++)
                   1278:                        goto no;
                   1279:        return(i+1);
                   1280:        no: ;
                   1281:        }
                   1282: return(0);
                   1283: }
                   1284: ./ ADD NAME=i_len.c TIME=708877965
                   1285: #include "f2c.h"
                   1286: 
                   1287: #ifdef KR_headers
                   1288: integer i_len(s, n) char *s; ftnlen n;
                   1289: #else
                   1290: integer i_len(char *s, ftnlen n)
                   1291: #endif
                   1292: {
                   1293: return(n);
                   1294: }
                   1295: ./ ADD NAME=i_mod.c TIME=708878002
                   1296: #include "f2c.h"
                   1297: 
                   1298: #ifdef KR_headers
                   1299: integer i_mod(a,b) integer *a, *b;
                   1300: #else
                   1301: integer i_mod(integer *a, integer *b)
                   1302: #endif
                   1303: {
                   1304: return( *a % *b);
                   1305: }
                   1306: ./ ADD NAME=i_nint.c TIME=708889713
                   1307: #include "f2c.h"
                   1308: 
                   1309: #ifdef KR_headers
                   1310: double floor();
                   1311: integer i_nint(x) real *x;
                   1312: #else
                   1313: #undef abs
                   1314: #include "math.h"
                   1315: integer i_nint(real *x)
                   1316: #endif
                   1317: {
                   1318: return( (*x)>=0 ?
                   1319:        floor(*x + .5) : -floor(.5 - *x) );
                   1320: }
                   1321: ./ ADD NAME=i_sign.c TIME=708878100
                   1322: #include "f2c.h"
                   1323: 
                   1324: #ifdef KR_headers
                   1325: integer i_sign(a,b) integer *a, *b;
                   1326: #else
                   1327: integer i_sign(integer *a, integer *b)
                   1328: #endif
                   1329: {
                   1330: integer x;
                   1331: x = (*a >= 0 ? *a : - *a);
                   1332: return( *b >= 0 ? x : -x);
                   1333: }
                   1334: ./ ADD NAME=iargc_.c TIME=708877715
                   1335: #include "f2c.h"
                   1336: 
                   1337: #ifdef KR_headers
                   1338: ftnint iargc_()
                   1339: #else
                   1340: ftnint iargc_(void)
                   1341: #endif
                   1342: {
                   1343: extern int xargc;
                   1344: return ( xargc - 1 );
                   1345: }
                   1346: ./ ADD NAME=l_ge.c TIME=708878341
                   1347: #include "f2c.h"
                   1348: 
                   1349: #ifdef KR_headers
                   1350: extern integer s_cmp();
                   1351: logical l_ge(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1352: #else
                   1353: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1354: logical l_ge(char *a, char *b, ftnlen la, ftnlen lb)
                   1355: #endif
                   1356: {
                   1357: return(s_cmp(a,b,la,lb) >= 0);
                   1358: }
                   1359: ./ ADD NAME=l_gt.c TIME=708878405
                   1360: #include "f2c.h"
                   1361: 
                   1362: #ifdef KR_headers
                   1363: extern integer s_cmp();
                   1364: logical l_gt(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1365: #else
                   1366: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1367: logical l_gt(char *a, char *b, ftnlen la, ftnlen lb)
                   1368: #endif
                   1369: {
                   1370: return(s_cmp(a,b,la,lb) > 0);
                   1371: }
                   1372: ./ ADD NAME=l_le.c TIME=708878439
                   1373: #include "f2c.h"
                   1374: 
                   1375: #ifdef KR_headers
                   1376: extern integer s_cmp();
                   1377: logical l_le(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1378: #else
                   1379: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1380: logical l_le(char *a, char *b, ftnlen la, ftnlen lb)
                   1381: #endif
                   1382: {
                   1383: return(s_cmp(a,b,la,lb) <= 0);
                   1384: }
                   1385: ./ ADD NAME=l_lt.c TIME=708878471
                   1386: #include "f2c.h"
                   1387: 
                   1388: #ifdef KR_headers
                   1389: extern integer s_cmp();
                   1390: logical l_lt(a,b,la,lb) char *a, *b; ftnlen la, lb;
                   1391: #else
                   1392: extern integer s_cmp(char *, char *, ftnlen, ftnlen);
                   1393: logical l_lt(char *a, char *b, ftnlen la, ftnlen lb)
                   1394: #endif
                   1395: {
                   1396: return(s_cmp(a,b,la,lb) < 0);
                   1397: }
                   1398: ./ ADD NAME=main.c TIME=708912028
                   1399: /* STARTUP PROCEDURE FOR UNIX FORTRAN PROGRAMS */
                   1400: 
                   1401: #include "stdio.h"
                   1402: #include "signal.h"
                   1403: 
                   1404: #ifndef SIGIOT
                   1405: #define SIGIOT SIGABRT
                   1406: #endif
                   1407: 
                   1408: #ifndef KR_headers
                   1409: #include "stdlib.h"
                   1410: #endif
                   1411: #ifdef __cplusplus
                   1412: extern "C" {
                   1413: #endif
                   1414: 
                   1415: #ifdef NO__STDC
                   1416: #define ONEXIT onexit
                   1417: extern void f_exit();
                   1418: #else
                   1419: #ifndef KR_headers
                   1420: extern void f_exit(void);
                   1421: #ifndef NO_ONEXIT
                   1422: #define ONEXIT atexit
                   1423: extern int atexit(void (*)(void));
                   1424: #endif
                   1425: #else
                   1426: #ifndef NO_ONEXIT
                   1427: #define ONEXIT onexit
                   1428: extern void f_exit();
                   1429: #endif
                   1430: #endif
                   1431: #endif
                   1432: 
                   1433: #ifdef KR_headers
                   1434: extern void f_init(), sig_die();
                   1435: extern int MAIN__();
                   1436: #define Int /* int */
                   1437: #else
                   1438: extern void f_init(void), sig_die(char*, int);
                   1439: extern int MAIN__(void);
                   1440: #define Int int
                   1441: #endif
                   1442: 
                   1443: static void sigfdie(Int n)
                   1444: {
                   1445: sig_die("Floating Exception", 1);
                   1446: }
                   1447: 
                   1448: 
                   1449: static void sigidie(Int n)
                   1450: {
                   1451: sig_die("IOT Trap", 1);
                   1452: }
                   1453: 
                   1454: #ifdef SIGQUIT
                   1455: static void sigqdie(Int n)
                   1456: {
                   1457: sig_die("Quit signal", 1);
                   1458: }
                   1459: #endif
                   1460: 
                   1461: 
                   1462: static void sigindie(Int n)
                   1463: {
                   1464: sig_die("Interrupt", 0);
                   1465: }
                   1466: 
                   1467: 
                   1468: 
                   1469: static void sigtdie(Int n)
                   1470: {
                   1471: sig_die("Killed", 0);
                   1472: }
                   1473: 
                   1474: 
                   1475: int xargc;
                   1476: char **xargv;
                   1477: 
                   1478: #ifdef KR_headers
                   1479: main(argc, argv) int argc; char **argv;
                   1480: #else
                   1481: main(int argc, char **argv)
                   1482: #endif
                   1483: {
                   1484: xargc = argc;
                   1485: xargv = argv;
                   1486: signal(SIGFPE, sigfdie);       /* ignore underflow, enable overflow */
                   1487: signal(SIGIOT, sigidie);
                   1488: #ifdef SIGQUIT
                   1489: if(signal(SIGQUIT,sigqdie) == SIG_IGN)
                   1490:        signal(SIGQUIT, SIG_IGN);
                   1491: #endif
                   1492: if(signal(SIGINT, sigindie) == SIG_IGN)
                   1493:        signal(SIGINT, SIG_IGN);
                   1494: signal(SIGTERM,sigtdie);
                   1495: 
                   1496: #ifdef pdp11
                   1497:        ldfps(01200); /* detect overflow as an exception */
                   1498: #endif
                   1499: 
                   1500: f_init();
                   1501: #ifndef NO_ONEXIT
                   1502: ONEXIT(f_exit);
                   1503: #endif
                   1504: MAIN__();
                   1505: #ifdef NO_ONEXIT
                   1506: f_exit();
                   1507: #endif
                   1508: exit(0);       /* exit(0) rather than return(0) to bypass Cray bug */
                   1509: }
                   1510: #ifdef __cplusplus
                   1511:        }
                   1512: #endif
                   1513: ./ ADD NAME=pow_ci.c TIME=708964413
                   1514: #include "f2c.h"
                   1515: 
                   1516: #ifdef KR_headers
                   1517: VOID pow_ci(p, a, b)   /* p = a**b  */
                   1518:  complex *p, *a; integer *b;
                   1519: #else
                   1520: extern void pow_zi(doublecomplex*, doublecomplex*, integer*);
                   1521: void pow_ci(complex *p, complex *a, integer *b)        /* p = a**b  */
                   1522: #endif
                   1523: {
                   1524: doublecomplex p1, a1;
                   1525: 
                   1526: a1.r = a->r;
                   1527: a1.i = a->i;
                   1528: 
                   1529: pow_zi(&p1, &a1, b);
                   1530: 
                   1531: p->r = p1.r;
                   1532: p->i = p1.i;
                   1533: }
                   1534: ./ ADD NAME=pow_dd.c TIME=708889713
                   1535: #include "f2c.h"
                   1536: 
                   1537: #ifdef KR_headers
                   1538: double pow();
                   1539: double pow_dd(ap, bp) doublereal *ap, *bp;
                   1540: #else
                   1541: #undef abs
                   1542: #include "math.h"
                   1543: double pow_dd(doublereal *ap, doublereal *bp)
                   1544: #endif
                   1545: {
                   1546: return(pow(*ap, *bp) );
                   1547: }
                   1548: ./ ADD NAME=pow_di.c TIME=708879979
                   1549: #include "f2c.h"
                   1550: 
                   1551: #ifdef KR_headers
                   1552: double pow_di(ap, bp) doublereal *ap; integer *bp;
                   1553: #else
                   1554: double pow_di(doublereal *ap, integer *bp)
                   1555: #endif
                   1556: {
                   1557: double pow, x;
                   1558: integer n;
                   1559: 
                   1560: pow = 1;
                   1561: x = *ap;
                   1562: n = *bp;
                   1563: 
                   1564: if(n != 0)
                   1565:        {
                   1566:        if(n < 0)
                   1567:                {
                   1568:                if(x == 0)
                   1569:                        {
                   1570:                        return(pow);
                   1571:                        }
                   1572:                n = -n;
                   1573:                x = 1/x;
                   1574:                }
                   1575:        for( ; ; )
                   1576:                {
                   1577:                if(n & 01)
                   1578:                        pow *= x;
                   1579:                if(n >>= 1)
                   1580:                        x *= x;
                   1581:                else
                   1582:                        break;
                   1583:                }
                   1584:        }
                   1585: return(pow);
                   1586: }
                   1587: ./ ADD NAME=pow_hh.c TIME=708880026
                   1588: #include "f2c.h"
                   1589: 
                   1590: #ifdef KR_headers
                   1591: shortint pow_hh(ap, bp) shortint *ap, *bp;
                   1592: #else
                   1593: shortint pow_hh(shortint *ap, shortint *bp)
                   1594: #endif
                   1595: {
                   1596: shortint pow, x, n;
                   1597: 
                   1598: pow = 1;
                   1599: x = *ap;
                   1600: n = *bp;
                   1601: 
                   1602: if(n < 0)
                   1603:        { }
                   1604: else if(n > 0)
                   1605:        for( ; ; )
                   1606:                {
                   1607:                if(n & 01)
                   1608:                        pow *= x;
                   1609:                if(n >>= 1)
                   1610:                        x *= x;
                   1611:                else
                   1612:                        break;
                   1613:                }
                   1614: return(pow);
                   1615: }
                   1616: ./ ADD NAME=pow_ii.c TIME=708880096
                   1617: #include "f2c.h"
                   1618: 
                   1619: #ifdef KR_headers
                   1620: integer pow_ii(ap, bp) integer *ap, *bp;
                   1621: #else
                   1622: integer pow_ii(integer *ap, integer *bp)
                   1623: #endif
                   1624: {
                   1625: integer pow, x, n;
                   1626: 
                   1627: pow = 1;
                   1628: x = *ap;
                   1629: n = *bp;
                   1630: 
                   1631: if(n < 0)
                   1632:        { }
                   1633: else if(n > 0)
                   1634:        for( ; ; )
                   1635:                {
                   1636:                if(n & 01)
                   1637:                        pow *= x;
                   1638:                if(n >>= 1)
                   1639:                        x *= x;
                   1640:                else
                   1641:                        break;
                   1642:                }
                   1643: return(pow);
                   1644: }
                   1645: ./ ADD NAME=pow_ri.c TIME=708880062
                   1646: #include "f2c.h"
                   1647: 
                   1648: #ifdef KR_headers
                   1649: double pow_ri(ap, bp) real *ap; integer *bp;
                   1650: #else
                   1651: double pow_ri(real *ap, integer *bp)
                   1652: #endif
                   1653: {
                   1654: double pow, x;
                   1655: integer n;
                   1656: 
                   1657: pow = 1;
                   1658: x = *ap;
                   1659: n = *bp;
                   1660: 
                   1661: if(n != 0)
                   1662:        {
                   1663:        if(n < 0)
                   1664:                {
                   1665:                if(x == 0)
                   1666:                        {
                   1667:                        return(pow);
                   1668:                        }
                   1669:                n = -n;
                   1670:                x = 1/x;
                   1671:                }
                   1672:        for( ; ; )
                   1673:                {
                   1674:                if(n & 01)
                   1675:                        pow *= x;
                   1676:                if(n >>= 1)
                   1677:                        x *= x;
                   1678:                else
                   1679:                        break;
                   1680:                }
                   1681:        }
                   1682: return(pow);
                   1683: }
                   1684: ./ ADD NAME=pow_zi.c TIME=708879685
                   1685: #include "f2c.h"
                   1686: 
                   1687: #ifdef KR_headers
                   1688: VOID pow_zi(p, a, b)   /* p = a**b  */
                   1689:  doublecomplex *p, *a; integer *b;
                   1690: #else
                   1691: extern void z_div(doublecomplex*, doublecomplex*, doublecomplex*);
                   1692: void pow_zi(doublecomplex *p, doublecomplex *a, integer *b)    /* p = a**b  */
                   1693: #endif
                   1694: {
                   1695: integer n;
                   1696: double t;
                   1697: doublecomplex x;
                   1698: static doublecomplex one = {1.0, 0.0};
                   1699: 
                   1700: n = *b;
                   1701: p->r = 1;
                   1702: p->i = 0;
                   1703: 
                   1704: if(n == 0)
                   1705:        return;
                   1706: if(n < 0)
                   1707:        {
                   1708:        n = -n;
                   1709:        z_div(&x, &one, a);
                   1710:        }
                   1711: else
                   1712:        {
                   1713:        x.r = a->r;
                   1714:        x.i = a->i;
                   1715:        }
                   1716: 
                   1717: for( ; ; )
                   1718:        {
                   1719:        if(n & 01)
                   1720:                {
                   1721:                t = p->r * x.r - p->i * x.i;
                   1722:                p->i = p->r * x.i + p->i * x.r;
                   1723:                p->r = t;
                   1724:                }
                   1725:        if(n >>= 1)
                   1726:                {
                   1727:                t = x.r * x.r - x.i * x.i;
                   1728:                x.i = 2 * x.r * x.i;
                   1729:                x.r = t;
                   1730:                }
                   1731:        else
                   1732:                break;
                   1733:        }
                   1734: }
                   1735: ./ ADD NAME=pow_zz.c TIME=708960922
                   1736: #include "f2c.h"
                   1737: 
                   1738: #ifdef KR_headers
                   1739: double log(), exp(), cos(), sin(), atan2(), Cabs();
                   1740: VOID pow_zz(r,a,b) doublecomplex *r, *a, *b;
                   1741: #else
                   1742: #undef abs
                   1743: #include "math.h"
                   1744: extern double Cabs(double,double);
                   1745: void pow_zz(doublecomplex *r, doublecomplex *a, doublecomplex *b)
                   1746: #endif
                   1747: {
                   1748: double logr, logi, x, y;
                   1749: 
                   1750: logr = log( Cabs(a->r, a->i) );
                   1751: logi = atan2(a->i, a->r);
                   1752: 
                   1753: x = exp( logr * b->r - logi * b->i );
                   1754: y = logr * b->i + logi * b->r;
                   1755: 
                   1756: r->r = x * cos(y);
                   1757: r->i = x * sin(y);
                   1758: }
                   1759: ./ ADD NAME=r_abs.c TIME=708880224
                   1760: #include "f2c.h"
                   1761: 
                   1762: #ifdef KR_headers
                   1763: double r_abs(x) real *x;
                   1764: #else
                   1765: double r_abs(real *x)
                   1766: #endif
                   1767: {
                   1768: if(*x >= 0)
                   1769:        return(*x);
                   1770: return(- *x);
                   1771: }
                   1772: ./ ADD NAME=r_acos.c TIME=708889713
                   1773: #include "f2c.h"
                   1774: 
                   1775: #ifdef KR_headers
                   1776: double acos();
                   1777: double r_acos(x) real *x;
                   1778: #else
                   1779: #undef abs
                   1780: #include "math.h"
                   1781: double r_acos(real *x)
                   1782: #endif
                   1783: {
                   1784: return( acos(*x) );
                   1785: }
                   1786: ./ ADD NAME=r_asin.c TIME=708889713
                   1787: #include "f2c.h"
                   1788: 
                   1789: #ifdef KR_headers
                   1790: double asin();
                   1791: double r_asin(x) real *x;
                   1792: #else
                   1793: #undef abs
                   1794: #include "math.h"
                   1795: double r_asin(real *x)
                   1796: #endif
                   1797: {
                   1798: return( asin(*x) );
                   1799: }
                   1800: ./ ADD NAME=r_atan.c TIME=708889713
                   1801: #include "f2c.h"
                   1802: 
                   1803: #ifdef KR_headers
                   1804: double atan();
                   1805: double r_atan(x) real *x;
                   1806: #else
                   1807: #undef abs
                   1808: #include "math.h"
                   1809: double r_atan(real *x)
                   1810: #endif
                   1811: {
                   1812: return( atan(*x) );
                   1813: }
                   1814: ./ ADD NAME=r_atn2.c TIME=708889713
                   1815: #include "f2c.h"
                   1816: 
                   1817: #ifdef KR_headers
                   1818: double atan2();
                   1819: double r_atn2(x,y) real *x, *y;
                   1820: #else
                   1821: #undef abs
                   1822: #include "math.h"
                   1823: double r_atn2(real *x, real *y)
                   1824: #endif
                   1825: {
                   1826: return( atan2(*x,*y) );
                   1827: }
                   1828: ./ ADD NAME=r_cnjg.c TIME=708885238
                   1829: #include "f2c.h"
                   1830: 
                   1831: #ifdef KR_headers
                   1832: VOID r_cnjg(r, z) complex *r, *z;
                   1833: #else
                   1834: VOID r_cnjg(complex *r, complex *z)
                   1835: #endif
                   1836: {
                   1837: r->r = z->r;
                   1838: r->i = - z->i;
                   1839: }
                   1840: ./ ADD NAME=r_cos.c TIME=708889713
                   1841: #include "f2c.h"
                   1842: 
                   1843: #ifdef KR_headers
                   1844: double cos();
                   1845: double r_cos(x) real *x;
                   1846: #else
                   1847: #undef abs
                   1848: #include "math.h"
                   1849: double r_cos(real *x)
                   1850: #endif
                   1851: {
                   1852: return( cos(*x) );
                   1853: }
                   1854: ./ ADD NAME=r_cosh.c TIME=708889714
                   1855: #include "f2c.h"
                   1856: 
                   1857: #ifdef KR_headers
                   1858: double cosh();
                   1859: double r_cosh(x) real *x;
                   1860: #else
                   1861: #undef abs
                   1862: #include "math.h"
                   1863: double r_cosh(real *x)
                   1864: #endif
                   1865: {
                   1866: return( cosh(*x) );
                   1867: }
                   1868: ./ ADD NAME=r_dim.c TIME=708885323
                   1869: #include "f2c.h"
                   1870: 
                   1871: #ifdef KR_headers
                   1872: double r_dim(a,b) real *a, *b;
                   1873: #else
                   1874: double r_dim(real *a, real *b)
                   1875: #endif
                   1876: {
                   1877: return( *a > *b ? *a - *b : 0);
                   1878: }
                   1879: ./ ADD NAME=r_exp.c TIME=708889714
                   1880: #include "f2c.h"
                   1881: 
                   1882: #ifdef KR_headers
                   1883: double exp();
                   1884: double r_exp(x) real *x;
                   1885: #else
                   1886: #undef abs
                   1887: #include "math.h"
                   1888: double r_exp(real *x)
                   1889: #endif
                   1890: {
                   1891: return( exp(*x) );
                   1892: }
                   1893: ./ ADD NAME=r_imag.c TIME=708885387
                   1894: #include "f2c.h"
                   1895: 
                   1896: #ifdef KR_headers
                   1897: double r_imag(z) complex *z;
                   1898: #else
                   1899: double r_imag(complex *z)
                   1900: #endif
                   1901: {
                   1902: return(z->i);
                   1903: }
                   1904: ./ ADD NAME=r_int.c TIME=708889714
                   1905: #include "f2c.h"
                   1906: 
                   1907: #ifdef KR_headers
                   1908: double floor();
                   1909: double r_int(x) real *x;
                   1910: #else
                   1911: #undef abs
                   1912: #include "math.h"
                   1913: double r_int(real *x)
                   1914: #endif
                   1915: {
                   1916: return( (*x>0) ? floor(*x) : -floor(- *x) );
                   1917: }
                   1918: ./ ADD NAME=r_lg10.c TIME=708889714
                   1919: #include "f2c.h"
                   1920: 
                   1921: #define log10e 0.43429448190325182765
                   1922: 
                   1923: #ifdef KR_headers
                   1924: double log();
                   1925: double r_lg10(x) real *x;
                   1926: #else
                   1927: #undef abs
                   1928: #include "math.h"
                   1929: double r_lg10(real *x)
                   1930: #endif
                   1931: {
                   1932: return( log10e * log(*x) );
                   1933: }
                   1934: ./ ADD NAME=r_log.c TIME=708889714
                   1935: #include "f2c.h"
                   1936: 
                   1937: #ifdef KR_headers
                   1938: double log();
                   1939: double r_log(x) real *x;
                   1940: #else
                   1941: #undef abs
                   1942: #include "math.h"
                   1943: double r_log(real *x)
                   1944: #endif
                   1945: {
                   1946: return( log(*x) );
                   1947: }
                   1948: ./ ADD NAME=r_mod.c TIME=708889714
                   1949: #include "f2c.h"
                   1950: 
                   1951: #ifdef KR_headers
                   1952: #ifdef IEEE_drem
                   1953: double drem();
                   1954: #else
                   1955: double floor();
                   1956: #endif
                   1957: double r_mod(x,y) real *x, *y;
                   1958: #else
                   1959: #ifdef IEEE_drem
                   1960: double drem(double, double);
                   1961: #else
                   1962: #undef abs
                   1963: #include "math.h"
                   1964: #endif
                   1965: double r_mod(real *x, real *y)
                   1966: #endif
                   1967: {
                   1968: #ifdef IEEE_drem
                   1969:        double xa, ya, z;
                   1970:        if ((ya = *y) < 0.)
                   1971:                ya = -ya;
                   1972:        z = drem(xa = *x, ya);
                   1973:        if (xa > 0) {
                   1974:                if (z < 0)
                   1975:                        z += ya;
                   1976:                }
                   1977:        else if (z > 0)
                   1978:                z -= ya;
                   1979:        return z;
                   1980: #else
                   1981:        double quotient;
                   1982:        if( (quotient = (double)*x / *y) >= 0)
                   1983:                quotient = floor(quotient);
                   1984:        else
                   1985:                quotient = -floor(-quotient);
                   1986:        return(*x - (*y) * quotient );
                   1987: #endif
                   1988: }
                   1989: ./ ADD NAME=r_nint.c TIME=708889714
                   1990: #include "f2c.h"
                   1991: 
                   1992: #ifdef KR_headers
                   1993: double floor();
                   1994: double r_nint(x) real *x;
                   1995: #else
                   1996: #undef abs
                   1997: #include "math.h"
                   1998: double r_nint(real *x)
                   1999: #endif
                   2000: {
                   2001: return( (*x)>=0 ?
                   2002:        floor(*x + .5) : -floor(.5 - *x) );
                   2003: }
                   2004: ./ ADD NAME=r_sign.c TIME=708885772
                   2005: #include "f2c.h"
                   2006: 
                   2007: #ifdef KR_headers
                   2008: double r_sign(a,b) real *a, *b;
                   2009: #else
                   2010: double r_sign(real *a, real *b)
                   2011: #endif
                   2012: {
                   2013: double x;
                   2014: x = (*a >= 0 ? *a : - *a);
                   2015: return( *b >= 0 ? x : -x);
                   2016: }
                   2017: ./ ADD NAME=r_sin.c TIME=708889714
                   2018: #include "f2c.h"
                   2019: 
                   2020: #ifdef KR_headers
                   2021: double sin();
                   2022: double r_sin(x) real *x;
                   2023: #else
                   2024: #undef abs
                   2025: #include "math.h"
                   2026: double r_sin(real *x)
                   2027: #endif
                   2028: {
                   2029: return( sin(*x) );
                   2030: }
                   2031: ./ ADD NAME=r_sinh.c TIME=708889714
                   2032: #include "f2c.h"
                   2033: 
                   2034: #ifdef KR_headers
                   2035: double sinh();
                   2036: double r_sinh(x) real *x;
                   2037: #else
                   2038: #undef abs
                   2039: #include "math.h"
                   2040: double r_sinh(real *x)
                   2041: #endif
                   2042: {
                   2043: return( sinh(*x) );
                   2044: }
                   2045: ./ ADD NAME=r_sqrt.c TIME=708889714
                   2046: #include "f2c.h"
                   2047: 
                   2048: #ifdef KR_headers
                   2049: double sqrt();
                   2050: double r_sqrt(x) real *x;
                   2051: #else
                   2052: #undef abs
                   2053: #include "math.h"
                   2054: double r_sqrt(real *x)
                   2055: #endif
                   2056: {
                   2057: return( sqrt(*x) );
                   2058: }
                   2059: ./ ADD NAME=r_tan.c TIME=708890521
                   2060: #include "f2c.h"
                   2061: 
                   2062: #ifdef KR_headers
                   2063: double tan();
                   2064: double r_tan(x) real *x;
                   2065: #else
                   2066: #undef abs
                   2067: #include "math.h"
                   2068: double r_tan(real *x)
                   2069: #endif
                   2070: {
                   2071: return( tan(*x) );
                   2072: }
                   2073: ./ ADD NAME=r_tanh.c TIME=708889714
                   2074: #include "f2c.h"
                   2075: 
                   2076: #ifdef KR_headers
                   2077: double tanh();
                   2078: double r_tanh(x) real *x;
                   2079: #else
                   2080: #undef abs
                   2081: #include "math.h"
                   2082: double r_tanh(real *x)
                   2083: #endif
                   2084: {
                   2085: return( tanh(*x) );
                   2086: }
                   2087: ./ ADD NAME=s_cat.c TIME=708887176
                   2088: #include "f2c.h"
                   2089: 
                   2090: #ifdef KR_headers
                   2091: VOID s_cat(lp, rpp, rnp, np, ll) char *lp, *rpp[]; ftnlen rnp[], *np, ll;
                   2092: #else
                   2093: VOID s_cat(char *lp, char *rpp[], ftnlen rnp[], ftnlen *np, ftnlen ll)
                   2094: #endif
                   2095: {
                   2096: int i, n, nc;
                   2097: char *rp;
                   2098: 
                   2099: n = *np;
                   2100: for(i = 0 ; i < n ; ++i)
                   2101:        {
                   2102:        nc = ll;
                   2103:        if(rnp[i] < nc)
                   2104:                nc = rnp[i];
                   2105:        ll -= nc;
                   2106:        rp = rpp[i];
                   2107:        while(--nc >= 0)
                   2108:                *lp++ = *rp++;
                   2109:        }
                   2110: while(--ll >= 0)
                   2111:        *lp++ = ' ';
                   2112: }
                   2113: ./ ADD NAME=s_cmp.c TIME=708887238
                   2114: #include "f2c.h"
                   2115: 
                   2116: /* compare two strings */
                   2117: 
                   2118: #ifdef KR_headers
                   2119: integer s_cmp(a, b, la, lb) register char *a, *b; ftnlen la, lb;
                   2120: #else
                   2121: integer s_cmp(register char *a, register char *b, ftnlen la, ftnlen lb)
                   2122: #endif
                   2123: {
                   2124: register char *aend, *bend;
                   2125: aend = a + la;
                   2126: bend = b + lb;
                   2127: 
                   2128: if(la <= lb)
                   2129:        {
                   2130:        while(a < aend)
                   2131:                if(*a != *b)
                   2132:                        return( *a - *b );
                   2133:                else
                   2134:                        { ++a; ++b; }
                   2135: 
                   2136:        while(b < bend)
                   2137:                if(*b != ' ')
                   2138:                        return( ' ' - *b );
                   2139:                else    ++b;
                   2140:        }
                   2141: 
                   2142: else
                   2143:        {
                   2144:        while(b < bend)
                   2145:                if(*a == *b)
                   2146:                        { ++a; ++b; }
                   2147:                else
                   2148:                        return( *a - *b );
                   2149:        while(a < aend)
                   2150:                if(*a != ' ')
                   2151:                        return(*a - ' ');
                   2152:                else    ++a;
                   2153:        }
                   2154: return(0);
                   2155: }
                   2156: ./ ADD NAME=s_copy.c TIME=708887356
                   2157: #include "f2c.h"
                   2158: 
                   2159: /* assign strings:  a = b */
                   2160: 
                   2161: #ifdef KR_headers
                   2162: VOID s_copy(a, b, la, lb) register char *a, *b; ftnlen la, lb;
                   2163: #else
                   2164: void s_copy(register char *a, register char *b, ftnlen la, ftnlen lb)
                   2165: #endif
                   2166: {
                   2167: register char *aend, *bend;
                   2168: 
                   2169: aend = a + la;
                   2170: 
                   2171: if(la <= lb)
                   2172:        while(a < aend)
                   2173:                *a++ = *b++;
                   2174: 
                   2175: else
                   2176:        {
                   2177:        bend = b + lb;
                   2178:        while(b < bend)
                   2179:                *a++ = *b++;
                   2180:        while(a < aend)
                   2181:                *a++ = ' ';
                   2182:        }
                   2183: }
                   2184: ./ ADD NAME=s_paus.c TIME=708917853
                   2185: #include "stdio.h"
                   2186: #include "f2c.h"
                   2187: #define PAUSESIG 15
                   2188: 
                   2189: #ifdef KR_headers
                   2190: #define Void /* void */
                   2191: #define Int /* int */
                   2192: #else
                   2193: #define Void void
                   2194: #define Int int
                   2195: #undef abs
                   2196: #include "stdlib.h"
                   2197: #include "signal.h"
                   2198: extern int getpid(void), isatty(int), pause(void);
                   2199: #endif
                   2200: 
                   2201: #ifdef __cplusplus
                   2202: extern "C" void f_exit(void);
                   2203: #else
                   2204: extern VOID f_exit(Void);
                   2205: #endif
                   2206: 
                   2207: static VOID waitpause(Int n)
                   2208: {
                   2209: return;
                   2210: }
                   2211: 
                   2212: #ifdef KR_headers
                   2213: VOID s_paus(s, n) char *s; ftnlen n;
                   2214: #else
                   2215: void s_paus(char *s, ftnlen n)
                   2216: #endif
                   2217: {
                   2218: int i;
                   2219: 
                   2220: fprintf(stderr, "PAUSE ");
                   2221: if(n > 0)
                   2222:        for(i = 0; i<n ; ++i)
                   2223:                putc(*s++, stderr);
                   2224: fprintf(stderr, " statement executed\n");
                   2225: if( isatty(fileno(stdin)) )
                   2226:        {
                   2227:        fprintf(stderr, "To resume execution, type go.  Any other input will terminate job.\n");
                   2228:        fflush(stderr);
                   2229:        if( getchar()!='g' || getchar()!='o' || getchar()!='\n' )
                   2230:                {
                   2231:                fprintf(stderr, "STOP\n");
                   2232:                f_exit();
                   2233:                exit(0);
                   2234:                }
                   2235:        }
                   2236: else
                   2237:        {
                   2238:        fprintf(stderr, "To resume execution, execute a   kill -%d %d   command\n",
                   2239:                PAUSESIG, getpid() );
                   2240:        signal(PAUSESIG, waitpause);
                   2241:        fflush(stderr);
                   2242:        pause();
                   2243:        }
                   2244: fprintf(stderr, "Execution resumes after PAUSE.\n");
                   2245: }
                   2246: ./ ADD NAME=s_rnge.c TIME=708887851
                   2247: #include "stdio.h"
                   2248: #include "f2c.h"
                   2249: 
                   2250: /* called when a subscript is out of range */
                   2251: 
                   2252: #ifdef KR_headers
                   2253: extern VOID sig_die();
                   2254: VOID s_rnge(varn, offset, procn, line) char *varn, *procn; ftnint offset, line;
                   2255: #else
                   2256: extern VOID sig_die(char*,int);
                   2257: void s_rnge(char *varn, ftnint offset, char *procn, ftnint line)
                   2258: #endif
                   2259: {
                   2260: register int i;
                   2261: 
                   2262: fprintf(stderr, "Subscript out of range on file line %ld, procedure ", line);
                   2263: while((i = *procn) && i != '_' && i != ' ')
                   2264:        putc(*procn++, stderr);
                   2265: fprintf(stderr, ".\nAttempt to access the %ld-th element of variable ", offset+1);
                   2266: while((i = *varn) && i != ' ')
                   2267:        putc(*varn++, stderr);
                   2268: sig_die(".", 1);
                   2269: }
                   2270: ./ ADD NAME=s_stop.c TIME=708917916
                   2271: #include "stdio.h"
                   2272: #include "f2c.h"
                   2273: 
                   2274: #ifdef KR_headers
                   2275: extern void f_exit();
                   2276: VOID s_stop(s, n) char *s; ftnlen n;
                   2277: #else
                   2278: #undef abs
                   2279: #include "stdlib.h"
                   2280: #ifdef __cplusplus
                   2281: extern "C" void f_exit(void);
                   2282: #else
                   2283: extern VOID f_exit(Void);
                   2284: #endif
                   2285: void s_stop(char *s, ftnlen n)
                   2286: #endif
                   2287: {
                   2288: int i;
                   2289: 
                   2290: if(n > 0)
                   2291:        {
                   2292:        fprintf(stderr, "STOP ");
                   2293:        for(i = 0; i<n ; ++i)
                   2294:                putc(*s++, stderr);
                   2295:        fprintf(stderr, " statement executed\n");
                   2296:        }
                   2297: f_exit();
                   2298: exit(0);
                   2299: }
                   2300: ./ ADD NAME=sig_die.c TIME=708905928
                   2301: #include "stdio.h"
                   2302: #include "signal.h"
                   2303: 
                   2304: #ifndef SIGIOT
                   2305: #define SIGIOT SIGABRT
                   2306: #endif
                   2307: 
                   2308: #ifdef __cplusplus
                   2309: extern "C" {
                   2310: #endif
                   2311: #ifdef KR_headers
                   2312: void sig_die(s, kill) register char *s; int kill;
                   2313: #else
                   2314: #include "stdlib.h"
                   2315:  extern void f_exit(void);
                   2316: 
                   2317: void sig_die(register char *s, int kill)
                   2318: #endif
                   2319: {
                   2320:        /* print error message, then clear buffers */
                   2321:        fprintf(stderr, "%s\n", s);
                   2322:        fflush(stderr);
                   2323:        f_exit();
                   2324:        fflush(stderr);
                   2325: 
                   2326:        if(kill)
                   2327:                {
                   2328:                /* now get a core */
                   2329:                signal(SIGIOT, SIG_DFL);
                   2330:                abort();
                   2331:                }
                   2332:        else
                   2333:                exit(1);
                   2334:        }
                   2335: #ifdef __cplusplus
                   2336:        }
                   2337: #endif
                   2338: ./ ADD NAME=signal_.c TIME=708887100
                   2339: #include "f2c.h"
                   2340: 
                   2341: #ifdef KR_headers
                   2342: typedef int (*sig_type)();
                   2343: extern sig_type signal();
                   2344: 
                   2345: ftnint signal_(sigp, procp) ftnint *sigp, *procp;
                   2346: #else
                   2347: #include "signal.h"
                   2348: typedef void (*sig_type)(int);
                   2349: 
                   2350: ftnint signal_(ftnint *sigp, void *procp)
                   2351: #endif
                   2352: {
                   2353:        int sig;
                   2354:        sig_type proc;
                   2355:        sig = *sigp;
                   2356:        proc = *(sig_type *)procp;
                   2357: 
                   2358:        return (ftnint)signal(sig, proc);
                   2359:        }
                   2360: ./ ADD NAME=system_.c TIME=708886771
                   2361: /* f77 interface to system routine */
                   2362: 
                   2363: #include "f2c.h"
                   2364: 
                   2365: #ifdef KR_headers
                   2366: system_(s, n) register char *s; ftnlen n;
                   2367: #else
                   2368: #undef abs
                   2369: #include "stdlib.h"
                   2370: system_(register char *s, ftnlen n)
                   2371: #endif
                   2372: {
                   2373: char buff[1000];
                   2374: register char *bp, *blast;
                   2375: 
                   2376: blast = buff + (n < 1000 ? n : 1000);
                   2377: 
                   2378: for(bp = buff ; bp<blast && *s!='\0' ; )
                   2379:        *bp++ = *s++;
                   2380: *bp = '\0';
                   2381: return system(buff);
                   2382: }
                   2383: ./ ADD NAME=z_abs.c TIME=708960777
                   2384: #include "f2c.h"
                   2385: 
                   2386: #ifdef KR_headers
                   2387: double Cabs();
                   2388: double z_abs(z) doublecomplex *z;
                   2389: #else
                   2390: double Cabs(double, double);
                   2391: double z_abs(doublecomplex *z)
                   2392: #endif
                   2393: {
                   2394: return( Cabs( z->r, z->i ) );
                   2395: }
                   2396: ./ ADD NAME=z_cos.c TIME=708889714
                   2397: #include "f2c.h"
                   2398: 
                   2399: #ifdef KR_headers
                   2400: double sin(), cos(), sinh(), cosh();
                   2401: VOID z_cos(r, z) doublecomplex *r, *z;
                   2402: #else
                   2403: #undef abs
                   2404: #include "math.h"
                   2405: void z_cos(doublecomplex *r, doublecomplex *z)
                   2406: #endif
                   2407: {
                   2408: r->r = cos(z->r) * cosh(z->i);
                   2409: r->i = - sin(z->r) * sinh(z->i);
                   2410: }
                   2411: ./ ADD NAME=z_div.c TIME=708886308
                   2412: #include "f2c.h"
                   2413: 
                   2414: #ifdef KR_headers
                   2415: extern void sig_die();
                   2416: VOID z_div(c, a, b) doublecomplex *a, *b, *c;
                   2417: #else
                   2418: extern void sig_die(char*, int);
                   2419: void z_div(doublecomplex *c, doublecomplex *a, doublecomplex *b)
                   2420: #endif
                   2421: {
                   2422: double ratio, den;
                   2423: double abr, abi;
                   2424: 
                   2425: if( (abr = b->r) < 0.)
                   2426:        abr = - abr;
                   2427: if( (abi = b->i) < 0.)
                   2428:        abi = - abi;
                   2429: if( abr <= abi )
                   2430:        {
                   2431:        if(abi == 0)
                   2432:                sig_die("complex division by zero", 1);
                   2433:        ratio = b->r / b->i ;
                   2434:        den = b->i * (1 + ratio*ratio);
                   2435:        c->r = (a->r*ratio + a->i) / den;
                   2436:        c->i = (a->i*ratio - a->r) / den;
                   2437:        }
                   2438: 
                   2439: else
                   2440:        {
                   2441:        ratio = b->i / b->r ;
                   2442:        den = b->r * (1 + ratio*ratio);
                   2443:        c->r = (a->r + a->i*ratio) / den;
                   2444:        c->i = (a->i - a->r*ratio) / den;
                   2445:        }
                   2446: 
                   2447: }
                   2448: ./ ADD NAME=z_exp.c TIME=708889714
                   2449: #include "f2c.h"
                   2450: 
                   2451: #ifdef KR_headers
                   2452: double exp(), cos(), sin();
                   2453: VOID z_exp(r, z) doublecomplex *r, *z;
                   2454: #else
                   2455: #undef abs
                   2456: #include "math.h"
                   2457: void z_exp(doublecomplex *r, doublecomplex *z)
                   2458: #endif
                   2459: {
                   2460: double expx;
                   2461: 
                   2462: expx = exp(z->r);
                   2463: r->r = expx * cos(z->i);
                   2464: r->i = expx * sin(z->i);
                   2465: }
                   2466: ./ ADD NAME=z_log.c TIME=708960939
                   2467: #include "f2c.h"
                   2468: 
                   2469: #ifdef KR_headers
                   2470: double log(), Cabs(), atan2();
                   2471: VOID z_log(r, z) doublecomplex *r, *z;
                   2472: #else
                   2473: #undef abs
                   2474: #include "math.h"
                   2475: extern double Cabs(double, double);
                   2476: void z_log(doublecomplex *r, doublecomplex *z)
                   2477: #endif
                   2478: {
                   2479: 
                   2480: r->i = atan2(z->i, z->r);
                   2481: r->r = log( Cabs( z->r, z->i ) );
                   2482: }
                   2483: ./ ADD NAME=z_sin.c TIME=708889714
                   2484: #include "f2c.h"
                   2485: 
                   2486: #ifdef KR_headers
                   2487: double sin(), cos(), sinh(), cosh();
                   2488: VOID z_sin(r, z) doublecomplex *r, *z;
                   2489: #else
                   2490: #undef abs
                   2491: #include "math.h"
                   2492: void z_sin(doublecomplex *r, doublecomplex *z)
                   2493: #endif
                   2494: {
                   2495: r->r = sin(z->r) * cosh(z->i);
                   2496: r->i = cos(z->r) * sinh(z->i);
                   2497: }
                   2498: ./ ADD NAME=z_sqrt.c TIME=708960856
                   2499: #include "f2c.h"
                   2500: 
                   2501: #ifdef KR_headers
                   2502: double sqrt(), Cabs();
                   2503: VOID z_sqrt(r, z) doublecomplex *r, *z;
                   2504: #else
                   2505: #undef abs
                   2506: #include "math.h"
                   2507: extern double Cabs(double, double);
                   2508: void z_sqrt(doublecomplex *r, doublecomplex *z)
                   2509: #endif
                   2510: {
                   2511: double mag;
                   2512: 
                   2513: if( (mag = Cabs(z->r, z->i)) == 0.)
                   2514:        r->r = r->i = 0.;
                   2515: else if(z->r > 0)
                   2516:        {
                   2517:        r->r = sqrt(0.5 * (mag + z->r) );
                   2518:        r->i = z->i / r->r / 2;
                   2519:        }
                   2520: else
                   2521:        {
                   2522:        r->i = sqrt(0.5 * (mag - z->r) );
                   2523:        if(z->i < 0)
                   2524:                r->i = - r->i;
                   2525:        r->r = z->i / r->i / 2;
                   2526:        }
                   2527: }
                   2528: ./ ENDUP

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.