|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm034 ! 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 variable 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 constant ! 16: c integer constant * integer variable ! 17: c (2) integer constant * integer variable * integer constant ! 18: c (3) same as (2) but with parens to group elements. ! 19: c ! 20: c references ! 21: c american national standard programming language fortran, ! 22: c x3.9-1978 ! 23: c ! 24: c section 4.3, integer type ! 25: c section 4.3.1, integer constant ! 26: c section 6.1, arithmetic expressions ! 27: c section 10.1, arithmetic assignment statement ! 28: c ! 29: c ********************************************************** ! 30: c ! 31: c a compiler validation system for the fortran language ! 32: c based on specifications as defined in american national standard ! 33: c programming language fortran x3.9-1978, has been developed by the ! 34: c federal cobol compiler testing service. the fortran compiler ! 35: c validation system (fcvs) consists of audit routines, their related ! 36: c data, and an executive system. each audit routine is a fortran ! 37: c program, subprogram or function which includes tests of specific ! 38: c language elements and supporting procedures indicating the result ! 39: c of executing these tests. ! 40: c ! 41: c this particular program/subprogram/function contains features ! 42: c found only in the subset as defined in x3.9-1978. ! 43: c ! 44: c suggestions and comments should be forwarded to - ! 45: c ! 46: c department of the navy ! 47: c federal cobol compiler testing service ! 48: c washington, d.c. 20376 ! 49: c ! 50: c ********************************************************** ! 51: c ! 52: c ! 53: c ! 54: c initialization section ! 55: c ! 56: c initialize constants ! 57: c ************** ! 58: c i01 contains the logical unit number for the card reader. ! 59: i01 = 5 ! 60: c i02 contains the logical unit number for the printer. ! 61: i02 = 6 ! 62: c system environment section ! 63: c ! 64: cx010 this card is replaced by contents of fexec x-010 control card. ! 65: c the cx010 card is for overriding the program default i01 = 5 ! 66: c (unit number for card reader). ! 67: cx011 this card is replaced by contents of fexec x-011 control card. ! 68: c the cx011 card is for systems which require additional ! 69: c fortran statements for files associated with cx010 above. ! 70: c ! 71: cx020 this card is replaced by contents of fexec x-020 control card. ! 72: c the cx020 card is for overriding the program default i02 = 6 ! 73: c (unit number for printer). ! 74: cx021 this card is replaced by contents of fexec x-021 control card. ! 75: c the cx021 card is for systems which require additional ! 76: c fortran statements for files associated with cx020 above. ! 77: c ! 78: ivpass=0 ! 79: ivfail=0 ! 80: ivdele=0 ! 81: iczero=0 ! 82: c ! 83: c write page headers ! 84: write (i02,90000) ! 85: write (i02,90001) ! 86: write (i02,90002) ! 87: write (i02, 90002) ! 88: write (i02,90003) ! 89: write (i02,90002) ! 90: write (i02,90004) ! 91: write (i02,90002) ! 92: write (i02,90011) ! 93: write (i02,90002) ! 94: write (i02,90002) ! 95: write (i02,90005) ! 96: write (i02,90006) ! 97: write (i02,90002) ! 98: c ! 99: c test section ! 100: c ! 101: c arithmetic assignment statement ! 102: c ! 103: c test 395 through test 414 contain an integer variable, an integer ! 104: c constant, and operator * in an arithmetic expression. ! 105: c ! 106: c test 395 through test 406 - iv= iv * ic ! 107: c ! 108: c test 395 through test 398 ! 109: c positive integer variable, positive integer constant ! 110: c ! 111: 3951 continue ! 112: ivtnum = 395 ! 113: c ! 114: c **** test 395 **** ! 115: c ! 116: if (iczero) 33950, 3950, 33950 ! 117: 3950 continue ! 118: ivon01 = 2 ! 119: ivcomp = ivon01 * 3 ! 120: go to 43950 ! 121: 33950 ivdele = ivdele + 1 ! 122: write (i02,80003) ivtnum ! 123: if (iczero) 43950, 3961, 43950 ! 124: 43950 if (ivcomp -6) 23950,13950,23950 ! 125: 13950 ivpass = ivpass + 1 ! 126: write (i02,80001) ivtnum ! 127: go to 3961 ! 128: 23950 ivfail = ivfail + 1 ! 129: ivcorr =6 ! 130: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 131: 3961 continue ! 132: ivtnum = 396 ! 133: c ! 134: c **** test 396 **** ! 135: c ! 136: if (iczero) 33960, 3960, 33960 ! 137: 3960 continue ! 138: ivon01 = 13 ! 139: ivcomp = ivon01 * 11 ! 140: go to 43960 ! 141: 33960 ivdele = ivdele + 1 ! 142: write (i02,80003) ivtnum ! 143: if (iczero) 43960, 3971, 43960 ! 144: 43960 if (ivcomp - 143) 23960,13960,23960 ! 145: 13960 ivpass = ivpass + 1 ! 146: write (i02,80001) ivtnum ! 147: go to 3971 ! 148: 23960 ivfail = ivfail + 1 ! 149: ivcorr = 143 ! 150: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 151: 3971 continue ! 152: ivtnum = 397 ! 153: c ! 154: c **** test 397 **** ! 155: c ! 156: if (iczero) 33970, 3970, 33970 ! 157: 3970 continue ! 158: ivon01 = 223 ! 159: ivcomp = ivon01 * 99 ! 160: go to 43970 ! 161: 33970 ivdele = ivdele + 1 ! 162: write (i02,80003) ivtnum ! 163: if (iczero) 43970, 3981, 43970 ! 164: 43970 if (ivcomp - 22077) 23970,13970,23970 ! 165: 13970 ivpass = ivpass + 1 ! 166: write (i02,80001) ivtnum ! 167: go to 3981 ! 168: 23970 ivfail = ivfail + 1 ! 169: ivcorr = 22077 ! 170: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 171: 3981 continue ! 172: ivtnum = 398 ! 173: c ! 174: c **** test 398 **** ! 175: c ! 176: if (iczero) 33980, 3980, 33980 ! 177: 3980 continue ! 178: ivon01 = 11235 ! 179: ivcomp = ivon01 * 2 ! 180: go to 43980 ! 181: 33980 ivdele = ivdele + 1 ! 182: write (i02,80003) ivtnum ! 183: if (iczero) 43980, 3991, 43980 ! 184: 43980 if (ivcomp - 22470) 23980,13980,23980 ! 185: 13980 ivpass = ivpass + 1 ! 186: write (i02,80001) ivtnum ! 187: go to 3991 ! 188: 23980 ivfail = ivfail + 1 ! 189: ivcorr = 22470 ! 190: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 191: c ! 192: c test 399 through test 402 ! 193: c negative integer variable, positive integer constant ! 194: c ! 195: 3991 continue ! 196: ivtnum = 399 ! 197: c ! 198: c **** test 399 **** ! 199: c ! 200: if (iczero) 33990, 3990, 33990 ! 201: 3990 continue ! 202: ivon01 = -2 ! 203: ivcomp = ivon01 * 3 ! 204: go to 43990 ! 205: 33990 ivdele = ivdele + 1 ! 206: write (i02,80003) ivtnum ! 207: if (iczero) 43990, 4001, 43990 ! 208: 43990 if (ivcomp +6) 23990,13990,23990 ! 209: 13990 ivpass = ivpass + 1 ! 210: write (i02,80001) ivtnum ! 211: go to 4001 ! 212: 23990 ivfail = ivfail + 1 ! 213: ivcorr = -6 ! 214: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 215: 4001 continue ! 216: ivtnum = 400 ! 217: c ! 218: c **** test 400 **** ! 219: c ! 220: if (iczero) 34000, 4000, 34000 ! 221: 4000 continue ! 222: ivon01 = -13 ! 223: ivcomp =ivon01*11 ! 224: go to 44000 ! 225: 34000 ivdele = ivdele + 1 ! 226: write (i02,80003) ivtnum ! 227: if (iczero) 44000, 4011, 44000 ! 228: 44000 if (ivcomp +143) 24000,14000,24000 ! 229: 14000 ivpass = ivpass + 1 ! 230: write (i02,80001) ivtnum ! 231: go to 4011 ! 232: 24000 ivfail = ivfail + 1 ! 233: ivcorr = -143 ! 234: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 235: 4011 continue ! 236: ivtnum = 401 ! 237: c ! 238: c **** test 401 **** ! 239: c ! 240: if (iczero) 34010, 4010, 34010 ! 241: 4010 continue ! 242: ivon01 = -223 ! 243: ivcomp = ivon01*99 ! 244: go to 44010 ! 245: 34010 ivdele = ivdele + 1 ! 246: write (i02,80003) ivtnum ! 247: if (iczero) 44010, 4021, 44010 ! 248: 44010 if (ivcomp + 22077) 24010,14010,24010 ! 249: 14010 ivpass = ivpass + 1 ! 250: write (i02,80001) ivtnum ! 251: go to 4021 ! 252: 24010 ivfail = ivfail + 1 ! 253: ivcorr = -22077 ! 254: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 255: 4021 continue ! 256: ivtnum = 402 ! 257: c ! 258: c **** test 402 **** ! 259: c ! 260: if (iczero) 34020, 4020, 34020 ! 261: 4020 continue ! 262: ivon01 = -11235 ! 263: ivcomp = ivon01*2 ! 264: go to 44020 ! 265: 34020 ivdele = ivdele + 1 ! 266: write (i02,80003) ivtnum ! 267: if (iczero) 44020, 4031, 44020 ! 268: 44020 if (ivcomp+22470) 24020,14020,24020 ! 269: 14020 ivpass = ivpass + 1 ! 270: write (i02,80001) ivtnum ! 271: go to 4031 ! 272: 24020 ivfail = ivfail + 1 ! 273: ivcorr = -22470 ! 274: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 275: c ! 276: c test 403 and test 404 ! 277: c negative integer variable, negative integer constant ! 278: c ! 279: 4031 continue ! 280: ivtnum = 403 ! 281: c ! 282: c **** test 403 **** ! 283: c ! 284: if (iczero) 34030, 4030, 34030 ! 285: 4030 continue ! 286: ivon01=-2 ! 287: ivcomp = ivon01*(-3) ! 288: go to 44030 ! 289: 34030 ivdele = ivdele + 1 ! 290: write (i02,80003) ivtnum ! 291: if (iczero) 44030, 4041, 44030 ! 292: 44030 if (ivcomp -6) 24030,14030,24030 ! 293: 14030 ivpass = ivpass + 1 ! 294: write (i02,80001) ivtnum ! 295: go to 4041 ! 296: 24030 ivfail = ivfail + 1 ! 297: ivcorr =6 ! 298: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 299: 4041 continue ! 300: ivtnum = 404 ! 301: c ! 302: c **** test 404 **** ! 303: c ! 304: if (iczero) 34040, 4040, 34040 ! 305: 4040 continue ! 306: ivon01 = -13 ! 307: ivcomp = ivon01 * (-11) ! 308: go to 44040 ! 309: 34040 ivdele = ivdele + 1 ! 310: write (i02,80003) ivtnum ! 311: if (iczero) 44040, 4051, 44040 ! 312: 44040 if (ivcomp -143) 24040,14040,24040 ! 313: 14040 ivpass = ivpass + 1 ! 314: write (i02,80001) ivtnum ! 315: go to 4051 ! 316: 24040 ivfail = ivfail + 1 ! 317: ivcorr = 143 ! 318: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 319: c ! 320: c test 405 and test 406 ! 321: c positive integer variable, negative integer constant ! 322: c ! 323: 4051 continue ! 324: ivtnum = 405 ! 325: c ! 326: c **** test 405 **** ! 327: c ! 328: if (iczero) 34050, 4050, 34050 ! 329: 4050 continue ! 330: ivon01 = 223 ! 331: ivcomp = ivon01 * (-99) ! 332: go to 44050 ! 333: 34050 ivdele = ivdele + 1 ! 334: write (i02,80003) ivtnum ! 335: if (iczero) 44050, 4061, 44050 ! 336: 44050 if (ivcomp + 22077) 24050,14050,24050 ! 337: 14050 ivpass = ivpass + 1 ! 338: write (i02,80001) ivtnum ! 339: go to 4061 ! 340: 24050 ivfail = ivfail + 1 ! 341: ivcorr = -22077 ! 342: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 343: 4061 continue ! 344: ivtnum = 406 ! 345: c ! 346: c **** test 406 **** ! 347: c ! 348: if (iczero) 34060, 4060, 34060 ! 349: 4060 continue ! 350: ivon01 = 11235 ! 351: ivcomp = ivon01 * (-2) ! 352: go to 44060 ! 353: 34060 ivdele = ivdele + 1 ! 354: write (i02,80003) ivtnum ! 355: if (iczero) 44060, 4071, 44060 ! 356: 44060 if (ivcomp + 22470) 24060,14060,24060 ! 357: 14060 ivpass = ivpass + 1 ! 358: write (i02,80001) ivtnum ! 359: go to 4071 ! 360: 24060 ivfail = ivfail + 1 ! 361: ivcorr = -22470 ! 362: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 363: c ! 364: c test 407 through test 414 - iv = ic * iv ! 365: c ! 366: c test 407 and test 408 ! 367: c positive integer constant, positive integer variable ! 368: c ! 369: 4071 continue ! 370: ivtnum = 407 ! 371: c ! 372: c **** test 407 **** ! 373: c ! 374: if (iczero) 34070, 4070, 34070 ! 375: 4070 continue ! 376: ivon02 = 11 ! 377: ivcomp = 13*ivon02 ! 378: go to 44070 ! 379: 34070 ivdele = ivdele + 1 ! 380: write (i02,80003) ivtnum ! 381: if (iczero) 44070, 4081, 44070 ! 382: 44070 if (ivcomp - 143) 24070,14070,24070 ! 383: 14070 ivpass = ivpass + 1 ! 384: write (i02,80001) ivtnum ! 385: go to 4081 ! 386: 24070 ivfail = ivfail + 1 ! 387: ivcorr = 143 ! 388: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 389: 4081 continue ! 390: ivtnum = 408 ! 391: c ! 392: c **** test 408 **** ! 393: c ! 394: if (iczero) 34080, 4080, 34080 ! 395: 4080 continue ! 396: ivon02 = +11 ! 397: ivcomp = +13 * ivon02 ! 398: go to 44080 ! 399: 34080 ivdele = ivdele + 1 ! 400: write (i02,80003) ivtnum ! 401: if (iczero) 44080, 4091, 44080 ! 402: 44080 if (ivcomp - 143) 24080,14080,24080 ! 403: 14080 ivpass = ivpass + 1 ! 404: write (i02,80001) ivtnum ! 405: go to 4091 ! 406: 24080 ivfail = ivfail + 1 ! 407: ivcorr = 143 ! 408: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 409: c ! 410: c test 409 and test 410 ! 411: c positive integer constant, negative integer variable ! 412: c ! 413: 4091 continue ! 414: ivtnum = 409 ! 415: c ! 416: c **** test 409 **** ! 417: c ! 418: if (iczero) 34090, 4090, 34090 ! 419: 4090 continue ! 420: ivon02 = -99 ! 421: ivcomp = 223 * ivon02 ! 422: go to 44090 ! 423: 34090 ivdele = ivdele + 1 ! 424: write (i02,80003) ivtnum ! 425: if (iczero) 44090, 4101, 44090 ! 426: 44090 if (ivcomp + 22077) 24090,14090,24090 ! 427: 14090 ivpass = ivpass + 1 ! 428: write (i02,80001) ivtnum ! 429: go to 4101 ! 430: 24090 ivfail = ivfail + 1 ! 431: ivcorr =-22077 ! 432: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 433: 4101 continue ! 434: ivtnum = 410 ! 435: c ! 436: c **** test 410 **** ! 437: c ! 438: if (iczero) 34100, 4100, 34100 ! 439: 4100 continue ! 440: ivon02 = -99 ! 441: ivcomp = +223*ivon02 ! 442: go to 44100 ! 443: 34100 ivdele = ivdele + 1 ! 444: write (i02,80003) ivtnum ! 445: if (iczero) 44100, 4111, 44100 ! 446: 44100 if (ivcomp + 22077) 24100,14100,24100 ! 447: 14100 ivpass = ivpass + 1 ! 448: write (i02,80001) ivtnum ! 449: go to 4111 ! 450: 24100 ivfail = ivfail + 1 ! 451: ivcorr = -22077 ! 452: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 453: c ! 454: c test 411 and test 412 ! 455: c negative integer constant, positive integer variable ! 456: c ! 457: 4111 continue ! 458: ivtnum = 411 ! 459: c ! 460: c **** test 411 **** ! 461: c ! 462: if (iczero) 34110, 4110, 34110 ! 463: 4110 continue ! 464: ivon02 = 2 ! 465: ivcomp = (-11235) * ivon02 ! 466: go to 44110 ! 467: 34110 ivdele = ivdele + 1 ! 468: write (i02,80003) ivtnum ! 469: if (iczero) 44110, 4121, 44110 ! 470: 44110 if (ivcomp + 22470) 24110,14110,24110 ! 471: 14110 ivpass = ivpass + 1 ! 472: write (i02,80001) ivtnum ! 473: go to 4121 ! 474: 24110 ivfail = ivfail + 1 ! 475: ivcorr = -22470 ! 476: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 477: 4121 continue ! 478: ivtnum = 412 ! 479: c ! 480: c **** test 412 **** ! 481: c ! 482: if (iczero) 34120, 4120, 34120 ! 483: 4120 continue ! 484: ivon02 = +2 ! 485: ivcomp = -11235 * ivon02 ! 486: go to 44120 ! 487: 34120 ivdele = ivdele + 1 ! 488: write (i02,80003) ivtnum ! 489: if (iczero) 44120, 4131, 44120 ! 490: 44120 if (ivcomp + 22470) 24120,14120,24120 ! 491: 14120 ivpass=ivpass + 1 ! 492: write (i02,80001) ivtnum ! 493: go to 4131 ! 494: 24120 ivfail = ivfail + 1 ! 495: ivcorr = -22470 ! 496: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 497: c ! 498: c test 413 and test 414 ! 499: c negative integer constant, negative integer variable ! 500: c ! 501: 4131 continue ! 502: ivtnum = 413 ! 503: c ! 504: c **** test 413 **** ! 505: c ! 506: if (iczero) 34130, 4130, 34130 ! 507: 4130 continue ! 508: ivon02 = -3 ! 509: ivcomp = (-2) * ivon02 ! 510: go to 44130 ! 511: 34130 ivdele = ivdele + 1 ! 512: write (i02,80003) ivtnum ! 513: if (iczero) 44130, 4141, 44130 ! 514: 44130 if (ivcomp - 6) 24130,14130,24130 ! 515: 14130 ivpass = ivpass + 1 ! 516: write (i02,80001) ivtnum ! 517: go to 4141 ! 518: 24130 ivfail = ivfail + 1 ! 519: ivcorr = 6 ! 520: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 521: 4141 continue ! 522: ivtnum = 414 ! 523: c ! 524: c **** test 414 **** ! 525: c ! 526: if (iczero) 34140, 4140, 34140 ! 527: 4140 continue ! 528: ivon02 = -3 ! 529: ivcomp = -2 * ivon02 ! 530: go to 44140 ! 531: 34140 ivdele = ivdele + 1 ! 532: write (i02,80003) ivtnum ! 533: if (iczero) 44140, 4151, 44140 ! 534: 44140 if (ivcomp - 6) 24140,14140,24140 ! 535: 14140 ivpass = ivpass + 1 ! 536: write (i02,80001) ivtnum ! 537: go to 4151 ! 538: 24140 ivfail = ivfail + 1 ! 539: ivcorr = 6 ! 540: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 541: c ! 542: c test 415 through test 429 contain two integer constants, ! 543: c one integer variable and operator * in arithmetic expression. ! 544: c ! 545: 4151 continue ! 546: ivtnum = 415 ! 547: c ! 548: c **** test 415 **** ! 549: c ! 550: if (iczero) 34150, 4150, 34150 ! 551: 4150 continue ! 552: ivon01 = 2 ! 553: ivcomp = ivon01 * 3 * 4 ! 554: go to 44150 ! 555: 34150 ivdele = ivdele + 1 ! 556: write (i02,80003) ivtnum ! 557: if (iczero) 44150, 4161, 44150 ! 558: 44150 if (ivcomp - 24) 24150,14150,24150 ! 559: 14150 ivpass = ivpass + 1 ! 560: write (i02,80001) ivtnum ! 561: go to 4161 ! 562: 24150 ivfail = ivfail + 1 ! 563: ivcorr = 24 ! 564: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 565: 4161 continue ! 566: ivtnum = 416 ! 567: c ! 568: c **** test 416 **** ! 569: c ! 570: if (iczero) 34160, 4160, 34160 ! 571: 4160 continue ! 572: ivon01 = -2 ! 573: ivcomp = ivon01 *3*4 ! 574: go to 44160 ! 575: 34160 ivdele = ivdele + 1 ! 576: write (i02,80003) ivtnum ! 577: if (iczero) 44160, 4171, 44160 ! 578: 44160 if (ivcomp +24) 24160,14160,24160 ! 579: 14160 ivpass = ivpass + 1 ! 580: write (i02,80001) ivtnum ! 581: go to 4171 ! 582: 24160 ivfail = ivfail + 1 ! 583: ivcorr = -24 ! 584: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 585: 4171 continue ! 586: ivtnum = 417 ! 587: c ! 588: c **** test 417 **** ! 589: c ! 590: if (iczero) 34170, 4170, 34170 ! 591: 4170 continue ! 592: ivon01 = -2 ! 593: ivcomp = ivon01*3*(-4) ! 594: go to 44170 ! 595: 34170 ivdele = ivdele + 1 ! 596: write (i02,80003) ivtnum ! 597: if (iczero) 44170, 4181, 44170 ! 598: 44170 if (ivcomp -24) 24170,14170,24170 ! 599: 14170 ivpass = ivpass + 1 ! 600: write (i02,80001) ivtnum ! 601: go to 4181 ! 602: 24170 ivfail = ivfail + 1 ! 603: ivcorr = 24 ! 604: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 605: 4181 continue ! 606: ivtnum = 418 ! 607: c ! 608: c **** test 418 **** ! 609: c ! 610: if (iczero) 34180, 4180, 34180 ! 611: 4180 continue ! 612: ivon01 = -2 ! 613: ivcomp = ivon01*(-3)*(-4) ! 614: go to 44180 ! 615: 34180 ivdele = ivdele + 1 ! 616: write (i02,80003) ivtnum ! 617: if (iczero) 44180, 4191, 44180 ! 618: 44180 if (ivcomp +24) 24180,14180,24180 ! 619: 14180 ivpass = ivpass + 1 ! 620: write (i02,80001) ivtnum ! 621: go to 4191 ! 622: 24180 ivfail = ivfail + 1 ! 623: ivcorr = -24 ! 624: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 625: 4191 continue ! 626: ivtnum = 419 ! 627: c ! 628: c **** test 419 **** ! 629: c ! 630: if (iczero) 34190, 4190, 34190 ! 631: 4190 continue ! 632: ivon02 = 51 ! 633: ivcomp = 23*ivon02*13 ! 634: go to 44190 ! 635: 34190 ivdele = ivdele + 1 ! 636: write (i02,80003) ivtnum ! 637: if (iczero) 44190, 4201, 44190 ! 638: 44190 if (ivcomp-15249) 24190,14190,24190 ! 639: 14190 ivpass = ivpass + 1 ! 640: write (i02,80001) ivtnum ! 641: go to 4201 ! 642: 24190 ivfail = ivfail + 1 ! 643: ivcorr = 15249 ! 644: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 645: 4201 continue ! 646: ivtnum = 420 ! 647: c ! 648: c **** test 420 **** ! 649: c ! 650: if (iczero) 34200, 4200, 34200 ! 651: 4200 continue ! 652: ivon02 = -51 ! 653: ivcomp = 23*ivon02*(-13) ! 654: go to 44200 ! 655: 34200 ivdele = ivdele + 1 ! 656: write (i02,80003) ivtnum ! 657: if (iczero) 44200, 4211, 44200 ! 658: 44200 if (ivcomp - 15249) 24200,14200,24200 ! 659: 14200 ivpass = ivpass + 1 ! 660: write (i02,80001) ivtnum ! 661: go to 4211 ! 662: 24200 ivfail = ivfail + 1 ! 663: ivcorr = 15249 ! 664: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 665: 4211 continue ! 666: ivtnum = 421 ! 667: c ! 668: c **** test 421 **** ! 669: c ! 670: if (iczero) 34210, 4210, 34210 ! 671: 4210 continue ! 672: ivon02 = -51 ! 673: ivcomp = 23*ivon02*13 ! 674: go to 44210 ! 675: 34210 ivdele = ivdele + 1 ! 676: write (i02,80003) ivtnum ! 677: if (iczero) 44210, 4221, 44210 ! 678: 44210 if (ivcomp+15249) 24210,14210,24210 ! 679: 14210 ivpass = ivpass + 1 ! 680: write (i02,80001) ivtnum ! 681: go to 4221 ! 682: 24210 ivfail = ivfail + 1 ! 683: ivcorr = -15249 ! 684: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 685: 4221 continue ! 686: ivtnum = 422 ! 687: c ! 688: c **** test 422 **** ! 689: c ! 690: if (iczero) 34220, 4220, 34220 ! 691: 4220 continue ! 692: ivon02 = -51 ! 693: ivcomp =(-23)*ivon02*(-13) ! 694: go to 44220 ! 695: 34220 ivdele = ivdele + 1 ! 696: write (i02,80003) ivtnum ! 697: if (iczero) 44220, 4231, 44220 ! 698: 44220 if (ivcomp+15249) 24220,14220,24220 ! 699: 14220 ivpass = ivpass + 1 ! 700: write (i02,80001) ivtnum ! 701: go to 4231 ! 702: 24220 ivfail = ivfail + 1 ! 703: ivcorr = -15249 ! 704: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 705: 4231 continue ! 706: ivtnum = 423 ! 707: c ! 708: c **** test 423 **** ! 709: c ! 710: if (iczero) 34230, 4230, 34230 ! 711: 4230 continue ! 712: ivon03 = 5461 ! 713: ivcomp = 2*3*ivon03 ! 714: go to 44230 ! 715: 34230 ivdele = ivdele + 1 ! 716: write (i02,80003) ivtnum ! 717: if (iczero) 44230, 4241, 44230 ! 718: 44230 if (ivcomp - 32766) 24230,14230,24230 ! 719: 14230 ivpass = ivpass + 1 ! 720: write (i02,80001) ivtnum ! 721: go to 4241 ! 722: 24230 ivfail = ivfail + 1 ! 723: ivcorr = 32766 ! 724: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 725: 4241 continue ! 726: ivtnum = 424 ! 727: c ! 728: c **** test 424 **** ! 729: c ! 730: if (iczero) 34240, 4240, 34240 ! 731: 4240 continue ! 732: ivon03 = -5461 ! 733: ivcomp = 2*3*ivon03 ! 734: go to 44240 ! 735: 34240 ivdele = ivdele + 1 ! 736: write (i02,80003) ivtnum ! 737: if (iczero) 44240, 4251, 44240 ! 738: 44240 if (ivcomp +32766) 24240,14240,24240 ! 739: 14240 ivpass = ivpass + 1 ! 740: write (i02,80001) ivtnum ! 741: go to 4251 ! 742: 24240 ivfail = ivfail + 1 ! 743: ivcorr = -32766 ! 744: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 745: 4251 continue ! 746: ivtnum = 425 ! 747: c ! 748: c **** test 425 **** ! 749: c ! 750: if (iczero) 34250, 4250, 34250 ! 751: 4250 continue ! 752: ivon03 = -5461 ! 753: ivcomp = -2*3*ivon03 ! 754: go to 44250 ! 755: 34250 ivdele = ivdele + 1 ! 756: write (i02,80003) ivtnum ! 757: if (iczero) 44250, 4261, 44250 ! 758: 44250 if (ivcomp - 32766) 24250,14250,24250 ! 759: 14250 ivpass = ivpass + 1 ! 760: write (i02,80001) ivtnum ! 761: go to 4261 ! 762: 24250 ivfail = ivfail + 1 ! 763: ivcorr = 32766 ! 764: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 765: c ! 766: c test 426 through test 429 use parentheses to group elements ! 767: c in arithmetic expression. ! 768: c ! 769: 4261 continue ! 770: ivtnum = 426 ! 771: c ! 772: c **** test 426 **** ! 773: c ! 774: if (iczero) 34260, 4260, 34260 ! 775: 4260 continue ! 776: ivon02 = 51 ! 777: ivcomp = (23*ivon02)*13 ! 778: go to 44260 ! 779: 34260 ivdele = ivdele + 1 ! 780: write (i02,80003) ivtnum ! 781: if (iczero) 44260, 4271, 44260 ! 782: 44260 if (ivcomp -15249) 24260,14260,24260 ! 783: 14260 ivpass = ivpass + 1 ! 784: write (i02,80001) ivtnum ! 785: go to 4271 ! 786: 24260 ivfail = ivfail + 1 ! 787: ivcorr = 15249 ! 788: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 789: 4271 continue ! 790: ivtnum = 427 ! 791: c ! 792: c **** test 427 **** ! 793: c ! 794: if (iczero) 34270, 4270, 34270 ! 795: 4270 continue ! 796: ivon02 = 51 ! 797: ivcomp = 23*(ivon02*13) ! 798: go to 44270 ! 799: 34270 ivdele = ivdele + 1 ! 800: write (i02,80003) ivtnum ! 801: if (iczero) 44270, 4281, 44270 ! 802: 44270 if (ivcomp-15249) 24270,14270,24270 ! 803: 14270 ivpass = ivpass + 1 ! 804: write (i02,80001) ivtnum ! 805: go to 4281 ! 806: 24270 ivfail = ivfail + 1 ! 807: ivcorr = 15249 ! 808: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 809: 4281 continue ! 810: ivtnum = 428 ! 811: c ! 812: c **** test 428 **** ! 813: c ! 814: if (iczero) 34280, 4280, 34280 ! 815: 4280 continue ! 816: ivon02 = -51 ! 817: ivcomp = -23 * (ivon02*(+13)) ! 818: go to 44280 ! 819: 34280 ivdele = ivdele + 1 ! 820: write (i02,80003) ivtnum ! 821: if (iczero) 44280, 4291, 44280 ! 822: 44280 if (ivcomp - 15249)24280,14280,24280 ! 823: 14280 ivpass = ivpass + 1 ! 824: write (i02,80001) ivtnum ! 825: go to 4291 ! 826: 24280 ivfail = ivfail + 1 ! 827: ivcorr = 15249 ! 828: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 829: 4291 continue ! 830: ivtnum = 429 ! 831: c ! 832: c **** test 429 **** ! 833: c ! 834: if (iczero) 34290, 4290, 34290 ! 835: 4290 continue ! 836: ivon02 = -51 ! 837: ivcomp = (-23)*(ivon02*(-13)) ! 838: go to 44290 ! 839: 34290 ivdele = ivdele + 1 ! 840: write (i02,80003) ivtnum ! 841: if (iczero) 44290, 4301, 44290 ! 842: 44290 if (ivcomp + 15249) 24290,14290,24290 ! 843: 14290 ivpass = ivpass + 1 ! 844: write (i02,80001) ivtnum ! 845: go to 4301 ! 846: 24290 ivfail = ivfail + 1 ! 847: ivcorr = -15249 ! 848: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 849: c **** end of tests **** ! 850: 4301 continue ! 851: c ! 852: c write page footings and run summaries ! 853: 99999 continue ! 854: write (i02,90002) ! 855: write (i02,90006) ! 856: write (i02,90002) ! 857: write (i02,90002) ! 858: write (i02,90007) ! 859: write (i02,90002) ! 860: write (i02,90008) ivfail ! 861: write (i02,90009) ivpass ! 862: write (i02,90010) ivdele ! 863: c ! 864: c ! 865: c terminate routine execution ! 866: stop ! 867: c ! 868: c format statements for page headers ! 869: 90000 format (1h1) ! 870: 90002 format (1h ) ! 871: 90001 format (1h ,10x,34hfortran compiler validation system) ! 872: 90003 format (1h ,21x,11hversion 1.0) ! 873: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 874: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 875: 90006 format (1h ,5x,46h----------------------------------------------) ! 876: 90011 format (1h ,18x,17hsubset level test) ! 877: c ! 878: c format statements for run summaries ! 879: 90008 format (1h ,15x,i5,19h errors encountered) ! 880: 90009 format (1h ,15x,i5,13h tests passed) ! 881: 90010 format (1h ,15x,i5,14h tests deleted) ! 882: c ! 883: c format statements for test results ! 884: 80001 format (1h ,4x,i5,7x,4hpass) ! 885: 80002 format (1h ,4x,i5,7x,4hfail) ! 886: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 887: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 888: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 889: c ! 890: 90007 format (1h ,20x,20hend of program fm034) ! 891: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.