|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.