|
|
1.1 ! root 1: ./ ADD NAME=libF77/README TIME=627343162 ! 2: If your system lacks onexit() and you are not using an ANSI C ! 3: compiler, then you should compile main.c with NO_ONEXIT defined. ! 4: See the comments about onexit in the makefile. ! 5: ! 6: If your system lacks a _cleanup routine (which is called just ! 7: before abort(), e.g. to flush buffers), just add a dummy, i.e., ! 8: _cleanup() {} ! 9: to libF77. ! 10: ./ ADD NAME=libF77/makefile TIME=627748011 ! 11: .SUFFIXES: .c .o ! 12: # compile, then strip unnecessary symbols ! 13: .c.o: ! 14: cc -O -c $*.c ! 15: ld -r -x $*.o ! 16: mv a.out $*.o ! 17: ! 18: MISC = Version.o main.o s_rnge.o abort_.o getarg_.o iargc_.o getenv_.o\ ! 19: signal_.o s_stop.o s_paus.o system_.o cabs.o\ ! 20: derf_.o derfc_.o erf_.o erfc_.o ! 21: 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 ! 22: CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o ! 23: DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o ! 24: REAL = r_abs.o r_acos.o r_asin.o r_atan.o r_atn2.o r_cnjg.o r_cos.o\ ! 25: r_cosh.o r_dim.o r_exp.o r_imag.o r_int.o\ ! 26: r_lg10.o r_log.o r_mod.o r_nint.o r_sign.o\ ! 27: r_sin.o r_sinh.o r_sqrt.o r_tan.o r_tanh.o ! 28: DBL = d_abs.o d_acos.o d_asin.o d_atan.o d_atn2.o\ ! 29: d_cnjg.o d_cos.o d_cosh.o d_dim.o d_exp.o\ ! 30: d_imag.o d_int.o d_lg10.o d_log.o d_mod.o\ ! 31: d_nint.o d_prod.o d_sign.o d_sin.o d_sinh.o\ ! 32: d_sqrt.o d_tan.o d_tanh.o ! 33: 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 ! 34: 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 ! 35: 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 ! 36: EFL = ef1asc_.o ef1cmc_.o ! 37: CHAR = s_cat.o s_cmp.o s_copy.o ! 38: ! 39: libF77.a : $(MISC) $(POW) $(CX) $(DCX) $(REAL) $(DBL) $(INT) \ ! 40: $(HALF) $(CMP) $(EFL) $(CHAR) ! 41: ar r libF77.a $? ! 42: ranlib libF77.a ! 43: ! 44: Version.o: Version.c ! 45: cc -c Version.c ! 46: ! 47: # If your system lacks onexit() and you are not using an ! 48: # ANSI C compiler, then you should uncomment the following ! 49: # two lines (for compiling main.o): ! 50: #main.o: main.c ! 51: # cc -c -DNO_ONEXIT main.c ! 52: # On at least some Sun systems, it is more appropriate to ! 53: # uncomment the following two lines: ! 54: #main.o: main.c ! 55: # cc -c -Donexit=on_exit main.c ! 56: ! 57: install: libF77.a ! 58: mv libF77.a /usr/lib ! 59: ! 60: clean: ! 61: rm -f libF77.a *.o ! 62: ./ ADD NAME=libF77/Version.c TIME=628430639 ! 63: static char junk[] = "\n@(#)LIBF77 VERSION 2.01 30 Nov. 1989\n"; ! 64: ! 65: /* ! 66: 2.00 11 June 1980. File version.c added to library. ! 67: 2.01 31 May 1988. s_paus() flushes stderr; names of hl_* fixed ! 68: [ d]erf[c ] added ! 69: 8 Aug. 1989: #ifdefs for f2c -i2 added to s_cat.c ! 70: 29 Nov. 1989: s_cmp returns long (for f2c). ! 71: 30 Nov. 1989: arg types from argtypes.h ! 72: */ ! 73: ./ ADD NAME=libF77/abort_.c TIME=628474861 ! 74: #include "stdio.h" ! 75: #include "f2c.h" ! 76: ! 77: extern VOID abort(); ! 78: ! 79: VOID abort_() ! 80: { ! 81: fprintf(stderr, "Fortran abort routine called\n"); ! 82: _cleanup(); ! 83: abort(); ! 84: } ! 85: ./ ADD NAME=libF77/c_abs.c TIME=628437500 ! 86: #include "f2c.h" ! 87: ! 88: double c_abs(z) ! 89: complex *z; ! 90: { ! 91: double cabs(); ! 92: ! 93: return( cabs( z->r, z->i ) ); ! 94: } ! 95: ./ ADD NAME=libF77/c_cos.c TIME=628437500 ! 96: #include "f2c.h" ! 97: ! 98: VOID c_cos(r, z) ! 99: complex *r, *z; ! 100: { ! 101: double sin(), cos(), sinh(), cosh(); ! 102: ! 103: r->r = cos(z->r) * cosh(z->i); ! 104: r->i = - sin(z->r) * sinh(z->i); ! 105: } ! 106: ./ ADD NAME=libF77/c_div.c TIME=628437671 ! 107: #include "f2c.h" ! 108: ! 109: VOID c_div(c, a, b) ! 110: complex *a, *b, *c; ! 111: { ! 112: double ratio, den; ! 113: double abr, abi; ! 114: ! 115: if( (abr = b->r) < 0.) ! 116: abr = - abr; ! 117: if( (abi = b->i) < 0.) ! 118: abi = - abi; ! 119: if( abr <= abi ) ! 120: { ! 121: if(abi == 0) ! 122: abort(); /* fatal("complex division by zero"); */ ! 123: ratio = b->r / b->i ; ! 124: den = b->i * (1 + ratio*ratio); ! 125: c->r = (a->r*ratio + a->i) / den; ! 126: c->i = (a->i*ratio - a->r) / den; ! 127: } ! 128: ! 129: else ! 130: { ! 131: ratio = b->i / b->r ; ! 132: den = b->r * (1 + ratio*ratio); ! 133: c->r = (a->r + a->i*ratio) / den; ! 134: c->i = (a->i - a->r*ratio) / den; ! 135: } ! 136: } ! 137: ./ ADD NAME=libF77/c_exp.c TIME=628437500 ! 138: #include "f2c.h" ! 139: ! 140: VOID c_exp(r, z) ! 141: complex *r, *z; ! 142: { ! 143: double expx; ! 144: double exp(), cos(), sin(); ! 145: ! 146: expx = exp(z->r); ! 147: r->r = expx * cos(z->i); ! 148: r->i = expx * sin(z->i); ! 149: } ! 150: ./ ADD NAME=libF77/c_log.c TIME=628437500 ! 151: #include "f2c.h" ! 152: ! 153: VOID c_log(r, z) ! 154: complex *r, *z; ! 155: { ! 156: double log(), cabs(), atan2(); ! 157: ! 158: r->i = atan2(z->i, z->r); ! 159: r->r = log( cabs(z->r, z->i) ); ! 160: } ! 161: ./ ADD NAME=libF77/c_sin.c TIME=628437501 ! 162: #include "f2c.h" ! 163: ! 164: VOID c_sin(r, z) ! 165: complex *r, *z; ! 166: { ! 167: double sin(), cos(), sinh(), cosh(); ! 168: ! 169: r->r = sin(z->r) * cosh(z->i); ! 170: r->i = cos(z->r) * sinh(z->i); ! 171: } ! 172: ./ ADD NAME=libF77/c_sqrt.c TIME=628437501 ! 173: #include "f2c.h" ! 174: ! 175: VOID c_sqrt(r, z) ! 176: complex *r, *z; ! 177: { ! 178: double mag, sqrt(), cabs(); ! 179: ! 180: if( (mag = cabs(z->r, z->i)) == 0.) ! 181: r->r = r->i = 0.; ! 182: else if(z->r > 0) ! 183: { ! 184: r->r = sqrt(0.5 * (mag + z->r) ); ! 185: r->i = z->i / r->r / 2; ! 186: } ! 187: else ! 188: { ! 189: r->i = sqrt(0.5 * (mag - z->r) ); ! 190: if(z->i < 0) ! 191: r->i = - r->i; ! 192: r->r = z->i / r->i /2; ! 193: } ! 194: } ! 195: ./ ADD NAME=libF77/cabs.c TIME=379733534 ! 196: double cabs(real, imag) ! 197: double real, imag; ! 198: { ! 199: double temp, sqrt(); ! 200: ! 201: if(real < 0) ! 202: real = -real; ! 203: if(imag < 0) ! 204: imag = -imag; ! 205: if(imag > real){ ! 206: temp = real; ! 207: real = imag; ! 208: imag = temp; ! 209: } ! 210: if((real+imag) == real) ! 211: return(real); ! 212: ! 213: temp = imag/real; ! 214: temp = real*sqrt(1.0 + temp*temp); /*overflow!!*/ ! 215: return(temp); ! 216: } ! 217: ./ ADD NAME=libF77/argtypes.h TIME=628436547 ! 218: typedef long integer; ! 219: typedef short shortint; ! 220: typedef double doublereal; ! 221: typedef float real; ! 222: typedef struct { float real, imag; } complex; ! 223: typedef struct { double dreal, dimag; } dcomplex; ! 224: typedef void VOID; ! 225: /* VOID can be int on systems that do not recognize void */ ! 226: ./ ADD NAME=libF77/d_abs.c TIME=628437501 ! 227: #include "f2c.h" ! 228: ! 229: double d_abs(x) ! 230: doublereal *x; ! 231: { ! 232: if(*x >= 0) ! 233: return(*x); ! 234: return(- *x); ! 235: } ! 236: ./ ADD NAME=libF77/d_acos.c TIME=628437502 ! 237: #include "f2c.h" ! 238: ! 239: double d_acos(x) ! 240: doublereal *x; ! 241: { ! 242: double acos(); ! 243: return( acos(*x) ); ! 244: } ! 245: ./ ADD NAME=libF77/d_asin.c TIME=628437502 ! 246: #include "f2c.h" ! 247: ! 248: double d_asin(x) ! 249: doublereal *x; ! 250: { ! 251: double asin(); ! 252: return( asin(*x) ); ! 253: } ! 254: ./ ADD NAME=libF77/d_atan.c TIME=628437502 ! 255: #include "f2c.h" ! 256: ! 257: double d_atan(x) ! 258: doublereal *x; ! 259: { ! 260: double atan(); ! 261: return( atan(*x) ); ! 262: } ! 263: ./ ADD NAME=libF77/d_atn2.c TIME=628437502 ! 264: #include "f2c.h" ! 265: ! 266: double d_atn2(x,y) ! 267: doublereal *x, *y; ! 268: { ! 269: double atan2(); ! 270: return( atan2(*x,*y) ); ! 271: } ! 272: ./ ADD NAME=libF77/d_cnjg.c TIME=628437502 ! 273: #include "f2c.h" ! 274: ! 275: d_cnjg(r, z) ! 276: doublecomplex *r, *z; ! 277: { ! 278: r->r = z->r; ! 279: r->i = - z->i; ! 280: } ! 281: ./ ADD NAME=libF77/d_cos.c TIME=628437502 ! 282: #include "f2c.h" ! 283: ! 284: double d_cos(x) ! 285: doublereal *x; ! 286: { ! 287: double cos(); ! 288: return( cos(*x) ); ! 289: } ! 290: ./ ADD NAME=libF77/d_cosh.c TIME=628437503 ! 291: #include "f2c.h" ! 292: ! 293: double d_cosh(x) ! 294: doublereal *x; ! 295: { ! 296: double cosh(); ! 297: return( cosh(*x) ); ! 298: } ! 299: ./ ADD NAME=libF77/d_dim.c TIME=628437503 ! 300: #include "f2c.h" ! 301: ! 302: double d_dim(a,b) ! 303: doublereal *a, *b; ! 304: { ! 305: return( *a > *b ? *a - *b : 0); ! 306: } ! 307: ./ ADD NAME=libF77/d_exp.c TIME=628437503 ! 308: #include "f2c.h" ! 309: ! 310: double d_exp(x) ! 311: doublereal *x; ! 312: { ! 313: double exp(); ! 314: return( exp(*x) ); ! 315: } ! 316: ./ ADD NAME=libF77/d_imag.c TIME=628437503 ! 317: #include "f2c.h" ! 318: ! 319: double d_imag(z) ! 320: doublecomplex *z; ! 321: { ! 322: return(z->i); ! 323: } ! 324: ./ ADD NAME=libF77/d_int.c TIME=628437503 ! 325: #include "f2c.h" ! 326: ! 327: double d_int(x) ! 328: doublereal *x; ! 329: { ! 330: double floor(); ! 331: ! 332: return( (*x>0) ? floor(*x) : -floor(- *x) ); ! 333: } ! 334: ./ ADD NAME=libF77/d_lg10.c TIME=628437503 ! 335: #include "f2c.h" ! 336: ! 337: #define log10e 0.43429448190325182765 ! 338: ! 339: double d_lg10(x) ! 340: doublereal *x; ! 341: { ! 342: double log(); ! 343: ! 344: return( log10e * log(*x) ); ! 345: } ! 346: ./ ADD NAME=libF77/d_log.c TIME=628437503 ! 347: #include "f2c.h" ! 348: ! 349: double d_log(x) ! 350: doublereal *x; ! 351: { ! 352: double log(); ! 353: return( log(*x) ); ! 354: } ! 355: ./ ADD NAME=libF77/d_mod.c TIME=628437503 ! 356: #include "f2c.h" ! 357: ! 358: double d_mod(x,y) ! 359: doublereal *x, *y; ! 360: { ! 361: double floor(), quotient; ! 362: if( (quotient = *x / *y) >= 0) ! 363: quotient = floor(quotient); ! 364: else ! 365: quotient = -floor(-quotient); ! 366: return(*x - (*y) * quotient ); ! 367: } ! 368: ./ ADD NAME=libF77/d_nint.c TIME=628437504 ! 369: #include "f2c.h" ! 370: ! 371: double d_nint(x) ! 372: doublereal *x; ! 373: { ! 374: double floor(); ! 375: ! 376: return( (*x)>=0 ? ! 377: floor(*x + .5) : -floor(.5 - *x) ); ! 378: } ! 379: ./ ADD NAME=libF77/d_prod.c TIME=628437504 ! 380: #include "f2c.h" ! 381: ! 382: double d_prod(x,y) ! 383: real *x, *y; ! 384: { ! 385: return( (*x) * (*y) ); ! 386: } ! 387: ./ ADD NAME=libF77/d_sign.c TIME=628437504 ! 388: #include "f2c.h" ! 389: ! 390: double d_sign(a,b) ! 391: doublereal *a, *b; ! 392: { ! 393: double x; ! 394: x = (*a >= 0 ? *a : - *a); ! 395: return( *b >= 0 ? x : -x); ! 396: } ! 397: ./ ADD NAME=libF77/d_sin.c TIME=628437504 ! 398: #include "f2c.h" ! 399: ! 400: double d_sin(x) ! 401: doublereal *x; ! 402: { ! 403: double sin(); ! 404: return( sin(*x) ); ! 405: } ! 406: ./ ADD NAME=libF77/d_sinh.c TIME=628437504 ! 407: #include "f2c.h" ! 408: ! 409: double d_sinh(x) ! 410: doublereal *x; ! 411: { ! 412: double sinh(); ! 413: return( sinh(*x) ); ! 414: } ! 415: ./ ADD NAME=libF77/d_sqrt.c TIME=628437504 ! 416: #include "f2c.h" ! 417: ! 418: double d_sqrt(x) ! 419: doublereal *x; ! 420: { ! 421: double sqrt(); ! 422: return( sqrt(*x) ); ! 423: } ! 424: ./ ADD NAME=libF77/d_tan.c TIME=628437504 ! 425: #include "f2c.h" ! 426: ! 427: double d_tan(x) ! 428: doublereal *x; ! 429: { ! 430: double tan(); ! 431: return( tan(*x) ); ! 432: } ! 433: ./ ADD NAME=libF77/d_tanh.c TIME=628437504 ! 434: #include "f2c.h" ! 435: ! 436: double d_tanh(x) ! 437: doublereal *x; ! 438: { ! 439: double tanh(); ! 440: return( tanh(*x) ); ! 441: } ! 442: ./ ADD NAME=libF77/derf_.c TIME=628437505 ! 443: #include "f2c.h" ! 444: ! 445: double derf_(x) ! 446: doublereal *x; ! 447: { ! 448: double erf(); ! 449: ! 450: return( erf(*x) ); ! 451: } ! 452: ./ ADD NAME=libF77/derfc_.c TIME=628437505 ! 453: #include "f2c.h" ! 454: ! 455: double derfc_(x) ! 456: doublereal *x; ! 457: { ! 458: double erfc(); ! 459: ! 460: return( erfc(*x) ); ! 461: } ! 462: ./ ADD NAME=libF77/ef1asc_.c TIME=628437505 ! 463: /* EFL support routine to copy string b to string a */ ! 464: ! 465: #include "f2c.h" ! 466: ! 467: extern VOID s_copy(); ! 468: ! 469: #define M ( (long) (sizeof(long) - 1) ) ! 470: #define EVEN(x) ( ( (x)+ M) & (~M) ) ! 471: ! 472: VOID ef1asc_(a, la, b, lb) ! 473: int *a, *b; ! 474: long int *la, *lb; ! 475: { ! 476: s_copy( (char *)a, (char *)b, EVEN(*la), *lb ); ! 477: } ! 478: ./ ADD NAME=libF77/ef1cmc_.c TIME=628437505 ! 479: /* EFL support routine to compare two character strings */ ! 480: ! 481: #include "f2c.h" ! 482: ! 483: extern integer s_cmp(); ! 484: ! 485: integer ef1cmc_(a, la, b, lb) ! 486: integer *a, *b; ! 487: integer *la, *lb; ! 488: { ! 489: return( s_cmp( (char *)a, (char *)b, *la, *lb) ); ! 490: } ! 491: ./ ADD NAME=libF77/erf_.c TIME=628437505 ! 492: #include "f2c.h" ! 493: ! 494: double erf_(x) ! 495: real *x; ! 496: { ! 497: double erf(); ! 498: ! 499: return( erf(*x) ); ! 500: } ! 501: ./ ADD NAME=libF77/erfc_.c TIME=628437505 ! 502: #include "f2c.h" ! 503: ! 504: double erfc_(x) ! 505: real *x; ! 506: { ! 507: double erfc(); ! 508: ! 509: return( erfc(*x) ); ! 510: } ! 511: ./ ADD NAME=libF77/getarg_.c TIME=628437505 ! 512: #include "f2c.h" ! 513: ! 514: /* ! 515: * subroutine getarg(k, c) ! 516: * returns the kth unix command argument in fortran character ! 517: * variable argument c ! 518: */ ! 519: ! 520: VOID getarg_(n, s, ls) ! 521: long int *n; ! 522: register char *s; ! 523: long int ls; ! 524: { ! 525: extern int xargc; ! 526: extern char **xargv; ! 527: register char *t; ! 528: register int i; ! 529: ! 530: if(*n>=0 && *n<xargc) ! 531: t = xargv[*n]; ! 532: else ! 533: t = ""; ! 534: for(i = 0; i<ls && *t!='\0' ; ++i) ! 535: *s++ = *t++; ! 536: for( ; i<ls ; ++i) ! 537: *s++ = ' '; ! 538: } ! 539: ./ ADD NAME=libF77/getenv_.c TIME=628437505 ! 540: #include "f2c.h" ! 541: ! 542: /* ! 543: * getenv - f77 subroutine to return environment variables ! 544: * ! 545: * called by: ! 546: * call getenv (ENV_NAME, char_var) ! 547: * where: ! 548: * ENV_NAME is the name of an environment variable ! 549: * char_var is a character variable which will receive ! 550: * the current value of ENV_NAME, or all blanks ! 551: * if ENV_NAME is not defined ! 552: */ ! 553: ! 554: VOID getenv_(fname, value, flen, vlen) ! 555: char *value, *fname; ! 556: long int vlen, flen; ! 557: { ! 558: extern char **environ; ! 559: register char *ep, *fp, *flast; ! 560: register char **env = environ; ! 561: ! 562: flast = fname + flen; ! 563: for(fp = fname ; fp < flast ; ++fp) ! 564: if(*fp == ' ') ! 565: { ! 566: flast = fp; ! 567: break; ! 568: } ! 569: ! 570: while (ep = *env++) ! 571: { ! 572: for(fp = fname; fp<flast ; ) ! 573: if(*fp++ != *ep++) ! 574: goto endloop; ! 575: ! 576: if(*ep++ == '=') /* copy right hand side */ ! 577: while( *ep && --vlen>=0 ) ! 578: *value++ = *ep++; ! 579: ! 580: goto blank; ! 581: ! 582: endloop: ; ! 583: } ! 584: ! 585: blank: ! 586: while( --vlen >= 0 ) ! 587: *value++ = ' '; ! 588: } ! 589: ./ ADD NAME=libF77/h_abs.c TIME=628437506 ! 590: #include "f2c.h" ! 591: ! 592: extern integer s_cmp(); ! 593: ! 594: shortint h_abs(x) ! 595: shortint *x; ! 596: { ! 597: if(*x >= 0) ! 598: return(*x); ! 599: return(- *x); ! 600: } ! 601: ./ ADD NAME=libF77/h_dim.c TIME=628437506 ! 602: #include "f2c.h" ! 603: ! 604: extern integer s_cmp(); ! 605: ! 606: shortint h_dim(a,b) ! 607: shortint *a, *b; ! 608: { ! 609: return( *a > *b ? *a - *b : 0); ! 610: } ! 611: ./ ADD NAME=libF77/h_dnnt.c TIME=628437506 ! 612: #include "f2c.h" ! 613: ! 614: extern integer s_cmp(); ! 615: ! 616: shortint h_dnnt(x) ! 617: doublereal *x; ! 618: { ! 619: double floor(); ! 620: ! 621: return( (*x)>=0 ? ! 622: floor(*x + .5) : -floor(.5 - *x) ); ! 623: } ! 624: ./ ADD NAME=libF77/h_indx.c TIME=628437506 ! 625: #include "f2c.h" ! 626: ! 627: extern integer s_cmp(); ! 628: ! 629: shortint h_indx(a, b, la, lb) ! 630: char *a, *b; ! 631: long int la, lb; ! 632: { ! 633: int i, n; ! 634: char *s, *t, *bend; ! 635: ! 636: n = la - lb + 1; ! 637: bend = b + lb; ! 638: ! 639: for(i = 0 ; i < n ; ++i) ! 640: { ! 641: s = a + i; ! 642: t = b; ! 643: while(t < bend) ! 644: if(*s++ != *t++) ! 645: goto no; ! 646: return(i+1); ! 647: no: ; ! 648: } ! 649: return(0); ! 650: } ! 651: ./ ADD NAME=libF77/h_len.c TIME=628437506 ! 652: #include "f2c.h" ! 653: ! 654: extern integer s_cmp(); ! 655: ! 656: shortint h_len(s, n) ! 657: char *s; ! 658: long int n; ! 659: { ! 660: return(n); ! 661: } ! 662: ./ ADD NAME=libF77/h_mod.c TIME=628437506 ! 663: #include "f2c.h" ! 664: ! 665: extern integer s_cmp(); ! 666: ! 667: shortint h_mod(a,b) ! 668: short *a, *b; ! 669: { ! 670: return( *a % *b); ! 671: } ! 672: ./ ADD NAME=libF77/h_nint.c TIME=628437506 ! 673: #include "f2c.h" ! 674: ! 675: extern integer s_cmp(); ! 676: ! 677: shortint h_nint(x) ! 678: real *x; ! 679: { ! 680: double floor(); ! 681: ! 682: return( (*x)>=0 ? ! 683: floor(*x + .5) : -floor(.5 - *x) ); ! 684: } ! 685: ./ ADD NAME=libF77/h_sign.c TIME=628437507 ! 686: #include "f2c.h" ! 687: ! 688: extern integer s_cmp(); ! 689: ! 690: shortint h_sign(a,b) ! 691: shortint *a, *b; ! 692: { ! 693: shortint x; ! 694: x = (*a >= 0 ? *a : - *a); ! 695: return( *b >= 0 ? x : -x); ! 696: } ! 697: ./ ADD NAME=libF77/hl_ge.c TIME=628437507 ! 698: #include "f2c.h" ! 699: ! 700: extern integer s_cmp(); ! 701: ! 702: shortint hl_ge(a,b,la,lb) ! 703: char *a, *b; ! 704: long int la, lb; ! 705: { ! 706: return(s_cmp(a,b,la,lb) >= 0); ! 707: } ! 708: ./ ADD NAME=libF77/hl_gt.c TIME=628437507 ! 709: #include "f2c.h" ! 710: ! 711: extern integer s_cmp(); ! 712: ! 713: shortint hl_gt(a,b,la,lb) ! 714: char *a, *b; ! 715: long int la, lb; ! 716: { ! 717: return(s_cmp(a,b,la,lb) > 0); ! 718: } ! 719: ./ ADD NAME=libF77/hl_le.c TIME=628437507 ! 720: #include "f2c.h" ! 721: ! 722: extern integer s_cmp(); ! 723: ! 724: shortint hl_le(a,b,la,lb) ! 725: char *a, *b; ! 726: long int la, lb; ! 727: { ! 728: return(s_cmp(a,b,la,lb) <= 0); ! 729: } ! 730: ./ ADD NAME=libF77/hl_lt.c TIME=628437507 ! 731: #include "f2c.h" ! 732: ! 733: extern integer s_cmp(); ! 734: ! 735: shortint hl_lt(a,b,la,lb) ! 736: char *a, *b; ! 737: long int la, lb; ! 738: { ! 739: return(s_cmp(a,b,la,lb) < 0); ! 740: } ! 741: ./ ADD NAME=libF77/i_abs.c TIME=628437507 ! 742: #include "f2c.h" ! 743: ! 744: integer i_abs(x) ! 745: integer *x; ! 746: { ! 747: if(*x >= 0) ! 748: return(*x); ! 749: return(- *x); ! 750: } ! 751: ./ ADD NAME=libF77/i_dim.c TIME=628437507 ! 752: #include "f2c.h" ! 753: ! 754: integer i_dim(a,b) ! 755: integer *a, *b; ! 756: { ! 757: return( *a > *b ? *a - *b : 0); ! 758: } ! 759: ./ ADD NAME=libF77/i_dnnt.c TIME=628437507 ! 760: #include "f2c.h" ! 761: ! 762: integer i_dnnt(x) ! 763: doublereal *x; ! 764: { ! 765: double floor(); ! 766: ! 767: return( (*x)>=0 ? ! 768: floor(*x + .5) : -floor(.5 - *x) ); ! 769: } ! 770: ./ ADD NAME=libF77/i_indx.c TIME=628437507 ! 771: #include "f2c.h" ! 772: ! 773: integer i_indx(a, b, la, lb) ! 774: char *a, *b; ! 775: long int la, lb; ! 776: { ! 777: long int i, n; ! 778: char *s, *t, *bend; ! 779: ! 780: n = la - lb + 1; ! 781: bend = b + lb; ! 782: ! 783: for(i = 0 ; i < n ; ++i) ! 784: { ! 785: s = a + i; ! 786: t = b; ! 787: while(t < bend) ! 788: if(*s++ != *t++) ! 789: goto no; ! 790: return(i+1); ! 791: no: ; ! 792: } ! 793: return(0); ! 794: } ! 795: ./ ADD NAME=libF77/i_len.c TIME=628437508 ! 796: #include "f2c.h" ! 797: ! 798: integer i_len(s, n) ! 799: char *s; ! 800: long int n; ! 801: { ! 802: return(n); ! 803: } ! 804: ./ ADD NAME=libF77/i_mod.c TIME=628437508 ! 805: #include "f2c.h" ! 806: ! 807: integer i_mod(a,b) ! 808: integer *a, *b; ! 809: { ! 810: return( *a % *b); ! 811: } ! 812: ./ ADD NAME=libF77/i_nint.c TIME=628437508 ! 813: #include "f2c.h" ! 814: ! 815: integer i_nint(x) ! 816: real *x; ! 817: { ! 818: double floor(); ! 819: ! 820: return( (*x)>=0 ? ! 821: floor(*x + .5) : -floor(.5 - *x) ); ! 822: } ! 823: ./ ADD NAME=libF77/i_sign.c TIME=628437508 ! 824: #include "f2c.h" ! 825: ! 826: integer i_sign(a,b) ! 827: integer *a, *b; ! 828: { ! 829: integer x; ! 830: x = (*a >= 0 ? *a : - *a); ! 831: return( *b >= 0 ? x : -x); ! 832: } ! 833: ./ ADD NAME=libF77/iargc_.c TIME=628437508 ! 834: #include "f2c.h" ! 835: ! 836: integer iargc_() ! 837: { ! 838: extern int xargc; ! 839: return ( xargc - 1 ); ! 840: } ! 841: ./ ADD NAME=libF77/l_ge.c TIME=628437508 ! 842: #include "f2c.h" ! 843: ! 844: extern integer s_cmp(); ! 845: ! 846: integer l_ge(a,b,la,lb) ! 847: char *a, *b; ! 848: long int la, lb; ! 849: { ! 850: return(s_cmp(a,b,la,lb) >= 0); ! 851: } ! 852: ./ ADD NAME=libF77/l_gt.c TIME=628437508 ! 853: #include "f2c.h" ! 854: ! 855: extern integer s_cmp(); ! 856: ! 857: integer l_gt(a,b,la,lb) ! 858: char *a, *b; ! 859: long int la, lb; ! 860: { ! 861: return(s_cmp(a,b,la,lb) > 0); ! 862: } ! 863: ./ ADD NAME=libF77/l_le.c TIME=628437508 ! 864: #include "f2c.h" ! 865: ! 866: extern integer s_cmp(); ! 867: ! 868: integer l_le(a,b,la,lb) ! 869: char *a, *b; ! 870: long int la, lb; ! 871: { ! 872: return(s_cmp(a,b,la,lb) <= 0); ! 873: } ! 874: ./ ADD NAME=libF77/l_lt.c TIME=628437509 ! 875: #include "f2c.h" ! 876: ! 877: integer l_lt(a,b,la,lb) ! 878: char *a, *b; ! 879: long la, lb; ! 880: { ! 881: return(s_cmp(a,b,la,lb) < 0); ! 882: } ! 883: ./ ADD NAME=libF77/main.c TIME=628524317 ! 884: /* STARTUP PROCEDURE FOR UNIX FORTRAN PROGRAMS */ ! 885: ! 886: #include "stdio.h" ! 887: #include "signal.h" ! 888: ! 889: #ifndef SIGIOT ! 890: #define SIGIOT SIGABRT ! 891: #endif ! 892: ! 893: #ifdef NO__STDC ! 894: #define ONEXIT onexit ! 895: extern void f_exit(); ! 896: #else ! 897: #ifdef __STDC__ ! 898: #include "stdlib.h" ! 899: extern void f_exit(void); ! 900: #ifndef NO_ONEXIT ! 901: #define ONEXIT atexit ! 902: extern int atexit(void (*)(void)); ! 903: #endif ! 904: #else ! 905: #ifndef NO_ONEXIT ! 906: #define ONEXIT onexit ! 907: extern void f_exit(); ! 908: #endif ! 909: #endif ! 910: #endif ! 911: ! 912: static void sigdie(s, kill) ! 913: register char *s; ! 914: int kill; ! 915: { ! 916: /* print error message, then clear buffers */ ! 917: fflush(stderr); ! 918: fprintf(stderr, "%s\n", s); ! 919: f_exit(); ! 920: fflush(stderr); ! 921: ! 922: if(kill) ! 923: { ! 924: /* now get a core */ ! 925: signal(SIGIOT, 0); ! 926: abort(); ! 927: } ! 928: else ! 929: exit(1); ! 930: } ! 931: ! 932: static void sigfdie(n) ! 933: { ! 934: sigdie("Floating Exception", 1); ! 935: } ! 936: ! 937: ! 938: ! 939: static void sigidie(n) ! 940: { ! 941: sigdie("IOT Trap", 1); ! 942: } ! 943: ! 944: ! 945: static void sigqdie(n) ! 946: { ! 947: sigdie("Quit signal", 1); ! 948: } ! 949: ! 950: ! 951: ! 952: static void sigindie(n) ! 953: { ! 954: sigdie("Interrupt", 0); ! 955: } ! 956: ! 957: ! 958: ! 959: static void sigtdie(n) ! 960: { ! 961: sigdie("Killed", 0); ! 962: } ! 963: ! 964: ! 965: int xargc; ! 966: char **xargv; ! 967: ! 968: main(argc, argv) ! 969: int argc; ! 970: char **argv; ! 971: { ! 972: xargc = argc; ! 973: xargv = argv; ! 974: signal(SIGFPE, sigfdie); /* ignore underflow, enable overflow */ ! 975: signal(SIGIOT, sigidie); ! 976: #ifdef SIGQUIT ! 977: if( (int)signal(SIGQUIT,sigqdie) & 01) signal(SIGQUIT, SIG_IGN); ! 978: #endif ! 979: if( (int)signal(SIGINT, sigindie) & 01) signal(SIGINT, SIG_IGN); ! 980: signal(SIGTERM,sigtdie); ! 981: ! 982: #ifdef pdp11 ! 983: ldfps(01200); /* detect overflow as an exception */ ! 984: #endif ! 985: ! 986: f_init(); ! 987: #ifndef NO_ONEXIT ! 988: ONEXIT(f_exit); ! 989: #endif ! 990: MAIN__(); ! 991: #ifdef NO_ONEXIT ! 992: f_exit(); ! 993: #endif ! 994: } ! 995: ./ ADD NAME=libF77/pow_ci.c TIME=628438069 ! 996: #include "f2c.h" ! 997: ! 998: VOID pow_ci(p, a, b) /* p = a**b */ ! 999: complex *p, *a; ! 1000: integer *b; ! 1001: { ! 1002: doublecomplex p1, a1; ! 1003: ! 1004: a1.r = a->r; ! 1005: a1.i = a->i; ! 1006: ! 1007: pow_zi(&p1, &a1, b); ! 1008: ! 1009: p->r = p1.r; ! 1010: p->i = p1.i; ! 1011: } ! 1012: ./ ADD NAME=libF77/pow_dd.c TIME=628437509 ! 1013: #include "f2c.h" ! 1014: ! 1015: double pow_dd(ap, bp) ! 1016: doublereal *ap, *bp; ! 1017: { ! 1018: double pow(); ! 1019: ! 1020: return(pow(*ap, *bp) ); ! 1021: } ! 1022: ./ ADD NAME=libF77/pow_di.c TIME=628437509 ! 1023: #include "f2c.h" ! 1024: ! 1025: double pow_di(ap, bp) ! 1026: doublereal *ap; ! 1027: integer *bp; ! 1028: { ! 1029: double pow, x; ! 1030: integer n; ! 1031: ! 1032: pow = 1; ! 1033: x = *ap; ! 1034: n = *bp; ! 1035: ! 1036: if(n != 0) ! 1037: { ! 1038: if(n < 0) ! 1039: { ! 1040: if(x == 0) ! 1041: { ! 1042: return(pow); ! 1043: } ! 1044: n = -n; ! 1045: x = 1/x; ! 1046: } ! 1047: for( ; ; ) ! 1048: { ! 1049: if(n & 01) ! 1050: pow *= x; ! 1051: if(n >>= 1) ! 1052: x *= x; ! 1053: else ! 1054: break; ! 1055: } ! 1056: } ! 1057: return(pow); ! 1058: } ! 1059: ./ ADD NAME=libF77/pow_hh.c TIME=628437509 ! 1060: #include "f2c.h" ! 1061: ! 1062: shortint pow_hh(ap, bp) ! 1063: shortint *ap, *bp; ! 1064: { ! 1065: shortint pow, x, n; ! 1066: ! 1067: pow = 1; ! 1068: x = *ap; ! 1069: n = *bp; ! 1070: ! 1071: if(n < 0) ! 1072: { } ! 1073: else if(n > 0) ! 1074: for( ; ; ) ! 1075: { ! 1076: if(n & 01) ! 1077: pow *= x; ! 1078: if(n >>= 1) ! 1079: x *= x; ! 1080: else ! 1081: break; ! 1082: } ! 1083: return(pow); ! 1084: } ! 1085: ./ ADD NAME=libF77/pow_ii.c TIME=628437509 ! 1086: #include "f2c.h" ! 1087: ! 1088: integer pow_ii(ap, bp) ! 1089: integer *ap, *bp; ! 1090: { ! 1091: integer pow, x, n; ! 1092: ! 1093: pow = 1; ! 1094: x = *ap; ! 1095: n = *bp; ! 1096: ! 1097: if(n < 0) ! 1098: { } ! 1099: else if(n > 0) ! 1100: for( ; ; ) ! 1101: { ! 1102: if(n & 01) ! 1103: pow *= x; ! 1104: if(n >>= 1) ! 1105: x *= x; ! 1106: else ! 1107: break; ! 1108: } ! 1109: return(pow); ! 1110: } ! 1111: ./ ADD NAME=libF77/pow_ri.c TIME=628437509 ! 1112: #include "f2c.h" ! 1113: ! 1114: double pow_ri(ap, bp) ! 1115: real *ap; ! 1116: integer *bp; ! 1117: { ! 1118: double pow, x; ! 1119: integer n; ! 1120: ! 1121: pow = 1; ! 1122: x = *ap; ! 1123: n = *bp; ! 1124: ! 1125: if(n != 0) ! 1126: { ! 1127: if(n < 0) ! 1128: { ! 1129: if(x == 0) ! 1130: { ! 1131: return(pow); ! 1132: } ! 1133: n = -n; ! 1134: x = 1/x; ! 1135: } ! 1136: for( ; ; ) ! 1137: { ! 1138: if(n & 01) ! 1139: pow *= x; ! 1140: if(n >>= 1) ! 1141: x *= x; ! 1142: else ! 1143: break; ! 1144: } ! 1145: } ! 1146: return(pow); ! 1147: } ! 1148: ./ ADD NAME=libF77/pow_zi.c TIME=628438134 ! 1149: #include "f2c.h" ! 1150: ! 1151: VOID pow_zi(p, a, b) /* p = a**b */ ! 1152: doublecomplex *p, *a; ! 1153: integer *b; ! 1154: { ! 1155: integer n; ! 1156: double t; ! 1157: doublecomplex x; ! 1158: static doublecomplex one = {1.0, 0.0}; ! 1159: ! 1160: n = *b; ! 1161: p->r = 1; ! 1162: p->i = 0; ! 1163: ! 1164: if(n == 0) ! 1165: return; ! 1166: if(n < 0) ! 1167: { ! 1168: n = -n; ! 1169: z_div(&x, &one, a); ! 1170: } ! 1171: else ! 1172: { ! 1173: x.r = a->r; ! 1174: x.i = a->i; ! 1175: } ! 1176: ! 1177: for( ; ; ) ! 1178: { ! 1179: if(n & 01) ! 1180: { ! 1181: t = p->r * x.r - p->i * x.i; ! 1182: p->i = p->r * x.i + p->i * x.r; ! 1183: p->r = t; ! 1184: } ! 1185: if(n >>= 1) ! 1186: { ! 1187: t = x.r * x.r - x.i * x.i; ! 1188: x.i = 2 * x.r * x.i; ! 1189: x.r = t; ! 1190: } ! 1191: else ! 1192: break; ! 1193: } ! 1194: } ! 1195: ./ ADD NAME=libF77/pow_zz.c TIME=628437510 ! 1196: #include "f2c.h" ! 1197: ! 1198: VOID pow_zz(r,a,b) ! 1199: doublecomplex *r, *a, *b; ! 1200: { ! 1201: double logr, logi, x, y; ! 1202: double log(), exp(), cos(), sin(), atan2(), cabs(); ! 1203: ! 1204: logr = log( cabs(a->r, a->i) ); ! 1205: logi = atan2(a->i, a->r); ! 1206: ! 1207: x = exp( logr * b->r - logi * b->i ); ! 1208: y = logr * b->i + logi * b->r; ! 1209: ! 1210: r->r = x * cos(y); ! 1211: r->i = x * sin(y); ! 1212: } ! 1213: ./ ADD NAME=libF77/r_abs.c TIME=628437510 ! 1214: #include "f2c.h" ! 1215: ! 1216: double r_abs(x) ! 1217: real *x; ! 1218: { ! 1219: if(*x >= 0) ! 1220: return(*x); ! 1221: return(- *x); ! 1222: } ! 1223: ./ ADD NAME=libF77/r_acos.c TIME=628437510 ! 1224: #include "f2c.h" ! 1225: ! 1226: double r_acos(x) ! 1227: real *x; ! 1228: { ! 1229: double acos(); ! 1230: return( acos(*x) ); ! 1231: } ! 1232: ./ ADD NAME=libF77/r_asin.c TIME=628437510 ! 1233: #include "f2c.h" ! 1234: ! 1235: double r_asin(x) ! 1236: real *x; ! 1237: { ! 1238: double asin(); ! 1239: return( asin(*x) ); ! 1240: } ! 1241: ./ ADD NAME=libF77/r_atan.c TIME=628437510 ! 1242: #include "f2c.h" ! 1243: ! 1244: double r_atan(x) ! 1245: real *x; ! 1246: { ! 1247: double atan(); ! 1248: return( atan(*x) ); ! 1249: } ! 1250: ./ ADD NAME=libF77/r_atn2.c TIME=628437510 ! 1251: #include "f2c.h" ! 1252: ! 1253: double r_atn2(x,y) ! 1254: real *x, *y; ! 1255: { ! 1256: double atan2(); ! 1257: return( atan2(*x,*y) ); ! 1258: } ! 1259: ./ ADD NAME=libF77/r_cnjg.c TIME=628437511 ! 1260: #include "f2c.h" ! 1261: ! 1262: VOID r_cnjg(r, z) ! 1263: complex *r, *z; ! 1264: { ! 1265: r->r = z->r; ! 1266: r->i = - z->i; ! 1267: } ! 1268: ./ ADD NAME=libF77/r_cos.c TIME=628437511 ! 1269: #include "f2c.h" ! 1270: ! 1271: double r_cos(x) ! 1272: real *x; ! 1273: { ! 1274: double cos(); ! 1275: return( cos(*x) ); ! 1276: } ! 1277: ./ ADD NAME=libF77/r_cosh.c TIME=628437511 ! 1278: #include "f2c.h" ! 1279: ! 1280: double r_cosh(x) ! 1281: real *x; ! 1282: { ! 1283: double cosh(); ! 1284: return( cosh(*x) ); ! 1285: } ! 1286: ./ ADD NAME=libF77/r_dim.c TIME=628437511 ! 1287: #include "f2c.h" ! 1288: ! 1289: double r_dim(a,b) ! 1290: real *a, *b; ! 1291: { ! 1292: return( *a > *b ? *a - *b : 0); ! 1293: } ! 1294: ./ ADD NAME=libF77/r_exp.c TIME=628437511 ! 1295: #include "f2c.h" ! 1296: ! 1297: double r_exp(x) ! 1298: real *x; ! 1299: { ! 1300: double exp(); ! 1301: return( exp(*x) ); ! 1302: } ! 1303: ./ ADD NAME=libF77/r_imag.c TIME=628437511 ! 1304: #include "f2c.h" ! 1305: ! 1306: double r_imag(z) ! 1307: complex *z; ! 1308: { ! 1309: return(z->i); ! 1310: } ! 1311: ./ ADD NAME=libF77/r_int.c TIME=628437511 ! 1312: #include "f2c.h" ! 1313: ! 1314: double r_int(x) ! 1315: real *x; ! 1316: { ! 1317: double floor(); ! 1318: ! 1319: return( (*x>0) ? floor(*x) : -floor(- *x) ); ! 1320: } ! 1321: ./ ADD NAME=libF77/r_lg10.c TIME=628437511 ! 1322: #include "f2c.h" ! 1323: ! 1324: #define log10e 0.43429448190325182765 ! 1325: ! 1326: double r_lg10(x) ! 1327: real *x; ! 1328: { ! 1329: double log(); ! 1330: ! 1331: return( log10e * log(*x) ); ! 1332: } ! 1333: ./ ADD NAME=libF77/r_log.c TIME=628437511 ! 1334: #include "f2c.h" ! 1335: ! 1336: double r_log(x) ! 1337: real *x; ! 1338: { ! 1339: double log(); ! 1340: return( log(*x) ); ! 1341: } ! 1342: ./ ADD NAME=libF77/r_mod.c TIME=628437512 ! 1343: #include "f2c.h" ! 1344: ! 1345: double r_mod(x,y) ! 1346: real *x, *y; ! 1347: { ! 1348: double floor(), quotient; ! 1349: if( (quotient = *x / *y) >= 0) ! 1350: quotient = floor(quotient); ! 1351: else ! 1352: quotient = -floor(-quotient); ! 1353: return(*x - (*y) * quotient ); ! 1354: } ! 1355: ./ ADD NAME=libF77/r_nint.c TIME=628437512 ! 1356: #include "f2c.h" ! 1357: ! 1358: double r_nint(x) ! 1359: real *x; ! 1360: { ! 1361: double floor(); ! 1362: ! 1363: return( (*x)>=0 ? ! 1364: floor(*x + .5) : -floor(.5 - *x) ); ! 1365: } ! 1366: ./ ADD NAME=libF77/r_sign.c TIME=628437512 ! 1367: #include "f2c.h" ! 1368: ! 1369: double r_sign(a,b) ! 1370: real *a, *b; ! 1371: { ! 1372: double x; ! 1373: x = (*a >= 0 ? *a : - *a); ! 1374: return( *b >= 0 ? x : -x); ! 1375: } ! 1376: ./ ADD NAME=libF77/r_sin.c TIME=628437512 ! 1377: #include "f2c.h" ! 1378: ! 1379: double r_sin(x) ! 1380: real *x; ! 1381: { ! 1382: double sin(); ! 1383: return( sin(*x) ); ! 1384: } ! 1385: ./ ADD NAME=libF77/r_sinh.c TIME=628437512 ! 1386: #include "f2c.h" ! 1387: ! 1388: double r_sinh(x) ! 1389: real *x; ! 1390: { ! 1391: double sinh(); ! 1392: return( sinh(*x) ); ! 1393: } ! 1394: ./ ADD NAME=libF77/r_sqrt.c TIME=628437512 ! 1395: #include "f2c.h" ! 1396: ! 1397: double r_sqrt(x) ! 1398: real *x; ! 1399: { ! 1400: double sqrt(); ! 1401: return( sqrt(*x) ); ! 1402: } ! 1403: ./ ADD NAME=libF77/r_tan.c TIME=628437512 ! 1404: #include "f2c.h" ! 1405: ! 1406: double r_tan(x) ! 1407: real *x; ! 1408: { ! 1409: double tan(); ! 1410: return( tan(*x) ); ! 1411: } ! 1412: ./ ADD NAME=libF77/r_tanh.c TIME=628437512 ! 1413: #include "f2c.h" ! 1414: ! 1415: double r_tanh(x) ! 1416: real *x; ! 1417: { ! 1418: double tanh(); ! 1419: return( tanh(*x) ); ! 1420: } ! 1421: ./ ADD NAME=libF77/s_cat.c TIME=628437513 ! 1422: #include "f2c.h" ! 1423: ! 1424: VOID s_cat(lp, rpp, rnp, np, ll) ! 1425: char *lp, *rpp[]; ! 1426: #ifdef f2c_i2 ! 1427: short int rnp[], *np, ll; ! 1428: #else ! 1429: long int rnp[], *np, ll; ! 1430: #endif ! 1431: { ! 1432: int i, n, nc; ! 1433: char *rp; ! 1434: ! 1435: n = *np; ! 1436: for(i = 0 ; i < n ; ++i) ! 1437: { ! 1438: nc = ll; ! 1439: if(rnp[i] < nc) ! 1440: nc = rnp[i]; ! 1441: ll -= nc; ! 1442: rp = rpp[i]; ! 1443: while(--nc >= 0) ! 1444: *lp++ = *rp++; ! 1445: } ! 1446: while(--ll >= 0) ! 1447: *lp++ = ' '; ! 1448: } ! 1449: ./ ADD NAME=libF77/s_cmp.c TIME=628437513 ! 1450: #include "f2c.h" ! 1451: ! 1452: integer s_cmp(a, b, la, lb) /* compare two strings */ ! 1453: register char *a, *b; ! 1454: long int la, lb; ! 1455: { ! 1456: register char *aend, *bend; ! 1457: aend = a + la; ! 1458: bend = b + lb; ! 1459: ! 1460: if(la <= lb) ! 1461: { ! 1462: while(a < aend) ! 1463: if(*a != *b) ! 1464: return( *a - *b ); ! 1465: else ! 1466: { ++a; ++b; } ! 1467: ! 1468: while(b < bend) ! 1469: if(*b != ' ') ! 1470: return( ' ' - *b ); ! 1471: else ++b; ! 1472: } ! 1473: ! 1474: else ! 1475: { ! 1476: while(b < bend) ! 1477: if(*a == *b) ! 1478: { ++a; ++b; } ! 1479: else ! 1480: return( *a - *b ); ! 1481: while(a < aend) ! 1482: if(*a != ' ') ! 1483: return(*a - ' '); ! 1484: else ++a; ! 1485: } ! 1486: return(0); ! 1487: } ! 1488: ./ ADD NAME=libF77/s_copy.c TIME=628437513 ! 1489: #include "f2c.h" ! 1490: ! 1491: VOID s_copy(a, b, la, lb) /* assign strings: a = b */ ! 1492: char *a, *b; ! 1493: long int la, lb; ! 1494: { ! 1495: char *aend, *bend; ! 1496: ! 1497: aend = a + la; ! 1498: ! 1499: if(la <= lb) ! 1500: while(a < aend) ! 1501: *a++ = *b++; ! 1502: ! 1503: else ! 1504: { ! 1505: bend = b + lb; ! 1506: while(b < bend) ! 1507: *a++ = *b++; ! 1508: while(a < aend) ! 1509: *a++ = ' '; ! 1510: } ! 1511: } ! 1512: ./ ADD NAME=libF77/s_paus.c TIME=628474922 ! 1513: #include "stdio.h" ! 1514: #include "f2c.h" ! 1515: #define PAUSESIG 15 ! 1516: ! 1517: static waitpause() ! 1518: { ! 1519: return; ! 1520: } ! 1521: ! 1522: VOID s_paus(s, n) ! 1523: char *s; ! 1524: long int n; ! 1525: { ! 1526: int i; ! 1527: ! 1528: fprintf(stderr, "PAUSE "); ! 1529: if(n > 0) ! 1530: for(i = 0; i<n ; ++i) ! 1531: putc(*s++, stderr); ! 1532: fprintf(stderr, " statement executed\n"); ! 1533: if( isatty(fileno(stdin)) ) ! 1534: { ! 1535: fprintf(stderr, "To resume execution, type go. Any other input will terminate job.\n"); ! 1536: fflush(stderr); ! 1537: if( getchar()!='g' || getchar()!='o' || getchar()!='\n' ) ! 1538: { ! 1539: fprintf(stderr, "STOP\n"); ! 1540: f_exit(); ! 1541: exit(0); ! 1542: } ! 1543: } ! 1544: else ! 1545: { ! 1546: fprintf(stderr, "To resume execution, execute a kill -%d %d command\n", ! 1547: PAUSESIG, getpid() ); ! 1548: signal(PAUSESIG, waitpause); ! 1549: fflush(stderr); ! 1550: pause(); ! 1551: } ! 1552: fprintf(stderr, "Execution resumes after PAUSE.\n"); ! 1553: } ! 1554: ./ ADD NAME=libF77/s_rnge.c TIME=626022810 ! 1555: #include <stdio.h> ! 1556: ! 1557: /* called when a subscript is out of range */ ! 1558: ! 1559: s_rnge(varn, offset, procn, line) ! 1560: char *varn, *procn; ! 1561: long int offset; ! 1562: int line; ! 1563: { ! 1564: register int i; ! 1565: ! 1566: fprintf(stderr, "Subscript out of range on file line %d, procedure ", line); ! 1567: for(i = 0 ; i < 8 && *procn!='_' ; ++i) ! 1568: putc(*procn++, stderr); ! 1569: fprintf(stderr, ".\nAttempt to access the %ld-th element of variable ", offset+1); ! 1570: for(i = 0 ; i < 8 && *varn!=' ' ; ++i) ! 1571: putc(*varn++, stderr); ! 1572: fprintf(stderr, ".\n"); ! 1573: _cleanup(); ! 1574: abort(); ! 1575: } ! 1576: ./ ADD NAME=libF77/s_stop.c TIME=628474936 ! 1577: #include "stdio.h" ! 1578: #include "f2c.h" ! 1579: ! 1580: VOID s_stop(s, n) ! 1581: char *s; ! 1582: long int n; ! 1583: { ! 1584: int i; ! 1585: ! 1586: if(n > 0) ! 1587: { ! 1588: fprintf(stderr, "STOP "); ! 1589: for(i = 0; i<n ; ++i) ! 1590: putc(*s++, stderr); ! 1591: fprintf(stderr, " statement executed\n"); ! 1592: } ! 1593: f_exit(); ! 1594: exit(0); ! 1595: } ! 1596: ./ ADD NAME=libF77/signal_.c TIME=628437513 ! 1597: #include "f2c.h" ! 1598: ! 1599: typedef int (*sig_type)(); ! 1600: extern sig_type signal(); ! 1601: ! 1602: integer signal_(sigp, procp) ! 1603: integer *sigp, *procp; ! 1604: { ! 1605: int sig; ! 1606: sig_type proc; ! 1607: sig = *sigp; ! 1608: proc = *(sig_type *)procp; ! 1609: ! 1610: return (integer)signal(sig, proc); ! 1611: } ! 1612: ./ ADD NAME=libF77/system_.c TIME=628437513 ! 1613: /* f77 interface to system routine */ ! 1614: ! 1615: #include "f2c.h" ! 1616: ! 1617: system_(s, n) ! 1618: register char *s; ! 1619: long int n; ! 1620: { ! 1621: char buff[1000]; ! 1622: register char *bp, *blast; ! 1623: ! 1624: blast = buff + (n < 1000 ? n : 1000); ! 1625: ! 1626: for(bp = buff ; bp<blast && *s!='\0' ; ) ! 1627: *bp++ = *s++; ! 1628: *bp = '\0'; ! 1629: system(buff); ! 1630: } ! 1631: ./ ADD NAME=libF77/z_abs.c TIME=628438260 ! 1632: #include "f2c.h" ! 1633: ! 1634: double z_abs(z) ! 1635: doublecomplex *z; ! 1636: { ! 1637: double cabs(); ! 1638: ! 1639: return( cabs( z->r, z->i ) ); ! 1640: } ! 1641: ./ ADD NAME=libF77/z_cos.c TIME=628437514 ! 1642: #include "f2c.h" ! 1643: ! 1644: VOID z_cos(r, z) ! 1645: doublecomplex *r, *z; ! 1646: { ! 1647: double sin(), cos(), sinh(), cosh(); ! 1648: ! 1649: r->r = cos(z->r) * cosh(z->i); ! 1650: r->i = - sin(z->r) * sinh(z->i); ! 1651: } ! 1652: ./ ADD NAME=libF77/z_div.c TIME=628437514 ! 1653: #include "f2c.h" ! 1654: ! 1655: VOID z_div(c, a, b) ! 1656: doublecomplex *a, *b, *c; ! 1657: { ! 1658: double ratio, den; ! 1659: double abr, abi; ! 1660: ! 1661: if( (abr = b->r) < 0.) ! 1662: abr = - abr; ! 1663: if( (abi = b->i) < 0.) ! 1664: abi = - abi; ! 1665: if( abr <= abi ) ! 1666: { ! 1667: if(abi == 0) ! 1668: abort(); /* fatal("complex division by zero"); */ ! 1669: ratio = b->r / b->i ; ! 1670: den = b->i * (1 + ratio*ratio); ! 1671: c->r = (a->r*ratio + a->i) / den; ! 1672: c->i = (a->i*ratio - a->r) / den; ! 1673: } ! 1674: ! 1675: else ! 1676: { ! 1677: ratio = b->i / b->r ; ! 1678: den = b->r * (1 + ratio*ratio); ! 1679: c->r = (a->r + a->i*ratio) / den; ! 1680: c->i = (a->i - a->r*ratio) / den; ! 1681: } ! 1682: ! 1683: } ! 1684: ./ ADD NAME=libF77/z_exp.c TIME=628437514 ! 1685: #include "f2c.h" ! 1686: ! 1687: VOID z_exp(r, z) ! 1688: doublecomplex *r, *z; ! 1689: { ! 1690: double expx; ! 1691: double exp(), cos(), sin(); ! 1692: ! 1693: expx = exp(z->r); ! 1694: r->r = expx * cos(z->i); ! 1695: r->i = expx * sin(z->i); ! 1696: } ! 1697: ./ ADD NAME=libF77/z_log.c TIME=628437514 ! 1698: #include "f2c.h" ! 1699: ! 1700: VOID z_log(r, z) ! 1701: doublecomplex *r, *z; ! 1702: { ! 1703: double log(), cabs(), atan2(); ! 1704: ! 1705: r->i = atan2(z->i, z->r); ! 1706: r->r = log( cabs( z->r, z->i ) ); ! 1707: } ! 1708: ./ ADD NAME=libF77/z_sin.c TIME=628437514 ! 1709: #include "f2c.h" ! 1710: ! 1711: VOID z_sin(r, z) ! 1712: doublecomplex *r, *z; ! 1713: { ! 1714: double sin(), cos(), sinh(), cosh(); ! 1715: ! 1716: r->r = sin(z->r) * cosh(z->i); ! 1717: r->i = cos(z->r) * sinh(z->i); ! 1718: } ! 1719: ./ ADD NAME=libF77/z_sqrt.c TIME=628437514 ! 1720: #include "f2c.h" ! 1721: ! 1722: VOID z_sqrt(r, z) ! 1723: doublecomplex *r, *z; ! 1724: { ! 1725: double mag, sqrt(), cabs(); ! 1726: ! 1727: if( (mag = cabs(z->r, z->i)) == 0.) ! 1728: r->r = r->i = 0.; ! 1729: else if(z->r > 0) ! 1730: { ! 1731: r->r = sqrt(0.5 * (mag + z->r) ); ! 1732: r->i = z->i / r->r / 2; ! 1733: } ! 1734: else ! 1735: { ! 1736: r->i = sqrt(0.5 * (mag - z->r) ); ! 1737: if(z->i < 0) ! 1738: z->i = - z->i; ! 1739: r->r = z->i / r->i / 2; ! 1740: } ! 1741: } ! 1742: ./ ENDUP
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.