|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm033 ! 4: c ! 5: c this routine tests arithmetic assignment statements of the ! 6: c form ! 7: c integer variable = arithmetic expression ! 8: c where the arithmetic expression is formed with the arithmetic ! 9: c operator * and integer constants. some of the tests use parens ! 10: c to group elements in the expression and to allow the use of ! 11: c negative constants following the * operator. ! 12: c ! 13: c there are tests where the arithmetic expression contains ! 14: c (1) integer constant * integer constant ! 15: c (2) integer constant * integer constant * integer constant ! 16: c (3) same as (2) but with parens to group elements ! 17: c ! 18: c references ! 19: c american national standard programming language fortran, ! 20: c x3.9-1978 ! 21: c ! 22: c section 4.3, integer type ! 23: c section 4.3.1, integer constant ! 24: c section 6.1, arithmetic expressions ! 25: c section 10.1, arithmetic assignment statement ! 26: c ! 27: c ********************************************************** ! 28: c ! 29: c a compiler validation system for the fortran language ! 30: c based on specifications as defined in american national standard ! 31: c programming language fortran x3.9-1978, has been developed by the ! 32: c federal cobol compiler testing service. the fortran compiler ! 33: c validation system (fcvs) consists of audit routines, their related ! 34: c data, and an executive system. each audit routine is a fortran ! 35: c program, subprogram or function which includes tests of specific ! 36: c language elements and supporting procedures indicating the result ! 37: c of executing these tests. ! 38: c ! 39: c this particular program/subprogram/function contains features ! 40: c found only in the subset as defined in x3.9-1978. ! 41: c ! 42: c suggestions and comments should be forwarded to - ! 43: c ! 44: c department of the navy ! 45: c federal cobol compiler testing service ! 46: c washington, d.c. 20376 ! 47: c ! 48: c ********************************************************** ! 49: c ! 50: c ! 51: c ! 52: c initialization section ! 53: c ! 54: c initialize constants ! 55: c ************** ! 56: c i01 contains the logical unit number for the card reader. ! 57: i01 = 5 ! 58: c i02 contains the logical unit number for the printer. ! 59: i02 = 6 ! 60: c system environment section ! 61: c ! 62: cx010 this card is replaced by contents of fexec x-010 control card. ! 63: c the cx010 card is for overriding the program default i01 = 5 ! 64: c (unit number for card reader). ! 65: cx011 this card is replaced by contents of fexec x-011 control card. ! 66: c the cx011 card is for systems which require additional ! 67: c fortran statements for files associated with cx010 above. ! 68: c ! 69: cx020 this card is replaced by contents of fexec x-020 control card. ! 70: c the cx020 card is for overriding the program default i02 = 6 ! 71: c (unit number for printer). ! 72: cx021 this card is replaced by contents of fexec x-021 control card. ! 73: c the cx021 card is for systems which require additional ! 74: c fortran statements for files associated with cx020 above. ! 75: c ! 76: ivpass=0 ! 77: ivfail=0 ! 78: ivdele=0 ! 79: iczero=0 ! 80: c ! 81: c write page headers ! 82: write (i02,90000) ! 83: write (i02,90001) ! 84: write (i02,90002) ! 85: write (i02, 90002) ! 86: write (i02,90003) ! 87: write (i02,90002) ! 88: write (i02,90004) ! 89: write (i02,90002) ! 90: write (i02,90011) ! 91: write (i02,90002) ! 92: write (i02,90002) ! 93: write (i02,90005) ! 94: write (i02,90006) ! 95: write (i02,90002) ! 96: c ! 97: c test section ! 98: c ! 99: c arithmetic assignment statement ! 100: c ! 101: c test 360 through test 376 contain two integer constants and ! 102: c operator * in an arithmetic expression. ! 103: c iv = ic * ic ! 104: c ! 105: c test 360 through test 365 - integer constants are positive ! 106: c ! 107: 3601 continue ! 108: ivtnum = 360 ! 109: c ! 110: c **** test 360 **** ! 111: c ! 112: if (iczero) 33600, 3600, 33600 ! 113: 3600 continue ! 114: ivcomp = 2 * 3 ! 115: go to 43600 ! 116: 33600 ivdele = ivdele + 1 ! 117: write (i02,80003) ivtnum ! 118: if (iczero) 43600, 3611, 43600 ! 119: 43600 if (ivcomp - 6) 23600,13600,23600 ! 120: 13600 ivpass = ivpass + 1 ! 121: write (i02,80001) ivtnum ! 122: go to 3611 ! 123: 23600 ivfail = ivfail + 1 ! 124: ivcorr=6 ! 125: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 126: 3611 continue ! 127: ivtnum = 361 ! 128: c ! 129: c **** test 361 **** ! 130: c ! 131: if (iczero) 33610, 3610, 33610 ! 132: 3610 continue ! 133: ivcomp = 3*2 ! 134: go to 43610 ! 135: 33610 ivdele = ivdele + 1 ! 136: write (i02,80003) ivtnum ! 137: if (iczero) 43610, 3621, 43610 ! 138: 43610 if (ivcomp-6) 23610,13610,23610 ! 139: 13610 ivpass = ivpass + 1 ! 140: write (i02,80001) ivtnum ! 141: go to 3621 ! 142: 23610 ivfail = ivfail + 1 ! 143: ivcorr=6 ! 144: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 145: 3621 continue ! 146: ivtnum = 362 ! 147: c ! 148: c **** test 362 **** ! 149: c ! 150: if (iczero) 33620, 3620, 33620 ! 151: 3620 continue ! 152: ivcomp=13*11 ! 153: go to 43620 ! 154: 33620 ivdele = ivdele + 1 ! 155: write (i02,80003) ivtnum ! 156: if (iczero) 43620, 3631, 43620 ! 157: 43620 if (ivcomp-143) 23620,13620,23620 ! 158: 13620 ivpass = ivpass + 1 ! 159: write (i02,80001) ivtnum ! 160: go to 3631 ! 161: 23620 ivfail = ivfail + 1 ! 162: ivcorr=143 ! 163: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 164: 3631 continue ! 165: ivtnum = 363 ! 166: c ! 167: c **** test 363 **** ! 168: c ! 169: if (iczero) 33630, 3630, 33630 ! 170: 3630 continue ! 171: ivcomp = 223*99 ! 172: go to 43630 ! 173: 33630 ivdele = ivdele + 1 ! 174: write (i02,80003) ivtnum ! 175: if (iczero) 43630, 3641, 43630 ! 176: 43630 if (ivcomp-22077) 23630,13630,23630 ! 177: 13630 ivpass = ivpass + 1 ! 178: write (i02,80001) ivtnum ! 179: go to 3641 ! 180: 23630 ivfail = ivfail + 1 ! 181: ivcorr=22077 ! 182: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 183: 3641 continue ! 184: ivtnum = 364 ! 185: c ! 186: c **** test 364 **** ! 187: c ! 188: if (iczero) 33640, 3640, 33640 ! 189: 3640 continue ! 190: ivcomp=11235*2 ! 191: go to 43640 ! 192: 33640 ivdele = ivdele + 1 ! 193: write (i02,80003) ivtnum ! 194: if (iczero) 43640, 3651, 43640 ! 195: 43640 if (ivcomp-22470) 23640,13640,23640 ! 196: 13640 ivpass = ivpass + 1 ! 197: write (i02,80001) ivtnum ! 198: go to 3651 ! 199: 23640 ivfail = ivfail + 1 ! 200: ivcorr=22470 ! 201: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 202: 3651 continue ! 203: ivtnum = 365 ! 204: c ! 205: c **** test 365 **** ! 206: c ! 207: if (iczero) 33650, 3650, 33650 ! 208: 3650 continue ! 209: ivcomp = 2*16383 ! 210: go to 43650 ! 211: 33650 ivdele = ivdele + 1 ! 212: write (i02,80003) ivtnum ! 213: if (iczero) 43650, 3661, 43650 ! 214: 43650 if (ivcomp-32766) 23650,13650,23650 ! 215: 13650 ivpass = ivpass + 1 ! 216: write (i02,80001) ivtnum ! 217: go to 3661 ! 218: 23650 ivfail = ivfail + 1 ! 219: ivcorr = 32766 ! 220: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 221: c ! 222: c test 366 through test 371 ! 223: c one positive and one negative constant ! 224: c ! 225: 3661 continue ! 226: ivtnum = 366 ! 227: c ! 228: c **** test 366 **** ! 229: c ! 230: if (iczero) 33660, 3660, 33660 ! 231: 3660 continue ! 232: ivcomp =2*(-3) ! 233: go to 43660 ! 234: 33660 ivdele = ivdele + 1 ! 235: write (i02,80003) ivtnum ! 236: if (iczero) 43660, 3671, 43660 ! 237: 43660 if (ivcomp+6) 23660,13660,23660 ! 238: 13660 ivpass = ivpass + 1 ! 239: write (i02,80001) ivtnum ! 240: go to 3671 ! 241: 23660 ivfail = ivfail + 1 ! 242: ivcorr = -6 ! 243: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 244: 3671 continue ! 245: ivtnum = 367 ! 246: c ! 247: c **** test 367 **** ! 248: c ! 249: if (iczero) 33670, 3670, 33670 ! 250: 3670 continue ! 251: ivcomp=(-2)*3 ! 252: go to 43670 ! 253: 33670 ivdele = ivdele + 1 ! 254: write (i02,80003) ivtnum ! 255: if (iczero) 43670, 3681, 43670 ! 256: 43670 if (ivcomp+6)23670,13670,23670 ! 257: 13670 ivpass = ivpass + 1 ! 258: write (i02,80001) ivtnum ! 259: go to 3681 ! 260: 23670 ivfail = ivfail + 1 ! 261: ivcorr =-6 ! 262: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 263: 3681 continue ! 264: ivtnum = 368 ! 265: c ! 266: c **** test 368 **** ! 267: c ! 268: if (iczero) 33680, 3680, 33680 ! 269: 3680 continue ! 270: ivcomp= -2*3 ! 271: go to 43680 ! 272: 33680 ivdele = ivdele + 1 ! 273: write (i02,80003) ivtnum ! 274: if (iczero) 43680, 3691, 43680 ! 275: 43680 if (ivcomp +6) 23680,13680,23680 ! 276: 13680 ivpass = ivpass + 1 ! 277: write (i02,80001) ivtnum ! 278: go to 3691 ! 279: 23680 ivfail = ivfail + 1 ! 280: ivcorr=-6 ! 281: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 282: 3691 continue ! 283: ivtnum = 369 ! 284: c ! 285: c **** test 369 **** ! 286: c ! 287: if (iczero) 33690, 3690, 33690 ! 288: 3690 continue ! 289: ivcomp = (-13)*11 ! 290: go to 43690 ! 291: 33690 ivdele = ivdele + 1 ! 292: write (i02,80003) ivtnum ! 293: if (iczero) 43690, 3701, 43690 ! 294: 43690 if (ivcomp+143) 23690,13690,23690 ! 295: 13690 ivpass = ivpass + 1 ! 296: write (i02,80001) ivtnum ! 297: go to 3701 ! 298: 23690 ivfail = ivfail + 1 ! 299: ivcorr=-143 ! 300: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 301: 3701 continue ! 302: ivtnum = 370 ! 303: c ! 304: c **** test 370 **** ! 305: c ! 306: if (iczero) 33700, 3700, 33700 ! 307: 3700 continue ! 308: ivcomp = 223 * (-99) ! 309: go to 43700 ! 310: 33700 ivdele = ivdele + 1 ! 311: write (i02,80003) ivtnum ! 312: if (iczero) 43700, 3711, 43700 ! 313: 43700 if (ivcomp + 22077) 23700,13700,23700 ! 314: 13700 ivpass = ivpass + 1 ! 315: write (i02,80001) ivtnum ! 316: go to 3711 ! 317: 23700 ivfail = ivfail + 1 ! 318: ivcorr =-22077 ! 319: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 320: 3711 continue ! 321: ivtnum = 371 ! 322: c ! 323: c **** test 371 **** ! 324: c ! 325: if (iczero) 33710, 3710, 33710 ! 326: 3710 continue ! 327: ivcomp= -2 * 16383 ! 328: go to 43710 ! 329: 33710 ivdele = ivdele + 1 ! 330: write (i02,80003) ivtnum ! 331: if (iczero) 43710, 3721, 43710 ! 332: 43710 if (ivcomp+32766) 23710,13710,23710 ! 333: 13710 ivpass = ivpass + 1 ! 334: write (i02,80001) ivtnum ! 335: go to 3721 ! 336: 23710 ivfail = ivfail + 1 ! 337: ivcorr= -32766 ! 338: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 339: c ! 340: c test 372 through test 376 - two negative constants ! 341: c ! 342: 3721 continue ! 343: ivtnum = 372 ! 344: c ! 345: c **** test 372 **** ! 346: c ! 347: if (iczero) 33720, 3720, 33720 ! 348: 3720 continue ! 349: ivcomp=(-2)*(-3) ! 350: go to 43720 ! 351: 33720 ivdele = ivdele + 1 ! 352: write (i02,80003) ivtnum ! 353: if (iczero) 43720, 3731, 43720 ! 354: 43720 if (ivcomp-6) 23720,13720,23720 ! 355: 13720 ivpass = ivpass + 1 ! 356: write (i02,80001) ivtnum ! 357: go to 3731 ! 358: 23720 ivfail = ivfail + 1 ! 359: ivcorr=6 ! 360: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 361: 3731 continue ! 362: ivtnum = 373 ! 363: c ! 364: c **** test 373 **** ! 365: c ! 366: if (iczero) 33730, 3730, 33730 ! 367: 3730 continue ! 368: ivcomp = -2*(-3) ! 369: go to 43730 ! 370: 33730 ivdele = ivdele + 1 ! 371: write (i02,80003) ivtnum ! 372: if (iczero) 43730, 3741, 43730 ! 373: 43730 if (ivcomp-6) 23730,13730,23730 ! 374: 13730 ivpass = ivpass + 1 ! 375: write (i02,80001) ivtnum ! 376: go to 3741 ! 377: 23730 ivfail = ivfail + 1 ! 378: ivcorr=6 ! 379: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 380: 3741 continue ! 381: ivtnum = 374 ! 382: c ! 383: c **** test 374 **** ! 384: c ! 385: if (iczero) 33740, 3740, 33740 ! 386: 3740 continue ! 387: ivcomp=(-13)*(-11) ! 388: go to 43740 ! 389: 33740 ivdele = ivdele + 1 ! 390: write (i02,80003) ivtnum ! 391: if (iczero) 43740, 3751, 43740 ! 392: 43740 if (ivcomp-143) 23740,13740,23740 ! 393: 13740 ivpass = ivpass + 1 ! 394: write (i02,80001) ivtnum ! 395: go to 3751 ! 396: 23740 ivfail = ivfail + 1 ! 397: ivcorr = 143 ! 398: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 399: 3751 continue ! 400: ivtnum = 375 ! 401: c ! 402: c **** test 375 **** ! 403: c ! 404: if (iczero) 33750, 3750, 33750 ! 405: 3750 continue ! 406: ivcomp= -223 *(-99) ! 407: go to 43750 ! 408: 33750 ivdele = ivdele + 1 ! 409: write (i02,80003) ivtnum ! 410: if (iczero) 43750, 3761, 43750 ! 411: 43750 if (ivcomp - 22077) 23750,13750,23750 ! 412: 13750 ivpass = ivpass + 1 ! 413: write (i02,80001) ivtnum ! 414: go to 3761 ! 415: 23750 ivfail = ivfail + 1 ! 416: ivcorr = 22077 ! 417: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 418: 3761 continue ! 419: ivtnum = 376 ! 420: c ! 421: c **** test 376 **** ! 422: c ! 423: if (iczero) 33760, 3760, 33760 ! 424: 3760 continue ! 425: ivcomp = (-16383)*(-2) ! 426: go to 43760 ! 427: 33760 ivdele = ivdele + 1 ! 428: write (i02,80003) ivtnum ! 429: if (iczero) 43760, 3771, 43760 ! 430: 43760 if (ivcomp - 32766) 23760,13760,23760 ! 431: 13760 ivpass = ivpass + 1 ! 432: write (i02,80001) ivtnum ! 433: go to 3771 ! 434: 23760 ivfail = ivfail + 1 ! 435: ivcorr =32766 ! 436: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 437: c ! 438: c test 377 through test 394 contain three integer constants and ! 439: c operator * in an arithmetic expression. ! 440: c iv = ic * ic * ic ! 441: c ! 442: c test 377 through test 382 - constants are positive ! 443: c ! 444: 3771 continue ! 445: ivtnum = 377 ! 446: c ! 447: c **** test 377 **** ! 448: c ! 449: if (iczero) 33770, 3770, 33770 ! 450: 3770 continue ! 451: ivcomp =2*3*4 ! 452: go to 43770 ! 453: 33770 ivdele = ivdele + 1 ! 454: write (i02,80003) ivtnum ! 455: if (iczero) 43770, 3781, 43770 ! 456: 43770 if (ivcomp-24) 23770,13770,23770 ! 457: 13770 ivpass = ivpass + 1 ! 458: write (i02,80001) ivtnum ! 459: go to 3781 ! 460: 23770 ivfail = ivfail + 1 ! 461: ivcorr = 24 ! 462: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 463: 3781 continue ! 464: ivtnum = 378 ! 465: c ! 466: c **** test 378 **** ! 467: c ! 468: if (iczero) 33780, 3780, 33780 ! 469: 3780 continue ! 470: ivcomp = 2*3*55 ! 471: go to 43780 ! 472: 33780 ivdele = ivdele + 1 ! 473: write (i02,80003) ivtnum ! 474: if (iczero) 43780, 3791, 43780 ! 475: 43780 if (ivcomp-330) 23780,13780,23780 ! 476: 13780 ivpass = ivpass + 1 ! 477: write (i02,80001) ivtnum ! 478: go to 3791 ! 479: 23780 ivfail = ivfail + 1 ! 480: ivcorr = 330 ! 481: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 482: 3791 continue ! 483: ivtnum = 379 ! 484: c ! 485: c **** test 379 **** ! 486: c ! 487: if (iczero) 33790, 3790, 33790 ! 488: 3790 continue ! 489: ivcomp = 23*51*13 ! 490: go to 43790 ! 491: 33790 ivdele = ivdele + 1 ! 492: write (i02,80003) ivtnum ! 493: if (iczero) 43790, 3801, 43790 ! 494: 43790 if (ivcomp-15249) 23790,13790,23790 ! 495: 13790 ivpass = ivpass + 1 ! 496: write (i02,80001) ivtnum ! 497: go to 3801 ! 498: 23790 ivfail = ivfail + 1 ! 499: ivcorr = 15249 ! 500: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 501: 3801 continue ! 502: ivtnum = 380 ! 503: c ! 504: c **** test 380 **** ! 505: c ! 506: if (iczero) 33800, 3800, 33800 ! 507: 3800 continue ! 508: ivcomp = 3* 5461* 2 ! 509: go to 43800 ! 510: 33800 ivdele = ivdele + 1 ! 511: write (i02,80003) ivtnum ! 512: if (iczero) 43800, 3811, 43800 ! 513: 43800 if (ivcomp - 32766) 23800,13800,23800 ! 514: 13800 ivpass = ivpass + 1 ! 515: write (i02,80001) ivtnum ! 516: go to 3811 ! 517: 23800 ivfail = ivfail + 1 ! 518: ivcorr = 32766 ! 519: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 520: 3811 continue ! 521: ivtnum = 381 ! 522: c ! 523: c **** test 381 **** ! 524: c ! 525: if (iczero) 33810, 3810, 33810 ! 526: 3810 continue ! 527: ivcomp = 16383*2*1 ! 528: go to 43810 ! 529: 33810 ivdele = ivdele + 1 ! 530: write (i02,80003) ivtnum ! 531: if (iczero) 43810, 3821, 43810 ! 532: 43810 if (ivcomp-32766) 23810,13810,23810 ! 533: 13810 ivpass = ivpass + 1 ! 534: write (i02,80001) ivtnum ! 535: go to 3821 ! 536: 23810 ivfail = ivfail + 1 ! 537: ivcorr = 32766 ! 538: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 539: 3821 continue ! 540: ivtnum = 382 ! 541: c ! 542: c **** test 382 **** ! 543: c ! 544: if (iczero) 33820, 3820, 33820 ! 545: 3820 continue ! 546: ivcomp = 3*53*157 ! 547: go to 43820 ! 548: 33820 ivdele = ivdele + 1 ! 549: write (i02,80003) ivtnum ! 550: if (iczero) 43820, 3831, 43820 ! 551: 43820 if (ivcomp-24963) 23820,13820,23820 ! 552: 13820 ivpass = ivpass + 1 ! 553: write (i02,80001) ivtnum ! 554: go to 3831 ! 555: 23820 ivfail = ivfail + 1 ! 556: ivcorr = 24963 ! 557: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 558: c ! 559: c test 383 through test 386 ! 560: c three positive integer constants grouped with parens. ! 561: c ! 562: 3831 continue ! 563: ivtnum = 383 ! 564: c ! 565: c **** test 383 **** ! 566: c ! 567: if (iczero) 33830, 3830, 33830 ! 568: 3830 continue ! 569: ivcomp = (2*3)*4 ! 570: go to 43830 ! 571: 33830 ivdele = ivdele + 1 ! 572: write (i02,80003) ivtnum ! 573: if (iczero) 43830, 3841, 43830 ! 574: 43830 if (ivcomp-24) 23830,13830,23830 ! 575: 13830 ivpass = ivpass + 1 ! 576: write (i02,80001) ivtnum ! 577: go to 3841 ! 578: 23830 ivfail = ivfail + 1 ! 579: ivcorr = 24 ! 580: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 581: 3841 continue ! 582: ivtnum = 384 ! 583: c ! 584: c **** test 384 **** ! 585: c ! 586: if (iczero) 33840, 3840, 33840 ! 587: 3840 continue ! 588: ivcomp = 2*(3*4) ! 589: go to 43840 ! 590: 33840 ivdele = ivdele + 1 ! 591: write (i02,80003) ivtnum ! 592: if (iczero) 43840, 3851, 43840 ! 593: 43840 if (ivcomp-24) 23840,13840,23840 ! 594: 13840 ivpass = ivpass + 1 ! 595: write (i02,80001) ivtnum ! 596: go to 3851 ! 597: 23840 ivfail = ivfail + 1 ! 598: ivcorr = 24 ! 599: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 600: 3851 continue ! 601: ivtnum = 385 ! 602: c ! 603: c **** test 385 **** ! 604: c ! 605: if (iczero) 33850, 3850, 33850 ! 606: 3850 continue ! 607: ivcomp = (3*(+53)) * (+157) ! 608: go to 43850 ! 609: 33850 ivdele = ivdele + 1 ! 610: write (i02,80003) ivtnum ! 611: if (iczero) 43850, 3861, 43850 ! 612: 43850 if (ivcomp-24963) 23850,13850,23850 ! 613: 13850 ivpass = ivpass + 1 ! 614: write (i02,80001) ivtnum ! 615: go to 3861 ! 616: 23850 ivfail = ivfail + 1 ! 617: ivcorr = 24963 ! 618: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 619: 3861 continue ! 620: ivtnum = 386 ! 621: c ! 622: c **** test 386 **** ! 623: c ! 624: if (iczero) 33860, 3860, 33860 ! 625: 3860 continue ! 626: ivcomp = 3 *((+53)*157) ! 627: go to 43860 ! 628: 33860 ivdele = ivdele + 1 ! 629: write (i02,80003) ivtnum ! 630: if (iczero) 43860, 3871, 43860 ! 631: 43860 if (ivcomp-24963) 23860,13860,23860 ! 632: 13860 ivpass = ivpass + 1 ! 633: write (i02,80001) ivtnum ! 634: go to 3871 ! 635: 23860 ivfail = ivfail + 1 ! 636: ivcorr=24963 ! 637: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 638: c ! 639: c test 387 through test 391 ! 640: c both positive and negative constants in arithmetic expression. ! 641: c ! 642: 3871 continue ! 643: ivtnum = 387 ! 644: c ! 645: c **** test 387 **** ! 646: c ! 647: if (iczero) 33870, 3870, 33870 ! 648: 3870 continue ! 649: ivcomp = 2*3*(-4) ! 650: go to 43870 ! 651: 33870 ivdele = ivdele + 1 ! 652: write (i02,80003) ivtnum ! 653: if (iczero) 43870, 3881, 43870 ! 654: 43870 if (ivcomp + 24) 23870,13870,23870 ! 655: 13870 ivpass = ivpass + 1 ! 656: write (i02,80001) ivtnum ! 657: go to 3881 ! 658: 23870 ivfail = ivfail + 1 ! 659: ivcorr = -24 ! 660: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 661: 3881 continue ! 662: ivtnum = 388 ! 663: c ! 664: c **** test 388 **** ! 665: c ! 666: if (iczero) 33880, 3880, 33880 ! 667: 3880 continue ! 668: ivcomp = 2*(-3)*(+4) ! 669: go to 43880 ! 670: 33880 ivdele = ivdele + 1 ! 671: write (i02,80003) ivtnum ! 672: if (iczero) 43880, 3891, 43880 ! 673: 43880 if (ivcomp + 24) 23880,13880,23880 ! 674: 13880 ivpass = ivpass + 1 ! 675: write (i02,80001) ivtnum ! 676: go to 3891 ! 677: 23880 ivfail = ivfail + 1 ! 678: ivcorr = -24 ! 679: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 680: 3891 continue ! 681: ivtnum = 389 ! 682: c ! 683: c **** test 389 **** ! 684: c ! 685: if (iczero) 33890, 3890, 33890 ! 686: 3890 continue ! 687: ivcomp = (-2)*3*4 ! 688: go to 43890 ! 689: 33890 ivdele = ivdele + 1 ! 690: write (i02,80003) ivtnum ! 691: if (iczero) 43890, 3901, 43890 ! 692: 43890 if (ivcomp+24) 23890,13890,23890 ! 693: 13890 ivpass = ivpass + 1 ! 694: write (i02,80001) ivtnum ! 695: go to 3901 ! 696: 23890 ivfail = ivfail + 1 ! 697: ivcorr = -24 ! 698: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 699: 3901 continue ! 700: ivtnum = 390 ! 701: c ! 702: c **** test 390 **** ! 703: c ! 704: if (iczero) 33900, 3900, 33900 ! 705: 3900 continue ! 706: ivcomp = -2*3*4 ! 707: go to 43900 ! 708: 33900 ivdele = ivdele + 1 ! 709: write (i02,80003) ivtnum ! 710: if (iczero) 43900, 3911, 43900 ! 711: 43900 if (ivcomp+24) 23900,13900,23900 ! 712: 13900 ivpass = ivpass + 1 ! 713: write (i02,80001) ivtnum ! 714: go to 3911 ! 715: 23900 ivfail = ivfail + 1 ! 716: ivcorr = -24 ! 717: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 718: 3911 continue ! 719: ivtnum = 391 ! 720: c ! 721: c **** test 391 **** ! 722: c ! 723: if (iczero) 33910, 3910, 33910 ! 724: 3910 continue ! 725: ivcomp = +2 * (-3) * (-4) ! 726: go to 43910 ! 727: 33910 ivdele = ivdele + 1 ! 728: write (i02,80003) ivtnum ! 729: if (iczero) 43910, 3921, 43910 ! 730: 43910 if (ivcomp - 24) 23910,13910,23910 ! 731: 13910 ivpass = ivpass + 1 ! 732: write (i02,80001) ivtnum ! 733: go to 3921 ! 734: 23910 ivfail = ivfail + 1 ! 735: ivcorr = 24 ! 736: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 737: c ! 738: c test 392 through test 394 ! 739: c all constants are negative. ! 740: c ! 741: 3921 continue ! 742: ivtnum = 392 ! 743: c ! 744: c **** test 392 **** ! 745: c ! 746: if (iczero) 33920, 3920, 33920 ! 747: 3920 continue ! 748: ivcomp = (-2)*(-3)*(-4) ! 749: go to 43920 ! 750: 33920 ivdele = ivdele + 1 ! 751: write (i02,80003) ivtnum ! 752: if (iczero) 43920, 3931, 43920 ! 753: 43920 if (ivcomp+24) 23920,13920,23920 ! 754: 13920 ivpass = ivpass + 1 ! 755: write (i02,80001) ivtnum ! 756: go to 3931 ! 757: 23920 ivfail = ivfail + 1 ! 758: ivcorr = -24 ! 759: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 760: 3931 continue ! 761: ivtnum = 393 ! 762: c ! 763: c **** test 393 **** ! 764: c ! 765: if (iczero) 33930, 3930, 33930 ! 766: 3930 continue ! 767: ivcomp = (-23)*(-51)*(-13) ! 768: go to 43930 ! 769: 33930 ivdele = ivdele + 1 ! 770: write (i02,80003) ivtnum ! 771: if (iczero) 43930, 3941, 43930 ! 772: 43930 if (ivcomp + 15249) 23930,13930,23930 ! 773: 13930 ivpass = ivpass + 1 ! 774: write (i02,80001) ivtnum ! 775: go to 3941 ! 776: 23930 ivfail = ivfail + 1 ! 777: ivcorr = -15249 ! 778: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 779: 3941 continue ! 780: ivtnum = 394 ! 781: c ! 782: c **** test 394 **** ! 783: c ! 784: if (iczero) 33940, 3940, 33940 ! 785: 3940 continue ! 786: ivcomp = -3 * (-53)*( -157) ! 787: go to 43940 ! 788: 33940 ivdele = ivdele + 1 ! 789: write (i02,80003) ivtnum ! 790: if (iczero) 43940, 3951, 43940 ! 791: 43940 if (ivcomp +24963) 23940,13940,23940 ! 792: 13940 ivpass = ivpass + 1 ! 793: write (i02,80001) ivtnum ! 794: go to 3951 ! 795: 23940 ivfail = ivfail + 1 ! 796: ivcorr = -24963 ! 797: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 798: c **** end of tests **** ! 799: 3951 continue ! 800: c ! 801: c write page footings and run summaries ! 802: 99999 continue ! 803: write (i02,90002) ! 804: write (i02,90006) ! 805: write (i02,90002) ! 806: write (i02,90002) ! 807: write (i02,90007) ! 808: write (i02,90002) ! 809: write (i02,90008) ivfail ! 810: write (i02,90009) ivpass ! 811: write (i02,90010) ivdele ! 812: c ! 813: c ! 814: c terminate routine execution ! 815: stop ! 816: c ! 817: c format statements for page headers ! 818: 90000 format (1h1) ! 819: 90002 format (1h ) ! 820: 90001 format (1h ,10x,34hfortran compiler validation system) ! 821: 90003 format (1h ,21x,11hversion 1.0) ! 822: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 823: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 824: 90006 format (1h ,5x,46h----------------------------------------------) ! 825: 90011 format (1h ,18x,17hsubset level test) ! 826: c ! 827: c format statements for run summaries ! 828: 90008 format (1h ,15x,i5,19h errors encountered) ! 829: 90009 format (1h ,15x,i5,13h tests passed) ! 830: 90010 format (1h ,15x,i5,14h tests deleted) ! 831: c ! 832: c format statements for test results ! 833: 80001 format (1h ,4x,i5,7x,4hpass) ! 834: 80002 format (1h ,4x,i5,7x,4hfail) ! 835: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 836: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 837: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 838: c ! 839: 90007 format (1h ,20x,20hend of program fm033) ! 840: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.