Annotation of cci/usr/src/usr.bin/f77/testf77/tests/FM402.f, revision 1.1.1.1

1.1       root        1:       PROGRAM FM402                                                     00010402
                      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                                                                       00020402
                      6: C                                                                       00030402
                      7: C                                                                       00040402
                      8: C         THIS ROUTINE TESTS THE A(W) (W IS SIZE OF FIELD IN CHARACTERS)00050402
                      9: C     EDIT DESCRIPTOR OF THE FORMAT SPECIFICATION BOTH WITH AND WITHOUT 00060402
                     10: C     THE OPTIONAL W.  THE A  EDIT DESCRIPTOR IS USED WITH AN INPUT/    00070402
                     11: C     OUTPUT LIST ITEM OF TYPE CHARACTER.  IF A FIELD WIDTH W IS SPECI- 00080402
                     12: C     FIED WITH THE A EDIT DESCRIPTOR THE FIELD CONSISTS OF W CHARAC-   00090402
                     13: C     TERS.  IF A FIELD WIDTH W IS NOT SPECIFIED WITH THE A EDIT DES-   00100402
                     14: C     CRIPTOR, THE NUMBER OF CHARACTERS IN THE FIELD IS THE LENGTH OF   00110402
                     15: C     THE CHARACTER INPUT/OUTPUT LIST ITEM.  THIS ROUTINE FIRST         00120402
                     16: C     TESTS  FOR PROPER EDITING OF CHARACTER DATA ON OUTPUT BY DIRECTING00130402
                     17: C     THE EDITED RESULT  TO A PRINT FILE.    RESULTS OF THIS SET OF     00140402
                     18: C     TESTS MUST BE VISUALLY CHECKED FOR CORRECTNESS.  NEXT AN EXTERNAL 00150402
                     19: C     FILE CONNECTED FOR SEQUENTIAL ACCESS IS CREATED WITH CHARACTER    00160402
                     20: C     DATA.  FINALLY THE FILE IS REWOUND AND READ WITH THE A(W) EDIT    00170402
                     21: C     DESCRIPTOR AND CHECKED FOR PROPER EDITING ON INPUT.               00180402
                     22: C                                                                       00190402
                     23: C         THIS ROUTINE TESTS FOR PROPER EDITING BY                      00200402
                     24: C                                                                       00210402
                     25: C         (1) THE A EDIT DESCRIPTOR WITHOUT THE OPTIONAL W ON BOTH INPUT00220402
                     26: C             AND OUTPUT,                                               00230402
                     27: C                                                                       00240402
                     28: C         (2) THE AW EDIT DESCRIPTOR WHEN THE LENGTH OF THE INPUT/OUTPUT00250402
                     29: C             LIST ITEM IS LESS THAN THE WIDTH W,                       00260402
                     30: C                                                                       00270402
                     31: C         (3) THE AW EDIT DESCRIPTOR WHEN THE LENGTH OF THE INPUT/OUTPUT00280402
                     32: C             LIST ITEM IS BOTH EQUAL TO AND GREATER THAN THE WIDTH W,  00290402
                     33: C                                                                       00300402
                     34: C         (4) THE A EDIT DESCRIPTOR WHEN USED WITH THE OPTIONAL REPEAT  00310402
                     35: C             SPECIFICATION.                                            00320402
                     36: C                                                                       00330402
                     37: C     REFERENCES -                                                      00340402
                     38: C                                                                       00350402
                     39: C     AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN,          00360402
                     40: C     X3.9-1978                                                         00370402
                     41: C                                                                       00380402
                     42: C         SECTION 3.1,     FORTRAN CHARACTER SET                        00390402
                     43: C         SECTION 4.8,     CHARACTER TYPE                               00400402
                     44: C         SECTION 8.4.2,   CHARACTER TYPE-STATEMENT                     00410402
                     45: C         SECTION 10.4,    CHARACTER ASSIGNMENT  STATEMENT              00420402
                     46: C         SECTION 13.5.11, A EDITING                                    00430402
                     47: C                                                                       00440402
                     48: C                                                                       00450402
                     49: C                                                                       00460402
                     50: C                                                                       00470402
                     51: C     ******************************************************************00480402
                     52: C         A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE         00490402
                     53: C     BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN   00500402
                     54: C     X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY.  THE 00510402
                     55: C     FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT       00520402
                     56: C     ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM.  EACH AUDIT00530402
                     57: C     ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS   00540402
                     58: C     OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00550402
                     59: C     THE RESULT OF EXECUTING THESE TESTS.                              00560402
                     60: C                                                                       00570402
                     61: C     THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES      00580402
                     62: C     FOUND IN THE SUBSET LEVEL OF THE STANDARD.                        00590402
                     63: C                                                                       00600402
                     64: C           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO             00610402
                     65: C                    DEPARTMENT OF THE NAVY                             00620402
                     66: C                    FEDERAL COBOL COMPILER TESTING SERVICE             00630402
                     67: C                    WASHINGTON, D.C.   20376                           00640402
                     68: C                                                                       00650402
                     69: C     ******************************************************************00660402
                     70: C                                                                       00670402
                     71: C                                                                       00680402
                     72:       IMPLICIT LOGICAL (L)                                              00690402
                     73:       IMPLICIT CHARACTER*14 (C)                                         00700402
                     74: C                                                                       00710402
                     75:       DIMENSION IDUMP (80)                                              00720402
                     76:       DIMENSION  CATN11(46), CATN12(5), CATN31(2,3,2), CATN14(46)       00730402
                     77:       CHARACTER CATN11*1, CVTN11*1, CATN12*5,  CATN31*1                 00740402
                     78:       CHARACTER CVTN12*10, CVTN13*2, CATN14*1, CCTN15*50, CVTN15*50     00750402
                     79:       CHARACTER CVTN01*1                                                00760402
                     80:                                                                         00770402
                     81:       DATA CATN14 /46*' '/                                              00780402
                     82:       DATA CCTN15 /'ABCDEFG    HIJKLMN    OPQRSTUVWXYZ      0123456789'/00790402
                     83:       DATA CATN11 / '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',   00800402
                     84:      1'=', '+', '-','*', '/', '(', ')', ',', '.', '''','A', 'B', 'C',   00810402
                     85:      2'D', 'E', 'F','G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',   00820402
                     86:      3'Q', 'R', 'S','T', 'U', 'V', 'W', 'X', 'Y', 'Z'/                  00830402
                     87:       DATA CATN12 /'ABMYZ', '01589', '=+-()','A5+Z.' ,'1''A,4'/         00840402
                     88:                                                                         00850402
                     89: C                                                                       00860402
                     90: C                                                                       00870402
                     91: C                                                                       00880402
                     92: C     INITIALIZATION SECTION.                                           00890402
                     93: C                                                                       00900402
                     94: C     INITIALIZE CONSTANTS                                              00910402
                     95: C     ********************                                              00920402
                     96: C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER          00930402
                     97:       I01 = 5                                                           00940402
                     98: C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER              00950402
                     99:       I02 = 6                                                           00960402
                    100: C     SYSTEM ENVIRONMENT SECTION                                        00970402
                    101: C                                                                       00980402
                    102:       I01 = 5                                                           00990402
                    103: C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      01000402
                    104: C     (UNIT NUMBER FOR CARD READER).                                    01010402
                    105: CX011      THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD01020402
                    106: C     THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01030402
                    107: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE.         01040402
                    108: C                                                                       01050402
                    109:       I02 = 6                                                           01060402
                    110: C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6      01070402
                    111: C     (UNIT NUMBER FOR PRINTER).                                        01080402
                    112: CX021     THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.01090402
                    113: C     THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL            01100402
                    114: C     FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE.         01110402
                    115: C                                                                       01120402
                    116:       IVPASS = 0                                                        01130402
                    117:       IVFAIL = 0                                                        01140402
                    118:       IVDELE = 0                                                        01150402
                    119:       ICZERO = 0                                                        01160402
                    120: C                                                                       01170402
                    121: C     WRITE OUT PAGE HEADERS                                            01180402
                    122: C                                                                       01190402
                    123:       WRITE (I02,90002)                                                 01200402
                    124:       WRITE (I02,90006)                                                 01210402
                    125:       WRITE (I02,90008)                                                 01220402
                    126:       WRITE (I02,90004)                                                 01230402
                    127:       WRITE (I02,90010)                                                 01240402
                    128:       WRITE (I02,90004)                                                 01250402
                    129:       WRITE (I02,90016)                                                 01260402
                    130:       WRITE (I02,90001)                                                 01270402
                    131:       WRITE (I02,90004)                                                 01280402
                    132:       WRITE (I02,90012)                                                 01290402
                    133:       WRITE (I02,90014)                                                 01300402
                    134:       WRITE (I02,90004)                                                 01310402
                    135: C                                                                       01320402
                    136: C                                                                       01330402
                    137: C                                                                       01340402
                    138: C        TEST 001 THROUGH 014 TESTS THE   EDIT DESCRIPTOR FOR PROPER    01350402
                    139: C     EDITING OF CHARACTER DATA  ON OUTPUT.  TO VALIDATE THESE TESTS    01360402
                    140: C     THE EDITED DATA  IS SENT TO A PRINT FILE AND THEREFORE MUST BE    01370402
                    141: C     VISUALLY CHECKED FOR CORRECTNESS.  ON OUTPUT THE EDITED FIELD     01380402
                    142: C     SIZE IS AW WHERE W IS NUMBER OF POSITIONS IN THE FIELD OR         01390402
                    143: C     IS THE SIZE OF THE OUTPUT DATUM ITEM.  SEE SECTION 13.5.11 A      01400402
                    144: C     EDITING                                                           01410402
                    145: C                                                                       01420402
                    146: C                                                                       01430402
                    147: 80052 FORMAT (1H ,4X,48HTESTS 001 THROUGH 014 MUST BE VISUALLY VERIFIED.01440402
                    148:      1)                                                                 01450402
                    149: 80054 FORMAT (1H ,56HIMMEDIATELY FOLLOWING THIS NARRATIVE IS A REFERENCE01460402
                    150:      1 LINE)                                                            01470402
                    151: 80056 FORMAT (1H ,52HOF THE FORM '123456 ...'.   THE REFERENCE LINE IS T01480402
                    152:      1O)                                                                01490402
                    153: 80058 FORMAT (1H ,49HAID IN THE VISUAL VERIFICATION OF THE TESTS.  FOR) 01500402
                    154: 80062 FORMAT (1H ,50HTHE OUTPUT TO BE CORRECT THE DATA VALUES DISPLAYED 01510402
                    155:      1)                                                                 01520402
                    156: 80064 FORMAT (1H ,54HIN THE COMPUTED COLUMN MUST MATCH THAT IN THE CORRE01530402
                    157:      1CT )                                                              01540402
                    158: 80066 FORMAT (1H ,44HCOLUMN IN BOTH VALUE AND CHARACTER POSITION.)      01550402
                    159: 80072 FORMAT (1H ,26HREFERENCE LINE     -      ,10H1234567890,5X,10H123401560402
                    160:      1567890)                                                           01570402
                    161:       WRITE (I02,80052)                                                 01580402
                    162:       WRITE (I02,80054)                                                 01590402
                    163:       WRITE (I02,80056)                                                 01600402
                    164:       WRITE (I02,80058)                                                 01610402
                    165:       WRITE (I02,80062)                                                 01620402
                    166:       WRITE (I02,80064)                                                 01630402
                    167:       WRITE (I02,80066)                                                 01640402
                    168:       WRITE (I02,90004)                                                 01650402
                    169:       WRITE (I02,80072)                                                 01660402
                    170: C                                                                       01670402
                    171: C     ****  FCVS PROGRAM  402  -  TEST 001  ****                        01680402
                    172: C                                                                       01690402
                    173: C        TEST 001 TESTS FOR PROPER EDITING OF THE A EDIT DESCRIPTOR     01700402
                    174: C     ON OUTPUT WHERE THE FIELD IS 1 POSITION IN LENGTH, THE            01710402
                    175: C     VALUE OF THE DATUM IS LETTERS AND THE OUTPUT LIST ITEM IS A       01720402
                    176: C     VARIABLE.                                                         01730402
                    177: C                                                                       01740402
                    178:       IVTNUM = 001                                                      01750402
                    179:       IF (ICZERO) 30010, 0010, 30010                                    01760402
                    180:  0010 CONTINUE                                                          01770402
                    181:       CVTN01 = 'A'                                                      01780402
                    182:  0012 FORMAT (1H ,4X,I5,26X,A,14X,1HA)                                  01790402
                    183:       WRITE (I02, 0012) IVTNUM, CVTN01                                  01800402
                    184:       GO TO 0021                                                        01810402
                    185: 30010 IVDELE = IVDELE + 1                                               01820402
                    186:       WRITE (I02,80000) IVTNUM                                          01830402
                    187:  0021 CONTINUE                                                          01840402
                    188: C                                                                       01850402
                    189: C     ****  FCVS PROGRAM  402  -  TEST 002  ****                        01860402
                    190: C                                                                       01870402
                    191: C        TEST 002 IS SIMILAR TO TEST 001 EXCEPT THAT THE OUTPUT LIST    01880402
                    192: C     ITEM IS AN ARRAY ELEMENT.                                         01890402
                    193: C                                                                       01900402
                    194:       IVTNUM = 002                                                      01910402
                    195:       IF (ICZERO) 30020, 0020, 30020                                    01920402
                    196:  0020 CONTINUE                                                          01930402
                    197:       CATN31 (1,2,1) =  'Z'                                             01940402
                    198:  0022 FORMAT (1H ,4X,I5,26X,A,14X,1HZ)                                  01950402
                    199:       WRITE (I02, 0022) IVTNUM, CATN31 (1,2,1)                          01960402
                    200:       GO TO 0031                                                        01970402
                    201: 30020 IVDELE = IVDELE + 1                                               01980402
                    202:       WRITE (I02,80000) IVTNUM                                          01990402
                    203:  0031 CONTINUE                                                          02000402
                    204: C                                                                       02010402
                    205: C     ***  FCVS PROGRAM 402  -  TEST 003  ****                          02020402
                    206: C                                                                       02030402
                    207: C        TEST 003 VERIFIES THAT THE  A  EDIT DESCRIPTOR (WITHOUT THE    02040402
                    208: C     W OPTION) CAN PROPERLY EDIT SPECIAL CHARACTERS ON OUTPUT.  THE    02050402
                    209: C     SPECIAL CHARACTER / (SLASH) IS USED FOR THIS TEST AND IS STORED   02060402
                    210: C     IN AN OUTPUT LIST ITEM 1 POSITION IN LENGTH.                      02070402
                    211: C                                                                       02080402
                    212:       IVTNUM = 003                                                      02090402
                    213:       IF (ICZERO) 30030, 0030, 30030                                    02100402
                    214:  0030 CONTINUE                                                          02110402
                    215:       CVTN11 = '/'                                                      02120402
                    216:  0032 FORMAT (1H ,4X,I5,26X,A,14X,1H/)                                  02130402
                    217:       WRITE (I02, 0032) IVTNUM, CVTN11                                  02140402
                    218:       GO TO 0041                                                        02150402
                    219: 30030 IVDELE = IVDELE + 1                                               02160402
                    220:       WRITE (I02, 80000) IVTNUM                                         02170402
                    221:  0041 CONTINUE                                                          02180402
                    222: C                                                                       02190402
                    223: C     ***  FCVS PROGRAM 402  -  TEST 004  ***                           02200402
                    224: C                                                                       02210402
                    225: C        TEST 004 IS SIMILAR TO TEST 003 EXCEPT THAT THE DATA BEING     02220402
                    226: C     EDITED IS NUMERIC.                                                02230402
                    227: C                                                                       02240402
                    228:       IVTNUM = 004                                                      02250402
                    229:       IF (ICZERO) 30040, 0040, 30040                                    02260402
                    230:  0040 CONTINUE                                                          02270402
                    231:       CVTN11 = '9'                                                      02280402
                    232:  0042 FORMAT (1H ,4X,I5,26X,A,14X,1H9)                                  02290402
                    233:       WRITE (I02, 0042) IVTNUM, CVTN11                                  02300402
                    234:       GO TO 0051                                                        02310402
                    235: 30040 IVDELE = IVDELE  + 1                                              02320402
                    236:       WRITE (I02, 80000) IVTNUM                                         02330402
                    237:  0051 CONTINUE                                                          02340402
                    238: C                                                                       02350402
                    239: C     ***  FCVS PROGRAM 402  -  TEST 005  ***                           02360402
                    240: C                                                                       02370402
                    241: C        TEST 005 IS SIMILAR TO TEST 003 EXCEPT THAT IT USES THE SPECIAL02380402
                    242: C     CHARACTER QUOTE.                                                  02390402
                    243: C                                                                       02400402
                    244:       IVTNUM = 005                                                      02410402
                    245:       IF (ICZERO) 30050, 0050, 30050                                    02420402
                    246:  0050 CONTINUE                                                          02430402
                    247:       CVTN11 = ''''                                                     02440402
                    248:  0052 FORMAT (1H ,4X,I5,26X,A,14X,1H')                                  02450402
                    249:       WRITE (I02, 0052) IVTNUM, CVTN11                                  02460402
                    250:       GO TO 0061                                                        02470402
                    251: 30050 IVDELE = IVDELE + 1                                               02480402
                    252:       WRITE (I02, 80000) IVTNUM                                         02490402
                    253: C                                                                       02500402
                    254: C                                                                       02510402
                    255: C        TESTS 006 THROUGH TEST  011  TESTS THE A EDIT DESCRIPTOR       02520402
                    256: C     WITHOUT THE FIELD WIDTH SPECIFICATION (W OPTION) WHERE THE SIZE   02530402
                    257: C     OF THE OUTPUT DATA ITEM  IS 05 CHARACTERS IN LENGTH.              02540402
                    258: C                                                                       02550402
                    259: C                                                                       02560402
                    260:  0061 CONTINUE                                                          02570402
                    261: C                                                                       02580402
                    262: C     ****  FCVS PROGRAM 402  -  TEST 006  ****                         02590402
                    263: C                                                                       02600402
                    264: C        TEST 006 TESTS USE OF THE A EDIT DESCRIPTOR WITH LETTERS       02610402
                    265: C                                                                       02620402
                    266:       IVTNUM = 006                                                      02630402
                    267:       IF (ICZERO) 30060, 0060, 30060                                    02640402
                    268:  0060 CONTINUE                                                          02650402
                    269:       CATN12(1) = 'ABMYZ'                                               02660402
                    270:  0062 FORMAT(1H ,4X,I5,17X,5H     ,A,5X,10H     ABMYZ)                  02670402
                    271:       WRITE (I02, 0062) IVTNUM, CATN12(1)                               02680402
                    272:       GO TO 0071                                                        02690402
                    273: 30060 IVDELE = IVDELE + 1                                               02700402
                    274:       WRITE (I02, 80000) IVTNUM                                         02710402
                    275:  0071 CONTINUE                                                          02720402
                    276: C                                                                       02730402
                    277: C     ****  FCVS PROGRAM 402  -  TEST 007  ****                         02740402
                    278: C                                                                       02750402
                    279: C        TEST 007 TESTS USE OF THE A EDIT DESCRIPTOR WITH DIGITS        02760402
                    280: C                                                                       02770402
                    281:       IVTNUM = 007                                                      02780402
                    282:       IF (ICZERO) 30070, 0070, 30070                                    02790402
                    283:  0070 CONTINUE                                                          02800402
                    284:       CATN12(2) = '01589'                                               02810402
                    285:  0072 FORMAT(1H ,4X,I5,17X,5H     ,A,5X,10H     01589)                  02820402
                    286:       WRITE (I02, 0072) IVTNUM, CATN12(2)                               02830402
                    287:       GO TO 0081                                                        02840402
                    288: 30070 IVDELE = IVDELE + 1                                               02850402
                    289:       WRITE (I02, 80000) IVTNUM                                         02860402
                    290:  0081 CONTINUE                                                          02870402
                    291: C                                                                       02880402
                    292: C     ****  FCVS PROGRAM 402  -  TEST 008  ****                         02890402
                    293: C                                                                       02900402
                    294: C        TEST 008 TESTS USE OF THE  A  EDIT DESCRIPTOR WITH SPECIAL     02910402
                    295: C     CHARACTERS.                                                       02920402
                    296: C                                                                       02930402
                    297:       IVTNUM = 008                                                      02940402
                    298:       IF (ICZERO) 30080, 0080, 30080                                    02950402
                    299:  0080 CONTINUE                                                          02960402
                    300:       CATN12(3) = '=+-()'                                               02970402
                    301:  0082 FORMAT(1H ,4X,I5,17X,5H     ,A,5X,10H     =+-())                  02980402
                    302:       WRITE (I02, 0082) IVTNUM, CATN12(3)                               02990402
                    303:       GO TO 0091                                                        03000402
                    304: 30080 IVDELE = IVDELE + 1                                               03010402
                    305:       WRITE (I02, 80000) IVTNUM                                         03020402
                    306:  0091 CONTINUE                                                          03030402
                    307: C                                                                       03040402
                    308: C     ****  FCVS PROGRAM FM402  -  TEST 009  ****                       03050402
                    309: C                                                                       03060402
                    310: C        TEST 009 TESTS USE OF THE  A  EDIT DESCRIPTOR WITH A MIX       03070402
                    311: C     OF LETTERS, DIGITS AND SPECIAL CHARACTERS                         03080402
                    312: C                                                                       03090402
                    313:       IVTNUM = 009                                                      03100402
                    314:       IF (ICZERO) 30090, 0090, 30090                                    03110402
                    315:  0090 CONTINUE                                                          03120402
                    316:       CATN12(4) = 'A5+.Z'                                               03130402
                    317:  0092 FORMAT(1H ,4X,I5,17X,5H     ,A,5X,10H     A5+.Z)                  03140402
                    318:       WRITE (I02, 0092) IVTNUM, CATN12(4)                               03150402
                    319:       GO TO 0101                                                        03160402
                    320: 30090 IVDELE = IVDELE + 1                                               03170402
                    321:       WRITE (I02, 80000) IVTNUM                                         03180402
                    322:  0101 CONTINUE                                                          03190402
                    323: C                                                                       03200402
                    324: C     ****  FCVS PROGRAM FM402  -  TEST 010  ****                       03210402
                    325: C                                                                       03220402
                    326: C        TEST 010 TESTS USE OF THE  A  EDIT DESCRIPTOR WITH A MIX       03230402
                    327: C     OF LETTERS, DIGITS AND SPECIAL CHARACTERS  INCLUDING APOSTROPES   03240402
                    328: C                                                                       03250402
                    329:       IVTNUM = 010                                                      03260402
                    330:       IF (ICZERO) 30100, 0100, 30100                                    03270402
                    331:  0100 CONTINUE                                                          03280402
                    332:       CATN12(5) = '1''A,4'                                              03290402
                    333:  0102 FORMAT(1H ,4X,I5,17X,5H     ,A,5X,10H     1'A,4)                  03300402
                    334:       WRITE (I02, 0102) IVTNUM, CATN12(5)                               03310402
                    335:       GO TO 0111                                                        03320402
                    336: 30100 IVDELE = IVDELE + 1                                               03330402
                    337:       WRITE (I02, 80000) IVTNUM                                         03340402
                    338: C                                                                       03350402
                    339:  0111 CONTINUE                                                          03360402
                    340: C     ****  FCVS PROGRAM FM402  -  TEST 11  ****                        03370402
                    341: C                                                                       03380402
                    342: C        TEST 011 USES THE  A  EDIT DESCRIPTOR (WITHOUT THE OPTIONAL    03390402
                    343: C     FIELD WIDTH SPECIFIED) WITH THE OPTIONAL REPEAT SPECIFICATION.    03400402
                    344: C     EACH OUTPUT LIST ITEM WILL BE ONE CHARACTER IN LENGTH.            03410402
                    345: C                                                                       03420402
                    346:       IVTNUM = 011                                                      03430402
                    347:       IF (ICZERO) 30110, 0110, 30110                                    03440402
                    348:  0110 CONTINUE                                                          03450402
                    349:  0112 FORMAT (1H ,4X,I5,17X,10A,5X,10H059=+PQUVY)                       03460402
                    350:       WRITE  (I02, 0112) IVTNUM, CATN11(1), CATN11(6), CATN11(10),      03470402
                    351:      1CATN11(11), CATN11(12), CATN11(36), CATN11(37), CATN11(41),       03480402
                    352:      2CATN11(42), CATN11(45)                                            03490402
                    353:       GO TO 0121                                                        03500402
                    354: 30110 IVDELE = IVDELE + 1                                               03510402
                    355:       WRITE (I02, 80000) IVTNUM                                         03520402
                    356:  0121 CONTINUE                                                          03530402
                    357: C                                                                       03540402
                    358: C     ****  FCVS PROGRAM FM402  -  TEST 12  ****                        03550402
                    359: C                                                                       03560402
                    360: C        TEST 012 IS SIMILAR TO 011 IN THAT THE  A  DESCRIPTOR IS USED  03570402
                    361: C     WITH THE OPTIONAL REPEAT SPECIFICATION E. G., 3A  HOWEVER, EACH   03580402
                    362: C     OUTPUT LIST ITEM HAS A DIFFERENT NUMBER OF CHARACTERS IN THE ITEM 03590402
                    363: C     E. G., THE FIRST I/O LIST ITEM HAS 5 CHARACTERS, THE SECOND       03600402
                    364: C     ITEM HAS 2 CHARACTERS AND THE THIRD ITEM HAS 1 CHARACTER.         03610402
                    365: C                                                                       03620402
                    366:       IVTNUM = 012                                                      03630402
                    367:       IF (ICZERO) 30120, 0120, 30120                                    03640402
                    368:  0120 CONTINUE                                                          03650402
                    369:       CVTN13 = 'YZ'                                                     03660402
                    370:       CVTN11 = ')'                                                      03670402
                    371:       CATN12(2) = '(12AB'                                               03680402
                    372:  0122 FORMAT (1H ,4X,I5,17X,1H*,3A,1H*,5X,10H*(12ABYZ)*)                03690402
                    373:       WRITE  (I02, 0122) IVTNUM, CATN12(2), CVTN13, CVTN11              03700402
                    374:       GO TO 0131                                                        03710402
                    375: 30120 IVDELE = IVDELE + 1                                               03720402
                    376:       WRITE (I02, 80000) IVTNUM                                         03730402
                    377:  0131 CONTINUE                                                          03740402
                    378: C                                                                       03750402
                    379: C     ****  FCVS PROGRAM FM402  -  TEST 13  ***                         03760402
                    380: C                                                                       03770402
                    381: C        TEST 013 TESTS FOR PROPER EDITING OF THE  A  EDIT DESCRIPTOR   03780402
                    382: C     (WITH THE FIELD WIDTH SPECIFIED) WHEN THE OUTPUT LIST ITEM        03790402
                    383: C     HAS FEWER CHARACTERS THAN SPECIFIED BY THE EDIT DESCRIPTOR.  THE  03800402
                    384: C     OUTPUT FIELD SHOULD CONSISTS OF BLANKS FOLLOWED BY CHARACTERS     03810402
                    385: C     FROM THE INTERNAL REPRESENTATION.                                 03820402
                    386: C                                                                       03830402
                    387:       IVTNUM = 013                                                      03840402
                    388:       IF (ICZERO) 30130, 0130, 30130                                    03850402
                    389:  0130 CONTINUE                                                          03860402
                    390:       CATN12(1) = 'ABMYZ'                                               03870402
                    391:  0132 FORMAT (1H ,4X,I5,17X,A10,5X,10H     ABMYZ)                       03880402
                    392:       WRITE (I02, 0132) IVTNUM, CATN12(1)                               03890402
                    393:       GO TO 0141                                                        03900402
                    394: 30130 IVDELE = IVDELE + 1                                               03910402
                    395:       WRITE (I02, 80000) IVTNUM                                         03920402
                    396:  0141 CONTINUE                                                          03930402
                    397: C                                                                       03940402
                    398: C     ****  FCVS PROGRAM FM402  -  TEST 14  ****                        03950402
                    399: C                                                                       03960402
                    400: C        TEST 014 TESTS FOR PROPER EDITING OF THE  A  EDIT DESCRIPTOR   03970402
                    401: C     (WITH THE FIELD WIDTH SPECIFIED) WHEN THE OUTPUT LIST ITEM        03980402
                    402: C     IS GREATER THAN THAT SPECIFIED BY THE EDIT DESCRIPTOR.  THE OUTPUT03990402
                    403: C     FIELD SHOULD CONSIST OF THE LEFTMOST CHARACTERS FROM THE INTERNAL 04000402
                    404: C     REPRESENTATION.                                                   04010402
                    405: C                                                                       04020402
                    406:       IVTNUM = 014                                                      04030402
                    407:       IF (ICZERO) 30140, 0140, 30140                                    04040402
                    408:  0140 CONTINUE                                                          04050402
                    409:       CVTN12 = '12345ABCDE'                                             04060402
                    410:  0142 FORMAT (1H ,4X,I5,17X,5H     ,A5,5X,10H     12345)                04070402
                    411:       WRITE (I02, 0142) IVTNUM, CVTN12                                  04080402
                    412:       GO TO 0151                                                        04090402
                    413: 30140 IVDELE = IVDELE + 1                                               04100402
                    414:       WRITE (I02, 80000) IVTNUM                                         04110402
                    415:  0151 CONTINUE                                                          04120402
                    416: C                                                                       04130402
                    417: C        THE FOLLOWING BLOCK OF SOURCE CODE BEGINNING WITH COMMENT LINE 04140402
                    418: C     **** CREATE-FILE SECTION AND ENDING WITH THE COMMENT LINE         04150402
                    419: C     **** END-OF-CREATE-FILE SECTION BUILDS A FILE WHICH IS USED IN    04160402
                    420: C     TESTING THE A EDIT DESCRIPTOR.  THE FILE PROPERTIES ARE:          04170402
                    421: C                                                                       04180402
                    422: C              FILE IDENTIFIER     - I09 (X-NUMBER 09)                  04190402
                    423: C              RECORD SIZE         - 80 CHARACTERS                      04200402
                    424: C              ACCESS METHOD       - SEQUENTIAL                         04210402
                    425: C              RECORD TYPE         - FORMATTED                          04220402
                    426: C              DESIGNATED DEVICE   - DISK                               04230402
                    427: C              TYPE OF DATA        - CHARACTER (A FORMAT)               04240402
                    428: C              RECORDS IN FILE     - 143 PLUS THE ENDFILE RECORD        04250402
                    429: C                                                                       04260402
                    430: C        THE FIRST 20 POSITIONS OF EACH RECORD IN THE FILE UNIQUELY     04270402
                    431: C     IDENTIFIES THAT RECORD.  THE REMAINING POSITONS OF THE RECORD     04280402
                    432: C     CONTAIN DATA WHICH IS USED IN TESTING THE A EDIT DESCRIPTOR.      04290402
                    433: C     A DESCRIPTION OF EACH FIELD OF THE 20-CHARACTER PREAMBLE FOLLOWS. 04300402
                    434: C                                                                       04310402
                    435: C                VARIABLE NAME IN PROGRAM     CHARACTER POSITIONS       04320402
                    436: C                -------- ---- -- -------     --------- ---------       04330402
                    437: C                                                                       04340402
                    438: C              IPROG  (ROUTINE NAME)         -     1 THRU  3            04350402
                    439: C              IFILE  (LOGICAL/ X-NUMBER)    -     4 THRU  5            04360402
                    440: C              ITOTR  (RECORDS IN FILE)      -     6 THRU  9            04370402
                    441: C              IRLGN  (CHARACTERS IN RECORD) -    10 THRU 12            04380402
                    442: C              IRECN  (RECORD NUMBER)        -    13 THRU 16            04390402
                    443: C              IEOF   (9999 IF LAST RECORD)  -    17 THRU 20            04400402
                    444: C                                                                       04410402
                    445: C     DEFAULT ASSIGNMENT FOR FILE IS I09 = 07                           04420402
                    446:       I09 = 07                                                          04430402
                    447:       OPEN(UNIT=I09,ACCESS='SEQUENTIAL',FORM='FORMATTED')               04440402
                    448: CX091 THIS CARD IS REPLACED BY THE CONTENTS OF CARD X-091               04450402
                    449:       IPROG = 402                                                       04460402
                    450:       IFILE = I09                                                       04470402
                    451:       ITOTR = 143                                                       04480402
                    452:       IRLGN = 80                                                        04490402
                    453:       IRECN = 0                                                         04500402
                    454:       IEOF  = 0                                                         04510402
                    455: C                                                                       04520402
                    456: C                                                                       04530402
                    457: C *****  CREATE-FILE  SECTION  *****                                    04540402
                    458: C                                                                       04550402
                    459: C                                                                       04560402
                    460: C     ****  FCVS PROGRAM 402  -  TEST 015  ****                         04570402
                    461: C                                                                       04580402
                    462: C                                                                       04590402
                    463: C         TEST 15 WRITES RECORDS USING THE A EDIT DESCRIPTOR WITHOUT THE04600402
                    464: C      OPTIONAL FIELD WIDTH SPECIFICATION.  EACH CHARACTER OF THE       04610402
                    465: C      FORTRAN   SET     IS WRITTEN  WITH AN  A  EDIT DESCRIPTOR FROM   04620402
                    466: C      THE INTERNAL REPRESENTATION WHICH IS ONE CHARACTER IN LENGTH.    04630402
                    467: C      TEN DIFFERENT CHARACTERS ARE WRITTEN IN EACH RECORD UNTIL THE    04640402
                    468: C      FULL CHARACTER SET IS EXHAUSTED.  THIS SEQUENCE IS REPEATED UNTIL04650402
                    469: C      50 RECORDS HAVE BEEN WRITTEN (5 RECORDS PER SET AND 10 SETS).    04660402
                    470: C      THE RECORDS ARE WRITTEN TO A MASS STORAGE FILE.                  04670402
                    471: C                                                                       04680402
                    472: C                                                                       04690402
                    473:       IVTNUM =  15                                                      04700402
                    474:       IF (ICZERO) 30150, 0150, 30150                                    04710402
                    475:  0150 CONTINUE                                                          04720402
                    476: 70003 FORMAT (I3,I2,I4,I3,2I4,50X,10A)                                  04730402
                    477: 70004 FORMAT (I3,I2,I4,I3,2I4,54X,6A)                                   04740402
                    478:       IRECN = 0                                                         04750402
                    479:       DO 4023 I=1,10                                                    04760402
                    480:       IRECN = IRECN + 1                                                 04770402
                    481:       WRITE (I09, 70003) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       04780402
                    482:      1     (CATN11 (J), J = 1,10)                                       04790402
                    483: C        CHARACTERS 0 THROUGH 9 ARE CONTAINED IN THIS RECORD            04800402
                    484:       IRECN = IRECN + 1                                                 04810402
                    485:       WRITE (I09, 70003) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       04820402
                    486:      1     (CATN11(J), J = 11,20)                                       04830402
                    487: C        CHARACTERS =,+,-,*,/,(,),,,. AND ' ARE IN THIS RECORD.         04840402
                    488:       IRECN = IRECN + 1                                                 04850402
                    489:       WRITE (I09, 70003) IPROG,    IFILE, ITOTR, IRLGN, IRECN, IEOF,    04860402
                    490:      1      (CATN11(J), J = 21,30)                                      04870402
                    491: C        CHARACTERS A THROUGH J  ARE IN THIS RECORD                     04880402
                    492:       IRECN = IRECN + 1                                                 04890402
                    493:       WRITE (I09, 70003) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       04900402
                    494:      1      (CATN11(J), J = 31,40)                                      04910402
                    495: C         CHARACTERS K THROUGH T ARE IN THIS RECORD                     04920402
                    496:       IRECN = IRECN + 1                                                 04930402
                    497:       WRITE (I09, 70004) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       04940402
                    498:      1      (CATN11(J), J = 41,46)                                      04950402
                    499: C         CHARACTERS U THROUGH Z ARE IN THIS RECORD                     04960402
                    500:  4023 CONTINUE                                                          04970402
                    501:       IVCOMP = IRECN                                                    04980402
                    502:       IVCORR = 050                                                      04990402
                    503:       IVON01 = 50                                                       05000402
                    504: 40150 IF (IVON01 - IRECN )  20150, 10150, 20150                         05010402
                    505: C         VALUE IN  IVCOMP  IS THE NUMBER OF RECORDS WRITTEN            05020402
                    506: 30150 IVDELE = IVDELE + 1                                               05030402
                    507:       WRITE (I02,80000) IVTNUM                                          05040402
                    508:       IF (ICZERO) 10150, 0161, 20150                                    05050402
                    509: 10150 IVPASS = IVPASS + 1                                               05060402
                    510:       WRITE (I02,80002) IVTNUM                                          05070402
                    511:       GO TO 0161                                                        05080402
                    512: 20150 IVFAIL = IVFAIL + 1                                               05090402
                    513:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05100402
                    514:  0161 CONTINUE                                                          05110402
                    515: C                                                                       05120402
                    516: C     ****  FCVS PROGRAM 402  -  TEST 016  ****                         05130402
                    517: C                                                                       05140402
                    518: C                                                                       05150402
                    519: C         TEST 16 IS THE SAME AS TEST 15 EXCEPT THAT THE 50 RECORDS     05160402
                    520: C      WRITTEN  USE  THE A EDIT DESCRIPTOR WITH THE OPTIONAL FIELD WIDTH05170402
                    521: C      SPECIFIED.                                                       05180402
                    522: C                                                                       05190402
                    523: C                                                                       05200402
                    524:       IVTNUM =  16                                                      05210402
                    525:       IF (ICZERO) 30160, 0160, 30160                                    05220402
                    526:  0160 CONTINUE                                                          05230402
                    527: 70005 FORMAT  (I3,I2,I4,I3,2I4,50X,10A1)                                05240402
                    528: 70006 FORMAT  (I3,I2,I4,I3,2I4,54X,6A1)                                 05250402
                    529:       IRECN = 50                                                        05260402
                    530:       DO 4024 I=1,10                                                    05270402
                    531:       IRECN = IRECN + 1                                                 05280402
                    532:       WRITE (I09, 70005) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       05290402
                    533:      1     (CATN11(J), J = 1,10)                                        05300402
                    534: C         CHARACTERS 0 THROUGH 9  ARE CONTAINED IN THIS RECORD          05310402
                    535:       IRECN = IRECN + 1                                                 05320402
                    536:       WRITE (I09, 70005) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       05330402
                    537:      1     (CATN11(J), J = 11,20)                                       05340402
                    538: C         CHARACTERS =,+,-,*,/,(,),,,.  AND ' ARE IN THIS RECORD        05350402
                    539:       IRECN = IRECN + 1                                                 05360402
                    540:       WRITE (I09, 70005) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       05370402
                    541:      1     (CATN11(J), J = 21,30)                                       05380402
                    542: C         CHARACTERS A THROUGH J ARE IN THIS RECORD                     05390402
                    543:       IRECN = IRECN + 1                                                 05400402
                    544:       WRITE (I09, 70005) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       05410402
                    545:      1     (CATN11(J), J = 31,40)                                       05420402
                    546: C         CHARACTERS K THROUGH T ARE IN THIS RECORD                     05430402
                    547:       IRECN = IRECN + 1                                                 05440402
                    548:       WRITE (I09, 70006) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       05450402
                    549:      1     (CATN11(J), J = 41,46)                                       05460402
                    550: C         CHARACTERS U THROUGH Z ARE IN THIS RECORD                     05470402
                    551:  4024 CONTINUE                                                          05480402
                    552:       IVCOMP = IRECN - 50                                               05490402
                    553:       IVCORR = 50                                                       05500402
                    554:       IVON01 = 100                                                      05510402
                    555: 40160 IF (IVON01 - IRECN) 20160, 10160, 20160                           05520402
                    556: 30160 IVDELE = IVDELE + 1                                               05530402
                    557:       WRITE (I02,80000) IVTNUM                                          05540402
                    558:       IF (ICZERO) 10160, 0171, 20160                                    05550402
                    559: 10160 IVPASS = IVPASS + 1                                               05560402
                    560:       WRITE (I02,80002) IVTNUM                                          05570402
                    561:       GO TO 0171                                                        05580402
                    562: 20160 IVFAIL = IVFAIL + 1                                               05590402
                    563:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05600402
                    564:  0171 CONTINUE                                                          05610402
                    565: C                                                                       05620402
                    566: C     ****  FCVS PROGRAM 402  -  TEST 017  ****                         05630402
                    567: C                                                                       05640402
                    568: C                                                                       05650402
                    569: C         TEST 17 WRITES 40 RECORDS CONTAINING CHARACTER DATA WHICH IS  05660402
                    570: C     USED  FOR LATER TESTS.  THE FILE SHOULD CONTAIN 140 RECORDS       05670402
                    571: C     FOLLOWING EXECUTION OF THIS TEST.                                 05680402
                    572: C                                                                       05690402
                    573: C                                                                       05700402
                    574:       IVTNUM =  17                                                      05710402
                    575:       IF (ICZERO) 30170, 0170, 30170                                    05720402
                    576:  0170 CONTINUE                                                          05730402
                    577: 70007 FORMAT (I3,I2,I4,I3,2I4,60HABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789   05740402
                    578:      1                     )                                            05750402
                    579: 70008 FORMAT (I3,I2,I4,I3,2I4,60H=+-*/(),'.ABMYZ01589=+-()A5+Z.1'A,4    05760402
                    580:      1                     )                                            05770402
                    581:       IRECN = 100                                                       05780402
                    582:       DO 4025 I = 1,20                                                  05790402
                    583:       IRECN = IRECN + 1                                                 05800402
                    584:       WRITE (I09, 70007) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF        05810402
                    585: C         CHARACTERS 0 THROUGH 9  AND A THROUGH Z ARE IN THIS RECORD    05820402
                    586:       IRECN = IRECN + 1                                                 05830402
                    587:       WRITE (I09, 70008) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF        05840402
                    588: C         SPECIAL CHARACTERS ARE IN THIS RECORD                         05850402
                    589:  4025 CONTINUE                                                          05860402
                    590:       IVCOMP = IRECN - 100                                              05870402
                    591:       IVCORR = 40                                                       05880402
                    592:       IVON01 = 140                                                      05890402
                    593: 40170 IF (IVON01 - IRECN) 20170, 10170, 20170                           05900402
                    594: 30170 IVDELE = IVDELE + 1                                               05910402
                    595:       WRITE (I02,80000) IVTNUM                                          05920402
                    596:       IF (ICZERO) 10170, 0181, 20170                                    05930402
                    597: 10170 IVPASS = IVPASS + 1                                               05940402
                    598:       WRITE (I02,80002) IVTNUM                                          05950402
                    599:       GO TO 0181                                                        05960402
                    600: 20170 IVFAIL = IVFAIL + 1                                               05970402
                    601:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          05980402
                    602:  0181 CONTINUE                                                          05990402
                    603: C                                                                       06000402
                    604: C     ****  FCVS PROGRAM 402  -  TEST 018  ****                         06010402
                    605: C                                                                       06020402
                    606: C                                                                       06030402
                    607: C        TEST 18 WRITES A RECORD WHICH CONTAINS A LONG FIELD (50 CHAR-  06040402
                    608: C     ACTERS) USING AN A EDIT DESCRIPTOR WITHOUT THE OPTIONAL FIELD     06050402
                    609: C     WIDTH SPECIFICATION.                                              06060402
                    610: C                                                                       06070402
                    611: C                                                                       06080402
                    612:       IVTNUM =  18                                                      06090402
                    613:       IF (ICZERO) 30180, 0180, 30180                                    06100402
                    614:  0180 CONTINUE                                                          06110402
                    615:       IRECN = 141                                                       06120402
                    616: 70009 FORMAT (I3,I2,I4,I3,2I4,10X,A)                                    06130402
                    617:       WRITE (I09, 70009) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, CCTN1506140402
                    618:       IVCOMP = IRECN - 140                                              06150402
                    619:       IVCORR = 1                                                        06160402
                    620:       IVON01 = 141                                                      06170402
                    621: 40180 IF (IVON01 - IRECN) 20180, 10180, 20180                           06180402
                    622: 30180 IVDELE = IVDELE + 1                                               06190402
                    623:       WRITE (I02,80000) IVTNUM                                          06200402
                    624:       IF (ICZERO) 10180, 0191, 20180                                    06210402
                    625: 10180 IVPASS = IVPASS + 1                                               06220402
                    626:       WRITE (I02,80002) IVTNUM                                          06230402
                    627:       GO TO 0191                                                        06240402
                    628: 20180 IVFAIL = IVFAIL + 1                                               06250402
                    629:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06260402
                    630:  0191 CONTINUE                                                          06270402
                    631: C                                                                       06280402
                    632: C     ****  FCVS PROGRAM 402  -  TEST 019  ****                         06290402
                    633: C                                                                       06300402
                    634: C                                                                       06310402
                    635: C        TEST 19 WRITES A LONG FIELD (50 CHARACTERS)                    06320402
                    636: C     USING AN A EDIT DESCRIPTOR  WITH   THE OPTIONAL FIELD WIDTH       06330402
                    637: C     SPECIFICATION.                                                    06340402
                    638: C                                                                       06350402
                    639: C                                                                       06360402
                    640:       IVTNUM =  19                                                      06370402
                    641:       IF (ICZERO) 30190, 0190, 30190                                    06380402
                    642:  0190 CONTINUE                                                          06390402
                    643:       IRECN = 142                                                       06400402
                    644: 70010 FORMAT (I3,I2,I4,I3,2I4,10X,A50)                                  06410402
                    645:       WRITE (I09, 70010) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, CCTN1506420402
                    646:       IVCOMP = IRECN - 141                                              06430402
                    647:       IVCORR = 1                                                        06440402
                    648:       IVON01 = 142                                                      06450402
                    649: 40190 IF (IVON01 - IRECN) 20190, 10190, 20190                           06460402
                    650: 30190 IVDELE = IVDELE + 1                                               06470402
                    651:       WRITE (I02,80000) IVTNUM                                          06480402
                    652:       IF (ICZERO) 10190, 0201, 20190                                    06490402
                    653: 10190 IVPASS = IVPASS + 1                                               06500402
                    654:       WRITE (I02,80002) IVTNUM                                          06510402
                    655:       GO TO 0201                                                        06520402
                    656: 20190 IVFAIL = IVFAIL + 1                                               06530402
                    657:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          06540402
                    658:  0201 CONTINUE                                                          06550402
                    659: C                                                                       06560402
                    660: C     ****  FCVS PROGRAM 402  -  TEST 020  ****                         06570402
                    661: C                                                                       06580402
                    662: C                                                                       06590402
                    663:       IVTNUM =  20                                                      06600402
                    664:       IF (ICZERO) 30200, 0200, 30200                                    06610402
                    665:  0200 CONTINUE                                                          06620402
                    666:       IRECN  = IRECN  + 1                                               06630402
                    667:       IEOF = 9999                                                       06640402
                    668: 70011 FORMAT (I3,I2,I4,I3,2I4,59X,1H )                                  06650402
                    669:       WRITE (I09, 70011) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF        06660402
                    670:       ENDFILE I09                                                       06670402
                    671:       REWIND I09                                                        06680402
                    672:       WRITE (I02, 90004)                                                06690402
                    673: 70012 FORMAT (53H   FILE I09 HAS BEEN CREATED AND CONTAINS 143 RECORDS) 06700402
                    674: 70013 FORMAT (39H INCORRECT NUMBER OF RECORDS IN FILE - , I5   ,08H RECO06710402
                    675:      1RDS)                                                              06720402
                    676: 70014 FORMAT (50H WRITTEN BUT 143 RECORDS SHOULD HAVE BEEN WRITTEN.)    06730402
                    677:       IF (IRECN - 143) 4020, 4021, 4020                                 06740402
                    678:  4020 WRITE (I02, 70013) IRECN                                          06750402
                    679:       WRITE (I02, 70014)                                                06760402
                    680:       GO TO 4022                                                        06770402
                    681:  4021 WRITE (I02, 70012)                                                06780402
                    682:       WRITE (I02, 90004)                                                06790402
                    683: C                                                                       06800402
                    684: C **** END-OF-CREATE-FILE SECTION  ****                                 06810402
                    685: C                                                                       06820402
                    686:  4022 CONTINUE                                                          06830402
                    687: C                                                                       06840402
                    688: C         TESTS 20 THROUGH 24 READ 5 OF THE FIRST 50 RECORDS USING THE  06850402
                    689: C     A EDIT DESCRIPTOR WITHOUT THE OPTIONAL FIELD WIDTH SPECIFICATION. 06860402
                    690: C     EACH CHARACTER IS CHECKED FOR PROPER EDITING.  THE FIELDS ARE     06870402
                    691: C     WRITTEN AND READ WITH THE SAME A EDIT DESCRIPTOR FORM.  THE       06880402
                    692: C     RESULTING NUMBER FROM EACH TEST IN IVCOMP AND IVCORR IS           06890402
                    693: C     THE NUMBER OF CORRECT CHARACTERS FOUND AS A RESULT OF THE READ.   06900402
                    694: C                                                                       06910402
                    695: C                                                                       06920402
                    696: C         TEST 20 READS AND CHECKS THE CHARACTERS 0 THROUGH 9.  THE     06930402
                    697: C     VALUE RESULTING FROM THE TEST IN IVCOMP AND IVCORR REFLECTS THE   06940402
                    698: C     NUMBER OF CORRECT CHARACTERS FOUND AS A RESULT OF THE READ.       06950402
                    699: C                                                                       06960402
                    700:       IVCOMP = 0                                                        06970402
                    701:       IVCORR = 10                                                       06980402
                    702:  0202 FORMAT (70X,10A)                                                  06990402
                    703:       READ (I09, 0202) (CATN14(J), J = 1,10)                            07000402
                    704:       DO 0203 I=1,10                                                    07010402
                    705:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 07020402
                    706:  0203 CONTINUE                                                          07030402
                    707: 40200 IF (IVCOMP - 10) 20200, 10200, 20200                              07040402
                    708: 30200 IVDELE = IVDELE + 1                                               07050402
                    709:       WRITE (I02,80000) IVTNUM                                          07060402
                    710:       IF (ICZERO) 10200, 0211, 20200                                    07070402
                    711: 10200 IVPASS = IVPASS + 1                                               07080402
                    712:       WRITE (I02,80002) IVTNUM                                          07090402
                    713:       GO TO 0211                                                        07100402
                    714: 20200 IVFAIL = IVFAIL + 1                                               07110402
                    715:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07120402
                    716:  0211 CONTINUE                                                          07130402
                    717: C                                                                       07140402
                    718: C     ****  FCVS PROGRAM 402  -  TEST 021  ****                         07150402
                    719: C                                                                       07160402
                    720: C                                                                       07170402
                    721: C         TEST 21 READS AND CHECKS THE CHARACTERS =,+,-,*,/,(,),,,., AND07180402
                    722: C     '.  THE NUMBER RESULTING FROM THE TEST IN IVCOMP AND IVCORR       07190402
                    723: C     REFLECTS THE NUMBER OF CORRECT CHARACTERS FOUND AS A RESULT OF    07200402
                    724: C     THE READ.                                                         07210402
                    725: C                                                                       07220402
                    726: C                                                                       07230402
                    727:       IVTNUM =  21                                                      07240402
                    728:       IF (ICZERO) 30210, 0210, 30210                                    07250402
                    729:  0210 CONTINUE                                                          07260402
                    730:       IVCOMP = 0                                                        07270402
                    731:       IVCORR = 10                                                       07280402
                    732:  0212 FORMAT (70X,10A)                                                  07290402
                    733:       READ (I09, 0212) (CATN14(J), J = 11,20)                           07300402
                    734:       DO 0213 I = 11,20                                                 07310402
                    735:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 07320402
                    736:  0213 CONTINUE                                                          07330402
                    737: 40210 IF (IVCOMP - 10) 20210, 10210, 20210                              07340402
                    738: 30210 IVDELE = IVDELE + 1                                               07350402
                    739:       WRITE (I02,80000) IVTNUM                                          07360402
                    740:       IF (ICZERO) 10210, 0221, 20210                                    07370402
                    741: 10210 IVPASS = IVPASS + 1                                               07380402
                    742:       WRITE (I02,80002) IVTNUM                                          07390402
                    743:       GO TO 0221                                                        07400402
                    744: 20210 IVFAIL = IVFAIL + 1                                               07410402
                    745:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07420402
                    746:  0221 CONTINUE                                                          07430402
                    747: C                                                                       07440402
                    748: C     ****  FCVS PROGRAM 402  -  TEST 022  ****                         07450402
                    749: C                                                                       07460402
                    750: C                                                                       07470402
                    751: C         TEST 22 READS AND CHECKS THE CHARACTERS A THROUGH J.          07480402
                    752: C                                                                       07490402
                    753: C                                                                       07500402
                    754:       IVTNUM =  22                                                      07510402
                    755:       IF (ICZERO) 30220, 0220, 30220                                    07520402
                    756:  0220 CONTINUE                                                          07530402
                    757:       IVCOMP = 0                                                        07540402
                    758:       IVCORR = 10                                                       07550402
                    759:  0222 FORMAT (70X,10A)                                                  07560402
                    760:       READ (I09, 0222) (CATN14(J), J = 21,30)                           07570402
                    761:       DO 0223 I = 21,30                                                 07580402
                    762:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 07590402
                    763:  0223 CONTINUE                                                          07600402
                    764: 40220 IF (IVCOMP - 10) 20220, 10220, 20220                              07610402
                    765: 30220 IVDELE = IVDELE + 1                                               07620402
                    766:       WRITE (I02,80000) IVTNUM                                          07630402
                    767:       IF (ICZERO) 10220, 0231, 20220                                    07640402
                    768: 10220 IVPASS = IVPASS + 1                                               07650402
                    769:       WRITE (I02,80002) IVTNUM                                          07660402
                    770:       GO TO 0231                                                        07670402
                    771: 20220 IVFAIL = IVFAIL + 1                                               07680402
                    772:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07690402
                    773:  0231 CONTINUE                                                          07700402
                    774: C                                                                       07710402
                    775: C     ****  FCVS PROGRAM 402  -  TEST 023  ****                         07720402
                    776: C                                                                       07730402
                    777: C                                                                       07740402
                    778: C         TEST 23 READS AND CHECKS THE CHARACTERS K THROUGH T.          07750402
                    779: C                                                                       07760402
                    780: C                                                                       07770402
                    781:       IVTNUM =  23                                                      07780402
                    782:       IF (ICZERO) 30230, 0230, 30230                                    07790402
                    783:  0230 CONTINUE                                                          07800402
                    784:       IVCOMP = 0                                                        07810402
                    785:       IVCORR = 10                                                       07820402
                    786:  0232 FORMAT (70X,10A)                                                  07830402
                    787:       READ (I09, 0232) (CATN14(J), J = 31,40)                           07840402
                    788:       DO 0233 I = 31,40                                                 07850402
                    789:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 07860402
                    790:  0233 CONTINUE                                                          07870402
                    791: 40230 IF (IVCOMP - 10) 20230, 10230, 20230                              07880402
                    792: 30230 IVDELE = IVDELE + 1                                               07890402
                    793:       WRITE (I02,80000) IVTNUM                                          07900402
                    794:       IF (ICZERO) 10230, 0241, 20230                                    07910402
                    795: 10230 IVPASS = IVPASS + 1                                               07920402
                    796:       WRITE (I02,80002) IVTNUM                                          07930402
                    797:       GO TO 0241                                                        07940402
                    798: 20230 IVFAIL = IVFAIL + 1                                               07950402
                    799:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          07960402
                    800:  0241 CONTINUE                                                          07970402
                    801: C                                                                       07980402
                    802: C     ****  FCVS PROGRAM 402  -  TEST 024  ****                         07990402
                    803: C                                                                       08000402
                    804: C                                                                       08010402
                    805: C         TEST 24 READS AND CHECKS THE CHARACTERS U THROUGH Z.          08020402
                    806: C                                                                       08030402
                    807: C                                                                       08040402
                    808:       IVTNUM =  24                                                      08050402
                    809:       IF (ICZERO) 30240, 0240, 30240                                    08060402
                    810:  0240 CONTINUE                                                          08070402
                    811:       IVCOMP = 0                                                        08080402
                    812:       IVCORR = 06                                                       08090402
                    813:  0242 FORMAT (74X,6A)                                                   08100402
                    814:       READ (I09, 0242) (CATN14(J), J = 41,46)                           08110402
                    815:       DO 0243 I = 41,46                                                 08120402
                    816:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 08130402
                    817:  0243 CONTINUE                                                          08140402
                    818: 40240 IF (IVCOMP - 6) 20240, 10240, 20240                               08150402
                    819: 30240 IVDELE = IVDELE + 1                                               08160402
                    820:       WRITE (I02,80000) IVTNUM                                          08170402
                    821:       IF (ICZERO) 10240, 0251, 20240                                    08180402
                    822: 10240 IVPASS = IVPASS + 1                                               08190402
                    823:       WRITE (I02,80002) IVTNUM                                          08200402
                    824:       GO TO 0251                                                        08210402
                    825: 20240 IVFAIL = IVFAIL + 1                                               08220402
                    826:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08230402
                    827:  0251 CONTINUE                                                          08240402
                    828: C                                                                       08250402
                    829: C                                                                       08260402
                    830: C         TESTS 25 THROUGH 29  READ RECORD NUMBERS 56 THROUGH 60 USING  08270402
                    831: C     THE A EDIT DESCRIPTOR WITH THE OPTIONAL FIELD WIDTH SPECIFIED.    08280402
                    832: C     EACH FIELD IS 1 CHARACTER IN LENGTH AND IS CHECKED FOR PROPER     08290402
                    833: C     EDITING. THE FIELDS ARE WRITTEN AND READ WITH THE SAME EDIT       08300402
                    834: C     DESCRIPTOR.  THE NUMBER RESULTING FROM EACH TEST IN IVCOMP AND    08310402
                    835: C     IVCORR IS THE THE NUMBER OF CORRECT CHARACTERS FOUND AS A RESULT  08320402
                    836: C     OF THE READ.                                                      08330402
                    837: C                                                                       08340402
                    838: C                                                                       08350402
                    839: 70020 FORMAT (12X,2I4,59X,A1)                                           08360402
                    840:       REWIND I09                                                        08370402
                    841:       DO 4026 I = 1, 150                                                08380402
                    842:       READ (I09, 70020, END = 4027) IRECN, IEOF                         08390402
                    843:       IF (IRECN .EQ. 55) GO TO 4027                                     08400402
                    844:  4026 CONTINUE                                                          08410402
                    845:  4027 IF (IRECN - 55) 4028, 4029, 4028                                  08420402
                    846: C                                                                       08430402
                    847: C         THE CODE IMMEDIATELY PRECEDING POSITIONS THE FILE TO RECORD   08440402
                    848: C     NUMBER 55 FOR TESTS 25 THROUGH 29.                                08450402
                    849: C                                                                       08460402
                    850: 70021 FORMAT (64H  THE INITIAL RECORD FOR TESTS 25 THROUGH 29 COULD NOT 08470402
                    851:      1BE FOUND,)                                                        08480402
                    852: 70022 FORMAT (49H THEREFORE TESTS 25 THROUGH 29     ARE   DELETED.)     08490402
                    853:  4028 WRITE (I02, 70021)                                                08500402
                    854:       WRITE (I02, 70022)                                                08510402
                    855:       GO TO 301                                                         08520402
                    856:  4029 CONTINUE                                                          08530402
                    857:       DO 4030 I = 1,46                                                  08540402
                    858:       CATN14(I) = ' '                                                   08550402
                    859:  4030 CONTINUE                                                          08560402
                    860: C                                                                       08570402
                    861: C         THE ABOVE DO LOOP   INITIALIZES THE ARRAY CATN14 TO BLANKS.   08580402
                    862: C                                                                       08590402
                    863: C                                                                       08600402
                    864: C     ****  FCVS PROGRAM 402  -  TEST 025  ****                         08610402
                    865: C                                                                       08620402
                    866: C                                                                       08630402
                    867: C         TEST 25 READS AND CHECKS THE CHARACTERS 0 THROUGH 9.          08640402
                    868: C                                                                       08650402
                    869: C                                                                       08660402
                    870:       IVTNUM =  25                                                      08670402
                    871:       IF (ICZERO) 30250, 0250, 30250                                    08680402
                    872:  0250 CONTINUE                                                          08690402
                    873:       IVCOMP = 0                                                        08700402
                    874:       IVCORR = 10                                                       08710402
                    875:  0252 FORMAT (70X,10A1)                                                 08720402
                    876:       READ (I09, 0252) (CATN14(J), J = 1, 10)                           08730402
                    877:       DO 0253 I = 1,10                                                  08740402
                    878:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 08750402
                    879:  0253 CONTINUE                                                          08760402
                    880: 40250 IF (IVCOMP - 10) 20250, 10250, 20250                              08770402
                    881: 30250 IVDELE = IVDELE + 1                                               08780402
                    882:       WRITE (I02,80000) IVTNUM                                          08790402
                    883:       IF (ICZERO) 10250, 0261, 20250                                    08800402
                    884: 10250 IVPASS = IVPASS + 1                                               08810402
                    885:       WRITE (I02,80002) IVTNUM                                          08820402
                    886:       GO TO 0261                                                        08830402
                    887: 20250 IVFAIL = IVFAIL + 1                                               08840402
                    888:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          08850402
                    889:  0261 CONTINUE                                                          08860402
                    890: C                                                                       08870402
                    891: C     ****  FCVS PROGRAM 402  -  TEST 026  ****                         08880402
                    892: C                                                                       08890402
                    893: C                                                                       08900402
                    894: C         TEST 26 READS AND CHECKS THE CHARACTERS =,+,-,*,/,(,),,,., AND08910402
                    895: C     '.                                                                08920402
                    896: C                                                                       08930402
                    897: C                                                                       08940402
                    898:       IVTNUM =  26                                                      08950402
                    899:       IF (ICZERO) 30260, 0260, 30260                                    08960402
                    900:  0260 CONTINUE                                                          08970402
                    901:       IVCOMP = 0                                                        08980402
                    902:       IVCORR = 10                                                       08990402
                    903:  0262 FORMAT (70X,10A1)                                                 09000402
                    904:       READ (I09, 0262) (CATN14(J), J = 11, 20)                          09010402
                    905:       DO 0263 I = 11,20                                                 09020402
                    906:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 09030402
                    907:  0263 CONTINUE                                                          09040402
                    908: 40260 IF (IVCOMP -10) 20260, 10260, 20260                               09050402
                    909: 30260 IVDELE = IVDELE + 1                                               09060402
                    910:       WRITE (I02,80000) IVTNUM                                          09070402
                    911:       IF (ICZERO) 10260, 0271, 20260                                    09080402
                    912: 10260 IVPASS = IVPASS + 1                                               09090402
                    913:       WRITE (I02,80002) IVTNUM                                          09100402
                    914:       GO TO 0271                                                        09110402
                    915: 20260 IVFAIL = IVFAIL + 1                                               09120402
                    916:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          09130402
                    917:  0271 CONTINUE                                                          09140402
                    918: C                                                                       09150402
                    919: C     ****  FCVS PROGRAM 402  -  TEST 027  ****                         09160402
                    920: C                                                                       09170402
                    921: C                                                                       09180402
                    922: C         TEST 27 READS AND CHECKS THE CHARACTERS A THROUGH J.          09190402
                    923: C                                                                       09200402
                    924: C                                                                       09210402
                    925:       IVTNUM =  27                                                      09220402
                    926:       IF (ICZERO) 30270, 0270, 30270                                    09230402
                    927:  0270 CONTINUE                                                          09240402
                    928:       IVCOMP = 0                                                        09250402
                    929:       IVCORR = 10                                                       09260402
                    930:  0272 FORMAT (70X,10A1)                                                 09270402
                    931:       READ (I09, 0272) (CATN14(J), J = 21,30)                           09280402
                    932:       DO 0273 I = 21,30                                                 09290402
                    933:       IF  (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                09300402
                    934:  0273 CONTINUE                                                          09310402
                    935: 40270 IF (IVCOMP - 10) 20270, 10270, 20270                              09320402
                    936: 30270 IVDELE = IVDELE + 1                                               09330402
                    937:       WRITE (I02,80000) IVTNUM                                          09340402
                    938:       IF (ICZERO) 10270, 0281, 20270                                    09350402
                    939: 10270 IVPASS = IVPASS + 1                                               09360402
                    940:       WRITE (I02,80002) IVTNUM                                          09370402
                    941:       GO TO 0281                                                        09380402
                    942: 20270 IVFAIL = IVFAIL + 1                                               09390402
                    943:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          09400402
                    944:  0281 CONTINUE                                                          09410402
                    945: C                                                                       09420402
                    946: C     ****  FCVS PROGRAM 402  -  TEST 028  ****                         09430402
                    947: C                                                                       09440402
                    948: C                                                                       09450402
                    949: C         TEST 28 READS AND CHECKS THE CHARACTERS K THROUGH T.          09460402
                    950: C                                                                       09470402
                    951: C                                                                       09480402
                    952:       IVTNUM =  28                                                      09490402
                    953:       IF (ICZERO) 30280, 0280, 30280                                    09500402
                    954:  0280 CONTINUE                                                          09510402
                    955:       IVCOMP = 0                                                        09520402
                    956:       IVCORR = 10                                                       09530402
                    957:  0282 FORMAT (70X,10A1)                                                 09540402
                    958:       READ (I09, 0282) (CATN14(J), J = 31,40)                           09550402
                    959:       DO 0283 I = 31, 40                                                09560402
                    960:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 09570402
                    961:  0283 CONTINUE                                                          09580402
                    962: 40280 IF (IVCOMP - 10) 20280, 10280, 20280                              09590402
                    963: 30280 IVDELE = IVDELE + 1                                               09600402
                    964:       WRITE (I02,80000) IVTNUM                                          09610402
                    965:       IF (ICZERO) 10280, 0291, 20280                                    09620402
                    966: 10280 IVPASS = IVPASS + 1                                               09630402
                    967:       WRITE (I02,80002) IVTNUM                                          09640402
                    968:       GO TO 0291                                                        09650402
                    969: 20280 IVFAIL = IVFAIL + 1                                               09660402
                    970:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          09670402
                    971:  0291 CONTINUE                                                          09680402
                    972: C                                                                       09690402
                    973: C     ****  FCVS PROGRAM 402  -  TEST 029  ****                         09700402
                    974: C                                                                       09710402
                    975: C                                                                       09720402
                    976: C         TEST 29 READS AND CHECKS THE CHARACTERS U THROUGH Z.          09730402
                    977: C                                                                       09740402
                    978: C                                                                       09750402
                    979:       IVTNUM =  29                                                      09760402
                    980:       IF (ICZERO) 30290, 0290, 30290                                    09770402
                    981:  0290 CONTINUE                                                          09780402
                    982:       IVCOMP = 0                                                        09790402
                    983:       IVCORR = 6                                                        09800402
                    984:  0292 FORMAT (74X,6A1)                                                  09810402
                    985:       READ (I09, 0292) (CATN14(J), J = 41,46)                           09820402
                    986:       DO 0293 I = 41,46                                                 09830402
                    987:       IF (CATN14(I) .EQ. CATN11(I)) IVCOMP = IVCOMP + 1                 09840402
                    988:  0293 CONTINUE                                                          09850402
                    989: 40290 IF (IVCOMP - 6) 20290, 10290, 20290                               09860402
                    990: 30290 IVDELE = IVDELE + 1                                               09870402
                    991:       WRITE (I02,80000) IVTNUM                                          09880402
                    992:       IF (ICZERO) 10290, 0301, 20290                                    09890402
                    993: 10290 IVPASS = IVPASS + 1                                               09900402
                    994:       WRITE (I02,80002) IVTNUM                                          09910402
                    995:       GO TO 0301                                                        09920402
                    996: 20290 IVFAIL = IVFAIL + 1                                               09930402
                    997:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          09940402
                    998:  0301 CONTINUE                                                          09950402
                    999: C                                                                       09960402
                   1000: C                                                                       09970402
                   1001: C         TESTS 30 THROUGH 32 READ RECORD NUMBERS 101 THROUGH 103. THESE09980402
                   1002: C     TESTS TEST FOR PROPER EDITING ON INPUT WHERE THE INPUT FIELD      09990402
                   1003: C     AND THE INPUT LIST ITEM ARE OF DIFFERENT SIZES.                   10000402
                   1004: C                                                                       10010402
                   1005: C                                                                       10020402
                   1006: 70031 FORMAT (12X,2I4,59X,A1)                                           10030402
                   1007:       REWIND I09                                                        10040402
                   1008:       DO 4031 I = 1,150                                                 10050402
                   1009:       READ (I09, 70031, END = 4032) IRECN, IEOF                         10060402
                   1010:       IF (IRECN .EQ. 100) GO TO 4032                                    10070402
                   1011:  4031 CONTINUE                                                          10080402
                   1012:  4032 IF (IRECN - 100) 4033, 4034, 4033                                 10090402
                   1013: 70032 FORMAT (64H  THE START RECORD FOR TESTS 30 THROUGH 32 COULD NOT   10100402
                   1014:      1BE FOUND,)                                                        10110402
                   1015: 70033 FORMAT (49H THEREFORE TESTS 30 THROUGH 32     ARE   DELETED.)     10120402
                   1016:  4033 WRITE (I02, 70032)                                                10130402
                   1017:       WRITE (I02, 70033)                                                10140402
                   1018:       GO TO 331                                                         10150402
                   1019:  4034 CONTINUE                                                          10160402
                   1020: C                                                                       10170402
                   1021: C     ****  FCVS PROGRAM 402  -  TEST 030  ****                         10180402
                   1022: C                                                                       10190402
                   1023: C                                                                       10200402
                   1024: C         TEST 30 TESTS THE  A EDIT DESCRIPTOR WITH THE OPTIONAL REPEAT 10210402
                   1025: C     SPECIFICATION.  THE A  EDIT DESCRIPTOR DOES NOT HAVE THE OPTIONAL 10220402
                   1026: C     FIELD WIDTH SPECIFICATION AND THE INPUT LIST ITEMS  VARY IN SIZE  10230402
                   1027: C     FROM 1 TO 10 CHARACTERS.  RECORD NUMBER 101 IS READ AND WAS       10240402
                   1028: C     CREATED IN TEST 17 WITH THE FORMAT STATEMENT                      10250402
                   1029: C                                                                       10260402
                   1030: C     FORMAT (I3,I2,I4,I3,2I4,60HABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789   10270402
                   1031: C    1                     )                                            10280402
                   1032: C                                                                       10290402
                   1033: C                                                                       10300402
                   1034:       IVTNUM =  30                                                      10310402
                   1035:       IF (ICZERO) 30300, 0300, 30300                                    10320402
                   1036:  0300 CONTINUE                                                          10330402
                   1037:       IVCOMP = 1                                                        10340402
                   1038:       IVCORR = 210                                                      10350402
                   1039:       CATN14(1) = ' '                                                   10360402
                   1040:       CVTN13 = '  '                                                     10370402
                   1041:       CATN12(3) = '     '                                               10380402
                   1042:       CVTN12 = '          '                                             10390402
                   1043:  0302 FORMAT (20X,4A,42X,A1)                                            10400402
                   1044:       READ (I09, 0302, END = 0303)  CATN14(1), CVTN13, CATN12(3), CVTN1210410402
                   1045:  0303 IF (CATN14(1) .EQ. 'A')           IVCOMP = IVCOMP * 2             10420402
                   1046:       IF (CVTN13    .EQ. 'BC')          IVCOMP = IVCOMP * 3             10430402
                   1047:       IF (CATN12(3) .EQ. 'DEFGH')       IVCOMP = IVCOMP * 5             10440402
                   1048:       IF (CVTN12  .EQ. 'IJKLMNOPQR')    IVCOMP = IVCOMP * 7             10450402
                   1049: 40300 IF (IVCOMP - 210) 20300, 10300, 20300                             10460402
                   1050: 30300 IVDELE = IVDELE + 1                                               10470402
                   1051:       WRITE (I02,80000) IVTNUM                                          10480402
                   1052:       IF (ICZERO) 10300, 0311, 20300                                    10490402
                   1053: 10300 IVPASS = IVPASS + 1                                               10500402
                   1054:       WRITE (I02,80002) IVTNUM                                          10510402
                   1055:       GO TO 0311                                                        10520402
                   1056: 20300 IVFAIL = IVFAIL + 1                                               10530402
                   1057:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          10540402
                   1058:  0311 CONTINUE                                                          10550402
                   1059: C                                                                       10560402
                   1060: C     ****  FCVS PROGRAM 402  -  TEST 031  ****                         10570402
                   1061: C                                                                       10580402
                   1062: C                                                                       10590402
                   1063: C         TEST 31 TESTS FOR PROPER EDITING OF THE A EDIT DESCRIPTOR WHEN10600402
                   1064: C     THE SPECIFIED WIDTH OF THE DESCRIPTOR IS LESS THAN THE INTERNAL   10610402
                   1065: C     REPRESENTATION OF THE INPUT LIST ITEM.  THE CHARACTERS SHOULD     10620402
                   1066: C     APPEAR LEFT-JUSTIFIED WITH TRAILING BLANKS IN THE INTERNAL        10630402
                   1067: C     REPRESENTATION.     RECORD NUMBER 102 IS READ AND WAS CREATED     10640402
                   1068: C     IN TEST 17 WITH THE FORMAT STATEMENT                              10650402
                   1069: C                                                                       10660402
                   1070: C     FORMAT (I3,I2,I4,I3,2I4,60H=+-*/(),'.ABMYZ01589=+-()A5+Z.1'A,4    10670402
                   1071: C    1                     )                                            10680402
                   1072: C                                                                       10690402
                   1073: C                                                                       10700402
                   1074: C                                                                       10710402
                   1075:       IVTNUM =  31                                                      10720402
                   1076:       IF (ICZERO) 30310, 0310, 30310                                    10730402
                   1077:  0310 CONTINUE                                                          10740402
                   1078:       CVTN12 = '9999999999'                                             10750402
                   1079:       IVCOMP = 0                                                        10760402
                   1080:       IVCORR = 1                                                        10770402
                   1081:  0312 FORMAT (20X,10X,A5,40X)                                           10780402
                   1082:       READ (I09, 0312, END = 0313) CVTN12                               10790402
                   1083:  0313 IF (CVTN12 .EQ. 'ABMYZ     ')  IVCOMP = 1                         10800402
                   1084: 40310 IF (IVCOMP - 1) 20310, 10310, 20310                               10810402
                   1085: 30310 IVDELE = IVDELE + 1                                               10820402
                   1086:       WRITE (I02,80000) IVTNUM                                          10830402
                   1087:       IF (ICZERO) 10310, 0321, 20310                                    10840402
                   1088: 10310 IVPASS = IVPASS + 1                                               10850402
                   1089:       WRITE (I02,80002) IVTNUM                                          10860402
                   1090:       GO TO 0321                                                        10870402
                   1091: 20310 IVFAIL = IVFAIL + 1                                               10880402
                   1092:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          10890402
                   1093:  0321 CONTINUE                                                          10900402
                   1094: C                                                                       10910402
                   1095: C     ****  FCVS PROGRAM 402  -  TEST 032  ****                         10920402
                   1096: C                                                                       10930402
                   1097: C                                                                       10940402
                   1098: C         TEST 32  TESTS FOR PROPER  EDITING OF THE  A  EDIT            10950402
                   1099: C     DESCRIPTOR WHEN THE WIDTH OF THE DESCRIPTOR IS GREATER THAN THE   10960402
                   1100: C     INTERNAL REPRESENTATION OF THE INPUT LIST ITEM.  THE RIGHTMOST    10970402
                   1101: C     CHARACTERS SHOULD BE TAKEN FROM THE INPUT FIELD.  RECORD NUMBER   10980402
                   1102: C     103 IS EXPECTED TO BE READ.  THE RECORD WAS CREATED IN TEST 17    10990402
                   1103: C     WITH THE FORMAT STATEMENT                                         11000402
                   1104: C                                                                       11010402
                   1105: C     FORMAT (I3,I2,I4,I3,2I4,60HABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789   11020402
                   1106: C    1                     )                                            11030402
                   1107: C                                                                       11040402
                   1108: C                                                                       11050402
                   1109: C                                                                       11060402
                   1110:       IVTNUM =  32                                                      11070402
                   1111:       IF (ICZERO) 30320, 0320, 30320                                    11080402
                   1112:  0320 CONTINUE                                                          11090402
                   1113:       CATN12 (5) = 'AAAAA'                                              11100402
                   1114:       IVCOMP = 0                                                        11110402
                   1115:       IVCORR = 1                                                        11120402
                   1116:  0322 FORMAT (20X,10X,A10,35X)                                          11130402
                   1117:       READ (I09, 0322, END = 0323) CATN12 (5)                           11140402
                   1118:  0323 IF (CATN12(5) .EQ. 'PQRST')  IVCOMP = 1                           11150402
                   1119: 40320 IF (IVCOMP - 1) 20320, 10320, 20320                               11160402
                   1120: 30320 IVDELE = IVDELE + 1                                               11170402
                   1121:       WRITE (I02,80000) IVTNUM                                          11180402
                   1122:       IF (ICZERO) 10320, 0331, 20320                                    11190402
                   1123: 10320 IVPASS = IVPASS + 1                                               11200402
                   1124:       WRITE (I02,80002) IVTNUM                                          11210402
                   1125:       GO TO 0331                                                        11220402
                   1126: 20320 IVFAIL = IVFAIL + 1                                               11230402
                   1127:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          11240402
                   1128:  0331 CONTINUE                                                          11250402
                   1129: C                                                                       11260402
                   1130: C                                                                       11270402
                   1131: C         TESTS 33 AND 34 READ A LONG INPUT FIELD (50 CHARACTERS) AND   11280402
                   1132: C     CHECK RESULTING INTERNAL REPRESENTATION.  THE RECORD IS READ      11290402
                   1133: C     WITH THE SAME A EDIT DESCRIPTOR AS WAS USED TO WRITE THE RECORD.  11300402
                   1134: C                                                                       11310402
                   1135: C                                                                       11320402
                   1136: 70034 FORMAT (12X,2I4,60X)                                              11330402
                   1137:       REWIND I09                                                        11340402
                   1138:       DO 4035 I = 1,150                                                 11350402
                   1139:       READ (I09, 70034, END = 4036) IRECN, IEOF                         11360402
                   1140:       IF (IRECN .EQ. 140) GO TO 4036                                    11370402
                   1141:  4035 CONTINUE                                                          11380402
                   1142:  4036 IF (IRECN - 140) 4037, 4038, 4037                                 11390402
                   1143: C         THE ABOVE CODE POSITIONS THE FILE TO RECORD NUMBER 140 FOR    11400402
                   1144: C     TESTS 33 AND 34.                                                  11410402
                   1145: C                                                                       11420402
                   1146: 70035 FORMAT (61H    THE START RECORD FOR TESTS 33 AND 34 COULD NOT BE  11430402
                   1147:      1FOUND,)                                                           11440402
                   1148: 70036 FORMAT (45H THEREFORE TESTS 33 AND 34     ARE   DELETED.)         11450402
                   1149:  4037 WRITE (I02, 70035)                                                11460402
                   1150:       WRITE (I02, 70036)                                                11470402
                   1151:       GO TO 351                                                         11480402
                   1152:  4038 CONTINUE                                                          11490402
                   1153: C                                                                       11500402
                   1154: C     ****  FCVS PROGRAM 402  -  TEST 033  ****                         11510402
                   1155: C                                                                       11520402
                   1156: C                                                                       11530402
                   1157: C         TEST 33 READS A LONG FIELD WITH THE WIDTH SPECIFIED ON THE  A 11540402
                   1158: C     EDIT DESCRIPTOR.  RECORD NUMBER 141 IS READ.   THE RECORD WAS     11550402
                   1159: C     CREATED IN TEST 18 AND CONTAINS FIELD DATA OF                     11560402
                   1160: C                                                                       11570402
                   1161: C                 'ABCDEFG    HIJKLMN    OPQRSTUVWXYZ      0123456789'  11580402
                   1162: C                                                                       11590402
                   1163: C     WITHOUT THE SURROUNDING APOSTROPHES.                              11600402
                   1164: C                                                                       11610402
                   1165: C                                                                       11620402
                   1166: C                                                                       11630402
                   1167:       IVTNUM =  33                                                      11640402
                   1168:       IF (ICZERO) 30330, 0330, 30330                                    11650402
                   1169:  0330 CONTINUE                                                          11660402
                   1170:       CVTN15 = '                                                   '    11670402
                   1171:       IVCOMP = 0                                                        11680402
                   1172:       IVCORR = 1                                                        11690402
                   1173:  0332 FORMAT (20X,10X,A50)                                              11700402
                   1174:       READ (I09, 0332) CVTN15                                           11710402
                   1175:       IF (CVTN15 .EQ. 'ABCDEFG    HIJKLMN    OPQRSTUVWXYZ      01234567811720402
                   1176:      19')   IVCOMP = 1                                                  11730402
                   1177: 40330 IF  (IVCOMP -1 ) 20330, 10330, 20330                              11740402
                   1178: 30330 IVDELE = IVDELE + 1                                               11750402
                   1179:       WRITE (I02,80000) IVTNUM                                          11760402
                   1180:       IF (ICZERO) 10330, 0341, 20330                                    11770402
                   1181: 10330 IVPASS = IVPASS + 1                                               11780402
                   1182:       WRITE (I02,80002) IVTNUM                                          11790402
                   1183:       GO TO 0341                                                        11800402
                   1184: 20330 IVFAIL = IVFAIL + 1                                               11810402
                   1185:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          11820402
                   1186:  0341 CONTINUE                                                          11830402
                   1187: C                                                                       11840402
                   1188: C     ****  FCVS PROGRAM 402  -  TEST 034  ****                         11850402
                   1189: C                                                                       11860402
                   1190: C                                                                       11870402
                   1191: C         TEST 34 READS A LONG FIELD USING THE A EDIT DESCRIPTOR        11880402
                   1192: C     WITHOUT THE OPTIONAL WIDTH SPECIFIED.  RECORD NUMBER 142 IS READ. 11890402
                   1193: C     THE RECORD WAS CREATED IN TEST 19 AND CONTAINS THE FIELD DATA     11900402
                   1194: C                                                                       11910402
                   1195: C                 'ABCDEFG    HIJKLMN    OPQRSTUVWXYZ      0123456789'  11920402
                   1196: C                                                                       11930402
                   1197: C     WITHOUT THE SURROUNDING APOSTROPHES.                              11940402
                   1198: C                                                                       11950402
                   1199: C                                                                       11960402
                   1200:       IVTNUM =  34                                                      11970402
                   1201:       IF (ICZERO) 30340, 0340, 30340                                    11980402
                   1202:  0340 CONTINUE                                                          11990402
                   1203:       CVTN15 = '                                                   '    12000402
                   1204:       IVCOMP = 0                                                        12010402
                   1205:       IVCORR = 1                                                        12020402
                   1206:  0342 FORMAT (20X,10X,A)                                                12030402
                   1207:       READ (I09, 0342) CVTN15                                           12040402
                   1208:       IF (CVTN15 .EQ. 'ABCDEFG    HIJKLMN    OPQRSTUVWXYZ      01234567812050402
                   1209:      19')   IVCOMP = 1                                                  12060402
                   1210: 40340 IF (IVCOMP - 1) 20340, 10340, 20340                               12070402
                   1211: 30340 IVDELE = IVDELE + 1                                               12080402
                   1212:       WRITE (I02,80000) IVTNUM                                          12090402
                   1213:       IF (ICZERO) 10340, 0351, 20340                                    12100402
                   1214: 10340 IVPASS = IVPASS + 1                                               12110402
                   1215:       WRITE (I02,80002) IVTNUM                                          12120402
                   1216:       GO TO 0351                                                        12130402
                   1217: 20340 IVFAIL = IVFAIL + 1                                               12140402
                   1218:       WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                          12150402
                   1219:  0351 CONTINUE                                                          12160402
                   1220: C                                                                       12170402
                   1221: C                                                                       12180402
                   1222: C                                                                       12190402
                   1223: C        THE FOLLOWING SOURCE CODE BRACKETED BY THE COMMENT LINES       12200402
                   1224: C     *****  BEGIN-FILE-DUMP SECTION AND *****  END-FILE-DUMP SECTION   12210402
                   1225: C     MAY OR MAY NOT  APPEAR AS COMMENTS IN THE SOURCE PROGRAM.         12220402
                   1226: C     THIS CODE IS OPTIONAL AND BY DEFAULT IT IS AUTOMATICALLY COMMENTED12230402
                   1227: C     OUT BY THE EXECUTIVE ROUTINE.  A DUMP OF THE FILE USED BY THIS    12240402
                   1228: C     ROUTINE IS PROVIDED BY USING THE *OPT1 EXECUTIVE ROUTINE CONTROL  12250402
                   1229: C     CARD.  IF THE OPTIONAL CODE IS SELECTED THE ROUTINE WILL DUMP     12260402
                   1230: C     THE CONTENTS OF THE FILE TO THE PRINT FILE FOLLOWING THE TEST     12270402
                   1231: C     REPORT AND BEFORE THE TEST REPORT SUMMARY.                        12280402
                   1232: C                                                                       12290402
                   1233: CDB**   BEGIN FILE DUMP CODE                                            12300402
                   1234: C     REWIND I09                                                        12310402
                   1235: C     IRNUM = 1                                                         12320402
                   1236: C     IRLGN = 80                                                        12330402
                   1237: C     ILUN  = I09                                                       12340402
                   1238: C7701 FORMAT     (I3,I2,I4,I3,2I4,60A1)                                 12350402
                   1239: C7702 FORMAT (1H ,I3,I2,I4,I3,2I4,60A1)                                 12360402
                   1240: C7703 FORMAT (10X,5HFILE ,I2,5H HAS ,I3,13H RECORDS - OK)               12370402
                   1241: C7704 FORMAT (10X,5HFILE ,I2,5H HAS ,I3,27H RECORDS - THERE SHOULD BE , 12380402
                   1242: C    1I3,9H RECORDS.)                                                   12390402
                   1243: C     DO 7771 IRNUM = 1, ITOTR                                          12400402
                   1244: C     READ (ILUN, 7701)  IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       12410402
                   1245: C    1    (IDUMP(ICH), ICH = 1,60)                                      12420402
                   1246: C     WRITE (I02, 7702)  IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       12430402
                   1247: C    1    (IDUMP(ICH), ICH = 1,60)                                      12440402
                   1248: C     IF (IEOF .EQ. 9999)   GO TO 7772                                  12450402
                   1249: C7771 CONTINUE                                                          12460402
                   1250: C     GO TO 7775                                                        12470402
                   1251: C7772 IF (IRNUM - ITOTR)   7774, 7773, 7775                             12480402
                   1252: C7773 WRITE  (I02,  7703)  ILUN, IRNUM                                  12490402
                   1253: C     GO TO 7779                                                        12500402
                   1254: C7774 WRITE (I02,  7704) ILUN, IRNUM, ITOTR                             12510402
                   1255: C     GO TO 7779                                                        12520402
                   1256: C7775 DO 7776  I = 1,20                                                 12530402
                   1257: C     READ (ILUN, 7701)  IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       12540402
                   1258: C    1    (IDUMP(ICH), ICH = 1,60)                                      12550402
                   1259: C     WRITE (I02, 7702)  IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF,       12560402
                   1260: C    1    (IDUMP(ICH), ICH = 1,60)                                      12570402
                   1261: C     IRNUM = IRNUM + 1                                                 12580402
                   1262: C     IF (IEOF .EQ. 9999)  GO TO 7777                                   12590402
                   1263: C7776 CONTINUE                                                          12600402
                   1264: C7777 WRITE  (I02, 7704)  ILUN, IRNUM, ITOTR                            12610402
                   1265: C7779 CONTINUE                                                          12620402
                   1266: CDE**      END OF DUMP CODE                                             12630402
                   1267: C                                                                       12640402
                   1268: C         THERE SHOULD BE  34 TESTS IN THIS ROUTINE                     12650402
                   1269: C                                                                       12660402
                   1270: C                                                                       12670402
                   1271: C                                                                       12680402
                   1272: C                                                                       12690402
                   1273: C     WRITE OUT TEST SUMMARY                                            12700402
                   1274: C                                                                       12710402
                   1275:       WRITE (I02,90004)                                                 12720402
                   1276:       WRITE (I02,90014)                                                 12730402
                   1277:       WRITE (I02,90004)                                                 12740402
                   1278:       WRITE (I02,90000)                                                 12750402
                   1279:       WRITE (I02,90004)                                                 12760402
                   1280:       WRITE (I02,90020) IVFAIL                                          12770402
                   1281:       WRITE (I02,90022) IVPASS                                          12780402
                   1282:       WRITE (I02,90024) IVDELE                                          12790402
                   1283:       STOP                                                              12800402
                   1284: 90001 FORMAT (1H ,24X,5HFM402)                                          12810402
                   1285: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM402)                          12820402
                   1286: C                                                                       12830402
                   1287: C     FORMATS FOR TEST DETAIL LINES                                     12840402
                   1288: C                                                                       12850402
                   1289: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED)                                   12860402
                   1290: 80002 FORMAT (1H ,4X,I5,7X,4HPASS)                                      12870402
                   1291: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6)                         12880402
                   1292: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5)                    12890402
                   1293: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14)                        12900402
                   1294: C                                                                       12910402
                   1295: C     FORMAT STATEMENTS FOR PAGE HEADERS                                12920402
                   1296: C                                                                       12930402
                   1297: 90002 FORMAT (1H1)                                                      12940402
                   1298: 90004 FORMAT (1H )                                                      12950402
                   1299: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM)            12960402
                   1300: 90008 FORMAT (1H ,21X,11HVERSION 1.0)                                   12970402
                   1301: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978)         12980402
                   1302: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT)  12990402
                   1303: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 13000402
                   1304: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST)                             13010402
                   1305: C                                                                       13020402
                   1306: C     FORMAT STATEMENTS FOR RUN SUMMARY                                 13030402
                   1307: C                                                                       13040402
                   1308: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED)                              13050402
                   1309: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED)                              13060402
                   1310: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED)                             13070402
                   1311:       END                                                               13080402

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.