blob: 0276d12df8d971da6f2842c826304ff311c01998 [file] [log] [blame]
PROGRAM FM710 00010710
C 00020710
C THIS ROUTINE TESTS SUBSCRIPT EXPRESSIONS AND ANS REF. 00030710
C CHARACTER SUBSTRINGS. 5.4.2, 5.4.300040710
C 5.7.1, 5.7.200050710
C 00060710
C THIS ROUTINE ASSUMES THE INTRINSIC FUNCTIONS 00070710
C INT AND IABS ARE WORKING. 00080710
C 00090710
CBB** ********************** BBCCOMNT **********************************00100710
C**** 00110710
C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120710
C**** VERSION 2.1 00130710
C**** 00140710
C**** 00150710
C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160710
C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00170710
C**** SOFTWARE STANDARDS VALIDATION GROUP 00180710
C**** BUILDING 225 RM A266 00190710
C**** GAITHERSBURG, MD 20899 00200710
C**** 00210710
C**** 00220710
C**** 00230710
CBE** ********************** BBCCOMNT **********************************00240710
IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00250710
IMPLICIT CHARACTER*27 (C) 00260710
CBB** ********************** BBCINITA **********************************00270710
C**** SPECIFICATION STATEMENTS 00280710
C**** 00290710
CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00300710
1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00310710
CBE** ********************** BBCINITA **********************************00320710
C 00330710
DIMENSION I2N001(2,3), I2N002(3,5), I1N003(-1:8), I2N004(10,4) 00340710
CHARACTER*10 CVCOMP, CVCORR, CVN001, C2N001(2,4) 00350710
DATA I2N001 /1,2,3,4,5,6/ 00360710
DATA I2N002 /11,21,31,12,22,32,13,23,33,14,24,34,15,25,35/ 00370710
DATA I1N003 /1,2,3,4,5,6,7,8,9,10/ 00380710
DATA I2N004 / 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 00390710
1 4,-2, 6,-3, 8,-4,10,-5, 2,-1, 00400710
2 1, 3, 5, 7, 9, 2, 4, 6, 8, 10, 00410710
3 -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 / 00420710
DATA C2N001 /'11FIRSTELE','21SECONDXX','12THIRDXYZ','22FOURTHWW', 00430710
1 '13FIFTHABC','23SIXTHIJK','14SEVENTHH','24EIGHTHUV'/ 00440710
C 00450710
C 00460710
CBB** ********************** BBCINITB **********************************00470710
C**** INITIALIZE SECTION 00480710
DATA ZVERS, ZVERSD, ZDATE 00490710
1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00500710
DATA ZCOMPL, ZNAME, ZTAPE 00510710
1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00520710
DATA ZPROJ, ZTAPED, ZPROG 00530710
1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00540710
DATA REMRKS /' '/ 00550710
C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00560710
C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00570710
C**** 00580710
CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00590710
CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00600710
CZ03 ZPROG = 'PROGRAM NAME' 00610710
CZ04 ZDATE = 'DATE OF TEST' 00620710
CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00630710
CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00640710
CZ07 ZNAME = 'NAME OF USER' 00650710
CZ08 ZTAPE = 'TAPE OWNER/ID' 00660710
CZ09 ZTAPED = 'DATE TAPE COPIED' 00670710
C 00680710
IVPASS = 0 00690710
IVFAIL = 0 00700710
IVDELE = 0 00710710
IVINSP = 0 00720710
IVTOTL = 0 00730710
IVTOTN = 0 00740710
ICZERO = 0 00750710
C 00760710
C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00770710
I01 = 05 00780710
C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00790710
I02 = 06 00800710
C 00810710
CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00820710
C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00830710
CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00840710
C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00850710
C 00860710
CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00870710
C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00880710
CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00890710
C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00900710
C 00910710
CBE** ********************** BBCINITB **********************************00920710
ZPROG='FM710' 00930710
IVTOTL = 19 00940710
CBB** ********************** BBCHED0A **********************************00950710
C**** 00960710
C**** WRITE REPORT TITLE 00970710
C**** 00980710
WRITE (I02, 90002) 00990710
WRITE (I02, 90006) 01000710
WRITE (I02, 90007) 01010710
WRITE (I02, 90008) ZVERS, ZVERSD 01020710
WRITE (I02, 90009) ZPROG, ZPROG 01030710
WRITE (I02, 90010) ZDATE, ZCOMPL 01040710
CBE** ********************** BBCHED0A **********************************01050710
CBB** ********************** BBCHED0B **********************************01060710
C**** WRITE DETAIL REPORT HEADERS 01070710
C**** 01080710
WRITE (I02,90004) 01090710
WRITE (I02,90004) 01100710
WRITE (I02,90013) 01110710
WRITE (I02,90014) 01120710
WRITE (I02,90015) IVTOTL 01130710
CBE** ********************** BBCHED0B **********************************01140710
C 01150710
C TESTS 1-2 - SUBSCRIPT EXPRESSION TO IDENTIFY VARIOUS 01160710
C ARRAY ELEMENTS 01170710
C 01180710
C 01190710
CT001* TEST 001 **** FCVS PROGRAM 710 **** 01200710
C 01210710
C TEST 001 ARRAY ELEMENT REFERENCE 01220710
C 01230710
IVTNUM = 1 01240710
IVCOMP = 0 01250710
IVCORR = 34 01260710
IVCOMP = I2N002(I2N001(1,2),I2N001(2,3)/2 + 1) 01270710
40010 IF (IVCOMP - 34) 20010, 10010, 20010 01280710
10010 IVPASS = IVPASS + 1 01290710
WRITE (I02,80002) IVTNUM 01300710
GO TO 0011 01310710
20010 IVFAIL = IVFAIL + 1 01320710
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01330710
0011 CONTINUE 01340710
C 01350710
CT002* TEST 002 **** FCVS PROGRAM 710 **** 01360710
C 01370710
C TEST 002 FUNCTION REFERENCE 01380710
C 01390710
IVTNUM = 2 01400710
RVD001 = 2.64 01410710
IVCOMP = 0 01420710
IVCORR = 25 01430710
IVCOMP = I2N002(INT(RVD001), 19 - IABS(-7)*2) 01440710
40020 IF (IVCOMP - 25) 20020, 10020, 20020 01450710
10020 IVPASS = IVPASS + 1 01460710
WRITE (I02,80002) IVTNUM 01470710
GO TO 0021 01480710
20020 IVFAIL = IVFAIL + 1 01490710
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01500710
0021 CONTINUE 01510710
C 01520710
C TESTS 3-7 - TEST SUBSCRIPT VALUE IN IDENTIFYING 01530710
C ARRAY ELEMENTS 01540710
C 01550710
CT003* TEST 003 **** FCVS PROGRAM 710 **** 01560710
C 01570710
C TEST 003 RANGE 01580710
C 01590710
IVTNUM = 3 01600710
WRITE (I02, 80004) IVTNUM 01610710
WRITE (I02, 80020) 01620710
WRITE (I02, 70030) (I1N003(IVN001), IVN001=5,8) 01630710
70030 FORMAT (" ",26X,4I4) 01640710
IVINSP = IVINSP + 1 01650710
WRITE (I02, 80022) 01660710
WRITE (I02, 70031) 01670710
70031 FORMAT (" ",26X," 7 8 9 10" ) 01680710
C 01690710
CT004* TEST 004 **** FCVS PROGRAM 710 **** 01700710
C 01710710
C TEST 004 SINGLE ELEMENT 01720710
C 01730710
IVTNUM = 4 01740710
IVCOMP = 0 01750710
IVCORR = 4 01760710
IVCOMP = I1N003(2) 01770710
40040 IF (IVCOMP - 4) 20040, 10040, 20040 01780710
10040 IVPASS = IVPASS + 1 01790710
WRITE (I02,80002) IVTNUM 01800710
GO TO 0041 01810710
20040 IVFAIL = IVFAIL + 1 01820710
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01830710
0041 CONTINUE 01840710
C 01850710
CT005* TEST 005 **** FCVS PROGRAM 710 **** 01860710
C 01870710
C TEST 005 EXPRESSION 01880710
C 01890710
IVTNUM = 5 01900710
IVN001 = -3 01910710
IVCOMP = 0 01920710
IVCORR = 1 01930710
IVCOMP = I1N003((IVN001+5)*3 - 7) 01940710
40050 IF (IVCOMP - 1) 20050, 10050, 20050 01950710
10050 IVPASS = IVPASS + 1 01960710
WRITE (I02,80002) IVTNUM 01970710
GO TO 0051 01980710
20050 IVFAIL = IVFAIL + 1 01990710
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02000710
0051 CONTINUE 02010710
C 02020710
CT006* TEST 006 **** FCVS PROGRAM 710 **** 02030710
C 02040710
C TEST 006 31ST ELEMENT IN 2 DIMENSIONAL, 40 ELEMENT ARRAY 02050710
C 02060710
IVTNUM = 6 02070710
IVCOMP = 0 02080710
IVCORR = -10 02090710
IVCOMP = I2N004(1,4) 02100710
40060 IF (IVCOMP + 10) 20060, 10060, 20060 02110710
10060 IVPASS = IVPASS + 1 02120710
WRITE (I02,80002) IVTNUM 02130710
GO TO 0061 02140710
20060 IVFAIL = IVFAIL + 1 02150710
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02160710
0061 CONTINUE 02170710
C 02180710
CT007* TEST 007 **** FCVS PROGRAM 710 **** 02190710
C 02200710
C TEST 007 4TH ELEMENT OF FIRST ARRAY EQUAL TO 02210710
C 11TH ELEMENT OF SECOND ARRAY 02220710
C 02230710
IVTNUM = 7 02240710
IVCOMP = 0 02250710
IVCORR = 1 02260710
IF (I1N003(2).EQ.I2N004(1,2)) IVCOMP = 1 02270710
40070 IF (IVCOMP - 1) 20070, 10070, 20070 02280710
10070 IVPASS = IVPASS + 1 02290710
WRITE (I02,80002) IVTNUM 02300710
GO TO 0071 02310710
20070 IVFAIL = IVFAIL + 1 02320710
WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02330710
0071 CONTINUE 02340710
C 02350710
C TESTS 8-15 - CHARACTER SUBSTRING NAME 02360710
C 02370710
C 02380710
CT008* TEST 008 **** FCVS PROGRAM 710 **** 02390710
C 02400710
C TEST 008 USING LEFT AND RIGHT POSITION OF SUBSTRING 02410710
C 02420710
IVTNUM = 8 02430710
CVCOMP = ' ' 02440710
IVCOMP = 0 02450710
CVN001 = 'THIS IS IT' 02460710
CVCORR = 'HIS ' 02470710
CVCOMP = CVN001(2:4) 02480710
IF (CVCOMP .EQ. 'HIS ') IVCOMP = 1 02490710
IF (IVCOMP - 1) 20080, 10080, 20080 02500710
10080 IVPASS = IVPASS + 1 02510710
WRITE (I02,80002) IVTNUM 02520710
GO TO 0081 02530710
20080 IVFAIL = IVFAIL + 1 02540710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02550710
0081 CONTINUE 02560710
C 02570710
CT009* TEST 009 **** FCVS PROGRAM 710 **** 02580710
C 02590710
C TEST 009 LEFT POSITION OMITTED, VALUE OF 1 ASSUMED 02600710
C 02610710
IVTNUM = 9 02620710
CVCOMP = ' ' 02630710
IVCOMP = 0 02640710
CVCORR = 'THIS ' 02650710
CVCOMP = CVN001(:4) 02660710
IF (CVCOMP .EQ. 'THIS ') IVCOMP = 1 02670710
IF (IVCOMP - 1) 20090, 10090, 20090 02680710
10090 IVPASS = IVPASS + 1 02690710
WRITE (I02,80002) IVTNUM 02700710
GO TO 0091 02710710
20090 IVFAIL = IVFAIL + 1 02720710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02730710
0091 CONTINUE 02740710
C 02750710
CT010* TEST 010 **** FCVS PROGRAM 710 **** 02760710
C 02770710
C TEST 010 RIGHT POSITION OMITTED, RIGHT-HAND END OF STRING ASSUMED 02780710
C 02790710
IVTNUM = 10 02800710
CVCOMP = ' ' 02810710
IVCOMP = 0 02820710
CVCORR = 'S IS IT ' 02830710
CVCOMP = CVN001(4:) 02840710
IF (CVCOMP .EQ. 'S IS IT ') IVCOMP = 1 02850710
IF (IVCOMP - 1) 20100, 10100, 20100 02860710
10100 IVPASS = IVPASS + 1 02870710
WRITE (I02,80002) IVTNUM 02880710
GO TO 0101 02890710
20100 IVFAIL = IVFAIL + 1 02900710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02910710
0101 CONTINUE 02920710
C 02930710
CT011* TEST 011 **** FCVS PROGRAM 710 **** 02940710
C 02950710
C TEST 011 EXTRACT SUBSTRING FROM ARRAY 02960710
C 02970710
IVTNUM = 11 02980710
CVCOMP = ' ' 02990710
IVCOMP = 0 03000710
CVCORR = '12THIR ' 03010710
CVCOMP = C2N001(1,2)(1:6) 03020710
IF (CVCOMP .EQ. '12THIR ') IVCOMP = 1 03030710
IF (IVCOMP - 1) 20110, 10110, 20110 03040710
10110 IVPASS = IVPASS + 1 03050710
WRITE (I02,80002) IVTNUM 03060710
GO TO 0111 03070710
20110 IVFAIL = IVFAIL + 1 03080710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03090710
0111 CONTINUE 03100710
C 03110710
CT012* TEST 012 **** FCVS PROGRAM 710 **** 03120710
C 03130710
C TEST 012 ENTIRE SUBSTRING 03140710
C 03150710
IVTNUM = 12 03160710
CVCOMP = ' ' 03170710
IVCOMP = 0 03180710
CVCORR = 'THIS IS IT' 03190710
CVCOMP = CVN001(:) 03200710
IF (CVCOMP .EQ. 'THIS IS IT') IVCOMP = 1 03210710
IF (IVCOMP - 1) 20120, 10120, 20120 03220710
10120 IVPASS = IVPASS + 1 03230710
WRITE (I02,80002) IVTNUM 03240710
GO TO 0121 03250710
20120 IVFAIL = IVFAIL + 1 03260710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03270710
0121 CONTINUE 03280710
C 03290710
CT013* TEST 013 **** FCVS PROGRAM 710 **** 03300710
C 03310710
C TEST 013 ENTIRE SUBSTRING FROM ARRAY 03320710
C 03330710
IVTNUM = 13 03340710
CVCOMP = ' ' 03350710
IVCOMP = 0 03360710
CVCORR = '23SIXTHIJK' 03370710
CVCOMP = C2N001(2,3)(:) 03380710
IF (CVCOMP .EQ. '23SIXTHIJK') IVCOMP = 1 03390710
IF (IVCOMP - 1) 20130, 10130, 20130 03400710
10130 IVPASS = IVPASS + 1 03410710
WRITE (I02,80002) IVTNUM 03420710
GO TO 0131 03430710
20130 IVFAIL = IVFAIL + 1 03440710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03450710
0131 CONTINUE 03460710
C 03470710
CT014* TEST 014 **** FCVS PROGRAM 710 **** 03480710
C 03490710
C RIGHT POSITION OMITTED USING ARRAY 03500710
C 03510710
IVTNUM = 14 03520710
CVCOMP = ' ' 03530710
IVCOMP = 0 03540710
CVCORR = 'EVENTHH ' 03550710
CVCOMP = C2N001(1,4)(4:) 03560710
IF (CVCOMP .EQ. 'EVENTHH ') IVCOMP = 1 03570710
IF (IVCOMP - 1) 20140, 10140, 20140 03580710
10140 IVPASS = IVPASS + 1 03590710
WRITE (I02,80002) IVTNUM 03600710
GO TO 0141 03610710
20140 IVFAIL = IVFAIL + 1 03620710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03630710
0141 CONTINUE 03640710
C 03650710
CT015* TEST 015 **** FCVS PROGRAM 710 **** 03660710
C 03670710
C LEFT POSITION OMITTED 03680710
C 03690710
IVTNUM = 15 03700710
CVCOMP = ' ' 03710710
IVCOMP = 0 03720710
CVCORR = '24EI ' 03730710
CVCOMP = C2N001(2,4)(:4) 03740710
IF (CVCOMP .EQ. '24EI ') IVCOMP = 1 03750710
IF (IVCOMP - 1) 20150, 10150, 20150 03760710
10150 IVPASS = IVPASS + 1 03770710
WRITE (I02,80002) IVTNUM 03780710
GO TO 0151 03790710
20150 IVFAIL = IVFAIL + 1 03800710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03810710
0151 CONTINUE 03820710
C 03830710
C TESTS 16-19 - SUBSTRING EXPRESSION 03840710
C 03850710
C 03860710
CT016* TEST 016 **** FCVS PROGRAM 710 **** 03870710
C 03880710
C TEST 016 ARITHMETIC EXPRESSION 03890710
C 03900710
IVTNUM = 16 03910710
CVCOMP = ' ' 03920710
IVCOMP = 0 03930710
CVCORR = 'HIS IS IT ' 03940710
CVCOMP = CVN001(2:5*2) 03950710
IF (CVCOMP .EQ. 'HIS IS IT ') IVCOMP = 1 03960710
IF (IVCOMP - 1) 20160, 10160, 20160 03970710
10160 IVPASS = IVPASS + 1 03980710
WRITE (I02,80002) IVTNUM 03990710
GO TO 0161 04000710
20160 IVFAIL = IVFAIL + 1 04010710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04020710
0161 CONTINUE 04030710
C 04040710
CT017* TEST 017 **** FCVS PROGRAM 710 **** 04050710
C 04060710
C TEST 017 SUBSTRING EXPRESSION IN AN ASSIGNMENT STATEMENT 04070710
C 04080710
IVTNUM = 17 04090710
IVN001 = 5 04100710
IVN002 = 8 04110710
CVCOMP = ' ' 04120710
IVCOMP = 0 04130710
CVCORR = 'THISLIKEIT' 04140710
CVN001(IVN001:IVN002) = 'LIKE' 04150710
CVCOMP = CVN001 04160710
IF (CVCOMP .EQ. 'THISLIKEIT') IVCOMP = 1 04170710
IF (IVCOMP - 1) 20170, 10170, 20170 04180710
10170 IVPASS = IVPASS + 1 04190710
WRITE (I02,80002) IVTNUM 04200710
GO TO 0171 04210710
20170 IVFAIL = IVFAIL + 1 04220710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04230710
0171 CONTINUE 04240710
C 04250710
CT018* TEST 018 **** FCVS PROGRAM 710 **** 04260710
C 04270710
C TEST 018 SUBSTRING EXPRESSION CONTAINING ARRAY ELEMENT REFERENCE 04280710
C 04290710
IVTNUM = 18 04300710
CVCOMP = ' ' 04310710
IVCOMP = 0 04320710
CVCORR = 'HISLIKE ' 04330710
CVCOMP = CVN001(I2N001(2,1):I2N002(3,5)-27) 04340710
IF (CVCOMP .EQ. 'HISLIKE ') IVCOMP = 1 04350710
IF (IVCOMP - 1) 20180, 10180, 20180 04360710
10180 IVPASS = IVPASS + 1 04370710
WRITE (I02,80002) IVTNUM 04380710
GO TO 0181 04390710
20180 IVFAIL = IVFAIL + 1 04400710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04410710
0181 CONTINUE 04420710
C 04430710
CT019* TEST 019 **** FCVS PROGRAM 710 **** 04440710
C 04450710
C TEST 019 SUBSTRING EXPRESSION CONTAINING FUNCTION REFERENCES 04460710
C 04470710
IVTNUM = 19 04480710
RVD001 = 1.475 04490710
IVN001 = 1 04500710
CVCOMP = ' ' 04510710
IVCOMP = 0 04520710
CVCORR = 'IFTHABC ' 04530710
CVCOMP = C2N001(1,3)(INT(RVD001)+3 : (IVN001*5 + 7)/IABS(-6) + 8) 04540710
IF (CVCOMP .EQ. 'IFTHABC ') IVCOMP = 1 04550710
IF (IVCOMP - 1) 20190, 10190, 20190 04560710
10190 IVPASS = IVPASS + 1 04570710
WRITE (I02,80002) IVTNUM 04580710
GO TO 0191 04590710
20190 IVFAIL = IVFAIL + 1 04600710
WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04610710
0191 CONTINUE 04620710
C 04630710
CBB** ********************** BBCSUM0 **********************************04640710
C**** WRITE OUT TEST SUMMARY 04650710
C**** 04660710
IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 04670710
WRITE (I02, 90004) 04680710
WRITE (I02, 90014) 04690710
WRITE (I02, 90004) 04700710
WRITE (I02, 90020) IVPASS 04710710
WRITE (I02, 90022) IVFAIL 04720710
WRITE (I02, 90024) IVDELE 04730710
WRITE (I02, 90026) IVINSP 04740710
WRITE (I02, 90028) IVTOTN, IVTOTL 04750710
CBE** ********************** BBCSUM0 **********************************04760710
CBB** ********************** BBCFOOT0 **********************************04770710
C**** WRITE OUT REPORT FOOTINGS 04780710
C**** 04790710
WRITE (I02,90016) ZPROG, ZPROG 04800710
WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04810710
WRITE (I02,90019) 04820710
CBE** ********************** BBCFOOT0 **********************************04830710
90001 FORMAT (" ",56X,"FM710") 04840710
90000 FORMAT (" ",50X,"END OF PROGRAM FM710" ) 04850710
CBB** ********************** BBCFMT0A **********************************04860710
C**** FORMATS FOR TEST DETAIL LINES 04870710
C**** 04880710
80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 04890710
80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 04900710
80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 04910710
80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 04920710
80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 04930710
1I6,/," ",15X,"CORRECT= " ,I6) 04940710
80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04950710
1E12.5,/," ",16X,"CORRECT= " ,E12.5) 04960710
80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04970710
1A21,/," ",16X,"CORRECT= " ,A21) 04980710
80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 04990710
80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 05000710
80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 05010710
80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 05020710
80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 05030710
80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 05040710
80050 FORMAT (" ",48X,A31) 05050710
CBE** ********************** BBCFMT0A **********************************05060710
CBB** ********************** BBCFMAT1 **********************************05070710
C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 05080710
C**** 05090710
80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05100710
1D17.10,/," ",16X,"CORRECT= " ,D17.10) 05110710
80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 05120710
80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 05130710
80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 05140710
80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 05150710
80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 05160710
80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 05170710
80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05180710
1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 05190710
2"(",F12.5,", ",F12.5,")") 05200710
CBE** ********************** BBCFMAT1 **********************************05210710
CBB** ********************** BBCFMT0B **********************************05220710
C**** FORMAT STATEMENTS FOR PAGE HEADERS 05230710
C**** 05240710
90002 FORMAT ("1") 05250710
90004 FORMAT (" ") 05260710
90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )05270710
90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 05280710
90008 FORMAT (" ",21X,A13,A17) 05290710
90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 05300710
90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 05310710
90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 05320710
1 7X,"REMARKS",24X) 05330710
90014 FORMAT (" ","----------------------------------------------" , 05340710
1 "---------------------------------" ) 05350710
90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 05360710
C**** 05370710
C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 05380710
C**** 05390710
90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 05400710
90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 05410710
1 A13) 05420710
90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 05430710
C**** 05440710
C**** FORMAT STATEMENTS FOR RUN SUMMARY 05450710
C**** 05460710
90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 05470710
90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 05480710
90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 05490710
90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 05500710
90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 05510710
CBE** ********************** BBCFMT0B **********************************05520710
END 05530710