Annotation of researchv10no/cmd/f2c/libF77.st, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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