|
|
1.1 ! root 1: PROGRAM FM202 00010202 ! 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 00020202 ! 6: C 00030202 ! 7: C THIS ROUTINE IS THE FIRST ROUTINE TO TEST CHARACTER DATA 00040202 ! 8: C TYPES. CHARACTER TYPE-STATEMENTS SPECIFY CHARACTER VARIABLES OF 00050202 ! 9: C LENGTH ONE AND LENGTH TWO. THE TESTS IN THIS ROUTINE DETERMINE 00060202 ! 10: C THAT THE FOLLOWING LANGUAGE FEATURES FUNCTION CORRECTLY. 00070202 ! 11: C 00080202 ! 12: C (1) CHARACTER ASSIGNMENT STATEMENTS OF THE FORM 00090202 ! 13: C 00100202 ! 14: C CHARACTER VARIABLE = CHARACTER CONSTANT 00110202 ! 15: C CHARACTER VARIABLE = CHARACTER VARIABLE 00120202 ! 16: C 00130202 ! 17: C WHERE THE VARIABLES AND CONSTANTS ARE THE SAME LENGTH. 00140202 ! 18: C 00150202 ! 19: C (2) THE REPRESENTATION OF AN APOSTROPHE IN A CHARACTER 00160202 ! 20: C CONSTANT IS TWO CONSECUTIVE APOSTROPHES WITH NO INTERVENING 00170202 ! 21: C BLANKS. 00180202 ! 22: C 00190202 ! 23: C (3) CHARACTER RELATIONAL EXPRESSION OF THE FORM 00200202 ! 24: C 00210202 ! 25: C CHARACTER VARIABLE RELOP CHARACTER CONSTANT 00220202 ! 26: C CHARACTER CONSTANT RELOP CHARACTER VARIABLE 00230202 ! 27: C CHARACTER VARIABLE RELOP CHARACTER VARIABLE 00240202 ! 28: C 00250202 ! 29: C WHERE THE CHARACTER ENTITIES ARE THE SAME LENGTH. 00260202 ! 30: C 00270202 ! 31: C (4) CHARACTER RELATIONAL EXPRESSIONS OF THE FORM 00280202 ! 32: C 00290202 ! 33: C CHARACTER VARIABLE .EQ. CHARACTER CONSTANT 00300202 ! 34: C 00310202 ! 35: C ARE USED IN THIS ROUTINE TO VERIFY THE CHARACTER ASSIGNMENT 00320202 ! 36: C STATEMENTS. 00330202 ! 37: C 00340202 ! 38: C REFERENCES 00350202 ! 39: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00360202 ! 40: C X3.9-1978 00370202 ! 41: C 00380202 ! 42: C SECTION 4.8, CHARACTER TYPE 00390202 ! 43: C SECTION 4.8.1, CHARACTER CONSTANT 00400202 ! 44: C SECTION 6.2, CHARACTER EXPRESSIONS 00410202 ! 45: C SECTION 6.3.4, CHARACTER RELATIONAL EXPRESSION 00420202 ! 46: C SECTION 6.3.5, INTERPRETATION OF CHARACTER RELATIONAL 00430202 ! 47: C EXPRESSIONS 00440202 ! 48: C SECTION 8.4.2, CHARACTER TYPE-STATEMENT 00450202 ! 49: C SECTION 10.4, CHARACTER ASSIGNMENT STATEMENT 00460202 ! 50: C 00470202 ! 51: C 00480202 ! 52: C 00490202 ! 53: C ******************************************************************00500202 ! 54: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00510202 ! 55: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN 00520202 ! 56: C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE 00530202 ! 57: C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT 00540202 ! 58: C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT00550202 ! 59: C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS 00560202 ! 60: C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00570202 ! 61: C THE RESULT OF EXECUTING THESE TESTS. 00580202 ! 62: C 00590202 ! 63: C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES 00600202 ! 64: C FOUND IN THE SUBSET LEVEL OF THE STANDARD. 00610202 ! 65: C 00620202 ! 66: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00630202 ! 67: C DEPARTMENT OF THE NAVY 00640202 ! 68: C FEDERAL COBOL COMPILER TESTING SERVICE 00650202 ! 69: C WASHINGTON, D.C. 20376 00660202 ! 70: C 00670202 ! 71: C ******************************************************************00680202 ! 72: C 00690202 ! 73: C 00700202 ! 74: IMPLICIT LOGICAL (L) 00710202 ! 75: IMPLICIT CHARACTER*14 (C) 00720202 ! 76: C 00730202 ! 77: CHARACTER *1 CVTN01, CVTN02 00740202 ! 78: CHARACTER *2 CVTN03, CVTN04 00750202 ! 79: C 00760202 ! 80: C 00770202 ! 81: C 00780202 ! 82: C INITIALIZATION SECTION. 00790202 ! 83: C 00800202 ! 84: C INITIALIZE CONSTANTS 00810202 ! 85: C ******************** 00820202 ! 86: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER 00830202 ! 87: I01 = 5 00840202 ! 88: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER 00850202 ! 89: I02 = 6 00860202 ! 90: C SYSTEM ENVIRONMENT SECTION 00870202 ! 91: C 00880202 ! 92: I01 = 5 00890202 ! 93: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00900202 ! 94: C (UNIT NUMBER FOR CARD READER). 00910202 ! 95: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00920202 ! 96: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00930202 ! 97: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00940202 ! 98: C 00950202 ! 99: I02 = 6 00960202 ! 100: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00970202 ! 101: C (UNIT NUMBER FOR PRINTER). 00980202 ! 102: CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00990202 ! 103: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01000202 ! 104: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 01010202 ! 105: C 01020202 ! 106: IVPASS = 0 01030202 ! 107: IVFAIL = 0 01040202 ! 108: IVDELE = 0 01050202 ! 109: ICZERO = 0 01060202 ! 110: C 01070202 ! 111: C WRITE OUT PAGE HEADERS 01080202 ! 112: C 01090202 ! 113: WRITE (I02,90002) 01100202 ! 114: WRITE (I02,90006) 01110202 ! 115: WRITE (I02,90008) 01120202 ! 116: WRITE (I02,90004) 01130202 ! 117: WRITE (I02,90010) 01140202 ! 118: WRITE (I02,90004) 01150202 ! 119: WRITE (I02,90016) 01160202 ! 120: WRITE (I02,90001) 01170202 ! 121: WRITE (I02,90004) 01180202 ! 122: WRITE (I02,90012) 01190202 ! 123: WRITE (I02,90014) 01200202 ! 124: WRITE (I02,90004) 01210202 ! 125: C 01220202 ! 126: C 01230202 ! 127: C TEST 1 THROUGH TEST 6 VERIFY THAT THE CHARACTER ASSIGNMENT 01240202 ! 128: C STATEMENT 01250202 ! 129: C 01260202 ! 130: C CHARACTER VARIABLE (LEN 1) = CHARACTER CONSTANT (LEN 1) 01270202 ! 131: C 01280202 ! 132: C IS CORRECT. THE CHARACTER RELATIONAL EXPRESSION 01290202 ! 133: C 01300202 ! 134: C CHARACTER VARIABLE (LEN 1) RELOP CHARACTER CONSTANT (LEN 1) 01310202 ! 135: C 01320202 ! 136: C IS USED TO VERIFY THE ASSIGNMENT STATEMENT. BOTH OF THE ABOVE 01330202 ! 137: C STATEMENTS MUST MEET THE LANGUAGE SPECIFICATIONS FOR THESE TESTS 01340202 ! 138: C TO PASS. 01350202 ! 139: C 01360202 ! 140: C 01370202 ! 141: C **** FCVS PROGRAM 202 - TEST 001 **** 01380202 ! 142: C 01390202 ! 143: C 01400202 ! 144: IVTNUM = 1 01410202 ! 145: IF (ICZERO) 30010, 0010, 30010 01420202 ! 146: 0010 CONTINUE 01430202 ! 147: IVCOMP = 0 01440202 ! 148: CVTN01 = ' ' 01450202 ! 149: IVCORR = 1 01460202 ! 150: IF (CVTN01 .EQ. ' ') IVCOMP = 1 01470202 ! 151: 40010 IF (IVCOMP - 1) 20010,10010,20010 01480202 ! 152: 30010 IVDELE = IVDELE + 1 01490202 ! 153: WRITE (I02,80000) IVTNUM 01500202 ! 154: IF (ICZERO) 10010, 0021, 20010 01510202 ! 155: 10010 IVPASS = IVPASS + 1 01520202 ! 156: WRITE (I02,80002) IVTNUM 01530202 ! 157: GO TO 0021 01540202 ! 158: 20010 IVFAIL = IVFAIL + 1 01550202 ! 159: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01560202 ! 160: 0021 CONTINUE 01570202 ! 161: C 01580202 ! 162: C **** FCVS PROGRAM 202 - TEST 002 **** 01590202 ! 163: C 01600202 ! 164: C 01610202 ! 165: IVTNUM = 2 01620202 ! 166: IF (ICZERO) 30020, 0020, 30020 01630202 ! 167: 0020 CONTINUE 01640202 ! 168: IVCOMP = 0 01650202 ! 169: CVTN01 = 'M' 01660202 ! 170: IVCORR = 1 01670202 ! 171: IF (CVTN01 .EQ. 'M') IVCOMP = 1 01680202 ! 172: 40020 IF (IVCOMP - 1) 20020,10020,20020 01690202 ! 173: 30020 IVDELE = IVDELE + 1 01700202 ! 174: WRITE (I02,80000) IVTNUM 01710202 ! 175: IF (ICZERO) 10020, 0031, 20020 01720202 ! 176: 10020 IVPASS = IVPASS + 1 01730202 ! 177: WRITE (I02,80002) IVTNUM 01740202 ! 178: GO TO 0031 01750202 ! 179: 20020 IVFAIL = IVFAIL + 1 01760202 ! 180: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01770202 ! 181: 0031 CONTINUE 01780202 ! 182: C 01790202 ! 183: C **** FCVS PROGRAM 202 - TEST 003 **** 01800202 ! 184: C 01810202 ! 185: C 01820202 ! 186: IVTNUM = 3 01830202 ! 187: IF (ICZERO) 30030, 0030, 30030 01840202 ! 188: 0030 CONTINUE 01850202 ! 189: IVCOMP = 0 01860202 ! 190: IVCORR = 1 01870202 ! 191: CVTN01 = '4' 01880202 ! 192: IF (CVTN01 .EQ. '4') IVCOMP = 1 01890202 ! 193: 40030 IF (IVCOMP - 1) 20030,10030,20030 01900202 ! 194: 30030 IVDELE = IVDELE + 1 01910202 ! 195: WRITE (I02,80000) IVTNUM 01920202 ! 196: IF (ICZERO) 10030, 0041, 20030 01930202 ! 197: 10030 IVPASS = IVPASS + 1 01940202 ! 198: WRITE (I02,80002) IVTNUM 01950202 ! 199: GO TO 0041 01960202 ! 200: 20030 IVFAIL = IVFAIL + 1 01970202 ! 201: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01980202 ! 202: 0041 CONTINUE 01990202 ! 203: C 02000202 ! 204: C **** FCVS PROGRAM 202 - TEST 004 **** 02010202 ! 205: C 02020202 ! 206: C 02030202 ! 207: IVTNUM = 4 02040202 ! 208: IF (ICZERO) 30040, 0040, 30040 02050202 ! 209: 0040 CONTINUE 02060202 ! 210: IVCOMP = 0 02070202 ! 211: IVCORR = 1 02080202 ! 212: CVTN01 = '=' 02090202 ! 213: IF (CVTN01 .EQ. '=') IVCOMP = 1 02100202 ! 214: 40040 IF (IVCOMP - 1) 20040,10040,20040 02110202 ! 215: 30040 IVDELE = IVDELE + 1 02120202 ! 216: WRITE (I02,80000) IVTNUM 02130202 ! 217: IF (ICZERO) 10040, 0051, 20040 02140202 ! 218: 10040 IVPASS = IVPASS + 1 02150202 ! 219: WRITE (I02,80002) IVTNUM 02160202 ! 220: GO TO 0051 02170202 ! 221: 20040 IVFAIL = IVFAIL + 1 02180202 ! 222: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02190202 ! 223: 0051 CONTINUE 02200202 ! 224: C 02210202 ! 225: C **** FCVS PROGRAM 202 - TEST 005 **** 02220202 ! 226: C 02230202 ! 227: C 02240202 ! 228: IVTNUM = 5 02250202 ! 229: IF (ICZERO) 30050, 0050, 30050 02260202 ! 230: 0050 CONTINUE 02270202 ! 231: IVCOMP = 0 02280202 ! 232: IVCORR = 1 02290202 ! 233: CVTN01 = '/' 02300202 ! 234: IF (CVTN01 .EQ. '/') IVCOMP = 1 02310202 ! 235: 40050 IF (IVCOMP - 1) 20050,10050,20050 02320202 ! 236: 30050 IVDELE = IVDELE + 1 02330202 ! 237: WRITE (I02,80000) IVTNUM 02340202 ! 238: IF (ICZERO) 10050, 0061, 20050 02350202 ! 239: 10050 IVPASS = IVPASS + 1 02360202 ! 240: WRITE (I02,80002) IVTNUM 02370202 ! 241: GO TO 0061 02380202 ! 242: 20050 IVFAIL = IVFAIL + 1 02390202 ! 243: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02400202 ! 244: 0061 CONTINUE 02410202 ! 245: C 02420202 ! 246: C **** FCVS PROGRAM 202 - TEST 006 **** 02430202 ! 247: C 02440202 ! 248: C AN APOSTROPHE IN A CHARACTER CONSTANT IS REPRESENTED BY TWO 02450202 ! 249: C CONSECUTIVE APOSTROPHES WITH NO INTERVENING BLANKS. 02460202 ! 250: C 02470202 ! 251: IVTNUM = 6 02480202 ! 252: IF (ICZERO) 30060, 0060, 30060 02490202 ! 253: 0060 CONTINUE 02500202 ! 254: IVCOMP = 0 02510202 ! 255: IVCORR = 1 02520202 ! 256: CVTN01 = '''' 02530202 ! 257: IF (CVTN01 .EQ. '''') IVCOMP = 1 02540202 ! 258: 40060 IF (IVCOMP - 1) 20060,10060,20060 02550202 ! 259: 30060 IVDELE = IVDELE + 1 02560202 ! 260: WRITE (I02,80000) IVTNUM 02570202 ! 261: IF (ICZERO) 10060, 0071, 20060 02580202 ! 262: 10060 IVPASS = IVPASS + 1 02590202 ! 263: WRITE (I02,80002) IVTNUM 02600202 ! 264: GO TO 0071 02610202 ! 265: 20060 IVFAIL = IVFAIL + 1 02620202 ! 266: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02630202 ! 267: 0071 CONTINUE 02640202 ! 268: C 02650202 ! 269: C TEST 7 THROUGH TEST 12 VERIFY THAT THE CHARACTER ASSIGNMENT 02660202 ! 270: C STATEMENTS 02670202 ! 271: C 02680202 ! 272: C CHARACTER VARIABLE (LEN 1) = CHARACTER CONSTANT (LEN 1) 02690202 ! 273: C CHARACTER VARIABLE (LEN 1) = CHARACTER VARIABLE (LEN 1) 02700202 ! 274: C 02710202 ! 275: C ARE CORRECT. THE CHARACTER RELATIONAL EXPRESSION 02720202 ! 276: C 02730202 ! 277: C CHARACTER VARIABLE (LEN 1) .EQ. CHARACTER CONSTANT (LEN 1) 02740202 ! 278: C 02750202 ! 279: C IS USED TO VERIFY THE RESULT OF THE ASSIGNMENT STATEMENTS. 02760202 ! 280: C 02770202 ! 281: C 02780202 ! 282: C **** FCVS PROGRAM 202 - TEST 007 **** 02790202 ! 283: C 02800202 ! 284: C 02810202 ! 285: IVTNUM = 7 02820202 ! 286: IF (ICZERO) 30070, 0070, 30070 02830202 ! 287: 0070 CONTINUE 02840202 ! 288: IVCOMP = 0 02850202 ! 289: IVCORR = 1 02860202 ! 290: CVTN01 = ' ' 02870202 ! 291: CVTN02 = CVTN01 02880202 ! 292: IF (CVTN02 .EQ. ' ') IVCOMP = 1 02890202 ! 293: 40070 IF (IVCOMP - 1) 20070, 10070, 20070 02900202 ! 294: 30070 IVDELE = IVDELE + 1 02910202 ! 295: WRITE (I02,80000) IVTNUM 02920202 ! 296: IF (ICZERO) 10070, 0081, 20070 02930202 ! 297: 10070 IVPASS = IVPASS + 1 02940202 ! 298: WRITE (I02,80002) IVTNUM 02950202 ! 299: GO TO 0081 02960202 ! 300: 20070 IVFAIL = IVFAIL + 1 02970202 ! 301: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02980202 ! 302: 0081 CONTINUE 02990202 ! 303: C 03000202 ! 304: C **** FCVS PROGRAM 202 - TEST 008 **** 03010202 ! 305: C 03020202 ! 306: C 03030202 ! 307: IVTNUM = 8 03040202 ! 308: IF (ICZERO) 30080, 0080, 30080 03050202 ! 309: 0080 CONTINUE 03060202 ! 310: IVCOMP = 0 03070202 ! 311: IVCORR = 1 03080202 ! 312: CVTN01 = 'M' 03090202 ! 313: CVTN02 = CVTN01 03100202 ! 314: IF (CVTN02 .EQ. 'M') IVCOMP = 1 03110202 ! 315: 40080 IF (IVCOMP - 1) 20080,10080,20080 03120202 ! 316: 30080 IVDELE = IVDELE + 1 03130202 ! 317: WRITE (I02,80000) IVTNUM 03140202 ! 318: IF (ICZERO) 10080, 0091, 20080 03150202 ! 319: 10080 IVPASS = IVPASS + 1 03160202 ! 320: WRITE (I02,80002) IVTNUM 03170202 ! 321: GO TO 0091 03180202 ! 322: 20080 IVFAIL = IVFAIL + 1 03190202 ! 323: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03200202 ! 324: 0091 CONTINUE 03210202 ! 325: C 03220202 ! 326: C **** FCVS PROGRAM 202 - TEST 009 **** 03230202 ! 327: C 03240202 ! 328: C 03250202 ! 329: IVTNUM = 9 03260202 ! 330: IF (ICZERO) 30090, 0090, 30090 03270202 ! 331: 0090 CONTINUE 03280202 ! 332: IVCOMP = 0 03290202 ! 333: IVCORR = 1 03300202 ! 334: CVTN01 = '4' 03310202 ! 335: CVTN02 = CVTN01 03320202 ! 336: IF (CVTN02 .EQ. '4') IVCOMP = 1 03330202 ! 337: 40090 IF (IVCOMP - 1) 20090,10090,20090 03340202 ! 338: 30090 IVDELE = IVDELE + 1 03350202 ! 339: WRITE (I02,80000) IVTNUM 03360202 ! 340: IF (ICZERO) 10090, 0101, 20090 03370202 ! 341: 10090 IVPASS = IVPASS + 1 03380202 ! 342: WRITE (I02,80002) IVTNUM 03390202 ! 343: GO TO 0101 03400202 ! 344: 20090 IVFAIL = IVFAIL + 1 03410202 ! 345: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03420202 ! 346: 0101 CONTINUE 03430202 ! 347: C 03440202 ! 348: C **** FCVS PROGRAM 202 - TEST 010 **** 03450202 ! 349: C 03460202 ! 350: C 03470202 ! 351: IVTNUM = 10 03480202 ! 352: IF (ICZERO) 30100, 0100, 30100 03490202 ! 353: 0100 CONTINUE 03500202 ! 354: IVCOMP = 0 03510202 ! 355: IVCORR = 1 03520202 ! 356: CVTN01 = '=' 03530202 ! 357: CVTN02 = CVTN01 03540202 ! 358: IF (CVTN02 .EQ. '=') IVCOMP = 1 03550202 ! 359: 40100 IF (IVCOMP - 1) 20100,10100,20100 03560202 ! 360: 30100 IVDELE = IVDELE + 1 03570202 ! 361: WRITE (I02,80000) IVTNUM 03580202 ! 362: IF (ICZERO) 10100, 0111, 20100 03590202 ! 363: 10100 IVPASS = IVPASS + 1 03600202 ! 364: WRITE (I02,80002) IVTNUM 03610202 ! 365: GO TO 0111 03620202 ! 366: 20100 IVFAIL = IVFAIL + 1 03630202 ! 367: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03640202 ! 368: 0111 CONTINUE 03650202 ! 369: C 03660202 ! 370: C **** FCVS PROGRAM 202 - TEST 011 **** 03670202 ! 371: C 03680202 ! 372: C 03690202 ! 373: IVTNUM = 11 03700202 ! 374: IF (ICZERO) 30110, 0110, 30110 03710202 ! 375: 0110 CONTINUE 03720202 ! 376: IVCOMP =0 03730202 ! 377: IVCORR = 1 03740202 ! 378: CVTN01 = '/' 03750202 ! 379: CVTN02 = CVTN01 03760202 ! 380: IF (CVTN02 .EQ. '/') IVCOMP = 1 03770202 ! 381: 40110 IF (IVCOMP - 1) 20110,10110,20110 03780202 ! 382: 30110 IVDELE = IVDELE + 1 03790202 ! 383: WRITE (I02,80000) IVTNUM 03800202 ! 384: IF (ICZERO) 10110, 0121, 20110 03810202 ! 385: 10110 IVPASS = IVPASS + 1 03820202 ! 386: WRITE (I02,80002) IVTNUM 03830202 ! 387: GO TO 0121 03840202 ! 388: 20110 IVFAIL = IVFAIL + 1 03850202 ! 389: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03860202 ! 390: 0121 CONTINUE 03870202 ! 391: C 03880202 ! 392: C **** FCVS PROGRAM 202 - TEST 012 **** 03890202 ! 393: C 03900202 ! 394: C AN APOSTROPHE IN A CHARACTER CONSTANT IS REPRESENTED BY TWO 03910202 ! 395: C CONSECUTIVE APOSTROPHES WITH NO INTERVENING BLANKS. 03920202 ! 396: C 03930202 ! 397: IVTNUM = 12 03940202 ! 398: IF (ICZERO) 30120, 0120, 30120 03950202 ! 399: 0120 CONTINUE 03960202 ! 400: IVCOMP = 0 03970202 ! 401: IVCORR = 1 03980202 ! 402: CVTN01 = '''' 03990202 ! 403: CVTN02 = CVTN01 04000202 ! 404: IF (CVTN02 .EQ. '''') IVCOMP = 1 04010202 ! 405: 40120 IF (IVCOMP - 1) 20120,10120,20120 04020202 ! 406: 30120 IVDELE = IVDELE + 1 04030202 ! 407: WRITE (I02,80000) IVTNUM 04040202 ! 408: IF (ICZERO) 10120, 0131, 20120 04050202 ! 409: 10120 IVPASS = IVPASS + 1 04060202 ! 410: WRITE (I02,80002) IVTNUM 04070202 ! 411: GO TO 0131 04080202 ! 412: 20120 IVFAIL = IVFAIL + 1 04090202 ! 413: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04100202 ! 414: 0131 CONTINUE 04110202 ! 415: C 04120202 ! 416: C TEST 13 THROUGH TEST 18 VERIFY THE RESULTS OF THE CHARACTER 04130202 ! 417: C RELATIONAL EXPRESSION USING EACH OF THE SIX RELATIONAL OPERATORS 04140202 ! 418: C IN THE STATEMENT FORM 04150202 ! 419: C 04160202 ! 420: C CHARACTER VARIABLE (LEN 1) RELOP CHARACTER CONSTANT (LEN 1). 04170202 ! 421: C 04180202 ! 422: C THE VARIABLE AND CONSTANT CONTAIN THE CHARACTER DATUM C. 04190202 ! 423: C 04200202 ! 424: CVTN01 = 'C' 04210202 ! 425: C 04220202 ! 426: C **** FCVS PROGRAM 202 - TEST 013 **** 04230202 ! 427: C 04240202 ! 428: C RELATIONAL OPERATOR .EQ. 04250202 ! 429: C 04260202 ! 430: IVTNUM = 13 04270202 ! 431: IF (ICZERO) 30130, 0130, 30130 04280202 ! 432: 0130 CONTINUE 04290202 ! 433: IVCOMP = 0 04300202 ! 434: IVCORR = 1 04310202 ! 435: IF (CVTN01 .EQ. 'C') IVCOMP = 1 04320202 ! 436: 40130 IF (IVCOMP - 1) 20130,10130,20130 04330202 ! 437: 30130 IVDELE = IVDELE + 1 04340202 ! 438: WRITE (I02,80000) IVTNUM 04350202 ! 439: IF (ICZERO) 10130, 0141, 20130 04360202 ! 440: 10130 IVPASS = IVPASS + 1 04370202 ! 441: WRITE (I02,80002) IVTNUM 04380202 ! 442: GO TO 0141 04390202 ! 443: 20130 IVFAIL = IVFAIL + 1 04400202 ! 444: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04410202 ! 445: 0141 CONTINUE 04420202 ! 446: C 04430202 ! 447: C **** FCVS PROGRAM 202 - TEST 014 **** 04440202 ! 448: C 04450202 ! 449: C RELATIONAL OPERATOR .NE. 04460202 ! 450: C 04470202 ! 451: IVTNUM = 14 04480202 ! 452: IF (ICZERO) 30140, 0140, 30140 04490202 ! 453: 0140 CONTINUE 04500202 ! 454: IVCOMP = 0 04510202 ! 455: IVCORR = 0 04520202 ! 456: IF (CVTN01 .NE. 'C') IVCOMP = 1 04530202 ! 457: 40140 IF (IVCOMP) 20140,10140,20140 04540202 ! 458: 30140 IVDELE = IVDELE + 1 04550202 ! 459: WRITE (I02,80000) IVTNUM 04560202 ! 460: IF (ICZERO) 10140, 0151, 20140 04570202 ! 461: 10140 IVPASS = IVPASS + 1 04580202 ! 462: WRITE (I02,80002) IVTNUM 04590202 ! 463: GO TO 0151 04600202 ! 464: 20140 IVFAIL = IVFAIL + 1 04610202 ! 465: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04620202 ! 466: 0151 CONTINUE 04630202 ! 467: C 04640202 ! 468: C **** FCVS PROGRAM 202 - TEST 015 **** 04650202 ! 469: C 04660202 ! 470: C RELATIONAL OPERATOR .LE. 04670202 ! 471: C 04680202 ! 472: IVTNUM = 15 04690202 ! 473: IF (ICZERO) 30150, 0150, 30150 04700202 ! 474: 0150 CONTINUE 04710202 ! 475: IVCOMP = 0 04720202 ! 476: IVCORR = 1 04730202 ! 477: IF (CVTN01 .LE. 'C') IVCOMP = 1 04740202 ! 478: IF (IVCOMP - 1) 20150,10150,20150 04750202 ! 479: 30150 IVDELE = IVDELE + 1 04760202 ! 480: WRITE (I02,80000) IVTNUM 04770202 ! 481: IF (ICZERO) 10150, 0161, 20150 04780202 ! 482: 10150 IVPASS = IVPASS + 1 04790202 ! 483: WRITE (I02,80002) IVTNUM 04800202 ! 484: GO TO 0161 04810202 ! 485: 20150 IVFAIL = IVFAIL + 1 04820202 ! 486: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04830202 ! 487: 0161 CONTINUE 04840202 ! 488: C 04850202 ! 489: C **** FCVS PROGRAM 202 - TEST 016 **** 04860202 ! 490: C 04870202 ! 491: C RELATIONAL OPERATOR .LT. 04880202 ! 492: C 04890202 ! 493: IVTNUM = 16 04900202 ! 494: IF (ICZERO) 30160, 0160, 30160 04910202 ! 495: 0160 CONTINUE 04920202 ! 496: IVCOMP=0 04930202 ! 497: IVCORR=0 04940202 ! 498: IF (CVTN01 .LT. 'C') IVCOMP = 1 04950202 ! 499: IF (IVCOMP) 20160,10160,20160 04960202 ! 500: 30160 IVDELE = IVDELE + 1 04970202 ! 501: WRITE (I02,80000) IVTNUM 04980202 ! 502: IF (ICZERO) 10160, 0171, 20160 04990202 ! 503: 10160 IVPASS = IVPASS + 1 05000202 ! 504: WRITE (I02,80002) IVTNUM 05010202 ! 505: GO TO 0171 05020202 ! 506: 20160 IVFAIL = IVFAIL + 1 05030202 ! 507: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05040202 ! 508: 0171 CONTINUE 05050202 ! 509: C 05060202 ! 510: C **** FCVS PROGRAM 202 - TEST 017 **** 05070202 ! 511: C 05080202 ! 512: C RELATIONAL OPERATOR .GE. 05090202 ! 513: C 05100202 ! 514: IVTNUM = 17 05110202 ! 515: IF (ICZERO) 30170, 0170, 30170 05120202 ! 516: 0170 CONTINUE 05130202 ! 517: IVCOMP = 0 05140202 ! 518: IVCORR = 1 05150202 ! 519: IF (CVTN01 .GE. 'C') IVCOMP = 1 05160202 ! 520: 40170 IF (IVCOMP - 1) 20170,10170,20170 05170202 ! 521: 30170 IVDELE = IVDELE + 1 05180202 ! 522: WRITE (I02,80000) IVTNUM 05190202 ! 523: IF (ICZERO) 10170, 0181, 20170 05200202 ! 524: 10170 IVPASS = IVPASS + 1 05210202 ! 525: WRITE (I02,80002) IVTNUM 05220202 ! 526: GO TO 0181 05230202 ! 527: 20170 IVFAIL = IVFAIL + 1 05240202 ! 528: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05250202 ! 529: 0181 CONTINUE 05260202 ! 530: C 05270202 ! 531: C **** FCVS PROGRAM 202 - TEST 018 **** 05280202 ! 532: C 05290202 ! 533: C RELATIONAL OPERATOR .GT. 05300202 ! 534: C 05310202 ! 535: IVTNUM = 18 05320202 ! 536: IF (ICZERO) 30180, 0180, 30180 05330202 ! 537: 0180 CONTINUE 05340202 ! 538: IVCOMP = 0 05350202 ! 539: IVCORR = 0 05360202 ! 540: IF (CVTN01 .GT. 'C') IVCOMP = 1 05370202 ! 541: 40180 IF (IVCOMP) 20180,10180,20180 05380202 ! 542: 30180 IVDELE = IVDELE + 1 05390202 ! 543: WRITE (I02,80000) IVTNUM 05400202 ! 544: IF (ICZERO) 10180, 0191, 20180 05410202 ! 545: 10180 IVPASS = IVPASS + 1 05420202 ! 546: WRITE (I02,80002) IVTNUM 05430202 ! 547: GO TO 0191 05440202 ! 548: 20180 IVFAIL = IVFAIL + 1 05450202 ! 549: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05460202 ! 550: 0191 CONTINUE 05470202 ! 551: C 05480202 ! 552: C TEST 19 THROUGH TEST 21 VERIFY THAT THE CHARACTER ASSIGNMENT 05490202 ! 553: C STATEMENT 05500202 ! 554: C 05510202 ! 555: C CHARACTER VARIABLE (LEN 2) = CHARACTER CONSTANT (LEN 2) 05520202 ! 556: C 05530202 ! 557: C OPERATES CORRECTLY. THE CHARACTER RELATIONAL EXPRESSION 05540202 ! 558: C 05550202 ! 559: C CHARACTER VARIABLE (LEN 2) .EQ. CHARACTER CONSTANT (LEN 2) 05560202 ! 560: C 05570202 ! 561: C IS USED TO VERIFY THE RESULT OF THE ASSIGNMENT STATEMENT. 05580202 ! 562: C 05590202 ! 563: C 05600202 ! 564: C **** FCVS PROGRAM 202 - TEST 019 **** 05610202 ! 565: C 05620202 ! 566: C 05630202 ! 567: IVTNUM = 19 05640202 ! 568: IF (ICZERO) 30190, 0190, 30190 05650202 ! 569: 0190 CONTINUE 05660202 ! 570: IVCOMP =0 05670202 ! 571: IVCORR =1 05680202 ! 572: CVTN03 = 'AZ' 05690202 ! 573: IF (CVTN03 .EQ. 'AZ') IVCOMP = 1 05700202 ! 574: 40190 IF (IVCOMP - 1) 20190,10190,20190 05710202 ! 575: 30190 IVDELE = IVDELE + 1 05720202 ! 576: WRITE (I02,80000) IVTNUM 05730202 ! 577: IF (ICZERO) 10190, 0201, 20190 05740202 ! 578: 10190 IVPASS = IVPASS + 1 05750202 ! 579: WRITE (I02,80002) IVTNUM 05760202 ! 580: GO TO 0201 05770202 ! 581: 20190 IVFAIL = IVFAIL + 1 05780202 ! 582: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05790202 ! 583: 0201 CONTINUE 05800202 ! 584: C 05810202 ! 585: C **** FCVS PROGRAM 202 - TEST 020 **** 05820202 ! 586: C 05830202 ! 587: C 05840202 ! 588: IVTNUM = 20 05850202 ! 589: IF (ICZERO) 30200, 0200, 30200 05860202 ! 590: 0200 CONTINUE 05870202 ! 591: IVCOMP = 0 05880202 ! 592: IVCORR = 1 05890202 ! 593: CVTN03 = 'B''' 05900202 ! 594: IF (CVTN03 .EQ. 'B''') IVCOMP = 1 05910202 ! 595: 40200 IF (IVCOMP - 1) 20200,10200,20200 05920202 ! 596: 30200 IVDELE = IVDELE + 1 05930202 ! 597: WRITE (I02,80000) IVTNUM 05940202 ! 598: IF (ICZERO) 10200, 0211, 20200 05950202 ! 599: 10200 IVPASS = IVPASS + 1 05960202 ! 600: WRITE (I02,80002) IVTNUM 05970202 ! 601: GO TO 0211 05980202 ! 602: 20200 IVFAIL = IVFAIL + 1 05990202 ! 603: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06000202 ! 604: 0211 CONTINUE 06010202 ! 605: C 06020202 ! 606: C **** FCVS PROGRAM 202 - TEST 021 **** 06030202 ! 607: C 06040202 ! 608: C 06050202 ! 609: IVTNUM = 21 06060202 ! 610: IF (ICZERO) 30210, 0210, 30210 06070202 ! 611: 0210 CONTINUE 06080202 ! 612: IVCOMP = 0 06090202 ! 613: IVCORR = 1 06100202 ! 614: CVTN03 = '//' 06110202 ! 615: IF (CVTN03 .EQ. '//') IVCOMP = 1 06120202 ! 616: 40210 IF (IVCOMP - 1) 20210,10210,20210 06130202 ! 617: 30210 IVDELE = IVDELE + 1 06140202 ! 618: WRITE (I02,80000) IVTNUM 06150202 ! 619: IF (ICZERO) 10210, 0221, 20210 06160202 ! 620: 10210 IVPASS = IVPASS + 1 06170202 ! 621: WRITE (I02,80002) IVTNUM 06180202 ! 622: GO TO 0221 06190202 ! 623: 20210 IVFAIL = IVFAIL + 1 06200202 ! 624: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06210202 ! 625: 0221 CONTINUE 06220202 ! 626: C 06230202 ! 627: C TEST 22 THROUGH TEST 24 VERIFY THAT THE CHARACTER ASSIGNMENT 06240202 ! 628: C STATEMENTS 06250202 ! 629: C 06260202 ! 630: C CHARACTER VARIABLE (LEN 2) = CHARACTER CONSTANT (LEN 2) 06270202 ! 631: C CHARACTER VARIABLE (LEN 2) = CHARACTER VARIABLE (LEN 2) 06280202 ! 632: C 06290202 ! 633: C OPERATE CORRECTLY. 06300202 ! 634: C 06310202 ! 635: C 06320202 ! 636: C **** FCVS PROGRAM 202 - TEST 022 **** 06330202 ! 637: C 06340202 ! 638: C 06350202 ! 639: IVTNUM = 22 06360202 ! 640: IF (ICZERO) 30220, 0220, 30220 06370202 ! 641: 0220 CONTINUE 06380202 ! 642: IVCOMP = 0 06390202 ! 643: IVCORR = 1 06400202 ! 644: CVTN03 = 'AZ' 06410202 ! 645: CVTN04 = CVTN03 06420202 ! 646: IF (CVTN04 .EQ. 'AZ') IVCOMP=1 06430202 ! 647: 40220 IF (IVCOMP - 1) 20220,10220,20220 06440202 ! 648: 30220 IVDELE = IVDELE + 1 06450202 ! 649: WRITE (I02,80000) IVTNUM 06460202 ! 650: IF (ICZERO) 10220, 0231, 20220 06470202 ! 651: 10220 IVPASS = IVPASS + 1 06480202 ! 652: WRITE (I02,80002) IVTNUM 06490202 ! 653: GO TO 0231 06500202 ! 654: 20220 IVFAIL = IVFAIL + 1 06510202 ! 655: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06520202 ! 656: 0231 CONTINUE 06530202 ! 657: C 06540202 ! 658: C **** FCVS PROGRAM 202 - TEST 023 **** 06550202 ! 659: C 06560202 ! 660: C 06570202 ! 661: IVTNUM = 23 06580202 ! 662: IF (ICZERO) 30230, 0230, 30230 06590202 ! 663: 0230 CONTINUE 06600202 ! 664: IVCOMP = 0 06610202 ! 665: IVCORR = 1 06620202 ! 666: CVTN03 = 'B''' 06630202 ! 667: CVTN04 = CVTN03 06640202 ! 668: IF (CVTN04 .EQ. 'B''') IVCOMP = 1 06650202 ! 669: 40230 IF (IVCOMP - 1) 20230,10230,20230 06660202 ! 670: 30230 IVDELE = IVDELE + 1 06670202 ! 671: WRITE (I02,80000) IVTNUM 06680202 ! 672: IF (ICZERO) 10230, 0241, 20230 06690202 ! 673: 10230 IVPASS = IVPASS + 1 06700202 ! 674: WRITE (I02,80002) IVTNUM 06710202 ! 675: GO TO 0241 06720202 ! 676: 20230 IVFAIL = IVFAIL + 1 06730202 ! 677: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06740202 ! 678: 0241 CONTINUE 06750202 ! 679: C 06760202 ! 680: C **** FCVS PROGRAM 202 - TEST 024 **** 06770202 ! 681: C 06780202 ! 682: C 06790202 ! 683: IVTNUM = 24 06800202 ! 684: IF (ICZERO) 30240, 0240, 30240 06810202 ! 685: 0240 CONTINUE 06820202 ! 686: IVCOMP = 0 06830202 ! 687: IVCORR = 1 06840202 ! 688: CVTN03 = '//' 06850202 ! 689: CVTN04 = CVTN03 06860202 ! 690: IF (CVTN04 .EQ. '//') IVCOMP = 1 06870202 ! 691: 40240 IF (IVCOMP - 1) 20240,10240,20240 06880202 ! 692: 30240 IVDELE = IVDELE + 1 06890202 ! 693: WRITE (I02,80000) IVTNUM 06900202 ! 694: IF (ICZERO) 10240, 0251, 20240 06910202 ! 695: 10240 IVPASS = IVPASS + 1 06920202 ! 696: WRITE (I02,80002) IVTNUM 06930202 ! 697: GO TO 0251 06940202 ! 698: 20240 IVFAIL = IVFAIL + 1 06950202 ! 699: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06960202 ! 700: 0251 CONTINUE 06970202 ! 701: C 06980202 ! 702: C TEST 25 THROUGH TEST 30 VERIFY THE RESULTS OF THE CHARACTER 06990202 ! 703: C RELATIONAL EXPRESSION USING EACH OF THE SIX RELATIONAL OPERATORS 07000202 ! 704: C IN THE EXPRESSION FORM 07010202 ! 705: C 07020202 ! 706: C CHARACTER VARIABLE (LEN 2) RELOP CHARACTER VARIABLE (LEN 2) 07030202 ! 707: C 07040202 ! 708: C THE VARIABLES CONTAIN THE CHARACTER DATUM CC. 07050202 ! 709: C 07060202 ! 710: CVTN03 = 'CC' 07070202 ! 711: CVTN04 = 'CC' 07080202 ! 712: C 07090202 ! 713: C **** FCVS PROGRAM 202 - TEST 025 **** 07100202 ! 714: C 07110202 ! 715: C RELATIONAL OPERATOR .EQ. 07120202 ! 716: C 07130202 ! 717: IVTNUM = 25 07140202 ! 718: IF (ICZERO) 30250, 0250, 30250 07150202 ! 719: 0250 CONTINUE 07160202 ! 720: IVCOMP = 0 07170202 ! 721: IVCORR = 1 07180202 ! 722: IF (CVTN03 .EQ. CVTN04) IVCOMP = 1 07190202 ! 723: 40250 IF (IVCOMP - 1) 20250,10250,20250 07200202 ! 724: 30250 IVDELE = IVDELE + 1 07210202 ! 725: WRITE (I02,80000) IVTNUM 07220202 ! 726: IF (ICZERO) 10250, 0261, 20250 07230202 ! 727: 10250 IVPASS = IVPASS + 1 07240202 ! 728: WRITE (I02,80002) IVTNUM 07250202 ! 729: GO TO 0261 07260202 ! 730: 20250 IVFAIL = IVFAIL + 1 07270202 ! 731: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07280202 ! 732: 0261 CONTINUE 07290202 ! 733: C 07300202 ! 734: C **** FCVS PROGRAM 202 - TEST 026 **** 07310202 ! 735: C 07320202 ! 736: C RELATIONAL OPERATOR .NE. 07330202 ! 737: C 07340202 ! 738: IVTNUM = 26 07350202 ! 739: IF (ICZERO) 30260, 0260, 30260 07360202 ! 740: 0260 CONTINUE 07370202 ! 741: IVCOMP = 0 07380202 ! 742: IVCORR = 0 07390202 ! 743: IF (CVTN03 .NE. CVTN04) IVCOMP = 1 07400202 ! 744: 40260 IF (IVCOMP) 20260,10260,20260 07410202 ! 745: 30260 IVDELE = IVDELE + 1 07420202 ! 746: WRITE (I02,80000) IVTNUM 07430202 ! 747: IF (ICZERO) 10260, 0271, 20260 07440202 ! 748: 10260 IVPASS = IVPASS + 1 07450202 ! 749: WRITE (I02,80002) IVTNUM 07460202 ! 750: GO TO 0271 07470202 ! 751: 20260 IVFAIL = IVFAIL + 1 07480202 ! 752: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07490202 ! 753: 0271 CONTINUE 07500202 ! 754: C 07510202 ! 755: C **** FCVS PROGRAM 202 - TEST 027 **** 07520202 ! 756: C 07530202 ! 757: C RELATIONAL OPERATOR .LE. 07540202 ! 758: C 07550202 ! 759: IVTNUM = 27 07560202 ! 760: IF (ICZERO) 30270, 0270, 30270 07570202 ! 761: 0270 CONTINUE 07580202 ! 762: IVCOMP = 0 07590202 ! 763: IVCORR = 1 07600202 ! 764: IF (CVTN03 .LE. CVTN04) IVCOMP = 1 07610202 ! 765: 40270 IF (IVCOMP - 1) 20270,10270,20270 07620202 ! 766: 30270 IVDELE = IVDELE + 1 07630202 ! 767: WRITE (I02,80000) IVTNUM 07640202 ! 768: IF (ICZERO) 10270, 0281, 20270 07650202 ! 769: 10270 IVPASS = IVPASS + 1 07660202 ! 770: WRITE (I02,80002) IVTNUM 07670202 ! 771: GO TO 0281 07680202 ! 772: 20270 IVFAIL = IVFAIL + 1 07690202 ! 773: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07700202 ! 774: 0281 CONTINUE 07710202 ! 775: C 07720202 ! 776: C **** FCVS PROGRAM 202 - TEST 028 **** 07730202 ! 777: C 07740202 ! 778: C RELATIONAL OPERATOR .LT. 07750202 ! 779: C 07760202 ! 780: IVTNUM = 28 07770202 ! 781: IF (ICZERO) 30280, 0280, 30280 07780202 ! 782: 0280 CONTINUE 07790202 ! 783: IVCOMP = 0 07800202 ! 784: IVCORR = 0 07810202 ! 785: IF (CVTN03 .LT. CVTN04) IVCOMP=1 07820202 ! 786: 40280 IF (IVCOMP) 20280,10280,20280 07830202 ! 787: 30280 IVDELE = IVDELE + 1 07840202 ! 788: WRITE (I02,80000) IVTNUM 07850202 ! 789: IF (ICZERO) 10280, 0291, 20280 07860202 ! 790: 10280 IVPASS = IVPASS + 1 07870202 ! 791: WRITE (I02,80002) IVTNUM 07880202 ! 792: GO TO 0291 07890202 ! 793: 20280 IVFAIL = IVFAIL + 1 07900202 ! 794: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07910202 ! 795: 0291 CONTINUE 07920202 ! 796: C 07930202 ! 797: C **** FCVS PROGRAM 202 - TEST 029 **** 07940202 ! 798: C 07950202 ! 799: C RELATIONAL OPERATOR .GE. 07960202 ! 800: C 07970202 ! 801: IVTNUM = 29 07980202 ! 802: IF (ICZERO) 30290, 0290, 30290 07990202 ! 803: 0290 CONTINUE 08000202 ! 804: IVCOMP = 0 08010202 ! 805: IVCORR = 1 08020202 ! 806: IF (CVTN03 .GE. CVTN04) IVCOMP = 1 08030202 ! 807: 40290 IF (IVCOMP - 1) 20290,10290,20290 08040202 ! 808: 30290 IVDELE = IVDELE + 1 08050202 ! 809: WRITE (I02,80000) IVTNUM 08060202 ! 810: IF (ICZERO) 10290, 0301, 20290 08070202 ! 811: 10290 IVPASS = IVPASS + 1 08080202 ! 812: WRITE (I02,80002) IVTNUM 08090202 ! 813: GO TO 0301 08100202 ! 814: 20290 IVFAIL = IVFAIL + 1 08110202 ! 815: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08120202 ! 816: 0301 CONTINUE 08130202 ! 817: C 08140202 ! 818: C **** FCVS PROGRAM 202 - TEST 030 **** 08150202 ! 819: C 08160202 ! 820: C RELATIONAL OPERATOR .GT. 08170202 ! 821: C 08180202 ! 822: IVTNUM = 30 08190202 ! 823: IF (ICZERO) 30300, 0300, 30300 08200202 ! 824: 0300 CONTINUE 08210202 ! 825: IVCOMP = 0 08220202 ! 826: IVCORR = 0 08230202 ! 827: IF (CVTN03 .GT. CVTN04) IVCOMP = 1 08240202 ! 828: 40300 IF (IVCOMP) 20300,10300,20300 08250202 ! 829: 30300 IVDELE = IVDELE + 1 08260202 ! 830: WRITE (I02,80000) IVTNUM 08270202 ! 831: IF (ICZERO) 10300, 0311, 20300 08280202 ! 832: 10300 IVPASS = IVPASS + 1 08290202 ! 833: WRITE (I02,80002) IVTNUM 08300202 ! 834: GO TO 0311 08310202 ! 835: 20300 IVFAIL = IVFAIL + 1 08320202 ! 836: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08330202 ! 837: 0311 CONTINUE 08340202 ! 838: C 08350202 ! 839: C 08360202 ! 840: C WRITE OUT TEST SUMMARY 08370202 ! 841: C 08380202 ! 842: WRITE (I02,90004) 08390202 ! 843: WRITE (I02,90014) 08400202 ! 844: WRITE (I02,90004) 08410202 ! 845: WRITE (I02,90000) 08420202 ! 846: WRITE (I02,90004) 08430202 ! 847: WRITE (I02,90020) IVFAIL 08440202 ! 848: WRITE (I02,90022) IVPASS 08450202 ! 849: WRITE (I02,90024) IVDELE 08460202 ! 850: STOP 08470202 ! 851: 90001 FORMAT (1H ,24X,5HFM202) 08480202 ! 852: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM202) 08490202 ! 853: C 08500202 ! 854: C FORMATS FOR TEST DETAIL LINES 08510202 ! 855: C 08520202 ! 856: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 08530202 ! 857: 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 08540202 ! 858: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 08550202 ! 859: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 08560202 ! 860: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) 08570202 ! 861: C 08580202 ! 862: C FORMAT STATEMENTS FOR PAGE HEADERS 08590202 ! 863: C 08600202 ! 864: 90002 FORMAT (1H1) 08610202 ! 865: 90004 FORMAT (1H ) 08620202 ! 866: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 08630202 ! 867: 90008 FORMAT (1H ,21X,11HVERSION 1.0) 08640202 ! 868: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 08650202 ! 869: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 08660202 ! 870: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 08670202 ! 871: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 08680202 ! 872: C 08690202 ! 873: C FORMAT STATEMENTS FOR RUN SUMMARY 08700202 ! 874: C 08710202 ! 875: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 08720202 ! 876: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 08730202 ! 877: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) 08740202 ! 878: END 08750202
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.