|
|
1.1 ! root 1: C 00010021 ! 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. 00020021 ! 6: C 00030021 ! 7: C FM021 00040021 ! 8: C 00050021 ! 9: C THIS ROUTINE TESTS THE FORTRAN DATA INITIALIZATION 00060021 ! 10: C STATEMENT. INTEGER, REAL, AND LOGICAL DATA TYPES ARE TESTED 00070021 ! 11: C USING UNSIGNED CONSTANTS, SIGNED CONSTANTS, AND LOGICAL 00080021 ! 12: C CONSTANTS.. INTEGER, REAL, LOGICAL, AND MIXED TYPE ARRAYS 00090021 ! 13: C ARE ALSO TESTED. 00100021 ! 14: C 00110021 ! 15: C REFERENCES 00120021 ! 16: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00130021 ! 17: C X3.9-1978 00140021 ! 18: C 00150021 ! 19: C SECTION 4.1.3, DATA TYPE PREPARATION 00160021 ! 20: C SECTION 4.4.3, REAL CONSTANT 00170021 ! 21: C SECTION 9, DATA STATEMENT 00180021 ! 22: C 00190021 ! 23: INTEGER RATN11(3) 00200021 ! 24: LOGICAL LCTN01, LCTN02, LATN11(3), LADN11 00210021 ! 25: REAL IATN11(3) 00220021 ! 26: DIMENSION IADN11(3), RADN11(4), LADN11(6), RADN13(4), IADN12(4) 00230021 ! 27: DIMENSION IADN13(4) 00240021 ! 28: C 00250021 ! 29: DATA ICON01/0/ 00260021 ! 30: DATA ICON02/3/ 00270021 ! 31: DATA ICON03/76/ 00280021 ! 32: DATA ICON04/587/ 00290021 ! 33: DATA ICON05/9999/ 00300021 ! 34: DATA ICON06/32767/ 00310021 ! 35: DATA ICON07/-0/ 00320021 ! 36: DATA ICON08/-32766/ 00330021 ! 37: DATA ICON09/00003/ 00340021 ! 38: DATA ICON10/ 3 2 7 6 7 / 00350021 ! 39: DATA LCTN01/.TRUE./ 00360021 ! 40: DATA LCTN02/.FALSE./ 00370021 ! 41: DATA RCON01/0./ 00380021 ! 42: DATA RCON02 /.0/ 00390021 ! 43: DATA RCON03/0.0/ 00400021 ! 44: DATA RCON04/32767./ 00410021 ! 45: DATA RCON05/-32766./ 00420021 ! 46: DATA RCON06/-000587./ 00430021 ! 47: DATA RCON07/99.99/ 00440021 ! 48: DATA RCON08/ -03. 2 7 6 6/ 00450021 ! 49: DATA IADN11(1)/3/, IADN11(3)/-587/, IADN11(2)/32767/ 00460021 ! 50: DATA IADN12/4*9999/ 00470021 ! 51: DATA IADN13/0,2*-32766,-587/ 00480021 ! 52: DATA LADN11/.TRUE., .FALSE., 2*.TRUE., 2*.FALSE./ 00490021 ! 53: DATA RADN11/32767., -32.766, 2*587./ 00500021 ! 54: DATA LATN11/.TRUE., 2*.FALSE./, IATN11/2*32767., -32766./ 00510021 ! 55: DATA RATN11/3*-32766/ 00520021 ! 56: DATA RADN13/32.767E03, -3.2766E-01, .587E+03, 9E1/ 00530021 ! 57: C 00540021 ! 58: C 00550021 ! 59: C ********************************************************** 00560021 ! 60: C 00570021 ! 61: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00580021 ! 62: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00590021 ! 63: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00600021 ! 64: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00610021 ! 65: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00620021 ! 66: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00630021 ! 67: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00640021 ! 68: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00650021 ! 69: C OF EXECUTING THESE TESTS. 00660021 ! 70: C 00670021 ! 71: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00680021 ! 72: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00690021 ! 73: C 00700021 ! 74: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00710021 ! 75: C 00720021 ! 76: C DEPARTMENT OF THE NAVY 00730021 ! 77: C FEDERAL COBOL COMPILER TESTING SERVICE 00740021 ! 78: C WASHINGTON, D.C. 20376 00750021 ! 79: C 00760021 ! 80: C ********************************************************** 00770021 ! 81: C 00780021 ! 82: C 00790021 ! 83: C 00800021 ! 84: C INITIALIZATION SECTION 00810021 ! 85: C 00820021 ! 86: C INITIALIZE CONSTANTS 00830021 ! 87: C ************** 00840021 ! 88: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00850021 ! 89: I01 = 5 00860021 ! 90: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00870021 ! 91: I02 = 6 00880021 ! 92: C SYSTEM ENVIRONMENT SECTION 00890021 ! 93: C 00900021 ! 94: I01 = 5 00910021 ! 95: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00920021 ! 96: C (UNIT NUMBER FOR CARD READER). 00930021 ! 97: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00940021 ! 98: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00950021 ! 99: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00960021 ! 100: C 00970021 ! 101: I02 = 6 00980021 ! 102: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00990021 ! 103: C (UNIT NUMBER FOR PRINTER). 01000021 ! 104: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 01010021 ! 105: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01020021 ! 106: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 01030021 ! 107: C 01040021 ! 108: IVPASS=0 01050021 ! 109: IVFAIL=0 01060021 ! 110: IVDELE=0 01070021 ! 111: ICZERO=0 01080021 ! 112: C 01090021 ! 113: C WRITE PAGE HEADERS 01100021 ! 114: WRITE (I02,90000) 01110021 ! 115: WRITE (I02,90001) 01120021 ! 116: WRITE (I02,90002) 01130021 ! 117: WRITE (I02, 90002) 01140021 ! 118: WRITE (I02,90003) 01150021 ! 119: WRITE (I02,90002) 01160021 ! 120: WRITE (I02,90004) 01170021 ! 121: WRITE (I02,90002) 01180021 ! 122: WRITE (I02,90011) 01190021 ! 123: WRITE (I02,90002) 01200021 ! 124: WRITE (I02,90002) 01210021 ! 125: WRITE (I02,90005) 01220021 ! 126: WRITE (I02,90006) 01230021 ! 127: WRITE (I02,90002) 01240021 ! 128: IVTNUM = 565 01250021 ! 129: C 01260021 ! 130: C **** TEST 565 **** 01270021 ! 131: C TEST 565 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 01280021 ! 132: C CONSTANT ZERO. 01290021 ! 133: C 01300021 ! 134: C 01310021 ! 135: IF (ICZERO) 35650, 5650, 35650 01320021 ! 136: 5650 CONTINUE 01330021 ! 137: GO TO 45650 01340021 ! 138: 35650 IVDELE = IVDELE + 1 01350021 ! 139: WRITE (I02,80003) IVTNUM 01360021 ! 140: IF (ICZERO) 45650, 5661, 45650 01370021 ! 141: 45650 IF ( ICON01 - 0 ) 25650, 15650, 25650 01380021 ! 142: 15650 IVPASS = IVPASS + 1 01390021 ! 143: WRITE (I02,80001) IVTNUM 01400021 ! 144: GO TO 5661 01410021 ! 145: 25650 IVFAIL = IVFAIL + 1 01420021 ! 146: IVCOMP = ICON01 01430021 ! 147: IVCORR = 0 01440021 ! 148: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01450021 ! 149: 5661 CONTINUE 01460021 ! 150: IVTNUM = 566 01470021 ! 151: C 01480021 ! 152: C **** TEST 566 **** 01490021 ! 153: C TEST 566 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 01500021 ! 154: C CONSTANT 3. 01510021 ! 155: C 01520021 ! 156: C 01530021 ! 157: IF (ICZERO) 35660, 5660, 35660 01540021 ! 158: 5660 CONTINUE 01550021 ! 159: GO TO 45660 01560021 ! 160: 35660 IVDELE = IVDELE + 1 01570021 ! 161: WRITE (I02,80003) IVTNUM 01580021 ! 162: IF (ICZERO) 45660, 5671, 45660 01590021 ! 163: 45660 IF ( ICON02 - 3 ) 25660, 15660, 25660 01600021 ! 164: 15660 IVPASS = IVPASS + 1 01610021 ! 165: WRITE (I02,80001) IVTNUM 01620021 ! 166: GO TO 5671 01630021 ! 167: 25660 IVFAIL = IVFAIL + 1 01640021 ! 168: IVCOMP = ICON02 01650021 ! 169: IVCORR = 3 01660021 ! 170: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01670021 ! 171: 5671 CONTINUE 01680021 ! 172: IVTNUM = 567 01690021 ! 173: C 01700021 ! 174: C **** TEST 567 **** 01710021 ! 175: C TEST 567 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 01720021 ! 176: C CONSTANT 76. 01730021 ! 177: C 01740021 ! 178: C 01750021 ! 179: IF (ICZERO) 35670, 5670, 35670 01760021 ! 180: 5670 CONTINUE 01770021 ! 181: GO TO 45670 01780021 ! 182: 35670 IVDELE = IVDELE + 1 01790021 ! 183: WRITE (I02,80003) IVTNUM 01800021 ! 184: IF (ICZERO) 45670, 5681, 45670 01810021 ! 185: 45670 IF ( ICON03 - 76 ) 25670, 15670, 25670 01820021 ! 186: 15670 IVPASS = IVPASS + 1 01830021 ! 187: WRITE (I02,80001) IVTNUM 01840021 ! 188: GO TO 5681 01850021 ! 189: 25670 IVFAIL = IVFAIL + 1 01860021 ! 190: IVCOMP = ICON03 01870021 ! 191: IVCORR = 76 01880021 ! 192: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01890021 ! 193: 5681 CONTINUE 01900021 ! 194: IVTNUM = 568 01910021 ! 195: C 01920021 ! 196: C **** TEST 568 **** 01930021 ! 197: C TEST 568 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 01940021 ! 198: C CONSTANT 587. 01950021 ! 199: C 01960021 ! 200: C 01970021 ! 201: IF (ICZERO) 35680, 5680, 35680 01980021 ! 202: 5680 CONTINUE 01990021 ! 203: GO TO 45680 02000021 ! 204: 35680 IVDELE = IVDELE + 1 02010021 ! 205: WRITE (I02,80003) IVTNUM 02020021 ! 206: IF (ICZERO) 45680, 5691, 45680 02030021 ! 207: 45680 IF ( ICON04 - 587 ) 25680, 15680, 25680 02040021 ! 208: 15680 IVPASS = IVPASS + 1 02050021 ! 209: WRITE (I02,80001) IVTNUM 02060021 ! 210: GO TO 5691 02070021 ! 211: 25680 IVFAIL = IVFAIL + 1 02080021 ! 212: IVCOMP = ICON04 02090021 ! 213: IVCORR = 587 02100021 ! 214: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02110021 ! 215: 5691 CONTINUE 02120021 ! 216: IVTNUM = 569 02130021 ! 217: C 02140021 ! 218: C **** TEST 569 **** 02150021 ! 219: C TEST 569 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 02160021 ! 220: C CONSTANT 9999. 02170021 ! 221: C 02180021 ! 222: C 02190021 ! 223: IF (ICZERO) 35690, 5690, 35690 02200021 ! 224: 5690 CONTINUE 02210021 ! 225: GO TO 45690 02220021 ! 226: 35690 IVDELE = IVDELE + 1 02230021 ! 227: WRITE (I02,80003) IVTNUM 02240021 ! 228: IF (ICZERO) 45690, 5701, 45690 02250021 ! 229: 45690 IF ( ICON05 - 9999 ) 25690, 15690, 25690 02260021 ! 230: 15690 IVPASS = IVPASS + 1 02270021 ! 231: WRITE (I02,80001) IVTNUM 02280021 ! 232: GO TO 5701 02290021 ! 233: 25690 IVFAIL = IVFAIL + 1 02300021 ! 234: IVCOMP = ICON05 02310021 ! 235: IVCORR = 9999 02320021 ! 236: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02330021 ! 237: 5701 CONTINUE 02340021 ! 238: IVTNUM = 570 02350021 ! 239: C 02360021 ! 240: C **** TEST 570 **** 02370021 ! 241: C TEST 570 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 02380021 ! 242: C CONSTANT 32767. 02390021 ! 243: C 02400021 ! 244: C 02410021 ! 245: IF (ICZERO) 35700, 5700, 35700 02420021 ! 246: 5700 CONTINUE 02430021 ! 247: GO TO 45700 02440021 ! 248: 35700 IVDELE = IVDELE + 1 02450021 ! 249: WRITE (I02,80003) IVTNUM 02460021 ! 250: IF (ICZERO) 45700, 5711, 45700 02470021 ! 251: 45700 IF ( ICON06 - 32767 ) 25700, 15700, 25700 02480021 ! 252: 15700 IVPASS = IVPASS + 1 02490021 ! 253: WRITE (I02,80001) IVTNUM 02500021 ! 254: GO TO 5711 02510021 ! 255: 25700 IVFAIL = IVFAIL + 1 02520021 ! 256: IVCOMP = ICON06 02530021 ! 257: IVCORR = 32767 02540021 ! 258: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02550021 ! 259: 5711 CONTINUE 02560021 ! 260: IVTNUM = 571 02570021 ! 261: C 02580021 ! 262: C **** TEST 571 **** 02590021 ! 263: C TEST 571 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 02600021 ! 264: C CONSTANT -0. NOTE THAT SIGNED ZERO AND UNSIGNED ZERO 02610021 ! 265: C SHOULD BE EQUAL FOR ANY INTEGER OPERATION. 02620021 ! 266: C 02630021 ! 267: C 02640021 ! 268: IF (ICZERO) 35710, 5710, 35710 02650021 ! 269: 5710 CONTINUE 02660021 ! 270: GO TO 45710 02670021 ! 271: 35710 IVDELE = IVDELE + 1 02680021 ! 272: WRITE (I02,80003) IVTNUM 02690021 ! 273: IF (ICZERO) 45710, 5721, 45710 02700021 ! 274: 45710 IF ( ICON07 - 0 ) 25710, 15710, 25710 02710021 ! 275: 15710 IVPASS = IVPASS + 1 02720021 ! 276: WRITE (I02,80001) IVTNUM 02730021 ! 277: GO TO 5721 02740021 ! 278: 25710 IVFAIL = IVFAIL + 1 02750021 ! 279: IVCOMP = ICON07 02760021 ! 280: IVCORR = -0 02770021 ! 281: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02780021 ! 282: 5721 CONTINUE 02790021 ! 283: IVTNUM = 572 02800021 ! 284: C 02810021 ! 285: C **** TEST 572 **** 02820021 ! 286: C TEST 572 - TEST OF AN INTEGER VARIABLE SET TO THE INTEGER 02830021 ! 287: C CONSTANT (SIGNED) -32766. 02840021 ! 288: C 02850021 ! 289: C 02860021 ! 290: IF (ICZERO) 35720, 5720, 35720 02870021 ! 291: 5720 CONTINUE 02880021 ! 292: GO TO 45720 02890021 ! 293: 35720 IVDELE = IVDELE + 1 02900021 ! 294: WRITE (I02,80003) IVTNUM 02910021 ! 295: IF (ICZERO) 45720, 5731, 45720 02920021 ! 296: 45720 IF ( ICON08 + 32766 ) 25720, 15720, 25720 02930021 ! 297: 15720 IVPASS = IVPASS + 1 02940021 ! 298: WRITE (I02,80001) IVTNUM 02950021 ! 299: GO TO 5731 02960021 ! 300: 25720 IVFAIL = IVFAIL + 1 02970021 ! 301: IVCOMP = ICON08 02980021 ! 302: IVCORR = -32766 02990021 ! 303: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03000021 ! 304: 5731 CONTINUE 03010021 ! 305: IVTNUM = 573 03020021 ! 306: C 03030021 ! 307: C **** TEST 573 **** 03040021 ! 308: C TEST 573 - TEST THE EFFECT OF LEADING ZERO ON AN INTEGER 03050021 ! 309: C CONSTANT 00003. 03060021 ! 310: C 03070021 ! 311: C 03080021 ! 312: IF (ICZERO) 35730, 5730, 35730 03090021 ! 313: 5730 CONTINUE 03100021 ! 314: GO TO 45730 03110021 ! 315: 35730 IVDELE = IVDELE + 1 03120021 ! 316: WRITE (I02,80003) IVTNUM 03130021 ! 317: IF (ICZERO) 45730, 5741, 45730 03140021 ! 318: 45730 IF ( ICON09 - 3 ) 25730, 15730, 25730 03150021 ! 319: 15730 IVPASS = IVPASS + 1 03160021 ! 320: WRITE (I02,80001) IVTNUM 03170021 ! 321: GO TO 5741 03180021 ! 322: 25730 IVFAIL = IVFAIL + 1 03190021 ! 323: IVCOMP = ICON09 03200021 ! 324: IVCORR = 3 03210021 ! 325: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03220021 ! 326: 5741 CONTINUE 03230021 ! 327: IVTNUM = 574 03240021 ! 328: C 03250021 ! 329: C **** TEST 574 **** 03260021 ! 330: C TEST 574 - TEST OF BLANKS IMBEDDED IN AN INTEGER CONSTANT 03270021 ! 331: C WHICH WAS / 3 2 7 6 7/ IN THE DATA INITIALIZATION STATEMENT. 03280021 ! 332: C 03290021 ! 333: C 03300021 ! 334: IF (ICZERO) 35740, 5740, 35740 03310021 ! 335: 5740 CONTINUE 03320021 ! 336: GO TO 45740 03330021 ! 337: 35740 IVDELE = IVDELE + 1 03340021 ! 338: WRITE (I02,80003) IVTNUM 03350021 ! 339: IF (ICZERO) 45740, 5751, 45740 03360021 ! 340: 45740 IF ( ICON10 - 32767 ) 25740, 15740, 25740 03370021 ! 341: 15740 IVPASS = IVPASS + 1 03380021 ! 342: WRITE (I02,80001) IVTNUM 03390021 ! 343: GO TO 5751 03400021 ! 344: 25740 IVFAIL = IVFAIL + 1 03410021 ! 345: IVCOMP = ICON10 03420021 ! 346: IVCORR = 32767 03430021 ! 347: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03440021 ! 348: 5751 CONTINUE 03450021 ! 349: IVTNUM = 575 03460021 ! 350: C 03470021 ! 351: C **** TEST 575 **** 03480021 ! 352: C TEST 575 - TEST OF A LOGICAL VARIABLE SET TO THE LOGICAL 03490021 ! 353: C CONSTANT .TRUE. 03500021 ! 354: C TRUE PATH OF A LOGICAL IF STATEMENT IS USED IN THE TEST. 03510021 ! 355: C 03520021 ! 356: C 03530021 ! 357: IF (ICZERO) 35750, 5750, 35750 03540021 ! 358: 5750 CONTINUE 03550021 ! 359: IVON01 = 0 03560021 ! 360: IF ( LCTN01 ) IVON01 = 1 03570021 ! 361: GO TO 45750 03580021 ! 362: 35750 IVDELE = IVDELE + 1 03590021 ! 363: WRITE (I02,80003) IVTNUM 03600021 ! 364: IF (ICZERO) 45750, 5761, 45750 03610021 ! 365: 45750 IF ( IVON01 - 1 ) 25750, 15750, 25750 03620021 ! 366: 15750 IVPASS = IVPASS + 1 03630021 ! 367: WRITE (I02,80001) IVTNUM 03640021 ! 368: GO TO 5761 03650021 ! 369: 25750 IVFAIL = IVFAIL + 1 03660021 ! 370: IVCOMP = IVON01 03670021 ! 371: IVCORR = 1 03680021 ! 372: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03690021 ! 373: 5761 CONTINUE 03700021 ! 374: IVTNUM = 576 03710021 ! 375: C 03720021 ! 376: C **** TEST 576 **** 03730021 ! 377: C TEST 576 - TEST OF A LOGICAL VARIABLE SET TO THE LOGICAL 03740021 ! 378: C CONSTANT .FALSE. THE FALSE PATH OF A LOGICAL IF STATEMENT 03750021 ! 379: C IS ALSO USED IN THE TEST. 03760021 ! 380: C 03770021 ! 381: C 03780021 ! 382: IF (ICZERO) 35760, 5760, 35760 03790021 ! 383: 5760 CONTINUE 03800021 ! 384: IVON01 = 1 03810021 ! 385: IF ( LCTN02 ) IVON01 = 0 03820021 ! 386: GO TO 45760 03830021 ! 387: 35760 IVDELE = IVDELE + 1 03840021 ! 388: WRITE (I02,80003) IVTNUM 03850021 ! 389: IF (ICZERO) 45760, 5771, 45760 03860021 ! 390: 45760 IF ( IVON01 - 1 ) 25760, 15760, 25760 03870021 ! 391: 15760 IVPASS = IVPASS + 1 03880021 ! 392: WRITE (I02,80001) IVTNUM 03890021 ! 393: GO TO 5771 03900021 ! 394: 25760 IVFAIL = IVFAIL + 1 03910021 ! 395: IVCOMP = IVON01 03920021 ! 396: IVCORR = 1 03930021 ! 397: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03940021 ! 398: 5771 CONTINUE 03950021 ! 399: IVTNUM = 577 03960021 ! 400: C 03970021 ! 401: C **** TEST 577 **** 03980021 ! 402: C TEST 577 - REAL VARIABLE SET TO 0. 03990021 ! 403: C 04000021 ! 404: C 04010021 ! 405: IF (ICZERO) 35770, 5770, 35770 04020021 ! 406: 5770 CONTINUE 04030021 ! 407: GO TO 45770 04040021 ! 408: 35770 IVDELE = IVDELE + 1 04050021 ! 409: WRITE (I02,80003) IVTNUM 04060021 ! 410: IF (ICZERO) 45770, 5781, 45770 04070021 ! 411: 45770 IF ( RCON01 - 0. ) 25770, 15770, 25770 04080021 ! 412: 15770 IVPASS = IVPASS + 1 04090021 ! 413: WRITE (I02,80001) IVTNUM 04100021 ! 414: GO TO 5781 04110021 ! 415: 25770 IVFAIL = IVFAIL + 1 04120021 ! 416: IVCOMP = RCON01 04130021 ! 417: IVCORR = 0 04140021 ! 418: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04150021 ! 419: 5781 CONTINUE 04160021 ! 420: IVTNUM = 578 04170021 ! 421: C 04180021 ! 422: C **** TEST 578 **** 04190021 ! 423: C TEST 578 - REAL VARIABLE SET TO .0 04200021 ! 424: C 04210021 ! 425: C 04220021 ! 426: IF (ICZERO) 35780, 5780, 35780 04230021 ! 427: 5780 CONTINUE 04240021 ! 428: GO TO 45780 04250021 ! 429: 35780 IVDELE = IVDELE + 1 04260021 ! 430: WRITE (I02,80003) IVTNUM 04270021 ! 431: IF (ICZERO) 45780, 5791, 45780 04280021 ! 432: 45780 IF ( RCON02 - .0 ) 25780, 15780, 25780 04290021 ! 433: 15780 IVPASS = IVPASS + 1 04300021 ! 434: WRITE (I02,80001) IVTNUM 04310021 ! 435: GO TO 5791 04320021 ! 436: 25780 IVFAIL = IVFAIL + 1 04330021 ! 437: IVCOMP = RCON02 04340021 ! 438: IVCORR = 0 04350021 ! 439: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04360021 ! 440: 5791 CONTINUE 04370021 ! 441: IVTNUM = 579 04380021 ! 442: C 04390021 ! 443: C **** TEST 579 **** 04400021 ! 444: C TEST 579 - REAL VARIABLE SET TO 0.0 04410021 ! 445: C 04420021 ! 446: C 04430021 ! 447: IF (ICZERO) 35790, 5790, 35790 04440021 ! 448: 5790 CONTINUE 04450021 ! 449: GO TO 45790 04460021 ! 450: 35790 IVDELE = IVDELE + 1 04470021 ! 451: WRITE (I02,80003) IVTNUM 04480021 ! 452: IF (ICZERO) 45790, 5801, 45790 04490021 ! 453: 45790 IF ( RCON03 - 0.0 ) 25790, 15790, 25790 04500021 ! 454: 15790 IVPASS = IVPASS + 1 04510021 ! 455: WRITE (I02,80001) IVTNUM 04520021 ! 456: GO TO 5801 04530021 ! 457: 25790 IVFAIL = IVFAIL + 1 04540021 ! 458: IVCOMP = RCON03 04550021 ! 459: IVCORR = 0 04560021 ! 460: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04570021 ! 461: 5801 CONTINUE 04580021 ! 462: IVTNUM = 580 04590021 ! 463: C 04600021 ! 464: C **** TEST 580 **** 04610021 ! 465: C TEST 580 - REAL VARIABLE SET TO 32767. 04620021 ! 466: C 04630021 ! 467: C 04640021 ! 468: IF (ICZERO) 35800, 5800, 35800 04650021 ! 469: 5800 CONTINUE 04660021 ! 470: GO TO 45800 04670021 ! 471: 35800 IVDELE = IVDELE + 1 04680021 ! 472: WRITE (I02,80003) IVTNUM 04690021 ! 473: IF (ICZERO) 45800, 5811, 45800 04700021 ! 474: 45800 IF ( RCON04 - 32767. ) 25800, 15800, 25800 04710021 ! 475: 15800 IVPASS = IVPASS + 1 04720021 ! 476: WRITE (I02,80001) IVTNUM 04730021 ! 477: GO TO 5811 04740021 ! 478: 25800 IVFAIL = IVFAIL + 1 04750021 ! 479: IVCOMP = RCON04 04760021 ! 480: IVCORR = 32767 04770021 ! 481: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04780021 ! 482: 5811 CONTINUE 04790021 ! 483: IVTNUM = 581 04800021 ! 484: C 04810021 ! 485: C **** TEST 581 **** 04820021 ! 486: C TEST 581 - REAL VARIABLE SET TO -32766. 04830021 ! 487: C 04840021 ! 488: C 04850021 ! 489: IF (ICZERO) 35810, 5810, 35810 04860021 ! 490: 5810 CONTINUE 04870021 ! 491: GO TO 45810 04880021 ! 492: 35810 IVDELE = IVDELE + 1 04890021 ! 493: WRITE (I02,80003) IVTNUM 04900021 ! 494: IF (ICZERO) 45810, 5821, 45810 04910021 ! 495: 45810 IF ( RCON05 + 32766 ) 25810, 15810, 25810 04920021 ! 496: 15810 IVPASS = IVPASS + 1 04930021 ! 497: WRITE (I02,80001) IVTNUM 04940021 ! 498: GO TO 5821 04950021 ! 499: 25810 IVFAIL = IVFAIL + 1 04960021 ! 500: IVCOMP = RCON05 04970021 ! 501: IVCORR = -32766 04980021 ! 502: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04990021 ! 503: 5821 CONTINUE 05000021 ! 504: IVTNUM = 582 05010021 ! 505: C 05020021 ! 506: C **** TEST 582 **** 05030021 ! 507: C TEST 582 - REAL VARIABLE SET TO -000587. TEST OF LEADING SIGN 05040021 ! 508: C AND LEADING ZEROS ON A REAL CONSTANT. 05050021 ! 509: C 05060021 ! 510: C 05070021 ! 511: IF (ICZERO) 35820, 5820, 35820 05080021 ! 512: 5820 CONTINUE 05090021 ! 513: GO TO 45820 05100021 ! 514: 35820 IVDELE = IVDELE + 1 05110021 ! 515: WRITE (I02,80003) IVTNUM 05120021 ! 516: IF (ICZERO) 45820, 5831, 45820 05130021 ! 517: 45820 IF ( RCON06 + 587. ) 25820, 15820, 25820 05140021 ! 518: 15820 IVPASS = IVPASS + 1 05150021 ! 519: WRITE (I02,80001) IVTNUM 05160021 ! 520: GO TO 5831 05170021 ! 521: 25820 IVFAIL = IVFAIL + 1 05180021 ! 522: IVCOMP = RCON06 05190021 ! 523: IVCORR = -587 05200021 ! 524: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05210021 ! 525: 5831 CONTINUE 05220021 ! 526: IVTNUM = 583 05230021 ! 527: C 05240021 ! 528: C **** TEST 583 **** 05250021 ! 529: C TEST 583 - REAL VARIABLE SET TO 99.99 05260021 ! 530: C 05270021 ! 531: C 05280021 ! 532: IF (ICZERO) 35830, 5830, 35830 05290021 ! 533: 5830 CONTINUE 05300021 ! 534: GO TO 45830 05310021 ! 535: 35830 IVDELE = IVDELE + 1 05320021 ! 536: WRITE (I02,80003) IVTNUM 05330021 ! 537: IF (ICZERO) 45830, 5841, 45830 05340021 ! 538: 45830 IF ( RCON07 - 99.99 ) 25830, 15830, 25830 05350021 ! 539: 15830 IVPASS = IVPASS + 1 05360021 ! 540: WRITE (I02,80001) IVTNUM 05370021 ! 541: GO TO 5841 05380021 ! 542: 25830 IVFAIL = IVFAIL + 1 05390021 ! 543: IVCOMP = RCON07 05400021 ! 544: IVCORR = 99 05410021 ! 545: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05420021 ! 546: 5841 CONTINUE 05430021 ! 547: IVTNUM = 584 05440021 ! 548: C 05450021 ! 549: C **** TEST 584 **** 05460021 ! 550: C TEST 584 - REAL VARIABLE SET TO /-03. 2 7 6 6/ TO TEST 05470021 ! 551: C THE EFFECT OF BLANKS IMBEDDED IN A REAL CONSTANT. 05480021 ! 552: C 05490021 ! 553: C 05500021 ! 554: IF (ICZERO) 35840, 5840, 35840 05510021 ! 555: 5840 CONTINUE 05520021 ! 556: GO TO 45840 05530021 ! 557: 35840 IVDELE = IVDELE + 1 05540021 ! 558: WRITE (I02,80003) IVTNUM 05550021 ! 559: IF (ICZERO) 45840, 5851, 45840 05560021 ! 560: 45840 IF ( RCON08 + 3.2766 ) 25840, 15840, 25840 05570021 ! 561: 15840 IVPASS = IVPASS + 1 05580021 ! 562: WRITE (I02,80001) IVTNUM 05590021 ! 563: GO TO 5851 05600021 ! 564: 25840 IVFAIL = IVFAIL + 1 05610021 ! 565: IVCOMP = RCON08 05620021 ! 566: IVCORR = -3 05630021 ! 567: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05640021 ! 568: 5851 CONTINUE 05650021 ! 569: IVTNUM = 585 05660021 ! 570: C 05670021 ! 571: C **** TEST 585 **** 05680021 ! 572: C TEST 585 - INTEGER ARRAY ELEMENT SET TO 3 05690021 ! 573: C 05700021 ! 574: C 05710021 ! 575: IF (ICZERO) 35850, 5850, 35850 05720021 ! 576: 5850 CONTINUE 05730021 ! 577: GO TO 45850 05740021 ! 578: 35850 IVDELE = IVDELE + 1 05750021 ! 579: WRITE (I02,80003) IVTNUM 05760021 ! 580: IF (ICZERO) 45850, 5861, 45850 05770021 ! 581: 45850 IF ( IADN11(1) - 3 ) 25850, 15850, 25850 05780021 ! 582: 15850 IVPASS = IVPASS + 1 05790021 ! 583: WRITE (I02,80001) IVTNUM 05800021 ! 584: GO TO 5861 05810021 ! 585: 25850 IVFAIL = IVFAIL + 1 05820021 ! 586: IVCOMP = IADN11(1) 05830021 ! 587: IVCORR = 3 05840021 ! 588: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05850021 ! 589: 5861 CONTINUE 05860021 ! 590: IVTNUM = 586 05870021 ! 591: C 05880021 ! 592: C **** TEST 586 **** 05890021 ! 593: C TEST 586 - INTEGER ARRAY ELEMENT SET TO 32767 05900021 ! 594: C 05910021 ! 595: C 05920021 ! 596: IF (ICZERO) 35860, 5860, 35860 05930021 ! 597: 5860 CONTINUE 05940021 ! 598: GO TO 45860 05950021 ! 599: 35860 IVDELE = IVDELE + 1 05960021 ! 600: WRITE (I02,80003) IVTNUM 05970021 ! 601: IF (ICZERO) 45860, 5871, 45860 05980021 ! 602: 45860 IF ( IADN11(2) - 32767 ) 25860, 15860, 25860 05990021 ! 603: 15860 IVPASS = IVPASS + 1 06000021 ! 604: WRITE (I02,80001) IVTNUM 06010021 ! 605: GO TO 5871 06020021 ! 606: 25860 IVFAIL = IVFAIL + 1 06030021 ! 607: IVCOMP = IADN11(2) 06040021 ! 608: IVCORR = 32767 06050021 ! 609: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06060021 ! 610: 5871 CONTINUE 06070021 ! 611: IVTNUM = 587 06080021 ! 612: C 06090021 ! 613: C **** TEST 587 **** 06100021 ! 614: C TEST 587 - INTEGER ARRAY ELEMENT SET TO -587 06110021 ! 615: C 06120021 ! 616: C 06130021 ! 617: IF (ICZERO) 35870, 5870, 35870 06140021 ! 618: 5870 CONTINUE 06150021 ! 619: GO TO 45870 06160021 ! 620: 35870 IVDELE = IVDELE + 1 06170021 ! 621: WRITE (I02,80003) IVTNUM 06180021 ! 622: IF (ICZERO) 45870, 5881, 45870 06190021 ! 623: 45870 IF ( IADN11(3) + 587 ) 25870, 15870, 25870 06200021 ! 624: 15870 IVPASS = IVPASS + 1 06210021 ! 625: WRITE (I02,80001) IVTNUM 06220021 ! 626: GO TO 5881 06230021 ! 627: 25870 IVFAIL = IVFAIL + 1 06240021 ! 628: IVCOMP = IADN11(3) 06250021 ! 629: IVCORR = -587 06260021 ! 630: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06270021 ! 631: 5881 CONTINUE 06280021 ! 632: IVTNUM = 588 06290021 ! 633: C 06300021 ! 634: C **** TEST 588 **** 06310021 ! 635: C TEST 588 - TEST OF THE REPEAT FIELD /4*999/ IN A DATA STATE. 06320021 ! 636: C 06330021 ! 637: C 06340021 ! 638: IF (ICZERO) 35880, 5880, 35880 06350021 ! 639: 5880 CONTINUE 06360021 ! 640: GO TO 45880 06370021 ! 641: 35880 IVDELE = IVDELE + 1 06380021 ! 642: WRITE (I02,80003) IVTNUM 06390021 ! 643: IF (ICZERO) 45880, 5891, 45880 06400021 ! 644: 45880 IF ( IADN12(3) - 9999 ) 25880, 15880, 25880 06410021 ! 645: 15880 IVPASS = IVPASS + 1 06420021 ! 646: WRITE (I02,80001) IVTNUM 06430021 ! 647: GO TO 5891 06440021 ! 648: 25880 IVFAIL = IVFAIL + 1 06450021 ! 649: IVCOMP = IADN12(3) 06460021 ! 650: IVCORR = 9999 06470021 ! 651: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06480021 ! 652: 5891 CONTINUE 06490021 ! 653: IVTNUM = 589 06500021 ! 654: C 06510021 ! 655: C **** TEST 589 **** 06520021 ! 656: C TEST 589 - TEST OF SETTING THE WHOLE INTEGER ARRAY ELEMENTS 06530021 ! 657: C IN ONE DATA INITIALIZATION STATEMENT. THE FIRST ELEMENT 06540021 ! 658: C IS SET TO 0 06550021 ! 659: C 06560021 ! 660: C 06570021 ! 661: IF (ICZERO) 35890, 5890, 35890 06580021 ! 662: 5890 CONTINUE 06590021 ! 663: GO TO 45890 06600021 ! 664: 35890 IVDELE = IVDELE + 1 06610021 ! 665: WRITE (I02,80003) IVTNUM 06620021 ! 666: IF (ICZERO) 45890, 5901, 45890 06630021 ! 667: 45890 IF ( IADN13(1) - 0 ) 25890, 15890, 25890 06640021 ! 668: 15890 IVPASS = IVPASS + 1 06650021 ! 669: WRITE (I02,80001) IVTNUM 06660021 ! 670: GO TO 5901 06670021 ! 671: 25890 IVFAIL = IVFAIL + 1 06680021 ! 672: IVCOMP = IADN13(1) 06690021 ! 673: IVCORR = 0 06700021 ! 674: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06710021 ! 675: 5901 CONTINUE 06720021 ! 676: IVTNUM = 590 06730021 ! 677: C 06740021 ! 678: C **** TEST 590 **** 06750021 ! 679: C TEST 590 - SEE TEST 589. THE SECOND ELEMENT WAS SET TO -32766 06760021 ! 680: C 06770021 ! 681: C 06780021 ! 682: IF (ICZERO) 35900, 5900, 35900 06790021 ! 683: 5900 CONTINUE 06800021 ! 684: GO TO 45900 06810021 ! 685: 35900 IVDELE = IVDELE + 1 06820021 ! 686: WRITE (I02,80003) IVTNUM 06830021 ! 687: IF (ICZERO) 45900, 5911, 45900 06840021 ! 688: 45900 IF ( IADN13(2) + 32766 ) 25900, 15900, 25900 06850021 ! 689: 15900 IVPASS = IVPASS + 1 06860021 ! 690: WRITE (I02,80001) IVTNUM 06870021 ! 691: GO TO 5911 06880021 ! 692: 25900 IVFAIL = IVFAIL + 1 06890021 ! 693: IVCOMP = IADN13(2) 06900021 ! 694: IVCORR = -32766 06910021 ! 695: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06920021 ! 696: 5911 CONTINUE 06930021 ! 697: IVTNUM = 591 06940021 ! 698: C 06950021 ! 699: C **** TEST 591 **** 06960021 ! 700: C TEST 591 - SEE TEST 589. THE THIRD ELEMENT WAS SET TO -32766 06970021 ! 701: C 06980021 ! 702: C 06990021 ! 703: IF (ICZERO) 35910, 5910, 35910 07000021 ! 704: 5910 CONTINUE 07010021 ! 705: GO TO 45910 07020021 ! 706: 35910 IVDELE = IVDELE + 1 07030021 ! 707: WRITE (I02,80003) IVTNUM 07040021 ! 708: IF (ICZERO) 45910, 5921, 45910 07050021 ! 709: 45910 IF ( IADN13(3) + 32766 ) 25910, 15910, 25910 07060021 ! 710: 15910 IVPASS = IVPASS + 1 07070021 ! 711: WRITE (I02,80001) IVTNUM 07080021 ! 712: GO TO 5921 07090021 ! 713: 25910 IVFAIL = IVFAIL + 1 07100021 ! 714: IVCOMP = IADN13(3) 07110021 ! 715: IVCORR = -32766 07120021 ! 716: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07130021 ! 717: 5921 CONTINUE 07140021 ! 718: IVTNUM = 592 07150021 ! 719: C 07160021 ! 720: C **** TEST 592 **** 07170021 ! 721: C TEST 592 - SEE TEST 589. THE FOURTH ELEMENT WAS SET TO -587 07180021 ! 722: C 07190021 ! 723: C 07200021 ! 724: IF (ICZERO) 35920, 5920, 35920 07210021 ! 725: 5920 CONTINUE 07220021 ! 726: GO TO 45920 07230021 ! 727: 35920 IVDELE = IVDELE + 1 07240021 ! 728: WRITE (I02,80003) IVTNUM 07250021 ! 729: IF (ICZERO) 45920, 5931, 45920 07260021 ! 730: 45920 IF ( IADN13(4) + 587 ) 25920, 15920, 25920 07270021 ! 731: 15920 IVPASS = IVPASS + 1 07280021 ! 732: WRITE (I02,80001) IVTNUM 07290021 ! 733: GO TO 5931 07300021 ! 734: 25920 IVFAIL = IVFAIL + 1 07310021 ! 735: IVCOMP = IADN13(4) 07320021 ! 736: IVCORR = -587 07330021 ! 737: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07340021 ! 738: 5931 CONTINUE 07350021 ! 739: IVTNUM = 593 07360021 ! 740: C 07370021 ! 741: C **** TEST 593 **** 07380021 ! 742: C TEST 593 - TEST OF SETTING THE WHOLE LOGICAL ARRAY IN ONE 07390021 ! 743: C DATA INITIALIZATION STATEMENT. THE FIRST ELEMENT IS .TRUE. 07400021 ! 744: C THE SECOND AND THIRD ELEMENTS ARE .FALSE. 07410021 ! 745: C THE FALSE PATH OF A LOGICAL IF STATEMENT IS USED TESTING 2. 07420021 ! 746: C 07430021 ! 747: C 07440021 ! 748: IF (ICZERO) 35930, 5930, 35930 07450021 ! 749: 5930 CONTINUE 07460021 ! 750: IVON01 = 1 07470021 ! 751: IF ( LADN11(2) ) IVON01 = 0 07480021 ! 752: GO TO 45930 07490021 ! 753: 35930 IVDELE = IVDELE + 1 07500021 ! 754: WRITE (I02,80003) IVTNUM 07510021 ! 755: IF (ICZERO) 45930, 5941, 45930 07520021 ! 756: 45930 IF ( IVON01 - 1 ) 25930, 15930, 25930 07530021 ! 757: 15930 IVPASS = IVPASS + 1 07540021 ! 758: WRITE (I02,80001) IVTNUM 07550021 ! 759: GO TO 5941 07560021 ! 760: 25930 IVFAIL = IVFAIL + 1 07570021 ! 761: IVCOMP = IVON01 07580021 ! 762: IVCORR = 1 07590021 ! 763: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07600021 ! 764: 5941 CONTINUE 07610021 ! 765: IVTNUM = 594 07620021 ! 766: C 07630021 ! 767: C **** TEST 594 **** 07640021 ! 768: C TEST 594 - SEE TEST 593. THE FOURTH ELEMENT IS TESTED 07650021 ! 769: C WITH THE TRUE PATH OF THE LOGICAL IF STATEMENT. 07660021 ! 770: C 07670021 ! 771: C 07680021 ! 772: IF (ICZERO) 35940, 5940, 35940 07690021 ! 773: 5940 CONTINUE 07700021 ! 774: IVON01 = 0 07710021 ! 775: IF ( LADN11(4) ) IVON01 = 1 07720021 ! 776: GO TO 45940 07730021 ! 777: 35940 IVDELE = IVDELE + 1 07740021 ! 778: WRITE (I02,80003) IVTNUM 07750021 ! 779: IF (ICZERO) 45940, 5951, 45940 07760021 ! 780: 45940 IF ( IVON01 - 1 ) 25940, 15940, 25940 07770021 ! 781: 15940 IVPASS = IVPASS + 1 07780021 ! 782: WRITE (I02,80001) IVTNUM 07790021 ! 783: GO TO 5951 07800021 ! 784: 25940 IVFAIL = IVFAIL + 1 07810021 ! 785: IVCOMP = IVON01 07820021 ! 786: IVCORR = 1 07830021 ! 787: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07840021 ! 788: 5951 CONTINUE 07850021 ! 789: IVTNUM = 595 07860021 ! 790: C 07870021 ! 791: C **** TEST 595 **** 07880021 ! 792: C TEST 595 - A WHOLE REAL ARRAY IS SET IN ONE DATA INITIALIZATION 07890021 ! 793: C STATEMENT. THE SECOND ELEMENT IS -32.766 07900021 ! 794: C 07910021 ! 795: C 07920021 ! 796: IF (ICZERO) 35950, 5950, 35950 07930021 ! 797: 5950 CONTINUE 07940021 ! 798: GO TO 45950 07950021 ! 799: 35950 IVDELE = IVDELE + 1 07960021 ! 800: WRITE (I02,80003) IVTNUM 07970021 ! 801: IF (ICZERO) 45950, 5961, 45950 07980021 ! 802: 45950 IF ( RADN11(2) + 32.766 ) 25950, 15950, 25950 07990021 ! 803: 15950 IVPASS = IVPASS + 1 08000021 ! 804: WRITE (I02,80001) IVTNUM 08010021 ! 805: GO TO 5961 08020021 ! 806: 25950 IVFAIL = IVFAIL + 1 08030021 ! 807: IVCOMP = RADN11(2) 08040021 ! 808: IVCORR = -32 08050021 ! 809: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08060021 ! 810: 5961 CONTINUE 08070021 ! 811: IVTNUM = 596 08080021 ! 812: C 08090021 ! 813: C **** TEST 596 **** 08100021 ! 814: C TEST 596 - SEE TEST 595. THE FOURTH ELEMENT IS SET TO 587 08110021 ! 815: C BY A REPEAT FIELD. 08120021 ! 816: C 08130021 ! 817: C 08140021 ! 818: IF (ICZERO) 35960, 5960, 35960 08150021 ! 819: 5960 CONTINUE 08160021 ! 820: GO TO 45960 08170021 ! 821: 35960 IVDELE = IVDELE + 1 08180021 ! 822: WRITE (I02,80003) IVTNUM 08190021 ! 823: IF (ICZERO) 45960, 5971, 45960 08200021 ! 824: 45960 IF ( RADN11(4) - 587 ) 25960, 15960, 25960 08210021 ! 825: 15960 IVPASS = IVPASS + 1 08220021 ! 826: WRITE (I02,80001) IVTNUM 08230021 ! 827: GO TO 5971 08240021 ! 828: 25960 IVFAIL = IVFAIL + 1 08250021 ! 829: IVCOMP = RADN11(4) 08260021 ! 830: IVCORR = 587 08270021 ! 831: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08280021 ! 832: 5971 CONTINUE 08290021 ! 833: IVTNUM = 597 08300021 ! 834: C 08310021 ! 835: C **** TEST 597 **** 08320021 ! 836: C TEST 597 - TEST OF MIXED ARRAY ELEMENT TYPES IN A SINGLE DATA 08330021 ! 837: C INITIALIZATION STATEMENT. THE TYPE LOGICAL STATEMENT CONTAINS08340021 ! 838: C THE ARRAY DECLARATIONS. THE FALSE PATH OF A LOGICAL 08350021 ! 839: C IF STATEMENT TESTS THE LOGICAL RESULTS. 08360021 ! 840: C 08370021 ! 841: C 08380021 ! 842: IF (ICZERO) 35970, 5970, 35970 08390021 ! 843: 5970 CONTINUE 08400021 ! 844: IVON01 = 1 08410021 ! 845: IF ( LATN11(2) ) IVON01 = 0 08420021 ! 846: GO TO 45970 08430021 ! 847: 35970 IVDELE = IVDELE + 1 08440021 ! 848: WRITE (I02,80003) IVTNUM 08450021 ! 849: IF (ICZERO) 45970, 5981, 45970 08460021 ! 850: 45970 IF ( IVON01 - 1 ) 25970, 15970, 25970 08470021 ! 851: 15970 IVPASS = IVPASS + 1 08480021 ! 852: WRITE (I02,80001) IVTNUM 08490021 ! 853: GO TO 5981 08500021 ! 854: 25970 IVFAIL = IVFAIL + 1 08510021 ! 855: IVCOMP = IVON01 08520021 ! 856: IVCORR = 1 08530021 ! 857: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08540021 ! 858: 5981 CONTINUE 08550021 ! 859: IVTNUM = 598 08560021 ! 860: C 08570021 ! 861: C **** TEST 598 **** 08580021 ! 862: C TEST 598 - TYPE OF THE DATA WAS SET EXPLICITLY REAL IN THE 08590021 ! 863: C DECLARATIVE FOR THE ARRAY. DATA SHOULD BE SET TO 32767. 08600021 ! 864: C 08610021 ! 865: C 08620021 ! 866: IF (ICZERO) 35980, 5980, 35980 08630021 ! 867: 5980 CONTINUE 08640021 ! 868: GO TO 45980 08650021 ! 869: 35980 IVDELE = IVDELE + 1 08660021 ! 870: WRITE (I02,80003) IVTNUM 08670021 ! 871: IF (ICZERO) 45980, 5991, 45980 08680021 ! 872: 45980 IF ( IATN11(2) - 32767. ) 25980, 15980, 25980 08690021 ! 873: 15980 IVPASS = IVPASS + 1 08700021 ! 874: WRITE (I02,80001) IVTNUM 08710021 ! 875: GO TO 5991 08720021 ! 876: 25980 IVFAIL = IVFAIL + 1 08730021 ! 877: IVCOMP = IATN11(2) 08740021 ! 878: IVCORR = 32767 08750021 ! 879: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08760021 ! 880: 5991 CONTINUE 08770021 ! 881: IVTNUM = 599 08780021 ! 882: C 08790021 ! 883: C **** TEST 599 **** 08800021 ! 884: C TEST 599 - TYPE OF THE DATA WAS SET EXPLICITLY INTEGER IN THE 08810021 ! 885: C DECLARATIVE FOR THE ARRAY. DATA SHOULD BE SET TO -32766 08820021 ! 886: C 08830021 ! 887: C 08840021 ! 888: IF (ICZERO) 35990, 5990, 35990 08850021 ! 889: 5990 CONTINUE 08860021 ! 890: GO TO 45990 08870021 ! 891: 35990 IVDELE = IVDELE + 1 08880021 ! 892: WRITE (I02,80003) IVTNUM 08890021 ! 893: IF (ICZERO) 45990, 6001, 45990 08900021 ! 894: 45990 IF ( RATN11(2) + 32766 ) 25990, 15990, 25990 08910021 ! 895: 15990 IVPASS = IVPASS + 1 08920021 ! 896: WRITE (I02,80001) IVTNUM 08930021 ! 897: GO TO 6001 08940021 ! 898: 25990 IVFAIL = IVFAIL + 1 08950021 ! 899: IVCOMP = RATN11(2) 08960021 ! 900: IVCORR = -32766 08970021 ! 901: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08980021 ! 902: 6001 CONTINUE 08990021 ! 903: IVTNUM = 600 09000021 ! 904: C 09010021 ! 905: C **** TEST 600 **** 09020021 ! 906: C TEST 600 - TEST OF REAL DECIMAL CONSTANTS USING E-NOTATION. 09030021 ! 907: C SEE SECTION 4.4.2. THE VALUE OF THE ELEMENT SHOULD 09040021 ! 908: C BE SET TO 32767. 09050021 ! 909: C 09060021 ! 910: C 09070021 ! 911: IF (ICZERO) 36000, 6000, 36000 09080021 ! 912: 6000 CONTINUE 09090021 ! 913: GO TO 46000 09100021 ! 914: 36000 IVDELE = IVDELE + 1 09110021 ! 915: WRITE (I02,80003) IVTNUM 09120021 ! 916: IF (ICZERO) 46000, 6011, 46000 09130021 ! 917: 46000 IF ( RADN13(1) - 32767. ) 26000, 16000, 26000 09140021 ! 918: 16000 IVPASS = IVPASS + 1 09150021 ! 919: WRITE (I02,80001) IVTNUM 09160021 ! 920: GO TO 6011 09170021 ! 921: 26000 IVFAIL = IVFAIL + 1 09180021 ! 922: IVCOMP = RADN13(1) 09190021 ! 923: IVCORR = 32767 09200021 ! 924: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 09210021 ! 925: 6011 CONTINUE 09220021 ! 926: IVTNUM = 601 09230021 ! 927: C 09240021 ! 928: C **** TEST 601 **** 09250021 ! 929: C TEST 601 - LIKE TEST 600. REAL DECIMAL CONSTANT VALUE -.32766 09260021 ! 930: C 09270021 ! 931: C 09280021 ! 932: IF (ICZERO) 36010, 6010, 36010 09290021 ! 933: 6010 CONTINUE 09300021 ! 934: GO TO 46010 09310021 ! 935: 36010 IVDELE = IVDELE + 1 09320021 ! 936: WRITE (I02,80003) IVTNUM 09330021 ! 937: IF (ICZERO) 46010, 6021, 46010 09340021 ! 938: 46010 IF ( RADN13(2) + .32766 ) 26010, 16010, 26010 09350021 ! 939: 16010 IVPASS = IVPASS + 1 09360021 ! 940: WRITE (I02,80001) IVTNUM 09370021 ! 941: GO TO 6021 09380021 ! 942: 26010 IVFAIL = IVFAIL + 1 09390021 ! 943: IVCOMP = RADN13(2) 09400021 ! 944: IVCORR = 0 09410021 ! 945: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 09420021 ! 946: 6021 CONTINUE 09430021 ! 947: IVTNUM = 602 09440021 ! 948: C 09450021 ! 949: C **** TEST 602 **** 09460021 ! 950: C TEST 602 - LIKE TEST 600. REAL DECIMAL CONSTANT VALUE 587. 09470021 ! 951: C 09480021 ! 952: C 09490021 ! 953: IF (ICZERO) 36020, 6020, 36020 09500021 ! 954: 6020 CONTINUE 09510021 ! 955: GO TO 46020 09520021 ! 956: 36020 IVDELE = IVDELE + 1 09530021 ! 957: WRITE (I02,80003) IVTNUM 09540021 ! 958: IF (ICZERO) 46020, 6031, 46020 09550021 ! 959: 46020 IF ( RADN13(3) - 587 ) 26020, 16020, 26020 09560021 ! 960: 16020 IVPASS = IVPASS + 1 09570021 ! 961: WRITE (I02,80001) IVTNUM 09580021 ! 962: GO TO 6031 09590021 ! 963: 26020 IVFAIL = IVFAIL + 1 09600021 ! 964: IVCOMP = RADN13(3) 09610021 ! 965: IVCORR = 587 09620021 ! 966: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 09630021 ! 967: 6031 CONTINUE 09640021 ! 968: IVTNUM = 603 09650021 ! 969: C 09660021 ! 970: C **** TEST 603 **** 09670021 ! 971: C TEST 603 - LIKE TEST 600. REAL DECIMAL CONSTANT VALUE 90. 09680021 ! 972: C 09690021 ! 973: C 09700021 ! 974: IF (ICZERO) 36030, 6030, 36030 09710021 ! 975: 6030 CONTINUE 09720021 ! 976: GO TO 46030 09730021 ! 977: 36030 IVDELE = IVDELE + 1 09740021 ! 978: WRITE (I02,80003) IVTNUM 09750021 ! 979: IF (ICZERO) 46030, 6041, 46030 09760021 ! 980: 46030 IF ( RADN13(4) - 90. ) 26030, 16030, 26030 09770021 ! 981: 16030 IVPASS = IVPASS + 1 09780021 ! 982: WRITE (I02,80001) IVTNUM 09790021 ! 983: GO TO 6041 09800021 ! 984: 26030 IVFAIL = IVFAIL + 1 09810021 ! 985: IVCOMP = RADN13(4) 09820021 ! 986: IVCORR = 90 09830021 ! 987: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 09840021 ! 988: 6041 CONTINUE 09850021 ! 989: C 09860021 ! 990: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 09870021 ! 991: 99999 CONTINUE 09880021 ! 992: WRITE (I02,90002) 09890021 ! 993: WRITE (I02,90006) 09900021 ! 994: WRITE (I02,90002) 09910021 ! 995: WRITE (I02,90002) 09920021 ! 996: WRITE (I02,90007) 09930021 ! 997: WRITE (I02,90002) 09940021 ! 998: WRITE (I02,90008) IVFAIL 09950021 ! 999: WRITE (I02,90009) IVPASS 09960021 ! 1000: WRITE (I02,90010) IVDELE 09970021 ! 1001: C 09980021 ! 1002: C 09990021 ! 1003: C TERMINATE ROUTINE EXECUTION 10000021 ! 1004: STOP 10010021 ! 1005: C 10020021 ! 1006: C FORMAT STATEMENTS FOR PAGE HEADERS 10030021 ! 1007: 90000 FORMAT (1H1) 10040021 ! 1008: 90002 FORMAT (1H ) 10050021 ! 1009: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 10060021 ! 1010: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 10070021 ! 1011: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 10080021 ! 1012: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 10090021 ! 1013: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 10100021 ! 1014: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 10110021 ! 1015: C 10120021 ! 1016: C FORMAT STATEMENTS FOR RUN SUMMARIES 10130021 ! 1017: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 10140021 ! 1018: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 10150021 ! 1019: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 10160021 ! 1020: C 10170021 ! 1021: C FORMAT STATEMENTS FOR TEST RESULTS 10180021 ! 1022: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 10190021 ! 1023: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 10200021 ! 1024: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 10210021 ! 1025: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 10220021 ! 1026: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 10230021 ! 1027: C 10240021 ! 1028: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM021) 10250021 ! 1029: END 10260021
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.