Annotation of researchv10no/cmd/f2c/F77a.st, revision 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.