|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm039 ! 4: c ! 5: c this routine tests arithmetic assignment statements of the ! 6: c form integer variable = arithmetic expression ! 7: c where the arithmetic expression is formed with the arithmetic ! 8: c operator /, integer constants and an integer variable. both ! 9: c positive and negative values are used for the integer constants ! 10: c and the integer variable. ! 11: c ! 12: c there are tests which require no truncation of the result ! 13: c and tests where the result must be truncated before being stored ! 14: c in the resultant integer variable. some of the tests use parens ! 15: c to group elements in the arithmetic expression. ! 16: c ! 17: c there are tests where the arithmetic expression contains ! 18: c (1) integer variable/integer constant/integer constant ! 19: c integer constant/integer variable/integer constant ! 20: c integer constant/integer constant/integer variable ! 21: c (2) same as (1) but with parentheses to group elements ! 22: c in the arithmetic expression. ! 23: c ! 24: c references ! 25: c american national standard programming language fortran, ! 26: c x3.9-1978 ! 27: c ! 28: c section 4.3, integer type ! 29: c section 4.3.1, integer constant ! 30: c section 6.1, arithmetic expressions ! 31: c section 6.6, evaluation of expressions ! 32: c section 10.1, arithmetic assignment statement ! 33: c ! 34: c ********************************************************** ! 35: c ! 36: c a compiler validation system for the fortran language ! 37: c based on specifications as defined in american national standard ! 38: c programming language fortran x3.9-1978, has been developed by the ! 39: c federal cobol compiler testing service. the fortran compiler ! 40: c validation system (fcvs) consists of audit routines, their related ! 41: c data, and an executive system. each audit routine is a fortran ! 42: c program, subprogram or function which includes tests of specific ! 43: c language elements and supporting procedures indicating the result ! 44: c of executing these tests. ! 45: c ! 46: c this particular program/subprogram/function contains features ! 47: c found only in the subset as defined in x3.9-1978. ! 48: c ! 49: c suggestions and comments should be forwarded to - ! 50: c ! 51: c department of the navy ! 52: c federal cobol compiler testing service ! 53: c washington, d.c. 20376 ! 54: c ! 55: c ********************************************************** ! 56: c ! 57: c ! 58: c ! 59: c initialization section ! 60: c ! 61: c initialize constants ! 62: c ************** ! 63: c i01 contains the logical unit number for the card reader. ! 64: i01 = 5 ! 65: c i02 contains the logical unit number for the printer. ! 66: i02 = 6 ! 67: c system environment section ! 68: c ! 69: cx010 this card is replaced by contents of fexec x-010 control card. ! 70: c the cx010 card is for overriding the program default i01 = 5 ! 71: c (unit number for card reader). ! 72: cx011 this card is replaced by contents of fexec x-011 control card. ! 73: c the cx011 card is for systems which require additional ! 74: c fortran statements for files associated with cx010 above. ! 75: c ! 76: cx020 this card is replaced by contents of fexec x-020 control card. ! 77: c the cx020 card is for overriding the program default i02 = 6 ! 78: c (unit number for printer). ! 79: cx021 this card is replaced by contents of fexec x-021 control card. ! 80: c the cx021 card is for systems which require additional ! 81: c fortran statements for files associated with cx020 above. ! 82: c ! 83: ivpass=0 ! 84: ivfail=0 ! 85: ivdele=0 ! 86: iczero=0 ! 87: c ! 88: c write page headers ! 89: write (i02,90000) ! 90: write (i02,90001) ! 91: write (i02,90002) ! 92: write (i02, 90002) ! 93: write (i02,90003) ! 94: write (i02,90002) ! 95: write (i02,90004) ! 96: write (i02,90002) ! 97: write (i02,90011) ! 98: write (i02,90002) ! 99: write (i02,90002) ! 100: write (i02,90005) ! 101: write (i02,90006) ! 102: write (i02,90002) ! 103: c ! 104: c test section ! 105: c ! 106: c arithmetic assignment statement ! 107: c ! 108: c test 552 through test 557 contain arithmetic assignment statements ! 109: c of the form iv = iv/ic/ic. ! 110: c ! 111: 5521 continue ! 112: ivtnum = 552 ! 113: c ! 114: c **** test 552 **** ! 115: c ! 116: if (iczero) 35520, 5520, 35520 ! 117: 5520 continue ! 118: ivon01 = 24 ! 119: ivcomp = ivon01/3/4 ! 120: go to 45520 ! 121: 35520 ivdele = ivdele + 1 ! 122: write (i02,80003) ivtnum ! 123: if (iczero) 45520, 5531, 45520 ! 124: 45520 if (ivcomp - 2) 25520,15520,25520 ! 125: 15520 ivpass = ivpass + 1 ! 126: write (i02,80001) ivtnum ! 127: go to 5531 ! 128: 25520 ivfail = ivfail + 1 ! 129: ivcorr = 2 ! 130: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 131: 5531 continue ! 132: ivtnum = 553 ! 133: c ! 134: c **** test 553 **** ! 135: c ! 136: if (iczero) 35530, 5530, 35530 ! 137: 5530 continue ! 138: ivon01 = 7151 ! 139: ivcomp = ivon01/3/10 ! 140: go to 45530 ! 141: 35530 ivdele = ivdele + 1 ! 142: write (i02,80003) ivtnum ! 143: if (iczero) 45530, 5541, 45530 ! 144: 45530 if (ivcomp - 238) 25530,15530,25530 ! 145: 15530 ivpass = ivpass + 1 ! 146: write (i02,80001) ivtnum ! 147: go to 5541 ! 148: 25530 ivfail = ivfail + 1 ! 149: ivcorr = 238 ! 150: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 151: 5541 continue ! 152: ivtnum = 554 ! 153: c ! 154: c **** test 554 **** ! 155: c ! 156: if (iczero) 35540, 5540, 35540 ! 157: 5540 continue ! 158: ivon01 = -330 ! 159: ivcomp = ivon01/3/2 ! 160: go to 45540 ! 161: 35540 ivdele = ivdele + 1 ! 162: write (i02,80003) ivtnum ! 163: if (iczero) 45540, 5551, 45540 ! 164: 45540 if (ivcomp + 55) 25540,15540,25540 ! 165: 15540 ivpass = ivpass + 1 ! 166: write (i02,80001) ivtnum ! 167: go to 5551 ! 168: 25540 ivfail = ivfail + 1 ! 169: ivcorr = -55 ! 170: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 171: 5551 continue ! 172: ivtnum = 555 ! 173: c ! 174: c **** test 555 **** ! 175: c ! 176: if (iczero) 35550, 5550, 35550 ! 177: 5550 continue ! 178: ivon01 = 15249 ! 179: ivcomp = ivon01/(-13)/51 ! 180: go to 45550 ! 181: 35550 ivdele = ivdele + 1 ! 182: write (i02,80003) ivtnum ! 183: if (iczero) 45550, 5561, 45550 ! 184: 45550 if (ivcomp + 23) 25550,15550,25550 ! 185: 15550 ivpass = ivpass + 1 ! 186: write (i02,80001) ivtnum ! 187: go to 5561 ! 188: 25550 ivfail = ivfail + 1 ! 189: ivcorr = -23 ! 190: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 191: 5561 continue ! 192: ivtnum = 556 ! 193: c ! 194: c **** test 556 **** ! 195: c ! 196: if (iczero) 35560, 5560, 35560 ! 197: 5560 continue ! 198: ivon01 = -27342 ! 199: ivcomp = ivon01/(-4)/(-3) ! 200: go to 45560 ! 201: 35560 ivdele = ivdele + 1 ! 202: write (i02,80003) ivtnum ! 203: if (iczero) 45560, 5571, 45560 ! 204: 45560 if (ivcomp + 2278) 25560,15560,25560 ! 205: 15560 ivpass = ivpass + 1 ! 206: write (i02,80001) ivtnum ! 207: go to 5571 ! 208: 25560 ivfail = ivfail + 1 ! 209: ivcorr = -2278 ! 210: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 211: 5571 continue ! 212: ivtnum = 557 ! 213: c ! 214: c **** test 557 **** ! 215: c ! 216: if (iczero) 35570, 5570, 35570 ! 217: 5570 continue ! 218: ivon01 = -27342 ! 219: ivcomp = -ivon01/4/(-3) ! 220: go to 45570 ! 221: 35570 ivdele = ivdele + 1 ! 222: write (i02,80003) ivtnum ! 223: if (iczero) 45570, 5581, 45570 ! 224: 45570 if (ivcomp + 2278) 25570,15570,25570 ! 225: 15570 ivpass = ivpass + 1 ! 226: write (i02,80001) ivtnum ! 227: go to 5581 ! 228: 25570 ivfail = ivfail + 1 ! 229: ivcorr = -2278 ! 230: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 231: c ! 232: c test 558 through test 563 contain arithmetic assignment statements ! 233: c of the form iv=ic/iv/ic. ! 234: c ! 235: 5581 continue ! 236: ivtnum = 558 ! 237: c ! 238: c **** test 558 **** ! 239: c ! 240: if (iczero) 35580, 5580, 35580 ! 241: 5580 continue ! 242: ivon02 = 3 ! 243: ivcomp = 24/ivon02/4 ! 244: go to 45580 ! 245: 35580 ivdele = ivdele + 1 ! 246: write (i02,80003) ivtnum ! 247: if (iczero) 45580, 5591, 45580 ! 248: 45580 if (ivcomp - 2) 25580,15580,25580 ! 249: 15580 ivpass = ivpass + 1 ! 250: write (i02,80001) ivtnum ! 251: go to 5591 ! 252: 25580 ivfail = ivfail + 1 ! 253: ivcorr = 2 ! 254: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 255: 5591 continue ! 256: ivtnum = 559 ! 257: c ! 258: c **** test 559 **** ! 259: c ! 260: if (iczero) 35590, 5590, 35590 ! 261: 5590 continue ! 262: ivon02 = 3 ! 263: ivcomp = 7151/ivon02/10 ! 264: go to 45590 ! 265: 35590 ivdele = ivdele + 1 ! 266: write (i02,80003) ivtnum ! 267: if (iczero) 45590, 5601, 45590 ! 268: 45590 if (ivcomp - 238) 25590,15590,25590 ! 269: 15590 ivpass = ivpass + 1 ! 270: write (i02,80001) ivtnum ! 271: go to 5601 ! 272: 25590 ivfail = ivfail + 1 ! 273: ivcorr = 238 ! 274: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 275: 5601 continue ! 276: ivtnum = 560 ! 277: c ! 278: c **** test 560 **** ! 279: c ! 280: if (iczero) 35600, 5600, 35600 ! 281: 5600 continue ! 282: ivon02 = -3 ! 283: ivcomp = 330/ivon02/2 ! 284: go to 45600 ! 285: 35600 ivdele = ivdele + 1 ! 286: write (i02,80003) ivtnum ! 287: if (iczero) 45600, 5611, 45600 ! 288: 45600 if (ivcomp +55) 25600,15600,25600 ! 289: 15600 ivpass = ivpass + 1 ! 290: write (i02,80001) ivtnum ! 291: go to 5611 ! 292: 25600 ivfail = ivfail + 1 ! 293: ivcorr = -55 ! 294: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 295: 5611 continue ! 296: ivtnum = 561 ! 297: c ! 298: c **** test 561 **** ! 299: c ! 300: if (iczero) 35610, 5610, 35610 ! 301: 5610 continue ! 302: ivon02 = +13 ! 303: ivcomp = 15249/ivon02/(-51) ! 304: go to 45610 ! 305: 35610 ivdele = ivdele + 1 ! 306: write (i02,80003) ivtnum ! 307: if (iczero) 45610, 5621, 45610 ! 308: 45610 if (ivcomp + 23) 25610,15610,25610 ! 309: 15610 ivpass = ivpass + 1 ! 310: write (i02,80001) ivtnum ! 311: go to 5621 ! 312: 25610 ivfail = ivfail + 1 ! 313: ivcorr = -23 ! 314: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 315: 5621 continue ! 316: ivtnum = 562 ! 317: c ! 318: c **** test 562 **** ! 319: c ! 320: if (iczero) 35620, 5620, 35620 ! 321: 5620 continue ! 322: ivon02 = -4 ! 323: ivcomp = (-27342)/ivon02/(-3) ! 324: go to 45620 ! 325: 35620 ivdele = ivdele + 1 ! 326: write (i02,80003) ivtnum ! 327: if (iczero) 45620, 5631, 45620 ! 328: 45620 if (ivcomp + 2278) 25620,15620,25620 ! 329: 15620 ivpass = ivpass + 1 ! 330: write (i02,80001) ivtnum ! 331: go to 5631 ! 332: 25620 ivfail = ivfail + 1 ! 333: ivcorr = -2278 ! 334: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 335: 5631 continue ! 336: ivtnum = 563 ! 337: c ! 338: c **** test 563 **** ! 339: c ! 340: if (iczero) 35630, 5630, 35630 ! 341: 5630 continue ! 342: ivon02 = -4 ! 343: ivcomp = -27342/(-ivon02)/(-3) ! 344: go to 45630 ! 345: 35630 ivdele = ivdele + 1 ! 346: write (i02,80003) ivtnum ! 347: if (iczero) 45630, 5641, 45630 ! 348: 45630 if (ivcomp - 2278) 25630,15630,25630 ! 349: 15630 ivpass = ivpass + 1 ! 350: write (i02,80001) ivtnum ! 351: go to 5641 ! 352: 25630 ivfail = ivfail + 1 ! 353: ivcorr = 2278 ! 354: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 355: c ! 356: c test 564 through test 569 contain arithmetic assignment statements ! 357: c of the form iv = ic/ic/iv. ! 358: c ! 359: 5641 continue ! 360: ivtnum = 564 ! 361: c ! 362: c **** test 564 **** ! 363: c ! 364: if (iczero) 35640, 5640, 35640 ! 365: 5640 continue ! 366: ivon03 = 4 ! 367: ivcomp = 24/3/ivon03 ! 368: go to 45640 ! 369: 35640 ivdele = ivdele + 1 ! 370: write (i02,80003) ivtnum ! 371: if (iczero) 45640, 5651, 45640 ! 372: 45640 if (ivcomp -2) 25640,15640,25640 ! 373: 15640 ivpass = ivpass + 1 ! 374: write (i02,80001) ivtnum ! 375: go to 5651 ! 376: 25640 ivfail = ivfail + 1 ! 377: ivcorr = 2 ! 378: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 379: 5651 continue ! 380: ivtnum = 565 ! 381: c ! 382: c **** test 565 **** ! 383: c ! 384: if (iczero) 35650, 5650, 35650 ! 385: 5650 continue ! 386: ivon03 = 10 ! 387: ivcomp = 7151/3/ivon03 ! 388: go to 45650 ! 389: 35650 ivdele = ivdele + 1 ! 390: write (i02,80003) ivtnum ! 391: if (iczero) 45650, 5661, 45650 ! 392: 45650 if (ivcomp - 238) 25650,15650,25650 ! 393: 15650 ivpass = ivpass + 1 ! 394: write (i02,80001) ivtnum ! 395: go to 5661 ! 396: 25650 ivfail = ivfail + 1 ! 397: ivcorr = 238 ! 398: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 399: 5661 continue ! 400: ivtnum = 566 ! 401: c ! 402: c **** test 566 **** ! 403: c ! 404: if (iczero) 35660, 5660, 35660 ! 405: 5660 continue ! 406: ivon03 = -2 ! 407: ivcomp = 330/3/ivon03 ! 408: go to 45660 ! 409: 35660 ivdele = ivdele + 1 ! 410: write (i02,80003) ivtnum ! 411: if (iczero) 45660, 5671, 45660 ! 412: 45660 if (ivcomp + 55) 25660,15660,25660 ! 413: 15660 ivpass = ivpass + 1 ! 414: write (i02,80001) ivtnum ! 415: go to 5671 ! 416: 25660 ivfail = ivfail + 1 ! 417: ivcorr = -55 ! 418: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 419: 5671 continue ! 420: ivtnum = 567 ! 421: c ! 422: c **** test 567 **** ! 423: c ! 424: if (iczero) 35670, 5670, 35670 ! 425: 5670 continue ! 426: ivon03 = +51 ! 427: ivcomp = 15249/(-13)/ivon03 ! 428: go to 45670 ! 429: 35670 ivdele = ivdele + 1 ! 430: write (i02,80003) ivtnum ! 431: if (iczero) 45670, 5681, 45670 ! 432: 45670 if (ivcomp + 23) 25670,15670,25670 ! 433: 15670 ivpass = ivpass + 1 ! 434: write (i02,80001) ivtnum ! 435: go to 5681 ! 436: 25670 ivfail = ivfail + 1 ! 437: ivcorr = -23 ! 438: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 439: 5681 continue ! 440: ivtnum = 568 ! 441: c ! 442: c **** test 568 **** ! 443: c ! 444: if (iczero) 35680, 5680, 35680 ! 445: 5680 continue ! 446: ivon03 = -3 ! 447: ivcomp = (-27342)/(-4)/ivon03 ! 448: go to 45680 ! 449: 35680 ivdele = ivdele + 1 ! 450: write (i02,80003) ivtnum ! 451: if (iczero) 45680, 5691, 45680 ! 452: 45680 if (ivcomp + 2278) 25680,15680,25680 ! 453: 15680 ivpass = ivpass + 1 ! 454: write (i02,80001) ivtnum ! 455: go to 5691 ! 456: 25680 ivfail = ivfail + 1 ! 457: ivcorr = -2278 ! 458: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 459: 5691 continue ! 460: ivtnum = 569 ! 461: c ! 462: c **** test 569 **** ! 463: c ! 464: if (iczero) 35690, 5690, 35690 ! 465: 5690 continue ! 466: ivon03 = -3 ! 467: ivcomp = -27342/(-4)/(-ivon03) ! 468: go to 45690 ! 469: 35690 ivdele = ivdele + 1 ! 470: write (i02,80003) ivtnum ! 471: if (iczero) 45690, 5701, 45690 ! 472: 45690 if (ivcomp - 2278) 25690,15690,25690 ! 473: 15690 ivpass = ivpass + 1 ! 474: write (i02,80001) ivtnum ! 475: go to 5701 ! 476: 25690 ivfail = ivfail + 1 ! 477: ivcorr = 2278 ! 478: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 479: c ! 480: c test 570 and test 571 - iv =(iv/ic)/ic ! 481: c ! 482: 5701 continue ! 483: ivtnum = 570 ! 484: c ! 485: c **** test 570 **** ! 486: c ! 487: if (iczero) 35700, 5700, 35700 ! 488: 5700 continue ! 489: ivon01 = 24 ! 490: ivcomp = (ivon01/3)/4 ! 491: go to 45700 ! 492: 35700 ivdele = ivdele + 1 ! 493: write (i02,80003) ivtnum ! 494: if (iczero) 45700, 5711, 45700 ! 495: 45700 if (ivcomp -2) 25700,15700,25700 ! 496: 15700 ivpass = ivpass + 1 ! 497: write (i02,80001) ivtnum ! 498: go to 5711 ! 499: 25700 ivfail = ivfail + 1 ! 500: ivcorr = 2 ! 501: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 502: 5711 continue ! 503: ivtnum = 571 ! 504: c ! 505: c **** test 571 **** ! 506: c ! 507: if (iczero) 35710, 5710, 35710 ! 508: 5710 continue ! 509: ivon01 = -330 ! 510: ivcomp = (ivon01/(-3))/4 ! 511: go to 45710 ! 512: 35710 ivdele = ivdele + 1 ! 513: write (i02,80003) ivtnum ! 514: if (iczero) 45710, 5721, 45710 ! 515: 45710 if (ivcomp - 27) 25710,15710,25710 ! 516: 15710 ivpass = ivpass + 1 ! 517: write (i02,80001) ivtnum ! 518: go to 5721 ! 519: 25710 ivfail = ivfail + 1 ! 520: ivcorr = 27 ! 521: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 522: c ! 523: c test 572 and test 573 - iv= iv/(ic/ic) ! 524: c ! 525: 5721 continue ! 526: ivtnum = 572 ! 527: c ! 528: c **** test 572 **** ! 529: c ! 530: if (iczero) 35720, 5720, 35720 ! 531: 5720 continue ! 532: ivon01 = 24 ! 533: ivcomp = ivon01/(8/4) ! 534: go to 45720 ! 535: 35720 ivdele = ivdele + 1 ! 536: write (i02,80003) ivtnum ! 537: if (iczero) 45720, 5731, 45720 ! 538: 45720 if (ivcomp - 12) 25720,15720,25720 ! 539: 15720 ivpass = ivpass + 1 ! 540: write (i02,80001) ivtnum ! 541: go to 5731 ! 542: 25720 ivfail = ivfail + 1 ! 543: ivcorr = 12 ! 544: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 545: 5731 continue ! 546: ivtnum = 573 ! 547: c ! 548: c **** test 573 **** ! 549: c ! 550: if (iczero) 35730, 5730, 35730 ! 551: 5730 continue ! 552: ivon01 = -7154 ! 553: ivcomp = -ivon01/((-26)/5) ! 554: go to 45730 ! 555: 35730 ivdele = ivdele + 1 ! 556: write (i02,80003) ivtnum ! 557: if (iczero) 45730, 5741, 45730 ! 558: 45730 if (ivcomp + 1430) 25730,15730,25730 ! 559: 15730 ivpass = ivpass + 1 ! 560: write (i02,80001) ivtnum ! 561: go to 5741 ! 562: 25730 ivfail = ivfail + 1 ! 563: ivcorr = -1430 ! 564: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 565: c ! 566: c test 574 and test 575 - iv=(ic/iv)/ic ! 567: c ! 568: 5741 continue ! 569: ivtnum = 574 ! 570: c ! 571: c **** test 574 **** ! 572: c ! 573: if (iczero) 35740, 5740, 35740 ! 574: 5740 continue ! 575: ivon02 = 3 ! 576: ivcomp = (24/ivon02)/4 ! 577: go to 45740 ! 578: 35740 ivdele = ivdele + 1 ! 579: write (i02,80003) ivtnum ! 580: if (iczero) 45740, 5751, 45740 ! 581: 45740 if (ivcomp -2) 25740,15740,25740 ! 582: 15740 ivpass = ivpass + 1 ! 583: write (i02,80001) ivtnum ! 584: go to 5751 ! 585: 25740 ivfail = ivfail + 1 ! 586: ivcorr = 2 ! 587: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 588: 5751 continue ! 589: ivtnum = 575 ! 590: c ! 591: c **** test 575 **** ! 592: c ! 593: if (iczero) 35750, 5750, 35750 ! 594: 5750 continue ! 595: ivon02 = -3 ! 596: ivcomp = (-330/ivon02)/(-4) ! 597: go to 45750 ! 598: 35750 ivdele = ivdele + 1 ! 599: write (i02,80003) ivtnum ! 600: if (iczero) 45750, 5761, 45750 ! 601: 45750 if (ivcomp + 27) 25750,15750,25750 ! 602: 15750 ivpass = ivpass + 1 ! 603: write (i02,80001) ivtnum ! 604: go to 5761 ! 605: 25750 ivfail = ivfail + 1 ! 606: ivcorr = -27 ! 607: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 608: c ! 609: c test 576 and test 577 - iv=ic/(iv/ic) ! 610: c ! 611: 5761 continue ! 612: ivtnum = 576 ! 613: c ! 614: c **** test 576 **** ! 615: c ! 616: if (iczero) 35760, 5760, 35760 ! 617: 5760 continue ! 618: ivon02 = 8 ! 619: ivcomp = 24/(ivon02/4) ! 620: go to 45760 ! 621: 35760 ivdele = ivdele + 1 ! 622: write (i02,80003) ivtnum ! 623: if (iczero) 45760, 5771, 45760 ! 624: 45760 if (ivcomp - 12) 25760,15760,25760 ! 625: 15760 ivpass = ivpass + 1 ! 626: write (i02,80001) ivtnum ! 627: go to 5771 ! 628: 25760 ivfail = ivfail + 1 ! 629: ivcorr = 12 ! 630: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 631: 5771 continue ! 632: ivtnum = 577 ! 633: c ! 634: c **** test 577 **** ! 635: c ! 636: if (iczero) 35770, 5770, 35770 ! 637: 5770 continue ! 638: ivon02 = -26 ! 639: ivcomp = 7154/((-ivon02)/(-5)) ! 640: go to 45770 ! 641: 35770 ivdele = ivdele + 1 ! 642: write (i02,80003) ivtnum ! 643: if (iczero) 45770, 5781, 45770 ! 644: 45770 if (ivcomp + 1430) 25770,15770,25770 ! 645: 15770 ivpass = ivpass + 1 ! 646: write (i02,80001) ivtnum ! 647: go to 5781 ! 648: 25770 ivfail = ivfail + 1 ! 649: ivcorr = -1430 ! 650: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 651: c ! 652: c test 578 and test 579 - iv=(ic/ic)/iv ! 653: c ! 654: 5781 continue ! 655: ivtnum = 578 ! 656: c ! 657: c **** test 578 **** ! 658: c ! 659: if (iczero) 35780, 5780, 35780 ! 660: 5780 continue ! 661: ivon03 = 4 ! 662: ivcomp = (24/3)/ivon03 ! 663: go to 45780 ! 664: 35780 ivdele = ivdele + 1 ! 665: write (i02,80003) ivtnum ! 666: if (iczero) 45780, 5791, 45780 ! 667: 45780 if (ivcomp - 2) 25780,15780,25780 ! 668: 15780 ivpass = ivpass + 1 ! 669: write (i02,80001) ivtnum ! 670: go to 5791 ! 671: 25780 ivfail = ivfail + 1 ! 672: ivcorr = 2 ! 673: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 674: 5791 continue ! 675: ivtnum = 579 ! 676: c ! 677: c **** test 579 **** ! 678: c ! 679: if (iczero) 35790, 5790, 35790 ! 680: 5790 continue ! 681: ivon03 = -4 ! 682: ivcomp = (330/(-3))/ivon03 ! 683: go to 45790 ! 684: 35790 ivdele = ivdele + 1 ! 685: write (i02,80003) ivtnum ! 686: if (iczero) 45790, 5801, 45790 ! 687: 45790 if (ivcomp - 27) 25790,15790,25790 ! 688: 15790 ivpass = ivpass + 1 ! 689: write (i02,80001) ivtnum ! 690: go to 5801 ! 691: 25790 ivfail = ivfail + 1 ! 692: ivcorr = 27 ! 693: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 694: c ! 695: c test 580 and test 581 - iv= ic/(ic/iv) ! 696: c ! 697: 5801 continue ! 698: ivtnum = 580 ! 699: c ! 700: c **** test 580 **** ! 701: c ! 702: if (iczero) 35800, 5800, 35800 ! 703: 5800 continue ! 704: ivon03 = 4 ! 705: ivcomp = 24/(8/ivon03) ! 706: go to 45800 ! 707: 35800 ivdele = ivdele + 1 ! 708: write (i02,80003) ivtnum ! 709: if (iczero) 45800, 5811, 45800 ! 710: 45800 if (ivcomp - 12) 25800,15800,25800 ! 711: 15800 ivpass = ivpass + 1 ! 712: write (i02,80001) ivtnum ! 713: go to 5811 ! 714: 25800 ivfail = ivfail + 1 ! 715: ivcorr = 12 ! 716: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 717: 5811 continue ! 718: ivtnum = 581 ! 719: c ! 720: c **** test 581 **** ! 721: c ! 722: if (iczero) 35810, 5810, 35810 ! 723: 5810 continue ! 724: ivon03 = -5 ! 725: ivcomp = -7154/((-26)/ivon03) ! 726: go to 45810 ! 727: 35810 ivdele = ivdele + 1 ! 728: write (i02,80003) ivtnum ! 729: if (iczero) 45810, 5821, 45810 ! 730: 45810 if (ivcomp + 1430) 25810,15810,25810 ! 731: 15810 ivpass = ivpass + 1 ! 732: write (i02,80001) ivtnum ! 733: go to 5821 ! 734: 25810 ivfail = ivfail + 1 ! 735: ivcorr = -1430 ! 736: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 737: c ! 738: c **** end of tests **** ! 739: 5821 continue ! 740: c ! 741: c write page footings and run summaries ! 742: 99999 continue ! 743: write (i02,90002) ! 744: write (i02,90006) ! 745: write (i02,90002) ! 746: write (i02,90002) ! 747: write (i02,90007) ! 748: write (i02,90002) ! 749: write (i02,90008) ivfail ! 750: write (i02,90009) ivpass ! 751: write (i02,90010) ivdele ! 752: c ! 753: c ! 754: c terminate routine execution ! 755: stop ! 756: c ! 757: c format statements for page headers ! 758: 90000 format (1h1) ! 759: 90002 format (1h ) ! 760: 90001 format (1h ,10x,34hfortran compiler validation system) ! 761: 90003 format (1h ,21x,11hversion 1.0) ! 762: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 763: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 764: 90006 format (1h ,5x,46h----------------------------------------------) ! 765: 90011 format (1h ,18x,17hsubset level test) ! 766: c ! 767: c format statements for run summaries ! 768: 90008 format (1h ,15x,i5,19h errors encountered) ! 769: 90009 format (1h ,15x,i5,13h tests passed) ! 770: 90010 format (1h ,15x,i5,14h tests deleted) ! 771: c ! 772: c format statements for test results ! 773: 80001 format (1h ,4x,i5,7x,4hpass) ! 774: 80002 format (1h ,4x,i5,7x,4hfail) ! 775: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 776: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 777: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 778: c ! 779: 90007 format (1h ,20x,20hend of program fm039) ! 780: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.