PROGRAM FM401 C C C THIS ROUTINE TESTS FOR PROPER EDITING OF LOGICAL DATA BY C THE L EDIT DESCRIPTOR OF THE FORMAT SPECIFICATION. THE L EDIT C DESCRIPTOR IS FIRST TESTED FOR PROPER EDITING ON OUTPUT BY C DIRECTING THE EDITED RESULT TO A PRINT FILE. THE RESULTS MUST C BE VISUALLY CHECKED FOR CORRECTNESS BY EXAMINING THE EXECUTION C REPORT PRODUCED BY THIS ROUTINE. NEXT A NONPRINTER FILE WHICH C IS CONNECTED FOR SEQUENTIAL ACCESS IS CREATED WITH LOGICAL DATA C FIELDS AND THEN REPOSITIONED TO THE FIRST RECORD IN THE FILE. C THE FILE IS THEN READ USING THE SAME EDIT DESCRIPTORS AS WERE C USED TO CREATE THE FILE AND THE INTERNAL DATA REPRESENTATION AS A C RESULT OF READING THE LOGICAL DATA IS CHECKED. C THE FOLLOWING L EDITING TESTS ARE MADE TO SEE THAT C C (1) THE VALUE T OR F IS PRODUCED ON OUTPUT WHEN THE INTERNAL C DATUM IS TRUE AND FALSE RESPECTIVELY, C (2) THE VALUE OF THE INPUT LIST ITEM IS TRUE OR FALSE C WHEN THE INPUT FIELD IS T AND F RESPECTIVELY, C (3) THE VALUES .T, .F, T, F, .TRUE., .FALSE., .T, AND C .F ARE ACCEPTABLE FORMS FOR INPUT DATA FIELDS C (4) THE INPUT VALUES T OR F MAY BE FOLLOWED BY C ADDITIONAL CHARACTERS IN THE FIELD, C (5) THE REPEATABLE EDIT DESCRIPTOR FOR L EDITING FUNCTIONS C CORRECTLY, C (6) THE FIELDS CONTAINING LOGICAL DATA CAN BE WRITTEN C USING ONE L EDIT DESCRIPTOR AND READ USING A DIFFERENT C FORM OF THE L EDIT DESCRIPTOR. C C REFERENCES - C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, C X3.9-1978 C C SECTION 4.7, LOGICAL TYPE C SECTION 13.1.1, FORMAT STATEMENT C SECTION 13.5.10, L EDITING C C C C ****************************************************************** C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING C THE RESULT OF EXECUTING THESE TESTS. C C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES C FOUND IN THE SUBSET LEVEL OF THE STANDARD. C C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO C DEPARTMENT OF THE NAVY C FEDERAL COBOL COMPILER TESTING SERVICE C WASHINGTON, D.C. 20376 C C ****************************************************************** C C IMPLICIT LOGICAL (L) IMPLICIT CHARACTER*14 (C) C DIMENSION LAON15(5), LAON12(2) DIMENSION IDUMP(132) C C C C INITIALIZATION SECTION. C C INITIALIZE CONSTANTS C ******************** C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER I01 = 5 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER I02 = 6 C SYSTEM ENVIRONMENT SECTION C CX010 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-010 CONTROL CARD. C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 C (UNIT NUMBER FOR CARD READER). CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. C CX020 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-020 CONTROL CARD. C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 C (UNIT NUMBER FOR PRINTER). CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. C IVPASS = 0 IVFAIL = 0 IVDELE = 0 ICZERO = 0 C C WRITE OUT PAGE HEADERS C WRITE (I02,90002) WRITE (I02,90006) WRITE (I02,90008) WRITE (I02,90004) WRITE (I02,90010) WRITE (I02,90004) WRITE (I02,90016) WRITE (I02,90001) WRITE (I02,90004) WRITE (I02,90012) WRITE (I02,90014) WRITE (I02,90004) C C C C TEST 001 THROUGH 007 TESTS THE L EDIT DESCRIPTOR FOR PROPER C EDITING OF LOGICAL DATUM ON OUTPUT. TO VALIDATE THESE TESTS C THE EDITED DATUM IS SENT TO A PRINT FILE AND THEREFORE MUST BE C VISUALLY CHECKED FOR CORRECTNESS. ON OUTPUT THE EDITED FIELD C CONSISTS OF W-1 (W IS NUMBER OF POSITIONS IN THE FIELD) BLANKS C FOLLOWED BY A T OR F AS THE VALUE OF THE DATUM IS TRUE OR FALSE C RESPECTIVELY. SEE SECTION 13.5.10 L EDITING. C C 80052 FORMAT (1H ,4X,48HTESTS 001 THROUGH 007 MUST BE VISUALLY VERIFIED. 1) 80054 FORMAT (1H ,56HIMMEDIATELY FOLLOWING THIS NARRATIVE IS A REFERENCE 1 LINE) 80056 FORMAT (1H ,52HOF THE FORM '123456 ...'. THE REFERENCE LINE IS T 1O) 80058 FORMAT (1H ,49HAID IN THE VISUAL VERIFICATION OF THE TESTS. FOR) 80062 FORMAT (1H ,50HTHE OUTPUT TO BE CORRECT THE DATA VALUES DISPLAYED) 80064 FORMAT (1H ,54HIN THE COMPUTED COLUMN MUST MATCH THAT IN THE CORRE 1CT ) 80066 FORMAT (1H ,44HCOLUMN IN BOTH VALUE AND CHARACTER POSITION.) 80072 FORMAT (1H ,26HREFERENCE LINE - ,10H1234567890,5X,10H1234 1567890) WRITE (I02,80052) WRITE (I02,80054) WRITE (I02,80056) WRITE (I02,80058) WRITE (I02,80062) WRITE (I02,80064) WRITE (I02,80066) WRITE (I02,90004) WRITE (I02,80072) C C **** FCVS PROGRAM 401 - TEST 001 **** C C TEST 001 TESTS FOR PROPER EDITING OF THE L EDIT DESCRIPTOR C ON OUTPUT WHERE THE FIELD IS 1 POSITION IN LENGTH, THE C VALUE OF THE DATUM IS TRUE AND THE OUTPUT LIST ITEM IS A C VARIABLE. C IVTNUM = 001 IF (ICZERO) 30010, 0010, 30010 0010 CONTINUE LCON01 = .TRUE. 0012 FORMAT (1H ,4X,I5,26X,L1,14X,1HT) WRITE (I02, 0012) IVTNUM, LCON01 GO TO 0021 30010 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM 0021 CONTINUE C C **** FCVS PROGRAM 401 - TEST 002 **** C C TEST 002 IS SIMILAR TO TEST 001 EXCEPT THAT THE OUTPUT LIST C ITEM IS AN ARRAY ELEMENT. C IVTNUM = 002 IF (ICZERO) 30020, 0020, 30020 0020 CONTINUE LAON12(2) = .TRUE. 0022 FORMAT (1H ,4X,I5,26X,L1,14X,1HT) WRITE (I02, 0022) IVTNUM, LAON12(2) GO TO 0031 30020 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM 0031 CONTINUE C C **** FCVS PROGRAM 401 - TEST 003 **** C C TEST 003 TESTS TO SEE THAT ON OUTPUT 9 BLANKS PRECEDE THE VALUE C T WHERE THE L EDIT DESCRIPTOR INDICATES THAT THE FIELD OCCUPIES C 10 POSITIONS. THE VALUE OF THE INTERNAL DATUM IS TRUE. C IVTNUM = 003 IF (ICZERO) 30030, 0030, 30030 0030 CONTINUE LCON01 = .TRUE. 0032 FORMAT (1H ,4X,I5,17X,L10,5X,10H T) WRITE (I02, 0032) IVTNUM, LCON01 GO TO 0041 30030 IVDELE = IVDELE + 1 WRITE (I02, 80000) IVTNUM 0041 CONTINUE C C **** FCVS PROGRAM 401 - TEST 004 **** C C TEST 004 TESTS TO SEE THAT THE VALUE F IS PRODUCED ON OUTPUT C WHEN THE VALUE OF THE INTERNAL DATUM IS FALSE AND THE L EDITING C FIELD IS 1 POSITION IN LENGTH. C IVTNUM = 004 IF (ICZERO) 30040, 0040, 30040 0040 CONTINUE LCON02 = .FALSE. 0042 FORMAT (1H ,4X,I5,26X,L1,14X,1HF) WRITE (I02, 0042) IVTNUM, LCON02 GO TO 0051 30040 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM 0051 CONTINUE C C **** FCVS PROGRAM 401 - TEST 005 **** C C TEST 005 VERIFIES THAT ON OUTPUT 9 BLANKS PRECEDE THE VALUE F C WHERE THE L EDIT DESCRIPTOR IS L10 (FIELD OCCUPIES 10 POSITIONS). C THE VALUE OF THE INTERNAL DATUM IS FALSE. C IVTNUM = 005 IF (ICZERO) 30050, 0050, 30050 0050 CONTINUE LCON02 = .FALSE. 0052 FORMAT (1H ,4X,I5,17X,L10,5X,10H F) WRITE (I02, 0052) IVTNUM, LCON02 GO TO 0061 30050 IVDELE = IVDELE + 1 WRITE (I02, 80000) IVTNUM 0061 CONTINUE C C **** FCVS PROGRAM 401 - TEST 006 **** C C TEST 006 TESTS THE OPTIONAL REPEAT SPECIFICATION OF THE L C EDIT DESCRIPTOR WHERE THE FIELD OCCUPIES 1 POSITION (EDIT C DESCRIPTOR IS 5L1). C IVTNUM = 006 IF (ICZERO) 30060, 0060, 30060 0060 CONTINUE LCON01 = .TRUE. LCON02 = .FALSE. LCON03 = .FALSE. LAON12(1) = .FALSE. LAON12(2) = .TRUE. 0062 FORMAT (1H ,4X,I5,17X,5H ,5L1,5X,10H TFFFT) WRITE (I02, 0062) IVTNUM, LCON01, LCON02, LCON03, LAON12(1), 1LAON12(2) GO TO 0071 30060 IVDELE = IVDELE + 1 WRITE (I02, 80000) IVTNUM 0071 CONTINUE C C *** FCVS PROGRAM 401 - TEST 007 **** C C TEST 007 TESTS THE OPTIONAL REPEAT SPECIFICATION OF THE L C EDIT DESCRIPTOR WHERE THE FIELD OCCUPIES 3 POSITIONS (EDIT C DESCRIPTOR IS 3L3). C IVTNUM = 007 IF (ICZERO) 30070, 0070, 30070 0070 CONTINUE LCON01 = .TRUE. LCON02 = .FALSE. LAON12(2) = .TRUE. 0072 FORMAT (1H ,4X,I5,17X,1H ,3L3,5X,10H T F T) WRITE (I02, 0072) IVTNUM, LCON01, LCON02, LAON12(2) GO TO 0081 30070 IVDELE = IVDELE + 1 WRITE (I02, 80000) IVTNUM 0081 CONTINUE C C THE FOLLOWING BLOCK OF SOURCE CODE BEGINNING WITH COMMENT LINE C **** CREATE-FILE SECTION AND ENDING WITH THE COMMENT LINE C **** END-OF-CREATE-FILE SECTION BUILDS A FILE WHICH IS USED IN C TESTING THE L EDIT DESCRIPTOR. THE FILE PROPERTIES ARE C C FILE IDENTIFIER - I08 (X-NUMBER 08) C RECORD SIZE - 80 CHARACTERS C ACCESS METHOD - SEQUENTIAL C RECORD TYPE - FORMATTED C DESIGNATED DEVICE - DISK C TYPE OF DATA - LOGICAL (L FORMAT) C RECORDS IN FILE - 141 C C THE FIRST 20 POSITIONS OF EACH RECORD IN THE FILE UNIQUELY C IDENTIFY THAT RECORD. THE REMAINING POSITONS OF THE RECORD C CONTAIN DATA WHICH IS USED IN TESTING THE L EDIT DESCRIPTOR. C A DESCRIPTION OF EACH FIELD OF THE 20-CHARACTER PREAMBLE FOLLOWS. C C VARIABLE NAME IN PROGRAM CHARACTER POSITIONS C ----------------------- ------------------- C C IPROG (ROUTINE NAME) - 1 THRU 3 C IFILE (LOGICAL/ X-NUMBER) - 4 THRU 5 C ITOTR (RECORDS IN FILE) - 6 THRU 9 C IRLGN (CHARACTERS IN RECORD) - 10 THRU 12 C IRECN (RECORD NUMBER) - 13 THRU 16 C IEOF (9999 IF LAST RECORD) - 17 THRU 20 C C DEFAULT ASSIGNMENT FOR FILE IS I08 = 07 I08 = 07 CX080 THIS CARD IS REPLACED BY THE CONTENTS OF CARD X-080 CX081 THIS CARD IS REPLACED BY THE CONTENTS OF CARD X-081 IPROG = 401 IFILE = I08 ITOTR = 141 IRLGN = 80 IRECN = 0 IEOF = 0 C C THERE ARE 10 SETS OF 14 RECORDS PER SET PLUS ONE C TRAILER RECORD FOR A TOTAL OF 141 DATA RECORDS IN THE FILE. C ALTHOUGH ONLY 12 RECORDS ARE USED IN TESTING, THE FILE IS MADE C LARGER TO PRECLUDE THE FILE FROM BEING TOTALY STORED IN MEMORY C DURING EXECUTION OF THIS ROUTINE. C C C C **** CREATE-FILE SECTION LCON01 = .TRUE. LCON02 = .FALSE. 70001 FORMAT (I3,I2,I4,I3,2I4,58X,1HT,1HF) 70002 FORMAT (I3,I2,I4,I3,2I4,40X,10H T,10H F) 70003 FORMAT (I3,I2,I4,I3,2I4,47X,6H.TRUE.,7H.FALSE.) 70004 FORMAT (I3,I2,I4,I3,2I4,56X,2H.T,2H.F) 70005 FORMAT (I3,I2,I4,I3,2I4,48X,6H .T,6H .F) 70006 FORMAT (I3,I2,I4,I3,2I4,38X,15HTHIS IS ALLOWED,7HFINALLY) 70007 FORMAT (I3,I2,I4,I3,2I4,48X,6HTRUE ,6HFALSE ) 70008 FORMAT (I3,I2,I4,I3,2I4,40X,10H .TIME. ,10H .FIELD. ) 70009 FORMAT (I3,I2,I4,I3,2I4,07X,53HTHIS IS VERY LARGE FIELD FOR INPUT 1OF LOGICAL VALUES.) 70010 FORMAT (I3,I2,I4,I3,2I4,55X,5HTFTFT) 70011 FORMAT (I3,I2,I4,I3,2I4,44X,16H T T F F) 70012 FORMAT (I3,I2,I4,I3,2I4,55X,L5) 70013 FORMAT (I3,I2,I4,I3,2I4,55X,4X,L1) 70014 FORMAT (I3,I2,I4,I3,2I4,59X,1H ) DO 4012 I=1,10 IRECN = IRECN + 1 WRITE (I08, 70001) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70002) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70003) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70004) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70005) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70006) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70007) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70008) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70009) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70010) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70011) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF IRECN = IRECN + 1 WRITE (I08, 70012) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, LCON01 IRECN = IRECN + 1 WRITE (I08, 70012) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, LCON02 IRECN = IRECN + 1 WRITE (I08, 70013) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, LCON01 4012 CONTINUE IRECN = IRECN + 1 IEOF = 9999 WRITE (I08, 70014) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF ENDFILE I08 REWIND I08 WRITE (I02, 90004) 70015 FORMAT (53H FILE I08 HAS BEEN CREATED AND CONTAINS 141 RECORDS) 70016 FORMAT (1H ,38HINCORRECT NUMBER OF RECORDS IN FILE - , I4 , 8H RE 1CORDS) 70017 FORMAT (1H ,49HWRITTEN BUT 141 RECORDS SHOULD HAVE BEEN WRITTEN.) IF (IRECN - 141) 4013, 4014, 4013 4013 WRITE (I02, 70016) IRECN WRITE (I02, 70017) GO TO 4015 4014 WRITE (I02, 70015) WRITE (I02, 90004) 4015 CONTINUE C C **** END-OF-CREATE-FILE SECTION C C C C TEST 8 AND 9 VERIFY THAT ON INPUT THE VALUE T AND F IS TRUE C AND FALSE RESPECTIVELY. THE FIELD IS ONE POSITION IN LENGTH AND C USES THE EDIT DESCRIPTOR L1. C C LVON01 = .FALSE. LVON02 = .TRUE. 0082 FORMAT (78X,L1,L1) READ (I08, 0082) LVON01, LVON02 C THE ABOVE READ AND ASSOCIATED FORMAT STATEMENT IS FOR TESTS 8 C AND 9 C C C **** FCVS PROGRAM 401 - TEST 008 **** C C C TEST 8 TESTS THE FIELD VALUE T FOR A TRUE CONDITION. C C IVTNUM = 8 IF (ICZERO) 30080, 0080, 30080 0080 CONTINUE IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40080 IF (IVCOMP - 1) 20080, 10080, 20080 30080 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10080, 0091, 20080 10080 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0091 20080 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0091 CONTINUE C C **** FCVS PROGRAM 401 - TEST 009 **** C C C TEST 9 TESTS THE VALUE F FOR A FALSE CONDITION C C IVTNUM = 9 IF (ICZERO) 30090, 0090, 30090 0090 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40090 IF (IVCOMP - 0) 20090, 10090, 20090 30090 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10090, 0101, 20090 10090 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0101 20090 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0101 CONTINUE C C C THE INPUT FIELD MAY CONSIST OF OPTIONAL BLANKS FOLLOWED BY T OR C F. TEST 10 AND 11 VERIFY THAT THE VALUE T OR F PRECEDED BY BLANKS C ON INPUT IS TRUE OR FALSE RESPECTIVELY. THE EDIT DESCRIPTOR BEING C TESTED IS L10 (INPUT FIELD HAS 10 POSITIONS). C C LVON01 = .FALSE. LVON02 = .TRUE. 0102 FORMAT (60X,L10,L10) READ (I08, 0102) LVON01, LVON02 C THE ABOVE READ AND ASSOCIATED FORMAT STATEMENT IS FOR TESTS 10 C AND 11 C C **** FCVS PROGRAM 401 - TEST 010 **** C C C TEST 10 TESTS A FIELD OF BLANKS FOLLOWED BY A T FOR A TRUE C CONDITION. C C IVTNUM = 10 IF (ICZERO) 30100, 0100, 30100 0100 CONTINUE IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40100 IF (IVCOMP - 1) 20100, 10100, 20100 30100 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10100, 0111, 20100 10100 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0111 20100 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0111 CONTINUE C C **** FCVS PROGRAM 401 - TEST 011 **** C C C TEST 11 TESTS A FIELD OF BLANKS FOLLOWED BY A F FOR A FALSE C CONDITION C C IVTNUM = 11 IF (ICZERO) 30110, 0110, 30110 0110 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40110 IF (IVCOMP - 0) 20110, 10110, 20110 30110 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10110, 0121, 20110 10110 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0121 20110 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0121 CONTINUE C C C TESTS 12 AND 13 VERIFY THAT THE FIELD CONTENTS .TRUE . OR C .FALSE. ARE ACCEPTABLE INPUT FORMS AND THE VALUE OF THE INTERNAL C DATUM IS TRUE OR FALSE RESPECTIVELY. C C LVON01 = .FALSE. LVON02 = .TRUE. 0122 FORMAT (67X,L6,L7) READ (I08, 0122) LVON01, LVON02 C THE ABOVE READ AND ASSOCIATED FORMAT STATEMENT IS FOR TESTS 12 C AND 13 C C **** FCVS PROGRAM 401 - TEST 012 **** C C C TEST 12 TESTS THE INPUT FIELD CONTENTS .TRUE. FOR A TRUE C CONDITION. C C IVTNUM = 12 IF (ICZERO) 30120, 0120, 30120 0120 CONTINUE IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40120 IF (IVCOMP - 1) 20120, 10120, 20120 30120 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10120, 0131, 20120 10120 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0131 20120 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0131 CONTINUE C C **** FCVS PROGRAM 401 - TEST 013 **** C C C TEST 13 TESTS THE INPUT FIELD CONTENTS .FALSE. FOR A FALSE C CONDITION. C C IVTNUM = 13 IF (ICZERO) 30130, 0130, 30130 0130 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40130 IF (IVCOMP - 0) 20130, 10130, 20130 30130 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10130, 0141, 20130 10130 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0141 20130 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0141 CONTINUE C C C TESTS 14 AND 15 VERIFY THAT VALUE .T OR .F ARE ACCEPTABLE INPUT C FORMS AND THAT THE VALUE OF THE INTERNAL DATUM IS TRUE OR FALSE C RESPECTIVELY. C C LVON01 = .FALSE. LVON02 = .TRUE. 0142 FORMAT (76X,L2,L2) READ (I08, 0142) LVON01, LVON02 C THE ABOVE READ STATEMENT AND ASSOCIATED FORMAT IS FOR TESTS C 14 AND 15 C C C **** FCVS PROGRAM 401 - TEST 014 **** C C TEST 14 TESTS THE INPUT FIELD CONTENTS .T FOR A TRUE CONDITION C C IVTNUM = 14 IF (ICZERO) 30140, 0140, 30140 0140 CONTINUE IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40140 IF (IVCOMP - 1) 20140, 10140, 20140 30140 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10140, 0151, 20140 10140 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0151 20140 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0151 CONTINUE C C **** FCVS PROGRAM 401 - TEST 015 **** C C C TEST 15 TESTS THE INPUT FIELD CONTENTS .F FOR A FALSE CONDITION C C IVTNUM = 15 IF (ICZERO) 30150, 0150, 30150 0150 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40150 IF (IVCOMP - 0) 20150, 10150, 20150 30150 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10150, 0161, 20150 10150 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0161 20150 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0161 CONTINUE C C C TEST 16 AND 17 VERIFY THAT VALUE .T OR .F PRECEDED BY BLANKS C ARE ACCEPTABLE INPUT FORMS AND THE VALUE OF THE INTERNAL DATA C AS A RESULT OF THE READ ARE TRUE AND FALSE RESPECTIVELY. C C LVON01 = .FALSE. LVON02 = .TRUE. 0162 FORMAT (68X,L6,L6) READ (I08, 0162) LVON01, LVON02 C THE ABOVE READ AND ASSOCIATED FORMAT STATEMENT ARE FOR TESTS C 16 AND 17. C C C **** FCVS PROGRAM 401 - TEST 016 **** C C TEST 16 TESTS THE INPUT FIELD CONTENTS .T PRECEDED BY 4 BLANKS C FOR A TRUE CONDITION. C C IVTNUM = 16 IF (ICZERO) 30160, 0160, 30160 0160 CONTINUE IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40160 IF (IVCOMP - 1) 20160, 10160, 20160 30160 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10160, 0171, 20160 10160 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0171 20160 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0171 CONTINUE C C **** FCVS PROGRAM 401 - TEST 017 **** C C C TEST 17 TESTS THE INPUT FIELD CONTENTS .F PRECEDED BY 4 BLANKS C FOR A FALSE CONDITION. C C IVTNUM = 17 IF (ICZERO) 30170, 0170, 30170 0170 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40170 IF (IVCOMP - 0) 20170, 10170, 20170 30170 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10170, 0181, 20170 10170 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0181 20170 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0181 CONTINUE C C C THE INPUT FIELD MAY HAVE T OR F FOLLOWED BY ADDITIONAL C CHARACTERS IN THE FIELD. TESTS 18 THROUGH 24 VERIFY THAT T OR F C FOLLOWED BY ADDITIONAL CHARACTERS ARE ACCEPTABLE INPUT FORMS AND C THE VALUE OF THE LOGICAL ENTITIES AS A RESULT OF THE READ ARE TRUE C AND FALSE RESPECTIVELY. C C LVON01 = .FALSE. LVON02 = .TRUE. 0182 FORMAT (58X,L15,L7) READ (I08, 0182) LVON01, LVON02 C THE ABOVE READ AND ASSOCIATED FORMAT STATEMENT ARE FOR TESTS C 18 AND 19. C C **** FCVS PROGRAM 401 - TEST 018 **** C C C TEST 18 TESTS THE INPUT FIELD CONTENTS OF 'THIS IS ALLOWED' C FOR A TRUE CONDITION. C C IVTNUM = 18 IF (ICZERO) 30180, 0180, 30180 0180 CONTINUE IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40180 IF (IVCOMP - 1) 20180, 10180, 20180 30180 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10180, 0191, 20180 10180 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0191 20180 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0191 CONTINUE C C **** FCVS PROGRAM 401 - TEST 019 **** C C C TEST 19 TEST THE INPUT FIELD CONTENTS 'FINALLY' FOR A C FALSE CONDITION. C C IVTNUM = 19 IF (ICZERO) 30190, 0190, 30190 0190 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40190 IF (IVCOMP - 0) 20190, 10190, 20190 30190 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10190, 0201, 20190 10190 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0201 20190 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0201 CONTINUE C C **** FCVS PROGRAM 401 - TEST 020 **** C C IVTNUM = 20 IF (ICZERO) 30200, 0200, 30200 0200 CONTINUE LVON01 = .FALSE. LVON02 = .TRUE. 0202 FORMAT (68X,L6,L6) READ (I08, 0202) LVON01, LVON02 C THE ABOVE READ AND ASSOCIATED FORMAT STATEMENTS ARE FOR TESTS C 20 AND 21. C C TEST 20 TESTS THE INPUT FIELD CONTENTS OF 'TRUE ' (T FOLLOWED C BY CHARACTERS WHICH INCLUDE SPACES) FOR A TRUE CONDITION. C IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40200 IF (IVCOMP - 1) 20200, 10200, 20200 30200 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10200, 0211, 20200 10200 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0211 20200 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0211 CONTINUE C C **** FCVS PROGRAM 401 - TEST 021 **** C C C TEST 21 TESTS THE INPUT FIELD CONTENTS OF 'FALSE ' C (F FOLLOWED BY CHARACTERS WHICH INCLUDE SPACES) FOR A FALSE C CONDITION. C C IVTNUM = 21 IF (ICZERO) 30210, 0210, 30210 0210 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40210 IF (IVCOMP - 0) 20210, 10210, 20210 30210 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10210, 0221, 20210 10210 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0221 20210 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0221 CONTINUE C C **** FCVS PROGRAM 401 - TEST 022 **** C C C IVTNUM = 22 IF (ICZERO) 30220, 0220, 30220 0220 CONTINUE LVON01 = .FALSE. LVON02 = .TRUE. 0222 FORMAT (60X,L10,L10) READ (I08, 0222) LVON01, LVON02 C THE ABOVE READ AND ASSOCIATED FORMAT STATEMENT ARE FOR TESTS C 22 AND 23. C C TEST 22 TESTS THE INPUT FIELD CONTENTS OF ' .TIME. ' (.T C FOLLOWED BY CHARACTERS WHICH INCLUDE SPACES AND PERIODS) FOR A C TRUE CONDITION. C IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40220 IF (IVCOMP - 1) 20220, 10220, 20220 30220 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10220, 0231, 20220 10220 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0231 20220 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0231 CONTINUE C C **** FCVS PROGRAM 401 - TEST 023 **** C C C TEST 23 TESTS THE INPUT FIELD CONTENTS OF ' .FIELD. ' (.F C FOLLOWED BY CHARACTERS WHICH INCLUDE SPACES AND PERIODS) FOR A C FALSE CONDITION. C C IVTNUM = 23 IF (ICZERO) 30230, 0230, 30230 0230 CONTINUE IVCOMP = 1 IF (.NOT. LVON02) IVCOMP = 0 IVCORR = 0 40230 IF (IVCOMP - 0) 20230, 10230, 20230 30230 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10230, 0241, 20230 10230 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0241 20230 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0241 CONTINUE C C **** FCVS PROGRAM 401 - TEST 024 **** C C C IVTNUM = 24 IF (ICZERO) 30240, 0240, 30240 0240 CONTINUE LVON01 = .FALSE. 0242 FORMAT (27X,L53) READ (I08, 0242) LVON01 C C TEST 24 TESTS USE OF A LARGE INPUT FIELD WITH THE CONTENTS C 'THIS IS A VERY LARGE FIELD FOR INPUT OF LOGICAL VALUES. '. THE C EDIT DESCRIPTOR IS L53 AND THE VALUE OF THE INTERNAL DATUM AS A C RESULT OF THE READ SHOULD GIVE A TRUE CONDITION. C IVCOMP = 0 IF (LVON01) IVCOMP = 1 IVCORR = 1 40240 IF (IVCOMP - 1) 20240, 10240, 20240 30240 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10240, 0251, 20240 10240 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0251 20240 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0251 CONTINUE C C **** FCVS PROGRAM 401 - TEST 025 **** C C C TEST 25 TESTS USE OF THE OPTIONAL REPEAT SPECIFICATION WITH C THE L EDIT DESCRIPTOR. THE INPUT FIELD IS 1 POSITION IN LENGTH. C C IVTNUM = 25 IF (ICZERO) 30250, 0250, 30250 0250 CONTINUE LAON15(1) = .FALSE. LAON15(2) = .TRUE. LAON15(3) = .FALSE. LAON15(4) = .TRUE. LAON15(5) = .FALSE. 0252 FORMAT (75X,5L1) READ (I08, 0252) (LAON15(I), I = 1, 5) IVCOMP = 1 IVCORR = 2310 IF (LAON15(1)) IVCOMP = IVCOMP * 2 IF (.NOT. LAON15(2)) IVCOMP = IVCOMP * 3 IF (LAON15(3)) IVCOMP = IVCOMP * 5 IF (.NOT. LAON15(4)) IVCOMP = IVCOMP * 7 IF (LAON15(5)) IVCOMP = IVCOMP * 11 40250 IF (IVCOMP - 2310) 20250, 10250, 20250 30250 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10250, 0261, 20250 10250 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0261 20250 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0261 CONTINUE C C **** FCVS PROGRAM 401 - TEST 026 **** C C C TEST 26 IS SIMILAR TO TEST 25 EXCEPT THAT EACH INPUT FIELD C CONTAINING LOGICAL DATA IS 4 CHARACTERS IN LENGTH. THE EDIT C DESCRIPTOR IS 4L4. C C IVTNUM = 26 IF (ICZERO) 30260, 0260, 30260 0260 CONTINUE LAON15(1) = .FALSE. LAON15(2) = .FALSE. LAON15(3) = .TRUE. LAON15(4) = .TRUE. 0262 FORMAT (64X,4L4) READ (I08, 0262) (LAON15(I), I = 1, 4) IVCOMP = 1 IVCORR = 210 IF (LAON15 (1)) IVCOMP = IVCOMP * 2 IF (LAON15(2)) IVCOMP = IVCOMP * 3 IF (.NOT. LAON15(3)) IVCOMP = IVCOMP * 5 IF (.NOT. LAON15(4)) IVCOMP = IVCOMP * 7 40260 IF (IVCOMP - 210) 20260, 10260, 20260 30260 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10260, 0271, 20260 10260 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0271 20260 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0271 CONTINUE C C C THE PURPOSE OF TESTS 27 THROUGH 29 IS TO VERIFY THAT RECORDS C CAN BE WRITTEN USING ONE EDIT DESCRIPTOR FORM AND READ USING C ANOTHER FORM. C C C C **** FCVS PROGRAM 401 - TEST 027 **** C C C TEST 27 READS A RECORD WITH THE EDIT DESCRIPTORS 4X,L1. THE C RECORD WAS WRITTEN USING THE DESCRIPTOR L5. THE VALUE OF THE C LOGICAL ENTITIES AS A RESULT OF THE READ SHOULD BE TRUE. C C IVTNUM = 27 IF (ICZERO) 30270, 0270, 30270 0270 CONTINUE LVON01 = .FALSE. 0272 FORMAT (55X,20X,4X,L1) READ (I08, 0272) LVON01 IVCOMP = 0 IVCORR = 1 IF (LVON01) IVCOMP = 1 40270 IF (IVCOMP - 1) 20270, 10270, 20270 30270 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10270, 0281, 20270 10270 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0281 20270 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0281 CONTINUE C C **** FCVS PROGRAM 401 - TEST 028 **** C C TEST 28 READS A RECORD WITH THE EDIT DESCRIPTOR 4X,L1. THE C RECORD WAS WRITTEN USING THE EDIT DESCRIPTOR L5. THIS TEST IS C SIMILAR TO TEST 27 EXCEPT THE VALUE OF THE LOGICAL ENTITIES AS A C RESULT OF THE READ SHOULD BE FALSE. C C IVTNUM = 28 IF (ICZERO) 30280, 0280, 30280 0280 CONTINUE LVON02 = .TRUE. 0282 FORMAT (55X,20X,4X,L1) READ (I08, 0282) LVON02 IVCOMP = 1 IVCORR = 0 IF (.NOT. LVON02) IVCOMP = 0 40280 IF (IVCOMP - 0) 20280, 10280, 20280 30280 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10280, 0291, 20280 10280 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0291 20280 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0291 CONTINUE C C **** FCVS PROGRAM 401 - TEST 029 **** C C C TEST 29 READS A RECORD WITH THE EDIT DESCRIPTOR L5. THE C RECORD WAS WRITTEN USING THE EDIT DESCRIPTORS 4X,L1. THE VALUE C OF INTERNAL DATUM AS A RESULT OF THE READ SHOULD BE TRUE. C C IVTNUM = 29 IF (ICZERO) 30290, 0290, 30290 0290 CONTINUE LVON01 = .FALSE. 0292 FORMAT (55X,20X,L5) READ (I08, 0292) LVON01 IVCOMP = 0 IVCORR = 1 IF (LVON01) IVCOMP = 1 40290 IF (IVCOMP - 1) 20290, 10290, 20290 30290 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10290, 0301, 20290 10290 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0301 20290 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0301 CONTINUE C C C C THE FOLLOWING SOURCE CODE BRACKETED BY THE COMMENT LINES C ***** BEGIN-FILE-DUMP SECTION AND ***** END-FILE-DUMP SECTION C MAY OR MAY NOT APPEAR AS COMMENTS IN THE SOURCE PROGRAM. C THIS CODE IS OPTIONAL AND BY DEFAULT IT IS AUTOMATICALLY COMMENTED C OUT BY THE EXECUTIVE ROUTINE. A DUMP OF THE FILE USED BY THIS C ROUTINE IS PROVIDED BY USING THE *OPT1 EXECUTIVE ROUTINE CONTROL C CARD. IF THE OPTIONAL CODE IS SELECTED THE ROUTINE WILL DUMP C THE CONTENTS OF THE FILE TO THE PRINT FILE FOLLOWING THE TEST C REPORT AND BEFORE THE TEST REPORT SUMMARY. C C ***** BEGIN-FILE-DUMP SECTION ***** C C CDB** C REWIND I08 C ITOTR = 141 C IRNUM = 1 C ILUN = I08 C7701 FORMAT (I3,I2,I4,I3,2I4,60A1) C7702 FORMAT (1H ,I3,I2,I4,I3,2I4,60A1) C7703 FORMAT (10X,5HFILE ,I2,5H HAS ,I3,13H RECORDS - OK) C7704 FORMAT (10X,5HFILE ,I2,5H HAS ,I3,27H RECORDS - THERE SHOULD BE , C 1I3,9H RECORDS.) C DO 7771 IRNUM = 1, ITOTR C READ (ILUN, 7701) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, C 1 (IDUMP(ICH), ICH = 1,60) C WRITE (I02, 7702) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, C 1 (IDUMP(ICH), ICH = 1,60) C IF (IEOF .EQ. 9999) GO TO 7772 C7771 CONTINUE C GO TO 7775 C7772 IF (IRNUM - ITOTR) 7774, 7773, 7775 C7773 WRITE (I02, 7703) ILUN, IRNUM C GO TO 7779 C7774 WRITE (I02, 7704) ILUN, IRNUM, ITOTR C GO TO 7779 C7775 DO 7776 I = 1,20 C READ (ILUN, 7701) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, C 1 (IDUMP(ICH), ICH = 1,60) C WRITE (I02, 7702) IPROG, IFILE, ITOTR, IRLGN, IRECN, IEOF, C 1 (IDUMP(ICH), ICH = 1,60) C IRNUM = IRNUM + 1 C IF (IEOF .EQ. 9999) GO TO 7777 C7776 CONTINUE C7777 WRITE (I02 , 7704) ILUN, IRNUM, ITOTR C7779 CONTINUE CDE** * END-FILE-DUMP SECTION * C TEST 029 IS THE LAST TEST IN THIS PROGRAM. THE ROUTINE SHOULD C HAVE MADE 29 EXPLICIT TESTS AND PROCESSED ONE FILE CONNECTED FOR C SEQUENTIAL ACCESS C C C C WRITE OUT TEST SUMMARY C WRITE (I02,90004) WRITE (I02,90014) WRITE (I02,90004) WRITE (I02,90000) WRITE (I02,90004) WRITE (I02,90020) IVFAIL WRITE (I02,90022) IVPASS WRITE (I02,90024) IVDELE STOP 90001 FORMAT (1H ,24X,5HFM401) 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM401) C C FORMATS FOR TEST DETAIL LINES C 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) C C FORMAT STATEMENTS FOR PAGE HEADERS C 90002 FORMAT (1H1) 90004 FORMAT (1H ) 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 90008 FORMAT (1H ,21X,11HVERSION 1.0) 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 90014 FORMAT (1H ,5X,46H----------------------------------------------) 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) C C FORMAT STATEMENTS FOR RUN SUMMARY C 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) END