| PROGRAM FM715 00010715 |
| C 00020715 |
| C THIS ROUTINE TESTS CHARACTER EXPRESSIONS ANS REF. 00030715 |
| C AND CONCATENATION OPERATIONS USING 6.2, 6.2.1, 00040715 |
| C ASSIGNMENT STATEMENTS AND RELATIONAL 6.2.2, 6.2.2.2,00050715 |
| C EXPRESSIONS. 6.6.5 00060715 |
| C 00070715 |
| C THIS ROUTINE USES ROUTINES CF716-CF717 AS FUNCTION SUBPROGRAMS. 00080715 |
| C 00090715 |
| C THE FUNCTION LEN IS ASSUMED WORKING. 00100715 |
| C 00110715 |
| CBB** ********************** BBCCOMNT **********************************00120715 |
| C**** 00130715 |
| C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00140715 |
| C**** VERSION 2.1 00150715 |
| C**** 00160715 |
| C**** 00170715 |
| C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00180715 |
| C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00190715 |
| C**** SOFTWARE STANDARDS VALIDATION GROUP 00200715 |
| C**** BUILDING 225 RM A266 00210715 |
| C**** GAITHERSBURG, MD 20899 00220715 |
| C**** 00230715 |
| C**** 00240715 |
| C**** 00250715 |
| CBE** ********************** BBCCOMNT **********************************00260715 |
| IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00270715 |
| IMPLICIT CHARACTER*27 (C) 00280715 |
| CBB** ********************** BBCINITA **********************************00290715 |
| C**** SPECIFICATION STATEMENTS 00300715 |
| C**** 00310715 |
| CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00320715 |
| 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00330715 |
| CBE** ********************** BBCINITA **********************************00340715 |
| C 00350715 |
| CHARACTER CVCOMP*65, CVCORR*65, CPN001*5, CPN002*10 00360715 |
| CHARACTER CVN001*7, CVN002*35, C2N001(2,2)*6, CF716*10 00370715 |
| CHARACTER*(*) CPN003 00380715 |
| CHARACTER*2 CVN003, CVN004, CVD005, CF717 00390715 |
| PARAMETER (CPN001='PQRST', CPN002='EXPRESSION') 00400715 |
| PARAMETER (CPN003='NOW IS THE TIME FOR ALL GOOD MEN') 00410715 |
| DATA CVN001 / 'ONE+TWO' / 00420715 |
| DATA CVN002 / 'THIS-IS-A-LONG-CHARACTER-STRING' / 00430715 |
| DATA C2N001 / 'ABCDEF', 'GHIJKL', 'MNOPQR', 'STUVWX' / 00440715 |
| C 00450715 |
| C 00460715 |
| CBB** ********************** BBCINITB **********************************00470715 |
| C**** INITIALIZE SECTION 00480715 |
| DATA ZVERS, ZVERSD, ZDATE 00490715 |
| 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00500715 |
| DATA ZCOMPL, ZNAME, ZTAPE 00510715 |
| 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00520715 |
| DATA ZPROJ, ZTAPED, ZPROG 00530715 |
| 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00540715 |
| DATA REMRKS /' '/ 00550715 |
| C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00560715 |
| C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00570715 |
| C**** 00580715 |
| CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00590715 |
| CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00600715 |
| CZ03 ZPROG = 'PROGRAM NAME' 00610715 |
| CZ04 ZDATE = 'DATE OF TEST' 00620715 |
| CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00630715 |
| CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00640715 |
| CZ07 ZNAME = 'NAME OF USER' 00650715 |
| CZ08 ZTAPE = 'TAPE OWNER/ID' 00660715 |
| CZ09 ZTAPED = 'DATE TAPE COPIED' 00670715 |
| C 00680715 |
| IVPASS = 0 00690715 |
| IVFAIL = 0 00700715 |
| IVDELE = 0 00710715 |
| IVINSP = 0 00720715 |
| IVTOTL = 0 00730715 |
| IVTOTN = 0 00740715 |
| ICZERO = 0 00750715 |
| C 00760715 |
| C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00770715 |
| I01 = 05 00780715 |
| C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00790715 |
| I02 = 06 00800715 |
| C 00810715 |
| CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00820715 |
| C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00830715 |
| CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00840715 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00850715 |
| C 00860715 |
| CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00870715 |
| C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00880715 |
| CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00890715 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00900715 |
| C 00910715 |
| CBE** ********************** BBCINITB **********************************00920715 |
| ZPROG='FM715' 00930715 |
| IVTOTL = 34 00940715 |
| CBB** ********************** BBCHED0A **********************************00950715 |
| C**** 00960715 |
| C**** WRITE REPORT TITLE 00970715 |
| C**** 00980715 |
| WRITE (I02, 90002) 00990715 |
| WRITE (I02, 90006) 01000715 |
| WRITE (I02, 90007) 01010715 |
| WRITE (I02, 90008) ZVERS, ZVERSD 01020715 |
| WRITE (I02, 90009) ZPROG, ZPROG 01030715 |
| WRITE (I02, 90010) ZDATE, ZCOMPL 01040715 |
| CBE** ********************** BBCHED0A **********************************01050715 |
| CBB** ********************** BBCHED0B **********************************01060715 |
| C**** WRITE DETAIL REPORT HEADERS 01070715 |
| C**** 01080715 |
| WRITE (I02,90004) 01090715 |
| WRITE (I02,90004) 01100715 |
| WRITE (I02,90013) 01110715 |
| WRITE (I02,90014) 01120715 |
| WRITE (I02,90015) IVTOTL 01130715 |
| CBE** ********************** BBCHED0B **********************************01140715 |
| C 01150715 |
| C TESTS 1-12 - CHARACTER EXPRESSIONS 01160715 |
| C 01170715 |
| C 01180715 |
| CT001* TEST 001 **** FCVS PROGRAM 715 **** 01190715 |
| C 01200715 |
| C CHARACTER CONSTANT IN AN ASSIGNMENT STATEMENT 01210715 |
| C 01220715 |
| IVTNUM = 1 01230715 |
| CVCOMP = ' ' 01240715 |
| IVCOMP = 0 01250715 |
| CVCORR = 'CONSTANT' 01260715 |
| CVCOMP = 'CONSTANT' 01270715 |
| IF (CVCOMP .EQ. 'CONSTANT') IVCOMP = 1 01280715 |
| IF (IVCOMP - 1) 20010, 10010, 20010 01290715 |
| 10010 IVPASS = IVPASS + 1 01300715 |
| WRITE (I02,80002) IVTNUM 01310715 |
| GO TO 0011 01320715 |
| 20010 IVFAIL = IVFAIL + 1 01330715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 01340715 |
| 0011 CONTINUE 01350715 |
| C 01360715 |
| CT002* TEST 002 **** FCVS PROGRAM 715 **** 01370715 |
| C 01380715 |
| C CHARACTER CONSTANT IN AN IF STATEMENT 01390715 |
| C 01400715 |
| IVTNUM = 2 01410715 |
| IVCOMP = 0 01420715 |
| CVCOMP = ' ' 01430715 |
| IVCORR = 1 01440715 |
| CVCOMP = 'RELATIONAL' 01450715 |
| IF (CVCOMP.EQ.'RELATIONAL') IVCOMP = 1 01460715 |
| 40020 IF (IVCOMP - 1) 20020, 10020, 20020 01470715 |
| 10020 IVPASS = IVPASS + 1 01480715 |
| WRITE (I02,80002) IVTNUM 01490715 |
| GO TO 0021 01500715 |
| 20020 IVFAIL = IVFAIL + 1 01510715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01520715 |
| 0021 CONTINUE 01530715 |
| C 01540715 |
| CT003* TEST 003 **** FCVS PROGRAM 715 **** 01550715 |
| C 01560715 |
| C SYMBOLIC NAME OF A CHARACTER CONSTANT IN AN ASSIGNMENT STATEMENT 01570715 |
| C 01580715 |
| IVTNUM = 3 01590715 |
| CVCOMP = ' ' 01600715 |
| IVCOMP = 0 01610715 |
| CVCORR = 'PQRST' 01620715 |
| CVCOMP = CPN001 01630715 |
| IF (CVCOMP .EQ. 'PQRST') IVCOMP = 1 01640715 |
| IF (IVCOMP - 1) 20030, 10030, 20030 01650715 |
| 10030 IVPASS = IVPASS + 1 01660715 |
| WRITE (I02,80002) IVTNUM 01670715 |
| GO TO 0031 01680715 |
| 20030 IVFAIL = IVFAIL + 1 01690715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 01700715 |
| 0031 CONTINUE 01710715 |
| C 01720715 |
| CT004* TEST 004 **** FCVS PROGRAM 715 **** 01730715 |
| C 01740715 |
| C SYMBOLIC NAME OF A CHARACTER CONSTANT IN AN IF STATEMENT 01750715 |
| C 01760715 |
| IVTNUM = 4 01770715 |
| IVCOMP = 0 01780715 |
| CVCOMP = ' ' 01790715 |
| IVCORR = 1 01800715 |
| CVCOMP = 'EXPRESSION' 01810715 |
| IF (CVCOMP.EQ.CPN002) IVCOMP = 1 01820715 |
| 40040 IF (IVCOMP - 1) 20040, 10040, 20040 01830715 |
| 10040 IVPASS = IVPASS + 1 01840715 |
| WRITE (I02,80002) IVTNUM 01850715 |
| GO TO 0041 01860715 |
| 20040 IVFAIL = IVFAIL + 1 01870715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01880715 |
| 0041 CONTINUE 01890715 |
| C 01900715 |
| CT005* TEST 005 **** FCVS PROGRAM 715 **** 01910715 |
| C 01920715 |
| C CHARACTER VARIABLE IN AN ASSIGNMENT STATEMENT 01930715 |
| C 01940715 |
| IVTNUM = 5 01950715 |
| CVCOMP = ' ' 01960715 |
| IVCOMP = 0 01970715 |
| CVCORR = 'ONE+TWO' 01980715 |
| CVCOMP = CVN001 01990715 |
| IF (CVCOMP .EQ. 'ONE+TWO') IVCOMP = 1 02000715 |
| IF (IVCOMP - 1) 20050, 10050, 20050 02010715 |
| 10050 IVPASS = IVPASS + 1 02020715 |
| WRITE (I02,80002) IVTNUM 02030715 |
| GO TO 0051 02040715 |
| 20050 IVFAIL = IVFAIL + 1 02050715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02060715 |
| 0051 CONTINUE 02070715 |
| C 02080715 |
| CT006* TEST 006 **** FCVS PROGRAM 715 **** 02090715 |
| C 02100715 |
| C CHARACTER VARIABLE IN AN IF STATEMENT 02110715 |
| C 02120715 |
| IVTNUM = 6 02130715 |
| IVCOMP = 0 02140715 |
| CVCOMP = ' ' 02150715 |
| IVCORR = 1 02160715 |
| CVCOMP = 'THIS-IS-A-LONG-CHARACTER-STRING' 02170715 |
| IF (CVCOMP.EQ.CVN002) IVCOMP = 1 02180715 |
| 40060 IF (IVCOMP - 1) 20060, 10060, 20060 02190715 |
| 10060 IVPASS = IVPASS + 1 02200715 |
| WRITE (I02,80002) IVTNUM 02210715 |
| GO TO 0061 02220715 |
| 20060 IVFAIL = IVFAIL + 1 02230715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02240715 |
| 0061 CONTINUE 02250715 |
| C 02260715 |
| CT007* TEST 007 **** FCVS PROGRAM 715 **** 02270715 |
| C 02280715 |
| C CHARACTER ARRAY ELEMENT REFERENCE IN AN ASSIGNMENT STATEMENT 02290715 |
| C 02300715 |
| IVTNUM = 7 02310715 |
| CVCOMP = ' ' 02320715 |
| CVCORR = 'GHIJKL' 02330715 |
| IVCOMP = 0 02340715 |
| CVCOMP = C2N001(2,1) 02350715 |
| IF (CVCOMP .EQ. 'GHIJKL') IVCOMP = 1 02360715 |
| IF (IVCOMP - 1) 20070, 10070, 20070 02370715 |
| 10070 IVPASS = IVPASS + 1 02380715 |
| WRITE (I02,80002) IVTNUM 02390715 |
| GO TO 0071 02400715 |
| 20070 IVFAIL = IVFAIL + 1 02410715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02420715 |
| 0071 CONTINUE 02430715 |
| C 02440715 |
| CT008* TEST 008 **** FCVS PROGRAM 715 **** 02450715 |
| C 02460715 |
| C CHARACTER ARRAY ELEMENT REFERENCE IN AN IF STATEMENT 02470715 |
| C 02480715 |
| IVTNUM = 8 02490715 |
| CVCOMP = ' ' 02500715 |
| IVCOMP = 0 02510715 |
| IVCORR = 1 02520715 |
| CVCOMP = 'MNOPQR' 02530715 |
| IF (CVCOMP.EQ.C2N001(1,2)) IVCOMP = 1 02540715 |
| 40080 IF (IVCOMP - 1) 20080, 10080, 20080 02550715 |
| 10080 IVPASS = IVPASS + 1 02560715 |
| WRITE (I02,80002) IVTNUM 02570715 |
| GO TO 0081 02580715 |
| 20080 IVFAIL = IVFAIL + 1 02590715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02600715 |
| 0081 CONTINUE 02610715 |
| C 02620715 |
| CT009* TEST 009 **** FCVS PROGRAM 715 **** 02630715 |
| C 02640715 |
| C SUBSTRING REFERENCE IN AN ASSIGNMENT STATEMENT 02650715 |
| C 02660715 |
| IVTNUM = 9 02670715 |
| CVCOMP = ' ' 02680715 |
| IVCOMP = 0 02690715 |
| CVCORR = 'CTER-STRIN' 02700715 |
| CVCOMP = CVN002(21:30) 02710715 |
| IF (CVCOMP .EQ. 'CTER-STRIN') IVCOMP = 1 02720715 |
| IF (IVCOMP - 1) 20090, 10090, 20090 02730715 |
| 10090 IVPASS = IVPASS + 1 02740715 |
| WRITE (I02,80002) IVTNUM 02750715 |
| GO TO 0091 02760715 |
| 20090 IVFAIL = IVFAIL + 1 02770715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02780715 |
| 0091 CONTINUE 02790715 |
| C 02800715 |
| CT010* TEST 010 **** FCVS PROGRAM 715 **** 02810715 |
| C 02820715 |
| C SUBSTRING REFERENCE IN AN IF STATEMENT 02830715 |
| C 02840715 |
| IVTNUM = 10 02850715 |
| IVCOMP = 0 02860715 |
| CVCOMP = ' ' 02870715 |
| IVCORR = 1 02880715 |
| CVCOMP = 'A-LONG-CHA' 02890715 |
| IF (CVCOMP.EQ.CVN002(9:18)) IVCOMP = 1 02900715 |
| 40100 IF (IVCOMP - 1) 20100, 10100, 20100 02910715 |
| 10100 IVPASS = IVPASS + 1 02920715 |
| WRITE (I02,80002) IVTNUM 02930715 |
| GO TO 0101 02940715 |
| 20100 IVFAIL = IVFAIL + 1 02950715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02960715 |
| 0101 CONTINUE 02970715 |
| C 02980715 |
| CT011* TEST 011 **** FCVS PROGRAM 715 **** 02990715 |
| C 03000715 |
| C CHARACTER FUNCTION REFERENCE IN AN ASSIGNMENT STATEMENT 03010715 |
| C 03020715 |
| IVTNUM = 11 03030715 |
| CVCOMP = ' ' 03040715 |
| IVCOMP = 0 03050715 |
| CVCORR = 'FIRST AID' 03060715 |
| CVCOMP = CF716(1) 03070715 |
| IF (CVCOMP .EQ. 'FIRST AID') IVCOMP = 1 03080715 |
| IF (IVCOMP - 1) 20110, 10110, 20110 03090715 |
| 10110 IVPASS = IVPASS + 1 03100715 |
| WRITE (I02,80002) IVTNUM 03110715 |
| GO TO 0111 03120715 |
| 20110 IVFAIL = IVFAIL + 1 03130715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03140715 |
| 0111 CONTINUE 03150715 |
| C 03160715 |
| CT012* TEST 012 **** FCVS PROGRAM 715 **** 03170715 |
| C 03180715 |
| C CHARACTER FUNCTION REFERENCE IN AN IF STATEMENT 03190715 |
| C 03200715 |
| IVTNUM = 12 03210715 |
| IVCOMP = 0 03220715 |
| CVCOMP = ' ' 03230715 |
| IVCORR = 1 03240715 |
| CVCOMP = 'SECONDRATE' 03250715 |
| IF (CVCOMP.EQ.CF716(2)) IVCOMP = 1 03260715 |
| 40120 IF (IVCOMP - 1) 20120, 10120, 20120 03270715 |
| 10120 IVPASS = IVPASS + 1 03280715 |
| WRITE (I02,80002) IVTNUM 03290715 |
| GO TO 0121 03300715 |
| 20120 IVFAIL = IVFAIL + 1 03310715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03320715 |
| 0121 CONTINUE 03330715 |
| C 03340715 |
| C TESTS 13-30 CONCATENATION OPERATIONS 03350715 |
| C 03360715 |
| C 03370715 |
| CT013* TEST 013 **** FCVS PROGRAM 715 **** 03380715 |
| C 03390715 |
| C CONCATENATE TWO CHARACTER CONSTANTS IN AN ASSIGNMENT STATEMENT 03400715 |
| C 03410715 |
| IVTNUM = 13 03420715 |
| CVCOMP = ' ' 03430715 |
| IVCOMP = 0 03440715 |
| CVCORR = 'ABCUVWXYZ' 03450715 |
| CVCOMP = 'ABC'//'UVWXYZ' 03460715 |
| IF (CVCOMP .EQ. 'ABCUVWXYZ') IVCOMP = 1 03470715 |
| IF (IVCOMP - 1) 20130, 10130, 20130 03480715 |
| 10130 IVPASS = IVPASS + 1 03490715 |
| WRITE (I02,80002) IVTNUM 03500715 |
| GO TO 0131 03510715 |
| 20130 IVFAIL = IVFAIL + 1 03520715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03530715 |
| 0131 CONTINUE 03540715 |
| C 03550715 |
| CT014* TEST 014 **** FCVS PROGRAM 715 **** 03560715 |
| C 03570715 |
| C CONCATENATE TWO CHARACTER CONSTANTS IN AN IF STATEMENT 03580715 |
| C 03590715 |
| IVTNUM = 14 03600715 |
| IVCOMP = 0 03610715 |
| CVCOMP = ' ' 03620715 |
| IVCORR = 1 03630715 |
| CVCOMP = 'THIS-IS-IT' 03640715 |
| IF (CVCOMP .EQ.'THIS-I'//'S-IT') IVCOMP = 1 03650715 |
| 40140 IF (IVCOMP - 1) 20140, 10140, 20140 03660715 |
| 10140 IVPASS = IVPASS + 1 03670715 |
| WRITE (I02,80002) IVTNUM 03680715 |
| GO TO 0141 03690715 |
| 20140 IVFAIL = IVFAIL + 1 03700715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03710715 |
| 0141 CONTINUE 03720715 |
| C 03730715 |
| CT015* TEST 015 **** FCVS PROGRAM 715 **** 03740715 |
| C 03750715 |
| C CONCATENATE A SYMBOLIC NAME OF A CHARACTER CONSTANT WITH A LITERAL03760715 |
| C STRING IN AN ASSIGNMENT STATEMENT 03770715 |
| C 03780715 |
| IVTNUM = 15 03790715 |
| CVCOMP = ' ' 03800715 |
| IVCOMP = 0 03810715 |
| CVCORR = 'PQRSTUVWXYZ' 03820715 |
| CVCOMP = CPN001//'UVWXYZ' 03830715 |
| IF (CVCOMP .EQ. 'PQRSTUVWXYZ') IVCOMP = 1 03840715 |
| IF (IVCOMP - 1) 20150, 10150, 20150 03850715 |
| 10150 IVPASS = IVPASS + 1 03860715 |
| WRITE (I02,80002) IVTNUM 03870715 |
| GO TO 0151 03880715 |
| 20150 IVFAIL = IVFAIL + 1 03890715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03900715 |
| 0151 CONTINUE 03910715 |
| C 03920715 |
| CT016* TEST 016 **** FCVS PROGRAM 715 **** 03930715 |
| C 03940715 |
| C CONCATENATE A SYMBOLIC NAME OF A CHARACTER CONSTANT WITH A LITERAL03950715 |
| C STRING IN AN IF STATEMENT 03960715 |
| C 03970715 |
| IVTNUM = 16 03980715 |
| CVCOMP = ' ' 03990715 |
| IVCOMP = 0 04000715 |
| IVCORR = 1 04010715 |
| CVCOMP = 'USEFUL-EXPRESSION' 04020715 |
| IF (CVCOMP.EQ.'USEFUL-'//CPN002) IVCOMP = 1 04030715 |
| 40160 IF (IVCOMP - 1) 20160, 10160, 20160 04040715 |
| 10160 IVPASS = IVPASS + 1 04050715 |
| WRITE (I02,80002) IVTNUM 04060715 |
| GO TO 0161 04070715 |
| 20160 IVFAIL = IVFAIL + 1 04080715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04090715 |
| 0161 CONTINUE 04100715 |
| C 04110715 |
| CT017* TEST 017 **** FCVS PROGRAM 715 **** 04120715 |
| C 04130715 |
| C CONCATENATE A CHARACTER VARIABLE WITH A LITERAL STRING IN AN 04140715 |
| C ASSIGNMENT STATEMENT 04150715 |
| C 04160715 |
| IVTNUM = 17 04170715 |
| CVCOMP = ' ' 04180715 |
| IVCOMP = 0 04190715 |
| CVCORR = 'ONE+TWO+THREE' 04200715 |
| CVCOMP = CVN001//'+THREE' 04210715 |
| IF (CVCOMP .EQ. 'ONE+TWO+THREE') IVCOMP = 1 04220715 |
| IF (IVCOMP - 1) 20170, 10170, 20170 04230715 |
| 10170 IVPASS = IVPASS + 1 04240715 |
| WRITE (I02,80002) IVTNUM 04250715 |
| GO TO 0171 04260715 |
| 20170 IVFAIL = IVFAIL + 1 04270715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04280715 |
| 0171 CONTINUE 04290715 |
| C 04300715 |
| CT018* TEST 018 **** FCVS PROGRAM 715 **** 04310715 |
| C 04320715 |
| C CONCATENATE A CHARACTER VARIABLE WITH A LITERAL STRING IN AN 04330715 |
| C IF STATEMENT 04340715 |
| C 04350715 |
| IVTNUM = 18 04360715 |
| CVCOMP = ' ' 04370715 |
| IVCOMP = 0 04380715 |
| IVCORR = 1 04390715 |
| CVCOMP = 'ZERO+ONE+TWO' 04400715 |
| IF (CVCOMP.EQ.'ZERO+'//CVN001) IVCOMP = 1 04410715 |
| 40180 IF (IVCOMP - 1) 20180, 10180, 20180 04420715 |
| 10180 IVPASS = IVPASS + 1 04430715 |
| WRITE (I02,80002) IVTNUM 04440715 |
| GO TO 0181 04450715 |
| 20180 IVFAIL = IVFAIL + 1 04460715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04470715 |
| 0181 CONTINUE 04480715 |
| C 04490715 |
| CT019* TEST 019 **** FCVS PROGRAM 715 **** 04500715 |
| C 04510715 |
| C CONCATENATE A CHARACTER ARRAY ELEMENT WITH A LITERAL STRING IN AN 04520715 |
| C ASSIGNMENT STATEMENT 04530715 |
| C 04540715 |
| IVTNUM = 19 04550715 |
| CVCOMP = ' ' 04560715 |
| IVCOMP = 0 04570715 |
| CVCORR = 'STUVWXYZ-END' 04580715 |
| CVCOMP = C2N001(2,2)//'YZ-END' 04590715 |
| IF (CVCOMP .EQ. 'STUVWXYZ-END') IVCOMP = 1 04600715 |
| IF (IVCOMP - 1) 20190, 10190, 20190 04610715 |
| 10190 IVPASS = IVPASS + 1 04620715 |
| WRITE (I02,80002) IVTNUM 04630715 |
| GO TO 0191 04640715 |
| 20190 IVFAIL = IVFAIL + 1 04650715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04660715 |
| 0191 CONTINUE 04670715 |
| C 04680715 |
| CT020* TEST 020 **** FCVS PROGRAM 715 **** 04690715 |
| C 04700715 |
| C CONCATENATE A CHARACTER ARRAY ELEMENT WITH A LITERAL STRING IN AN 04710715 |
| C IF STATEMENT 04720715 |
| C 04730715 |
| IVTNUM = 20 04740715 |
| CVCOMP = ' ' 04750715 |
| IVCOMP = 0 04760715 |
| IVCORR = 1 04770715 |
| CVCOMP = 'BEGIN-ABCDEF' 04780715 |
| IF (CVCOMP.EQ.'BEGIN-'//C2N001(1,1)) IVCOMP = 1 04790715 |
| 40200 IF (IVCOMP - 1) 20200, 10200, 20200 04800715 |
| 10200 IVPASS = IVPASS + 1 04810715 |
| WRITE (I02,80002) IVTNUM 04820715 |
| GO TO 0201 04830715 |
| 20200 IVFAIL = IVFAIL + 1 04840715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04850715 |
| 0201 CONTINUE 04860715 |
| C 04870715 |
| CT021* TEST 021 **** FCVS PROGRAM 715 **** 04880715 |
| C 04890715 |
| C CONCATENATE SPECIAL CHARACTERS IN AN ASSIGNMENT STATEMENT 04900715 |
| C 04910715 |
| IVTNUM = 21 04920715 |
| CVCOMP = ' ' 04930715 |
| IVCOMP = 0 04940715 |
| CVCORR = '=+-*/(),.$'':' 04950715 |
| CVCOMP = '=+-*/('//'),.$'':' 04960715 |
| IF (CVCOMP .EQ. '=+-*/(),.$'':') IVCOMP = 1 04970715 |
| IF (IVCOMP - 1) 20210, 10210, 20210 04980715 |
| 10210 IVPASS = IVPASS + 1 04990715 |
| WRITE (I02,80002) IVTNUM 05000715 |
| GO TO 0211 05010715 |
| 20210 IVFAIL = IVFAIL + 1 05020715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 05030715 |
| 0211 CONTINUE 05040715 |
| C 05050715 |
| CT022* TEST 022 **** FCVS PROGRAM 715 **** 05060715 |
| C 05070715 |
| C CONCATENATE SPECIAL CHARACTERS IN AN IF STATEMENT 05080715 |
| C 05090715 |
| IVTNUM = 22 05100715 |
| IVCOMP = 0 05110715 |
| CVCOMP = ' ' 05120715 |
| IVCORR = 1 05130715 |
| CVCOMP = '$X=(A/B+C):(-''D'')' 05140715 |
| IF (CVCOMP.EQ.'$X=(A/'//'B+C):(-''D'')') IVCOMP = 1 05150715 |
| 40220 IF (IVCOMP - 1) 20220, 10220, 20220 05160715 |
| 10220 IVPASS = IVPASS + 1 05170715 |
| WRITE (I02,80002) IVTNUM 05180715 |
| GO TO 0221 05190715 |
| 20220 IVFAIL = IVFAIL + 1 05200715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05210715 |
| 0221 CONTINUE 05220715 |
| C 05230715 |
| C TESTS 23-24 - TESTS THE INTRINSIC FUNCTION LEN(E) WHERE THE 05240715 |
| C ARGUMENT IS A CHARACTER EXPRESSION 05250715 |
| C 05260715 |
| C 05270715 |
| CT023* TEST 023 **** FCVS PROGRAM 715 **** 05280715 |
| C 05290715 |
| C 05300715 |
| IVTNUM = 23 05310715 |
| IVCOMP = 0 05320715 |
| IVCORR = 15 05330715 |
| IVCOMP = LEN(CVN001//'EIGHTEEN') 05340715 |
| 40230 IF (IVCOMP - 15) 20230, 10230, 20230 05350715 |
| 10230 IVPASS = IVPASS + 1 05360715 |
| WRITE (I02,80002) IVTNUM 05370715 |
| GO TO 0231 05380715 |
| 20230 IVFAIL = IVFAIL + 1 05390715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05400715 |
| 0231 CONTINUE 05410715 |
| C 05420715 |
| CT024* TEST 024 **** FCVS PROGRAM 715 **** 05430715 |
| C 05440715 |
| C 05450715 |
| IVTNUM = 24 05460715 |
| IVCOMP = 0 05470715 |
| IVCORR = 30 05480715 |
| IVCOMP = LEN('THIS-IS-A-LITERAL-STRING'//C2N001(1,2)) 05490715 |
| 40240 IF (IVCOMP - 30) 20240, 10240, 20240 05500715 |
| 10240 IVPASS = IVPASS + 1 05510715 |
| WRITE (I02,80002) IVTNUM 05520715 |
| GO TO 0241 05530715 |
| 20240 IVFAIL = IVFAIL + 1 05540715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05550715 |
| 0241 CONTINUE 05560715 |
| C 05570715 |
| CT025* TEST 025 **** FCVS PROGRAM 715 **** 05580715 |
| C 05590715 |
| C CONCATENATE A SUBSTRING WITH A LITERAL STRING IN AN ASSIGNMENT 05600715 |
| C STATEMENT 05610715 |
| C 05620715 |
| IVTNUM = 25 05630715 |
| CVCOMP = ' ' 05640715 |
| IVCOMP = 0 05650715 |
| CVCORR = 'IS-A-LONG-ARRAY' 05660715 |
| CVCOMP = CVN002(6:15)//'ARRAY' 05670715 |
| IF (CVCOMP .EQ. 'IS-A-LONG-ARRAY') IVCOMP = 1 05680715 |
| IF (IVCOMP - 1) 20250, 10250, 20250 05690715 |
| 10250 IVPASS = IVPASS + 1 05700715 |
| WRITE (I02,80002) IVTNUM 05710715 |
| GO TO 0251 05720715 |
| 20250 IVFAIL = IVFAIL + 1 05730715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 05740715 |
| 0251 CONTINUE 05750715 |
| C 05760715 |
| CT026* TEST 026 **** FCVS PROGRAM 715 **** 05770715 |
| C 05780715 |
| C CONCATENATE A SUBSTRING WITH A LITERAL STRING IN AN IF 05790715 |
| C STATEMENT 05800715 |
| C 05810715 |
| IVTNUM = 26 05820715 |
| IVCOMP = 0 05830715 |
| CVCOMP = ' ' 05840715 |
| IVCORR = 1 05850715 |
| CVCOMP = 'A-LONG-CHARTER-PLANE' 05860715 |
| IF (CVCOMP.EQ.CVN002(9:19)//'TER-PLANE') IVCOMP = 1 05870715 |
| 40260 IF (IVCOMP - 1) 20260, 10260, 20260 05880715 |
| 10260 IVPASS = IVPASS + 1 05890715 |
| WRITE (I02,80002) IVTNUM 05900715 |
| GO TO 0261 05910715 |
| 20260 IVFAIL = IVFAIL + 1 05920715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05930715 |
| 0261 CONTINUE 05940715 |
| C 05950715 |
| CT027* TEST 027 **** FCVS PROGRAM 715 **** 05960715 |
| C 05970715 |
| C CONCATENATE A CHARACTER FUNCTION REFERENCE WITH A LITERAL STRING 05980715 |
| C 05990715 |
| IVTNUM = 27 06000715 |
| CVCOMP = ' ' 06010715 |
| IVCOMP = 0 06020715 |
| CVCORR = 'THIRDCLASSMAIL' 06030715 |
| CVCOMP = CF716(3)//'MAIL' 06040715 |
| IF (CVCOMP .EQ. 'THIRDCLASSMAIL') IVCOMP = 1 06050715 |
| IF (IVCOMP - 1) 20270, 10270, 20270 06060715 |
| 10270 IVPASS = IVPASS + 1 06070715 |
| WRITE (I02,80002) IVTNUM 06080715 |
| GO TO 0271 06090715 |
| 20270 IVFAIL = IVFAIL + 1 06100715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 06110715 |
| 0271 CONTINUE 06120715 |
| C 06130715 |
| CT028* TEST 028 **** FCVS PROGRAM 715 **** 06140715 |
| C 06150715 |
| C CONCATENATE A CHARACTER ARRAY ELEMENT WITH A CHARACTER FUNCTION RE06160715 |
| C 06170715 |
| IVTNUM = 28 06180715 |
| CVCOMP = ' ' 06190715 |
| IVCOMP = 0 06200715 |
| CVCORR = 'MNOPQRFIRST AID' 06210715 |
| CVCOMP = C2N001(1,2)//CF716(1) 06220715 |
| IF (CVCOMP .EQ. 'MNOPQRFIRST AID') IVCOMP = 1 06230715 |
| IF (IVCOMP - 1) 20280, 10280, 20280 06240715 |
| 10280 IVPASS = IVPASS + 1 06250715 |
| WRITE (I02,80002) IVTNUM 06260715 |
| GO TO 0281 06270715 |
| 20280 IVFAIL = IVFAIL + 1 06280715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 06290715 |
| 0281 CONTINUE 06300715 |
| C 06310715 |
| CT029* TEST 029 **** FCVS PROGRAM 715 **** 06320715 |
| C 06330715 |
| C CONCATENATE A CHARACTER SUBSTRING WITH A CHARACTER FUNCTION REFERE06340715 |
| C 06350715 |
| IVTNUM = 29 06360715 |
| CVCOMP = ' ' 06370715 |
| IVCOMP = 0 06380715 |
| CVCORR = 'G-CHARACSECONDRATE' 06390715 |
| CVCOMP = CVN002(14:21)//CF716(2) 06400715 |
| IF (CVCOMP .EQ. 'G-CHARACSECONDRATE') IVCOMP = 1 06410715 |
| IF (IVCOMP - 1) 20290, 10290, 20290 06420715 |
| 10290 IVPASS = IVPASS + 1 06430715 |
| WRITE (I02,80002) IVTNUM 06440715 |
| GO TO 0291 06450715 |
| 20290 IVFAIL = IVFAIL + 1 06460715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 06470715 |
| 0291 CONTINUE 06480715 |
| C 06490715 |
| CT030* TEST 030 **** FCVS PROGRAM 715 **** 06500715 |
| C 06510715 |
| C CONCATENATIONS ON BOTH SIDES OF ".EQ." IN AN IF STATEMENT 06520715 |
| C 06530715 |
| IVTNUM = 30 06540715 |
| IVCOMP = 0 06550715 |
| IVCORR = 1 06560715 |
| CVN002 = 'STTHIRDCLASS' 06570715 |
| IF (CPN001//CF716(3).EQ.C2N001(1,2)(4:6)//CVN002) IVCOMP = 1 06580715 |
| 40300 IF (IVCOMP - 1) 20300, 10300, 20300 06590715 |
| 10300 IVPASS = IVPASS + 1 06600715 |
| WRITE (I02,80002) IVTNUM 06610715 |
| GO TO 0301 06620715 |
| 20300 IVFAIL = IVFAIL + 1 06630715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06640715 |
| 0301 CONTINUE 06650715 |
| C 06660715 |
| CT031* TEST 031 **** FCVS PROGRAM 715 **** 06670715 |
| C 06680715 |
| C CONCATENATE A LITERAL WITH A SYMBOLIC NAME OF A CHARACTER CONSTANT06690715 |
| C LENGTH IS SPECIFIED BY AN ASTERISK WITH A LITERAL 06700715 |
| C 06710715 |
| IVTNUM = 31 06720715 |
| IVCOMP = 0 06730715 |
| CVCOMP = ' ' 06740715 |
| IVCORR = 1 06750715 |
| CVCOMP = 'NOW IS THE TIME FOR ALL GOOD MENTO COME TO THE AID OF TH06760715 |
| 1EIR PARTY' 06770715 |
| IF (CVCOMP.EQ.CPN003//'TO COME TO THE AID OF THEIR PARTY') 06780715 |
| 1 IVCOMP = 1 06790715 |
| 40310 IF (IVCOMP - 1) 20310, 10310, 20310 06800715 |
| 10310 IVPASS = IVPASS + 1 06810715 |
| WRITE (I02,80002) IVTNUM 06820715 |
| GO TO 0311 06830715 |
| 20310 IVFAIL = IVFAIL + 1 06840715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06850715 |
| 0311 CONTINUE 06860715 |
| C 06870715 |
| CT032* TEST 032 **** FCVS PROGRAM 715 **** 06880715 |
| C 06890715 |
| C CHARACTER EXPRESSION CONCATENATED WITH CHARACTER PRIMARY 06900715 |
| C 06910715 |
| IVTNUM = 32 06920715 |
| IVCOMP = 0 06930715 |
| CVCOMP = ' ' 06940715 |
| CVCORR = ' ' 06950715 |
| IVCORR = 1 06960715 |
| CVCOMP = ('ONE'//'TWO')//'THREE' 06970715 |
| CVCORR = 'ONE'//'TWO'//'THREE' 06980715 |
| IF (CVCOMP.EQ.CVCORR) IVCOMP = 1 06990715 |
| 40320 IF (IVCOMP - 1) 20320, 10320, 20320 07000715 |
| 10320 IVPASS = IVPASS + 1 07010715 |
| WRITE (I02,80002) IVTNUM 07020715 |
| GO TO 0321 07030715 |
| 20320 IVFAIL = IVFAIL + 1 07040715 |
| WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07050715 |
| 0321 CONTINUE 07060715 |
| C 07070715 |
| C TESTS 33-34 - EVALUATION OF CHARACTER EXPRESSIONS 07080715 |
| C (PROCESSOR NEEDS TO EVALUATE ONLY AS MUCH OF THE CHARACTER 07090715 |
| C EXPRESSION AS IS REQUIRED BY THE CONTEXT IN WHICH THE 07100715 |
| C EXPRESSION APPEARS) 07110715 |
| C 07120715 |
| C 07130715 |
| CT033* TEST 033 **** FCVS PROGRAM 715 **** 07140715 |
| C 07150715 |
| C 07160715 |
| IVTNUM = 33 07170715 |
| CVCOMP = ' ' 07180715 |
| IVCOMP = 0 07190715 |
| CVCORR = 'AB' 07200715 |
| CVN003 = 'ABC' 07210715 |
| CVCOMP = CVN003 07220715 |
| IF (CVCOMP .EQ. 'AB') IVCOMP = 1 07230715 |
| IF (IVCOMP - 1) 20330, 10330, 20330 07240715 |
| 10330 IVPASS = IVPASS + 1 07250715 |
| WRITE (I02,80002) IVTNUM 07260715 |
| GO TO 0331 07270715 |
| 20330 IVFAIL = IVFAIL + 1 07280715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 07290715 |
| 0331 CONTINUE 07300715 |
| C 07310715 |
| CT034* TEST 034 **** FCVS PROGRAM 715 **** 07320715 |
| C 07330715 |
| C 07340715 |
| IVTNUM = 34 07350715 |
| CVCOMP = ' ' 07360715 |
| IVCOMP = 0 07370715 |
| CVCORR = 'LO' 07380715 |
| CVN004 = 'LONG' 07390715 |
| CVD005 = 'SHORT' 07400715 |
| CVN003 = CVN004//CF717(CVD005) 07410715 |
| CVCOMP = CVN003 07420715 |
| IF (CVCOMP .EQ. 'LO') IVCOMP = 1 07430715 |
| IF (IVCOMP - 1) 20340, 10340, 20340 07440715 |
| 10340 IVPASS = IVPASS + 1 07450715 |
| WRITE (I02,80002) IVTNUM 07460715 |
| GO TO 0341 07470715 |
| 20340 IVFAIL = IVFAIL + 1 07480715 |
| WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 07490715 |
| 0341 CONTINUE 07500715 |
| C 07510715 |
| CBB** ********************** BBCSUM0 **********************************07520715 |
| C**** WRITE OUT TEST SUMMARY 07530715 |
| C**** 07540715 |
| IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 07550715 |
| WRITE (I02, 90004) 07560715 |
| WRITE (I02, 90014) 07570715 |
| WRITE (I02, 90004) 07580715 |
| WRITE (I02, 90020) IVPASS 07590715 |
| WRITE (I02, 90022) IVFAIL 07600715 |
| WRITE (I02, 90024) IVDELE 07610715 |
| WRITE (I02, 90026) IVINSP 07620715 |
| WRITE (I02, 90028) IVTOTN, IVTOTL 07630715 |
| CBE** ********************** BBCSUM0 **********************************07640715 |
| CBB** ********************** BBCFOOT0 **********************************07650715 |
| C**** WRITE OUT REPORT FOOTINGS 07660715 |
| C**** 07670715 |
| WRITE (I02,90016) ZPROG, ZPROG 07680715 |
| WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 07690715 |
| WRITE (I02,90019) 07700715 |
| CBE** ********************** BBCFOOT0 **********************************07710715 |
| 90001 FORMAT (" ",56X,"FM715") 07720715 |
| 90000 FORMAT (" ",50X,"END OF PROGRAM FM715" ) 07730715 |
| CBB** ********************** BBCFMT0A **********************************07740715 |
| C**** FORMATS FOR TEST DETAIL LINES 07750715 |
| C**** 07760715 |
| 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 07770715 |
| 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 07780715 |
| 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 07790715 |
| 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 07800715 |
| 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 07810715 |
| 1I6,/," ",15X,"CORRECT= " ,I6) 07820715 |
| 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 07830715 |
| 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 07840715 |
| 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 07850715 |
| 1A21,/," ",16X,"CORRECT= " ,A21) 07860715 |
| 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 07870715 |
| 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 07880715 |
| 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 07890715 |
| 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 07900715 |
| 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 07910715 |
| 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 07920715 |
| 80050 FORMAT (" ",48X,A31) 07930715 |
| CBE** ********************** BBCFMT0A **********************************07940715 |
| CBB** ********************** BBCFMAT1 **********************************07950715 |
| C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 07960715 |
| C**** 07970715 |
| 80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 07980715 |
| 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 07990715 |
| 80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 08000715 |
| 80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 08010715 |
| 80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 08020715 |
| 80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 08030715 |
| 80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 08040715 |
| 80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 08050715 |
| 80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 08060715 |
| 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 08070715 |
| 2"(",F12.5,", ",F12.5,")") 08080715 |
| CBE** ********************** BBCFMAT1 **********************************08090715 |
| CBB** ********************** BBCFMT0B **********************************08100715 |
| C**** FORMAT STATEMENTS FOR PAGE HEADERS 08110715 |
| C**** 08120715 |
| 90002 FORMAT ("1") 08130715 |
| 90004 FORMAT (" ") 08140715 |
| 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )08150715 |
| 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 08160715 |
| 90008 FORMAT (" ",21X,A13,A17) 08170715 |
| 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 08180715 |
| 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 08190715 |
| 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 08200715 |
| 1 7X,"REMARKS",24X) 08210715 |
| 90014 FORMAT (" ","----------------------------------------------" , 08220715 |
| 1 "---------------------------------" ) 08230715 |
| 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 08240715 |
| C**** 08250715 |
| C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 08260715 |
| C**** 08270715 |
| 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 08280715 |
| 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 08290715 |
| 1 A13) 08300715 |
| 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 08310715 |
| C**** 08320715 |
| C**** FORMAT STATEMENTS FOR RUN SUMMARY 08330715 |
| C**** 08340715 |
| 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 08350715 |
| 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 08360715 |
| 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 08370715 |
| 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 08380715 |
| 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 08390715 |
| CBE** ********************** BBCFMT0B **********************************08400715 |
| END 08410715 |
| |
| C THIS FUNCTION SUBPROGRAM IS TO BE RUN WITH ROUTINE 715. 00010716 |
| C 00020716 |
| C THIS FUNCTION SUBPROGRAM IS USED TO TEST CHARACTER FUNCTION 00030716 |
| C REFERENCES IN CHARACTER EXPRESSIONS 00040716 |
| C 00050716 |
| CHARACTER*10 FUNCTION CF716(IVD001) 00060716 |
| IF (IVD001 - 2) 70010, 70020, 70030 00070716 |
| 70010 CF716 = 'FIRST AID' 00080716 |
| RETURN 00090716 |
| 70020 CF716 = 'SECONDRATE' 00100716 |
| RETURN 00110716 |
| 70030 CF716 = 'THIRDCLASS' 00120716 |
| RETURN 00130716 |
| END 00140716 |
| |
| C THIS FUNCTION SUBPROGRAM IS TO BE RUN WITH ROUTINE 715. 00010717 |
| C 00020717 |
| C THIS FUNCTION SUBPROGRAM IS USED TO TEST CHARACTER FUNCTION 00030717 |
| C REFERENCES IN CHARACTER EXPRESSIONS 00040717 |
| C 00050717 |
| CHARACTER*(*) FUNCTION CF717(CVD001) 00060717 |
| CHARACTER*(*) CVD001 00070717 |
| CF717 = CVD001 00080717 |
| RETURN 00090717 |
| END 00100717 |