|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm006 ! 4: c ! 5: c this routine tests arithmetic assignment statements of ! 6: c the form ! 7: c integer variable = integer constant ! 8: c integer variable = integer variable ! 9: c the integer constant may be unsigned, positive or negative. ! 10: c ! 11: c an integer datum is always an exact representation of an ! 12: c integer value. it may assume positive, negative and zero values. ! 13: c it may only assume integral values. ! 14: c ! 15: c an integer constant is written as a nonempty string of digits. ! 16: c the constant is the digit string interpreted as a decimal number. ! 17: c ! 18: c this routine also contains tests which check on the use of ! 19: c at least 16 bits for representing integer data values. the ! 20: c constant values 32767 and -32766 are used in these tests. ! 21: c ! 22: c references ! 23: c american national standard programming language fortran, ! 24: c x3.9-1978 ! 25: c ! 26: c section 4.3, integer type ! 27: c section 4.3.1, integer constant ! 28: c section 10.1, arithmetic assignment statements ! 29: c ! 30: c ! 31: c ********************************************************** ! 32: c ! 33: c a compiler validation system for the fortran language ! 34: c based on specifications as defined in american national standard ! 35: c programming language fortran x3.9-1978, has been developed by the ! 36: c federal cobol compiler testing service. the fortran compiler ! 37: c validation system (fcvs) consists of audit routines, their related ! 38: c data, and an executive system. each audit routine is a fortran ! 39: c program, subprogram or function which includes tests of specific ! 40: c language elements and supporting procedures indicating the result ! 41: c of executing these tests. ! 42: c ! 43: c this particular program/subprogram/function contains features ! 44: c found only in the subset as defined in x3.9-1978. ! 45: c ! 46: c suggestions and comments should be forwarded to - ! 47: c ! 48: c department of the navy ! 49: c federal cobol compiler testing service ! 50: c washington, d.c. 20376 ! 51: c ! 52: c ********************************************************** ! 53: c ! 54: c ! 55: c ! 56: c initialization section ! 57: c ! 58: c initialize constants ! 59: c ************** ! 60: c i01 contains the logical unit number for the card reader. ! 61: i01 = 5 ! 62: c i02 contains the logical unit number for the printer. ! 63: i02 = 6 ! 64: c system environment section ! 65: c ! 66: cx010 this card is replaced by contents of fexec x-010 control card. ! 67: c the cx010 card is for overriding the program default i01 = 5 ! 68: c (unit number for card reader). ! 69: cx011 this card is replaced by contents of fexec x-011 control card. ! 70: c the cx011 card is for systems which require additional ! 71: c fortran statements for files associated with cx010 above. ! 72: c ! 73: cx020 this card is replaced by contents of fexec x-020 control card. ! 74: c the cx020 card is for overriding the program default i02 = 6 ! 75: c (unit number for printer). ! 76: cx021 this card is replaced by contents of fexec x-021 control card. ! 77: c the cx021 card is for systems which require additional ! 78: c fortran statements for files associated with cx020 above. ! 79: c ! 80: ivpass=0 ! 81: ivfail=0 ! 82: ivdele=0 ! 83: iczero=0 ! 84: c ! 85: c write page headers ! 86: write (i02,90000) ! 87: write (i02,90001) ! 88: write (i02,90002) ! 89: write (i02, 90002) ! 90: write (i02,90003) ! 91: write (i02,90002) ! 92: write (i02,90004) ! 93: write (i02,90002) ! 94: write (i02,90011) ! 95: write (i02,90002) ! 96: write (i02,90002) ! 97: write (i02,90005) ! 98: write (i02,90006) ! 99: write (i02,90002) ! 100: c test section ! 101: c ! 102: c arithmetic assignment statement ! 103: c ! 104: c test 50 through test 61 contain statement of form ! 105: c integer variable = integer constant ! 106: c ! 107: c tests 50 through 53 contain unsigned integer constant. ! 108: c ! 109: 501 continue ! 110: ivtnum = 50 ! 111: c ! 112: c **** test 50 **** ! 113: c ! 114: if (iczero) 30500, 500, 30500 ! 115: 500 continue ! 116: ivcomp=3 ! 117: go to 40500 ! 118: 30500 ivdele = ivdele + 1 ! 119: write (i02,80003) ivtnum ! 120: if (iczero) 40500, 511, 40500 ! 121: 40500 if (ivcomp - 3) 20500, 10500, 20500 ! 122: 10500 ivpass = ivpass + 1 ! 123: write (i02,80001) ivtnum ! 124: go to 511 ! 125: 20500 ivfail = ivfail + 1 ! 126: ivcorr = 3 ! 127: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 128: 511 continue ! 129: ivtnum = 51 ! 130: c ! 131: c **** test 51 **** ! 132: c ! 133: if (iczero) 30510, 510, 30510 ! 134: 510 continue ! 135: ivcomp = 76 ! 136: go to 40510 ! 137: 30510 ivdele = ivdele + 1 ! 138: write (i02,80003) ivtnum ! 139: if (iczero) 40510, 521, 40510 ! 140: 40510 if (ivcomp - 76) 20510, 10510, 20510 ! 141: 10510 ivpass = ivpass + 1 ! 142: write (i02,80001) ivtnum ! 143: go to 521 ! 144: 20510 ivfail = ivfail + 1 ! 145: ivcorr = 76 ! 146: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 147: 521 continue ! 148: ivtnum = 52 ! 149: c ! 150: c **** test 52 **** ! 151: c ! 152: if (iczero) 30520, 520, 30520 ! 153: 520 continue ! 154: ivcomp = 587 ! 155: go to 40520 ! 156: 30520 ivdele = ivdele + 1 ! 157: write (i02,80003) ivtnum ! 158: if (iczero) 40520, 531, 40520 ! 159: 40520 if (ivcomp - 587) 20520, 10520, 20520 ! 160: 10520 ivpass = ivpass + 1 ! 161: write (i02,80001) ivtnum ! 162: go to 531 ! 163: 20520 ivfail = ivfail + 1 ! 164: ivcorr = 587 ! 165: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 166: 531 continue ! 167: ivtnum = 53 ! 168: c ! 169: c **** test 53 **** ! 170: c ! 171: if (iczero) 30530, 530, 30530 ! 172: 530 continue ! 173: ivcomp = 9999 ! 174: go to 40530 ! 175: 30530 ivdele = ivdele + 1 ! 176: write (i02,80003) ivtnum ! 177: if (iczero) 40530, 541, 40530 ! 178: 40530 if (ivcomp - 9999) 20530, 10530, 20530 ! 179: 10530 ivpass = ivpass + 1 ! 180: write (i02,80001) ivtnum ! 181: go to 541 ! 182: 20530 ivfail = ivfail + 1 ! 183: ivcorr = 9999 ! 184: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 185: c ! 186: c tests 54 through 57 contain positive signed integers ! 187: c ! 188: 541 continue ! 189: ivtnum = 54 ! 190: c ! 191: c **** test 54 **** ! 192: c ! 193: if (iczero) 30540, 540, 30540 ! 194: 540 continue ! 195: ivcomp = +3 ! 196: go to 40540 ! 197: 30540 ivdele = ivdele + 1 ! 198: write (i02,80003) ivtnum ! 199: if (iczero) 40540, 551, 40540 ! 200: 40540 if (ivcomp - 3) 20540, 10540, 20540 ! 201: 10540 ivpass = ivpass + 1 ! 202: write (i02,80001) ivtnum ! 203: go to 551 ! 204: 20540 ivfail = ivfail + 1 ! 205: ivcorr = 3 ! 206: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 207: 551 continue ! 208: ivtnum = 55 ! 209: c ! 210: c **** test 55 **** ! 211: c ! 212: if (iczero) 30550, 550, 30550 ! 213: 550 continue ! 214: ivcomp = +76 ! 215: go to 40550 ! 216: 30550 ivdele = ivdele + 1 ! 217: write (i02,80003) ivtnum ! 218: if (iczero) 40550, 561, 40550 ! 219: 40550 if (ivcomp - 76) 20550, 10550, 20550 ! 220: 10550 ivpass = ivpass + 1 ! 221: write (i02,80001) ivtnum ! 222: go to 561 ! 223: 20550 ivfail = ivfail + 1 ! 224: ivcorr = 76 ! 225: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 226: 561 continue ! 227: ivtnum = 56 ! 228: c ! 229: c **** test 56 **** ! 230: c ! 231: if (iczero) 30560, 560, 30560 ! 232: 560 continue ! 233: ivcomp = +587 ! 234: go to 40560 ! 235: 30560 ivdele = ivdele + 1 ! 236: write (i02,80003) ivtnum ! 237: if (iczero) 40560, 571, 40560 ! 238: 40560 if (ivcomp - 587) 20560, 10560, 20560 ! 239: 10560 ivpass = ivpass + 1 ! 240: write (i02,80001) ivtnum ! 241: go to 571 ! 242: 20560 ivfail = ivfail + 1 ! 243: ivcorr = 587 ! 244: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 245: 571 continue ! 246: ivtnum = 57 ! 247: c ! 248: c **** test 57 **** ! 249: c ! 250: if (iczero) 30570, 570, 30570 ! 251: 570 continue ! 252: ivcomp = +9999 ! 253: go to 40570 ! 254: 30570 ivdele = ivdele + 1 ! 255: write (i02,80003) ivtnum ! 256: if (iczero) 40570, 581, 40570 ! 257: 40570 if (ivcomp - 9999) 20570, 10570, 20570 ! 258: 10570 ivpass = ivpass + 1 ! 259: write (i02,80001) ivtnum ! 260: go to 581 ! 261: 20570 ivfail = ivfail + 1 ! 262: ivcorr = 9999 ! 263: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 264: c ! 265: c tests 58 through 61 contain signed negative integers ! 266: c ! 267: 581 continue ! 268: ivtnum = 58 ! 269: c ! 270: c **** test 58 **** ! 271: c ! 272: if (iczero) 30580, 580, 30580 ! 273: 580 continue ! 274: ivcomp = -3 ! 275: go to 40580 ! 276: 30580 ivdele = ivdele + 1 ! 277: write (i02,80003) ivtnum ! 278: if (iczero) 40580, 591, 40580 ! 279: 40580 if (ivcomp + 3) 20580, 10580, 20580 ! 280: 10580 ivpass = ivpass + 1 ! 281: write (i02,80001) ivtnum ! 282: go to 591 ! 283: 20580 ivfail = ivfail + 1 ! 284: ivcorr = -3 ! 285: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 286: 591 continue ! 287: ivtnum = 59 ! 288: c ! 289: c **** test 59 **** ! 290: c ! 291: if (iczero) 30590, 590, 30590 ! 292: 590 continue ! 293: ivcomp = -76 ! 294: go to 40590 ! 295: 30590 ivdele = ivdele + 1 ! 296: write (i02,80003) ivtnum ! 297: if (iczero) 40590, 601, 40590 ! 298: 40590 if (ivcomp + 76) 20590, 10590, 20590 ! 299: 10590 ivpass = ivpass + 1 ! 300: write (i02,80001) ivtnum ! 301: go to 601 ! 302: 20590 ivfail = ivfail + 1 ! 303: ivcorr = -76 ! 304: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 305: 601 continue ! 306: ivtnum = 60 ! 307: c ! 308: c **** test 60 **** ! 309: c ! 310: if (iczero) 30600, 600, 30600 ! 311: 600 continue ! 312: ivcomp = -587 ! 313: go to 40600 ! 314: 30600 ivdele = ivdele + 1 ! 315: write (i02,80003) ivtnum ! 316: if (iczero) 40600, 611, 40600 ! 317: 40600 if (ivcomp + 587) 20600,10600,20600 ! 318: 10600 ivpass = ivpass + 1 ! 319: write (i02,80001) ivtnum ! 320: go to 611 ! 321: 20600 ivfail = ivfail + 1 ! 322: ivcorr = -587 ! 323: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 324: 611 continue ! 325: ivtnum = 61 ! 326: c ! 327: c **** test 61 **** ! 328: c ! 329: if (iczero) 30610, 610, 30610 ! 330: 610 continue ! 331: ivcomp = -9999 ! 332: go to 40610 ! 333: 30610 ivdele = ivdele + 1 ! 334: write (i02,80003) ivtnum ! 335: if (iczero) 40610, 621, 40610 ! 336: 40610 if (ivcomp + 9999) 20610, 10610, 20610 ! 337: 10610 ivpass = ivpass + 1 ! 338: write (i02,80001) ivtnum ! 339: go to 621 ! 340: 20610 ivfail = ivfail + 1 ! 341: ivcorr = -9999 ! 342: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 343: c ! 344: c test 62 through test 73 contain statement of form ! 345: c integer variable = integer variable ! 346: c ! 347: c tests 62 through 65 contain unsigned values. ! 348: c ! 349: 621 continue ! 350: ivtnum = 62 ! 351: c ! 352: c **** test 62 **** ! 353: c ! 354: if (iczero) 30620, 620, 30620 ! 355: 620 continue ! 356: ivon01 = 3 ! 357: ivcomp = ivon01 ! 358: go to 40620 ! 359: 30620 ivdele = ivdele + 1 ! 360: write (i02,80003) ivtnum ! 361: if (iczero) 40620, 631, 40620 ! 362: 40620 if (ivcomp - 3) 20620, 10620, 20620 ! 363: 10620 ivpass = ivpass + 1 ! 364: write (i02,80001) ivtnum ! 365: go to 631 ! 366: 20620 ivfail = ivfail + 1 ! 367: ivcorr = 3 ! 368: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 369: 631 continue ! 370: ivtnum = 63 ! 371: c ! 372: c **** test 63 **** ! 373: c ! 374: if (iczero) 30630, 630, 30630 ! 375: 630 continue ! 376: ivon01 = 76 ! 377: ivcomp = ivon01 ! 378: go to 40630 ! 379: 30630 ivdele = ivdele + 1 ! 380: write (i02,80003) ivtnum ! 381: if (iczero) 40630, 641, 40630 ! 382: 40630 if (ivcomp - 76) 20630, 10630, 20630 ! 383: 10630 ivpass = ivpass + 1 ! 384: write (i02,80001) ivtnum ! 385: go to 641 ! 386: 20630 ivfail = ivfail + 1 ! 387: ivcorr = 76 ! 388: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 389: 641 continue ! 390: ivtnum = 64 ! 391: c ! 392: c **** test 64 **** ! 393: c ! 394: if (iczero) 30640, 640, 30640 ! 395: 640 continue ! 396: ivon01 = 587 ! 397: ivcomp = ivon01 ! 398: go to 40640 ! 399: 30640 ivdele = ivdele + 1 ! 400: write (i02,80003) ivtnum ! 401: if (iczero) 40640, 651, 40640 ! 402: 40640 if (ivcomp - 587) 20640, 10640, 20640 ! 403: 10640 ivpass = ivpass + 1 ! 404: write (i02,80001) ivtnum ! 405: go to 651 ! 406: 20640 ivfail = ivfail + 1 ! 407: ivcorr = 587 ! 408: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 409: 651 continue ! 410: ivtnum = 65 ! 411: c ! 412: c **** test 65 **** ! 413: c ! 414: if (iczero) 30650, 650, 30650 ! 415: 650 continue ! 416: ivon01 = 9999 ! 417: ivcomp = ivon01 ! 418: go to 40650 ! 419: 30650 ivdele = ivdele + 1 ! 420: write (i02,80003) ivtnum ! 421: if (iczero) 40650, 661, 40650 ! 422: 40650 if (ivcomp - 9999) 20650, 10650, 20650 ! 423: 10650 ivpass = ivpass + 1 ! 424: write (i02,80001) ivtnum ! 425: go to 661 ! 426: 20650 ivfail = ivfail + 1 ! 427: ivcorr = 9999 ! 428: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 429: c ! 430: c tests 66 through 69 contain positive values. ! 431: c ! 432: 661 continue ! 433: ivtnum = 66 ! 434: c ! 435: c **** test 66 **** ! 436: c ! 437: if (iczero) 30660, 660, 30660 ! 438: 660 continue ! 439: ivon01 = +3 ! 440: ivcomp = ivon01 ! 441: go to 40660 ! 442: 30660 ivdele = ivdele + 1 ! 443: write (i02,80003) ivtnum ! 444: if (iczero) 40660, 671, 40660 ! 445: 40660 if (ivcomp - 3) 20660,10660,20660 ! 446: 10660 ivpass = ivpass + 1 ! 447: write (i02,80001) ivtnum ! 448: go to 671 ! 449: 20660 ivfail = ivfail + 1 ! 450: ivcorr = 3 ! 451: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 452: 671 continue ! 453: ivtnum = 67 ! 454: c ! 455: c **** test 67 **** ! 456: c ! 457: if (iczero) 30670, 670, 30670 ! 458: 670 continue ! 459: ivon01 = +76 ! 460: ivcomp = ivon01 ! 461: go to 40670 ! 462: 30670 ivdele = ivdele + 1 ! 463: write (i02,80003) ivtnum ! 464: if (iczero) 40670, 681, 40670 ! 465: 40670 if (ivcomp - 76) 20670, 10670, 20670 ! 466: 10670 ivpass = ivpass + 1 ! 467: write (i02,80001) ivtnum ! 468: go to 681 ! 469: 20670 ivfail = ivfail + 1 ! 470: ivcorr = 76 ! 471: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 472: 681 continue ! 473: ivtnum = 68 ! 474: c ! 475: c **** test 68 **** ! 476: c ! 477: if (iczero) 30680, 680, 30680 ! 478: 680 continue ! 479: ivon01 = +587 ! 480: ivcomp = ivon01 ! 481: go to 40680 ! 482: 30680 ivdele = ivdele + 1 ! 483: write (i02,80003) ivtnum ! 484: if (iczero) 40680, 691, 40680 ! 485: 40680 if (ivcomp - 587) 20680, 10680, 20680 ! 486: 10680 ivpass = ivpass + 1 ! 487: write (i02,80001) ivtnum ! 488: go to 691 ! 489: 20680 ivfail = ivfail + 1 ! 490: ivcorr = 587 ! 491: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 492: 691 continue ! 493: ivtnum = 69 ! 494: c ! 495: c **** test 69 **** ! 496: c ! 497: if (iczero) 30690, 690, 30690 ! 498: 690 continue ! 499: ivon01 = +9999 ! 500: ivcomp = ivon01 ! 501: go to 40690 ! 502: 30690 ivdele = ivdele + 1 ! 503: write (i02,80003) ivtnum ! 504: if (iczero) 40690, 701, 40690 ! 505: 40690 if (ivcomp - 9999) 20690, 10690, 20690 ! 506: 10690 ivpass = ivpass + 1 ! 507: write (i02,80001) ivtnum ! 508: go to 701 ! 509: 20690 ivfail = ivfail + 1 ! 510: ivcorr = 9999 ! 511: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 512: c ! 513: c tests 70 through 73 contain negative values. ! 514: c ! 515: 701 continue ! 516: ivtnum = 70 ! 517: c ! 518: c **** test 70 **** ! 519: c ! 520: if (iczero) 30700, 700, 30700 ! 521: 700 continue ! 522: ivon01 = -3 ! 523: ivcomp = ivon01 ! 524: go to 40700 ! 525: 30700 ivdele = ivdele + 1 ! 526: write (i02,80003) ivtnum ! 527: if (iczero) 40700, 711, 40700 ! 528: 40700 if (ivcomp + 3) 20700, 10700, 20700 ! 529: 10700 ivpass = ivpass + 1 ! 530: write (i02,80001) ivtnum ! 531: go to 711 ! 532: 20700 ivfail = ivfail + 1 ! 533: ivcorr = -3 ! 534: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 535: 711 continue ! 536: ivtnum = 71 ! 537: c ! 538: c **** test 71 **** ! 539: c ! 540: if (iczero) 30710, 710, 30710 ! 541: 710 continue ! 542: ivon01 = -76 ! 543: ivcomp = ivon01 ! 544: go to 40710 ! 545: 30710 ivdele = ivdele + 1 ! 546: write (i02,80003) ivtnum ! 547: if (iczero) 40710, 721, 40710 ! 548: 40710 if (ivcomp + 76) 20710, 10710, 20710 ! 549: 10710 ivpass = ivpass + 1 ! 550: write (i02,80001) ivtnum ! 551: go to 721 ! 552: 20710 ivfail = ivfail + 1 ! 553: ivcorr = -76 ! 554: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 555: 721 continue ! 556: ivtnum = 72 ! 557: c ! 558: c **** test 72 **** ! 559: c ! 560: if (iczero) 30720, 720, 30720 ! 561: 720 continue ! 562: ivon01 = -587 ! 563: ivcomp = ivon01 ! 564: go to 40720 ! 565: 30720 ivdele = ivdele + 1 ! 566: write (i02,80003) ivtnum ! 567: if (iczero) 40720, 731, 40720 ! 568: 40720 if (ivcomp + 587) 20720, 10720, 20720 ! 569: 10720 ivpass = ivpass + 1 ! 570: write (i02,80001) ivtnum ! 571: go to 731 ! 572: 20720 ivfail = ivfail + 1 ! 573: ivcorr = -587 ! 574: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 575: 731 continue ! 576: ivtnum = 73 ! 577: c ! 578: c **** test 73 **** ! 579: c ! 580: if (iczero) 30730, 730, 30730 ! 581: 730 continue ! 582: ivon01 = -9999 ! 583: ivcomp = ivon01 ! 584: go to 40730 ! 585: 30730 ivdele = ivdele + 1 ! 586: write (i02,80003) ivtnum ! 587: if (iczero) 40730, 741, 40730 ! 588: 40730 if (ivcomp + 9999) 20730, 10730, 20730 ! 589: 10730 ivpass = ivpass + 1 ! 590: write (i02,80001) ivtnum ! 591: go to 741 ! 592: 20730 ivfail = ivfail + 1 ! 593: ivcorr = -9999 ! 594: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 595: c ! 596: c tests 74 through 79 check that at least 16 bits are used in the ! 597: c internal representation of an integer datum. this includes one ! 598: c bit for the sign. the largest integer used is 32767 =2**15 - 1, ! 599: c and the smallest integer used is -32766. ! 600: c ! 601: 741 continue ! 602: ivtnum = 74 ! 603: c ! 604: c **** test 74 **** ! 605: c unsigned constant 32767 ! 606: c ! 607: if (iczero) 30740, 740, 30740 ! 608: 740 continue ! 609: ivcomp = 32767 ! 610: go to 40740 ! 611: 30740 ivdele = ivdele + 1 ! 612: write (i02,80003) ivtnum ! 613: if (iczero) 40740, 751, 40740 ! 614: 40740 if (ivcomp - 32767) 20740, 10740, 20740 ! 615: 10740 ivpass = ivpass + 1 ! 616: write (i02,80001) ivtnum ! 617: go to 751 ! 618: 20740 ivfail = ivfail + 1 ! 619: ivcorr = 32767 ! 620: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 621: 751 continue ! 622: ivtnum = 75 ! 623: c ! 624: c **** test 75 **** ! 625: c signed positive constant +32767 ! 626: c ! 627: if (iczero) 30750, 750, 30750 ! 628: 750 continue ! 629: ivcomp = +32767 ! 630: go to 40750 ! 631: 30750 ivdele = ivdele + 1 ! 632: write (i02,80003) ivtnum ! 633: if (iczero) 40750, 761, 40750 ! 634: 40750 if (ivcomp - 32767) 20750, 10750, 20750 ! 635: 10750 ivpass = ivpass + 1 ! 636: write (i02,80001) ivtnum ! 637: go to 761 ! 638: 20750 ivfail = ivfail + 1 ! 639: ivcorr = 32767 ! 640: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 641: 761 continue ! 642: ivtnum = 76 ! 643: c ! 644: c **** test 76 **** ! 645: c signed negative constant -32766 ! 646: c ! 647: if (iczero) 30760, 760, 30760 ! 648: 760 continue ! 649: ivcomp = - 32766 ! 650: go to 40760 ! 651: 30760 ivdele = ivdele + 1 ! 652: write (i02,80003) ivtnum ! 653: if (iczero) 40760, 771, 40760 ! 654: 40760 if (ivcomp + 32766) 20760, 10760, 20760 ! 655: 10760 ivpass = ivpass + 1 ! 656: write (i02,80001) ivtnum ! 657: go to 771 ! 658: 20760 ivfail = ivfail + 1 ! 659: ivcorr = -32766 ! 660: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 661: 771 continue ! 662: ivtnum = 77 ! 663: c ! 664: c **** test 77 **** ! 665: c ! 666: if (iczero) 30770, 770, 30770 ! 667: 770 continue ! 668: ivon01 = 32767 ! 669: ivcomp = ivon01 ! 670: go to 40770 ! 671: 30770 ivdele = ivdele + 1 ! 672: write (i02,80003) ivtnum ! 673: if (iczero) 40770, 781, 40770 ! 674: 40770 if (ivcomp - 32767) 20770, 10770, 20770 ! 675: 10770 ivpass = ivpass + 1 ! 676: write (i02,80001) ivtnum ! 677: go to 781 ! 678: 20770 ivfail = ivfail + 1 ! 679: ivcorr = 32767 ! 680: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 681: 781 continue ! 682: ivtnum = 78 ! 683: c ! 684: c **** test 78 **** ! 685: c ! 686: if (iczero) 30780, 780, 30780 ! 687: 780 continue ! 688: ivon01 = +32767 ! 689: ivcomp = ivon01 ! 690: go to 40780 ! 691: 30780 ivdele = ivdele + 1 ! 692: write (i02,80003) ivtnum ! 693: if (iczero) 40780, 791, 40780 ! 694: 40780 if (ivcomp - 32767) 20780, 10780, 20780 ! 695: 10780 ivpass = ivpass + 1 ! 696: write (i02,80001) ivtnum ! 697: go to 791 ! 698: 20780 ivfail = ivfail + 1 ! 699: ivcorr = 32767 ! 700: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 701: 791 continue ! 702: ivtnum = 79 ! 703: c ! 704: c **** test 79 **** ! 705: c ! 706: if (iczero) 30790, 790, 30790 ! 707: 790 continue ! 708: ivon01 = -32766 ! 709: ivcomp=ivon01 ! 710: go to 40790 ! 711: 30790 ivdele = ivdele + 1 ! 712: write (i02,80003) ivtnum ! 713: if (iczero) 40790, 801, 40790 ! 714: 40790 if (ivcomp + 32766) 20790, 10790, 20790 ! 715: 10790 ivpass = ivpass + 1 ! 716: write (i02,80001) ivtnum ! 717: go to 801 ! 718: 20790 ivfail = ivfail + 1 ! 719: ivcorr = -32766 ! 720: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 721: 801 continue ! 722: c ! 723: c write page footings and run summaries ! 724: 99999 continue ! 725: write (i02,90002) ! 726: write (i02,90006) ! 727: write (i02,90002) ! 728: write (i02,90002) ! 729: write (i02,90007) ! 730: write (i02,90002) ! 731: write (i02,90008) ivfail ! 732: write (i02,90009) ivpass ! 733: write (i02,90010) ivdele ! 734: c ! 735: c ! 736: c terminate routine execution ! 737: stop ! 738: c ! 739: c format statements for page headers ! 740: 90000 format (1h1) ! 741: 90002 format (1h ) ! 742: 90001 format (1h ,10x,34hfortran compiler validation system) ! 743: 90003 format (1h ,21x,11hversion 1.0) ! 744: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 745: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 746: 90006 format (1h ,5x,46h----------------------------------------------) ! 747: 90011 format (1h ,18x,17hsubset level test) ! 748: c ! 749: c format statements for run summaries ! 750: 90008 format (1h ,15x,i5,19h errors encountered) ! 751: 90009 format (1h ,15x,i5,13h tests passed) ! 752: 90010 format (1h ,15x,i5,14h tests deleted) ! 753: c ! 754: c format statements for test results ! 755: 80001 format (1h ,4x,i5,7x,4hpass) ! 756: 80002 format (1h ,4x,i5,7x,4hfail) ! 757: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 758: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 759: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 760: c ! 761: 90007 format (1h ,20x,20hend of program fm006) ! 762: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.