|
|
1.1 ! root 1: c comment section ! 2: c ! 3: c fm031 ! 4: c ! 5: c this routine tests arithmetic assignment statements of the ! 6: c form ! 7: c integer variable = arithmetic expression ! 8: c where the arithmetic expression is formed with the arithmetic ! 9: c operator -, integer constants and integer variables. some of the ! 10: c tests use parentheses to group elements in an arithmetic ! 11: c expression. ! 12: c ! 13: c there are tests where the arithmetic expression contains ! 14: c (1) integer constant-integer constant-integer variable ! 15: c integer constant-integer variable-integer constant ! 16: c integer variable-integer constant-integer constant ! 17: c (2) same as (1) but with parentheses to group elements ! 18: c in arithmetic expression. ! 19: c (3) integer variable - integer variable ! 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 test 300 through test 309 contain 2 integer constants, an integer ! 103: c variable and operator - in an arithmetic expression. ! 104: c ! 105: 3001 continue ! 106: ivtnum = 300 ! 107: c ! 108: c **** test 300 **** ! 109: c ! 110: if (iczero) 33000, 3000, 33000 ! 111: 3000 continue ! 112: ivon01 = 9 ! 113: ivcomp =ivon01 -3 -4 ! 114: go to 43000 ! 115: 33000 ivdele = ivdele + 1 ! 116: write (i02,80003) ivtnum ! 117: if (iczero) 43000, 3011, 43000 ! 118: 43000 if (ivcomp-2) 23000,13000,23000 ! 119: 13000 ivpass = ivpass + 1 ! 120: write (i02,80001) ivtnum ! 121: go to 3011 ! 122: 23000 ivfail = ivfail + 1 ! 123: ivcorr =2 ! 124: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 125: 3011 continue ! 126: ivtnum = 301 ! 127: c ! 128: c **** test 301 **** ! 129: c ! 130: if (iczero) 33010, 3010, 33010 ! 131: 3010 continue ! 132: ivon02 =3 ! 133: ivcomp =9-ivon02-4 ! 134: go to 43010 ! 135: 33010 ivdele = ivdele + 1 ! 136: write (i02,80003) ivtnum ! 137: if (iczero) 43010, 3021, 43010 ! 138: 43010 if (ivcomp-2) 23010,13010,23010 ! 139: 13010 ivpass = ivpass + 1 ! 140: write (i02,80001) ivtnum ! 141: go to 3021 ! 142: 23010 ivfail = ivfail + 1 ! 143: ivcorr =2 ! 144: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 145: 3021 continue ! 146: ivtnum = 302 ! 147: c ! 148: c **** test 302 **** ! 149: c ! 150: if (iczero) 33020, 3020, 33020 ! 151: 3020 continue ! 152: ivon03 = 4 ! 153: ivcomp = 9-3-ivon03 ! 154: go to 43020 ! 155: 33020 ivdele = ivdele + 1 ! 156: write (i02,80003) ivtnum ! 157: if (iczero) 43020, 3031, 43020 ! 158: 43020 if (ivcomp-2) 23020,13020,23020 ! 159: 13020 ivpass = ivpass + 1 ! 160: write (i02,80001) ivtnum ! 161: go to 3031 ! 162: 23020 ivfail = ivfail + 1 ! 163: ivcorr =2 ! 164: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 165: 3031 continue ! 166: ivtnum = 303 ! 167: c ! 168: c **** test 303 **** ! 169: c ! 170: if (iczero) 33030, 3030, 33030 ! 171: 3030 continue ! 172: ivon01 = 57 ! 173: ivcomp = ivon01 -25-22 ! 174: go to 43030 ! 175: 33030 ivdele = ivdele + 1 ! 176: write (i02,80003) ivtnum ! 177: if (iczero) 43030, 3041, 43030 ! 178: 43030 if (ivcomp-10) 23030,13030,23030 ! 179: 13030 ivpass = ivpass + 1 ! 180: write (i02,80001) ivtnum ! 181: go to 3041 ! 182: 23030 ivfail = ivfail + 1 ! 183: ivcorr = 10 ! 184: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 185: 3041 continue ! 186: ivtnum = 304 ! 187: c ! 188: c **** test 304 **** ! 189: c ! 190: if (iczero) 33040, 3040, 33040 ! 191: 3040 continue ! 192: ivon02 =683 ! 193: ivcomp = 101-ivon02-156 ! 194: go to 43040 ! 195: 33040 ivdele = ivdele + 1 ! 196: write (i02,80003) ivtnum ! 197: if (iczero) 43040, 3051, 43040 ! 198: 43040 if (ivcomp+738) 23040,13040,23040 ! 199: 13040 ivpass = ivpass + 1 ! 200: write (i02,80001) ivtnum ! 201: go to 3051 ! 202: 23040 ivfail = ivfail + 1 ! 203: ivcorr = -738 ! 204: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 205: 3051 continue ! 206: ivtnum = 305 ! 207: c ! 208: c **** test 305 **** ! 209: c ! 210: if (iczero) 33050, 3050, 33050 ! 211: 3050 continue ! 212: ivon03 = 1289 ! 213: ivcomp = 8542-1122-ivon03 ! 214: go to 43050 ! 215: 33050 ivdele = ivdele + 1 ! 216: write (i02,80003) ivtnum ! 217: if (iczero) 43050, 3061, 43050 ! 218: 43050 if (ivcomp-6131) 23050,13050,23050 ! 219: 13050 ivpass = ivpass + 1 ! 220: write (i02,80001) ivtnum ! 221: go to 3061 ! 222: 23050 ivfail = ivfail + 1 ! 223: ivcorr = 6131 ! 224: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 225: 3061 continue ! 226: ivtnum = 306 ! 227: c ! 228: c **** test 306 **** ! 229: c ! 230: if (iczero) 33060, 3060, 33060 ! 231: 3060 continue ! 232: ivon03 = 11111 ! 233: ivcomp = 32333-11111-ivon03 ! 234: go to 43060 ! 235: 33060 ivdele = ivdele + 1 ! 236: write (i02,80003) ivtnum ! 237: if (iczero) 43060, 3071, 43060 ! 238: 43060 if (ivcomp-10111) 23060,13060,23060 ! 239: 13060 ivpass = ivpass + 1 ! 240: write (i02,80001) ivtnum ! 241: go to 3071 ! 242: 23060 ivfail = ivfail + 1 ! 243: ivcorr =10111 ! 244: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 245: 3071 continue ! 246: ivtnum = 307 ! 247: c ! 248: c **** test 307 **** ! 249: c ! 250: if (iczero) 33070, 3070, 33070 ! 251: 3070 continue ! 252: ivon01 = -3 ! 253: ivcomp = ivon01-2-4 ! 254: go to 43070 ! 255: 33070 ivdele = ivdele + 1 ! 256: write (i02,80003) ivtnum ! 257: if (iczero) 43070, 3081, 43070 ! 258: 43070 if (ivcomp +9) 23070,13070,23070 ! 259: 13070 ivpass = ivpass + 1 ! 260: write (i02,80001) ivtnum ! 261: go to 3081 ! 262: 23070 ivfail = ivfail + 1 ! 263: ivcorr =-9 ! 264: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 265: 3081 continue ! 266: ivtnum = 308 ! 267: c ! 268: c **** test 308 **** ! 269: c ! 270: if (iczero) 33080, 3080, 33080 ! 271: 3080 continue ! 272: ivon02 =-9 ! 273: ivcomp =1-ivon02-4 ! 274: go to 43080 ! 275: 33080 ivdele = ivdele + 1 ! 276: write (i02,80003) ivtnum ! 277: if (iczero) 43080, 3091, 43080 ! 278: 43080 if (ivcomp-6) 23080,13080,23080 ! 279: 13080 ivpass = ivpass + 1 ! 280: write (i02,80001) ivtnum ! 281: go to 3091 ! 282: 23080 ivfail = ivfail + 1 ! 283: ivcorr = 6 ! 284: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 285: 3091 continue ! 286: ivtnum = 309 ! 287: c ! 288: c **** test 309 **** ! 289: c ! 290: if (iczero) 33090, 3090, 33090 ! 291: 3090 continue ! 292: ivon03 = -8542 ! 293: ivcomp = 100-3-ivon03 ! 294: go to 43090 ! 295: 33090 ivdele = ivdele + 1 ! 296: write (i02,80003) ivtnum ! 297: if (iczero) 43090, 3101, 43090 ! 298: 43090 if (ivcomp-8639) 23090,13090,23090 ! 299: 13090 ivpass = ivpass + 1 ! 300: write (i02,80001) ivtnum ! 301: go to 3101 ! 302: 23090 ivfail = ivfail + 1 ! 303: ivcorr = 8639 ! 304: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 305: c ! 306: c test 310 through test 319 contain 2 integer constants, an integer ! 307: c variable and operator - in an arithmetic expression. parentheses ! 308: c are used to group elements in the arithmetic expression. ! 309: c ! 310: 3101 continue ! 311: ivtnum = 310 ! 312: c ! 313: c **** test 310 **** ! 314: c ! 315: if (iczero) 33100, 3100, 33100 ! 316: 3100 continue ! 317: ivon01 =9 ! 318: ivcomp = ivon01-(3-4) ! 319: go to 43100 ! 320: 33100 ivdele = ivdele + 1 ! 321: write (i02,80003) ivtnum ! 322: if (iczero) 43100, 3111, 43100 ! 323: 43100 if (ivcomp-10) 23100,13100,23100 ! 324: 13100 ivpass = ivpass + 1 ! 325: write (i02,80001) ivtnum ! 326: go to 3111 ! 327: 23100 ivfail = ivfail + 1 ! 328: ivcorr=10 ! 329: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 330: 3111 continue ! 331: ivtnum = 311 ! 332: c ! 333: c **** test 311 **** ! 334: c ! 335: if (iczero) 33110, 3110, 33110 ! 336: 3110 continue ! 337: ivon01=9 ! 338: ivcomp=(ivon01-3)-4 ! 339: go to 43110 ! 340: 33110 ivdele = ivdele + 1 ! 341: write (i02,80003) ivtnum ! 342: if (iczero) 43110, 3121, 43110 ! 343: 43110 if (ivcomp-2) 23110,13110,23110 ! 344: 13110 ivpass = ivpass + 1 ! 345: write (i02,80001) ivtnum ! 346: go to 3121 ! 347: 23110 ivfail = ivfail + 1 ! 348: ivcorr =2 ! 349: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 350: 3121 continue ! 351: ivtnum = 312 ! 352: c ! 353: c **** test 312 **** ! 354: c ! 355: if (iczero) 33120, 3120, 33120 ! 356: 3120 continue ! 357: ivon02 = 3 ! 358: ivcomp = 9-(ivon02-4) ! 359: go to 43120 ! 360: 33120 ivdele = ivdele + 1 ! 361: write (i02,80003) ivtnum ! 362: if (iczero) 43120, 3131, 43120 ! 363: 43120 if (ivcomp-10) 23120,13120,23120 ! 364: 13120 ivpass = ivpass + 1 ! 365: write (i02,80001) ivtnum ! 366: go to 3131 ! 367: 23120 ivfail = ivfail + 1 ! 368: ivcorr = 10 ! 369: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 370: 3131 continue ! 371: ivtnum = 313 ! 372: c ! 373: c **** test 313 **** ! 374: c ! 375: if (iczero) 33130, 3130, 33130 ! 376: 3130 continue ! 377: ivon02 = 3 ! 378: ivcomp = (9-ivon02) -4 ! 379: go to 43130 ! 380: 33130 ivdele = ivdele + 1 ! 381: write (i02,80003) ivtnum ! 382: if (iczero) 43130, 3141, 43130 ! 383: 43130 if (ivcomp-2) 23130,13130,23130 ! 384: 13130 ivpass = ivpass + 1 ! 385: write (i02,80001) ivtnum ! 386: go to 3141 ! 387: 23130 ivfail = ivfail + 1 ! 388: ivcorr = 2 ! 389: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 390: 3141 continue ! 391: ivtnum = 314 ! 392: c ! 393: c **** test 314 **** ! 394: c ! 395: if (iczero) 33140, 3140, 33140 ! 396: 3140 continue ! 397: ivon03 = 4 ! 398: ivcomp = 9 -(3-ivon03) ! 399: go to 43140 ! 400: 33140 ivdele = ivdele + 1 ! 401: write (i02,80003) ivtnum ! 402: if (iczero) 43140, 3151, 43140 ! 403: 43140 if (ivcomp-10) 23140,13140,23140 ! 404: 13140 ivpass = ivpass + 1 ! 405: write (i02,80001) ivtnum ! 406: go to 3151 ! 407: 23140 ivfail = ivfail + 1 ! 408: ivcorr = 10 ! 409: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 410: 3151 continue ! 411: ivtnum = 315 ! 412: c ! 413: c **** test 315 **** ! 414: c ! 415: if (iczero) 33150, 3150, 33150 ! 416: 3150 continue ! 417: ivon03 = 4 ! 418: ivcomp = (9-3)-ivon03 ! 419: go to 43150 ! 420: 33150 ivdele = ivdele + 1 ! 421: write (i02,80003) ivtnum ! 422: if (iczero) 43150, 3161, 43150 ! 423: 43150 if (ivcomp-2) 23150,13150,23150 ! 424: 13150 ivpass = ivpass + 1 ! 425: write (i02,80001) ivtnum ! 426: go to 3161 ! 427: 23150 ivfail = ivfail + 1 ! 428: ivcorr = 2 ! 429: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 430: 3161 continue ! 431: ivtnum = 316 ! 432: c ! 433: c **** test 316 **** ! 434: c ! 435: if (iczero) 33160, 3160, 33160 ! 436: 3160 continue ! 437: ivon01 = -9 ! 438: ivcomp = (ivon01-3)-4 ! 439: go to 43160 ! 440: 33160 ivdele = ivdele + 1 ! 441: write (i02,80003) ivtnum ! 442: if (iczero) 43160, 3171, 43160 ! 443: 43160 if (ivcomp +16) 23160,13160,23160 ! 444: 13160 ivpass = ivpass + 1 ! 445: write (i02,80001) ivtnum ! 446: go to 3171 ! 447: 23160 ivfail = ivfail + 1 ! 448: ivcorr = -16 ! 449: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 450: 3171 continue ! 451: ivtnum = 317 ! 452: c ! 453: c **** test 317 **** ! 454: c ! 455: if (iczero) 33170, 3170, 33170 ! 456: 3170 continue ! 457: ivon02 = -3 ! 458: ivcomp = 9-(ivon02-4) ! 459: go to 43170 ! 460: 33170 ivdele = ivdele + 1 ! 461: write (i02,80003) ivtnum ! 462: if (iczero) 43170, 3181, 43170 ! 463: 43170 if (ivcomp-16) 23170,13170,23170 ! 464: 13170 ivpass = ivpass + 1 ! 465: write (i02,80001) ivtnum ! 466: go to 3181 ! 467: 23170 ivfail = ivfail + 1 ! 468: ivcorr = 16 ! 469: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 470: 3181 continue ! 471: ivtnum = 318 ! 472: c ! 473: c **** test 318 **** ! 474: c ! 475: if (iczero) 33180, 3180, 33180 ! 476: 3180 continue ! 477: ivon03 = +4 ! 478: ivcomp = 9 - (3 - ivon03) ! 479: go to 43180 ! 480: 33180 ivdele = ivdele + 1 ! 481: write (i02,80003) ivtnum ! 482: if (iczero) 43180, 3191, 43180 ! 483: 43180 if (ivcomp - 10) 23180,13180,23180 ! 484: 13180 ivpass = ivpass + 1 ! 485: write (i02,80001) ivtnum ! 486: go to 3191 ! 487: 23180 ivfail = ivfail + 1 ! 488: ivcorr= 10 ! 489: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 490: 3191 continue ! 491: ivtnum = 319 ! 492: c ! 493: c **** test 319 **** ! 494: c ! 495: if (iczero) 33190, 3190, 33190 ! 496: 3190 continue ! 497: ivon02 = 11111 ! 498: ivcomp = (32333-ivon02) -11111 ! 499: go to 43190 ! 500: 33190 ivdele = ivdele + 1 ! 501: write (i02,80003) ivtnum ! 502: if (iczero) 43190, 3201, 43190 ! 503: 43190 if (ivcomp - 10111) 23190,13190,23190 ! 504: 13190 ivpass = ivpass + 1 ! 505: write (i02,80001) ivtnum ! 506: go to 3201 ! 507: 23190 ivfail = ivfail + 1 ! 508: ivcorr = 10111 ! 509: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 510: c ! 511: c test 320 through test 329 contain 2 integer variables and ! 512: c operator - in an arithmetic expression. the integer variables ! 513: c contain positive and negative values. ! 514: c ! 515: 3201 continue ! 516: ivtnum = 320 ! 517: c ! 518: c **** test 320 **** ! 519: c ! 520: if (iczero) 33200, 3200, 33200 ! 521: 3200 continue ! 522: ivon01 = 3 ! 523: ivon02 = 2 ! 524: ivcomp = ivon01 - ivon02 ! 525: go to 43200 ! 526: 33200 ivdele = ivdele + 1 ! 527: write (i02,80003) ivtnum ! 528: if (iczero) 43200, 3211, 43200 ! 529: 43200 if (ivcomp - 1) 23200,13200,23200 ! 530: 13200 ivpass = ivpass + 1 ! 531: write (i02,80001) ivtnum ! 532: go to 3211 ! 533: 23200 ivfail = ivfail + 1 ! 534: ivcorr = 1 ! 535: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 536: 3211 continue ! 537: ivtnum = 321 ! 538: c ! 539: c **** test 321 **** ! 540: c ! 541: if (iczero) 33210, 3210, 33210 ! 542: 3210 continue ! 543: ivon01 =2 ! 544: ivon02 =3 ! 545: ivcomp = ivon01 - ivon02 ! 546: go to 43210 ! 547: 33210 ivdele = ivdele + 1 ! 548: write (i02,80003) ivtnum ! 549: if (iczero) 43210, 3221, 43210 ! 550: 43210 if (ivcomp +1) 23210,13210,23210 ! 551: 13210 ivpass = ivpass + 1 ! 552: write (i02,80001) ivtnum ! 553: go to 3221 ! 554: 23210 ivfail = ivfail + 1 ! 555: ivcorr = -1 ! 556: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 557: 3221 continue ! 558: ivtnum = 322 ! 559: c ! 560: c **** test 322 **** ! 561: c ! 562: if (iczero) 33220, 3220, 33220 ! 563: 3220 continue ! 564: ivon01 = -2 ! 565: ivon02 = 3 ! 566: ivcomp = ivon01 - ivon02 ! 567: go to 43220 ! 568: 33220 ivdele = ivdele + 1 ! 569: write (i02,80003) ivtnum ! 570: if (iczero) 43220, 3231, 43220 ! 571: 43220 if (ivcomp +5) 23220,13220,23220 ! 572: 13220 ivpass = ivpass + 1 ! 573: write (i02,80001) ivtnum ! 574: go to 3231 ! 575: 23220 ivfail = ivfail + 1 ! 576: ivcorr =-5 ! 577: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 578: 3231 continue ! 579: ivtnum = 323 ! 580: c ! 581: c **** test 323 **** ! 582: c ! 583: if (iczero) 33230, 3230, 33230 ! 584: 3230 continue ! 585: ivon01 = -2 ! 586: ivon02 = -3 ! 587: ivcomp = ivon01 - ivon02 ! 588: go to 43230 ! 589: 33230 ivdele = ivdele + 1 ! 590: write (i02,80003) ivtnum ! 591: if (iczero) 43230, 3241, 43230 ! 592: 43230 if (ivcomp -1) 23230,13230,23230 ! 593: 13230 ivpass = ivpass + 1 ! 594: write (i02,80001) ivtnum ! 595: go to 3241 ! 596: 23230 ivfail = ivfail + 1 ! 597: ivcorr = 1 ! 598: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 599: 3241 continue ! 600: ivtnum = 324 ! 601: c ! 602: c **** test 324 **** ! 603: c ! 604: if (iczero) 33240, 3240, 33240 ! 605: 3240 continue ! 606: ivon01 = 51 ! 607: ivon02 = 52 ! 608: ivcomp = ivon01 - ivon02 ! 609: go to 43240 ! 610: 33240 ivdele = ivdele + 1 ! 611: write (i02,80003) ivtnum ! 612: if (iczero) 43240, 3251, 43240 ! 613: 43240 if (ivcomp + 1) 23240,13240,23240 ! 614: 13240 ivpass = ivpass + 1 ! 615: write (i02,80001) ivtnum ! 616: go to 3251 ! 617: 23240 ivfail = ivfail + 1 ! 618: ivcorr = -1 ! 619: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 620: 3251 continue ! 621: ivtnum = 325 ! 622: c ! 623: c **** test 325 **** ! 624: c ! 625: if (iczero) 33250, 3250, 33250 ! 626: 3250 continue ! 627: ivon01 = 676 ! 628: ivon02 =-189 ! 629: ivcomp = ivon01 - ivon02 ! 630: go to 43250 ! 631: 33250 ivdele = ivdele + 1 ! 632: write (i02,80003) ivtnum ! 633: if (iczero) 43250, 3261, 43250 ! 634: 43250 if (ivcomp - 865) 23250,13250,23250 ! 635: 13250 ivpass = ivpass + 1 ! 636: write (i02,80001) ivtnum ! 637: go to 3261 ! 638: 23250 ivfail = ivfail + 1 ! 639: ivcorr = 865 ! 640: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 641: 3261 continue ! 642: ivtnum = 326 ! 643: c ! 644: c **** test 326 **** ! 645: c ! 646: if (iczero) 33260, 3260, 33260 ! 647: 3260 continue ! 648: ivon01 = 1358 ! 649: ivon02 = -8001 ! 650: ivcomp = ivon01 - ivon02 ! 651: go to 43260 ! 652: 33260 ivdele = ivdele + 1 ! 653: write (i02,80003) ivtnum ! 654: if (iczero) 43260, 3271, 43260 ! 655: 43260 if (ivcomp - 9359) 23260,13260,23260 ! 656: 13260 ivpass = ivpass + 1 ! 657: write (i02,80001) ivtnum ! 658: go to 3271 ! 659: 23260 ivfail = ivfail + 1 ! 660: ivcorr = 9359 ! 661: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 662: 3271 continue ! 663: ivtnum = 327 ! 664: c ! 665: c **** test 327 **** ! 666: c ! 667: if (iczero) 33270, 3270, 33270 ! 668: 3270 continue ! 669: ivon01 =-16383 ! 670: ivon02 = 16383 ! 671: ivcomp = ivon01 - ivon02 ! 672: go to 43270 ! 673: 33270 ivdele = ivdele + 1 ! 674: write (i02,80003) ivtnum ! 675: if (iczero) 43270, 3281, 43270 ! 676: 43270 if (ivcomp + 32766) 23270,13270,23270 ! 677: 13270 ivpass = ivpass + 1 ! 678: write (i02,80001) ivtnum ! 679: go to 3281 ! 680: 23270 ivfail = ivfail + 1 ! 681: ivcorr = -32766 ! 682: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 683: 3281 continue ! 684: ivtnum = 328 ! 685: c ! 686: c **** test 328 **** ! 687: c ! 688: if (iczero) 33280, 3280, 33280 ! 689: 3280 continue ! 690: ivon01 = 9876 ! 691: ivon02 = 189 ! 692: ivcomp = ivon01 - ivon02 ! 693: go to 43280 ! 694: 33280 ivdele = ivdele + 1 ! 695: write (i02,80003) ivtnum ! 696: if (iczero) 43280, 3291, 43280 ! 697: 43280 if (ivcomp - 9687) 23280,13280,23280 ! 698: 13280 ivpass = ivpass + 1 ! 699: write (i02,80001) ivtnum ! 700: go to 3291 ! 701: 23280 ivfail = ivfail + 1 ! 702: ivcorr = 9687 ! 703: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 704: 3291 continue ! 705: ivtnum = 329 ! 706: c ! 707: c **** test 329 **** ! 708: c ! 709: if (iczero) 33290, 3290, 33290 ! 710: 3290 continue ! 711: ivon01 = 11112 ! 712: ivon02 = 11112 ! 713: ivcomp = ivon01 - ivon02 ! 714: go to 43290 ! 715: 33290 ivdele = ivdele + 1 ! 716: write (i02,80003) ivtnum ! 717: if (iczero) 43290, 3301, 43290 ! 718: 43290 if (ivcomp) 23290,13290,23290 ! 719: 13290 ivpass = ivpass + 1 ! 720: write (i02,80001) ivtnum ! 721: go to 3301 ! 722: 23290 ivfail = ivfail + 1 ! 723: ivcorr = 0 ! 724: write (i02,80004) ivtnum, ivcomp ,ivcorr ! 725: c ! 726: c **** end of tests **** ! 727: 3301 continue ! 728: c ! 729: c write page footings and run summaries ! 730: 99999 continue ! 731: write (i02,90002) ! 732: write (i02,90006) ! 733: write (i02,90002) ! 734: write (i02,90002) ! 735: write (i02,90007) ! 736: write (i02,90002) ! 737: write (i02,90008) ivfail ! 738: write (i02,90009) ivpass ! 739: write (i02,90010) ivdele ! 740: c ! 741: c ! 742: c terminate routine execution ! 743: stop ! 744: c ! 745: c format statements for page headers ! 746: 90000 format (1h1) ! 747: 90002 format (1h ) ! 748: 90001 format (1h ,10x,34hfortran compiler validation system) ! 749: 90003 format (1h ,21x,11hversion 1.0) ! 750: 90004 format (1h ,10x,38hfor official use only - copyright 1978) ! 751: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect) ! 752: 90006 format (1h ,5x,46h----------------------------------------------) ! 753: 90011 format (1h ,18x,17hsubset level test) ! 754: c ! 755: c format statements for run summaries ! 756: 90008 format (1h ,15x,i5,19h errors encountered) ! 757: 90009 format (1h ,15x,i5,13h tests passed) ! 758: 90010 format (1h ,15x,i5,14h tests deleted) ! 759: c ! 760: c format statements for test results ! 761: 80001 format (1h ,4x,i5,7x,4hpass) ! 762: 80002 format (1h ,4x,i5,7x,4hfail) ! 763: 80003 format (1h ,4x,i5,7x,7hdeleted) ! 764: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6) ! 765: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5) ! 766: c ! 767: 90007 format (1h ,20x,20hend of program fm031) ! 768: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.