|
|
1.1 ! root 1: C COMMENT SECTION 00010109 ! 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 00020109 ! 6: C FM109 00030109 ! 7: C 00040109 ! 8: C THIS ROUTINE TESTS THE BASIC OPTIONS REGARDING THE SIMPLE 00050109 ! 9: C FORMATTED WRITE STATEMENT OF FORM 00060109 ! 10: C WRITE (U,F) OR 00070109 ! 11: C WRITE (U,F) L 00080109 ! 12: C WHERE U IS A LOGICAL UNIT NUMBER 00090109 ! 13: C F IS A FORMAT STATEMENT LABEL, AND 00100109 ! 14: C L IS A LIST OF INTEGER VARIABLES. 00110109 ! 15: C THE FORMAT STATEMENT F CONTAINS NH HOLLERITH FIELD DESCRIPTORS, 00120109 ! 16: C NX BLANK FIELD DESCRIPTORS AND IW NUMERIC FIELD DESCRIPTORS. 00130109 ! 17: C 00140109 ! 18: C THIS ROUTINE TESTS WHETHER THE FIRST CHARACTER OF A FORMAT 00150109 ! 19: C RECORD FOR PRINTER OUTPUT DETERMINES VERTICAL SPACING AS FOLLOWS 00160109 ! 20: C 1 - ADVANCE TO FIRST LINE OF NEXT PAGE 00170109 ! 21: C BLANK - ONE LINE 00180109 ! 22: C 0 - ADVANCE TWO LINES BEFORE PRINTING 00190109 ! 23: C + - DO NOT ADVANCE BEFORE PRINTING - ADVANCE 0 00200109 ! 24: C 00210109 ! 25: C REFERENCES 00220109 ! 26: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00230109 ! 27: C X3.9-1978 00240109 ! 28: C 00250109 ! 29: C SECTION 8, SPECIFICATION STATEMENTS 00260109 ! 30: C SECTION 9, DATA STATEMENT 00270109 ! 31: C SECTION 11.10, DO STATEMENT 00280109 ! 32: C SECTION 12, INPUT/OUTPUT STATEMENTS 00290109 ! 33: C SECTION 12.8.2, INPUT/OUTPUT LIST 00300109 ! 34: C SECTION 12.9.5.2, FORMATTED DATA TRANSFER 00310109 ! 35: C SECTION 13, FORMAT STATEMENT 00320109 ! 36: C SECTION 13.2.1, EDIT DESCRIPTORS 00330109 ! 37: C 00340109 ! 38: C ALL OF THE RESULTS OF THIS ROUTINE MUST BE VISUALLY CHECKED 00350109 ! 39: C ON THE OUTPUT REPORT. THE USUAL TEST CODE FOR PASS, FAIL, OR 00360109 ! 40: C DELETE DOES NOT APPLY TO THIS ROUTINE. IF ANY TEST IS TO BE 00370109 ! 41: C DELETED, CHANGE THE OFFENDING WRITE OR FORMAT STATEMENT TO A 00380109 ! 42: C COMMENT. THE PERSON RESPONSIBLE FOR CHECKING THE OUTPUT MUST ALSO00390109 ! 43: C CHECK THE COMPILER LISTING TO SEE IF ANY STATEMENTS HAVE BEEN 00400109 ! 44: C CHANGED TO COMMENTS. 00410109 ! 45: C 00420109 ! 46: C 00430109 ! 47: C ********************************************************** 00440109 ! 48: C 00450109 ! 49: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00460109 ! 50: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00470109 ! 51: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00480109 ! 52: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00490109 ! 53: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00500109 ! 54: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00510109 ! 55: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00520109 ! 56: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00530109 ! 57: C OF EXECUTING THESE TESTS. 00540109 ! 58: C 00550109 ! 59: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00560109 ! 60: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00570109 ! 61: C 00580109 ! 62: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00590109 ! 63: C 00600109 ! 64: C DEPARTMENT OF THE NAVY 00610109 ! 65: C FEDERAL COBOL COMPILER TESTING SERVICE 00620109 ! 66: C WASHINGTON, D.C. 20376 00630109 ! 67: C 00640109 ! 68: C ********************************************************** 00650109 ! 69: C 00660109 ! 70: C 00670109 ! 71: C 00680109 ! 72: C INITIALIZATION SECTION 00690109 ! 73: C 00700109 ! 74: C INITIALIZE CONSTANTS 00710109 ! 75: C ************** 00720109 ! 76: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00730109 ! 77: I01 = 5 00740109 ! 78: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00750109 ! 79: I02 = 6 00760109 ! 80: C SYSTEM ENVIRONMENT SECTION 00770109 ! 81: C 00780109 ! 82: I01 = 5 00790109 ! 83: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00800109 ! 84: C (UNIT NUMBER FOR CARD READER). 00810109 ! 85: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00820109 ! 86: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00830109 ! 87: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00840109 ! 88: C 00850109 ! 89: I02 = 6 00860109 ! 90: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00870109 ! 91: C (UNIT NUMBER FOR PRINTER). 00880109 ! 92: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00890109 ! 93: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00900109 ! 94: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00910109 ! 95: C 00920109 ! 96: IVPASS=0 00930109 ! 97: IVFAIL=0 00940109 ! 98: IVDELE=0 00950109 ! 99: ICZERO=0 00960109 ! 100: C 00970109 ! 101: C WRITE PAGE HEADERS 00980109 ! 102: WRITE (I02,90000) 00990109 ! 103: WRITE (I02,90001) 01000109 ! 104: WRITE (I02,90002) 01010109 ! 105: WRITE (I02, 90002) 01020109 ! 106: WRITE (I02,90003) 01030109 ! 107: WRITE (I02,90002) 01040109 ! 108: WRITE (I02,90004) 01050109 ! 109: WRITE (I02,90002) 01060109 ! 110: WRITE (I02,90011) 01070109 ! 111: WRITE (I02,90002) 01080109 ! 112: WRITE (I02,90002) 01090109 ! 113: WRITE (I02,90006) 01100109 ! 114: WRITE (I02,90002) 01110109 ! 115: C 01120109 ! 116: IVTNUM = 156 01130109 ! 117: C **** TEST 156 **** 01140109 ! 118: C TEST 156 - VERTICAL SPACING TEST 01150109 ! 119: C 1 IN FIRST CHARACTER OF FORMATTED PRINT RECORD MEANS 01160109 ! 120: C RECORD IS FIRST LINE AT TOP OF NEXT PAGE. 01170109 ! 121: C 01180109 ! 122: IF (ICZERO) 31560, 1560, 31560 01190109 ! 123: 1560 CONTINUE 01200109 ! 124: WRITE (I02,80001) IVTNUM 01210109 ! 125: WRITE (I02,80331) 01220109 ! 126: 80331 FORMAT (5X,22HLAST LINE ON THIS PAGE) 01230109 ! 127: WRITE (I02,80330) 01240109 ! 128: 80330 FORMAT (1H1,31H THIS IS FIRST LINE ON PAGE) 01250109 ! 129: GO TO 1571 01260109 ! 130: 31560 IVDELE = IVDELE + 1 01270109 ! 131: WRITE (I02,80003) IVTNUM 01280109 ! 132: 1571 CONTINUE 01290109 ! 133: IVTNUM = 157 01300109 ! 134: C 01310109 ! 135: C **** TEST 157 **** 01320109 ! 136: C TEST 157 - VERTICAL SPACING TEST 01330109 ! 137: C PRINT BLANK LINES 01340109 ! 138: C 01350109 ! 139: C 01360109 ! 140: IF (ICZERO) 31570, 1570, 31570 01370109 ! 141: 1570 CONTINUE 01380109 ! 142: WRITE (I02,90002) 01390109 ! 143: WRITE (I02,80001) IVTNUM 01400109 ! 144: WRITE (I02,80340) 01410109 ! 145: 80340 FORMAT (1H , 10X) 01420109 ! 146: WRITE (I02,80341) 01430109 ! 147: 80341 FORMAT (41H THERE IS ONE BLANK LINE BEFORE THIS LINE) 01440109 ! 148: WRITE (I02,80342) 01450109 ! 149: WRITE (I02,80342) 01460109 ! 150: 80342 FORMAT (11H ) 01470109 ! 151: WRITE (I02,80343) 01480109 ! 152: 80343 FORMAT (43H THERE ARE TWO BLANK LINES BEFORE THIS LINE) 01490109 ! 153: WRITE (I02,80344) 01500109 ! 154: WRITE (I02,80344) 01510109 ! 155: WRITE (I02,80344) 01520109 ! 156: 80344 FORMAT (11X) 01530109 ! 157: WRITE (I02,80345) 01540109 ! 158: 80345 FORMAT (45H THERE ARE THREE BLANK LINES BEFORE THIS LINE) 01550109 ! 159: GO TO 1581 01560109 ! 160: 31570 IVDELE = IVDELE + 1 01570109 ! 161: WRITE (I02,80003) IVTNUM 01580109 ! 162: 1581 CONTINUE 01590109 ! 163: IVTNUM = 158 01600109 ! 164: C 01610109 ! 165: C **** TEST 158 **** 01620109 ! 166: C TEST 158 - PRINT 54 CHARACTERS 01630109 ! 167: C 01640109 ! 168: C 01650109 ! 169: IF (ICZERO) 31580, 1580, 31580 01660109 ! 170: 1580 CONTINUE 01670109 ! 171: WRITE (I02,90002) 01680109 ! 172: WRITE (I02,80001)IVTNUM 01690109 ! 173: WRITE (I02,80351) 01700109 ! 174: 80351 FORMAT (33H NEXT LINE CONTAINS 54 CHARACTERS) 01710109 ! 175: WRITE (I02,80350) 01720109 ! 176: 80350 FORMAT(55H 123456789012345678901234567890123456789012345678901234)01730109 ! 177: GO TO 1591 01740109 ! 178: 31580 IVDELE = IVDELE + 1 01750109 ! 179: WRITE (I02,80003) IVTNUM 01760109 ! 180: 1591 CONTINUE 01770109 ! 181: IVTNUM = 159 01780109 ! 182: C 01790109 ! 183: C **** TEST 159 **** 01800109 ! 184: C TEST 159 - NUMERIC FIELD DESCRIPTOR I1 01810109 ! 185: C 01820109 ! 186: IF (ICZERO) 31590, 1590, 31590 01830109 ! 187: 1590 CONTINUE 01840109 ! 188: WRITE (I02,90002) 01850109 ! 189: WRITE (I02,80001) IVTNUM 01860109 ! 190: WRITE (I02,80361) 01870109 ! 191: 80361 FORMAT (1H ,10X,38HTHIS TEST PRINTS 3 UNDER I1 DESCRIPTOR) 01880109 ! 192: IVON01 = 3 01890109 ! 193: WRITE (I02,80360) IVON01 01900109 ! 194: 80360 FORMAT (1H ,10X,I1) 01910109 ! 195: GO TO 1601 01920109 ! 196: 31590 IVDELE = IVDELE + 1 01930109 ! 197: WRITE (I02,80003) IVTNUM 01940109 ! 198: 1601 CONTINUE 01950109 ! 199: IVTNUM = 160 01960109 ! 200: C 01970109 ! 201: C **** TEST 160 **** 01980109 ! 202: C TEST 160 - NUMERIC FIELD DESCRIPTOR I2 01990109 ! 203: C 02000109 ! 204: IF (ICZERO) 31600, 1600, 31600 02010109 ! 205: 1600 CONTINUE 02020109 ! 206: WRITE (I02,90002) 02030109 ! 207: WRITE (I02,80001) IVTNUM 02040109 ! 208: WRITE (I02,80371) 02050109 ! 209: 80371 FORMAT (11X,39HTHIS TEST PRINTS 15 UNDER I2 DESCRIPTOR) 02060109 ! 210: IVON01 = 15 02070109 ! 211: WRITE (I02,80370) IVON01 02080109 ! 212: 80370 FORMAT (1H ,10X,I2) 02090109 ! 213: GO TO 1611 02100109 ! 214: 31600 IVDELE = IVDELE + 1 02110109 ! 215: WRITE (I02,80003) IVTNUM 02120109 ! 216: 1611 CONTINUE 02130109 ! 217: IVTNUM = 161 02140109 ! 218: C 02150109 ! 219: C **** TEST 161 **** 02160109 ! 220: C TEST 161 - NUMERIC FIELD DESCRIPTOR I3 02170109 ! 221: C 02180109 ! 222: IF (ICZERO) 31610, 1610, 31610 02190109 ! 223: 1610 CONTINUE 02200109 ! 224: WRITE (I02,90002) 02210109 ! 225: WRITE (I02,80001) IVTNUM 02220109 ! 226: WRITE (I02,80381) 02230109 ! 227: 80381 FORMAT (11X,40HTHIS TEST PRINTS 291 UNDER I3 DESCRIPTOR) 02240109 ! 228: IVON01 = 291 02250109 ! 229: WRITE (I02,80380) IVON01 02260109 ! 230: 80380 FORMAT (11X,I3) 02270109 ! 231: GO TO 1621 02280109 ! 232: 31610 IVDELE = IVDELE + 1 02290109 ! 233: WRITE (I02,80003) IVTNUM 02300109 ! 234: 1621 CONTINUE 02310109 ! 235: IVTNUM = 162 02320109 ! 236: C 02330109 ! 237: C **** TEST 162 **** 02340109 ! 238: C TEST 162 - NUMERIC FIELD DESCRIPTOR I4 02350109 ! 239: C 02360109 ! 240: IF (ICZERO) 31620, 1620, 31620 02370109 ! 241: 1620 CONTINUE 02380109 ! 242: WRITE (I02,90002) 02390109 ! 243: WRITE (I02,80001) IVTNUM 02400109 ! 244: WRITE (I02,80391) 02410109 ! 245: 80391 FORMAT (11X,41HTHIS TEST PRINTS 4321 UNDER I4 DESCRIPTOR) 02420109 ! 246: IVON01 = 4321 02430109 ! 247: WRITE (I02,80390) IVON01 02440109 ! 248: 80390 FORMAT (11X,I4) 02450109 ! 249: GO TO 1631 02460109 ! 250: 31620 IVDELE = IVDELE + 1 02470109 ! 251: WRITE (I02,80003) IVTNUM 02480109 ! 252: 1631 CONTINUE 02490109 ! 253: IVTNUM = 163 02500109 ! 254: C 02510109 ! 255: C **** TEST 163 **** 02520109 ! 256: C TEST 163 - NUMERIC FIELD DESCRIPTOR I5 02530109 ! 257: C 02540109 ! 258: IF (ICZERO) 31630, 1630, 31630 02550109 ! 259: 1630 CONTINUE 02560109 ! 260: WRITE (I02,90002) 02570109 ! 261: WRITE (I02,80001) IVTNUM 02580109 ! 262: WRITE (I02,80401) 02590109 ! 263: 80401 FORMAT (1H ,10X,42HTHIS TEST PRINTS 12345 UNDER I5 DESCRIPTOR) 02600109 ! 264: IVON01 = 12345 02610109 ! 265: WRITE (I02,80400) IVON01 02620109 ! 266: 80400 FORMAT (1H ,10X,I5) 02630109 ! 267: GO TO 1641 02640109 ! 268: 31630 IVDELE = IVDELE + 1 02650109 ! 269: WRITE (I02,80003) IVTNUM 02660109 ! 270: 1641 CONTINUE 02670109 ! 271: IVTNUM = 164 02680109 ! 272: C 02690109 ! 273: C **** TEST 164 **** 02700109 ! 274: C TEST 164 - NUMERIC FIELD DESCRIPTORS, INTEGER CONVERSION 02710109 ! 275: C 02720109 ! 276: IF (ICZERO) 31640, 1640, 31640 02730109 ! 277: 1640 CONTINUE 02740109 ! 278: IVON01 = 1 02750109 ! 279: IVON02 = 22 02760109 ! 280: IVON03 = 333 02770109 ! 281: IVON04 = 4444 02780109 ! 282: IVON05 = 25555 02790109 ! 283: WRITE (I02,90002) 02800109 ! 284: WRITE (I02,80001) IVTNUM 02810109 ! 285: WRITE (I02,80411) 02820109 ! 286: 80411 FORMAT (3X,50HTHIS TEST PRINTS 1, 22, 333, 4444, AND 25555 UNDER) 02830109 ! 287: WRITE (I02,80412) 02840109 ! 288: 80412 FORMAT (10X,32H(10X,I1,3X,I2,3X,I3,3X,I4,3X,I5)) 02850109 ! 289: WRITE (I02,80410) IVON01, IVON02, IVON03, IVON04, IVON05 02860109 ! 290: 80410 FORMAT (10X,I1,3X,I2,3X,I3,3X,I4,3X,I5) 02870109 ! 291: GO TO 1651 02880109 ! 292: 31640 IVDELE = IVDELE + 1 02890109 ! 293: WRITE (I02,80003) IVTNUM 02900109 ! 294: 1651 CONTINUE 02910109 ! 295: IVTNUM = 165 02920109 ! 296: C 02930109 ! 297: C **** TEST 165 **** 02940109 ! 298: C TEST 165 - HOLLERITH, NUMERIC AND X FIELD DESCRIPTORS 02950109 ! 299: C COMBINE HOLLERITH, NUMERIC AND X FIELD DESCRIPTORS IN 02960109 ! 300: C ONE FORMAT STATEMENT 02970109 ! 301: C 02980109 ! 302: IF (ICZERO) 31650, 1650, 31650 02990109 ! 303: 1650 CONTINUE 03000109 ! 304: IVON01=113 03010109 ! 305: IVON02=8 03020109 ! 306: WRITE (I02,90002) 03030109 ! 307: WRITE (I02,80001) IVTNUM 03040109 ! 308: WRITE (I02,80421) 03050109 ! 309: 80421 FORMAT (10X,28HNEXT TWO LINES ARE IDENTICAL) 03060109 ! 310: WRITE (I02,80422) 03070109 ! 311: 80422 FORMAT (35H IVON01 = 113 IVON02 = 8) 03080109 ! 312: WRITE (I02,80420) IVON01, IVON02 03090109 ! 313: 80420 FORMAT (6X,8HIVON01 =,I5,3X,8HIVON02 =,I5) 03100109 ! 314: GO TO 1661 03110109 ! 315: 31650 IVDELE = IVDELE + 1 03120109 ! 316: WRITE (I02,80003) IVTNUM 03130109 ! 317: 1661 CONTINUE 03140109 ! 318: IVTNUM = 166 03150109 ! 319: C 03160109 ! 320: C **** TEST 166 **** 03170109 ! 321: C TEST 166 - NUMERIC FIELD DESCRIPTOR I2 03180109 ! 322: C PRINT NEGATIVE INTEGER 03190109 ! 323: C 03200109 ! 324: IF (ICZERO) 31660, 1660, 31660 03210109 ! 325: 1660 CONTINUE 03220109 ! 326: IVON01 = -1 03230109 ! 327: WRITE (I02,90002) 03240109 ! 328: WRITE (I02,80001) IVTNUM 03250109 ! 329: WRITE (I02,80431) 03260109 ! 330: 80431 FORMAT (11X,39HTHIS TEST PRINTS -1 UNDER I2 DESCRIPTOR) 03270109 ! 331: WRITE (I02,80430) IVON01 03280109 ! 332: 80430 FORMAT (11X,I2) 03290109 ! 333: GO TO 1671 03300109 ! 334: 31660 IVDELE = IVDELE + 1 03310109 ! 335: WRITE (I02,80003) IVTNUM 03320109 ! 336: 1671 CONTINUE 03330109 ! 337: IVTNUM = 167 03340109 ! 338: C 03350109 ! 339: C **** TEST 167 **** 03360109 ! 340: C TEST 167 - NUMERIC FIELD DESCRIPTOR I3 03370109 ! 341: C PRINT NEGATIVE INTEGER 03380109 ! 342: C 03390109 ! 343: IF (ICZERO) 31670, 1670, 31670 03400109 ! 344: 1670 CONTINUE 03410109 ! 345: IVON01 = -22 03420109 ! 346: WRITE (I02,90002) 03430109 ! 347: WRITE (I02,80001) IVTNUM 03440109 ! 348: WRITE (I02,80441) 03450109 ! 349: 80441 FORMAT (11X,40HTHIS TEST PRINTS -22 UNDER I3 DESCRIPTOR) 03460109 ! 350: WRITE (I02,80440) IVON01 03470109 ! 351: 80440 FORMAT (11X,I3) 03480109 ! 352: GO TO 1681 03490109 ! 353: 31670 IVDELE = IVDELE + 1 03500109 ! 354: WRITE (I02,80003) IVTNUM 03510109 ! 355: 1681 CONTINUE 03520109 ! 356: IVTNUM = 168 03530109 ! 357: C 03540109 ! 358: C **** TEST 168 **** 03550109 ! 359: C TEST 168 - NUMERIC FIELD DESCRIPTOR I4 03560109 ! 360: C PRINT NEGATIVE INTEGER 03570109 ! 361: C 03580109 ! 362: IF (ICZERO) 31680, 1680, 31680 03590109 ! 363: 1680 CONTINUE 03600109 ! 364: IVON01 = -333 03610109 ! 365: WRITE (I02,90002) 03620109 ! 366: WRITE (I02,80001) IVTNUM 03630109 ! 367: WRITE (I02,80451) 03640109 ! 368: 80451 FORMAT (11X,41HTHIS TEST PRINTS -333 UNDER I4 DESCRIPTOR) 03650109 ! 369: WRITE (I02,80450) IVON01 03660109 ! 370: 80450 FORMAT (11X,I4) 03670109 ! 371: GO TO 1691 03680109 ! 372: 31680 IVDELE = IVDELE + 1 03690109 ! 373: WRITE (I02,80003) IVTNUM 03700109 ! 374: 1691 CONTINUE 03710109 ! 375: IVTNUM = 169 03720109 ! 376: C 03730109 ! 377: C **** TEST 169 **** 03740109 ! 378: C TEST 169 - NUMERIC FIELD DESCRIPTOR I5 03750109 ! 379: C PRINT NEGATIVE INTEGER 03760109 ! 380: C 03770109 ! 381: IF (ICZERO) 31690, 1690, 31690 03780109 ! 382: 1690 CONTINUE 03790109 ! 383: IVON01 = -4444 03800109 ! 384: WRITE (I02,90002) 03810109 ! 385: WRITE (I02,80001) IVTNUM 03820109 ! 386: WRITE (I02,80461) 03830109 ! 387: 80461 FORMAT (11X,42HTHIS TEST PRINTS -4444 UNDER I5 DESCRIPTOR) 03840109 ! 388: WRITE (I02,80460) IVON01 03850109 ! 389: 80460 FORMAT (11X,I5) 03860109 ! 390: GO TO 1701 03870109 ! 391: 31690 IVDELE = IVDELE + 1 03880109 ! 392: WRITE (I02,80003) IVTNUM 03890109 ! 393: 1701 CONTINUE 03900109 ! 394: IVTNUM = 170 03910109 ! 395: C 03920109 ! 396: C **** TEST 170 **** 03930109 ! 397: C TEST 170 - NUMERIC FIELD DESCRIPTOR I6 03940109 ! 398: C PRINT NEGATIVE INTEGER 03950109 ! 399: C 03960109 ! 400: IF (ICZERO) 31700, 1700, 31700 03970109 ! 401: 1700 CONTINUE 03980109 ! 402: IVON01 = -15555 03990109 ! 403: WRITE (I02,90002) 04000109 ! 404: WRITE (I02,80001) IVTNUM 04010109 ! 405: WRITE (I02,80471) 04020109 ! 406: 80471 FORMAT (11X,43HTHIS TEST PRINTS -15555 UNDER DESCRIPTOR I6) 04030109 ! 407: WRITE (I02,80470) IVON01 04040109 ! 408: 80470 FORMAT (11X,I6) 04050109 ! 409: GO TO 1711 04060109 ! 410: 31700 IVDELE = IVDELE + 1 04070109 ! 411: WRITE (I02,80003) IVTNUM 04080109 ! 412: 1711 CONTINUE 04090109 ! 413: IVTNUM = 171 04100109 ! 414: C 04110109 ! 415: C **** TEST 171 **** 04120109 ! 416: C TEST 171 - NUMERIC FIELD DESCRIPTORS, INTEGER CONVERSION 04130109 ! 417: C PRINT NEGATIVE INTEGERS 04140109 ! 418: C 04150109 ! 419: IF (ICZERO) 31710, 1710, 31710 04160109 ! 420: 1710 CONTINUE 04170109 ! 421: IVON01 = -9 04180109 ! 422: IVON02 = -88 04190109 ! 423: IVON03 = -777 04200109 ! 424: IVON04 = -6666 04210109 ! 425: IVON05 = -25555 04220109 ! 426: WRITE (I02,90002) 04230109 ! 427: WRITE (I02,80001) IVTNUM 04240109 ! 428: WRITE (I02,80481) 04250109 ! 429: 80481 FORMAT (8X,49HTHIS TEST PRINTS -9, -88, -777, -6666, AND -25555) 04260109 ! 430: WRITE (I02,80482) 04270109 ! 431: 80482 FORMAT (11X,43HUNDER FORMAT 10X,I2,3X,I3,3X,I4,3X,I5,3X,I6) 04280109 ! 432: WRITE (I02,80480) IVON01,IVON02,IVON03,IVON04,IVON05 04290109 ! 433: 80480 FORMAT (10X,I2,3X,I3,3X,I4,3X,I5,3X,I6) 04300109 ! 434: GO TO 1721 04310109 ! 435: 31710 IVDELE = IVDELE + 1 04320109 ! 436: WRITE (I02,80003) IVTNUM 04330109 ! 437: 1721 CONTINUE 04340109 ! 438: IVTNUM = 172 04350109 ! 439: C 04360109 ! 440: C **** TEST 172 **** 04370109 ! 441: C TEST 172 - NUMERIC FIELD DESCRIPTOR I5 04380109 ! 442: C MIX POSITIVE AND NEGATIVE INTEGER OUTPUT IN ONE FORMAT 04390109 ! 443: C STATEMENT ALL UNDER I5 DESCRIPTOR 04400109 ! 444: C 04410109 ! 445: IF (ICZERO) 31720, 1720, 31720 04420109 ! 446: 1720 CONTINUE 04430109 ! 447: IVON01 =5 04440109 ! 448: IVON02 = -54 04450109 ! 449: IVON03 = 543 04460109 ! 450: IVON04 = -5432 04470109 ! 451: IVON05=32000 04480109 ! 452: WRITE (I02,90002) 04490109 ! 453: WRITE (I02,80001) IVTNUM 04500109 ! 454: WRITE (I02,80491) 04510109 ! 455: 80491 FORMAT (18X,46HTHIS TEST PRINTS 5, -54, 543, -5432, AND 32000) 04520109 ! 456: WRITE (I02,80492) 04530109 ! 457: 80492 FORMAT (11X,33HUNDER I5 NUMERIC FIELD DESCRIPTOR) 04540109 ! 458: WRITE (I02,80490) IVON01,IVON02,IVON03,IVON04,IVON05 04550109 ! 459: 80490 FORMAT (11X,I5,3X,I5,3X,I5,3X,I5,3X,I5) 04560109 ! 460: GO TO 1731 04570109 ! 461: 31720 IVDELE = IVDELE + 1 04580109 ! 462: WRITE (I02,80003) IVTNUM 04590109 ! 463: 1731 CONTINUE 04600109 ! 464: IVTNUM = 173 04610109 ! 465: C 04620109 ! 466: C **** TEST 173 **** 04630109 ! 467: C TEST 173 - VERTICAL SPACING TEST USING THE 1H0 AS A DOUBLE 04640109 ! 468: C SPACE BEFORE PRINT ( ADVANCE TWO LINES BEFORE WRITING ). THE 0 04650109 ! 469: C AS A CARRIAGE CONTROL CHARACTER IS USED WITH THE BLANK CHARACTER 04660109 ! 470: C TO GET AN ODD NUMBER OF LINES TO ADVANCE BEFORE WRITING. 04670109 ! 471: C 04680109 ! 472: IF (ICZERO) 31730, 1730, 31730 04690109 ! 473: 1730 CONTINUE 04700109 ! 474: WRITE (I02,90002) 04710109 ! 475: WRITE (I02,80001) IVTNUM 04720109 ! 476: WRITE (I02,81730) 04730109 ! 477: 81730 FORMAT (1H , 10X) 04740109 ! 478: WRITE (I02,81731) 04750109 ! 479: 81731 FORMAT (41H THERE IS ONE BLANK LINE BEFORE THIS LINE) 04760109 ! 480: WRITE ( I02, 81732 ) 04770109 ! 481: 81732 FORMAT ( 1H0,10X) 04780109 ! 482: WRITE ( I02, 81733 ) 04790109 ! 483: 81733 FORMAT (43H THERE ARE TWO BLANK LINES BEFORE THIS LINE) 04800109 ! 484: WRITE ( I02, 81730 ) 04810109 ! 485: WRITE ( I02, 81732 ) 04820109 ! 486: WRITE ( I02, 81735 ) 04830109 ! 487: 81735 FORMAT (45H THERE ARE THREE BLANK LINES BEFORE THIS LINE) 04840109 ! 488: WRITE ( I02, 81732 ) 04850109 ! 489: WRITE ( I02, 81732 ) 04860109 ! 490: WRITE ( I02, 81736 ) 04870109 ! 491: 81736 FORMAT (45H THERE ARE FOUR BLANK LINES BEFORE THIS LINE) 04880109 ! 492: GO TO 1741 04890109 ! 493: 31730 IVDELE = IVDELE + 1 04900109 ! 494: WRITE (I02,80003) IVTNUM 04910109 ! 495: 1741 CONTINUE 04920109 ! 496: IVTNUM = 174 04930109 ! 497: C 04940109 ! 498: C **** TEST 174 **** 04950109 ! 499: C TEST 174 - VERTICAL SPACING TEST USING THE + CHARACTER TO 04960109 ! 500: C SUPPRESS ADVANCING BEFORE THE PRINT AND THIS SHOULD CAUSE TWO AND 04970109 ! 501: C THEN THREE SUCCESSIVE LINES TO OVERPRINT 04980109 ! 502: C 04990109 ! 503: IF (ICZERO) 31740, 1740, 31740 05000109 ! 504: 1740 CONTINUE 05010109 ! 505: WRITE ( I02, 90002 ) 05020109 ! 506: WRITE ( I02, 80001 ) IVTNUM 05030109 ! 507: WRITE ( I02, 81740 ) 05040109 ! 508: 81740 FORMAT ( 1H ) 05050109 ! 509: WRITE ( I02, 81741 ) 05060109 ! 510: 81741 FORMAT ( 1H ,10X, 19H1ST LINE - AABBCCDD) 05070109 ! 511: WRITE ( I02, 81742 ) 05080109 ! 512: 81742 FORMAT ( 1H+, 25X, 30HWWXXYYZZ OVERPRINTS - 2ND LINE) 05090109 ! 513: WRITE ( I02, 81743 ) 05100109 ! 514: 81743 FORMAT ( /////1H ) 05110109 ! 515: C SKIP DOWN A FEW LINES TO GET SET - OK AWAY WE GO.. 05120109 ! 516: WRITE ( I02, 81740 ) 05130109 ! 517: WRITE ( I02, 81744 ) 05140109 ! 518: 81744 FORMAT ( 1H , 10X, 29H11 44 1ST LINE) 05150109 ! 519: WRITE ( I02, 81745 ) 05160109 ! 520: 81745 FORMAT ( 1H+, 10X, 20H 22 55 2ND) 05170109 ! 521: WRITE ( I02, 81746 ) 05180109 ! 522: 81746 FORMAT ( 1H+, 10X, 24H 33 66 3RD) 05190109 ! 523: GO TO 1751 05200109 ! 524: 31740 IVDELE = IVDELE + 1 05210109 ! 525: WRITE (I02,80003) IVTNUM 05220109 ! 526: 1751 CONTINUE 05230109 ! 527: IVTNUM = 175 05240109 ! 528: C 05250109 ! 529: C **** TEST 175 **** 05260109 ! 530: C TEST 175 - NUMERIC FIELD DESCRIPTOR F3.0 05270109 ! 531: C 05280109 ! 532: IF (ICZERO) 31750, 1750, 31750 05290109 ! 533: 1750 CONTINUE 05300109 ! 534: WRITE ( I02, 90002 ) 05310109 ! 535: WRITE ( I02, 80001 ) IVTNUM 05320109 ! 536: WRITE ( I02, 81751 ) 05330109 ! 537: 81751 FORMAT (1H ,10X,42HTHIS TESTS PRINTS 3. UNDER F3.0 DESCRIPTOR) 05340109 ! 538: RVON01 = 3. 05350109 ! 539: WRITE ( I02, 81752 ) RVON01 05360109 ! 540: 81752 FORMAT ( 1H ,10X, F3.0 ) 05370109 ! 541: GO TO 1761 05380109 ! 542: 31750 IVDELE = IVDELE + 1 05390109 ! 543: WRITE (I02,80003) IVTNUM 05400109 ! 544: 1761 CONTINUE 05410109 ! 545: IVTNUM = 176 05420109 ! 546: C 05430109 ! 547: C **** TEST 176 **** 05440109 ! 548: C TEST 176 - SIGNED NUMERIC FIELD DESCRIPTOR F4.0 05450109 ! 549: C 05460109 ! 550: IF (ICZERO) 31760, 1760, 31760 05470109 ! 551: 1760 CONTINUE 05480109 ! 552: WRITE ( I02, 90002 ) 05490109 ! 553: WRITE ( I02, 80001 ) IVTNUM 05500109 ! 554: WRITE ( I02, 81761 ) 05510109 ! 555: 81761 FORMAT ( 1H ,10X,43HTHIS TEST PRINTS -15. WITH F4.0 DESCRIPTOR) 05520109 ! 556: RVON01 = -15. 05530109 ! 557: WRITE ( I02, 81762 ) RVON01 05540109 ! 558: 81762 FORMAT ( 1H ,10X, F4.0) 05550109 ! 559: GO TO 1771 05560109 ! 560: 31760 IVDELE = IVDELE + 1 05570109 ! 561: WRITE (I02,80003) IVTNUM 05580109 ! 562: 1771 CONTINUE 05590109 ! 563: IVTNUM = 177 05600109 ! 564: C 05610109 ! 565: C **** TEST 177 **** 05620109 ! 566: C TEST 177 - SIGNED NUMERIC FIELD DESCRIPTOR E12.5 05630109 ! 567: C 05640109 ! 568: IF (ICZERO) 31770, 1770, 31770 05650109 ! 569: 1770 CONTINUE 05660109 ! 570: WRITE ( I02, 90002 ) 05670109 ! 571: WRITE ( I02, 80001 ) IVTNUM 05680109 ! 572: WRITE ( I02, 81771 ) 05690109 ! 573: 81771 FORMAT ( 1H , 10X,41HTHIS TEST PRINTS -0.12345E+03 USING E12.5) 05700109 ! 574: RVON01 = -123.45 05710109 ! 575: WRITE ( I02, 81772 ) RVON01 05720109 ! 576: 81772 FORMAT ( 1H , 10X, E12.5 ) 05730109 ! 577: GO TO 1781 05740109 ! 578: 31770 IVDELE = IVDELE + 1 05750109 ! 579: WRITE (I02,80003) IVTNUM 05760109 ! 580: 1781 CONTINUE 05770109 ! 581: C 05780109 ! 582: C WRITE PAGE FOOTINGS 05790109 ! 583: 99999 CONTINUE 05800109 ! 584: WRITE (I02,90002) 05810109 ! 585: WRITE (I02,90006) 05820109 ! 586: WRITE (I02,90002) 05830109 ! 587: WRITE (I02,90007) 05840109 ! 588: C 05850109 ! 589: C TERMINATE ROUTINE EXECUTION 05860109 ! 590: STOP 05870109 ! 591: C 05880109 ! 592: C FORMAT STATEMENTS FOR PAGE HEADERS 05890109 ! 593: 90000 FORMAT (1H1) 05900109 ! 594: 90002 FORMAT (1H ) 05910109 ! 595: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 05920109 ! 596: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 05930109 ! 597: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 05940109 ! 598: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 05950109 ! 599: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 05960109 ! 600: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 05970109 ! 601: C FORMAT STATEMENTS FOR THIS ROUTINE 05980109 ! 602: 80001 FORMAT (10X,5HTEST ,I5) 05990109 ! 603: 80003 FORMAT ( 1H ,4X,I5,7X,7HDELETED) 06000109 ! 604: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM109) 06010109 ! 605: END 06020109
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.