| PROGRAM FM204 00010204 |
| C 00020204 |
| C 00030204 |
| C THIS ROUTINE CONTINUES THE TESTING OF CHARACTER VARIABLES AND 00040204 |
| C CHARACTER ARRAYS OF LENGTH ONE. THE CHARACTER FEATURES TESTED IN 00050204 |
| C FM202 AND FM203 ARE USED IN THE TESTS IN THIS ROUTINE. THE 00060204 |
| C FOLLOWING CHARACTER FEATURES ARE TESTED 00070204 |
| C 00080204 |
| C (1) INITIAL DEFINITION OF CHARACTER ENTITIES OF LENGTH ONE BY 00090204 |
| C SPECIFYING THEM IN A DATA STATEMENT. 00100204 |
| C 00110204 |
| C (2) THE SUBSET FORTRAN LANGUAGE SPECIFIES THE FOLLOWING 00120204 |
| C COLLATING SEQUENCE RULES. 00130204 |
| C 00140204 |
| C A LESS THAN B ... LESS THAN Z, 00150204 |
| C 0 LESS THAN 1 ... LESS THAN 9, 00160204 |
| C ALL OF THE DIGITS PRECEDE A OR ALL OF THE DIGITS FOLLOW 00170204 |
| C Z, 00180204 |
| C BLANK IS LESS THAN THE LETTER A AND BLANK IS LESS THAN 00190204 |
| C THE DIGIT ZERO. 00200204 |
| C 00210204 |
| C (3) THE VALUE OF THE INTRINSIC FUNCTION ICHAR IS AN INTEGER 00220204 |
| C IN THE RANGE (0, N-1), WHERE N IS THE NUMBER OF CHARACTERS IN 00230204 |
| C THE COLLATING SEQUENCE FOR THE PROCESSOR. FOR ANY CHARACTERS 00240204 |
| C C1 AND C2 CAPABLE OF REPRESENTATION IN THE PROCESSOR, C1 .LE. C2 00250204 |
| C IS TRUE IF AND ONLY IF ICHAR(C1) .LE. ICHAR(C2) IS TRUE; AND 00260204 |
| C C1 .EQ. C2 IF AND ONLY IF ICHAR(C1) .EQ. ICHAR(C2). 00270204 |
| C 00280204 |
| C REFERENCES 00290204 |
| C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00300204 |
| C X3.9-1978 00310204 |
| C 00320204 |
| C SECTION 3.1.5, COLLATING SEQUENCE AND GRAPHICS 00330204 |
| C SECTION 4.8, CHARACTER TYPE 00340204 |
| C SECTION 6.2, CHARACTER EXPRESSIONS 00350204 |
| C SECTION 6.3.4, CHARACTER RELATIONAL EXPRESSIONS 00360204 |
| C SECTION 6.3.5, INTERPRETATION OF CHARACTER RELATIONAL 00370204 |
| C EXPRESSIONS 00380204 |
| C SECTION 8.4.2, CHARACTER TYPE-STATEMENT 00390204 |
| C SECTION 9.4, CHARACTER CONSTANT IN A DATA STATEMENT 00400204 |
| C SECTION 10.4, CHARACTER ASSIGNMENT STATEMENT 00410204 |
| C SECTION 15.3, INTRINSIC FUNCTIONS 00420204 |
| C SECTION 15.10, TABLE 5 INTRINSIC FUNCTIONS 00430204 |
| C 00440204 |
| C 00450204 |
| C ******************************************************************00460204 |
| C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00470204 |
| C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN 00480204 |
| C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE 00490204 |
| C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT 00500204 |
| C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT00510204 |
| C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS 00520204 |
| C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00530204 |
| C THE RESULT OF EXECUTING THESE TESTS. 00540204 |
| C 00550204 |
| C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES 00560204 |
| C FOUND IN THE SUBSET LEVEL OF THE STANDARD. 00570204 |
| C 00580204 |
| C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00590204 |
| C NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00600204 |
| C SOFTWARE STANDARDS VALIDATION GROUP 00610204 |
| C BUILDING 225 RM A266 00620204 |
| C GAITHERSBURG, MD 20899 00630204 |
| C ******************************************************************00640204 |
| C 00650204 |
| C 00660204 |
| IMPLICIT LOGICAL (L) 00670204 |
| IMPLICIT CHARACTER*14 (C) 00680204 |
| C 00690204 |
| CHARACTER*1 CATN11(47), CATN12(26), CATN13(10) 00700204 |
| CHARACTER CVTN10*1, CATN14(6)*1, CVTN01 00710204 |
| DIMENSION IAON11(47) 00720204 |
| DATA CATN11/'A','B','C','D','E','F','G','H','I','J','K','L','M', 00730204 |
| 1 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1', 00740204 |
| 2 '2','3','4','5','6','7','8','9',' ','=','+','-','*','/','(', 00750204 |
| 3 ')',',','.',''''/ 00760204 |
| DATA CATN12/'A','B','C','D','E','F','G','H','I','J','K','L','M', 00770204 |
| 1 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'/ 00780204 |
| DATA CATN14(1),CATN14(2),CATN14(3),CATN14(4),CATN14(5),CATN14(6) 00790204 |
| 1 /6*'V'/,IAON11/47*7/, CATN13/'0','1','2','3','4','5','6', 00800204 |
| 2 '7','8','9'/,CVTN10/' '/ 00810204 |
| C 00820204 |
| C 00830204 |
| C 00840204 |
| C INITIALIZATION SECTION. 00850204 |
| C 00860204 |
| C INITIALIZE CONSTANTS 00870204 |
| C ******************** 00880204 |
| C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER 00890204 |
| I01 = 5 00900204 |
| C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER 00910204 |
| I02 = 6 00920204 |
| C SYSTEM ENVIRONMENT SECTION 00930204 |
| C 00940204 |
| CX010 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-010 CONTROL CARD.00950204 |
| C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00960204 |
| C (UNIT NUMBER FOR CARD READER). 00970204 |
| CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00980204 |
| C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00990204 |
| C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 01000204 |
| C 01010204 |
| CX020 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-020 CONTROL CARD.01020204 |
| C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 01030204 |
| C (UNIT NUMBER FOR PRINTER). 01040204 |
| CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.01050204 |
| C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01060204 |
| C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 01070204 |
| C 01080204 |
| IVPASS = 0 01090204 |
| IVFAIL = 0 01100204 |
| IVDELE = 0 01110204 |
| ICZERO = 0 01120204 |
| C 01130204 |
| C WRITE OUT PAGE HEADERS 01140204 |
| C 01150204 |
| WRITE (I02,90002) 01160204 |
| WRITE (I02,90006) 01170204 |
| WRITE (I02,90008) 01180204 |
| WRITE (I02,90004) 01190204 |
| WRITE (I02,90010) 01200204 |
| WRITE (I02,90004) 01210204 |
| WRITE (I02,90016) 01220204 |
| WRITE (I02,90001) 01230204 |
| WRITE (I02,90004) 01240204 |
| WRITE (I02,90012) 01250204 |
| WRITE (I02,90014) 01260204 |
| WRITE (I02,90004) 01270204 |
| C 01280204 |
| C 01290204 |
| C TEST 61 THROUGH TEST 73 VERIFY THE CONTENTS OF CHARACTER ARRAY 01300204 |
| C ELEMENTS AND CHARACTER VARIABLES WHICH WERE INITIALLY DEFINED IN 01310204 |
| C A DATA STATEMENT. 01320204 |
| C 01330204 |
| C TEST 61 THROUGH TEST 65 VERIFY THE CONTENTS OF SELECTED 01340204 |
| C ELEMENTS OF THE ARRAY CATN11 WHICH WAS INITIALLY SET EQUAL TO THE 01350204 |
| C 47 CHARACTERS OF THE FORTRAN SUBSET LANGUAGE CHARACTER SET. 01360204 |
| C 01370204 |
| C 01380204 |
| C **** FCVS PROGRAM 204 - TEST 061 **** 01390204 |
| C 01400204 |
| C 01410204 |
| IVTNUM = 61 01420204 |
| IF (ICZERO) 30610, 0610, 30610 01430204 |
| 0610 CONTINUE 01440204 |
| IVCOMP = 0 01450204 |
| IVCORR = 1 01460204 |
| IF (CATN11(1) .EQ. 'A') IVCOMP = 1 01470204 |
| 40610 IF (IVCOMP - 1) 20610, 10610, 20610 01480204 |
| 30610 IVDELE = IVDELE + 1 01490204 |
| WRITE (I02,80000) IVTNUM 01500204 |
| IF (ICZERO) 10610, 0621, 20610 01510204 |
| 10610 IVPASS = IVPASS + 1 01520204 |
| WRITE (I02,80002) IVTNUM 01530204 |
| GO TO 0621 01540204 |
| 20610 IVFAIL = IVFAIL + 1 01550204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01560204 |
| 0621 CONTINUE 01570204 |
| C 01580204 |
| C **** FCVS PROGRAM 204 - TEST 062 **** 01590204 |
| C 01600204 |
| C 01610204 |
| IVTNUM = 62 01620204 |
| IF (ICZERO) 30620, 0620, 30620 01630204 |
| 0620 CONTINUE 01640204 |
| IVCOMP = 0 01650204 |
| IVCORR = 1 01660204 |
| IF (CATN11(47) .EQ. '''') IVCOMP = 1 01670204 |
| 40620 IF (IVCOMP - 1) 20620, 10620, 20620 01680204 |
| 30620 IVDELE = IVDELE + 1 01690204 |
| WRITE (I02,80000) IVTNUM 01700204 |
| IF (ICZERO) 10620, 0631, 20620 01710204 |
| 10620 IVPASS = IVPASS + 1 01720204 |
| WRITE (I02,80002) IVTNUM 01730204 |
| GO TO 0631 01740204 |
| 20620 IVFAIL = IVFAIL + 1 01750204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01760204 |
| 0631 CONTINUE 01770204 |
| C 01780204 |
| C **** FCVS PROGRAM 204 - TEST 063 **** 01790204 |
| C 01800204 |
| C 01810204 |
| IVTNUM = 63 01820204 |
| IF (ICZERO) 30630, 0630, 30630 01830204 |
| 0630 CONTINUE 01840204 |
| IVCOMP = 0 01850204 |
| IVCORR = 1 01860204 |
| IF (CATN11(46) .EQ. '.') IVCOMP = 1 01870204 |
| 40630 IF (IVCOMP - 1) 20630, 10630, 20630 01880204 |
| 30630 IVDELE = IVDELE + 1 01890204 |
| WRITE (I02,80000) IVTNUM 01900204 |
| IF (ICZERO) 10630, 0641, 20630 01910204 |
| 10630 IVPASS = IVPASS + 1 01920204 |
| WRITE (I02,80002) IVTNUM 01930204 |
| GO TO 0641 01940204 |
| 20630 IVFAIL = IVFAIL + 1 01950204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01960204 |
| 0641 CONTINUE 01970204 |
| C 01980204 |
| C **** FCVS PROGRAM 204 - TEST 064 **** 01990204 |
| C 02000204 |
| C 02010204 |
| IVTNUM = 64 02020204 |
| IF (ICZERO) 30640, 0640, 30640 02030204 |
| 0640 CONTINUE 02040204 |
| IVCOMP = 0 02050204 |
| IVCORR = 1 02060204 |
| IF (CATN11(27) .EQ. '0') IVCOMP = 1 02070204 |
| 40640 IF (IVCOMP - 1) 20640, 10640, 20640 02080204 |
| 30640 IVDELE = IVDELE + 1 02090204 |
| WRITE (I02,80000) IVTNUM 02100204 |
| IF (ICZERO) 10640, 0651, 20640 02110204 |
| 10640 IVPASS = IVPASS + 1 02120204 |
| WRITE (I02,80002) IVTNUM 02130204 |
| GO TO 0651 02140204 |
| 20640 IVFAIL = IVFAIL + 1 02150204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02160204 |
| 0651 CONTINUE 02170204 |
| C 02180204 |
| C **** FCVS PROGRAM 204 - TEST 065 **** 02190204 |
| C 02200204 |
| C 02210204 |
| IVTNUM = 65 02220204 |
| IF (ICZERO) 30650, 0650, 30650 02230204 |
| 0650 CONTINUE 02240204 |
| IVCOMP = 0 02250204 |
| IVCORR = 1 02260204 |
| IF (CATN11(36) .EQ. '9') IVCOMP = 1 02270204 |
| 40650 IF (IVCOMP - 1) 20650, 10650, 20650 02280204 |
| 30650 IVDELE = IVDELE + 1 02290204 |
| WRITE (I02,80000) IVTNUM 02300204 |
| IF (ICZERO) 10650, 0661, 20650 02310204 |
| 10650 IVPASS = IVPASS + 1 02320204 |
| WRITE (I02,80002) IVTNUM 02330204 |
| GO TO 0661 02340204 |
| 20650 IVFAIL = IVFAIL + 1 02350204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02360204 |
| 0661 CONTINUE 02370204 |
| C 02380204 |
| C TEST 66 THROUGH TEST 68 VERIFY THE CONTENTS OF SELECTED 02390204 |
| C ELEMENTS OF THE ARRAY CATN12 WHICH WAS INITIALLY SET EQUAL TO THE 02400204 |
| C 26 LETTERS OF THE ALPHABET. 02410204 |
| C 02420204 |
| C 02430204 |
| C **** FCVS PROGRAM 204 - TEST 066 **** 02440204 |
| C 02450204 |
| C 02460204 |
| IVTNUM = 66 02470204 |
| IF (ICZERO) 30660, 0660, 30660 02480204 |
| 0660 CONTINUE 02490204 |
| IVCOMP = 0 02500204 |
| IVCORR = 1 02510204 |
| IF (CATN12(1) .EQ. 'A') IVCOMP = 1 02520204 |
| 40660 IF (IVCOMP - 1) 20660, 10660, 20660 02530204 |
| 30660 IVDELE = IVDELE + 1 02540204 |
| WRITE (I02,80000) IVTNUM 02550204 |
| IF (ICZERO) 10660, 0671, 20660 02560204 |
| 10660 IVPASS = IVPASS + 1 02570204 |
| WRITE (I02,80002) IVTNUM 02580204 |
| GO TO 0671 02590204 |
| 20660 IVFAIL = IVFAIL + 1 02600204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02610204 |
| 0671 CONTINUE 02620204 |
| C 02630204 |
| C **** FCVS PROGRAM 204 - TEST 067 **** 02640204 |
| C 02650204 |
| C 02660204 |
| IVTNUM = 67 02670204 |
| IF (ICZERO) 30670, 0670, 30670 02680204 |
| 0670 CONTINUE 02690204 |
| IVCOMP = 0 02700204 |
| IVCORR = 1 02710204 |
| IF (CATN12(26) .EQ. 'Z') IVCOMP = 1 02720204 |
| 40670 IF (IVCOMP - 1) 20670, 10670, 20670 02730204 |
| 30670 IVDELE = IVDELE + 1 02740204 |
| WRITE (I02,80000) IVTNUM 02750204 |
| IF (ICZERO) 10670, 0681, 20670 02760204 |
| 10670 IVPASS = IVPASS + 1 02770204 |
| WRITE (I02,80002) IVTNUM 02780204 |
| GO TO 0681 02790204 |
| 20670 IVFAIL = IVFAIL + 1 02800204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02810204 |
| 0681 CONTINUE 02820204 |
| C 02830204 |
| C **** FCVS PROGRAM 204 - TEST 068 **** 02840204 |
| C 02850204 |
| C 02860204 |
| IVTNUM = 68 02870204 |
| IF (ICZERO) 30680, 0680, 30680 02880204 |
| 0680 CONTINUE 02890204 |
| IVCOMP = 0 02900204 |
| IVCORR = 1 02910204 |
| IF (CATN12(20) .EQ. 'T') IVCOMP = 1 02920204 |
| 40680 IF (IVCOMP - 1) 20680, 10680, 20680 02930204 |
| 30680 IVDELE = IVDELE + 1 02940204 |
| WRITE (I02,80000) IVTNUM 02950204 |
| IF (ICZERO) 10680, 0691, 20680 02960204 |
| 10680 IVPASS = IVPASS + 1 02970204 |
| WRITE (I02,80002) IVTNUM 02980204 |
| GO TO 0691 02990204 |
| 20680 IVFAIL = IVFAIL + 1 03000204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03010204 |
| 0691 CONTINUE 03020204 |
| C 03030204 |
| C TEST 69 AND TEST 70 VERIFY THE CONTENTS OF SELECTED ELEMENTS 03040204 |
| C OF THE ARRAY CATN13 WHICH WAS INITIALLY SET EQUAL TO THE TEN 03050204 |
| C NUMERIC DIGITS. 03060204 |
| C 03070204 |
| C 03080204 |
| C **** FCVS PROGRAM 204 - TEST 069 **** 03090204 |
| C 03100204 |
| C 03110204 |
| IVTNUM = 69 03120204 |
| IF (ICZERO) 30690, 0690, 30690 03130204 |
| 0690 CONTINUE 03140204 |
| IVCOMP = 0 03150204 |
| IVCORR = 1 03160204 |
| IF (CATN13(1) .EQ. '0') IVCOMP = 1 03170204 |
| 40690 IF (IVCOMP - 1) 20690, 10690, 20690 03180204 |
| 30690 IVDELE = IVDELE + 1 03190204 |
| WRITE (I02,80000) IVTNUM 03200204 |
| IF (ICZERO) 10690, 0701, 20690 03210204 |
| 10690 IVPASS = IVPASS + 1 03220204 |
| WRITE (I02,80002) IVTNUM 03230204 |
| GO TO 0701 03240204 |
| 20690 IVFAIL = IVFAIL + 1 03250204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03260204 |
| 0701 CONTINUE 03270204 |
| C 03280204 |
| C **** FCVS PROGRAM 204 - TEST 070 **** 03290204 |
| C 03300204 |
| C 03310204 |
| IVTNUM = 70 03320204 |
| IF (ICZERO) 30700, 0700, 30700 03330204 |
| 0700 CONTINUE 03340204 |
| IVCOMP = 0 03350204 |
| IVCORR = 1 03360204 |
| IF (CATN13(10) .EQ. '9') IVCOMP = 1 03370204 |
| 40700 IF (IVCOMP - 1) 20700, 10700, 20700 03380204 |
| 30700 IVDELE = IVDELE + 1 03390204 |
| WRITE (I02,80000) IVTNUM 03400204 |
| IF (ICZERO) 10700, 0711, 20700 03410204 |
| 10700 IVPASS = IVPASS + 1 03420204 |
| WRITE (I02,80002) IVTNUM 03430204 |
| GO TO 0711 03440204 |
| 20700 IVFAIL = IVFAIL + 1 03450204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03460204 |
| 0711 CONTINUE 03470204 |
| C 03480204 |
| C **** FCVS PROGRAM 204 - TEST 071 **** 03490204 |
| C 03500204 |
| C TEST 71 VERIFIES THE CONTENTS OF THE VARIABLE CVTN10 WHICH 03510204 |
| C WAS INITIALLY SET EQUAL TO BLANK. 03520204 |
| C 03530204 |
| IVTNUM = 71 03540204 |
| IF (ICZERO) 30710, 0710, 30710 03550204 |
| 0710 CONTINUE 03560204 |
| IVCOMP = 0 03570204 |
| IVCORR = 1 03580204 |
| IF (CVTN10 .EQ. ' ') IVCOMP = 1 03590204 |
| 40710 IF (IVCOMP - 1) 20710, 10710, 20710 03600204 |
| 30710 IVDELE = IVDELE + 1 03610204 |
| WRITE (I02,80000) IVTNUM 03620204 |
| IF (ICZERO) 10710, 0721, 20710 03630204 |
| 10710 IVPASS = IVPASS + 1 03640204 |
| WRITE (I02,80002) IVTNUM 03650204 |
| GO TO 0721 03660204 |
| 20710 IVFAIL = IVFAIL + 1 03670204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03680204 |
| 0721 CONTINUE 03690204 |
| C 03700204 |
| C **** FCVS PROGRAM 204 - TEST 072 **** 03710204 |
| C 03720204 |
| C TEST 72 VERIFIES THE CONTENTS OF THE ARRAY CATN14 WHICH WAS 03730204 |
| C INITIALLY SET EQUAL TO ALL V'S. 03740204 |
| C 03750204 |
| IVTNUM = 72 03760204 |
| IF (ICZERO) 30720, 0720, 30720 03770204 |
| 0720 CONTINUE 03780204 |
| IVCOMP = 0 03790204 |
| IVCORR = 6 03800204 |
| DO 722, I= 1,6 03810204 |
| IF (CATN14(I) .EQ. 'V') IVCOMP = IVCOMP + 1 03820204 |
| 722 CONTINUE 03830204 |
| 40720 IF (IVCOMP - 6) 20720, 10720, 20720 03840204 |
| 30720 IVDELE = IVDELE + 1 03850204 |
| WRITE (I02,80000) IVTNUM 03860204 |
| IF (ICZERO) 10720, 0731, 20720 03870204 |
| 10720 IVPASS = IVPASS + 1 03880204 |
| WRITE (I02,80002) IVTNUM 03890204 |
| GO TO 0731 03900204 |
| 20720 IVFAIL = IVFAIL + 1 03910204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03920204 |
| 0731 CONTINUE 03930204 |
| C 03940204 |
| C **** FCVS PROGRAM 204 - TEST 073 **** 03950204 |
| C 03960204 |
| C TEST 73 VERIFIES THE CONTENTS OF THE ARRAY IAON11 WHICH WAS 03970204 |
| C INITIALLY SET EQUAL TO ALL 7'S. 03980204 |
| C 03990204 |
| IVTNUM = 73 04000204 |
| IF (ICZERO) 30730, 0730, 30730 04010204 |
| 0730 CONTINUE 04020204 |
| IVCOMP = 0 04030204 |
| IVCORR = 47 04040204 |
| DO 732, I= 1,47 04050204 |
| IF (IAON11(I) - 7) 732, 733, 732 04060204 |
| 733 IVCOMP = IVCOMP + 1 04070204 |
| 732 CONTINUE 04080204 |
| 40730 IF (IVCOMP - 47) 20730, 10730, 20730 04090204 |
| 30730 IVDELE = IVDELE + 1 04100204 |
| WRITE (I02,80000) IVTNUM 04110204 |
| IF (ICZERO) 10730, 0741, 20730 04120204 |
| 10730 IVPASS = IVPASS + 1 04130204 |
| WRITE (I02,80002) IVTNUM 04140204 |
| GO TO 0741 04150204 |
| 20730 IVFAIL = IVFAIL + 1 04160204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04170204 |
| 0741 CONTINUE 04180204 |
| C 04190204 |
| C TEST 74 THROUGH TEST 79 VERIFY THE COLLATING SEQUENCE 04200204 |
| C SPECIFICATIONS FOR THE FORTRAN SUBSET LANGUAGE. 04210204 |
| C 04220204 |
| C TEST 74 AND TEST 75 VERIFY THE COLLATING SEQUENCE FOR LETTERS. 04230204 |
| C 04240204 |
| C 04250204 |
| C **** FCVS PROGRAM 204 - TEST 074 **** 04260204 |
| C 04270204 |
| C 04280204 |
| IVTNUM = 74 04290204 |
| IF (ICZERO) 30740, 0740, 30740 04300204 |
| 0740 CONTINUE 04310204 |
| IVCOMP = 1 04320204 |
| IVCORR = 210 04330204 |
| IF ('A' .LT. 'B') IVCOMP = IVCOMP * 2 04340204 |
| IF ('B' .LT. 'M') IVCOMP = IVCOMP * 3 04350204 |
| IF ('M' .LT. 'V') IVCOMP = IVCOMP * 5 04360204 |
| IF ('V' .LT. 'Z') IVCOMP = IVCOMP * 7 04370204 |
| 40740 IF (IVCOMP - 210) 20740, 10740, 20740 04380204 |
| 30740 IVDELE = IVDELE + 1 04390204 |
| WRITE (I02,80000) IVTNUM 04400204 |
| IF (ICZERO) 10740, 0751, 20740 04410204 |
| 10740 IVPASS = IVPASS + 1 04420204 |
| WRITE (I02,80002) IVTNUM 04430204 |
| GO TO 0751 04440204 |
| 20740 IVFAIL = IVFAIL + 1 04450204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04460204 |
| 0751 CONTINUE 04470204 |
| C 04480204 |
| C **** FCVS PROGRAM 204 - TEST 075 **** 04490204 |
| C 04500204 |
| C 04510204 |
| IVTNUM = 75 04520204 |
| IF (ICZERO) 30750, 0750, 30750 04530204 |
| 0750 CONTINUE 04540204 |
| IVCOMP = 0 04550204 |
| IVCORR = 25 04560204 |
| DO 752, I=1,25 04570204 |
| J= I + 1 04580204 |
| IF (CATN12(J) .GT. CATN12(I)) IVCOMP = IVCOMP + 1 04590204 |
| 752 CONTINUE 04600204 |
| 40750 IF (IVCOMP - 25) 20750, 10750, 20750 04610204 |
| 30750 IVDELE = IVDELE + 1 04620204 |
| WRITE (I02,80000) IVTNUM 04630204 |
| IF (ICZERO) 10750, 0761, 20750 04640204 |
| 10750 IVPASS = IVPASS + 1 04650204 |
| WRITE (I02,80002) IVTNUM 04660204 |
| GO TO 0761 04670204 |
| 20750 IVFAIL = IVFAIL + 1 04680204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04690204 |
| 0761 CONTINUE 04700204 |
| C 04710204 |
| C TEST 76 AND TEST 77 VERIFY THE COLLATING SEQUENCE FOR DIGITS. 04720204 |
| C 04730204 |
| C 04740204 |
| C **** FCVS PROGRAM 204 - TEST 076 **** 04750204 |
| C 04760204 |
| C 04770204 |
| IVTNUM = 76 04780204 |
| IF (ICZERO) 30760, 0760, 30760 04790204 |
| 0760 CONTINUE 04800204 |
| IVCOMP = 1 04810204 |
| IVCORR = 30 04820204 |
| IF ('0' .LT. '1') IVCOMP = IVCOMP * 2 04830204 |
| IF ('1' .LT. '5') IVCOMP = IVCOMP * 3 04840204 |
| IF ('5' .LT. '9') IVCOMP = IVCOMP * 5 04850204 |
| 40760 IF (IVCOMP - 30) 20760, 10760, 20760 04860204 |
| 30760 IVDELE = IVDELE + 1 04870204 |
| WRITE (I02,80000) IVTNUM 04880204 |
| IF (ICZERO) 10760, 0771, 20760 04890204 |
| 10760 IVPASS = IVPASS + 1 04900204 |
| WRITE (I02,80002) IVTNUM 04910204 |
| GO TO 0771 04920204 |
| 20760 IVFAIL = IVFAIL + 1 04930204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04940204 |
| 0771 CONTINUE 04950204 |
| C 04960204 |
| C **** FCVS PROGRAM 204 - TEST 077 **** 04970204 |
| C 04980204 |
| C 04990204 |
| IVTNUM = 77 05000204 |
| IF (ICZERO) 30770, 0770, 30770 05010204 |
| 0770 CONTINUE 05020204 |
| IVCOMP = 0 05030204 |
| IVCORR = 9 05040204 |
| DO 772, I=1,9 05050204 |
| J = I + 1 05060204 |
| IF (CATN13(I) .LT. CATN13(J)) IVCOMP = IVCOMP + 1 05070204 |
| 772 CONTINUE 05080204 |
| 40770 IF (IVCOMP - 9) 20770, 10770, 20770 05090204 |
| 30770 IVDELE = IVDELE + 1 05100204 |
| WRITE (I02,80000) IVTNUM 05110204 |
| IF (ICZERO) 10770, 0781, 20770 05120204 |
| 10770 IVPASS = IVPASS + 1 05130204 |
| WRITE (I02,80002) IVTNUM 05140204 |
| GO TO 0781 05150204 |
| 20770 IVFAIL = IVFAIL + 1 05160204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05170204 |
| 0781 CONTINUE 05180204 |
| C 05190204 |
| C **** FCVS PROGRAM 204 - TEST 078 **** 05200204 |
| C 05210204 |
| C TEST 78 VERIFIES THAT BLANK IS LESS THAN THE LETTER A AND BLANK05220204 |
| C IS LESS THAN THE DIGIT ZERO. 05230204 |
| C 05240204 |
| IVTNUM = 78 05250204 |
| IF (ICZERO) 30780, 0780, 30780 05260204 |
| 0780 CONTINUE 05270204 |
| IVCOMP = 1 05280204 |
| IVCORR = 6 05290204 |
| IF (' ' .LT. 'A') IVCOMP = IVCOMP * 2 05300204 |
| IF (' ' .LT. '0') IVCOMP = IVCOMP * 3 05310204 |
| 40780 IF (IVCOMP - 6) 20780, 10780, 20780 05320204 |
| 30780 IVDELE = IVDELE + 1 05330204 |
| WRITE (I02,80000) IVTNUM 05340204 |
| IF (ICZERO) 10780, 0791, 20780 05350204 |
| 10780 IVPASS = IVPASS + 1 05360204 |
| WRITE (I02,80002) IVTNUM 05370204 |
| GO TO 0791 05380204 |
| 20780 IVFAIL = IVFAIL + 1 05390204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05400204 |
| 0791 CONTINUE 05410204 |
| C 05420204 |
| C **** FCVS PROGRAM 204 - TEST 079 **** 05430204 |
| C 05440204 |
| C TEST 79 VERIFIES THAT THE DIGITS AND LETTERS ARE NOT INTERMIXED05450204 |
| C IN THE COLLATING SEQUENCE. EITHER ALL OF THE DIGITS MUST PRECEDE 05460204 |
| C A OR ALL OF THE DIGITS MUST FOLLOW Z. 05470204 |
| C 05480204 |
| IVTNUM = 79 05490204 |
| IF (ICZERO) 30790, 0790, 30790 05500204 |
| 0790 CONTINUE 05510204 |
| IVCOMP = 0 05520204 |
| IVCORR = 10 05530204 |
| IF ('0' .NE. 'A') GO TO 792 05540204 |
| IVCOMP = 111 05550204 |
| GO TO 40790 05560204 |
| 792 IF ('0' .GT. 'A') GO TO 793 05570204 |
| C 05580204 |
| C ZERO IS LESS THAN LETTER A, SO ALL DIGITS MUST BE LESS THAN A05590204 |
| C 05600204 |
| DO 794, I= 1,10 05610204 |
| IF (CATN13(I) .LT. 'A') IVCOMP = IVCOMP + 1 05620204 |
| 794 CONTINUE 05630204 |
| GO TO 40790 05640204 |
| C 05650204 |
| C ZERO IS GREATER THAN LETTER A, SO ALL DIGITS MUST BE GREATER 05660204 |
| C THAN LETTER Z. 05670204 |
| C 05680204 |
| 793 DO 795 I=1,10 05690204 |
| IF (CATN13(I) .GT. 'Z') IVCOMP = IVCOMP + 1 05700204 |
| 795 CONTINUE 05710204 |
| 40790 IF (IVCOMP - 10) 20790,10790, 20790 05720204 |
| 30790 IVDELE = IVDELE + 1 05730204 |
| WRITE (I02,80000) IVTNUM 05740204 |
| IF (ICZERO) 10790, 0801, 20790 05750204 |
| 10790 IVPASS = IVPASS + 1 05760204 |
| WRITE (I02,80002) IVTNUM 05770204 |
| GO TO 0801 05780204 |
| 20790 IVFAIL = IVFAIL + 1 05790204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05800204 |
| 0801 CONTINUE 05810204 |
| C 05820204 |
| C TEST 80 THROUGH TEST 85 PERFORM THE SAME COMPARISONS AS TEST 7405830204 |
| C THROUGH TEST 79 EXCEPT THAT THE ICHAR INTRINSIC FUNCTION IS USED 05840204 |
| C IN PLACE OF THE INDIVIDUAL CHARACTERS. 05850204 |
| C 05860204 |
| C TEST 80 AND TEST 81 VERIFY THE COLLATING SEQUENCE FOR LETTERS 05870204 |
| C USING THE ICHAR INTRINSIC FUNCTION. 05880204 |
| C 05890204 |
| C 05900204 |
| C **** FCVS PROGRAM 204 - TEST 080 **** 05910204 |
| C 05920204 |
| C 05930204 |
| IVTNUM = 80 05940204 |
| IF (ICZERO) 30800, 0800, 30800 05950204 |
| 0800 CONTINUE 05960204 |
| IVCOMP = 1 05970204 |
| IVCORR = 210 05980204 |
| IVON01 = ICHAR('A') 05990204 |
| IVON02 = ICHAR('B') 06000204 |
| IVON03 = ICHAR('M') 06010204 |
| IVON04 = ICHAR('V') 06020204 |
| IVON05 = ICHAR('Z') 06030204 |
| IF (IVON01 .LT. IVON02) IVCOMP = IVCOMP * 2 06040204 |
| IF (IVON02 .LT. IVON03) IVCOMP = IVCOMP * 3 06050204 |
| IF (IVON03 .LT. IVON04) IVCOMP = IVCOMP * 5 06060204 |
| IF (IVON04 .LT. IVON05) IVCOMP = IVCOMP * 7 06070204 |
| 40800 IF (IVCOMP - 210) 20800, 10800, 20800 06080204 |
| 30800 IVDELE = IVDELE + 1 06090204 |
| WRITE (I02,80000) IVTNUM 06100204 |
| IF (ICZERO) 10800, 0811, 20800 06110204 |
| 10800 IVPASS = IVPASS + 1 06120204 |
| WRITE (I02,80002) IVTNUM 06130204 |
| GO TO 0811 06140204 |
| 20800 IVFAIL = IVFAIL + 1 06150204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06160204 |
| 0811 CONTINUE 06170204 |
| C 06180204 |
| C **** FCVS PROGRAM 204 - TEST 081 **** 06190204 |
| C 06200204 |
| C 06210204 |
| IVTNUM = 81 06220204 |
| IF (ICZERO) 30810, 0810, 30810 06230204 |
| 0810 CONTINUE 06240204 |
| IVON01 = 0 06250204 |
| IVON02 = 0 06260204 |
| IVCOMP = 0 06270204 |
| IVCORR = 25 06280204 |
| DO 812, I=1,25 06290204 |
| J= I + 1 06300204 |
| IVON01 = ICHAR(CATN12(J)) 06310204 |
| IVON02 = ICHAR(CATN12(I)) 06320204 |
| IF (IVON01 .GT. IVON02) IVCOMP = IVCOMP + 1 06330204 |
| 812 CONTINUE 06340204 |
| 40810 IF (IVCOMP - 25) 20810, 10810, 20810 06350204 |
| 30810 IVDELE = IVDELE + 1 06360204 |
| WRITE (I02,80000) IVTNUM 06370204 |
| IF (ICZERO) 10810, 0821, 20810 06380204 |
| 10810 IVPASS = IVPASS + 1 06390204 |
| WRITE (I02,80002) IVTNUM 06400204 |
| GO TO 0821 06410204 |
| 20810 IVFAIL = IVFAIL + 1 06420204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06430204 |
| 0821 CONTINUE 06440204 |
| C 06450204 |
| C TEST 82 AND TEST 83 VERIFY THE COLLATING SEQUENCE FOR DIGITS 06460204 |
| C USING THE ICHAR INTRINSIC FUNCTION. 06470204 |
| C 06480204 |
| C 06490204 |
| C **** FCVS PROGRAM 204 - TEST 082 **** 06500204 |
| C 06510204 |
| C 06520204 |
| IVTNUM = 82 06530204 |
| IF (ICZERO) 30820, 0820, 30820 06540204 |
| 0820 CONTINUE 06550204 |
| IVCOMP = 1 06560204 |
| IVCORR = 30 06570204 |
| IF (ICHAR('0') .LT. ICHAR('1')) IVCOMP = IVCOMP *2 06580204 |
| IF (ICHAR('1') .LT. ICHAR('5')) IVCOMP = IVCOMP * 3 06590204 |
| IF (ICHAR('5') .LT. ICHAR('9')) IVCOMP = IVCOMP * 5 06600204 |
| 40820 IF (IVCOMP - 30) 20820, 10820, 20820 06610204 |
| 30820 IVDELE = IVDELE + 1 06620204 |
| WRITE (I02,80000) IVTNUM 06630204 |
| IF (ICZERO) 10820, 0831, 20820 06640204 |
| 10820 IVPASS = IVPASS + 1 06650204 |
| WRITE (I02,80002) IVTNUM 06660204 |
| GO TO 0831 06670204 |
| 20820 IVFAIL = IVFAIL + 1 06680204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06690204 |
| 0831 CONTINUE 06700204 |
| C 06710204 |
| C **** FCVS PROGRAM 204 - TEST 083 **** 06720204 |
| C 06730204 |
| C 06740204 |
| IVTNUM = 83 06750204 |
| IF (ICZERO) 30830, 0830, 30830 06760204 |
| 0830 CONTINUE 06770204 |
| IVON01 = 0 06780204 |
| IVON02 = 0 06790204 |
| IVCOMP = 0 06800204 |
| IVCORR = 9 06810204 |
| DO 832, I=1,9 06820204 |
| J = I + 1 06830204 |
| IVON01 = ICHAR(CATN13(J)) 06840204 |
| IVON02 = ICHAR(CATN13(I)) 06850204 |
| IF (IVON02 .LT. IVON01) IVCOMP = IVCOMP + 1 06860204 |
| 832 CONTINUE 06870204 |
| 40830 IF (IVCOMP -9) 20830, 10830, 20830 06880204 |
| 30830 IVDELE = IVDELE + 1 06890204 |
| WRITE (I02,80000) IVTNUM 06900204 |
| IF (ICZERO) 10830, 0841, 20830 06910204 |
| 10830 IVPASS = IVPASS + 1 06920204 |
| WRITE (I02,80002) IVTNUM 06930204 |
| GO TO 0841 06940204 |
| 20830 IVFAIL = IVFAIL + 1 06950204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06960204 |
| 0841 CONTINUE 06970204 |
| C 06980204 |
| C **** FCVS PROGRAM 204 - TEST 084 **** 06990204 |
| C 07000204 |
| C TEST 84 VERIFIES THAT BLANK IS LESS THAN THE LETTER A AND BLANK07010204 |
| C IS LESS THAN THE DIGIT ZERO. THE INTRINSIC FUNCTION ICHAR IS 07020204 |
| C USED IN THIS TEST. 07030204 |
| C 07040204 |
| IVTNUM = 84 07050204 |
| IF (ICZERO) 30840, 0840, 30840 07060204 |
| 0840 CONTINUE 07070204 |
| IVCOMP = 1 07080204 |
| IVCORR = 6 07090204 |
| IF (ICHAR(' ') .LT. ICHAR('A')) IVCOMP = IVCOMP * 2 07100204 |
| IF (ICHAR(' ') .LT. ICHAR('0')) IVCOMP = IVCOMP * 3 07110204 |
| 40840 IF (IVCOMP - 6) 20840, 10840, 20840 07120204 |
| 30840 IVDELE = IVDELE + 1 07130204 |
| WRITE (I02,80000) IVTNUM 07140204 |
| IF (ICZERO) 10840, 0851, 20840 07150204 |
| 10840 IVPASS = IVPASS + 1 07160204 |
| WRITE (I02,80002) IVTNUM 07170204 |
| GO TO 0851 07180204 |
| 20840 IVFAIL = IVFAIL + 1 07190204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07200204 |
| 0851 CONTINUE 07210204 |
| C 07220204 |
| C **** FCVS PROGRAM 204 - TEST 085 **** 07230204 |
| C 07240204 |
| C TEST 85 VERIFIES THAT THE DIGITS AND LETTERS ARE NOT INTERMIXED07250204 |
| C IN THE COLLATING SEQUENCE. THE ICHAR INTRINSIC FUNCTION IS USED 07260204 |
| C TO VERIFY THAT EITHER ALL OF THE DIGITS PRECEDE A OR ALL OF THE 07270204 |
| C DIGITS FOLLOW Z. 07280204 |
| C 07290204 |
| IVTNUM = 85 07300204 |
| IF (ICZERO) 30850, 0850, 30850 07310204 |
| 0850 CONTINUE 07320204 |
| IVCOMP = 0 07330204 |
| IVCORR = 10 07340204 |
| IF (ICHAR('0') .NE. ICHAR('A')) GO TO 852 07350204 |
| IVCOMP = 111 07360204 |
| GO TO 40850 07370204 |
| 852 IF (ICHAR('0') .GT. ICHAR('A')) GO TO 853 07380204 |
| C 07390204 |
| C ZERO IS LESS THAN LETTER A ACCORDING TO ICHAR INTRINSIC 07400204 |
| C FUNCTION VALUE. THUS, THE ICHAR VALUE FOR ALL DIGITS MUST BE 07410204 |
| C LESS THAN ICHAR VALUE FOR LETTER A. 07420204 |
| C 07430204 |
| DO 854, I=1,10 07440204 |
| IF (ICHAR(CATN13(I)) .LT. ICHAR('A')) IVCOMP = IVCOMP + 1 07450204 |
| 854 CONTINUE 07460204 |
| GO TO 40850 07470204 |
| C 07480204 |
| C ZERO IS GREATER THAN LETTER A ACCORDING TO ICHAR INTRINSIC 07490204 |
| C FUNCTION VALUE. THUS, THE ICHAR VALUE FOR ALL DIGITS MUST BE 07500204 |
| C GREATER THAN ICHAR VALUE FOR LETTER Z. 07510204 |
| C 07520204 |
| 853 DO 855, I=1,10 07530204 |
| IF (ICHAR(CATN13(I)).GT. ICHAR('Z')) IVCOMP = IVCOMP + 1 07540204 |
| 855 CONTINUE 07550204 |
| 40850 IF (IVCOMP - 10) 20850, 10850, 20850 07560204 |
| 30850 IVDELE = IVDELE + 1 07570204 |
| WRITE (I02,80000) IVTNUM 07580204 |
| IF (ICZERO) 10850, 0861, 20850 07590204 |
| 10850 IVPASS = IVPASS + 1 07600204 |
| WRITE (I02,80002) IVTNUM 07610204 |
| GO TO 0861 07620204 |
| 20850 IVFAIL = IVFAIL + 1 07630204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07640204 |
| 0861 CONTINUE 07650204 |
| C 07660204 |
| C **** FCVS PROGRAM 204 - TEST 086 **** 07670204 |
| C 07680204 |
| C THE ARRAY IAON11 IS SET EQUAL TO THE ICHAR INTRINSIC FUNCTION07690204 |
| C VALUE OF THE CORRESPONDING ELEMENT IN THE CATN11 ARRAY. THE 07700204 |
| C IAON11 ARRAY IS THEN SORTED IN ASCENDING ORDER, AND ENTRIES IN 07710204 |
| C THE CATN11 ARRAY ARE ARRANGED ACCORDING TO THE ASCENDING SORT 07720204 |
| C ORDER IN IAON11. THE RESULTING ORDER OF THE CATN11 ARRAY GIVES 07730204 |
| C THE PROCESSOR'S COLLATING SEQUENCE FOR THE FORTRAN SUBSET LANGUAGE07740204 |
| C CHARACTER SET. THE CATN11 ARRAY IS PRINTED AND MUST BE VISUALLY 07750204 |
| C CHECKED TO DETERMINE IF THE COLLATING SEQUENCE RULES ARE FOLLOWED 07760204 |
| C BY THE COMPILER. 07770204 |
| C 07780204 |
| IVTNUM = 86 07790204 |
| IF (ICZERO) 30860, 0860, 30860 07800204 |
| 0860 CONTINUE 07810204 |
| IVCOMP = 0 07820204 |
| C 07830204 |
| C INITIALIZE IAON11 TO ZERO. 07840204 |
| DO 862 I=1,47 07850204 |
| IAON11(I) = 0 07860204 |
| 862 CONTINUE 07870204 |
| C 07880204 |
| C PLACE ICHAR INTRINSIC VALUE IN IAON11. 07890204 |
| C 07900204 |
| DO 863, I= 1,47 07910204 |
| IAON11(I) = ICHAR(CATN11(I)) 07920204 |
| 863 CONTINUE 07930204 |
| C 07940204 |
| C SORT FORTRAN CHARACTERS ACCORDING TO THEIR POSITION IN THE 07950204 |
| C COLLATING SEQUENCE. 07960204 |
| C 07970204 |
| DO 864, I=1,46 07980204 |
| J=I 07990204 |
| N = I + 1 08000204 |
| DO 865 K = N,47 08010204 |
| IF (IAON11(J) .LT. IAON11(K)) GO TO 865 08020204 |
| J=K 08030204 |
| 865 CONTINUE 08040204 |
| IVON01 = IAON11(J) 08050204 |
| IAON11(J)= IAON11(I) 08060204 |
| IAON11(I)= IVON01 08070204 |
| CVTN01 = CATN11(J) 08080204 |
| CATN11(J) = CATN11(I) 08090204 |
| CATN11(I) = CVTN01 08100204 |
| 864 CONTINUE 08110204 |
| WRITE (I02, 866) CATN11 08120204 |
| WRITE (I02, 867) IAON11 08130204 |
| 866 FORMAT (3X,'FORTRAN CHARACTER SET IN ASCENDING ORDER',3X,/ 08140204 |
| 1 3X, 'VISUAL VERIFICATION REQUIRED' //,3X, 12(A1,3X)/ 08150204 |
| 2 3X, 12(A1,3X)/ 3X, 12(A1,3X)/ 3X, 11(A1,3X)) 08160204 |
| 867 FORMAT ( 3X/3X, 'ICHAR INTRINSIC FUNCTION VALUES FOR FORTRAN ', 08170204 |
| 1 'CHARACTER SET'// 3X, 12I4/ 3X, 12I4/ 3X, 12I4/ 08180204 |
| 2 3X,11I4//) 08190204 |
| IVCOMP = 1 08200204 |
| IVCORR = 1 08210204 |
| 40860 IF (IVCOMP - 1) 20860, 10860, 20860 08220204 |
| 30860 IVDELE = IVDELE + 1 08230204 |
| WRITE (I02,80000) IVTNUM 08240204 |
| IF (ICZERO) 10860, 0871, 20860 08250204 |
| 10860 IVPASS = IVPASS + 1 08260204 |
| WRITE (I02,80002) IVTNUM 08270204 |
| GO TO 0871 08280204 |
| 20860 IVFAIL = IVFAIL + 1 08290204 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08300204 |
| 0871 CONTINUE 08310204 |
| C 08320204 |
| C 08330204 |
| C WRITE OUT TEST SUMMARY 08340204 |
| C 08350204 |
| WRITE (I02,90004) 08360204 |
| WRITE (I02,90014) 08370204 |
| WRITE (I02,90004) 08380204 |
| WRITE (I02,90000) 08390204 |
| WRITE (I02,90004) 08400204 |
| WRITE (I02,90020) IVFAIL 08410204 |
| WRITE (I02,90022) IVPASS 08420204 |
| WRITE (I02,90024) IVDELE 08430204 |
| STOP 08440204 |
| 90001 FORMAT (" ",24X,"FM204") 08450204 |
| 90000 FORMAT (" ",20X,"END OF PROGRAM FM204" ) 08460204 |
| C 08470204 |
| C FORMATS FOR TEST DETAIL LINES 08480204 |
| C 08490204 |
| 80000 FORMAT (" ",4X,I5,6X,"DELETED") 08500204 |
| 80002 FORMAT (" ",4X,I5,7X,"PASS") 08510204 |
| 80010 FORMAT (" ",4X,I5,7X,"FAIL",10X,I6,9X,I6) 08520204 |
| 80012 FORMAT (" ",4X,I5,7X,"FAIL",4X,E12.5,3X,E12.5) 08530204 |
| 80018 FORMAT (" ",4X,I5,7X,"FAIL",2X,A14,1X,A14) 08540204 |
| C 08550204 |
| C FORMAT STATEMENTS FOR PAGE HEADERS 08560204 |
| C 08570204 |
| 90002 FORMAT ("1") 08580204 |
| 90004 FORMAT (" ") 08590204 |
| 90006 FORMAT (" ",10X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 08600204 |
| 90008 FORMAT (" ",21X,"VERSION 2.1" ) 08610204 |
| 90010 FORMAT (" ",8X,"FOR OFFICIAL USE ONLY - COPYRIGHT 1978" ) 08620204 |
| 90012 FORMAT (" ",5X,"TEST",5X,"PASS/FAIL",5X,"COMPUTED",8X,"CORRECT") 08630204 |
| 90014 FORMAT (" ",5X,"----------------------------------------------" ) 08640204 |
| 90016 FORMAT (" ",18X,"SUBSET LEVEL TEST" ) 08650204 |
| C 08660204 |
| C FORMAT STATEMENTS FOR RUN SUMMARY 08670204 |
| C 08680204 |
| 90020 FORMAT (" ",19X,I5," TESTS FAILED" ) 08690204 |
| 90022 FORMAT (" ",19X,I5," TESTS PASSED" ) 08700204 |
| 90024 FORMAT (" ",19X,I5," TESTS DELETED" ) 08710204 |
| END 08720204 |