|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm035 ! 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 variables and integer constant. some of the ! 10: c tests use parentheses to group elements in the expression and to ! 11: c allow the use of negative constants following the * operator. ! 12: c the integer variables contain positive and negative values. ! 13: c ! 14: c there are tests where the arithmetic expression contains ! 15: c (1) integer variable * integer variable ! 16: c (2) integer variable * integer variable * integer constant ! 17: c integer variable * integer constant * integer variable ! 18: c integer constant * integer variable * integer variable ! 19: c (3) same as (2) but with parentheses to group elements. ! 20: c ! 21: c references ! 22: c american national standard programming language fortran, ! 23: c x3.9-1978 ! 24: c ! 25: c section 4.3, integer type ! 26: c section 4.3.1, integer constant ! 27: c section 6.1, arithmetic expressions ! 28: c section 10.1, arithmetic assignment statement ! 29: c ! 30: c ********************************************************** ! 31: c ! 32: c a compiler validation system for the fortran language ! 33: c based on specifications as defined in american national standard ! 34: c programming language fortran x3.9-1978, has been developed by the ! 35: c federal cobol compiler testing service. the fortran compiler ! 36: c validation system (fcvs) consists of audit routines, their related ! 37: c data, and an executive system. each audit routine is a fortran ! 38: c program, subprogram or function which includes tests of specific ! 39: c language elements and supporting procedures indicating the result ! 40: c of executing these tests. ! 41: c ! 42: c this particular program/subprogram/function contains features ! 43: c found only in the subset as defined in x3.9-1978. ! 44: c ! 45: c suggestions and comments should be forwarded to - ! 46: c ! 47: c department of the navy ! 48: c federal cobol compiler testing service ! 49: c washington, d.c. 20376 ! 50: c ! 51: c ********************************************************** ! 52: c ! 53: c ! 54: c ! 55: c initialization section ! 56: c ! 57: c initialize constants ! 58: c ************** ! 59: c i01 contains the logical unit number for the card reader. ! 60: i01 = 5 ! 61: c i02 contains the logical unit number for the printer. ! 62: i02 = 6 ! 63: c system environment section ! 64: c ! 65: cx010 this card is replaced by contents of fexec x-010 control card. ! 66: c the cx010 card is for overriding the program default i01 = 5 ! 67: c (unit number for card reader). ! 68: cx011 this card is replaced by contents of fexec x-011 control card. ! 69: c the cx011 card is for systems which require additional ! 70: c fortran statements for files associated with cx010 above. ! 71: c ! 72: cx020 this card is replaced by contents of fexec x-020 control card. ! 73: c the cx020 card is for overriding the program default i02 = 6 ! 74: c (unit number for printer). ! 75: cx021 this card is replaced by contents of fexec x-021 control card. ! 76: c the cx021 card is for systems which require additional ! 77: c fortran statements for files associated with cx020 above. ! 78: c ! 79: ivpass=0 ! 80: ivfail=0 ! 81: ivdele=0 ! 82: iczero=0 ! 83: c ! 84: c write page headers ! 85: write (i02,90000) ! 86: write (i02,90001) ! 87: write (i02,90002) ! 88: write (i02, 90002) ! 89: write (i02,90003) ! 90: write (i02,90002) ! 91: write (i02,90004) ! 92: write (i02,90002) ! 93: write (i02,90011) ! 94: write (i02,90002) ! 95: write (i02,90002) ! 96: write (i02,90005) ! 97: write (i02,90006) ! 98: write (i02,90002) ! 99: c ! 100: c test section ! 101: c ! 102: c arithmetic assignment statement ! 103: c ! 104: c test 430 through test 441 contain two integer variables and ! 105: c operator * in an arithmetic expression. ! 106: c the form is iv = iv * iv ! 107: c ! 108: c test 430 through test 433 - two positive variables ! 109: c ! 110: 4301 continue ! 111: ivtnum = 430 ! 112: c ! 113: c **** test 430 **** ! 114: c ! 115: if (iczero) 34300, 4300, 34300 ! 116: 4300 continue ! 117: ivon01 = 2 ! 118: ivon02 = 3 ! 119: ivcomp = ivon01 * ivon02 ! 120: go to 44300 ! 121: 34300 ivdele = ivdele + 1 ! 122: write (i02,80003) ivtnum ! 123: if (iczero) 44300, 4311, 44300 ! 124: 44300 if (ivcomp - 6) 24300,14300,24300 ! 125: 14300 ivpass = ivpass + 1 ! 126: write (i02,80001) ivtnum ! 127: go to 4311 ! 128: 24300 ivfail = ivfail + 1 ! 129: ivcorr = 6 ! 130: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 131: 4311 continue ! 132: ivtnum = 431 ! 133: c ! 134: c **** test 431 **** ! 135: c ! 136: if (iczero) 34310, 4310, 34310 ! 137: 4310 continue ! 138: ivon01 = 13 ! 139: ivon02 = 11 ! 140: ivcomp = ivon01 * ivon02 ! 141: go to 44310 ! 142: 34310 ivdele = ivdele + 1 ! 143: write (i02,80003) ivtnum ! 144: if (iczero) 44310, 4321, 44310 ! 145: 44310 if (ivcomp - 143) 24310,14310,24310 ! 146: 14310 ivpass = ivpass + 1 ! 147: write (i02,80001) ivtnum ! 148: go to 4321 ! 149: 24310 ivfail = ivfail + 1 ! 150: ivcorr = 143 ! 151: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 152: 4321 continue ! 153: ivtnum = 432 ! 154: c ! 155: c **** test 432 **** ! 156: c ! 157: if (iczero) 34320, 4320, 34320 ! 158: 4320 continue ! 159: ivon01 = 223 ! 160: ivon02 = 99 ! 161: ivcomp = ivon01 * ivon02 ! 162: go to 44320 ! 163: 34320 ivdele = ivdele + 1 ! 164: write (i02,80003) ivtnum ! 165: if (iczero) 44320, 4331, 44320 ! 166: 44320 if (ivcomp - 22077) 24320,14320,24320 ! 167: 14320 ivpass = ivpass + 1 ! 168: write (i02,80001) ivtnum ! 169: go to 4331 ! 170: 24320 ivfail = ivfail + 1 ! 171: ivcorr = 22077 ! 172: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 173: 4331 continue ! 174: ivtnum = 433 ! 175: c ! 176: c **** test 433 **** ! 177: c ! 178: if (iczero) 34330, 4330, 34330 ! 179: 4330 continue ! 180: ivon01 = 11235 ! 181: ivon02 = 2 ! 182: ivcomp = ivon01*ivon02 ! 183: go to 44330 ! 184: 34330 ivdele = ivdele + 1 ! 185: write (i02,80003) ivtnum ! 186: if (iczero) 44330, 4341, 44330 ! 187: 44330 if (ivcomp - 22470) 24330,14330,24330 ! 188: 14330 ivpass = ivpass + 1 ! 189: write (i02,80001) ivtnum ! 190: go to 4341 ! 191: 24330 ivfail = ivfail + 1 ! 192: ivcorr = 22470 ! 193: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 194: c ! 195: c test 434 through test 437 ! 196: c one negative variable, one positive variable ! 197: c ! 198: 4341 continue ! 199: ivtnum = 434 ! 200: c ! 201: c **** test 434 **** ! 202: c ! 203: if (iczero) 34340, 4340, 34340 ! 204: 4340 continue ! 205: ivon01 = -2 ! 206: ivon02 = 3 ! 207: ivcomp = ivon01 * ivon02 ! 208: go to 44340 ! 209: 34340 ivdele = ivdele + 1 ! 210: write (i02,80003) ivtnum ! 211: if (iczero) 44340, 4351, 44340 ! 212: 44340 if (ivcomp +6) 24340,14340,24340 ! 213: 14340 ivpass = ivpass + 1 ! 214: write (i02,80001) ivtnum ! 215: go to 4351 ! 216: 24340 ivfail = ivfail + 1 ! 217: ivcorr = -6 ! 218: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 219: 4351 continue ! 220: ivtnum = 435 ! 221: c ! 222: c **** test 435 **** ! 223: c ! 224: if (iczero) 34350, 4350, 34350 ! 225: 4350 continue ! 226: ivon01 = -13 ! 227: ivon02 = +11 ! 228: ivcomp = ivon01*ivon02 ! 229: go to 44350 ! 230: 34350 ivdele = ivdele + 1 ! 231: write (i02,80003) ivtnum ! 232: if (iczero) 44350, 4361, 44350 ! 233: 44350 if (ivcomp + 143) 24350,14350,24350 ! 234: 14350 ivpass = ivpass + 1 ! 235: write (i02,80001) ivtnum ! 236: go to 4361 ! 237: 24350 ivfail = ivfail + 1 ! 238: ivcorr = -143 ! 239: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 240: 4361 continue ! 241: ivtnum = 436 ! 242: c ! 243: c **** test 436 **** ! 244: c ! 245: if (iczero) 34360, 4360, 34360 ! 246: 4360 continue ! 247: ivon01 = -223 ! 248: ivon02 = 99 ! 249: ivcomp = ivon01 * ivon02 ! 250: go to 44360 ! 251: 34360 ivdele = ivdele + 1 ! 252: write (i02,80003) ivtnum ! 253: if (iczero) 44360, 4371, 44360 ! 254: 44360 if (ivcomp + 22077) 24360,14360,24360 ! 255: 14360 ivpass = ivpass + 1 ! 256: write (i02,80001) ivtnum ! 257: go to 4371 ! 258: 24360 ivfail = ivfail + 1 ! 259: ivcorr = -22077 ! 260: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 261: 4371 continue ! 262: ivtnum = 437 ! 263: c ! 264: c **** test 437 **** ! 265: c ! 266: if (iczero) 34370, 4370, 34370 ! 267: 4370 continue ! 268: ivon01 = -11235 ! 269: ivon02 = 2 ! 270: ivcomp = ivon01 * ivon02 ! 271: go to 44370 ! 272: 34370 ivdele = ivdele + 1 ! 273: write (i02,80003) ivtnum ! 274: if (iczero) 44370, 4381, 44370 ! 275: 44370 if (ivcomp + 22470) 24370,14370,24370 ! 276: 14370 ivpass = ivpass + 1 ! 277: write (i02,80001) ivtnum ! 278: go to 4381 ! 279: 24370 ivfail = ivfail + 1 ! 280: ivcorr = -22470 ! 281: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 282: c ! 283: c test 438 through test 441 - two negative variables ! 284: 4381 continue ! 285: ivtnum = 438 ! 286: c ! 287: c **** test 438 **** ! 288: c ! 289: if (iczero) 34380, 4380, 34380 ! 290: 4380 continue ! 291: ivon01 = -2 ! 292: ivon02 = -3 ! 293: ivcomp = ivon01 * ivon02 ! 294: go to 44380 ! 295: 34380 ivdele = ivdele + 1 ! 296: write (i02,80003) ivtnum ! 297: if (iczero) 44380, 4391, 44380 ! 298: 44380 if (ivcomp - 6) 24380,14380,24380 ! 299: 14380 ivpass = ivpass + 1 ! 300: write (i02,80001) ivtnum ! 301: go to 4391 ! 302: 24380 ivfail = ivfail + 1 ! 303: ivcorr = 6 ! 304: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 305: 4391 continue ! 306: ivtnum = 439 ! 307: c ! 308: c **** test 439 **** ! 309: c ! 310: if (iczero) 34390, 4390, 34390 ! 311: 4390 continue ! 312: ivon01 = -13 ! 313: ivon02 = -11 ! 314: ivcomp = ivon01 * ivon02 ! 315: go to 44390 ! 316: 34390 ivdele = ivdele + 1 ! 317: write (i02,80003) ivtnum ! 318: if (iczero) 44390, 4401, 44390 ! 319: 44390 if (ivcomp - 143) 24390,14390,24390 ! 320: 14390 ivpass = ivpass + 1 ! 321: write (i02,80001) ivtnum ! 322: go to 4401 ! 323: 24390 ivfail = ivfail + 1 ! 324: ivcorr = 143 ! 325: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 326: 4401 continue ! 327: ivtnum = 440 ! 328: c ! 329: c **** test 440 **** ! 330: c ! 331: if (iczero) 34400, 4400, 34400 ! 332: 4400 continue ! 333: ivon01 = -223 ! 334: ivon02 = -99 ! 335: ivcomp = ivon01*ivon02 ! 336: go to 44400 ! 337: 34400 ivdele = ivdele + 1 ! 338: write (i02,80003) ivtnum ! 339: if (iczero) 44400, 4411, 44400 ! 340: 44400 if (ivcomp - 22077) 24400,14400,24400 ! 341: 14400 ivpass = ivpass + 1 ! 342: write (i02,80001) ivtnum ! 343: go to 4411 ! 344: 24400 ivfail = ivfail + 1 ! 345: ivcorr = 22077 ! 346: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 347: 4411 continue ! 348: ivtnum = 441 ! 349: c ! 350: c **** test 441 **** ! 351: c ! 352: if (iczero) 34410, 4410, 34410 ! 353: 4410 continue ! 354: ivon01 = -5461 ! 355: ivon02 = -6 ! 356: ivcomp = ivon01 * ivon02 ! 357: go to 44410 ! 358: 34410 ivdele = ivdele + 1 ! 359: write (i02,80003) ivtnum ! 360: if (iczero) 44410, 4421, 44410 ! 361: 44410 if (ivcomp - 32766) 24410, 14410, 24410 ! 362: 14410 ivpass = ivpass + 1 ! 363: write (i02,80001) ivtnum ! 364: go to 4421 ! 365: 24410 ivfail = ivfail + 1 ! 366: ivcorr = 32766 ! 367: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 368: c ! 369: c test 442 through test 445 contain signed integer variables and ! 370: c operator * in an arithmetic expression. ! 371: 4421 continue ! 372: ivtnum = 442 ! 373: c ! 374: c **** test 442 **** ! 375: c form is iv = -iv*iv ! 376: c ! 377: if (iczero) 34420, 4420, 34420 ! 378: 4420 continue ! 379: ivon01 = 2 ! 380: ivon02 = 3 ! 381: ivcomp = -ivon01 * ivon02 ! 382: go to 44420 ! 383: 34420 ivdele = ivdele + 1 ! 384: write (i02,80003) ivtnum ! 385: if (iczero) 44420, 4431, 44420 ! 386: 44420 if (ivcomp + 6) 24420,14420,24420 ! 387: 14420 ivpass = ivpass + 1 ! 388: write (i02,80001) ivtnum ! 389: go to 4431 ! 390: 24420 ivfail = ivfail + 1 ! 391: ivcorr = -6 ! 392: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 393: 4431 continue ! 394: ivtnum = 443 ! 395: c ! 396: c **** test 443 **** ! 397: c form is iv = iv*(-iv) ! 398: c ! 399: if (iczero) 34430, 4430, 34430 ! 400: 4430 continue ! 401: ivon01 = 2 ! 402: ivon02 = 3 ! 403: ivcomp = ivon01 * (-ivon02) ! 404: go to 44430 ! 405: 34430 ivdele = ivdele + 1 ! 406: write (i02,80003) ivtnum ! 407: if (iczero) 44430, 4441, 44430 ! 408: 44430 if (ivcomp +6) 24430,14430,24430 ! 409: 14430 ivpass = ivpass + 1 ! 410: write (i02,80001) ivtnum ! 411: go to 4441 ! 412: 24430 ivfail = ivfail + 1 ! 413: ivcorr = -6 ! 414: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 415: 4441 continue ! 416: ivtnum = 444 ! 417: c ! 418: c **** test 444 **** ! 419: c form is iv = (-iv)*(-iv) ! 420: c ! 421: if (iczero) 34440, 4440, 34440 ! 422: 4440 continue ! 423: ivon01 = 2 ! 424: ivon02 = 3 ! 425: ivcomp = (-ivon01) * (-ivon02) ! 426: go to 44440 ! 427: 34440 ivdele = ivdele + 1 ! 428: write (i02,80003) ivtnum ! 429: if (iczero) 44440, 4451, 44440 ! 430: 44440 if (ivcomp - 6) 24440,14440,24440 ! 431: 14440 ivpass = ivpass + 1 ! 432: write (i02,80001) ivtnum ! 433: go to 4451 ! 434: 24440 ivfail = ivfail + 1 ! 435: ivcorr = 6 ! 436: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 437: 4451 continue ! 438: ivtnum = 445 ! 439: c ! 440: c **** test 445 **** ! 441: c form is iv = -iv * iv ! 442: c ! 443: if (iczero) 34450, 4450, 34450 ! 444: 4450 continue ! 445: ivon01 = -11235 ! 446: ivon02 = -2 ! 447: ivcomp = -ivon01 * ivon02 ! 448: go to 44450 ! 449: 34450 ivdele = ivdele + 1 ! 450: write (i02,80003) ivtnum ! 451: if (iczero) 44450, 4461, 44450 ! 452: 44450 if (ivcomp + 22470) 24450,14450,24450 ! 453: 14450 ivpass = ivpass + 1 ! 454: write (i02,80001) ivtnum ! 455: go to 4461 ! 456: 24450 ivfail = ivfail + 1 ! 457: ivcorr = -22470 ! 458: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 459: c ! 460: c test 446 through test 452 contain two integer variables, an ! 461: c integer constant and operator * in an arithmetic expression. ! 462: c ! 463: 4461 continue ! 464: ivtnum = 446 ! 465: c ! 466: c **** test 446 **** ! 467: c ! 468: if (iczero) 34460, 4460, 34460 ! 469: 4460 continue ! 470: ivon01 = 2 ! 471: ivon02 = 3 ! 472: ivcomp = ivon01 * ivon02 * 4 ! 473: go to 44460 ! 474: 34460 ivdele = ivdele + 1 ! 475: write (i02,80003) ivtnum ! 476: if (iczero) 44460, 4471, 44460 ! 477: 44460 if (ivcomp -24) 24460,14460,24460 ! 478: 14460 ivpass = ivpass + 1 ! 479: write (i02,80001) ivtnum ! 480: go to 4471 ! 481: 24460 ivfail = ivfail + 1 ! 482: ivcorr = 24 ! 483: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 484: 4471 continue ! 485: ivtnum = 447 ! 486: c ! 487: c **** test 447 **** ! 488: c ! 489: if (iczero) 34470, 4470, 34470 ! 490: 4470 continue ! 491: ivon01 = -2 ! 492: ivon02 = 3 ! 493: ivcomp = ivon01 * ivon02 * 4 ! 494: go to 44470 ! 495: 34470 ivdele = ivdele + 1 ! 496: write (i02,80003) ivtnum ! 497: if (iczero) 44470, 4481, 44470 ! 498: 44470 if (ivcomp +24) 24470,14470,24470 ! 499: 14470 ivpass = ivpass + 1 ! 500: write (i02,80001) ivtnum ! 501: go to 4481 ! 502: 24470 ivfail = ivfail + 1 ! 503: ivcorr = -24 ! 504: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 505: 4481 continue ! 506: ivtnum = 448 ! 507: c ! 508: c **** test 448 **** ! 509: c ! 510: if (iczero) 34480, 4480, 34480 ! 511: 4480 continue ! 512: ivon01 = -2 ! 513: ivon02 = 3 ! 514: ivcomp = ivon01 * ivon02 * (-4) ! 515: go to 44480 ! 516: 34480 ivdele = ivdele + 1 ! 517: write (i02,80003) ivtnum ! 518: if (iczero) 44480, 4491, 44480 ! 519: 44480 if (ivcomp -24) 24480,14480,24480 ! 520: 14480 ivpass = ivpass + 1 ! 521: write (i02,80001) ivtnum ! 522: go to 4491 ! 523: 24480 ivfail = ivfail + 1 ! 524: ivcorr = 24 ! 525: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 526: 4491 continue ! 527: ivtnum = 449 ! 528: c ! 529: c **** test 449 **** ! 530: c ! 531: if (iczero) 34490, 4490, 34490 ! 532: 4490 continue ! 533: ivon01 = 51 ! 534: ivon03 = 13 ! 535: ivcomp = ivon01 * 23 * ivon03 ! 536: go to 44490 ! 537: 34490 ivdele = ivdele + 1 ! 538: write (i02,80003) ivtnum ! 539: if (iczero) 44490, 4501, 44490 ! 540: 44490 if (ivcomp - 15249) 24490,14490,24490 ! 541: 14490 ivpass = ivpass + 1 ! 542: write (i02,80001) ivtnum ! 543: go to 4501 ! 544: 24490 ivfail = ivfail + 1 ! 545: ivcorr = 15249 ! 546: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 547: 4501 continue ! 548: ivtnum = 450 ! 549: c ! 550: c **** test 450 **** ! 551: c ! 552: if (iczero) 34500, 4500, 34500 ! 553: 4500 continue ! 554: ivon02 = 2 ! 555: ivon03 = 5461 ! 556: ivcomp = 3 * ivon02 * ivon03 ! 557: go to 44500 ! 558: 34500 ivdele = ivdele + 1 ! 559: write (i02,80003) ivtnum ! 560: if (iczero) 44500, 4511, 44500 ! 561: 44500 if (ivcomp -32766) 24500,14500,24500 ! 562: 14500 ivpass = ivpass + 1 ! 563: write (i02,80001) ivtnum ! 564: go to 4511 ! 565: 24500 ivfail = ivfail + 1 ! 566: ivcorr = 32766 ! 567: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 568: 4511 continue ! 569: ivtnum = 451 ! 570: c ! 571: c **** test 451 **** ! 572: c ! 573: if (iczero) 34510, 4510, 34510 ! 574: 4510 continue ! 575: ivon01 = -51 ! 576: ivon03 = 13 ! 577: ivcomp = ivon01 * 23 * (-ivon03) ! 578: go to 44510 ! 579: 34510 ivdele = ivdele + 1 ! 580: write (i02,80003) ivtnum ! 581: if (iczero) 44510, 4521, 44510 ! 582: 44510 if (ivcomp - 15249) 24510,14510,24510 ! 583: 14510 ivpass = ivpass + 1 ! 584: write (i02,80001) ivtnum ! 585: go to 4521 ! 586: 24510 ivfail = ivfail + 1 ! 587: ivcorr = 15249 ! 588: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 589: 4521 continue ! 590: ivtnum = 452 ! 591: c ! 592: c **** test 452 **** ! 593: c ! 594: if (iczero) 34520, 4520, 34520 ! 595: 4520 continue ! 596: ivon01 = -5461 ! 597: ivon03 = 2 ! 598: ivcomp = ivon01 * (-3) * ivon03 ! 599: go to 44520 ! 600: 34520 ivdele = ivdele + 1 ! 601: write (i02,80003) ivtnum ! 602: if (iczero) 44520, 4531, 44520 ! 603: 44520 if (ivcomp - 32766) 24520,14520,24520 ! 604: 14520 ivpass = ivpass + 1 ! 605: write (i02,80001) ivtnum ! 606: go to 4531 ! 607: 24520 ivfail = ivfail + 1 ! 608: ivcorr = 32766 ! 609: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 610: c ! 611: c test 453 through test 461 contain two integer variables and one ! 612: c integer constant in an arithmetic expression. parentheses are ! 613: c used to group elements in the arithmetic expressions in these ! 614: c tests. ! 615: c ! 616: 4531 continue ! 617: ivtnum = 453 ! 618: c ! 619: c **** test 453 **** ! 620: c ! 621: if (iczero) 34530, 4530, 34530 ! 622: 4530 continue ! 623: ivon01 = 2 ! 624: ivon02 = 3 ! 625: ivcomp = ivon01 * (ivon02 * 4) ! 626: go to 44530 ! 627: 34530 ivdele = ivdele + 1 ! 628: write (i02,80003) ivtnum ! 629: if (iczero) 44530, 4541, 44530 ! 630: 44530 if (ivcomp - 24) 24530,14530,24530 ! 631: 14530 ivpass = ivpass + 1 ! 632: write (i02,80001) ivtnum ! 633: go to 4541 ! 634: 24530 ivfail = ivfail + 1 ! 635: ivcorr = 24 ! 636: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 637: 4541 continue ! 638: ivtnum = 454 ! 639: c ! 640: c **** test 454 **** ! 641: c ! 642: if (iczero) 34540, 4540, 34540 ! 643: 4540 continue ! 644: ivon01 = 2 ! 645: ivon02 = 3 ! 646: ivcomp = (ivon01 * ivon02) * 4 ! 647: go to 44540 ! 648: 34540 ivdele = ivdele + 1 ! 649: write (i02,80003) ivtnum ! 650: if (iczero) 44540, 4551, 44540 ! 651: 44540 if (ivcomp -24) 24540,14540,24540 ! 652: 14540 ivpass = ivpass + 1 ! 653: write (i02,80001) ivtnum ! 654: go to 4551 ! 655: 24540 ivfail = ivfail + 1 ! 656: ivcorr = 24 ! 657: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 658: 4551 continue ! 659: ivtnum = 455 ! 660: c ! 661: c **** test 455 **** ! 662: c ! 663: if (iczero) 34550, 4550, 34550 ! 664: 4550 continue ! 665: ivon01 = -2 ! 666: ivon02 = 3 ! 667: ivcomp = ivon01 *(ivon02 * (-4)) ! 668: go to 44550 ! 669: 34550 ivdele = ivdele + 1 ! 670: write (i02,80003) ivtnum ! 671: if (iczero) 44550, 4561, 44550 ! 672: 44550 if (ivcomp - 24) 24550,14550,24550 ! 673: 14550 ivpass = ivpass + 1 ! 674: write (i02,80001) ivtnum ! 675: go to 4561 ! 676: 24550 ivfail = ivfail + 1 ! 677: ivcorr = 24 ! 678: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 679: 4561 continue ! 680: ivtnum = 456 ! 681: c ! 682: c **** test 456 **** ! 683: c ! 684: if (iczero) 34560, 4560, 34560 ! 685: 4560 continue ! 686: ivon01 = -2 ! 687: ivon02 = -3 ! 688: ivcomp = ivon01 * (ivon02 * 4) ! 689: go to 44560 ! 690: 34560 ivdele = ivdele + 1 ! 691: write (i02,80003) ivtnum ! 692: if (iczero) 44560, 4571, 44560 ! 693: 44560 if (ivcomp -24) 24560,14560,24560 ! 694: 14560 ivpass = ivpass + 1 ! 695: write (i02,80001) ivtnum ! 696: go to 4571 ! 697: 24560 ivfail = ivfail + 1 ! 698: ivcorr = 24 ! 699: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 700: 4571 continue ! 701: ivtnum = 457 ! 702: c ! 703: c **** test 457 **** ! 704: c ! 705: if (iczero) 34570, 4570, 34570 ! 706: 4570 continue ! 707: ivon01 = -2 ! 708: ivon02 = -3 ! 709: ivcomp = (ivon01*ivon02) * (-4) ! 710: go to 44570 ! 711: 34570 ivdele = ivdele + 1 ! 712: write (i02,80003) ivtnum ! 713: if (iczero) 44570, 4581, 44570 ! 714: 44570 if (ivcomp +24) 24570,14570,24570 ! 715: 14570 ivpass = ivpass + 1 ! 716: write (i02,80001) ivtnum ! 717: go to 4581 ! 718: 24570 ivfail = ivfail + 1 ! 719: ivcorr = -24 ! 720: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 721: 4581 continue ! 722: ivtnum = 458 ! 723: c ! 724: c **** test 458 **** ! 725: c ! 726: if (iczero) 34580, 4580, 34580 ! 727: 4580 continue ! 728: ivon01 = 23 ! 729: ivon03 = 13 ! 730: ivcomp = ivon01 * (51 * ivon03) ! 731: go to 44580 ! 732: 34580 ivdele = ivdele + 1 ! 733: write (i02,80003) ivtnum ! 734: if (iczero) 44580, 4591, 44580 ! 735: 44580 if (ivcomp -15249) 24580,14580,24580 ! 736: 14580 ivpass = ivpass + 1 ! 737: write (i02,80001) ivtnum ! 738: go to 4591 ! 739: 24580 ivfail = ivfail + 1 ! 740: ivcorr = 15249 ! 741: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 742: 4591 continue ! 743: ivtnum = 459 ! 744: c ! 745: c **** test 459 **** ! 746: c ! 747: if (iczero) 34590, 4590, 34590 ! 748: 4590 continue ! 749: ivon02 = 51 ! 750: ivon03 = 13 ! 751: ivcomp = (23 * ivon02) * ivon03 ! 752: go to 44590 ! 753: 34590 ivdele = ivdele + 1 ! 754: write (i02,80003) ivtnum ! 755: if (iczero) 44590, 4601, 44590 ! 756: 44590 if (ivcomp - 15249) 24590,14590,24590 ! 757: 14590 ivpass = ivpass + 1 ! 758: write (i02,80001) ivtnum ! 759: go to 4601 ! 760: 24590 ivfail = ivfail + 1 ! 761: ivcorr = 15249 ! 762: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 763: 4601 continue ! 764: ivtnum = 460 ! 765: c ! 766: c **** test 460 **** ! 767: c ! 768: if (iczero) 34600, 4600, 34600 ! 769: 4600 continue ! 770: ivon01 = -23 ! 771: ivon03 = 13 ! 772: ivcomp = (ivon01 * (-51)) * (-ivon03) ! 773: go to 44600 ! 774: 34600 ivdele = ivdele + 1 ! 775: write (i02,80003) ivtnum ! 776: if (iczero) 44600, 4611, 44600 ! 777: 44600 if (ivcomp + 15249) 24600,14600,24600 ! 778: 14600 ivpass = ivpass + 1 ! 779: write (i02,80001) ivtnum ! 780: go to 4611 ! 781: 24600 ivfail = ivfail + 1 ! 782: ivcorr = -15249 ! 783: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 784: 4611 continue ! 785: ivtnum = 461 ! 786: c ! 787: c **** test 461 **** ! 788: c ! 789: if (iczero) 34610, 4610, 34610 ! 790: 4610 continue ! 791: ivon02 = 51 ! 792: ivon03 = 13 ! 793: ivcomp = -23 * (ivon02*ivon03) ! 794: go to 44610 ! 795: 34610 ivdele = ivdele + 1 ! 796: write (i02,80003) ivtnum ! 797: if (iczero) 44610, 4621, 44610 ! 798: 44610 if (ivcomp + 15249) 24610,14610,24610 ! 799: 14610 ivpass = ivpass + 1 ! 800: write (i02,80001) ivtnum ! 801: go to 4621 ! 802: 24610 ivfail = ivfail + 1 ! 803: ivcorr = -15249 ! 804: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 805: c **** end of tests **** ! 806: 4621 continue ! 807: c ! 808: c write page footings and run summaries ! 809: 99999 continue ! 810: write (i02,90002) ! 811: write (i02,90006) ! 812: write (i02,90002) ! 813: write (i02,90002) ! 814: write (i02,90007) ! 815: write (i02,90002) ! 816: write (i02,90008) ivfail ! 817: write (i02,90009) ivpass ! 818: write (i02,90010) ivdele ! 819: c ! 820: c ! 821: c terminate routine execution ! 822: stop ! 823: c ! 824: c format statements for page headers ! 825: 90000 format (1h1) ! 826: 90002 format (1h ) ! 827: 90001 format (1h ,10x,34hfortran compiler validation system) ! 828: 90003 format (1h ,21x,11hversion 1.0) ! 829: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 830: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 831: 90006 format (1h ,5x,46h----------------------------------------------) ! 832: 90011 format (1h ,18x,17hsubset level test) ! 833: c ! 834: c format statements for run summaries ! 835: 90008 format (1h ,15x,i5,19h errors encountered) ! 836: 90009 format (1h ,15x,i5,13h tests passed) ! 837: 90010 format (1h ,15x,i5,14h tests deleted) ! 838: c ! 839: c format statements for test results ! 840: 80001 format (1h ,4x,i5,7x,4hpass) ! 841: 80002 format (1h ,4x,i5,7x,4hfail) ! 842: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 843: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 844: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 845: c ! 846: 90007 format (1h ,20x,20hend of program fm035) ! 847: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.