|
|
1.1 ! root 1: C 00010018 ! 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 COMMENT SECTION. 00020018 ! 6: C 00030018 ! 7: C FM018 00040018 ! 8: C 00050018 ! 9: C THIS ROUTINE CONTINUES TESTS OF THE FORTRAN 00060018 ! 10: C LOGICAL IF STATEMENT IN ALL OF THE VARIOUS FORMS. THE 00070018 ! 11: C FOLLOWING LOGICAL OPERANDS ARE USED FOR THIS ROUTINE - LOGICAL 00080018 ! 12: C CONSTANTS, LOGICAL VARIABLES, LOGICAL ARRAY ELEMENTS, AND 00090018 ! 13: C ARITHMETIC EXPRESSIONS WITH VARIOUS RELATIONAL OPERATORS. BOTH 00100018 ! 14: C THE TRUE AND FALSE BRANCHES ARE TESTED IN THE SERIES OF TESTS. 00110018 ! 15: C 00120018 ! 16: C REFERENCES 00130018 ! 17: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00140018 ! 18: C X3.9-1978 00150018 ! 19: C 00160018 ! 20: C SECTION 4.7.1, LOGICAL CONSTANT 00170018 ! 21: C SECTION 6, EXPRESSIONS 00180018 ! 22: C SECTION 6.1, ARITHMETIC EXPRESSIONS 00190018 ! 23: C SECTION 6.3, RELATIONAL EXPRESSIONS 00200018 ! 24: C SECTION 6.4, LOGICAL EXPRESSIONS 00210018 ! 25: C SECTION 6.6, EVALUATION OF EXPRESSIONS 00220018 ! 26: C SECTION 10, ASSIGNMENT STATEMENTS 00230018 ! 27: C SECTION 10.2, LOGICAL ASSIGNMENT STATEMENT 00240018 ! 28: C SECTION 11.5, LOGICAL IF STATEMENT 00250018 ! 29: C 00260018 ! 30: LOGICAL LCTNT1, LCTNT2, LATN1A(2) 00270018 ! 31: DIMENSION IADN11(2) 00280018 ! 32: C 00290018 ! 33: C ********************************************************** 00300018 ! 34: C 00310018 ! 35: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00320018 ! 36: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00330018 ! 37: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00340018 ! 38: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00350018 ! 39: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00360018 ! 40: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00370018 ! 41: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00380018 ! 42: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00390018 ! 43: C OF EXECUTING THESE TESTS. 00400018 ! 44: C 00410018 ! 45: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00420018 ! 46: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00430018 ! 47: C 00440018 ! 48: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00450018 ! 49: C 00460018 ! 50: C DEPARTMENT OF THE NAVY 00470018 ! 51: C FEDERAL COBOL COMPILER TESTING SERVICE 00480018 ! 52: C WASHINGTON, D.C. 20376 00490018 ! 53: C 00500018 ! 54: C ********************************************************** 00510018 ! 55: C 00520018 ! 56: C 00530018 ! 57: C 00540018 ! 58: C INITIALIZATION SECTION 00550018 ! 59: C 00560018 ! 60: C INITIALIZE CONSTANTS 00570018 ! 61: C ************** 00580018 ! 62: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00590018 ! 63: I01 = 5 00600018 ! 64: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00610018 ! 65: I02 = 6 00620018 ! 66: C SYSTEM ENVIRONMENT SECTION 00630018 ! 67: C 00640018 ! 68: I01 = 5 00650018 ! 69: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00660018 ! 70: C (UNIT NUMBER FOR CARD READER). 00670018 ! 71: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00680018 ! 72: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00690018 ! 73: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00700018 ! 74: C 00710018 ! 75: I02 = 6 00720018 ! 76: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00730018 ! 77: C (UNIT NUMBER FOR PRINTER). 00740018 ! 78: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00750018 ! 79: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00760018 ! 80: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00770018 ! 81: C 00780018 ! 82: IVPASS=0 00790018 ! 83: IVFAIL=0 00800018 ! 84: IVDELE=0 00810018 ! 85: ICZERO=0 00820018 ! 86: C 00830018 ! 87: C WRITE PAGE HEADERS 00840018 ! 88: WRITE (I02,90000) 00850018 ! 89: WRITE (I02,90001) 00860018 ! 90: WRITE (I02,90002) 00870018 ! 91: WRITE (I02, 90002) 00880018 ! 92: WRITE (I02,90003) 00890018 ! 93: WRITE (I02,90002) 00900018 ! 94: WRITE (I02,90004) 00910018 ! 95: WRITE (I02,90002) 00920018 ! 96: WRITE (I02,90011) 00930018 ! 97: WRITE (I02,90002) 00940018 ! 98: WRITE (I02,90002) 00950018 ! 99: WRITE (I02,90005) 00960018 ! 100: WRITE (I02,90006) 00970018 ! 101: WRITE (I02,90002) 00980018 ! 102: IVTNUM = 500 00990018 ! 103: C 01000018 ! 104: C **** TEST 500 **** 01010018 ! 105: C TEST 500 - LIKE TEST 197. TRUE .OR. TRUE TRUE PATH 01020018 ! 106: C TEST OF THE FORTRAN INCLUSIVE OR (LE) .OR. (LT) 01030018 ! 107: C 01040018 ! 108: C 01050018 ! 109: IF (ICZERO) 35000, 5000, 35000 01060018 ! 110: 5000 CONTINUE 01070018 ! 111: IVON01 = 0 01080018 ! 112: LCTNT1 = .TRUE. 01090018 ! 113: LCTNT2 = .TRUE. 01100018 ! 114: IF ( LCTNT1 .OR. LCTNT2 ) IVON01 = 1 01110018 ! 115: GO TO 45000 01120018 ! 116: 35000 IVDELE = IVDELE + 1 01130018 ! 117: WRITE (I02,80003) IVTNUM 01140018 ! 118: IF (ICZERO) 45000, 5011, 45000 01150018 ! 119: 45000 IF ( IVON01 - 1 ) 25000, 15000, 25000 01160018 ! 120: 15000 IVPASS = IVPASS + 1 01170018 ! 121: WRITE (I02,80001) IVTNUM 01180018 ! 122: GO TO 5011 01190018 ! 123: 25000 IVFAIL = IVFAIL + 1 01200018 ! 124: IVCOMP = IVON01 01210018 ! 125: IVCORR = 1 01220018 ! 126: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01230018 ! 127: 5011 CONTINUE 01240018 ! 128: IVTNUM = 501 01250018 ! 129: C 01260018 ! 130: C **** TEST 501 **** 01270018 ! 131: C TEST 501 - TEST OF PARENTHESES AROUND A LOGICAL EXPRESSION 01280018 ! 132: C ( (LE) ) .OR. (LT) 01290018 ! 133: C USES LOGICAL VARIABLES SET IN LOGICAL ASSIGNMENT STATEMENTS01300018 ! 134: C ( FALSE ) .OR. FALSE FALSE PATH 01310018 ! 135: C 01320018 ! 136: C 01330018 ! 137: IF (ICZERO) 35010, 5010, 35010 01340018 ! 138: 5010 CONTINUE 01350018 ! 139: IVON01 = 1 01360018 ! 140: LCTNT1 = .FALSE. 01370018 ! 141: LCTNT2 = .FALSE. 01380018 ! 142: IF ( (LCTNT1) .OR. LCTNT2 ) IVON01 = 0 01390018 ! 143: GO TO 45010 01400018 ! 144: 35010 IVDELE = IVDELE + 1 01410018 ! 145: WRITE (I02,80003) IVTNUM 01420018 ! 146: IF (ICZERO) 45010, 5021, 45010 01430018 ! 147: 45010 IF ( IVON01 - 1 ) 25010, 15010, 25010 01440018 ! 148: 15010 IVPASS = IVPASS + 1 01450018 ! 149: WRITE (I02,80001) IVTNUM 01460018 ! 150: GO TO 5021 01470018 ! 151: 25010 IVFAIL = IVFAIL + 1 01480018 ! 152: IVCOMP = IVON01 01490018 ! 153: IVCORR = 1 01500018 ! 154: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01510018 ! 155: 5021 CONTINUE 01520018 ! 156: IVTNUM = 502 01530018 ! 157: C 01540018 ! 158: C **** TEST 502 **** 01550018 ! 159: C TEST 502 - LIKE TEST 501 EXCEPT THAT IT IT IS OF THE FORM 01560018 ! 160: C (LE) .OR. ( (LT) ) TRUE .OR. (TRUE) 01570018 ! 161: C TRUE PATH 01580018 ! 162: C 01590018 ! 163: C 01600018 ! 164: IF (ICZERO) 35020, 5020, 35020 01610018 ! 165: 5020 CONTINUE 01620018 ! 166: IVON01 = 0 01630018 ! 167: LCTNT1 = .TRUE. 01640018 ! 168: LCTNT2 = .TRUE. 01650018 ! 169: IF ( LCTNT1 .OR. ( LCTNT2 ) ) IVON01 = 1 01660018 ! 170: GO TO 45020 01670018 ! 171: 35020 IVDELE = IVDELE + 1 01680018 ! 172: WRITE (I02,80003) IVTNUM 01690018 ! 173: IF (ICZERO) 45020, 5031, 45020 01700018 ! 174: 45020 IF ( IVON01 - 1 ) 25020, 15020, 25020 01710018 ! 175: 15020 IVPASS = IVPASS + 1 01720018 ! 176: WRITE (I02,80001) IVTNUM 01730018 ! 177: GO TO 5031 01740018 ! 178: 25020 IVFAIL = IVFAIL + 1 01750018 ! 179: IVCOMP = IVON01 01760018 ! 180: IVCORR = 1 01770018 ! 181: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01780018 ! 182: 5031 CONTINUE 01790018 ! 183: IVTNUM = 503 01800018 ! 184: C 01810018 ! 185: C **** TEST 503 **** 01820018 ! 186: C TEST 503 - TEST OF PARENTHESES IN LOGICAL EXPRESSIONS 01830018 ! 187: C ( (LE) ) .OR. ( (LT) ) 01840018 ! 188: C (FALSE) .OR. (TRUE) TRUE PATH 01850018 ! 189: C 01860018 ! 190: C 01870018 ! 191: IF (ICZERO) 35030, 5030, 35030 01880018 ! 192: 5030 CONTINUE 01890018 ! 193: IVON01 = 0 01900018 ! 194: LCTNT1 = .FALSE. 01910018 ! 195: LCTNT2 = .TRUE. 01920018 ! 196: IF ( (LCTNT1) .OR. (LCTNT2) ) IVON01 = 1 01930018 ! 197: GO TO 45030 01940018 ! 198: 35030 IVDELE = IVDELE + 1 01950018 ! 199: WRITE (I02,80003) IVTNUM 01960018 ! 200: IF (ICZERO) 45030, 5041, 45030 01970018 ! 201: 45030 IF ( IVON01 - 1 ) 25030, 15030, 25030 01980018 ! 202: 15030 IVPASS = IVPASS + 1 01990018 ! 203: WRITE (I02,80001) IVTNUM 02000018 ! 204: GO TO 5041 02010018 ! 205: 25030 IVFAIL = IVFAIL + 1 02020018 ! 206: IVCOMP = IVON01 02030018 ! 207: IVCORR = 1 02040018 ! 208: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02050018 ! 209: 5041 CONTINUE 02060018 ! 210: IVTNUM = 504 02070018 ! 211: C 02080018 ! 212: C **** TEST 504 **** 02090018 ! 213: C TEST 504 - LIKE TEST 503 ONLY MORE PARENTHESES TRUE PATH 02100018 ! 214: C 02110018 ! 215: C 02120018 ! 216: IF (ICZERO) 35040, 5040, 35040 02130018 ! 217: 5040 CONTINUE 02140018 ! 218: IVON01 = 0 02150018 ! 219: LCTNT1 = .TRUE. 02160018 ! 220: LCTNT2 = .FALSE. 02170018 ! 221: IF ( ( (LCTNT1) .OR. (LCTNT2) ) ) IVON01 = 1 02180018 ! 222: GO TO 45040 02190018 ! 223: 35040 IVDELE = IVDELE + 1 02200018 ! 224: WRITE (I02,80003) IVTNUM 02210018 ! 225: IF (ICZERO) 45040, 5051, 45040 02220018 ! 226: 45040 IF ( IVON01 - 1 ) 25040, 15040, 25040 02230018 ! 227: 15040 IVPASS = IVPASS + 1 02240018 ! 228: WRITE (I02,80001) IVTNUM 02250018 ! 229: GO TO 5051 02260018 ! 230: 25040 IVFAIL = IVFAIL + 1 02270018 ! 231: IVCOMP = IVON01 02280018 ! 232: IVCORR = 1 02290018 ! 233: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02300018 ! 234: 5051 CONTINUE 02310018 ! 235: IVTNUM = 505 02320018 ! 236: C 02330018 ! 237: C **** TEST 505 **** 02340018 ! 238: C TEST 505 - TEST OF PARENTHESES WITH .AND. FALSE PATH 02350018 ! 239: C 02360018 ! 240: C 02370018 ! 241: IF (ICZERO) 35050, 5050, 35050 02380018 ! 242: 5050 CONTINUE 02390018 ! 243: IVON01 = 1 02400018 ! 244: LCTNT1 = .FALSE. 02410018 ! 245: LCTNT2 = .FALSE. 02420018 ! 246: IF ( (LCTNT1) .AND. LCTNT2 ) IVON01 = 0 02430018 ! 247: GO TO 45050 02440018 ! 248: 35050 IVDELE = IVDELE + 1 02450018 ! 249: WRITE (I02,80003) IVTNUM 02460018 ! 250: IF (ICZERO) 45050, 5061, 45050 02470018 ! 251: 45050 IF ( IVON01 - 1 ) 25050, 15050, 25050 02480018 ! 252: 15050 IVPASS = IVPASS + 1 02490018 ! 253: WRITE (I02,80001) IVTNUM 02500018 ! 254: GO TO 5061 02510018 ! 255: 25050 IVFAIL = IVFAIL + 1 02520018 ! 256: IVCOMP = IVON01 02530018 ! 257: IVCORR = 1 02540018 ! 258: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02550018 ! 259: 5061 CONTINUE 02560018 ! 260: IVTNUM = 506 02570018 ! 261: C 02580018 ! 262: C **** TEST 506 **** 02590018 ! 263: C TEST 506 - LIKE TEST 505 FALSE PATH 02600018 ! 264: C 02610018 ! 265: C 02620018 ! 266: IF (ICZERO) 35060, 5060, 35060 02630018 ! 267: 5060 CONTINUE 02640018 ! 268: IVON01 = 1 02650018 ! 269: LCTNT1 = .FALSE. 02660018 ! 270: LCTNT2 = .TRUE. 02670018 ! 271: IF ( LCTNT1 .AND. (LCTNT2) ) IVON01 = 0 02680018 ! 272: GO TO 45060 02690018 ! 273: 35060 IVDELE = IVDELE + 1 02700018 ! 274: WRITE (I02,80003) IVTNUM 02710018 ! 275: IF (ICZERO) 45060, 5071, 45060 02720018 ! 276: 45060 IF ( IVON01 - 1 ) 25060, 15060, 25060 02730018 ! 277: 15060 IVPASS = IVPASS + 1 02740018 ! 278: WRITE (I02,80001) IVTNUM 02750018 ! 279: GO TO 5071 02760018 ! 280: 25060 IVFAIL = IVFAIL + 1 02770018 ! 281: IVCOMP = IVON01 02780018 ! 282: IVCORR = 1 02790018 ! 283: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02800018 ! 284: 5071 CONTINUE 02810018 ! 285: IVTNUM = 507 02820018 ! 286: C 02830018 ! 287: C **** TEST 507 **** 02840018 ! 288: C TEST 507 - MORE PARENTHESES WITH LOGICAL .AND. FALSE PATH 02850018 ! 289: C 02860018 ! 290: C 02870018 ! 291: IF (ICZERO) 35070, 5070, 35070 02880018 ! 292: 5070 CONTINUE 02890018 ! 293: IVON01 = 1 02900018 ! 294: LCTNT1 = .TRUE. 02910018 ! 295: LCTNT2 = .FALSE. 02920018 ! 296: IF ( (LCTNT1) .AND. (LCTNT2) ) IVON01 = 0 02930018 ! 297: GO TO 45070 02940018 ! 298: 35070 IVDELE = IVDELE + 1 02950018 ! 299: WRITE (I02,80003) IVTNUM 02960018 ! 300: IF (ICZERO) 45070, 5081, 45070 02970018 ! 301: 45070 IF ( IVON01 - 1 ) 25070, 15070, 25070 02980018 ! 302: 15070 IVPASS = IVPASS + 1 02990018 ! 303: WRITE (I02,80001) IVTNUM 03000018 ! 304: GO TO 5081 03010018 ! 305: 25070 IVFAIL = IVFAIL + 1 03020018 ! 306: IVCOMP = IVON01 03030018 ! 307: IVCORR = 1 03040018 ! 308: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03050018 ! 309: 5081 CONTINUE 03060018 ! 310: IVTNUM = 508 03070018 ! 311: C 03080018 ! 312: C **** TEST 508 **** 03090018 ! 313: C TEST 508 - TEST OF LOGICAL .NOT. WITH PARENTHESES AROUND A LOGIC03100018 ! 314: C PRIMARY. FOR THIS TEST A LOGICAL ARRAY ELEMENT IS USED AS 03110018 ! 315: C THE LOGICAL PRIMARY. .NOT. (FALSE) TRUE PATH. 03120018 ! 316: C 03130018 ! 317: C 03140018 ! 318: IF (ICZERO) 35080, 5080, 35080 03150018 ! 319: 5080 CONTINUE 03160018 ! 320: IVON01 = 0 03170018 ! 321: LATN1A(1) = .FALSE. 03180018 ! 322: IF ( .NOT. (LATN1A(1)) ) IVON01 = 1 03190018 ! 323: GO TO 45080 03200018 ! 324: 35080 IVDELE = IVDELE + 1 03210018 ! 325: WRITE (I02,80003) IVTNUM 03220018 ! 326: IF (ICZERO) 45080, 5091, 45080 03230018 ! 327: 45080 IF ( IVON01 - 1 ) 25080, 15080, 25080 03240018 ! 328: 15080 IVPASS = IVPASS + 1 03250018 ! 329: WRITE (I02,80001) IVTNUM 03260018 ! 330: GO TO 5091 03270018 ! 331: 25080 IVFAIL = IVFAIL + 1 03280018 ! 332: IVCOMP = IVON01 03290018 ! 333: IVCORR = 1 03300018 ! 334: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03310018 ! 335: 5091 CONTINUE 03320018 ! 336: IVTNUM = 509 03330018 ! 337: C 03340018 ! 338: C **** TEST 509 **** 03350018 ! 339: C TEST 509 - LIKE TEST 508 EXCEPT THAT THE WHOLE EXPRESSION 03360018 ! 340: C IS IN PARENTHESES. FALSE PATH 03370018 ! 341: C 03380018 ! 342: C 03390018 ! 343: IF (ICZERO) 35090, 5090, 35090 03400018 ! 344: 5090 CONTINUE 03410018 ! 345: IVON01 = 1 03420018 ! 346: LATN1A(2) = .TRUE. 03430018 ! 347: IF ( ( .NOT. (LATN1A(2)) ) ) IVON01 = 0 03440018 ! 348: GO TO 45090 03450018 ! 349: 35090 IVDELE = IVDELE + 1 03460018 ! 350: WRITE (I02,80003) IVTNUM 03470018 ! 351: IF (ICZERO) 45090, 5101, 45090 03480018 ! 352: 45090 IF ( IVON01 - 1 ) 25090, 15090, 25090 03490018 ! 353: 15090 IVPASS = IVPASS + 1 03500018 ! 354: WRITE (I02,80001) IVTNUM 03510018 ! 355: GO TO 5101 03520018 ! 356: 25090 IVFAIL = IVFAIL + 1 03530018 ! 357: IVCOMP = IVON01 03540018 ! 358: IVCORR = 1 03550018 ! 359: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03560018 ! 360: 5101 CONTINUE 03570018 ! 361: IVTNUM = 510 03580018 ! 362: C 03590018 ! 363: C **** TEST 510 **** 03600018 ! 364: C TEST 510 - INTEGER CONSTANT EXPONIENTATION 03610018 ! 365: C RELATIONAL EXPRESSION USING .EQ. TRUE PATH 03620018 ! 366: C 03630018 ! 367: C 03640018 ! 368: IF (ICZERO) 35100, 5100, 35100 03650018 ! 369: 5100 CONTINUE 03660018 ! 370: IVON01 = 0 03670018 ! 371: IF ( 3 ** 3 .EQ. 27 ) IVON01 = 1 03680018 ! 372: GO TO 45100 03690018 ! 373: 35100 IVDELE = IVDELE + 1 03700018 ! 374: WRITE (I02,80003) IVTNUM 03710018 ! 375: IF (ICZERO) 45100, 5111, 45100 03720018 ! 376: 45100 IF ( IVON01 - 1 ) 25100, 15100, 25100 03730018 ! 377: 15100 IVPASS = IVPASS + 1 03740018 ! 378: WRITE (I02,80001) IVTNUM 03750018 ! 379: GO TO 5111 03760018 ! 380: 25100 IVFAIL = IVFAIL + 1 03770018 ! 381: IVCOMP = IVON01 03780018 ! 382: IVCORR = 1 03790018 ! 383: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03800018 ! 384: 5111 CONTINUE 03810018 ! 385: IVTNUM = 511 03820018 ! 386: C 03830018 ! 387: C **** TEST 511 **** 03840018 ! 388: C TEST 511 - EXPONIENTIATION USING AN INTEGER VARIABLE 03850018 ! 389: C RELATIONAL EXPRESSION USING .NE. FALSE PATH 03860018 ! 390: C 03870018 ! 391: C 03880018 ! 392: IF (ICZERO) 35110, 5110, 35110 03890018 ! 393: 5110 CONTINUE 03900018 ! 394: IVON01 = 1 03910018 ! 395: IVON02 = 3 03920018 ! 396: IF ( IVON02 ** 3 .NE. 27 ) IVON01 = 0 03930018 ! 397: GO TO 45110 03940018 ! 398: 35110 IVDELE = IVDELE + 1 03950018 ! 399: WRITE (I02,80003) IVTNUM 03960018 ! 400: IF (ICZERO) 45110, 5121, 45110 03970018 ! 401: 45110 IF ( IVON01 - 1 ) 25110, 15110, 25110 03980018 ! 402: 15110 IVPASS = IVPASS + 1 03990018 ! 403: WRITE (I02,80001) IVTNUM 04000018 ! 404: GO TO 5121 04010018 ! 405: 25110 IVFAIL = IVFAIL + 1 04020018 ! 406: IVCOMP = IVON01 04030018 ! 407: IVCORR = 1 04040018 ! 408: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04050018 ! 409: 5121 CONTINUE 04060018 ! 410: IVTNUM = 512 04070018 ! 411: C 04080018 ! 412: C **** TEST 512 **** 04090018 ! 413: C TEST 512 - LIKE TEST 511 USES .LE. TRUE PATH 04100018 ! 414: C 04110018 ! 415: C 04120018 ! 416: IF (ICZERO) 35120, 5120, 35120 04130018 ! 417: 5120 CONTINUE 04140018 ! 418: IVON01 = 0 04150018 ! 419: IVON02 = 3 04160018 ! 420: IF ( 3 ** IVON02 .LE. 27 ) IVON01 = 1 04170018 ! 421: GO TO 45120 04180018 ! 422: 35120 IVDELE = IVDELE + 1 04190018 ! 423: WRITE (I02,80003) IVTNUM 04200018 ! 424: IF (ICZERO) 45120, 5131, 45120 04210018 ! 425: 45120 IF ( IVON01 - 1 ) 25120, 15120, 25120 04220018 ! 426: 15120 IVPASS = IVPASS + 1 04230018 ! 427: WRITE (I02,80001) IVTNUM 04240018 ! 428: GO TO 5131 04250018 ! 429: 25120 IVFAIL = IVFAIL + 1 04260018 ! 430: IVCOMP = IVON01 04270018 ! 431: IVCORR = 1 04280018 ! 432: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04290018 ! 433: 5131 CONTINUE 04300018 ! 434: IVTNUM = 513 04310018 ! 435: C 04320018 ! 436: C **** TEST 513 **** 04330018 ! 437: C TEST 513 - LIKE TEST 511 BUT USES ALL INTEGER VARIABLES 04340018 ! 438: C RELATIONAL EXPRESSION USES .LT. FALSE PATH 04350018 ! 439: C 04360018 ! 440: C 04370018 ! 441: IF (ICZERO) 35130, 5130, 35130 04380018 ! 442: 5130 CONTINUE 04390018 ! 443: IVON01 = 1 04400018 ! 444: IVON02 = 3 04410018 ! 445: IVON03 = 27 04420018 ! 446: IF ( IVON02 ** IVON02 .LT. IVON03 ) IVON01 = 0 04430018 ! 447: GO TO 45130 04440018 ! 448: 35130 IVDELE = IVDELE + 1 04450018 ! 449: WRITE (I02,80003) IVTNUM 04460018 ! 450: IF (ICZERO) 45130, 5141, 45130 04470018 ! 451: 45130 IF ( IVON01 - 1 ) 25130, 15130, 25130 04480018 ! 452: 15130 IVPASS = IVPASS + 1 04490018 ! 453: WRITE (I02,80001) IVTNUM 04500018 ! 454: GO TO 5141 04510018 ! 455: 25130 IVFAIL = IVFAIL + 1 04520018 ! 456: IVCOMP = IVON01 04530018 ! 457: IVCORR = 1 04540018 ! 458: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04550018 ! 459: 5141 CONTINUE 04560018 ! 460: IVTNUM = 514 04570018 ! 461: C 04580018 ! 462: C **** TEST 514 **** 04590018 ! 463: C TEST 514 - LIKE TEST 511 BUT USES INTEGER ARRAY ELEMENTS 04600018 ! 464: C RELATIONAL EXPRESSION USES .GE. TRUE PATH 04610018 ! 465: C 04620018 ! 466: C 04630018 ! 467: IF (ICZERO) 35140, 5140, 35140 04640018 ! 468: 5140 CONTINUE 04650018 ! 469: IVON01 = 0 04660018 ! 470: IVON02 = 3 04670018 ! 471: IADN11(1) = 3 04680018 ! 472: IADN11(2) = 27 04690018 ! 473: IF ( IADN11(1) ** IVON02 .GE. IADN11(2) ) IVON01 = 1 04700018 ! 474: GO TO 45140 04710018 ! 475: 35140 IVDELE = IVDELE + 1 04720018 ! 476: WRITE (I02,80003) IVTNUM 04730018 ! 477: IF (ICZERO) 45140, 5151, 45140 04740018 ! 478: 45140 IF ( IVON01 - 1 ) 25140, 15140, 25140 04750018 ! 479: 15140 IVPASS = IVPASS + 1 04760018 ! 480: WRITE (I02,80001) IVTNUM 04770018 ! 481: GO TO 5151 04780018 ! 482: 25140 IVFAIL = IVFAIL + 1 04790018 ! 483: IVCOMP = IVON01 04800018 ! 484: IVCORR = 1 04810018 ! 485: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04820018 ! 486: 5151 CONTINUE 04830018 ! 487: IVTNUM = 515 04840018 ! 488: C 04850018 ! 489: C **** TEST 515 **** 04860018 ! 490: C TEST 515 - LIKE TEST 514 BUT USES ALL INTEGER ARRAY ELEMENTS 04870018 ! 491: C RELATIONAL EXPRESSION USES .GT. FALSE PATH 04880018 ! 492: C 04890018 ! 493: C 04900018 ! 494: IF (ICZERO) 35150, 5150, 35150 04910018 ! 495: 5150 CONTINUE 04920018 ! 496: IVON01 = 1 04930018 ! 497: IADN11(1) = 3 04940018 ! 498: IADN11(2) = 27 04950018 ! 499: IF ( IADN11(1) ** IADN11(1) .GT. IADN11(2) ) IVON01 = 0 04960018 ! 500: GO TO 45150 04970018 ! 501: 35150 IVDELE = IVDELE + 1 04980018 ! 502: WRITE (I02,80003) IVTNUM 04990018 ! 503: IF (ICZERO) 45150, 5161, 45150 05000018 ! 504: 45150 IF ( IVON01 - 1 ) 25150, 15150, 25150 05010018 ! 505: 15150 IVPASS = IVPASS + 1 05020018 ! 506: WRITE (I02,80001) IVTNUM 05030018 ! 507: GO TO 5161 05040018 ! 508: 25150 IVFAIL = IVFAIL + 1 05050018 ! 509: IVCOMP = IVON01 05060018 ! 510: IVCORR = 1 05070018 ! 511: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05080018 ! 512: 5161 CONTINUE 05090018 ! 513: IVTNUM = 516 05100018 ! 514: C 05110018 ! 515: C **** TEST 516 **** 05120018 ! 516: C TEST 516 - TEST OF INTEGER MULTIPLICATION USING INTEGER 05130018 ! 517: C CONSTANTS. RELATIONAL EXPRESSION USES .LT. TRUE PATH 05140018 ! 518: C 05150018 ! 519: C 05160018 ! 520: IF (ICZERO) 35160, 5160, 35160 05170018 ! 521: 5160 CONTINUE 05180018 ! 522: IVON01 = 0 05190018 ! 523: IVON02 = 587 05200018 ! 524: IF ( 3 * 3 .LT. IVON02 ) IVON01 = 1 05210018 ! 525: GO TO 45160 05220018 ! 526: 35160 IVDELE = IVDELE + 1 05230018 ! 527: WRITE (I02,80003) IVTNUM 05240018 ! 528: IF (ICZERO) 45160, 5171, 45160 05250018 ! 529: 45160 IF ( IVON01 - 1 ) 25160, 15160, 25160 05260018 ! 530: 15160 IVPASS = IVPASS + 1 05270018 ! 531: WRITE (I02,80001) IVTNUM 05280018 ! 532: GO TO 5171 05290018 ! 533: 25160 IVFAIL = IVFAIL + 1 05300018 ! 534: IVCOMP = IVON01 05310018 ! 535: IVCORR = 1 05320018 ! 536: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05330018 ! 537: 5171 CONTINUE 05340018 ! 538: IVTNUM = 517 05350018 ! 539: C 05360018 ! 540: C **** TEST 517 **** 05370018 ! 541: C TEST 517 - INTEGER MULTIPLICATION WITH INTEGER CONSTANTS, 05380018 ! 542: C VARIABLES, AND ARRAY ELEMENTS. RELATIONAL EXPRESSION USES 05390018 ! 543: C .GT. FALSE PATH 05400018 ! 544: C 05410018 ! 545: C 05420018 ! 546: IF (ICZERO) 35170, 5170, 35170 05430018 ! 547: 5170 CONTINUE 05440018 ! 548: IVON01 = 1 05450018 ! 549: IVON02 = 32767 05460018 ! 550: IADN11(1) = 3 05470018 ! 551: IF ( IADN11(1) * 587 .GT. IVON02 ) IVON01 = 0 05480018 ! 552: GO TO 45170 05490018 ! 553: 35170 IVDELE = IVDELE + 1 05500018 ! 554: WRITE (I02,80003) IVTNUM 05510018 ! 555: IF (ICZERO) 45170, 5181, 45170 05520018 ! 556: 45170 IF ( IVON01 - 1 ) 25170, 15170, 25170 05530018 ! 557: 15170 IVPASS = IVPASS + 1 05540018 ! 558: WRITE (I02,80001) IVTNUM 05550018 ! 559: GO TO 5181 05560018 ! 560: 25170 IVFAIL = IVFAIL + 1 05570018 ! 561: IVCOMP = IVON01 05580018 ! 562: IVCORR = 1 05590018 ! 563: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05600018 ! 564: 5181 CONTINUE 05610018 ! 565: IVTNUM = 518 05620018 ! 566: C 05630018 ! 567: C **** TEST 518 **** 05640018 ! 568: C TEST 518 - INTEGER MULTIPLICATION AND EXPONIENTATION 05650018 ! 569: C RELATIONAL EXPRESSION USES .EQ. TRUE PATH 05660018 ! 570: C 05670018 ! 571: C 05680018 ! 572: IF (ICZERO) 35180, 5180, 35180 05690018 ! 573: 5180 CONTINUE 05700018 ! 574: IVON01 = 0 05710018 ! 575: IVON02 = 3 05720018 ! 576: IVON03 = 27 05730018 ! 577: IADN11(2) = 3 05740018 ! 578: IF ( IADN11(2) ** 2 * IVON02 .EQ. IVON03 ) IVON01 = 1 05750018 ! 579: GO TO 45180 05760018 ! 580: 35180 IVDELE = IVDELE + 1 05770018 ! 581: WRITE (I02,80003) IVTNUM 05780018 ! 582: IF (ICZERO) 45180, 5191, 45180 05790018 ! 583: 45180 IF ( IVON01 - 1 ) 25180, 15180, 25180 05800018 ! 584: 15180 IVPASS = IVPASS + 1 05810018 ! 585: WRITE (I02,80001) IVTNUM 05820018 ! 586: GO TO 5191 05830018 ! 587: 25180 IVFAIL = IVFAIL + 1 05840018 ! 588: IVCOMP = IVON01 05850018 ! 589: IVCORR = 1 05860018 ! 590: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05870018 ! 591: 5191 CONTINUE 05880018 ! 592: IVTNUM = 519 05890018 ! 593: C 05900018 ! 594: C **** TEST 519 **** 05910018 ! 595: C TEST 519 - INTEGER DIVISION. RELATIONAL EXPRESSION .NE. 05920018 ! 596: C FALSE PATH 05930018 ! 597: C 05940018 ! 598: C 05950018 ! 599: IF (ICZERO) 35190, 5190, 35190 05960018 ! 600: 5190 CONTINUE 05970018 ! 601: IVON01 = 1 05980018 ! 602: IVON02 = 27 05990018 ! 603: IADN11(1) = 3 06000018 ! 604: IF ( IVON02 / 9 .NE. IADN11(1) ) IVON01 = 0 06010018 ! 605: GO TO 45190 06020018 ! 606: 35190 IVDELE = IVDELE + 1 06030018 ! 607: WRITE (I02,80003) IVTNUM 06040018 ! 608: IF (ICZERO) 45190, 5201, 45190 06050018 ! 609: 45190 IF ( IVON01 - 1 ) 25190, 15190, 25190 06060018 ! 610: 15190 IVPASS = IVPASS + 1 06070018 ! 611: WRITE (I02,80001) IVTNUM 06080018 ! 612: GO TO 5201 06090018 ! 613: 25190 IVFAIL = IVFAIL + 1 06100018 ! 614: IVCOMP = IVON01 06110018 ! 615: IVCORR = 1 06120018 ! 616: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06130018 ! 617: 5201 CONTINUE 06140018 ! 618: IVTNUM = 520 06150018 ! 619: C 06160018 ! 620: C **** TEST 520 **** 06170018 ! 621: C TEST 520 - INTEGER VARIABLE DIVISION. RELATIONAL EXPRESSION 06180018 ! 622: C USES .GE. TRUE PATH 06190018 ! 623: C 06200018 ! 624: C 06210018 ! 625: IF (ICZERO) 35200, 5200, 35200 06220018 ! 626: 5200 CONTINUE 06230018 ! 627: IVON01 = 0 06240018 ! 628: IVON02 = 32767 06250018 ! 629: IVON03 = 3 06260018 ! 630: IVON04 = 9999 06270018 ! 631: IVON05 = 587 06280018 ! 632: IF ( IVON02 / IVON03 .GE. IVON04 / IVON05 ) IVON01 = 1 06290018 ! 633: GO TO 45200 06300018 ! 634: 35200 IVDELE = IVDELE + 1 06310018 ! 635: WRITE (I02,80003) IVTNUM 06320018 ! 636: IF (ICZERO) 45200, 5211, 45200 06330018 ! 637: 45200 IF ( IVON01 - 1 ) 25200, 15200, 25200 06340018 ! 638: 15200 IVPASS = IVPASS + 1 06350018 ! 639: WRITE (I02,80001) IVTNUM 06360018 ! 640: GO TO 5211 06370018 ! 641: 25200 IVFAIL = IVFAIL + 1 06380018 ! 642: IVCOMP = IVON01 06390018 ! 643: IVCORR = 1 06400018 ! 644: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06410018 ! 645: 5211 CONTINUE 06420018 ! 646: IVTNUM = 521 06430018 ! 647: C 06440018 ! 648: C **** TEST 521 **** 06450018 ! 649: C TEST 521 - INTEGER DIVISION AND EXPONIENTATION 06460018 ! 650: C RELATIONAL EXPRESSION USES .LT. FALSE PATH 06470018 ! 651: C 06480018 ! 652: C 06490018 ! 653: IF (ICZERO) 35210, 5210, 35210 06500018 ! 654: 5210 CONTINUE 06510018 ! 655: IVON01 = 1 06520018 ! 656: IVON02 = 587 06530018 ! 657: IVON03 = 3 06540018 ! 658: IADN11(2) = 3 06550018 ! 659: IF ( IVON02 / IADN11(2) ** 3 .LT. 3 ** IVON03 / IVON02 ) IVON01 =006560018 ! 660: IF ( IVON02 / IADN11(2) ** 3 .LT. 3 ** IVON03 / IVON02 ) IVON01=006570018 ! 661: GO TO 45210 06580018 ! 662: 35210 IVDELE = IVDELE + 1 06590018 ! 663: WRITE (I02,80003) IVTNUM 06600018 ! 664: IF (ICZERO) 45210, 5221, 45210 06610018 ! 665: 45210 IF ( IVON01 - 1 ) 25210, 15210, 25210 06620018 ! 666: 15210 IVPASS = IVPASS + 1 06630018 ! 667: WRITE (I02,80001) IVTNUM 06640018 ! 668: GO TO 5221 06650018 ! 669: 25210 IVFAIL = IVFAIL + 1 06660018 ! 670: IVCOMP = IVON01 06670018 ! 671: IVCORR = 1 06680018 ! 672: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06690018 ! 673: 5221 CONTINUE 06700018 ! 674: IVTNUM = 522 06710018 ! 675: C 06720018 ! 676: C **** TEST 522 **** 06730018 ! 677: C TEST 522 - TESTS 522 THRU 535 ARE TESTS OF SIGNED TERMS 06740018 ! 678: C +(T) ALSO -(T) 06750018 ! 679: C RELATIONAL EXPRESSION USES .GT. TRUE PATH 06760018 ! 680: C 06770018 ! 681: C 06780018 ! 682: IF (ICZERO) 35220, 5220, 35220 06790018 ! 683: 5220 CONTINUE 06800018 ! 684: IVON01 = 0 06810018 ! 685: IF ( 3 .GT. -3 ) IVON01 = 1 06820018 ! 686: GO TO 45220 06830018 ! 687: 35220 IVDELE = IVDELE + 1 06840018 ! 688: WRITE (I02,80003) IVTNUM 06850018 ! 689: IF (ICZERO) 45220, 5231, 45220 06860018 ! 690: 45220 IF ( IVON01 - 1 ) 25220, 15220, 25220 06870018 ! 691: 15220 IVPASS = IVPASS + 1 06880018 ! 692: WRITE (I02,80001) IVTNUM 06890018 ! 693: GO TO 5231 06900018 ! 694: 25220 IVFAIL = IVFAIL + 1 06910018 ! 695: IVCOMP = IVON01 06920018 ! 696: IVCORR = 1 06930018 ! 697: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06940018 ! 698: 5231 CONTINUE 06950018 ! 699: IVTNUM = 523 06960018 ! 700: C 06970018 ! 701: C **** TEST 523 **** 06980018 ! 702: C TEST 523 - TEST OF SIGNED ZERO .LT. FALSE PATH 06990018 ! 703: C 07000018 ! 704: C 07010018 ! 705: IF (ICZERO) 35230, 5230, 35230 07020018 ! 706: 5230 CONTINUE 07030018 ! 707: IVON01 = 1 07040018 ! 708: IF ( 0 .LT. -0 ) IVON01 = 0 07050018 ! 709: GO TO 45230 07060018 ! 710: 35230 IVDELE = IVDELE + 1 07070018 ! 711: WRITE (I02,80003) IVTNUM 07080018 ! 712: IF (ICZERO) 45230, 5241, 45230 07090018 ! 713: 45230 IF ( IVON01 - 1 ) 25230, 15230, 25230 07100018 ! 714: 15230 IVPASS = IVPASS + 1 07110018 ! 715: WRITE (I02,80001) IVTNUM 07120018 ! 716: GO TO 5241 07130018 ! 717: 25230 IVFAIL = IVFAIL + 1 07140018 ! 718: IVCOMP = IVON01 07150018 ! 719: IVCORR = 1 07160018 ! 720: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07170018 ! 721: 5241 CONTINUE 07180018 ! 722: IVTNUM = 524 07190018 ! 723: C 07200018 ! 724: C **** TEST 524 **** 07210018 ! 725: C TEST 524 - TEST OF SIGNED ZERO .LE. TRUE PATH 07220018 ! 726: C 07230018 ! 727: C 07240018 ! 728: IF (ICZERO) 35240, 5240, 35240 07250018 ! 729: 5240 CONTINUE 07260018 ! 730: IVON01 = 0 07270018 ! 731: IF ( 0 .LE. -0 ) IVON01 = 1 07280018 ! 732: GO TO 45240 07290018 ! 733: 35240 IVDELE = IVDELE + 1 07300018 ! 734: WRITE (I02,80003) IVTNUM 07310018 ! 735: IF (ICZERO) 45240, 5251, 45240 07320018 ! 736: 45240 IF ( IVON01 - 1 ) 25240, 15240, 25240 07330018 ! 737: 15240 IVPASS = IVPASS + 1 07340018 ! 738: WRITE (I02,80001) IVTNUM 07350018 ! 739: GO TO 5251 07360018 ! 740: 25240 IVFAIL = IVFAIL + 1 07370018 ! 741: IVCOMP = IVON01 07380018 ! 742: IVCORR = 1 07390018 ! 743: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07400018 ! 744: 5251 CONTINUE 07410018 ! 745: IVTNUM = 525 07420018 ! 746: C 07430018 ! 747: C **** TEST 525 **** 07440018 ! 748: C TEST 525 - TEST OF SIGNED ZERO .EQ. TRUE PATH 07450018 ! 749: C 07460018 ! 750: C 07470018 ! 751: IF (ICZERO) 35250, 5250, 35250 07480018 ! 752: 5250 CONTINUE 07490018 ! 753: IVON01 = 0 07500018 ! 754: IF ( 0 .EQ. -0 ) IVON01 = 1 07510018 ! 755: GO TO 45250 07520018 ! 756: 35250 IVDELE = IVDELE + 1 07530018 ! 757: WRITE (I02,80003) IVTNUM 07540018 ! 758: IF (ICZERO) 45250, 5261, 45250 07550018 ! 759: 45250 IF ( IVON01 - 1 ) 25250, 15250, 25250 07560018 ! 760: 15250 IVPASS = IVPASS + 1 07570018 ! 761: WRITE (I02,80001) IVTNUM 07580018 ! 762: GO TO 5261 07590018 ! 763: 25250 IVFAIL = IVFAIL + 1 07600018 ! 764: IVCOMP = IVON01 07610018 ! 765: IVCORR = 1 07620018 ! 766: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07630018 ! 767: 5261 CONTINUE 07640018 ! 768: IVTNUM = 526 07650018 ! 769: C 07660018 ! 770: C **** TEST 526 **** 07670018 ! 771: C TEST 526 - TEST OF SIGNED ZERO .NE. FALSE PATH 07680018 ! 772: C 07690018 ! 773: C 07700018 ! 774: IF (ICZERO) 35260, 5260, 35260 07710018 ! 775: 5260 CONTINUE 07720018 ! 776: IVON01 = 1 07730018 ! 777: IF ( 0 .NE. -0 ) IVON01 = 0 07740018 ! 778: GO TO 45260 07750018 ! 779: 35260 IVDELE = IVDELE + 1 07760018 ! 780: WRITE (I02,80003) IVTNUM 07770018 ! 781: IF (ICZERO) 45260, 5271, 45260 07780018 ! 782: 45260 IF ( IVON01 - 1 ) 25260, 15260, 25260 07790018 ! 783: 15260 IVPASS = IVPASS + 1 07800018 ! 784: WRITE (I02,80001) IVTNUM 07810018 ! 785: GO TO 5271 07820018 ! 786: 25260 IVFAIL = IVFAIL + 1 07830018 ! 787: IVCOMP = IVON01 07840018 ! 788: IVCORR = 1 07850018 ! 789: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07860018 ! 790: 5271 CONTINUE 07870018 ! 791: IVTNUM = 527 07880018 ! 792: C 07890018 ! 793: C **** TEST 527 **** 07900018 ! 794: C TEST 527 - TEST OF SIGNED ZERO .GE. TRUE PATH 07910018 ! 795: C 07920018 ! 796: C 07930018 ! 797: IF (ICZERO) 35270, 5270, 35270 07940018 ! 798: 5270 CONTINUE 07950018 ! 799: IVON01 = 0 07960018 ! 800: IF ( 0 .GE. -0 ) IVON01 = 1 07970018 ! 801: GO TO 45270 07980018 ! 802: 35270 IVDELE = IVDELE + 1 07990018 ! 803: WRITE (I02,80003) IVTNUM 08000018 ! 804: IF (ICZERO) 45270, 5281, 45270 08010018 ! 805: 45270 IF ( IVON01 - 1 ) 25270, 15270, 25270 08020018 ! 806: 15270 IVPASS = IVPASS + 1 08030018 ! 807: WRITE (I02,80001) IVTNUM 08040018 ! 808: GO TO 5281 08050018 ! 809: 25270 IVFAIL = IVFAIL + 1 08060018 ! 810: IVCOMP = IVON01 08070018 ! 811: IVCORR = 1 08080018 ! 812: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08090018 ! 813: 5281 CONTINUE 08100018 ! 814: IVTNUM = 528 08110018 ! 815: C 08120018 ! 816: C **** TEST 528 **** 08130018 ! 817: C TEST 528 - TEST OF SIGNED ZERO .GT. FALSE PATH 08140018 ! 818: C 08150018 ! 819: C 08160018 ! 820: IF (ICZERO) 35280, 5280, 35280 08170018 ! 821: 5280 CONTINUE 08180018 ! 822: IVON01 = 1 08190018 ! 823: IF ( 0 .GT. -0 ) IVON01 = 0 08200018 ! 824: GO TO 45280 08210018 ! 825: 35280 IVDELE = IVDELE + 1 08220018 ! 826: WRITE (I02,80003) IVTNUM 08230018 ! 827: IF (ICZERO) 45280, 5291, 45280 08240018 ! 828: 45280 IF ( IVON01 - 1 ) 25280, 15280, 25280 08250018 ! 829: 15280 IVPASS = IVPASS + 1 08260018 ! 830: WRITE (I02,80001) IVTNUM 08270018 ! 831: GO TO 5291 08280018 ! 832: 25280 IVFAIL = IVFAIL + 1 08290018 ! 833: IVCOMP = IVON01 08300018 ! 834: IVCORR = 1 08310018 ! 835: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08320018 ! 836: 5291 CONTINUE 08330018 ! 837: IVTNUM = 529 08340018 ! 838: C 08350018 ! 839: C **** TEST 529 **** 08360018 ! 840: C TEST 529 - TEST OF 32767 AND -32766 .GT. TRUE PATH 08370018 ! 841: C 08380018 ! 842: C 08390018 ! 843: IF (ICZERO) 35290, 5290, 35290 08400018 ! 844: 5290 CONTINUE 08410018 ! 845: IVON01 = 0 08420018 ! 846: IF ( 32767 .GT. -32766 ) IVON01 = 1 08430018 ! 847: GO TO 45290 08440018 ! 848: 35290 IVDELE = IVDELE + 1 08450018 ! 849: WRITE (I02,80003) IVTNUM 08460018 ! 850: IF (ICZERO) 45290, 5301, 45290 08470018 ! 851: 45290 IF ( IVON01 - 1 ) 25290, 15290, 25290 08480018 ! 852: 15290 IVPASS = IVPASS + 1 08490018 ! 853: WRITE (I02,80001) IVTNUM 08500018 ! 854: GO TO 5301 08510018 ! 855: 25290 IVFAIL = IVFAIL + 1 08520018 ! 856: IVCOMP = IVON01 08530018 ! 857: IVCORR = 1 08540018 ! 858: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08550018 ! 859: 5301 CONTINUE 08560018 ! 860: C 08570018 ! 861: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 08580018 ! 862: 99999 CONTINUE 08590018 ! 863: WRITE (I02,90002) 08600018 ! 864: WRITE (I02,90006) 08610018 ! 865: WRITE (I02,90002) 08620018 ! 866: WRITE (I02,90002) 08630018 ! 867: WRITE (I02,90007) 08640018 ! 868: WRITE (I02,90002) 08650018 ! 869: WRITE (I02,90008) IVFAIL 08660018 ! 870: WRITE (I02,90009) IVPASS 08670018 ! 871: WRITE (I02,90010) IVDELE 08680018 ! 872: C 08690018 ! 873: C 08700018 ! 874: C TERMINATE ROUTINE EXECUTION 08710018 ! 875: STOP 08720018 ! 876: C 08730018 ! 877: C FORMAT STATEMENTS FOR PAGE HEADERS 08740018 ! 878: 90000 FORMAT (1H1) 08750018 ! 879: 90002 FORMAT (1H ) 08760018 ! 880: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 08770018 ! 881: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 08780018 ! 882: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 08790018 ! 883: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 08800018 ! 884: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 08810018 ! 885: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 08820018 ! 886: C 08830018 ! 887: C FORMAT STATEMENTS FOR RUN SUMMARIES 08840018 ! 888: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 08850018 ! 889: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 08860018 ! 890: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 08870018 ! 891: C 08880018 ! 892: C FORMAT STATEMENTS FOR TEST RESULTS 08890018 ! 893: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 08900018 ! 894: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 08910018 ! 895: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 08920018 ! 896: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 08930018 ! 897: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 08940018 ! 898: C 08950018 ! 899: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM018) 08960018 ! 900: END 08970018
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.