|
|
1.1 ! root 1: c comment section. ! 2: c ! 3: c fm009 ! 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 +, integer constants and positive integer variables. ! 10: c some of the tests use parentheses to group elements in the ! 11: c arithmetic expression. ! 12: c ! 13: c there are tests where the arithmetic expression contains ! 14: c (1) two integer variables, ! 15: c (2) two integer variables and one integer constant, ! 16: c (3) two integer variables and one integer constant with ! 17: c parentheses to group elements. ! 18: c ! 19: c references ! 20: c american national standard programming language fortran, ! 21: c x3.9-1978 ! 22: c ! 23: c section 4.3, integer type ! 24: c section 4.3.1, integer constant ! 25: c section 6.1, arithmetic expressions ! 26: c section 10.1, arithmetic assignment statements ! 27: c ! 28: c ********************************************************** ! 29: c ! 30: c a compiler validation system for the fortran language ! 31: c based on specifications as defined in american national standard ! 32: c programming language fortran x3.9-1978, has been developed by the ! 33: c federal cobol compiler testing service. the fortran compiler ! 34: c validation system (fcvs) consists of audit routines, their related ! 35: c data, and an executive system. each audit routine is a fortran ! 36: c program, subprogram or function which includes tests of specific ! 37: c language elements and supporting procedures indicating the result ! 38: c of executing these tests. ! 39: c ! 40: c this particular program/subprogram/function contains features ! 41: c found only in the subset as defined in x3.9-1978. ! 42: c ! 43: c suggestions and comments should be forwarded to - ! 44: c ! 45: c department of the navy ! 46: c federal cobol compiler testing service ! 47: c washington, d.c. 20376 ! 48: c ! 49: c ********************************************************** ! 50: c ! 51: c ! 52: c ! 53: c initialization section ! 54: c ! 55: c initialize constants ! 56: c ************** ! 57: c i01 contains the logical unit number for the card reader. ! 58: i01 = 5 ! 59: c i02 contains the logical unit number for the printer. ! 60: i02 = 6 ! 61: c system environment section ! 62: c ! 63: cx010 this card is replaced by contents of fexec x-010 control card. ! 64: c the cx010 card is for overriding the program default i01 = 5 ! 65: c (unit number for card reader). ! 66: cx011 this card is replaced by contents of fexec x-011 control card. ! 67: c the cx011 card is for systems which require additional ! 68: c fortran statements for files associated with cx010 above. ! 69: c ! 70: cx020 this card is replaced by contents of fexec x-020 control card. ! 71: c the cx020 card is for overriding the program default i02 = 6 ! 72: c (unit number for printer). ! 73: cx021 this card is replaced by contents of fexec x-021 control card. ! 74: c the cx021 card is for systems which require additional ! 75: c fortran statements for files associated with cx020 above. ! 76: c ! 77: ivpass=0 ! 78: ivfail=0 ! 79: ivdele=0 ! 80: iczero=0 ! 81: c ! 82: c write page headers ! 83: write (i02,90000) ! 84: write (i02,90001) ! 85: write (i02,90002) ! 86: write (i02, 90002) ! 87: write (i02,90003) ! 88: write (i02,90002) ! 89: write (i02,90004) ! 90: write (i02,90002) ! 91: write (i02,90011) ! 92: write (i02,90002) ! 93: write (i02,90002) ! 94: write (i02,90005) ! 95: write (i02,90006) ! 96: write (i02,90002) ! 97: c ! 98: c test section ! 99: c ! 100: c arithmetic assignment statement ! 101: c ! 102: c test 235 through test 243 contain two positive integer variables ! 103: c and operator + in arithmetic expression. ! 104: c ! 105: 2351 continue ! 106: ivtnum = 235 ! 107: c ! 108: c **** test 235 **** ! 109: c ! 110: if (iczero) 32350, 2350, 32350 ! 111: 2350 continue ! 112: ivon01 = 2 ! 113: ivon02 = 3 ! 114: ivcomp = ivon01 + ivon02 ! 115: go to 42350 ! 116: 32350 ivdele = ivdele + 1 ! 117: write (i02,80003) ivtnum ! 118: if (iczero) 42350, 2361, 42350 ! 119: 42350 if (ivcomp - 5) 22350,12350,22350 ! 120: 12350 ivpass = ivpass + 1 ! 121: write (i02,80001) ivtnum ! 122: go to 2361 ! 123: 22350 ivfail = ivfail + 1 ! 124: ivcorr = 5 ! 125: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 126: 2361 continue ! 127: ivtnum = 236 ! 128: c ! 129: c **** test 236 **** ! 130: c ! 131: if (iczero) 32360, 2360, 32360 ! 132: 2360 continue ! 133: ivon01 = 2 ! 134: ivon02 = 3 ! 135: ivcomp = ivon02 + ivon01 ! 136: go to 42360 ! 137: 32360 ivdele = ivdele + 1 ! 138: write (i02,80003) ivtnum ! 139: if (iczero) 42360, 2371, 42360 ! 140: 42360 if (ivcomp - 5) 22360, 12360, 22360 ! 141: 12360 ivpass = ivpass + 1 ! 142: write (i02,80001) ivtnum ! 143: go to 2371 ! 144: 22360 ivfail = ivfail + 1 ! 145: ivcorr = 5 ! 146: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 147: 2371 continue ! 148: ivtnum = 237 ! 149: c ! 150: c **** test 237 **** ! 151: c ! 152: if (iczero) 32370, 2370, 32370 ! 153: 2370 continue ! 154: ivon01 = 51 ! 155: ivon02 = 52 ! 156: ivcomp = ivon01 + ivon02 ! 157: go to 42370 ! 158: 32370 ivdele = ivdele + 1 ! 159: write (i02,80003) ivtnum ! 160: if (iczero) 42370, 2381, 42370 ! 161: 42370 if (ivcomp - 103) 22370, 12370, 22370 ! 162: 12370 ivpass = ivpass + 1 ! 163: write (i02,80001) ivtnum ! 164: go to 2381 ! 165: 22370 ivfail = ivfail + 1 ! 166: ivcorr = 103 ! 167: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 168: 2381 continue ! 169: ivtnum = 238 ! 170: c ! 171: c **** test 238 **** ! 172: c ! 173: if (iczero) 32380, 2380, 32380 ! 174: 2380 continue ! 175: ivon01 = 189 ! 176: ivon02 = 676 ! 177: ivcomp = ivon01 + ivon02 ! 178: go to 42380 ! 179: 32380 ivdele = ivdele + 1 ! 180: write (i02,80003) ivtnum ! 181: if (iczero) 42380, 2391, 42380 ! 182: 42380 if (ivcomp - 865) 22380, 12380, 22380 ! 183: 12380 ivpass = ivpass + 1 ! 184: write (i02,80001) ivtnum ! 185: go to 2391 ! 186: 22380 ivfail = ivfail + 1 ! 187: ivcorr = 865 ! 188: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 189: 2391 continue ! 190: ivtnum = 239 ! 191: c ! 192: c **** test 239 **** ! 193: c ! 194: if (iczero) 32390, 2390, 32390 ! 195: 2390 continue ! 196: ivon01 = 1358 ! 197: ivon02 = 8001 ! 198: ivcomp = ivon01 + ivon02 ! 199: go to 42390 ! 200: 32390 ivdele = ivdele + 1 ! 201: write (i02,80003) ivtnum ! 202: if (iczero) 42390, 2401, 42390 ! 203: 42390 if (ivcomp - 9359) 22390, 12390, 22390 ! 204: 12390 ivpass = ivpass + 1 ! 205: write (i02,80001) ivtnum ! 206: go to 2401 ! 207: 22390 ivfail = ivfail + 1 ! 208: ivcorr = 9359 ! 209: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 210: 2401 continue ! 211: ivtnum = 240 ! 212: c ! 213: c **** test 240 **** ! 214: c ! 215: if (iczero) 32400, 2400, 32400 ! 216: 2400 continue ! 217: ivon01 = 1358 ! 218: ivon02 = 8001 ! 219: ivcomp = ivon02 + ivon01 ! 220: go to 42400 ! 221: 32400 ivdele = ivdele + 1 ! 222: write (i02,80003) ivtnum ! 223: if (iczero) 42400, 2411, 42400 ! 224: 42400 if (ivcomp - 9359) 22400, 12400, 22400 ! 225: 12400 ivpass = ivpass + 1 ! 226: write (i02,80001) ivtnum ! 227: go to 2411 ! 228: 22400 ivfail = ivfail + 1 ! 229: ivcorr = 9359 ! 230: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 231: 2411 continue ! 232: ivtnum = 241 ! 233: c ! 234: c **** test 241 **** ! 235: c ! 236: if (iczero) 32410, 2410, 32410 ! 237: 2410 continue ! 238: ivon01 = 11112 ! 239: ivon02 = 10001 ! 240: ivcomp = ivon01 + ivon02 ! 241: go to 42410 ! 242: 32410 ivdele = ivdele + 1 ! 243: write (i02,80003) ivtnum ! 244: if (iczero) 42410, 2421, 42410 ! 245: 42410 if (ivcomp - 21113) 22410, 12410, 22410 ! 246: 12410 ivpass = ivpass + 1 ! 247: write (i02,80001) ivtnum ! 248: go to 2421 ! 249: 22410 ivfail = ivfail + 1 ! 250: ivcorr = 21113 ! 251: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 252: 2421 continue ! 253: ivtnum = 242 ! 254: c ! 255: c **** test 242 **** ! 256: c ! 257: if (iczero) 32420, 2420, 32420 ! 258: 2420 continue ! 259: ivon01 = 189 ! 260: ivon02 = 9876 ! 261: ivcomp = ivon01 + ivon02 ! 262: go to 42420 ! 263: 32420 ivdele = ivdele + 1 ! 264: write (i02,80003) ivtnum ! 265: if (iczero) 42420, 2431, 42420 ! 266: 42420 if (ivcomp - 10065) 22420, 12420, 22420 ! 267: 12420 ivpass = ivpass + 1 ! 268: write (i02,80001) ivtnum ! 269: go to 2431 ! 270: 22420 ivfail = ivfail + 1 ! 271: ivcorr = 10065 ! 272: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 273: 2431 continue ! 274: ivtnum = 243 ! 275: c ! 276: c **** test 243 **** ! 277: c requires 32767 ! 278: c ! 279: if (iczero) 32430, 2430, 32430 ! 280: 2430 continue ! 281: ivon01 = 16383 ! 282: ivon02 = 16384 ! 283: ivcomp = ivon01 + ivon02 ! 284: go to 42430 ! 285: 32430 ivdele = ivdele + 1 ! 286: write (i02,80003) ivtnum ! 287: if (iczero) 42430, 2441, 42430 ! 288: 42430 if (ivcomp - 32767) 22430, 12430, 22430 ! 289: 12430 ivpass = ivpass + 1 ! 290: write (i02,80001) ivtnum ! 291: go to 2441 ! 292: 22430 ivfail = ivfail + 1 ! 293: ivcorr = 32767 ! 294: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 295: c ! 296: c test 244 through test 250 contain two positive integer variables, ! 297: c one integer constant, and operator + in arithmetic expression. ! 298: c ! 299: 2441 continue ! 300: ivtnum = 244 ! 301: c ! 302: c **** test 244 **** ! 303: c ! 304: if (iczero) 32440, 2440, 32440 ! 305: 2440 continue ! 306: ivon01 = 2 ! 307: ivon02 = 3 ! 308: ivcomp = ivon01 + ivon02 + 4 ! 309: go to 42440 ! 310: 32440 ivdele = ivdele + 1 ! 311: write (i02,80003) ivtnum ! 312: if (iczero) 42440, 2451, 42440 ! 313: 42440 if (ivcomp - 9) 22440, 12440, 22440 ! 314: 12440 ivpass = ivpass + 1 ! 315: write (i02,80001) ivtnum ! 316: go to 2451 ! 317: 22440 ivfail = ivfail + 1 ! 318: ivcorr = 9 ! 319: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 320: 2451 continue ! 321: ivtnum = 245 ! 322: c ! 323: c **** test 245 **** ! 324: c ! 325: if (iczero) 32450, 2450, 32450 ! 326: 2450 continue ! 327: ivon01 = 2 ! 328: ivon03 = 4 ! 329: ivcomp = ivon01 +3 + ivon03 ! 330: go to 42450 ! 331: 32450 ivdele = ivdele + 1 ! 332: write (i02,80003) ivtnum ! 333: if (iczero) 42450, 2461, 42450 ! 334: 42450 if (ivcomp - 9) 22450, 12450, 22450 ! 335: 12450 ivpass = ivpass + 1 ! 336: write (i02,80001) ivtnum ! 337: go to 2461 ! 338: 22450 ivfail = ivfail + 1 ! 339: ivcorr = 9 ! 340: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 341: 2461 continue ! 342: ivtnum = 246 ! 343: c ! 344: c **** test 246 **** ! 345: c ! 346: if (iczero) 32460, 2460, 32460 ! 347: 2460 continue ! 348: ivon02 = 3 ! 349: ivon03 = 4 ! 350: ivcomp = 2 + ivon02 + ivon03 ! 351: go to 42460 ! 352: 32460 ivdele = ivdele + 1 ! 353: write (i02,80003) ivtnum ! 354: if (iczero) 42460, 2471, 42460 ! 355: 42460 if (ivcomp - 9) 22460, 12460, 22460 ! 356: 12460 ivpass = ivpass + 1 ! 357: write (i02,80001) ivtnum ! 358: go to 2471 ! 359: 22460 ivfail = ivfail + 1 ! 360: ivcorr = 9 ! 361: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 362: 2471 continue ! 363: ivtnum = 247 ! 364: c ! 365: c **** test 247 **** ! 366: c ! 367: if (iczero) 32470, 2470, 32470 ! 368: 2470 continue ! 369: ivon01 = 51 ! 370: ivon03 = 53 ! 371: ivcomp = ivon01 +52 + ivon03 ! 372: go to 42470 ! 373: 32470 ivdele = ivdele + 1 ! 374: write (i02,80003) ivtnum ! 375: if (iczero) 42470, 2481, 42470 ! 376: 42470 if (ivcomp - 156) 22470, 12470, 22470 ! 377: 12470 ivpass = ivpass + 1 ! 378: write (i02,80001) ivtnum ! 379: go to 2481 ! 380: 22470 ivfail = ivfail + 1 ! 381: ivcorr = 156 ! 382: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 383: 2481 continue ! 384: ivtnum = 248 ! 385: c ! 386: c **** test 248 **** ! 387: c ! 388: if (iczero) 32480, 2480, 32480 ! 389: 2480 continue ! 390: ivon02 = 676 ! 391: ivon03 = 101 ! 392: ivcomp = 189 + ivon02 + ivon03 ! 393: go to 42480 ! 394: 32480 ivdele = ivdele + 1 ! 395: write (i02,80003) ivtnum ! 396: if (iczero) 42480, 2491, 42480 ! 397: 42480 if (ivcomp - 966) 22480, 12480, 22480 ! 398: 12480 ivpass = ivpass + 1 ! 399: write (i02,80001) ivtnum ! 400: go to 2491 ! 401: 22480 ivfail = ivfail + 1 ! 402: ivcorr = 966 ! 403: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 404: 2491 continue ! 405: ivtnum = 249 ! 406: c ! 407: c **** test 249 **** ! 408: c ! 409: if (iczero) 32490, 2490, 32490 ! 410: 2490 continue ! 411: ivon01 = 1358 ! 412: ivon02 = 8001 ! 413: ivcomp = ivon01 + ivon02 + 2189 ! 414: go to 42490 ! 415: 32490 ivdele = ivdele + 1 ! 416: write (i02,80003) ivtnum ! 417: if (iczero) 42490, 2501, 42490 ! 418: 42490 if (ivcomp - 11548) 22490, 12490, 22490 ! 419: 12490 ivpass = ivpass + 1 ! 420: write (i02,80001) ivtnum ! 421: go to 2501 ! 422: 22490 ivfail = ivfail + 1 ! 423: ivcorr = 11548 ! 424: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 425: 2501 continue ! 426: ivtnum = 250 ! 427: c ! 428: c **** test 250 **** ! 429: c requires 32767 ! 430: c ! 431: if (iczero) 32500, 2500, 32500 ! 432: 2500 continue ! 433: ivon01 = 16383 ! 434: ivon03 = 4 ! 435: ivcomp = ivon01 + 16380 + ivon03 ! 436: go to 42500 ! 437: 32500 ivdele = ivdele + 1 ! 438: write (i02,80003) ivtnum ! 439: if (iczero) 42500, 2511, 42500 ! 440: 42500 if (ivcomp - 32767) 22500,12500,22500 ! 441: 12500 ivpass = ivpass + 1 ! 442: write (i02,80001) ivtnum ! 443: go to 2511 ! 444: 22500 ivfail = ivfail + 1 ! 445: ivcorr = 32767 ! 446: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 447: c ! 448: c test 251 through test 264 contain two positive integer variables, ! 449: c one integer constant, and operator + in arithmetic expression. ! 450: c parentheses are used to group elements. the results are the same ! 451: c as tests 244 through 250. ! 452: c ! 453: 2511 continue ! 454: ivtnum = 251 ! 455: c ! 456: c **** test 251 **** ! 457: c ! 458: if (iczero) 32510, 2510, 32510 ! 459: 2510 continue ! 460: ivon01 = 2 ! 461: ivon02 = 3 ! 462: ivcomp = (ivon01 + ivon02) + 4 ! 463: go to 42510 ! 464: 32510 ivdele = ivdele + 1 ! 465: write (i02,80003) ivtnum ! 466: if (iczero) 42510, 2521, 42510 ! 467: 42510 if (ivcomp - 9) 22510,12510,22510 ! 468: 12510 ivpass = ivpass + 1 ! 469: write (i02,80001) ivtnum ! 470: go to 2521 ! 471: 22510 ivfail = ivfail + 1 ! 472: ivcorr = 9 ! 473: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 474: 2521 continue ! 475: ivtnum = 252 ! 476: c ! 477: c **** test 252 **** ! 478: c ! 479: if (iczero) 32520, 2520, 32520 ! 480: 2520 continue ! 481: ivon02 = 3 ! 482: ivon03 = 4 ! 483: ivcomp = 2 + (ivon02 + ivon03) ! 484: go to 42520 ! 485: 32520 ivdele = ivdele + 1 ! 486: write (i02,80003) ivtnum ! 487: if (iczero) 42520, 2531, 42520 ! 488: 42520 if (ivcomp - 9) 22520,12520,22520 ! 489: 12520 ivpass = ivpass + 1 ! 490: write (i02,80001) ivtnum ! 491: go to 2531 ! 492: 22520 ivfail = ivfail + 1 ! 493: ivcorr = 9 ! 494: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 495: 2531 continue ! 496: ivtnum = 253 ! 497: c ! 498: c **** test 253 **** ! 499: c ! 500: if (iczero) 32530, 2530, 32530 ! 501: 2530 continue ! 502: ivon02 =3 ! 503: ivon03 =4 ! 504: ivcomp = (2+ivon02)+ivon03 ! 505: go to 42530 ! 506: 32530 ivdele = ivdele + 1 ! 507: write (i02,80003) ivtnum ! 508: if (iczero) 42530, 2541, 42530 ! 509: 42530 if (ivcomp -9) 22530,12530,22530 ! 510: 12530 ivpass = ivpass + 1 ! 511: write (i02,80001) ivtnum ! 512: go to 2541 ! 513: 22530 ivfail = ivfail + 1 ! 514: ivcorr =9 ! 515: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 516: 2541 continue ! 517: ivtnum = 254 ! 518: c ! 519: c **** test 254 **** ! 520: c ! 521: if (iczero) 32540, 2540, 32540 ! 522: 2540 continue ! 523: ivon01 = 2 ! 524: ivon02 = 3 ! 525: ivcomp = ivon01 + (ivon02 + 4) ! 526: go to 42540 ! 527: 32540 ivdele = ivdele + 1 ! 528: write (i02,80003) ivtnum ! 529: if (iczero) 42540, 2551, 42540 ! 530: 42540 if (ivcomp-9)22540,12540,22540 ! 531: 12540 ivpass = ivpass + 1 ! 532: write (i02,80001) ivtnum ! 533: go to 2551 ! 534: 22540 ivfail = ivfail + 1 ! 535: ivcorr=9 ! 536: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 537: 2551 continue ! 538: ivtnum = 255 ! 539: c ! 540: c **** test 255 **** ! 541: c ! 542: if (iczero) 32550, 2550, 32550 ! 543: 2550 continue ! 544: ivon01 = 2 ! 545: ivon03 = 4 ! 546: ivcomp = ivon01 +(3+ivon03) ! 547: go to 42550 ! 548: 32550 ivdele = ivdele + 1 ! 549: write (i02,80003) ivtnum ! 550: if (iczero) 42550, 2561, 42550 ! 551: 42550 if (ivcomp-9)22550,12550,22550 ! 552: 12550 ivpass = ivpass + 1 ! 553: write (i02,80001) ivtnum ! 554: go to 2561 ! 555: 22550 ivfail = ivfail + 1 ! 556: ivcorr =9 ! 557: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 558: 2561 continue ! 559: ivtnum = 256 ! 560: c ! 561: c **** test 256 **** ! 562: c ! 563: if (iczero) 32560, 2560, 32560 ! 564: 2560 continue ! 565: ivon01 = 2 ! 566: ivon03 = 4 ! 567: ivcomp =(ivon01+3)+ivon03 ! 568: go to 42560 ! 569: 32560 ivdele = ivdele + 1 ! 570: write (i02,80003) ivtnum ! 571: if (iczero) 42560, 2571, 42560 ! 572: 42560 if (ivcomp-9) 22560,12560,22560 ! 573: 12560 ivpass = ivpass + 1 ! 574: write (i02,80001) ivtnum ! 575: go to 2571 ! 576: 22560 ivfail = ivfail + 1 ! 577: ivcorr =9 ! 578: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 579: 2571 continue ! 580: ivtnum = 257 ! 581: c ! 582: c **** test 257 **** ! 583: c ! 584: if (iczero) 32570, 2570, 32570 ! 585: 2570 continue ! 586: ivon01 = 51 ! 587: ivon03 = 53 ! 588: ivcomp=ivon01+(52+ivon03) ! 589: go to 42570 ! 590: 32570 ivdele = ivdele + 1 ! 591: write (i02,80003) ivtnum ! 592: if (iczero) 42570, 2581, 42570 ! 593: 42570 if (ivcomp -156) 22570,12570,22570 ! 594: 12570 ivpass = ivpass + 1 ! 595: write (i02,80001) ivtnum ! 596: go to 2581 ! 597: 22570 ivfail = ivfail + 1 ! 598: ivcorr = 156 ! 599: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 600: 2581 continue ! 601: ivtnum = 258 ! 602: c ! 603: c **** test 258 **** ! 604: c ! 605: if (iczero) 32580, 2580, 32580 ! 606: 2580 continue ! 607: ivon01 = 51 ! 608: ivon03 = 53 ! 609: ivcomp =(ivon01+52)+ivon03 ! 610: go to 42580 ! 611: 32580 ivdele = ivdele + 1 ! 612: write (i02,80003) ivtnum ! 613: if (iczero) 42580, 2591, 42580 ! 614: 42580 if (ivcomp-156) 22580,12580,22580 ! 615: 12580 ivpass = ivpass + 1 ! 616: write (i02,80001) ivtnum ! 617: go to 2591 ! 618: 22580 ivfail = ivfail + 1 ! 619: ivcorr = 156 ! 620: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 621: 2591 continue ! 622: ivtnum = 259 ! 623: c ! 624: c **** test 259 **** ! 625: c ! 626: if (iczero) 32590, 2590, 32590 ! 627: 2590 continue ! 628: ivon02 = 676 ! 629: ivon03 = 101 ! 630: ivcomp = 189+(ivon02+ivon03) ! 631: go to 42590 ! 632: 32590 ivdele = ivdele + 1 ! 633: write (i02,80003) ivtnum ! 634: if (iczero) 42590, 2601, 42590 ! 635: 42590 if (ivcomp -966) 22590,12590,22590 ! 636: 12590 ivpass = ivpass + 1 ! 637: write (i02,80001) ivtnum ! 638: go to 2601 ! 639: 22590 ivfail = ivfail + 1 ! 640: ivcorr =966 ! 641: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 642: 2601 continue ! 643: ivtnum = 260 ! 644: c ! 645: c **** test 260 **** ! 646: c ! 647: if (iczero) 32600, 2600, 32600 ! 648: 2600 continue ! 649: ivon02 = 676 ! 650: ivon03 = 101 ! 651: ivcomp = (189 + ivon02) + ivon03 ! 652: go to 42600 ! 653: 32600 ivdele = ivdele + 1 ! 654: write (i02,80003) ivtnum ! 655: if (iczero) 42600, 2611, 42600 ! 656: 42600 if (ivcomp-966) 22600,12600,22600 ! 657: 12600 ivpass = ivpass + 1 ! 658: write (i02,80001) ivtnum ! 659: go to 2611 ! 660: 22600 ivfail = ivfail + 1 ! 661: ivcorr=966 ! 662: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 663: 2611 continue ! 664: ivtnum = 261 ! 665: c ! 666: c **** test 261 **** ! 667: c ! 668: if (iczero) 32610, 2610, 32610 ! 669: 2610 continue ! 670: ivon01 = 1358 ! 671: ivon02 = 8001 ! 672: ivcomp = ivon01 + (ivon02 + 2189) ! 673: go to 42610 ! 674: 32610 ivdele = ivdele + 1 ! 675: write (i02,80003) ivtnum ! 676: if (iczero) 42610, 2621, 42610 ! 677: 42610 if (ivcomp-11548) 22610,12610,22610 ! 678: 12610 ivpass = ivpass + 1 ! 679: write (i02,80001) ivtnum ! 680: go to 2621 ! 681: 22610 ivfail = ivfail + 1 ! 682: ivcorr=11548 ! 683: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 684: 2621 continue ! 685: ivtnum = 262 ! 686: c ! 687: c **** test 262 **** ! 688: c ! 689: if (iczero) 32620, 2620, 32620 ! 690: 2620 continue ! 691: ivon01 = 1358 ! 692: ivon02 = 8001 ! 693: ivcomp =(ivon01+ivon02)+2189 ! 694: go to 42620 ! 695: 32620 ivdele = ivdele + 1 ! 696: write (i02,80003) ivtnum ! 697: if (iczero) 42620, 2631, 42620 ! 698: 42620 if (ivcomp-11548) 22620,12620,22620 ! 699: 12620 ivpass = ivpass + 1 ! 700: write (i02,80001) ivtnum ! 701: go to 2631 ! 702: 22620 ivfail = ivfail + 1 ! 703: ivcorr=11548 ! 704: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 705: 2631 continue ! 706: ivtnum = 263 ! 707: c ! 708: c **** test 263 **** ! 709: c requires 32767 ! 710: c ! 711: if (iczero) 32630, 2630, 32630 ! 712: 2630 continue ! 713: ivon01 = 16383 ! 714: ivon03 = 16380 ! 715: ivcomp = ivon01 + (4+ivon03) ! 716: go to 42630 ! 717: 32630 ivdele = ivdele + 1 ! 718: write (i02,80003) ivtnum ! 719: if (iczero) 42630, 2641, 42630 ! 720: 42630 if (ivcomp-32767) 22630,12630,22630 ! 721: 12630 ivpass = ivpass + 1 ! 722: write (i02,80001) ivtnum ! 723: go to 2641 ! 724: 22630 ivfail = ivfail + 1 ! 725: ivcorr =32767 ! 726: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 727: 2641 continue ! 728: ivtnum = 264 ! 729: c ! 730: c **** test 264 **** ! 731: c requires 32767 ! 732: c ! 733: if (iczero) 32640, 2640, 32640 ! 734: 2640 continue ! 735: ivon01 = 16383 ! 736: ivon02 = 16380 ! 737: ivcomp = (ivon01+ivon02) +4 ! 738: go to 42640 ! 739: 32640 ivdele = ivdele + 1 ! 740: write (i02,80003) ivtnum ! 741: if (iczero) 42640, 2651, 42640 ! 742: 42640 if (ivcomp - 32767) 22640,12640,22640 ! 743: 12640 ivpass = ivpass + 1 ! 744: write (i02,80001) ivtnum ! 745: go to 2651 ! 746: 22640 ivfail = ivfail + 1 ! 747: ivcorr = 32767 ! 748: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 749: 2651 continue ! 750: c ! 751: c write page footings and run summaries ! 752: 99999 continue ! 753: write (i02,90002) ! 754: write (i02,90006) ! 755: write (i02,90002) ! 756: write (i02,90002) ! 757: write (i02,90007) ! 758: write (i02,90002) ! 759: write (i02,90008) ivfail ! 760: write (i02,90009) ivpass ! 761: write (i02,90010) ivdele ! 762: c ! 763: c ! 764: c terminate routine execution ! 765: stop ! 766: c ! 767: c format statements for page headers ! 768: 90000 format (1h1) ! 769: 90002 format (1h ) ! 770: 90001 format (1h ,10x,34hfortran compiler validation system) ! 771: 90003 format (1h ,21x,11hversion 1.0) ! 772: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 773: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 774: 90006 format (1h ,5x,46h----------------------------------------------) ! 775: 90011 format (1h ,18x,17hsubset level test) ! 776: c ! 777: c format statements for run summaries ! 778: 90008 format (1h ,15x,i5,19h errors encountered) ! 779: 90009 format (1h ,15x,i5,13h tests passed) ! 780: 90010 format (1h ,15x,i5,14h tests deleted) ! 781: c ! 782: c format statements for test results ! 783: 80001 format (1h ,4x,i5,7x,4hpass) ! 784: 80002 format (1h ,4x,i5,7x,4hfail) ! 785: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 786: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 787: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 788: c ! 789: 90007 format (1h ,20x,20hend of program fm009) ! 790: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.