|
|
1.1 ! root 1: c comment section. ! 2: c ! 3: c fm008 ! 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 positive integer variables. ! 9: c some of the tests use parentheses to group elements in the ! 10: c arithmetic expression. ! 11: c ! 12: c there are tests where the arithmetic expression contains ! 13: c (1) two integer constants, ! 14: c (2) three integer constants, ! 15: c (3) three integer constants with parentheses to group ! 16: c elements, ! 17: c (4) one integer variable and one integer constant, ! 18: c (5) one integer variable and two integer constants, ! 19: c (6) one integer variable and two integer constants with ! 20: c parentheses to group elements. ! 21: c ! 22: c ! 23: c references ! 24: c american national standard programming language fortran, ! 25: c x3.9-1978 ! 26: c ! 27: c section 4.3, integer type ! 28: c section 4.3.1, integer constant ! 29: c section 6.1, arithmetic expressions ! 30: c section 10.1, arithmetic assignment statements ! 31: c ! 32: c ! 33: c ********************************************************** ! 34: c ! 35: c a compiler validation system for the fortran language ! 36: c based on specifications as defined in american national standard ! 37: c programming language fortran x3.9-1978, has been developed by the ! 38: c federal cobol compiler testing service. the fortran compiler ! 39: c validation system (fcvs) consists of audit routines, their related ! 40: c data, and an executive system. each audit routine is a fortran ! 41: c program, subprogram or function which includes tests of specific ! 42: c language elements and supporting procedures indicating the result ! 43: c of executing these tests. ! 44: c ! 45: c this particular program/subprogram/function contains features ! 46: c found only in the subset as defined in x3.9-1978. ! 47: c ! 48: c suggestions and comments should be forwarded to - ! 49: c ! 50: c department of the navy ! 51: c federal cobol compiler testing service ! 52: c washington, d.c. 20376 ! 53: c ! 54: c ********************************************************** ! 55: c ! 56: c ! 57: c ! 58: c initialization section ! 59: c ! 60: c initialize constants ! 61: c ************** ! 62: c i01 contains the logical unit number for the card reader. ! 63: i01 = 5 ! 64: c i02 contains the logical unit number for the printer. ! 65: i02 = 6 ! 66: c system environment section ! 67: c ! 68: cx010 this card is replaced by contents of fexec x-010 control card. ! 69: c the cx010 card is for overriding the program default i01 = 5 ! 70: c (unit number for card reader). ! 71: cx011 this card is replaced by contents of fexec x-011 control card. ! 72: c the cx011 card is for systems which require additional ! 73: c fortran statements for files associated with cx010 above. ! 74: c ! 75: cx020 this card is replaced by contents of fexec x-020 control card. ! 76: c the cx020 card is for overriding the program default i02 = 6 ! 77: c (unit number for printer). ! 78: cx021 this card is replaced by contents of fexec x-021 control card. ! 79: c the cx021 card is for systems which require additional ! 80: c fortran statements for files associated with cx020 above. ! 81: c ! 82: ivpass=0 ! 83: ivfail=0 ! 84: ivdele=0 ! 85: iczero=0 ! 86: c ! 87: c write page headers ! 88: write (i02,90000) ! 89: write (i02,90001) ! 90: write (i02,90002) ! 91: write (i02, 90002) ! 92: write (i02,90003) ! 93: write (i02,90002) ! 94: write (i02,90004) ! 95: write (i02,90002) ! 96: write (i02,90011) ! 97: write (i02,90002) ! 98: write (i02,90002) ! 99: write (i02,90005) ! 100: write (i02,90006) ! 101: write (i02,90002) ! 102: c test section ! 103: c ! 104: c arithmetic assignment statement ! 105: c ! 106: c test 200 through test 214 contain integer constants and operator + ! 107: c in arithmetic expression. ! 108: c ! 109: c test 200 through test 206 - two integer constants ! 110: c ! 111: 2001 continue ! 112: ivtnum = 200 ! 113: c ! 114: c **** test 200 **** ! 115: c ! 116: if (iczero) 32000, 2000, 32000 ! 117: 2000 continue ! 118: ivcomp = 2+3 ! 119: go to 42000 ! 120: 32000 ivdele = ivdele + 1 ! 121: write (i02,80003) ivtnum ! 122: if (iczero) 42000, 2011, 42000 ! 123: 42000 if (ivcomp - 5) 22000,12000,22000 ! 124: 12000 ivpass = ivpass + 1 ! 125: write (i02,80001) ivtnum ! 126: go to 2011 ! 127: 22000 ivfail = ivfail + 1 ! 128: ivcorr = 5 ! 129: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 130: 2011 continue ! 131: ivtnum = 201 ! 132: c ! 133: c **** test 201 **** ! 134: c ! 135: if (iczero) 32010, 2010, 32010 ! 136: 2010 continue ! 137: ivcomp = 51 + 52 ! 138: go to 42010 ! 139: 32010 ivdele = ivdele + 1 ! 140: write (i02,80003) ivtnum ! 141: if (iczero) 42010, 2021, 42010 ! 142: 42010 if (ivcomp - 103) 22010,12010,22010 ! 143: 12010 ivpass = ivpass + 1 ! 144: write (i02,80001) ivtnum ! 145: go to 2021 ! 146: 22010 ivfail = ivfail + 1 ! 147: ivcorr = 103 ! 148: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 149: 2021 continue ! 150: ivtnum = 202 ! 151: c ! 152: c **** test 202 **** ! 153: c ! 154: if (iczero) 32020, 2020, 32020 ! 155: 2020 continue ! 156: ivcomp = 189 + 676 ! 157: go to 42020 ! 158: 32020 ivdele = ivdele + 1 ! 159: write (i02,80003) ivtnum ! 160: if (iczero) 42020, 2031, 42020 ! 161: 42020 if (ivcomp - 865) 22020,12020,22020 ! 162: 12020 ivpass = ivpass + 1 ! 163: write (i02,80001) ivtnum ! 164: go to 2031 ! 165: 22020 ivfail = ivfail + 1 ! 166: ivcorr = 865 ! 167: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 168: 2031 continue ! 169: ivtnum = 203 ! 170: c ! 171: c **** test 203 **** ! 172: c ! 173: if (iczero) 32030, 2030, 32030 ! 174: 2030 continue ! 175: ivcomp = 1358 + 8001 ! 176: go to 42030 ! 177: 32030 ivdele = ivdele + 1 ! 178: write (i02,80003) ivtnum ! 179: if (iczero) 42030, 2041, 42030 ! 180: 42030 if (ivcomp - 9359) 22030, 12030, 22030 ! 181: 12030 ivpass = ivpass + 1 ! 182: write (i02,80001) ivtnum ! 183: go to 2041 ! 184: 22030 ivfail = ivfail + 1 ! 185: ivcorr = 9359 ! 186: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 187: 2041 continue ! 188: ivtnum = 204 ! 189: c ! 190: c **** test 204 **** ! 191: c ! 192: if (iczero) 32040, 2040, 32040 ! 193: 2040 continue ! 194: ivcomp = 11112 + 10001 ! 195: go to 42040 ! 196: 32040 ivdele = ivdele + 1 ! 197: write (i02,80003) ivtnum ! 198: if (iczero) 42040, 2051, 42040 ! 199: 42040 if (ivcomp - 21113) 22040, 12040, 22040 ! 200: 12040 ivpass = ivpass + 1 ! 201: write (i02,80001) ivtnum ! 202: go to 2051 ! 203: 22040 ivfail = ivfail + 1 ! 204: ivcorr=21113 ! 205: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 206: 2051 continue ! 207: ivtnum = 205 ! 208: c ! 209: c **** test 205 **** ! 210: c ! 211: if (iczero) 32050, 2050, 32050 ! 212: 2050 continue ! 213: ivcomp = 189 + 9876 ! 214: go to 42050 ! 215: 32050 ivdele = ivdele + 1 ! 216: write (i02,80003) ivtnum ! 217: if (iczero) 42050, 2061, 42050 ! 218: 42050 if (ivcomp - 10065) 22050,12050,22050 ! 219: 12050 ivpass = ivpass + 1 ! 220: write (i02,80001) ivtnum ! 221: go to 2061 ! 222: 22050 ivfail = ivfail + 1 ! 223: ivcorr = 10065 ! 224: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 225: 2061 continue ! 226: ivtnum = 206 ! 227: c ! 228: c **** test 206 **** ! 229: c requires 32767 ! 230: c ! 231: if (iczero) 32060, 2060, 32060 ! 232: 2060 continue ! 233: ivcomp = 32752 + 15 ! 234: go to 42060 ! 235: 32060 ivdele = ivdele + 1 ! 236: write (i02,80003) ivtnum ! 237: if (iczero) 42060, 2071, 42060 ! 238: 42060 if (ivcomp - 32767) 22060,12060,22060 ! 239: 12060 ivpass = ivpass + 1 ! 240: write (i02,80001) ivtnum ! 241: go to 2071 ! 242: 22060 ivfail = ivfail + 1 ! 243: ivcorr = 32767 ! 244: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 245: c ! 246: c test 207 through test 210 - three integer constants ! 247: c ! 248: 2071 continue ! 249: ivtnum = 207 ! 250: c ! 251: c **** test 207 **** ! 252: c ! 253: if (iczero) 32070, 2070, 32070 ! 254: 2070 continue ! 255: ivcomp = 2+3+4 ! 256: go to 42070 ! 257: 32070 ivdele = ivdele + 1 ! 258: write (i02,80003) ivtnum ! 259: if (iczero) 42070, 2081, 42070 ! 260: 42070 if (ivcomp - 9) 22070,12070,22070 ! 261: 12070 ivpass = ivpass + 1 ! 262: write (i02,80001) ivtnum ! 263: go to 2081 ! 264: 22070 ivfail = ivfail + 1 ! 265: ivcorr = 9 ! 266: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 267: 2081 continue ! 268: ivtnum = 208 ! 269: c ! 270: c **** test 208 **** ! 271: c ! 272: if (iczero) 32080, 2080, 32080 ! 273: 2080 continue ! 274: ivcomp = 51 + 52 + 53 ! 275: go to 42080 ! 276: 32080 ivdele = ivdele + 1 ! 277: write (i02,80003) ivtnum ! 278: if (iczero) 42080, 2091, 42080 ! 279: 42080 if (ivcomp - 156) 22080,12080,22080 ! 280: 12080 ivpass = ivpass + 1 ! 281: write (i02,80001) ivtnum ! 282: go to 2091 ! 283: 22080 ivfail = ivfail + 1 ! 284: ivcorr = 156 ! 285: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 286: 2091 continue ! 287: ivtnum = 209 ! 288: c ! 289: c **** test 209 **** ! 290: c ! 291: if (iczero) 32090, 2090, 32090 ! 292: 2090 continue ! 293: ivcomp = 189 +676+101 ! 294: go to 42090 ! 295: 32090 ivdele = ivdele + 1 ! 296: write (i02,80003) ivtnum ! 297: if (iczero) 42090, 2101, 42090 ! 298: 42090 if (ivcomp - 966) 22090,12090,22090 ! 299: 12090 ivpass = ivpass + 1 ! 300: write (i02,80001) ivtnum ! 301: go to 2101 ! 302: 22090 ivfail = ivfail + 1 ! 303: ivcorr = 966 ! 304: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 305: 2101 continue ! 306: ivtnum = 210 ! 307: c ! 308: c **** test 210 **** ! 309: c ! 310: if (iczero) 32100, 2100, 32100 ! 311: 2100 continue ! 312: ivcomp = 1358 + 8001 + 2189 ! 313: go to 42100 ! 314: 32100 ivdele = ivdele + 1 ! 315: write (i02,80003) ivtnum ! 316: if (iczero) 42100, 2111, 42100 ! 317: 42100 if (ivcomp - 11548) 22100,12100,22100 ! 318: 12100 ivpass = ivpass + 1 ! 319: write (i02,80001) ivtnum ! 320: go to 2111 ! 321: 22100 ivfail = ivfail + 1 ! 322: ivcorr = 11548 ! 323: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 324: c ! 325: c tests 211 through 214 are the same as 207 through 210 except ! 326: c parentheses are used to group the constants. ! 327: c ! 328: 2111 continue ! 329: ivtnum = 211 ! 330: c ! 331: c **** test 211 **** ! 332: c ! 333: if (iczero) 32110, 2110, 32110 ! 334: 2110 continue ! 335: ivcomp = (2+3)+4 ! 336: go to 42110 ! 337: 32110 ivdele = ivdele + 1 ! 338: write (i02,80003) ivtnum ! 339: if (iczero) 42110, 2121, 42110 ! 340: 42110 if (ivcomp -9) 22110,12110,22110 ! 341: 12110 ivpass = ivpass + 1 ! 342: write (i02,80001) ivtnum ! 343: go to 2121 ! 344: 22110 ivfail = ivfail + 1 ! 345: ivcorr = 9 ! 346: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 347: 2121 continue ! 348: ivtnum = 212 ! 349: c ! 350: c **** test 212 **** ! 351: c ! 352: if (iczero) 32120, 2120, 32120 ! 353: 2120 continue ! 354: ivcomp = 51+(52+53) ! 355: go to 42120 ! 356: 32120 ivdele = ivdele + 1 ! 357: write (i02,80003) ivtnum ! 358: if (iczero) 42120, 2131, 42120 ! 359: 42120 if (ivcomp - 156) 22120,12120,22120 ! 360: 12120 ivpass = ivpass + 1 ! 361: write (i02,80001) ivtnum ! 362: go to 2131 ! 363: 22120 ivfail = ivfail + 1 ! 364: ivcorr = 156 ! 365: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 366: 2131 continue ! 367: ivtnum = 213 ! 368: c ! 369: c **** test 213 **** ! 370: c ! 371: if (iczero) 32130, 2130, 32130 ! 372: 2130 continue ! 373: ivcomp = 189 +(676+101) ! 374: go to 42130 ! 375: 32130 ivdele = ivdele + 1 ! 376: write (i02,80003) ivtnum ! 377: if (iczero) 42130, 2141, 42130 ! 378: 42130 if (ivcomp - 966) 22130,12130,22130 ! 379: 12130 ivpass = ivpass + 1 ! 380: write (i02,80001) ivtnum ! 381: go to 2141 ! 382: 22130 ivfail = ivfail + 1 ! 383: ivcorr = 966 ! 384: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 385: 2141 continue ! 386: ivtnum = 214 ! 387: c ! 388: c **** test 214 **** ! 389: c ! 390: if (iczero) 32140, 2140, 32140 ! 391: 2140 continue ! 392: ivcomp = (1358+2189) + 8001 ! 393: go to 42140 ! 394: 32140 ivdele = ivdele + 1 ! 395: write (i02,80003) ivtnum ! 396: if (iczero) 42140, 2151, 42140 ! 397: 42140 if (ivcomp - 11548) 22140,12140,22140 ! 398: 12140 ivpass = ivpass + 1 ! 399: write (i02,80001) ivtnum ! 400: go to 2151 ! 401: 22140 ivfail = ivfail + 1 ! 402: ivcorr = 11548 ! 403: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 404: c ! 405: c test 215 through test 234 contain integer variables, integer ! 406: c constants and the operator + in arithmetic expression. ! 407: c ! 408: c test 215 through test 219 - one integer variable and one integer ! 409: c constant in arithmetic expression. ! 410: c ! 411: 2151 continue ! 412: ivtnum = 215 ! 413: c ! 414: c **** test 215 **** ! 415: c ! 416: if (iczero) 32150, 2150, 32150 ! 417: 2150 continue ! 418: ivon01 = 2 ! 419: ivcomp = ivon01 + 3 ! 420: go to 42150 ! 421: 32150 ivdele = ivdele + 1 ! 422: write (i02,80003) ivtnum ! 423: if (iczero) 42150, 2161, 42150 ! 424: 42150 if (ivcomp - 5) 22150,12150,22150 ! 425: 12150 ivpass = ivpass + 1 ! 426: write (i02,80001) ivtnum ! 427: go to 2161 ! 428: 22150 ivfail = ivfail + 1 ! 429: ivcorr=5 ! 430: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 431: 2161 continue ! 432: ivtnum = 216 ! 433: c ! 434: c **** test 216 **** ! 435: c ! 436: if (iczero) 32160, 2160, 32160 ! 437: 2160 continue ! 438: ivon01 = 3 ! 439: ivcomp = 2 + ivon01 ! 440: go to 42160 ! 441: 32160 ivdele = ivdele + 1 ! 442: write (i02,80003) ivtnum ! 443: if (iczero) 42160, 2171, 42160 ! 444: 42160 if (ivcomp - 5) 22160,12160,22160 ! 445: 12160 ivpass = ivpass + 1 ! 446: write (i02,80001) ivtnum ! 447: go to 2171 ! 448: 22160 ivfail = ivfail + 1 ! 449: ivcorr = 5 ! 450: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 451: 2171 continue ! 452: ivtnum = 217 ! 453: c ! 454: c **** test 217 **** ! 455: c ! 456: if (iczero) 32170, 2170, 32170 ! 457: 2170 continue ! 458: ivon01 = 51 ! 459: ivcomp = ivon01 +52 ! 460: go to 42170 ! 461: 32170 ivdele = ivdele + 1 ! 462: write (i02,80003) ivtnum ! 463: if (iczero) 42170, 2181, 42170 ! 464: 42170 if (ivcomp - 103) 22170,12170,22170 ! 465: 12170 ivpass = ivpass + 1 ! 466: write (i02,80001) ivtnum ! 467: go to 2181 ! 468: 22170 ivfail = ivfail + 1 ! 469: ivcorr = 103 ! 470: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 471: 2181 continue ! 472: ivtnum = 218 ! 473: c ! 474: c **** test 218 **** ! 475: c ! 476: if (iczero) 32180, 2180, 32180 ! 477: 2180 continue ! 478: ivon01 = 676 ! 479: ivcomp = 189 + ivon01 ! 480: go to 42180 ! 481: 32180 ivdele = ivdele + 1 ! 482: write (i02,80003) ivtnum ! 483: if (iczero) 42180, 2191, 42180 ! 484: 42180 if (ivcomp - 865) 22180,12180,22180 ! 485: 12180 ivpass = ivpass + 1 ! 486: write (i02,80001) ivtnum ! 487: go to 2191 ! 488: 22180 ivfail = ivfail + 1 ! 489: ivcorr = 865 ! 490: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 491: 2191 continue ! 492: ivtnum = 219 ! 493: c ! 494: c **** test 219 **** ! 495: c ! 496: if (iczero) 32190, 2190, 32190 ! 497: 2190 continue ! 498: ivon01 = 1358 ! 499: ivcomp = ivon01 + 8001 ! 500: go to 42190 ! 501: 32190 ivdele = ivdele + 1 ! 502: write (i02,80003) ivtnum ! 503: if (iczero) 42190, 2201, 42190 ! 504: 42190 if (ivcomp - 9359) 22190,12190,22190 ! 505: 12190 ivpass = ivpass + 1 ! 506: write (i02,80001) ivtnum ! 507: go to 2201 ! 508: 22190 ivfail = ivfail + 1 ! 509: ivcorr = 9359 ! 510: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 511: c ! 512: c test 220 through test 224 - one integer variable, two integer ! 513: c constants in arithmetic expression. ! 514: c ! 515: 2201 continue ! 516: ivtnum = 220 ! 517: c ! 518: c **** test 220 **** ! 519: c ! 520: if (iczero) 32200, 2200, 32200 ! 521: 2200 continue ! 522: ivon01 = 2 ! 523: ivcomp = ivon01 +3 +4 ! 524: go to 42200 ! 525: 32200 ivdele = ivdele + 1 ! 526: write (i02,80003) ivtnum ! 527: if (iczero) 42200, 2211, 42200 ! 528: 42200 if (ivcomp - 9) 22200,12200,22200 ! 529: 12200 ivpass = ivpass + 1 ! 530: write (i02,80001) ivtnum ! 531: go to 2211 ! 532: 22200 ivfail = ivfail + 1 ! 533: ivcorr = 9 ! 534: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 535: 2211 continue ! 536: ivtnum = 221 ! 537: c ! 538: c **** test 221 **** ! 539: c ! 540: if (iczero) 32210, 2210, 32210 ! 541: 2210 continue ! 542: ivon01 = 3 ! 543: ivcomp = 2+ivon01+4 ! 544: go to 42210 ! 545: 32210 ivdele = ivdele + 1 ! 546: write (i02,80003) ivtnum ! 547: if (iczero) 42210, 2221, 42210 ! 548: 42210 if (ivcomp - 9) 22210,12210,22210 ! 549: 12210 ivpass = ivpass + 1 ! 550: write (i02,80001) ivtnum ! 551: go to 2221 ! 552: 22210 ivfail = ivfail + 1 ! 553: ivcorr = 9 ! 554: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 555: 2221 continue ! 556: ivtnum = 222 ! 557: c ! 558: c **** test 222 **** ! 559: c ! 560: if (iczero) 32220, 2220, 32220 ! 561: 2220 continue ! 562: ivon01 = 4 ! 563: ivcomp= 2+3+ivon01 ! 564: go to 42220 ! 565: 32220 ivdele = ivdele + 1 ! 566: write (i02,80003) ivtnum ! 567: if (iczero) 42220, 2231, 42220 ! 568: 42220 if (ivcomp - 9) 22220,12220,22220 ! 569: 12220 ivpass = ivpass + 1 ! 570: write (i02,80001) ivtnum ! 571: go to 2231 ! 572: 22220 ivfail = ivfail + 1 ! 573: ivcorr = 9 ! 574: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 575: 2231 continue ! 576: ivtnum = 223 ! 577: c ! 578: c **** test 223 **** ! 579: c ! 580: if (iczero) 32230, 2230, 32230 ! 581: 2230 continue ! 582: ivon01 = 2189 ! 583: ivcomp = 1358+ivon01+8001 ! 584: go to 42230 ! 585: 32230 ivdele = ivdele + 1 ! 586: write (i02,80003) ivtnum ! 587: if (iczero) 42230, 2241, 42230 ! 588: 42230 if (ivcomp - 11548) 22230,12230,22230 ! 589: 12230 ivpass = ivpass + 1 ! 590: write (i02,80001) ivtnum ! 591: go to 2241 ! 592: 22230 ivfail = ivfail + 1 ! 593: ivcorr=11548 ! 594: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 595: 2241 continue ! 596: ivtnum = 224 ! 597: c ! 598: c **** test 224 **** ! 599: c ! 600: if (iczero) 32240, 2240, 32240 ! 601: 2240 continue ! 602: ivon01 = 11111 ! 603: ivcomp = 11111 + ivon01 + 10111 ! 604: go to 42240 ! 605: 32240 ivdele = ivdele + 1 ! 606: write (i02,80003) ivtnum ! 607: if (iczero) 42240, 2251, 42240 ! 608: 42240 if (ivcomp - 32333) 22240,12240,22240 ! 609: 12240 ivpass = ivpass + 1 ! 610: write (i02,80001) ivtnum ! 611: go to 2251 ! 612: 22240 ivfail = ivfail + 1 ! 613: ivcorr = 32333 ! 614: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 615: c ! 616: c test 225 through test 234 use parentheses to group elements in ! 617: c an arithmetic expression. the results are the same as tests ! 618: c 220 through 224. ! 619: c ! 620: 2251 continue ! 621: ivtnum = 225 ! 622: c ! 623: c **** test 225 **** ! 624: c ! 625: if (iczero) 32250, 2250, 32250 ! 626: 2250 continue ! 627: ivon01 = 2 ! 628: ivcomp = (ivon01 +3) + 4 ! 629: go to 42250 ! 630: 32250 ivdele = ivdele + 1 ! 631: write (i02,80003) ivtnum ! 632: if (iczero) 42250, 2261, 42250 ! 633: 42250 if (ivcomp -9) 22250,12250,22250 ! 634: 12250 ivpass = ivpass + 1 ! 635: write (i02,80001) ivtnum ! 636: go to 2261 ! 637: 22250 ivfail = ivfail + 1 ! 638: ivcorr = 9 ! 639: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 640: 2261 continue ! 641: ivtnum = 226 ! 642: c ! 643: c **** test 226 **** ! 644: c ! 645: if (iczero) 32260, 2260, 32260 ! 646: 2260 continue ! 647: ivon01 = 2 ! 648: ivcomp = ivon01 + (3+4) ! 649: go to 42260 ! 650: 32260 ivdele = ivdele + 1 ! 651: write (i02,80003) ivtnum ! 652: if (iczero) 42260, 2271, 42260 ! 653: 42260 if (ivcomp - 9) 22260,12260,22260 ! 654: 12260 ivpass = ivpass + 1 ! 655: write (i02,80001) ivtnum ! 656: go to 2271 ! 657: 22260 ivfail = ivfail + 1 ! 658: ivcorr = 9 ! 659: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 660: 2271 continue ! 661: ivtnum = 227 ! 662: c ! 663: c **** test 227 **** ! 664: c ! 665: if (iczero) 32270, 2270, 32270 ! 666: 2270 continue ! 667: ivon01 = 3 ! 668: ivcomp = (2+ivon01) + 4 ! 669: go to 42270 ! 670: 32270 ivdele = ivdele + 1 ! 671: write (i02,80003) ivtnum ! 672: if (iczero) 42270, 2281, 42270 ! 673: 42270 if (ivcomp - 9) 22270,12270,22270 ! 674: 12270 ivpass = ivpass + 1 ! 675: write (i02,80001) ivtnum ! 676: go to 2281 ! 677: 22270 ivfail = ivfail + 1 ! 678: ivcorr = 9 ! 679: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 680: 2281 continue ! 681: ivtnum = 228 ! 682: c ! 683: c **** test 228 **** ! 684: c ! 685: if (iczero) 32280, 2280, 32280 ! 686: 2280 continue ! 687: ivon01 = 3 ! 688: ivcomp = 2 +(ivon01+4) ! 689: go to 42280 ! 690: 32280 ivdele = ivdele + 1 ! 691: write (i02,80003) ivtnum ! 692: if (iczero) 42280, 2291, 42280 ! 693: 42280 if (ivcomp - 9) 22280, 12280, 22280 ! 694: 12280 ivpass = ivpass + 1 ! 695: write (i02,80001) ivtnum ! 696: go to 2291 ! 697: 22280 ivfail = ivfail + 1 ! 698: ivcorr = 9 ! 699: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 700: 2291 continue ! 701: ivtnum = 229 ! 702: c ! 703: c **** test 229 **** ! 704: c ! 705: if (iczero) 32290, 2290, 32290 ! 706: 2290 continue ! 707: ivon01 = 4 ! 708: ivcomp = (2+3)+ivon01 ! 709: go to 42290 ! 710: 32290 ivdele = ivdele + 1 ! 711: write (i02,80003) ivtnum ! 712: if (iczero) 42290, 2301, 42290 ! 713: 42290 if (ivcomp - 9) 22290,12290,22290 ! 714: 12290 ivpass = ivpass + 1 ! 715: write (i02,80001) ivtnum ! 716: go to 2301 ! 717: 22290 ivfail = ivfail + 1 ! 718: ivcorr = 9 ! 719: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 720: 2301 continue ! 721: ivtnum = 230 ! 722: c ! 723: c **** test 230 **** ! 724: c ! 725: if (iczero) 32300, 2300, 32300 ! 726: 2300 continue ! 727: ivon01 = 2189 ! 728: ivcomp = 1358 + (ivon01+8001) ! 729: go to 42300 ! 730: 32300 ivdele = ivdele + 1 ! 731: write (i02,80003) ivtnum ! 732: if (iczero) 42300, 2311, 42300 ! 733: 42300 if (ivcomp - 11548) 22300,12300,22300 ! 734: 12300 ivpass = ivpass + 1 ! 735: write (i02,80001) ivtnum ! 736: go to 2311 ! 737: 22300 ivfail = ivfail + 1 ! 738: ivcorr = 11548 ! 739: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 740: 2311 continue ! 741: ivtnum = 231 ! 742: c ! 743: c **** test 231 **** ! 744: c ! 745: if (iczero) 32310, 2310, 32310 ! 746: 2310 continue ! 747: ivon01 = 2189 ! 748: ivcomp = (1358+ivon01) + 8001 ! 749: go to 42310 ! 750: 32310 ivdele = ivdele + 1 ! 751: write (i02,80003) ivtnum ! 752: if (iczero) 42310, 2321, 42310 ! 753: 42310 if (ivcomp - 11548) 22310,12310,22310 ! 754: 12310 ivpass = ivpass + 1 ! 755: write (i02,80001) ivtnum ! 756: go to 2321 ! 757: 22310 ivfail = ivfail + 1 ! 758: ivcorr = 11548 ! 759: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 760: 2321 continue ! 761: ivtnum = 232 ! 762: c ! 763: c **** test 232 **** ! 764: c ! 765: if (iczero) 32320, 2320, 32320 ! 766: 2320 continue ! 767: ivon01 = 11111 ! 768: ivcomp = (11111 + ivon01) + 10111 ! 769: go to 42320 ! 770: 32320 ivdele = ivdele + 1 ! 771: write (i02,80003) ivtnum ! 772: if (iczero) 42320, 2331, 42320 ! 773: 42320 if (ivcomp - 32333) 22320,12320,22320 ! 774: 12320 ivpass = ivpass + 1 ! 775: write (i02,80001) ivtnum ! 776: go to 2331 ! 777: 22320 ivfail = ivfail + 1 ! 778: ivcorr = 32333 ! 779: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 780: 2331 continue ! 781: ivtnum = 233 ! 782: c ! 783: c **** test 233 **** ! 784: c ! 785: if (iczero) 32330, 2330, 32330 ! 786: 2330 continue ! 787: ivon01 = 11111 ! 788: ivcomp = (ivon01 + 10111) + 11111 ! 789: go to 42330 ! 790: 32330 ivdele = ivdele + 1 ! 791: write (i02,80003) ivtnum ! 792: if (iczero) 42330, 2341, 42330 ! 793: 42330 if (ivcomp - 32333) 22330,12330,22330 ! 794: 12330 ivpass = ivpass + 1 ! 795: write (i02,80001) ivtnum ! 796: go to 2341 ! 797: 22330 ivfail = ivfail + 1 ! 798: ivcorr = 32333 ! 799: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 800: 2341 continue ! 801: ivtnum = 234 ! 802: c ! 803: c **** test 234 **** ! 804: c ! 805: if (iczero) 32340, 2340, 32340 ! 806: 2340 continue ! 807: ivon01 = 10111 ! 808: ivcomp = 11111 + (11111+ivon01) ! 809: go to 42340 ! 810: 32340 ivdele = ivdele + 1 ! 811: write (i02,80003) ivtnum ! 812: if (iczero) 42340, 2351, 42340 ! 813: 42340 if (ivcomp - 32333) 22340,12340,22340 ! 814: 12340 ivpass = ivpass + 1 ! 815: write (i02,80001) ivtnum ! 816: go to 2351 ! 817: 22340 ivfail = ivfail + 1 ! 818: ivcorr = 32333 ! 819: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 820: 2351 continue ! 821: c ! 822: c write page footings and run summaries ! 823: 99999 continue ! 824: write (i02,90002) ! 825: write (i02,90006) ! 826: write (i02,90002) ! 827: write (i02,90002) ! 828: write (i02,90007) ! 829: write (i02,90002) ! 830: write (i02,90008) ivfail ! 831: write (i02,90009) ivpass ! 832: write (i02,90010) ivdele ! 833: c ! 834: c ! 835: c terminate routine execution ! 836: stop ! 837: c ! 838: c format statements for page headers ! 839: 90000 format (1h1) ! 840: 90002 format (1h ) ! 841: 90001 format (1h ,10x,34hfortran compiler validation system) ! 842: 90003 format (1h ,21x,11hversion 1.0) ! 843: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 844: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 845: 90006 format (1h ,5x,46h----------------------------------------------) ! 846: 90011 format (1h ,18x,17hsubset level test) ! 847: c ! 848: c format statements for run summaries ! 849: 90008 format (1h ,15x,i5,19h errors encountered) ! 850: 90009 format (1h ,15x,i5,13h tests passed) ! 851: 90010 format (1h ,15x,i5,14h tests deleted) ! 852: c ! 853: c format statements for test results ! 854: 80001 format (1h ,4x,i5,7x,4hpass) ! 855: 80002 format (1h ,4x,i5,7x,4hfail) ! 856: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 857: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 858: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 859: c ! 860: 90007 format (1h ,20x,20hend of program fm008) ! 861: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.