|
|
1.1 ! root 1: C COMMENT SECTION 00010004 ! 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 00020004 ! 6: C FM004 00030004 ! 7: C 00040004 ! 8: C THIS ROUTINE CONTAINS BASIC ARITHMETIC IF STATEMENT TESTS. 00050004 ! 9: C THE STATEMENT FORMAT IS 00060004 ! 10: C IF (E) K1, K2, K3 00070004 ! 11: C WHERE E IS A SIMPLE INTEGER EXPRESSION OF FORM 00080004 ! 12: C VARIABLE - CONSTANT 00090004 ! 13: C VARIABLE + CONSTANT 00100004 ! 14: C AND K1, K2 AND K3 ARE STATEMENT LABELS. ONLY THE STATEMENTS IN 00110004 ! 15: C THE BASIC ASSUMPTIONS ARE INCLUDED IN THESE TESTS. 00120004 ! 16: C EXECUTION OF AN IF STATEMENT CAUSES EVALUATION OF THE 00130004 ! 17: C EXPRESSION E FOLLOWING WHICH THE STATEMENT LABEL K1, K2 OR K3 00140004 ! 18: C IS EXECUTED NEXT AS THE VALUE OF E IS LESS THAN ZERO, ZERO, OR 00150004 ! 19: C GREATER THAN ZERO, RESPECTIVELY. 00160004 ! 20: C 00170004 ! 21: C THE BASIC UNCONDITIONAL GO TO STATEMENT IS TESTED IN THIS 00180004 ! 22: C ROUTINE. THE STATEMENT IS OF THE FORM 00190004 ! 23: C GO TO K 00200004 ! 24: C WHERE K IS A STATEMENT LABEL. 00210004 ! 25: C EXECUTION OF AN UNCONDITIONAL GO TO STATEMENT CAUSES THE 00220004 ! 26: C STATEMENT IDENTIFIED BY STATEMENT LABEL K TO BE EXECUTED NEXT. 00230004 ! 27: C 00240004 ! 28: C REFERENCES 00250004 ! 29: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00260004 ! 30: C X3.9-1978 00270004 ! 31: C 00280004 ! 32: C SECTION 3.6, NORMAL EXECUTION SEQUENCE AND TRANSFER OF CONTROL 00290004 ! 33: C SECTION 11.1, GO TO STATEMENT 00300004 ! 34: C SECTION 11.4, ARITHMETIC IF STATEMENT 00310004 ! 35: C 00320004 ! 36: C ********************************************************** 00330004 ! 37: C 00340004 ! 38: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00350004 ! 39: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00360004 ! 40: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00370004 ! 41: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00380004 ! 42: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00390004 ! 43: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00400004 ! 44: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00410004 ! 45: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00420004 ! 46: C OF EXECUTING THESE TESTS. 00430004 ! 47: C 00440004 ! 48: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00450004 ! 49: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00460004 ! 50: C 00470004 ! 51: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00480004 ! 52: C 00490004 ! 53: C DEPARTMENT OF THE NAVY 00500004 ! 54: C FEDERAL COBOL COMPILER TESTING SERVICE 00510004 ! 55: C WASHINGTON, D.C. 20376 00520004 ! 56: C 00530004 ! 57: C ********************************************************** 00540004 ! 58: C 00550004 ! 59: C 00560004 ! 60: C 00570004 ! 61: C INITIALIZATION SECTION 00580004 ! 62: C 00590004 ! 63: C INITIALIZE CONSTANTS 00600004 ! 64: C ************** 00610004 ! 65: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00620004 ! 66: I01 = 5 00630004 ! 67: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00640004 ! 68: I02 = 6 00650004 ! 69: C SYSTEM ENVIRONMENT SECTION 00660004 ! 70: C 00670004 ! 71: I01 = 5 00680004 ! 72: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00690004 ! 73: C (UNIT NUMBER FOR CARD READER). 00700004 ! 74: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00710004 ! 75: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00720004 ! 76: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00730004 ! 77: C 00740004 ! 78: I02 = 6 00750004 ! 79: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00760004 ! 80: C (UNIT NUMBER FOR PRINTER). 00770004 ! 81: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00780004 ! 82: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00790004 ! 83: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00800004 ! 84: C 00810004 ! 85: IVPASS=0 00820004 ! 86: IVFAIL=0 00830004 ! 87: IVDELE=0 00840004 ! 88: ICZERO=0 00850004 ! 89: C 00860004 ! 90: C WRITE PAGE HEADERS 00870004 ! 91: WRITE (I02,90000) 00880004 ! 92: WRITE (I02,90001) 00890004 ! 93: WRITE (I02,90002) 00900004 ! 94: WRITE (I02, 90002) 00910004 ! 95: WRITE (I02,90003) 00920004 ! 96: WRITE (I02,90002) 00930004 ! 97: WRITE (I02,90004) 00940004 ! 98: WRITE (I02,90002) 00950004 ! 99: WRITE (I02,90011) 00960004 ! 100: WRITE (I02,90002) 00970004 ! 101: WRITE (I02,90002) 00980004 ! 102: WRITE (I02,90005) 00990004 ! 103: WRITE (I02,90006) 01000004 ! 104: WRITE (I02,90002) 01010004 ! 105: C TEST SECTION 01020004 ! 106: C 01030004 ! 107: C TESTS 21, 22, AND 23 CONTAIN THE SAME IF STATEMENT BUT THE 01040004 ! 108: C EXPECTED BRANCH IS TO THE FIRST, SECOND OR THIRD STATEMENT LABEL 01050004 ! 109: C AS THE INTEGER EXPRESSION IS LESS THAN ZERO, EQUAL TO ZERO, OR 01060004 ! 110: C GREATER THAN ZERO RESPECTIVELY. 01070004 ! 111: C 01080004 ! 112: 211 CONTINUE 01090004 ! 113: IVTNUM = 21 01100004 ! 114: C 01110004 ! 115: C **** TEST 021 **** 01120004 ! 116: C TEST 21 - ARITHMETIC IF STATEMENT TEST 01130004 ! 117: C LESS THAN ZERO BRANCH EXPECTED. 01140004 ! 118: C 01150004 ! 119: IF (ICZERO) 30210, 210, 30210 01160004 ! 120: 210 CONTINUE 01170004 ! 121: IVON01=2 01180004 ! 122: IF (IVON01 - 3) 212,213,214 01190004 ! 123: 212 IVON02 = -1 01200004 ! 124: GO TO 40210 01210004 ! 125: 213 IVON02 = 0 01220004 ! 126: GO TO 40210 01230004 ! 127: 214 IVON02 = 1 01240004 ! 128: GO TO 40210 01250004 ! 129: 30210 IVDELE = IVDELE + 1 01260004 ! 130: WRITE (I02,80003) IVTNUM 01270004 ! 131: IF (ICZERO) 40210, 221, 40210 01280004 ! 132: 40210 IF (IVON02) 10210, 20210, 20210 01290004 ! 133: 10210 IVPASS = IVPASS + 1 01300004 ! 134: WRITE (I02,80001) IVTNUM 01310004 ! 135: GO TO 221 01320004 ! 136: 20210 IVFAIL = IVFAIL + 1 01330004 ! 137: IVCOMP=IVON02 01340004 ! 138: IVCORR=-1 01350004 ! 139: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01360004 ! 140: 221 CONTINUE 01370004 ! 141: IVTNUM = 22 01380004 ! 142: C 01390004 ! 143: C **** TEST 022 **** 01400004 ! 144: C TEST 22 - ARITHMETIC IF STATEMENT TEST 01410004 ! 145: C EQUAL TO ZERO BRANCH EXPECTED 01420004 ! 146: C 01430004 ! 147: IF (ICZERO) 30220, 220, 30220 01440004 ! 148: 220 CONTINUE 01450004 ! 149: IVON01 = 3 01460004 ! 150: IF (IVON01 - 3) 222,223,224 01470004 ! 151: 222 IVON02 = -1 01480004 ! 152: GO TO 40220 01490004 ! 153: 223 IVON02 = 0 01500004 ! 154: GO TO 40220 01510004 ! 155: 224 IVON02 = 1 01520004 ! 156: GO TO 40220 01530004 ! 157: 30220 IVDELE = IVDELE + 1 01540004 ! 158: WRITE (I02,80003) IVTNUM 01550004 ! 159: IF (ICZERO) 40220, 231, 40220 01560004 ! 160: 40220 IF (IVON02) 20220, 10220, 20220 01570004 ! 161: 10220 IVPASS = IVPASS + 1 01580004 ! 162: WRITE (I02,80001) IVTNUM 01590004 ! 163: GO TO 231 01600004 ! 164: 20220 IVFAIL = IVFAIL + 1 01610004 ! 165: IVCOMP=IVON02 01620004 ! 166: IVCORR= 0 01630004 ! 167: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01640004 ! 168: 231 CONTINUE 01650004 ! 169: IVTNUM = 23 01660004 ! 170: C 01670004 ! 171: C **** TEST 023 **** 01680004 ! 172: C TEST 23 - ARITHMETIC IF STATEMENT TEST 01690004 ! 173: C GREATER THAN ZERO BRANCH EXPECTED 01700004 ! 174: C 01710004 ! 175: IF (ICZERO) 30230, 230, 30230 01720004 ! 176: 230 CONTINUE 01730004 ! 177: IVON01 = 4 01740004 ! 178: IF (IVON01 - 3) 232,233,234 01750004 ! 179: 232 IVON02 = -1 01760004 ! 180: GO TO 40230 01770004 ! 181: 233 IVON02 = 0 01780004 ! 182: GO TO 40230 01790004 ! 183: 234 IVON02 = 1 01800004 ! 184: GO TO 40230 01810004 ! 185: 30230 IVDELE = IVDELE + 1 01820004 ! 186: WRITE (I02,80003) IVTNUM 01830004 ! 187: IF (ICZERO) 40230, 241, 40230 01840004 ! 188: 40230 IF (IVON02) 20230, 20230, 10230 01850004 ! 189: 10230 IVPASS = IVPASS + 1 01860004 ! 190: WRITE (I02,80001) IVTNUM 01870004 ! 191: GO TO 241 01880004 ! 192: 20230 IVFAIL = IVFAIL + 1 01890004 ! 193: IVCOMP=IVON02 01900004 ! 194: IVCORR = 1 01910004 ! 195: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01920004 ! 196: C 01930004 ! 197: C TESTS 24 THROUGH 29 CONTAIN AN IF STATEMENT WITH TWO OF THE 01940004 ! 198: C THREE BRANCH STATEMENT LABELS EQUAL. 01950004 ! 199: C 01960004 ! 200: 241 CONTINUE 01970004 ! 201: IVTNUM = 24 01980004 ! 202: C 01990004 ! 203: C **** TEST 024 **** 02000004 ! 204: C TEST 24 - ARITHMETIC IF STATEMENT TEST 02010004 ! 205: C LESS THAN ZERO BRANCH EXPECTED 02020004 ! 206: C 02030004 ! 207: IF (ICZERO) 30240, 240, 30240 02040004 ! 208: 240 CONTINUE 02050004 ! 209: IVON01=2 02060004 ! 210: IF (IVON01 - 3) 242,243,242 02070004 ! 211: 242 IVON02=-1 02080004 ! 212: GO TO 40240 02090004 ! 213: 243 IVON02=0 02100004 ! 214: GO TO 40240 02110004 ! 215: 30240 IVDELE = IVDELE + 1 02120004 ! 216: WRITE (I02,80003) IVTNUM 02130004 ! 217: IF (ICZERO) 40240, 251, 40240 02140004 ! 218: 40240 IF (IVON02) 10240, 20240, 20240 02150004 ! 219: 10240 IVPASS = IVPASS + 1 02160004 ! 220: WRITE (I02,80001) IVTNUM 02170004 ! 221: GO TO 251 02180004 ! 222: 20240 IVFAIL = IVFAIL + 1 02190004 ! 223: IVCOMP=IVON02 02200004 ! 224: IVCORR=-1 02210004 ! 225: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02220004 ! 226: 251 CONTINUE 02230004 ! 227: IVTNUM = 25 02240004 ! 228: C 02250004 ! 229: C **** TEST 025 **** 02260004 ! 230: C TEST 25 - ARITHMETIC IF STATEMENT TEST 02270004 ! 231: C EQUAL TO ZERO BRANCH EXPECTED 02280004 ! 232: C 02290004 ! 233: IF (ICZERO) 30250, 250, 30250 02300004 ! 234: 250 CONTINUE 02310004 ! 235: IVON01=3 02320004 ! 236: IF (IVON01 - 3) 252,253,252 02330004 ! 237: 252 IVON02= -1 02340004 ! 238: GO TO 40250 02350004 ! 239: 253 IVON02 = 0 02360004 ! 240: GO TO 40250 02370004 ! 241: 30250 IVDELE = IVDELE + 1 02380004 ! 242: WRITE (I02,80003) IVTNUM 02390004 ! 243: IF (ICZERO) 40250, 261, 40250 02400004 ! 244: 40250 IF (IVON02) 20250,10250,20250 02410004 ! 245: 10250 IVPASS = IVPASS + 1 02420004 ! 246: WRITE (I02,80001) IVTNUM 02430004 ! 247: GO TO 261 02440004 ! 248: 20250 IVFAIL = IVFAIL + 1 02450004 ! 249: IVCOMP=IVON02 02460004 ! 250: IVCORR=0 02470004 ! 251: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02480004 ! 252: 261 CONTINUE 02490004 ! 253: IVTNUM = 26 02500004 ! 254: C 02510004 ! 255: C **** TEST 026 **** 02520004 ! 256: C TEST 26 - ARITHMETIC IF STATEMENT TEST 02530004 ! 257: C GREATER THAN ZERO BRANCH EXPECTED 02540004 ! 258: C 02550004 ! 259: IF (ICZERO) 30260, 260, 30260 02560004 ! 260: 260 CONTINUE 02570004 ! 261: IVON01=4 02580004 ! 262: IF (IVON01-3) 262, 263, 262 02590004 ! 263: 262 IVON02= 1 02600004 ! 264: GO TO 40260 02610004 ! 265: 263 IVON02 = 0 02620004 ! 266: GO TO 40260 02630004 ! 267: 30260 IVDELE = IVDELE + 1 02640004 ! 268: WRITE (I02,80003) IVTNUM 02650004 ! 269: IF (ICZERO) 40260, 271, 40260 02660004 ! 270: 40260 IF (IVON02) 20260, 20260, 10260 02670004 ! 271: 10260 IVPASS = IVPASS + 1 02680004 ! 272: WRITE (I02,80001) IVTNUM 02690004 ! 273: GO TO 271 02700004 ! 274: 20260 IVFAIL = IVFAIL + 1 02710004 ! 275: IVCOMP=IVON02 02720004 ! 276: IVCORR = 1 02730004 ! 277: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02740004 ! 278: 271 CONTINUE 02750004 ! 279: IVTNUM = 27 02760004 ! 280: C 02770004 ! 281: C **** TEST 027 **** 02780004 ! 282: C TEST 27 - ARITHMETIC IF STATEMENT TEST 02790004 ! 283: C LESS THAN ZERO BRANCH EXPECTED 02800004 ! 284: C 02810004 ! 285: IF (ICZERO) 30270, 270, 30270 02820004 ! 286: 270 CONTINUE 02830004 ! 287: IVON01 = -4 02840004 ! 288: IF (IVON01 + 3) 272, 272, 273 02850004 ! 289: 272 IVON02= -1 02860004 ! 290: GO TO 40270 02870004 ! 291: 273 IVON02 = 1 02880004 ! 292: GO TO 40270 02890004 ! 293: 30270 IVDELE = IVDELE + 1 02900004 ! 294: WRITE (I02,80003) IVTNUM 02910004 ! 295: IF (ICZERO) 40270, 281, 40270 02920004 ! 296: 40270 IF (IVON02) 10270, 20270, 20270 02930004 ! 297: 10270 IVPASS = IVPASS + 1 02940004 ! 298: WRITE (I02,80001) IVTNUM 02950004 ! 299: GO TO 281 02960004 ! 300: 20270 IVFAIL = IVFAIL + 1 02970004 ! 301: IVCOMP=IVON02 02980004 ! 302: IVCORR= -1 02990004 ! 303: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03000004 ! 304: 281 CONTINUE 03010004 ! 305: IVTNUM = 28 03020004 ! 306: C 03030004 ! 307: C **** TEST 028 **** 03040004 ! 308: C TEST 28 - ARITHMETIC IF STATEMENT TEST 03050004 ! 309: C EQUAL TO ZERO BRANCH EXPECTED 03060004 ! 310: C 03070004 ! 311: IF (ICZERO) 30280, 280, 30280 03080004 ! 312: 280 CONTINUE 03090004 ! 313: IVON01 = -3 03100004 ! 314: IF (IVON01 + 3) 282, 282, 283 03110004 ! 315: 282 IVON02 = 0 03120004 ! 316: GO TO 40280 03130004 ! 317: 283 IVON02 = 1 03140004 ! 318: GO TO 40280 03150004 ! 319: 30280 IVDELE = IVDELE + 1 03160004 ! 320: WRITE (I02,80003) IVTNUM 03170004 ! 321: IF (ICZERO) 40280, 291, 40280 03180004 ! 322: 40280 IF (IVON02) 20280, 10280, 20280 03190004 ! 323: 10280 IVPASS = IVPASS + 1 03200004 ! 324: WRITE (I02,80001) IVTNUM 03210004 ! 325: GO TO 291 03220004 ! 326: 20280 IVFAIL = IVFAIL + 1 03230004 ! 327: IVCOMP=IVON02 03240004 ! 328: IVCORR= 0 03250004 ! 329: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03260004 ! 330: 291 CONTINUE 03270004 ! 331: IVTNUM = 29 03280004 ! 332: C 03290004 ! 333: C **** TEST 029 **** 03300004 ! 334: C TEST 29 - ARITHMETIC IF STATEMENT TEST 03310004 ! 335: C GREATER THAN ZERO BRANCH EXPECTED 03320004 ! 336: C 03330004 ! 337: IF (ICZERO) 30290, 290, 30290 03340004 ! 338: 290 CONTINUE 03350004 ! 339: IVON01 = -2 03360004 ! 340: IF (IVON01 + 3) 292,292,293 03370004 ! 341: 292 IVON02 = -1 03380004 ! 342: GO TO 40290 03390004 ! 343: 293 IVON02 = 1 03400004 ! 344: GO TO 40290 03410004 ! 345: 30290 IVDELE = IVDELE + 1 03420004 ! 346: WRITE (I02,80003) IVTNUM 03430004 ! 347: IF (ICZERO) 40290, 301, 40290 03440004 ! 348: 40290 IF (IVON02) 20290, 20290, 10290 03450004 ! 349: 10290 IVPASS = IVPASS + 1 03460004 ! 350: WRITE (I02,80001) IVTNUM 03470004 ! 351: GO TO 301 03480004 ! 352: 20290 IVFAIL = IVFAIL + 1 03490004 ! 353: IVCOMP= IVON02 03500004 ! 354: IVCORR = 1 03510004 ! 355: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03520004 ! 356: C 03530004 ! 357: C TESTS 30 AND 31 CONTAIN THE BASIC GO TO STATEMENT TESTS. 03540004 ! 358: C 03550004 ! 359: 301 CONTINUE 03560004 ! 360: IVTNUM = 30 03570004 ! 361: C 03580004 ! 362: C **** TEST 030 **** 03590004 ! 363: C TEST 30 - UNCONDITIONAL GO TO STATEMENT TEST 03600004 ! 364: C 03610004 ! 365: IF (ICZERO) 30300, 300, 30300 03620004 ! 366: 300 CONTINUE 03630004 ! 367: IVON01 = 1 03640004 ! 368: GO TO 302 03650004 ! 369: 303 IVON01 = 2 03660004 ! 370: GO TO 304 03670004 ! 371: 302 IVON01 = 3 03680004 ! 372: GO TO 303 03690004 ! 373: 304 GO TO 40300 03700004 ! 374: 30300 IVDELE = IVDELE + 1 03710004 ! 375: WRITE (I02,80003) IVTNUM 03720004 ! 376: IF (ICZERO) 40300, 311, 40300 03730004 ! 377: 40300 IF (IVON01 - 2) 20300,10300,20300 03740004 ! 378: 10300 IVPASS = IVPASS + 1 03750004 ! 379: WRITE (I02,80001) IVTNUM 03760004 ! 380: GO TO 311 03770004 ! 381: 20300 IVFAIL = IVFAIL + 1 03780004 ! 382: IVCOMP = IVON01 03790004 ! 383: IVCORR = 2 03800004 ! 384: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03810004 ! 385: 311 CONTINUE 03820004 ! 386: IVTNUM = 31 03830004 ! 387: C 03840004 ! 388: C **** TEST 031 **** 03850004 ! 389: C TEST 31 - UNCONDITIONAL GO TO STATEMENT TEST 03860004 ! 390: C 03870004 ! 391: IF (ICZERO) 30310, 310, 30310 03880004 ! 392: 310 CONTINUE 03890004 ! 393: IVON01 = 1 03900004 ! 394: GO TO 316 03910004 ! 395: 313 GO TO 317 03920004 ! 396: 314 IVON01 = 3 03930004 ! 397: GO TO 40310 03940004 ! 398: 315 GO TO 313 03950004 ! 399: 316 GO TO 315 03960004 ! 400: 317 GO TO 314 03970004 ! 401: 30310 IVDELE = IVDELE + 1 03980004 ! 402: WRITE (I02,80003) IVTNUM 03990004 ! 403: IF (ICZERO) 40310, 321, 40310 04000004 ! 404: 40310 IF (IVON01 - 3) 20310, 10310, 20310 04010004 ! 405: 10310 IVPASS = IVPASS + 1 04020004 ! 406: WRITE (I02,80001) IVTNUM 04030004 ! 407: GO TO 321 04040004 ! 408: 20310 IVFAIL = IVFAIL + 1 04050004 ! 409: IVCOMP=IVON01 04060004 ! 410: IVCORR = 3 04070004 ! 411: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04080004 ! 412: 321 CONTINUE 04090004 ! 413: IVTNUM = 32 04100004 ! 414: C 04110004 ! 415: C **** TEST 032 **** 04120004 ! 416: C TEST 32 - ARITHMETIC IF STATEMENT AND UNCONDITIONAL GO TO 04130004 ! 417: C STATEMENT 04140004 ! 418: C THIS TEST COMBINES THE BASIC ARITHMETIC IF STATEMENTS AND 04150004 ! 419: C UNCONDITIONAL GO TO STATEMENTS IN ONE TEST. 04160004 ! 420: C 04170004 ! 421: IF (ICZERO) 30320, 320, 30320 04180004 ! 422: 320 CONTINUE 04190004 ! 423: IVON01 = 1 04200004 ! 424: GO TO 322 04210004 ! 425: 324 IVON01 = 2 04220004 ! 426: IF (IVON01 -1) 323, 323, 325 04230004 ! 427: 327 IVON01 = 5 04240004 ! 428: GO TO 328 04250004 ! 429: 326 IVON01 = -4 04260004 ! 430: IF (IVON01 + 4) 323, 327, 323 04270004 ! 431: 322 IF (IVON01 - 1) 323, 324, 323 04280004 ! 432: 323 GO TO 20320 04290004 ! 433: 325 IVON01 = 3 04300004 ! 434: IF (IVON01 -4) 326,323,323 04310004 ! 435: 328 GO TO 40320 04320004 ! 436: 30320 IVDELE = IVDELE + 1 04330004 ! 437: WRITE (I02,80003) IVTNUM 04340004 ! 438: IF (ICZERO) 40320, 331, 40320 04350004 ! 439: 40320 IF (IVON01 - 5) 20320, 10320, 20320 04360004 ! 440: 10320 IVPASS = IVPASS + 1 04370004 ! 441: WRITE (I02,80001) IVTNUM 04380004 ! 442: GO TO 331 04390004 ! 443: 20320 IVFAIL = IVFAIL + 1 04400004 ! 444: IVCOMP=IVON01 04410004 ! 445: IVCORR=5 04420004 ! 446: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04430004 ! 447: 331 CONTINUE 04440004 ! 448: C 04450004 ! 449: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 04460004 ! 450: 99999 CONTINUE 04470004 ! 451: WRITE (I02,90002) 04480004 ! 452: WRITE (I02,90006) 04490004 ! 453: WRITE (I02,90002) 04500004 ! 454: WRITE (I02,90002) 04510004 ! 455: WRITE (I02,90007) 04520004 ! 456: WRITE (I02,90002) 04530004 ! 457: WRITE (I02,90008) IVFAIL 04540004 ! 458: WRITE (I02,90009) IVPASS 04550004 ! 459: WRITE (I02,90010) IVDELE 04560004 ! 460: C 04570004 ! 461: C 04580004 ! 462: C TERMINATE ROUTINE EXECUTION 04590004 ! 463: STOP 04600004 ! 464: C 04610004 ! 465: C FORMAT STATEMENTS FOR PAGE HEADERS 04620004 ! 466: 90000 FORMAT (1H1) 04630004 ! 467: 90002 FORMAT (1H ) 04640004 ! 468: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 04650004 ! 469: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 04660004 ! 470: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 04670004 ! 471: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 04680004 ! 472: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 04690004 ! 473: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 04700004 ! 474: C 04710004 ! 475: C FORMAT STATEMENTS FOR RUN SUMMARIES 04720004 ! 476: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 04730004 ! 477: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 04740004 ! 478: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 04750004 ! 479: C 04760004 ! 480: C FORMAT STATEMENTS FOR TEST RESULTS 04770004 ! 481: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 04780004 ! 482: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 04790004 ! 483: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 04800004 ! 484: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 04810004 ! 485: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 04820004 ! 486: C 04830004 ! 487: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM004) 04840004 ! 488: END 04850004
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.