|
|
1.1 ! root 1: C COMMENT SECTION 00010044 ! 2: C DATE***82/08/02*18.33.46 ! 3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/ ! 4: C AUDIT FCVS78 V2.0 ! 5: C 00020044 ! 6: C FM044 00030044 ! 7: C 00040044 ! 8: C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENTS OF THE FORM 00050044 ! 9: C INTEGER VAR. = INTEGER VAR. <OP1> INTEGER VAR. <OP2> INTEGER VAR. 00060044 ! 10: C 00070044 ! 11: C WHERE <OP1> AND <OP2> ARE ARITHMETIC OPERATORS. 00080044 ! 12: C 00090044 ! 13: C REFERENCES 00100044 ! 14: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00110044 ! 15: C X3.9-1978 00120044 ! 16: C 00130044 ! 17: C SECTION 4.3, INTEGER TYPE 00140044 ! 18: C SECTION 4.3.1, INTEGER CONSTANT 00150044 ! 19: C SECTION 6.1, ARITHMETIC EXPRESSIONS 00160044 ! 20: C SECTION 6.6, EVALUATION OF EXPRESSIONS 00170044 ! 21: C SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENT 00180044 ! 22: C 00190044 ! 23: C 00200044 ! 24: C ********************************************************** 00210044 ! 25: C 00220044 ! 26: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00230044 ! 27: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00240044 ! 28: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00250044 ! 29: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00260044 ! 30: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00270044 ! 31: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00280044 ! 32: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00290044 ! 33: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00300044 ! 34: C OF EXECUTING THESE TESTS. 00310044 ! 35: C 00320044 ! 36: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00330044 ! 37: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00340044 ! 38: C 00350044 ! 39: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00360044 ! 40: C 00370044 ! 41: C DEPARTMENT OF THE NAVY 00380044 ! 42: C FEDERAL COBOL COMPILER TESTING SERVICE 00390044 ! 43: C WASHINGTON, D.C. 20376 00400044 ! 44: C 00410044 ! 45: C ********************************************************** 00420044 ! 46: C 00430044 ! 47: C 00440044 ! 48: C 00450044 ! 49: C INITIALIZATION SECTION 00460044 ! 50: C 00470044 ! 51: C INITIALIZE CONSTANTS 00480044 ! 52: C ************** 00490044 ! 53: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00500044 ! 54: I01 = 5 00510044 ! 55: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00520044 ! 56: I02 = 6 00530044 ! 57: C SYSTEM ENVIRONMENT SECTION 00540044 ! 58: C 00550044 ! 59: I01 = 5 00560044 ! 60: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00570044 ! 61: C (UNIT NUMBER FOR CARD READER). 00580044 ! 62: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00590044 ! 63: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00600044 ! 64: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00610044 ! 65: C 00620044 ! 66: I02 = 6 00630044 ! 67: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00640044 ! 68: C (UNIT NUMBER FOR PRINTER). 00650044 ! 69: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00660044 ! 70: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00670044 ! 71: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00680044 ! 72: C 00690044 ! 73: IVPASS=0 00700044 ! 74: IVFAIL=0 00710044 ! 75: IVDELE=0 00720044 ! 76: ICZERO=0 00730044 ! 77: C 00740044 ! 78: C WRITE PAGE HEADERS 00750044 ! 79: WRITE (I02,90000) 00760044 ! 80: WRITE (I02,90001) 00770044 ! 81: WRITE (I02,90002) 00780044 ! 82: WRITE (I02, 90002) 00790044 ! 83: WRITE (I02,90003) 00800044 ! 84: WRITE (I02,90002) 00810044 ! 85: WRITE (I02,90004) 00820044 ! 86: WRITE (I02,90002) 00830044 ! 87: WRITE (I02,90011) 00840044 ! 88: WRITE (I02,90002) 00850044 ! 89: WRITE (I02,90002) 00860044 ! 90: WRITE (I02,90005) 00870044 ! 91: WRITE (I02,90006) 00880044 ! 92: WRITE (I02,90002) 00890044 ! 93: C 00900044 ! 94: C TEST SECTION 00910044 ! 95: C 00920044 ! 96: C ARITHMETIC ASSIGNMENT STATEMENT 00930044 ! 97: C 00940044 ! 98: C TESTS 719 THROUGH 730 TEST STATEMENTS WHERE <OP1> IS '/' AND 00950044 ! 99: C <OP2> VARIES. 00960044 ! 100: C 00970044 ! 101: C TESTS 731 THROUGH 746 TEST STATEMENTS WHERE <OP1> IS '**' AND 00980044 ! 102: C <OP2> VARIES. 00990044 ! 103: C 01000044 ! 104: C 01010044 ! 105: C TEST 719 THROUGH 721 TEST '/' FOLLOWED BY '+'. 01020044 ! 106: C 01030044 ! 107: IVTNUM = 719 01040044 ! 108: C 01050044 ! 109: C **** TEST 719 **** 01060044 ! 110: C 01070044 ! 111: IF (ICZERO) 37190, 7190, 37190 01080044 ! 112: 7190 CONTINUE 01090044 ! 113: IVON01 = 108 01100044 ! 114: IVON02 = 9 01110044 ! 115: IVON03 = 3 01120044 ! 116: IVCOMP = IVON01 / IVON02 + IVON03 01130044 ! 117: GO TO 47190 01140044 ! 118: 37190 IVDELE = IVDELE + 1 01150044 ! 119: WRITE (I02,80003) IVTNUM 01160044 ! 120: IF (ICZERO) 47190, 7201, 47190 01170044 ! 121: 47190 IF (IVCOMP - 15) 27190,17190,27190 01180044 ! 122: 17190 IVPASS = IVPASS + 1 01190044 ! 123: WRITE (I02,80001) IVTNUM 01200044 ! 124: GO TO 7201 01210044 ! 125: 27190 IVFAIL = IVFAIL + 1 01220044 ! 126: IVCORR = 15 01230044 ! 127: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01240044 ! 128: 7201 CONTINUE 01250044 ! 129: IVTNUM = 720 01260044 ! 130: C 01270044 ! 131: C **** TEST 720 **** 01280044 ! 132: C 01290044 ! 133: IF (ICZERO) 37200, 7200, 37200 01300044 ! 134: 7200 CONTINUE 01310044 ! 135: IVON01 = 108 01320044 ! 136: IVON02 = 9 01330044 ! 137: IVON03 = 3 01340044 ! 138: IVCOMP = (IVON01 / IVON02) + IVON03 01350044 ! 139: GO TO 47200 01360044 ! 140: 37200 IVDELE = IVDELE + 1 01370044 ! 141: WRITE (I02,80003) IVTNUM 01380044 ! 142: IF (ICZERO) 47200, 7211, 47200 01390044 ! 143: 47200 IF (IVCOMP - 15) 27200,17200,27200 01400044 ! 144: 17200 IVPASS = IVPASS + 1 01410044 ! 145: WRITE (I02,80001) IVTNUM 01420044 ! 146: GO TO 7211 01430044 ! 147: 27200 IVFAIL = IVFAIL + 1 01440044 ! 148: IVCORR = 15 01450044 ! 149: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01460044 ! 150: 7211 CONTINUE 01470044 ! 151: IVTNUM = 721 01480044 ! 152: C 01490044 ! 153: C **** TEST 721 **** 01500044 ! 154: C 01510044 ! 155: IF (ICZERO) 37210, 7210, 37210 01520044 ! 156: 7210 CONTINUE 01530044 ! 157: IVON01 = 108 01540044 ! 158: IVON02 = 9 01550044 ! 159: IVON03 = 3 01560044 ! 160: IVCOMP = IVON01 / (IVON02 + IVON03) 01570044 ! 161: GO TO 47210 01580044 ! 162: 37210 IVDELE = IVDELE + 1 01590044 ! 163: WRITE (I02,80003) IVTNUM 01600044 ! 164: IF (ICZERO) 47210, 7221, 47210 01610044 ! 165: 47210 IF (IVCOMP - 9) 27210,17210,27210 01620044 ! 166: 17210 IVPASS = IVPASS + 1 01630044 ! 167: WRITE (I02,80001) IVTNUM 01640044 ! 168: GO TO 7221 01650044 ! 169: 27210 IVFAIL = IVFAIL + 1 01660044 ! 170: IVCORR = 9 01670044 ! 171: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01680044 ! 172: 7221 CONTINUE 01690044 ! 173: C 01700044 ! 174: C TEST 722 THROUGH 724 TEST '/' FOLLOWED BY '-'. 01710044 ! 175: C 01720044 ! 176: IVTNUM = 722 01730044 ! 177: C 01740044 ! 178: C **** TEST 722 **** 01750044 ! 179: C 01760044 ! 180: IF (ICZERO) 37220, 7220, 37220 01770044 ! 181: 7220 CONTINUE 01780044 ! 182: IVON01 = 108 01790044 ! 183: IVON02 = 9 01800044 ! 184: IVON03 = 3 01810044 ! 185: IVCOMP = IVON01 / IVON02 - IVON03 01820044 ! 186: GO TO 47220 01830044 ! 187: 37220 IVDELE = IVDELE + 1 01840044 ! 188: WRITE (I02,80003) IVTNUM 01850044 ! 189: IF (ICZERO) 47220, 7231, 47220 01860044 ! 190: 47220 IF (IVCOMP - 9) 27220,17220,27220 01870044 ! 191: 17220 IVPASS = IVPASS + 1 01880044 ! 192: WRITE (I02,80001) IVTNUM 01890044 ! 193: GO TO 7231 01900044 ! 194: 27220 IVFAIL = IVFAIL + 1 01910044 ! 195: IVCORR = 9 01920044 ! 196: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01930044 ! 197: 7231 CONTINUE 01940044 ! 198: IVTNUM = 723 01950044 ! 199: C 01960044 ! 200: C **** TEST 723 **** 01970044 ! 201: C 01980044 ! 202: IF (ICZERO) 37230, 7230, 37230 01990044 ! 203: 7230 CONTINUE 02000044 ! 204: IVON01 = 108 02010044 ! 205: IVON02 = 9 02020044 ! 206: IVON03 = 3 02030044 ! 207: IVCOMP = (IVON01 / IVON02) - IVON03 02040044 ! 208: GO TO 47230 02050044 ! 209: 37230 IVDELE = IVDELE + 1 02060044 ! 210: WRITE (I02,80003) IVTNUM 02070044 ! 211: IF (ICZERO) 47230, 7241, 47230 02080044 ! 212: 47230 IF (IVCOMP - 9) 27230,17230,27230 02090044 ! 213: 17230 IVPASS = IVPASS + 1 02100044 ! 214: WRITE (I02,80001) IVTNUM 02110044 ! 215: GO TO 7241 02120044 ! 216: 27230 IVFAIL = IVFAIL + 1 02130044 ! 217: IVCORR = 9 02140044 ! 218: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02150044 ! 219: 7241 CONTINUE 02160044 ! 220: IVTNUM = 724 02170044 ! 221: C 02180044 ! 222: C **** TEST 724 **** 02190044 ! 223: C 02200044 ! 224: IF (ICZERO) 37240, 7240, 37240 02210044 ! 225: 7240 CONTINUE 02220044 ! 226: IVON01 = 108 02230044 ! 227: IVON02 = 9 02240044 ! 228: IVON03 = 3 02250044 ! 229: IVCOMP = IVON01 / (IVON02 - IVON03) 02260044 ! 230: GO TO 47240 02270044 ! 231: 37240 IVDELE = IVDELE + 1 02280044 ! 232: WRITE (I02,80003) IVTNUM 02290044 ! 233: IF (ICZERO) 47240, 7251, 47240 02300044 ! 234: 47240 IF (IVCOMP - 18) 27240,17240,27240 02310044 ! 235: 17240 IVPASS = IVPASS + 1 02320044 ! 236: WRITE (I02,80001) IVTNUM 02330044 ! 237: GO TO 7251 02340044 ! 238: 27240 IVFAIL = IVFAIL + 1 02350044 ! 239: IVCORR = 18 02360044 ! 240: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02370044 ! 241: 7251 CONTINUE 02380044 ! 242: C 02390044 ! 243: C TEST 725 THROUGH 727 TEST '/' FOLLOWED BY '*'. 02400044 ! 244: C 02410044 ! 245: IVTNUM = 725 02420044 ! 246: C 02430044 ! 247: C **** TEST 725 **** 02440044 ! 248: C 02450044 ! 249: IF (ICZERO) 37250, 7250, 37250 02460044 ! 250: 7250 CONTINUE 02470044 ! 251: IVON01 = 108 02480044 ! 252: IVON02 = 9 02490044 ! 253: IVON03 = 3 02500044 ! 254: IVCOMP = IVON01 / IVON02 * IVON03 02510044 ! 255: GO TO 47250 02520044 ! 256: 37250 IVDELE = IVDELE + 1 02530044 ! 257: WRITE (I02,80003) IVTNUM 02540044 ! 258: IF (ICZERO) 47250, 7261, 47250 02550044 ! 259: 47250 IF (IVCOMP - 36) 27250,17250,27250 02560044 ! 260: 17250 IVPASS = IVPASS + 1 02570044 ! 261: WRITE (I02,80001) IVTNUM 02580044 ! 262: GO TO 7261 02590044 ! 263: 27250 IVFAIL = IVFAIL + 1 02600044 ! 264: IVCORR = 36 02610044 ! 265: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02620044 ! 266: 7261 CONTINUE 02630044 ! 267: IVTNUM = 726 02640044 ! 268: C 02650044 ! 269: C **** TEST 726 **** 02660044 ! 270: C 02670044 ! 271: IF (ICZERO) 37260, 7260, 37260 02680044 ! 272: 7260 CONTINUE 02690044 ! 273: IVON01 = 108 02700044 ! 274: IVON02 = 9 02710044 ! 275: IVON03 = 3 02720044 ! 276: IVCOMP = (IVON01 / IVON02) * IVON03 02730044 ! 277: GO TO 47260 02740044 ! 278: 37260 IVDELE = IVDELE + 1 02750044 ! 279: WRITE (I02,80003) IVTNUM 02760044 ! 280: IF (ICZERO) 47260, 7271, 47260 02770044 ! 281: 47260 IF (IVCOMP - 36) 27260,17260,27260 02780044 ! 282: 17260 IVPASS = IVPASS + 1 02790044 ! 283: WRITE (I02,80001) IVTNUM 02800044 ! 284: GO TO 7271 02810044 ! 285: 27260 IVFAIL = IVFAIL + 1 02820044 ! 286: IVCORR = 36 02830044 ! 287: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02840044 ! 288: 7271 CONTINUE 02850044 ! 289: IVTNUM = 727 02860044 ! 290: C 02870044 ! 291: C **** TEST 727 **** 02880044 ! 292: C 02890044 ! 293: IF (ICZERO) 37270, 7270, 37270 02900044 ! 294: 7270 CONTINUE 02910044 ! 295: IVON01 = 108 02920044 ! 296: IVON02 = 9 02930044 ! 297: IVON03 = 3 02940044 ! 298: IVCOMP = IVON01 / (IVON02 * IVON03) 02950044 ! 299: GO TO 47270 02960044 ! 300: 37270 IVDELE = IVDELE + 1 02970044 ! 301: WRITE (I02,80003) IVTNUM 02980044 ! 302: IF (ICZERO) 47270, 7281, 47270 02990044 ! 303: 47270 IF (IVCOMP - 4) 27270,17270,27270 03000044 ! 304: 17270 IVPASS = IVPASS + 1 03010044 ! 305: WRITE (I02,80001) IVTNUM 03020044 ! 306: GO TO 7281 03030044 ! 307: 27270 IVFAIL = IVFAIL + 1 03040044 ! 308: IVCORR = 4 03050044 ! 309: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03060044 ! 310: 7281 CONTINUE 03070044 ! 311: C 03080044 ! 312: C TEST 728 THROUGH 730 TEST '/' FOLLOWED BY '**'. 03090044 ! 313: C 03100044 ! 314: IVTNUM = 728 03110044 ! 315: C 03120044 ! 316: C **** TEST 728 **** 03130044 ! 317: C 03140044 ! 318: IF (ICZERO) 37280, 7280, 37280 03150044 ! 319: 7280 CONTINUE 03160044 ! 320: IVON01 = 108 03170044 ! 321: IVON02 = 3 03180044 ! 322: IVON03 = 2 03190044 ! 323: IVCOMP = IVON01 / IVON02 ** IVON03 03200044 ! 324: GO TO 47280 03210044 ! 325: 37280 IVDELE = IVDELE + 1 03220044 ! 326: WRITE (I02,80003) IVTNUM 03230044 ! 327: IF (ICZERO) 47280, 7291, 47280 03240044 ! 328: 47280 IF (IVCOMP - 12) 27280,17280,27280 03250044 ! 329: 17280 IVPASS = IVPASS + 1 03260044 ! 330: WRITE (I02,80001) IVTNUM 03270044 ! 331: GO TO 7291 03280044 ! 332: 27280 IVFAIL = IVFAIL + 1 03290044 ! 333: IVCORR = 12 03300044 ! 334: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03310044 ! 335: 7291 CONTINUE 03320044 ! 336: IVTNUM = 729 03330044 ! 337: C 03340044 ! 338: C **** TEST 729 **** 03350044 ! 339: C 03360044 ! 340: IF (ICZERO) 37290, 7290, 37290 03370044 ! 341: 7290 CONTINUE 03380044 ! 342: IVON01 = 108 03390044 ! 343: IVON02 = 3 03400044 ! 344: IVON03 = 2 03410044 ! 345: IVCOMP = (IVON01 / IVON02) ** IVON03 03420044 ! 346: GO TO 47290 03430044 ! 347: 37290 IVDELE = IVDELE + 1 03440044 ! 348: WRITE (I02,80003) IVTNUM 03450044 ! 349: IF (ICZERO) 47290, 7301, 47290 03460044 ! 350: 47290 IF (IVCOMP - 1296) 27290,17290,27290 03470044 ! 351: 17290 IVPASS = IVPASS + 1 03480044 ! 352: WRITE (I02,80001) IVTNUM 03490044 ! 353: GO TO 7301 03500044 ! 354: 27290 IVFAIL = IVFAIL + 1 03510044 ! 355: IVCORR = 1296 03520044 ! 356: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03530044 ! 357: 7301 CONTINUE 03540044 ! 358: IVTNUM = 730 03550044 ! 359: C 03560044 ! 360: C **** TEST 730 **** 03570044 ! 361: C 03580044 ! 362: IF (ICZERO) 37300, 7300, 37300 03590044 ! 363: 7300 CONTINUE 03600044 ! 364: IVON01 = 108 03610044 ! 365: IVON02 = 3 03620044 ! 366: IVON03 = 2 03630044 ! 367: IVCOMP = IVON01 / (IVON02 ** IVON03) 03640044 ! 368: GO TO 47300 03650044 ! 369: 37300 IVDELE = IVDELE + 1 03660044 ! 370: WRITE (I02,80003) IVTNUM 03670044 ! 371: IF (ICZERO) 47300, 7311, 47300 03680044 ! 372: 47300 IF (IVCOMP - 12) 27300,17300,27300 03690044 ! 373: 17300 IVPASS = IVPASS + 1 03700044 ! 374: WRITE (I02,80001) IVTNUM 03710044 ! 375: GO TO 7311 03720044 ! 376: 27300 IVFAIL = IVFAIL + 1 03730044 ! 377: IVCORR = 12 03740044 ! 378: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03750044 ! 379: 7311 CONTINUE 03760044 ! 380: C 03770044 ! 381: C TEST 731 THROUGH 733 TEST '**' FOLLOWED BY '+'. 03780044 ! 382: C 03790044 ! 383: IVTNUM = 731 03800044 ! 384: C 03810044 ! 385: C **** TEST 731 **** 03820044 ! 386: C 03830044 ! 387: IF (ICZERO) 37310, 7310, 37310 03840044 ! 388: 7310 CONTINUE 03850044 ! 389: IVON01 = 3 03860044 ! 390: IVON02 = 5 03870044 ! 391: IVON03 = 4 03880044 ! 392: IVCOMP = IVON01 ** IVON02 + IVON03 03890044 ! 393: GO TO 47310 03900044 ! 394: 37310 IVDELE = IVDELE + 1 03910044 ! 395: WRITE (I02,80003) IVTNUM 03920044 ! 396: IF (ICZERO) 47310, 7321, 47310 03930044 ! 397: 47310 IF (IVCOMP - 247) 27310,17310,27310 03940044 ! 398: 17310 IVPASS = IVPASS + 1 03950044 ! 399: WRITE (I02,80001) IVTNUM 03960044 ! 400: GO TO 7321 03970044 ! 401: 27310 IVFAIL = IVFAIL + 1 03980044 ! 402: IVCORR = 247 03990044 ! 403: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04000044 ! 404: 7321 CONTINUE 04010044 ! 405: IVTNUM = 732 04020044 ! 406: C 04030044 ! 407: C **** TEST 732 **** 04040044 ! 408: C 04050044 ! 409: IF (ICZERO) 37320, 7320, 37320 04060044 ! 410: 7320 CONTINUE 04070044 ! 411: IVON01 = 3 04080044 ! 412: IVON02 = 5 04090044 ! 413: IVON03 = 4 04100044 ! 414: IVCOMP = (IVON01 ** IVON02) + IVON03 04110044 ! 415: GO TO 47320 04120044 ! 416: 37320 IVDELE = IVDELE + 1 04130044 ! 417: WRITE (I02,80003) IVTNUM 04140044 ! 418: IF (ICZERO) 47320, 7331, 47320 04150044 ! 419: 47320 IF (IVCOMP - 247) 27320,17320,27320 04160044 ! 420: 17320 IVPASS = IVPASS + 1 04170044 ! 421: WRITE (I02,80001) IVTNUM 04180044 ! 422: GO TO 7331 04190044 ! 423: 27320 IVFAIL = IVFAIL + 1 04200044 ! 424: IVCORR = 247 04210044 ! 425: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04220044 ! 426: 7331 CONTINUE 04230044 ! 427: IVTNUM = 733 04240044 ! 428: C 04250044 ! 429: C **** TEST 733 **** 04260044 ! 430: C 04270044 ! 431: IF (ICZERO) 37330, 7330, 37330 04280044 ! 432: 7330 CONTINUE 04290044 ! 433: IVON01 = 3 04300044 ! 434: IVON02 = 5 04310044 ! 435: IVON03 = 4 04320044 ! 436: IVCOMP = IVON01 ** (IVON02 + IVON03) 04330044 ! 437: GO TO 47330 04340044 ! 438: 37330 IVDELE = IVDELE + 1 04350044 ! 439: WRITE (I02,80003) IVTNUM 04360044 ! 440: IF (ICZERO) 47330, 7341, 47330 04370044 ! 441: 47330 IF (IVCOMP - 19683) 27330,17330,27330 04380044 ! 442: 17330 IVPASS = IVPASS + 1 04390044 ! 443: WRITE (I02,80001) IVTNUM 04400044 ! 444: GO TO 7341 04410044 ! 445: 27330 IVFAIL = IVFAIL + 1 04420044 ! 446: IVCORR = 19683 04430044 ! 447: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04440044 ! 448: 7341 CONTINUE 04450044 ! 449: C 04460044 ! 450: C TEST 734 THROUGH 736 TEST '**' FOLLOWED BY '-'. 04470044 ! 451: C 04480044 ! 452: IVTNUM = 734 04490044 ! 453: C 04500044 ! 454: C **** TEST 734 **** 04510044 ! 455: C 04520044 ! 456: IF (ICZERO) 37340, 7340, 37340 04530044 ! 457: 7340 CONTINUE 04540044 ! 458: IVON01 = 3 04550044 ! 459: IVON02 = 7 04560044 ! 460: IVON03 = 4 04570044 ! 461: IVCOMP = IVON01 ** IVON02 - IVON03 04580044 ! 462: GO TO 47340 04590044 ! 463: 37340 IVDELE = IVDELE + 1 04600044 ! 464: WRITE (I02,80003) IVTNUM 04610044 ! 465: IF (ICZERO) 47340, 7351, 47340 04620044 ! 466: 47340 IF (IVCOMP - 2183) 27340,17340,27340 04630044 ! 467: 17340 IVPASS = IVPASS + 1 04640044 ! 468: WRITE (I02,80001) IVTNUM 04650044 ! 469: GO TO 7351 04660044 ! 470: 27340 IVFAIL = IVFAIL + 1 04670044 ! 471: IVCORR = 2183 04680044 ! 472: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04690044 ! 473: 7351 CONTINUE 04700044 ! 474: IVTNUM = 735 04710044 ! 475: C 04720044 ! 476: C **** TEST 735 **** 04730044 ! 477: C 04740044 ! 478: IF (ICZERO) 37350, 7350, 37350 04750044 ! 479: 7350 CONTINUE 04760044 ! 480: IVON01 = 3 04770044 ! 481: IVON02 = 7 04780044 ! 482: IVON03 = 4 04790044 ! 483: IVCOMP = (IVON01 ** IVON02) - IVON03 04800044 ! 484: GO TO 47350 04810044 ! 485: 37350 IVDELE = IVDELE + 1 04820044 ! 486: WRITE (I02,80003) IVTNUM 04830044 ! 487: IF (ICZERO) 47350, 7361, 47350 04840044 ! 488: 47350 IF (IVCOMP - 2183) 27350,17350,27350 04850044 ! 489: 17350 IVPASS = IVPASS + 1 04860044 ! 490: WRITE (I02,80001) IVTNUM 04870044 ! 491: GO TO 7361 04880044 ! 492: 27350 IVFAIL = IVFAIL + 1 04890044 ! 493: IVCORR = 2183 04900044 ! 494: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04910044 ! 495: 7361 CONTINUE 04920044 ! 496: IVTNUM = 736 04930044 ! 497: C 04940044 ! 498: C **** TEST 736 **** 04950044 ! 499: C 04960044 ! 500: IF (ICZERO) 37360, 7360, 37360 04970044 ! 501: 7360 CONTINUE 04980044 ! 502: IVON01 = 3 04990044 ! 503: IVON02 = 7 05000044 ! 504: IVON03 = 4 05010044 ! 505: IVCOMP = IVON01 ** (IVON02 - IVON03) 05020044 ! 506: GO TO 47360 05030044 ! 507: 37360 IVDELE = IVDELE + 1 05040044 ! 508: WRITE (I02,80003) IVTNUM 05050044 ! 509: IF (ICZERO) 47360, 7371, 47360 05060044 ! 510: 47360 IF (IVCOMP - 27) 27360,17360,27360 05070044 ! 511: 17360 IVPASS = IVPASS + 1 05080044 ! 512: WRITE (I02,80001) IVTNUM 05090044 ! 513: GO TO 7371 05100044 ! 514: 27360 IVFAIL = IVFAIL + 1 05110044 ! 515: IVCORR = 27 05120044 ! 516: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05130044 ! 517: 7371 CONTINUE 05140044 ! 518: C 05150044 ! 519: C TEST 737 THROUGH 739 TEST '**' FOLLOWED BY '*'. 05160044 ! 520: C 05170044 ! 521: IVTNUM = 737 05180044 ! 522: C 05190044 ! 523: C **** TEST 737 **** 05200044 ! 524: C 05210044 ! 525: IF (ICZERO) 37370, 7370, 37370 05220044 ! 526: 7370 CONTINUE 05230044 ! 527: IVON01 = 3 05240044 ! 528: IVON02 = 3 05250044 ! 529: IVON03 = 3 05260044 ! 530: IVCOMP = IVON01 ** IVON02 * IVON03 05270044 ! 531: GO TO 47370 05280044 ! 532: 37370 IVDELE = IVDELE + 1 05290044 ! 533: WRITE (I02,80003) IVTNUM 05300044 ! 534: IF (ICZERO) 47370, 7381, 47370 05310044 ! 535: 47370 IF (IVCOMP - 81) 27370,17370,27370 05320044 ! 536: 17370 IVPASS = IVPASS + 1 05330044 ! 537: WRITE (I02,80001) IVTNUM 05340044 ! 538: GO TO 7381 05350044 ! 539: 27370 IVFAIL = IVFAIL + 1 05360044 ! 540: IVCORR = 81 05370044 ! 541: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05380044 ! 542: 7381 CONTINUE 05390044 ! 543: IVTNUM = 738 05400044 ! 544: C 05410044 ! 545: C **** TEST 738 **** 05420044 ! 546: C 05430044 ! 547: IF (ICZERO) 37380, 7380, 37380 05440044 ! 548: 7380 CONTINUE 05450044 ! 549: IVON01 = 3 05460044 ! 550: IVON02 = 3 05470044 ! 551: IVON03 = 3 05480044 ! 552: IVCOMP = (IVON01 ** IVON02) * IVON03 05490044 ! 553: GO TO 47380 05500044 ! 554: 37380 IVDELE = IVDELE + 1 05510044 ! 555: WRITE (I02,80003) IVTNUM 05520044 ! 556: IF (ICZERO) 47380, 7391, 47380 05530044 ! 557: 47380 IF (IVCOMP - 81) 27380,17380,27380 05540044 ! 558: 17380 IVPASS = IVPASS + 1 05550044 ! 559: WRITE (I02,80001) IVTNUM 05560044 ! 560: GO TO 7391 05570044 ! 561: 27380 IVFAIL = IVFAIL + 1 05580044 ! 562: IVCORR = 81 05590044 ! 563: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05600044 ! 564: 7391 CONTINUE 05610044 ! 565: IVTNUM = 739 05620044 ! 566: C 05630044 ! 567: C **** TEST 739 **** 05640044 ! 568: C 05650044 ! 569: IF (ICZERO) 37390, 7390, 37390 05660044 ! 570: 7390 CONTINUE 05670044 ! 571: IVON01 = 3 05680044 ! 572: IVON02 = 3 05690044 ! 573: IVON03 = 3 05700044 ! 574: IVCOMP = IVON01 ** (IVON02 * IVON03) 05710044 ! 575: GO TO 47390 05720044 ! 576: 37390 IVDELE = IVDELE + 1 05730044 ! 577: WRITE (I02,80003) IVTNUM 05740044 ! 578: IF (ICZERO) 47390, 7401, 47390 05750044 ! 579: 47390 IF (IVCOMP - 19683) 27390,17390,27390 05760044 ! 580: 17390 IVPASS = IVPASS + 1 05770044 ! 581: WRITE (I02,80001) IVTNUM 05780044 ! 582: GO TO 7401 05790044 ! 583: 27390 IVFAIL = IVFAIL + 1 05800044 ! 584: IVCORR = 19683 05810044 ! 585: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05820044 ! 586: 7401 CONTINUE 05830044 ! 587: C 05840044 ! 588: C TEST 740 THROUGH 742 TEST '**' FOLLOWED BY '/'. 05850044 ! 589: C 05860044 ! 590: IVTNUM = 740 05870044 ! 591: C 05880044 ! 592: C **** TEST 740 **** 05890044 ! 593: C 05900044 ! 594: IF (ICZERO) 37400, 7400, 37400 05910044 ! 595: 7400 CONTINUE 05920044 ! 596: IVON01 = 3 05930044 ! 597: IVON02 = 9 05940044 ! 598: IVON03 = 3 05950044 ! 599: IVCOMP = IVON01 ** IVON02 / IVON03 05960044 ! 600: GO TO 47400 05970044 ! 601: 37400 IVDELE = IVDELE + 1 05980044 ! 602: WRITE (I02,80003) IVTNUM 05990044 ! 603: IF (ICZERO) 47400, 7411, 47400 06000044 ! 604: 47400 IF (IVCOMP - 6561) 27400,17400,27400 06010044 ! 605: 17400 IVPASS = IVPASS + 1 06020044 ! 606: WRITE (I02,80001) IVTNUM 06030044 ! 607: GO TO 7411 06040044 ! 608: 27400 IVFAIL = IVFAIL + 1 06050044 ! 609: IVCORR = 6561 06060044 ! 610: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06070044 ! 611: 7411 CONTINUE 06080044 ! 612: IVTNUM = 741 06090044 ! 613: C 06100044 ! 614: C **** TEST 741 **** 06110044 ! 615: C 06120044 ! 616: IF (ICZERO) 37410, 7410, 37410 06130044 ! 617: 7410 CONTINUE 06140044 ! 618: IVON01 = 3 06150044 ! 619: IVON02 = 9 06160044 ! 620: IVON03 = 3 06170044 ! 621: IVCOMP = (IVON01 ** IVON02) / IVON03 06180044 ! 622: GO TO 47410 06190044 ! 623: 37410 IVDELE = IVDELE + 1 06200044 ! 624: WRITE (I02,80003) IVTNUM 06210044 ! 625: IF (ICZERO) 47410, 7421, 47410 06220044 ! 626: 47410 IF (IVCOMP - 6561) 27410,17410,27410 06230044 ! 627: 17410 IVPASS = IVPASS + 1 06240044 ! 628: WRITE (I02,80001) IVTNUM 06250044 ! 629: GO TO 7421 06260044 ! 630: 27410 IVFAIL = IVFAIL + 1 06270044 ! 631: IVCORR = 6561 06280044 ! 632: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06290044 ! 633: 7421 CONTINUE 06300044 ! 634: IVTNUM = 742 06310044 ! 635: C **** TEST 742 **** 06320044 ! 636: C 06330044 ! 637: IF (ICZERO) 37420, 7420, 37420 06340044 ! 638: 7420 CONTINUE 06350044 ! 639: IVON01 = 3 06360044 ! 640: IVON02 = 9 06370044 ! 641: IVON03 = 3 06380044 ! 642: IVCOMP = IVON01 ** (IVON02 / IVON03) 06390044 ! 643: GO TO 47420 06400044 ! 644: 37420 IVDELE = IVDELE + 1 06410044 ! 645: WRITE (I02,80003) IVTNUM 06420044 ! 646: IF (ICZERO) 47420, 7431, 47420 06430044 ! 647: 47420 IF (IVCOMP - 27) 27420,17420,27420 06440044 ! 648: 17420 IVPASS = IVPASS + 1 06450044 ! 649: WRITE (I02,80001) IVTNUM 06460044 ! 650: GO TO 7431 06470044 ! 651: 27420 IVFAIL = IVFAIL + 1 06480044 ! 652: IVCORR = 27 06490044 ! 653: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06500044 ! 654: 7431 CONTINUE 06510044 ! 655: C 06520044 ! 656: C TEST 743 THROUGH 746 TEST '**' FOLLOWED BY '**'. 06530044 ! 657: C 06540044 ! 658: IVTNUM = 743 06550044 ! 659: C 06560044 ! 660: C **** TEST 743 **** 06570044 ! 661: C 06580044 ! 662: IF (ICZERO) 37430, 7430, 37430 06590044 ! 663: 7430 CONTINUE 06600044 ! 664: IVON01 = 3 06610044 ! 665: IVON02 = 3 06620044 ! 666: IVON03 = 2 06630044 ! 667: IVCOMP = (IVON01 ** IVON02) ** IVON03 06640044 ! 668: GO TO 47430 06650044 ! 669: 37430 IVDELE = IVDELE + 1 06660044 ! 670: WRITE (I02,80003) IVTNUM 06670044 ! 671: IF (ICZERO) 47430, 7441, 47430 06680044 ! 672: 47430 IF (IVCOMP - 729) 27430,17430,27430 06690044 ! 673: 17430 IVPASS = IVPASS + 1 06700044 ! 674: WRITE (I02,80001) IVTNUM 06710044 ! 675: GO TO 7441 06720044 ! 676: 27430 IVFAIL = IVFAIL + 1 06730044 ! 677: IVCORR = 729 06740044 ! 678: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06750044 ! 679: 7441 CONTINUE 06760044 ! 680: IVTNUM = 744 06770044 ! 681: C 06780044 ! 682: C **** TEST 744 **** 06790044 ! 683: C 06800044 ! 684: IF (ICZERO) 37440, 7440, 37440 06810044 ! 685: 7440 CONTINUE 06820044 ! 686: IVON01 = 3 06830044 ! 687: IVON02 = 3 06840044 ! 688: IVON03 = 2 06850044 ! 689: IVCOMP = IVON01 ** (IVON02 ** IVON03) 06860044 ! 690: GO TO 47440 06870044 ! 691: 37440 IVDELE = IVDELE + 1 06880044 ! 692: WRITE (I02,80003) IVTNUM 06890044 ! 693: IF (ICZERO) 47440, 7451, 47440 06900044 ! 694: 47440 IF (IVCOMP - 19683) 27440,17440,27440 06910044 ! 695: 17440 IVPASS = IVPASS + 1 06920044 ! 696: WRITE (I02,80001) IVTNUM 06930044 ! 697: GO TO 7451 06940044 ! 698: 27440 IVFAIL = IVFAIL + 1 06950044 ! 699: IVCORR = 19683 06960044 ! 700: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06970044 ! 701: 7451 CONTINUE 06980044 ! 702: IVTNUM = 745 06990044 ! 703: C 07000044 ! 704: C **** TEST 745 **** 07010044 ! 705: C 07020044 ! 706: IF (ICZERO) 37450, 7450, 37450 07030044 ! 707: 7450 CONTINUE 07040044 ! 708: IVON01 = -3 07050044 ! 709: IVON02 = 3 07060044 ! 710: IVON03 = 2 07070044 ! 711: IVCOMP = (IVON01 ** IVON02) ** IVON03 07080044 ! 712: GO TO 47450 07090044 ! 713: 37450 IVDELE = IVDELE + 1 07100044 ! 714: WRITE (I02,80003) IVTNUM 07110044 ! 715: IF (ICZERO) 47450, 7461, 47450 07120044 ! 716: 47450 IF (IVCOMP - 729) 27450,17450,27450 07130044 ! 717: 17450 IVPASS = IVPASS + 1 07140044 ! 718: WRITE (I02,80001) IVTNUM 07150044 ! 719: GO TO 7461 07160044 ! 720: 27450 IVFAIL = IVFAIL + 1 07170044 ! 721: IVCORR = 729 07180044 ! 722: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 07190044 ! 723: 7461 CONTINUE 07200044 ! 724: IVTNUM = 746 07210044 ! 725: C 07220044 ! 726: C **** TEST 746 **** 07230044 ! 727: C 07240044 ! 728: IF (ICZERO) 37460, 7460, 37460 07250044 ! 729: 7460 CONTINUE 07260044 ! 730: IVON01 = -3 07270044 ! 731: IVON02 = 3 07280044 ! 732: IVON03 = 2 07290044 ! 733: IVCOMP = IVON01 ** (IVON02 ** IVON03) 07300044 ! 734: GO TO 47460 07310044 ! 735: 37460 IVDELE = IVDELE + 1 07320044 ! 736: WRITE (I02,80003) IVTNUM 07330044 ! 737: IF (ICZERO) 47460, 7471, 47460 07340044 ! 738: 47460 IF (IVCOMP + 19683) 27460,17460,27460 07350044 ! 739: 17460 IVPASS = IVPASS + 1 07360044 ! 740: WRITE (I02,80001) IVTNUM 07370044 ! 741: GO TO 7471 07380044 ! 742: 27460 IVFAIL = IVFAIL + 1 07390044 ! 743: IVCORR = -19683 07400044 ! 744: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 07410044 ! 745: 7471 CONTINUE 07420044 ! 746: C 07430044 ! 747: C 07440044 ! 748: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 07450044 ! 749: 99999 CONTINUE 07460044 ! 750: WRITE (I02,90002) 07470044 ! 751: WRITE (I02,90006) 07480044 ! 752: WRITE (I02,90002) 07490044 ! 753: WRITE (I02,90002) 07500044 ! 754: WRITE (I02,90007) 07510044 ! 755: WRITE (I02,90002) 07520044 ! 756: WRITE (I02,90008) IVFAIL 07530044 ! 757: WRITE (I02,90009) IVPASS 07540044 ! 758: WRITE (I02,90010) IVDELE 07550044 ! 759: C 07560044 ! 760: C 07570044 ! 761: C TERMINATE ROUTINE EXECUTION 07580044 ! 762: STOP 07590044 ! 763: C 07600044 ! 764: C FORMAT STATEMENTS FOR PAGE HEADERS 07610044 ! 765: 90000 FORMAT (1H1) 07620044 ! 766: 90002 FORMAT (1H ) 07630044 ! 767: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 07640044 ! 768: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 07650044 ! 769: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 07660044 ! 770: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 07670044 ! 771: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 07680044 ! 772: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 07690044 ! 773: C 07700044 ! 774: C FORMAT STATEMENTS FOR RUN SUMMARIES 07710044 ! 775: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 07720044 ! 776: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 07730044 ! 777: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 07740044 ! 778: C 07750044 ! 779: C FORMAT STATEMENTS FOR TEST RESULTS 07760044 ! 780: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 07770044 ! 781: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 07780044 ! 782: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 07790044 ! 783: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 07800044 ! 784: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 07810044 ! 785: C 07820044 ! 786: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM044) 07830044 ! 787: END 07840044
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.