PROGRAM FM520 00010520 C 00020520 C TESTING PARAMETER STATEMENT 00030520 C 00040520 C 00050520 CBB** ********************** BBCCOMNT **********************************00060520 C**** 00070520 C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00080520 C**** VERSION 2.1 00090520 C**** 00100520 C**** 00110520 C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00120520 C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00130520 C**** SOFTWARE STANDARDS VALIDATION GROUP 00140520 C**** BUILDING 225 RM A266 00150520 C**** GAITHERSBURG, MD 20899 00160520 C**** 00170520 C**** 00180520 C**** 00190520 CBE** ********************** BBCCOMNT **********************************00200520 IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00210520 IMPLICIT CHARACTER*27 (C) 00220520 CBB** ********************** BBCINITA **********************************00230520 C**** SPECIFICATION STATEMENTS 00240520 C**** 00250520 CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00260520 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00270520 CBE** ********************** BBCINITA **********************************00280520 C 00290520 PARAMETER(IPN001=5+5,IPN002=8-3,IPN003=1*5) 00300520 PARAMETER(RPN001=5.1+4.9,RPN002=8.7-3.7,RPN003=2.0*2.5) 00310520 C 00320520 C TEST 1 - 7 TEST INTEGER ARITHMETIC EXPRESSION USING 00330520 C ONLY SYMBOLIC NAMES OF ARITHMETIC CONSTANTS 00340520 C S06AF-2P 4.A 00350520 C 00360520 C 00370520 C 00380520 CBB** ********************** BBCINITB **********************************00390520 C**** INITIALIZE SECTION 00400520 DATA ZVERS, ZVERSD, ZDATE 00410520 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00420520 DATA ZCOMPL, ZNAME, ZTAPE 00430520 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00440520 DATA ZPROJ, ZTAPED, ZPROG 00450520 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00460520 DATA REMRKS /' '/ 00470520 C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00480520 C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00490520 C**** 00500520 CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00510520 CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00520520 CZ03 ZPROG = 'PROGRAM NAME' 00530520 CZ04 ZDATE = 'DATE OF TEST' 00540520 CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00550520 CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00560520 CZ07 ZNAME = 'NAME OF USER' 00570520 CZ08 ZTAPE = 'TAPE OWNER/ID' 00580520 CZ09 ZTAPED = 'DATE TAPE COPIED' 00590520 C 00600520 IVPASS = 0 00610520 IVFAIL = 0 00620520 IVDELE = 0 00630520 IVINSP = 0 00640520 IVTOTL = 0 00650520 IVTOTN = 0 00660520 ICZERO = 0 00670520 C 00680520 C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00690520 I01 = 05 00700520 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00710520 I02 = 06 00720520 C 00730520 CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00740520 C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00750520 CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00760520 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00770520 C 00780520 CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00790520 C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00800520 CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00810520 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00820520 C 00830520 CBE** ********************** BBCINITB **********************************00840520 ZPROG='FM520' 00850520 IVTOTL = 30 00860520 CBB** ********************** BBCHED0A **********************************00870520 C**** 00880520 C**** WRITE REPORT TITLE 00890520 C**** 00900520 WRITE (I02, 90002) 00910520 WRITE (I02, 90006) 00920520 WRITE (I02, 90007) 00930520 WRITE (I02, 90008) ZVERS, ZVERSD 00940520 WRITE (I02, 90009) ZPROG, ZPROG 00950520 WRITE (I02, 90010) ZDATE, ZCOMPL 00960520 CBE** ********************** BBCHED0A **********************************00970520 CBB** ********************** BBCHED0B **********************************00980520 C**** WRITE DETAIL REPORT HEADERS 00990520 C**** 01000520 WRITE (I02,90004) 01010520 WRITE (I02,90004) 01020520 WRITE (I02,90013) 01030520 WRITE (I02,90014) 01040520 WRITE (I02,90015) IVTOTL 01050520 CBE** ********************** BBCHED0B **********************************01060520 C 01070520 CT001* TEST 001 **** FCVS PROGRAM 520 **** 01080520 C 01090520 C 01100520 IVTNUM = 1 01110520 IVCOMP=+IPN001 01120520 IVCORR=+10 01130520 40010 IF (IVCOMP - 10) 20010, 10010, 20010 01140520 10010 IVPASS = IVPASS + 1 01150520 WRITE (I02,80002) IVTNUM 01160520 GO TO 0021 01170520 20010 IVFAIL = IVFAIL + 1 01180520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01190520 0021 CONTINUE 01200520 C 01210520 CT002* TEST 002 **** FCVS PROGRAM 520 **** 01220520 C 01230520 C 01240520 IVTNUM = 2 01250520 IVCOMP=-IPN001 01260520 IVCORR=-10 01270520 40020 IF (IVCOMP + 10) 20020, 10020, 20020 01280520 10020 IVPASS = IVPASS + 1 01290520 WRITE (I02,80002) IVTNUM 01300520 GO TO 0031 01310520 20020 IVFAIL = IVFAIL + 1 01320520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01330520 0031 CONTINUE 01340520 C 01350520 CT003* TEST 003 **** FCVS PROGRAM 520 **** 01360520 C 01370520 C 01380520 IVTNUM = 3 01390520 IVCOMP=IPN001+IPN002 01400520 IVCORR=15 01410520 40030 IF (IVCOMP - 15) 20030, 10030, 20030 01420520 10030 IVPASS = IVPASS + 1 01430520 WRITE (I02,80002) IVTNUM 01440520 GO TO 0041 01450520 20030 IVFAIL = IVFAIL + 1 01460520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01470520 0041 CONTINUE 01480520 C 01490520 CT004* TEST 004 **** FCVS PROGRAM 520 **** 01500520 C 01510520 C 01520520 IVTNUM = 4 01530520 IVCOMP=IPN001-IPN002 01540520 IVCORR=5 01550520 40040 IF (IVCOMP - 5) 20040, 10040, 20040 01560520 10040 IVPASS = IVPASS + 1 01570520 WRITE (I02,80002) IVTNUM 01580520 GO TO 0051 01590520 20040 IVFAIL = IVFAIL + 1 01600520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01610520 0051 CONTINUE 01620520 C 01630520 CT005* TEST 005 **** FCVS PROGRAM 520 **** 01640520 C 01650520 C 01660520 IVTNUM = 5 01670520 IVCOMP=IPN001*IPN002 01680520 IVCORR=50 01690520 40050 IF (IVCOMP - 50) 20050, 10050, 20050 01700520 10050 IVPASS = IVPASS + 1 01710520 WRITE (I02,80002) IVTNUM 01720520 GO TO 0061 01730520 20050 IVFAIL = IVFAIL + 1 01740520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01750520 0061 CONTINUE 01760520 C 01770520 CT006* TEST 006 **** FCVS PROGRAM 520 **** 01780520 C 01790520 C 01800520 IVTNUM = 6 01810520 IVCOMP=IPN001/IPN002 01820520 IVCORR=2 01830520 40060 IF (IVCOMP - 2) 20060, 10060, 20060 01840520 10060 IVPASS = IVPASS + 1 01850520 WRITE (I02,80002) IVTNUM 01860520 GO TO 0071 01870520 20060 IVFAIL = IVFAIL + 1 01880520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01890520 0071 CONTINUE 01900520 C 01910520 CT007* TEST 007 **** FCVS PROGRAM 520 **** 01920520 C 01930520 C 01940520 IVTNUM = 7 01950520 IVCOMP=IPN001**IPN002 01960520 IVCORR=100000 01970520 40070 IF (IVCOMP - 100000) 20070, 10070, 20070 01980520 10070 IVPASS = IVPASS + 1 01990520 WRITE (I02,80002) IVTNUM 02000520 GO TO 0081 02010520 20070 IVFAIL = IVFAIL + 1 02020520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02030520 0081 CONTINUE 02040520 C 02050520 C 02060520 C TEST 8 - 14 TEST REAL ARITHMETIC EXPRESSION USING 02070520 C ONLY SYMBOLIC NAMES OF ARITHMETIC CONSTANTS 02080520 C S06AF-2P 4.A 02090520 C 02100520 CT008* TEST 008 **** FCVS PROGRAM 520 **** 02110520 C 02120520 C 02130520 IVTNUM = 8 02140520 RVCOMP=+RPN001 02150520 RVCORR=+10.0 02160520 IF (RVCOMP - 0.99995E+01) 20080, 10080, 40080 02170520 40080 IF (RVCOMP - 0.10001E+02) 10080, 10080, 20080 02180520 10080 IVPASS = IVPASS + 1 02190520 WRITE (I02,80002) IVTNUM 02200520 GO TO 0091 02210520 20080 IVFAIL = IVFAIL + 1 02220520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02230520 0091 CONTINUE 02240520 C 02250520 CT009* TEST 009 **** FCVS PROGRAM 520 **** 02260520 C 02270520 C 02280520 IVTNUM = 9 02290520 RVCOMP=-RPN001 02300520 RVCORR=-10.0 02310520 IF (RVCOMP + 0.10001E+02) 20090, 10090, 40090 02320520 40090 IF (RVCOMP + 0.99995E+01) 10090, 10090, 20090 02330520 10090 IVPASS = IVPASS + 1 02340520 WRITE (I02,80002) IVTNUM 02350520 GO TO 0101 02360520 20090 IVFAIL = IVFAIL + 1 02370520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02380520 0101 CONTINUE 02390520 C 02400520 CT010* TEST 010 **** FCVS PROGRAM 520 **** 02410520 C 02420520 IVTNUM = 10 02430520 RVCOMP=RPN001+RPN002 02440520 RVCORR=15.0 02450520 IF (RVCOMP - 0.14999E+02) 20100, 10100, 40100 02460520 40100 IF (RVCOMP - 0.15001E+02) 10100, 10100, 20100 02470520 10100 IVPASS = IVPASS + 1 02480520 WRITE (I02,80002) IVTNUM 02490520 GO TO 0111 02500520 20100 IVFAIL = IVFAIL + 1 02510520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02520520 0111 CONTINUE 02530520 C 02540520 CT011* TEST 011 **** FCVS PROGRAM 520 **** 02550520 C 02560520 C 02570520 IVTNUM = 11 02580520 RVCOMP=RPN001-RPN002 02590520 RVCORR=5.0 02600520 IF (RVCOMP - 0.49997E+01) 20110, 10110, 40110 02610520 40110 IF (RVCOMP - 0.50003E+01) 10110, 10110, 20110 02620520 10110 IVPASS = IVPASS + 1 02630520 WRITE (I02,80002) IVTNUM 02640520 GO TO 0121 02650520 20110 IVFAIL = IVFAIL + 1 02660520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02670520 0121 CONTINUE 02680520 C 02690520 CT012* TEST 012 **** FCVS PROGRAM 520 **** 02700520 C 02710520 C 02720520 IVTNUM = 12 02730520 RVCOMP=RPN001*RPN002 02740520 RVCORR=50.0 02750520 IF (RVCOMP - 0.49997E+02) 20120, 10120, 40120 02760520 40120 IF (RVCOMP - 0.50003E+02) 10120, 10120, 20120 02770520 10120 IVPASS = IVPASS + 1 02780520 WRITE (I02,80002) IVTNUM 02790520 GO TO 0131 02800520 20120 IVFAIL = IVFAIL + 1 02810520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02820520 0131 CONTINUE 02830520 C 02840520 CT013* TEST 013 **** FCVS PROGRAM 520 **** 02850520 C 02860520 IVTNUM = 13 02870520 RVCOMP=RPN001/RPN002 02880520 RVCORR=2.0 02890520 IF (RVCOMP - 0.19999E+01) 20130, 10130, 40130 02900520 40130 IF (RVCOMP - 0.20001E+01) 10130, 10130, 20130 02910520 10130 IVPASS = IVPASS + 1 02920520 WRITE (I02,80002) IVTNUM 02930520 GO TO 0141 02940520 20130 IVFAIL = IVFAIL + 1 02950520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 02960520 0141 CONTINUE 02970520 C 02980520 CT014* TEST 014 **** FCVS PROGRAM 520 **** 02990520 C 03000520 IVTNUM = 14 03010520 RVCOMP=RPN001**RPN002 03020520 RVCORR=100000.0 03030520 IF (RVCOMP - 0.99995E+05) 20140, 10140, 40140 03040520 40140 IF (RVCOMP - 0.10001E+06) 10140, 10140, 20140 03050520 10140 IVPASS = IVPASS + 1 03060520 WRITE (I02,80002) IVTNUM 03070520 GO TO 0151 03080520 20140 IVFAIL = IVFAIL + 1 03090520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 03100520 0151 CONTINUE 03110520 C 03120520 C 03130520 C TEST 15 - 18 REPEATS TEST 1 - 7 USING MORE THAN ONE OPERATOR 03140520 C S06AF-2P 4.C 03150520 C 03160520 CT015* TEST 015 **** FCVS PROGRAM 520 **** 03170520 C 03180520 C 03190520 IVTNUM = 15 03200520 IVCOMP=IPN001+IPN001-IPN002 03210520 IVCORR=15 03220520 40150 IF (IVCOMP - 15) 20150, 10150, 20150 03230520 10150 IVPASS = IVPASS + 1 03240520 WRITE (I02,80002) IVTNUM 03250520 GO TO 0161 03260520 20150 IVFAIL = IVFAIL + 1 03270520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03280520 0161 CONTINUE 03290520 C 03300520 CT016* TEST 016 **** FCVS PROGRAM 520 **** 03310520 C 03320520 IVTNUM = 16 03330520 IVCOMP=IPN001+IPN001-IPN002*IPN002 03340520 IVCORR=-5 03350520 40160 IF (IVCOMP + 5) 20160, 10160, 20160 03360520 10160 IVPASS = IVPASS + 1 03370520 WRITE (I02,80002) IVTNUM 03380520 GO TO 0171 03390520 20160 IVFAIL = IVFAIL + 1 03400520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03410520 0171 CONTINUE 03420520 C 03430520 CT017* TEST 017 **** FCVS PROGRAM 520 **** 03440520 C 03450520 C 03460520 IVTNUM = 17 03470520 IVCOMP=IPN001+IPN001-IPN002*IPN002/IPN003 03480520 IVCORR=15 03490520 40170 IF (IVCOMP - 15) 20170, 10170, 20170 03500520 10170 IVPASS = IVPASS + 1 03510520 WRITE (I02,80002) IVTNUM 03520520 GO TO 0181 03530520 20170 IVFAIL = IVFAIL + 1 03540520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03550520 0181 CONTINUE 03560520 C 03570520 CT018* TEST 018 **** FCVS PROGRAM 520 **** 03580520 C 03590520 IVTNUM = 18 03600520 IVCOMP=IPN001+IPN001**IPN002-IPN002*IPN002/IPN003 03610520 IVCORR=100005 03620520 40180 IF (IVCOMP - 100005) 20180, 10180, 20180 03630520 10180 IVPASS = IVPASS + 1 03640520 WRITE (I02,80002) IVTNUM 03650520 GO TO 0191 03660520 20180 IVFAIL = IVFAIL + 1 03670520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03680520 0191 CONTINUE 03690520 C 03700520 C 03710520 C TEST 19 - 22 REPEATS TEST 8 - 14 USING MORE THAN ONE OPERATOR 03720520 C S06AF-2P 4.C 03730520 C 03740520 CT019* TEST 019 **** FCVS PROGRAM 520 **** 03750520 C 03760520 IVTNUM = 19 03770520 RVCOMP=RPN001+RPN001-RPN002 03780520 RVCORR=15.0 03790520 IF (RVCOMP - 0.14999E+02) 20190, 10190, 40190 03800520 40190 IF (RVCOMP - 0.15001E+02) 10190, 10190, 20190 03810520 10190 IVPASS = IVPASS + 1 03820520 WRITE (I02,80002) IVTNUM 03830520 GO TO 0201 03840520 20190 IVFAIL = IVFAIL + 1 03850520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 03860520 0201 CONTINUE 03870520 C 03880520 CT020* TEST 020 **** FCVS PROGRAM 520 **** 03890520 C 03900520 IVTNUM = 20 03910520 RVCOMP=RPN001+RPN001-RPN002*RPN002 03920520 RVCORR=-5.0 03930520 IF (RVCOMP + 0.50003E+01) 20200, 10200, 40200 03940520 40200 IF (RVCOMP + 0.49997E+01) 10200, 10200, 20200 03950520 10200 IVPASS = IVPASS + 1 03960520 WRITE (I02,80002) IVTNUM 03970520 GO TO 0211 03980520 20200 IVFAIL = IVFAIL + 1 03990520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 04000520 0211 CONTINUE 04010520 C 04020520 CT021* TEST 021 **** FCVS PROGRAM 520 **** 04030520 C 04040520 IVTNUM = 21 04050520 RVCOMP=RPN001+RPN001-RPN002*RPN002/RPN003 04060520 RVCORR=15.0 04070520 IF (RVCOMP - 0.14999E+02) 20210, 10210, 40210 04080520 40210 IF (RVCOMP - 0.15001E+02) 10210, 10210, 20210 04090520 10210 IVPASS = IVPASS + 1 04100520 WRITE (I02,80002) IVTNUM 04110520 GO TO 0221 04120520 20210 IVFAIL = IVFAIL + 1 04130520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 04140520 0221 CONTINUE 04150520 C 04160520 CT022* TEST 022 **** FCVS PROGRAM 520 **** 04170520 C 04180520 IVTNUM = 22 04190520 RVCOMP=RPN001+RPN001**RPN002-RPN002*RPN002/RPN003 04200520 RVCORR=100005.0 04210520 IF (RVCOMP - 0.10000E+06) 20220, 10220, 40220 04220520 40220 IF (RVCOMP - 0.10001E+06) 10220, 10220, 20220 04230520 10220 IVPASS = IVPASS + 1 04240520 WRITE (I02,80002) IVTNUM 04250520 GO TO 0231 04260520 20220 IVFAIL = IVFAIL + 1 04270520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 04280520 0231 CONTINUE 04290520 C 04300520 C 04310520 C TEST 23 - 26 REPEATS TEST 15 - 18 USING PARENTHESES 04320520 C S06AF-2P 4.D 04330520 C 04340520 C 04350520 C 04360520 CT023* TEST 023 **** FCVS PROGRAM 520 **** 04370520 C 04380520 IVTNUM = 23 04390520 IVCOMP=IPN001+(IPN001-IPN002) 04400520 IVCORR=15 04410520 40230 IF (IVCOMP - 15) 20230, 10230, 20230 04420520 10230 IVPASS = IVPASS + 1 04430520 WRITE (I02,80002) IVTNUM 04440520 GO TO 0241 04450520 20230 IVFAIL = IVFAIL + 1 04460520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04470520 0241 CONTINUE 04480520 C 04490520 CT024* TEST 024 **** FCVS PROGRAM 520 **** 04500520 C 04510520 IVTNUM = 24 04520520 IVCOMP=((IPN001+IPN001)-IPN002)*IPN002 04530520 IVCORR=75 04540520 40240 IF (IVCOMP - 75) 20240, 10240, 20240 04550520 10240 IVPASS = IVPASS + 1 04560520 WRITE (I02,80002) IVTNUM 04570520 GO TO 0251 04580520 20240 IVFAIL = IVFAIL + 1 04590520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04600520 0251 CONTINUE 04610520 C 04620520 CT025* TEST 025 **** FCVS PROGRAM 520 **** 04630520 C 04640520 IVTNUM = 25 04650520 IVCOMP=(IPN001+IPN001)-IPN002*(IPN002/IPN003) 04660520 IVCORR=15 04670520 40250 IF (IVCOMP - 15) 20250, 10250, 20250 04680520 10250 IVPASS = IVPASS + 1 04690520 WRITE (I02,80002) IVTNUM 04700520 GO TO 0261 04710520 20250 IVFAIL = IVFAIL + 1 04720520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04730520 0261 CONTINUE 04740520 C 04750520 CT026* TEST 026 **** FCVS PROGRAM 520 **** 04760520 C 04770520 IVTNUM = 26 04780520 IVCOMP=(IPN001+IPN001)**2-((IPN002*IPN002)/IPN003) 04790520 IVCORR=395 04800520 40260 IF (IVCOMP - 395) 20260, 10260, 20260 04810520 10260 IVPASS = IVPASS + 1 04820520 WRITE (I02,80002) IVTNUM 04830520 GO TO 0271 04840520 20260 IVFAIL = IVFAIL + 1 04850520 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04860520 0271 CONTINUE 04870520 C 04880520 C TEST 27 - 30 REPEATS TEST 19 - 22 USING PARENTHESES 04890520 C S06AF-2P 4.D 04900520 C 04910520 CT027* TEST 027 **** FCVS PROGRAM 520 **** 04920520 C 04930520 IVTNUM = 27 04940520 RVCOMP=RPN001+(RPN001-RPN002) 04950520 RVCORR=15.0 04960520 IF (RVCOMP - 0.14999E+02) 20270, 10270, 40270 04970520 40270 IF (RVCOMP - 0.15001E+02) 10270, 10270, 20270 04980520 10270 IVPASS = IVPASS + 1 04990520 WRITE (I02,80002) IVTNUM 05000520 GO TO 0281 05010520 20270 IVFAIL = IVFAIL + 1 05020520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 05030520 0281 CONTINUE 05040520 C 05050520 CT028* TEST 028 **** FCVS PROGRAM 520 **** 05060520 C 05070520 IVTNUM = 28 05080520 RVCOMP=((RPN001+RPN001)-RPN002)*RPN002 05090520 RVCORR=75.0 05100520 IF (RVCOMP - 0.74996E+02) 20280, 10280, 40280 05110520 40280 IF (RVCOMP - 0.75004E+02) 10280, 10280, 20280 05120520 10280 IVPASS = IVPASS + 1 05130520 WRITE (I02,80002) IVTNUM 05140520 GO TO 0291 05150520 20280 IVFAIL = IVFAIL + 1 05160520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 05170520 0291 CONTINUE 05180520 C 05190520 CT029* TEST 029 **** FCVS PROGRAM 520 **** 05200520 C 05210520 IVTNUM = 29 05220520 RVCOMP=(RPN001+RPN001)-RPN002*(RPN002/RPN003) 05230520 RVCORR=15.0 05240520 IF (RVCOMP - 0.14999E+02) 20290, 10290, 40290 05250520 40290 IF (RVCOMP - 0.15001E+02) 10290, 10290, 20290 05260520 10290 IVPASS = IVPASS + 1 05270520 WRITE (I02,80002) IVTNUM 05280520 GO TO 0301 05290520 20290 IVFAIL = IVFAIL + 1 05300520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 05310520 0301 CONTINUE 05320520 C 05330520 CT030* TEST 030 **** FCVS PROGRAM 520 **** 05340520 C 05350520 C 05360520 IVTNUM = 30 05370520 RVCOMP=(RPN001+RPN001)**3.0-((RPN002*RPN002)/RPN003) 05380520 RVCORR=7995.0 05390520 IF (RVCOMP - 0.79946E+04) 20300, 10300, 40300 05400520 40300 IF (RVCOMP - 0.79954E+04) 10300, 10300, 20300 05410520 10300 IVPASS = IVPASS + 1 05420520 WRITE (I02,80002) IVTNUM 05430520 GO TO 0311 05440520 20300 IVFAIL = IVFAIL + 1 05450520 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 05460520 0311 CONTINUE 05470520 C 05480520 CBB** ********************** BBCSUM0 **********************************05490520 C**** WRITE OUT TEST SUMMARY 05500520 C**** 05510520 IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 05520520 WRITE (I02, 90004) 05530520 WRITE (I02, 90014) 05540520 WRITE (I02, 90004) 05550520 WRITE (I02, 90020) IVPASS 05560520 WRITE (I02, 90022) IVFAIL 05570520 WRITE (I02, 90024) IVDELE 05580520 WRITE (I02, 90026) IVINSP 05590520 WRITE (I02, 90028) IVTOTN, IVTOTL 05600520 CBE** ********************** BBCSUM0 **********************************05610520 CBB** ********************** BBCFOOT0 **********************************05620520 C**** WRITE OUT REPORT FOOTINGS 05630520 C**** 05640520 WRITE (I02,90016) ZPROG, ZPROG 05650520 WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 05660520 WRITE (I02,90019) 05670520 CBE** ********************** BBCFOOT0 **********************************05680520 90001 FORMAT (" ",56X,"FM520") 05690520 90000 FORMAT (" ",50X,"END OF PROGRAM FM520" ) 05700520 CBB** ********************** BBCFMT0A **********************************05710520 C**** FORMATS FOR TEST DETAIL LINES 05720520 C**** 05730520 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 05740520 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 05750520 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 05760520 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 05770520 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 05780520 1I6,/," ",15X,"CORRECT= " ,I6) 05790520 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05800520 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 05810520 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05820520 1A21,/," ",16X,"CORRECT= " ,A21) 05830520 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 05840520 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 05850520 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 05860520 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 05870520 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 05880520 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 05890520 80050 FORMAT (" ",48X,A31) 05900520 CBE** ********************** BBCFMT0A **********************************05910520 CBB** ********************** BBCFMAT1 **********************************05920520 C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 05930520 C**** 05940520 80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05950520 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 05960520 80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 05970520 80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 05980520 80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 05990520 80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 06000520 80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 06010520 80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 06020520 80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 06030520 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 06040520 2"(",F12.5,", ",F12.5,")") 06050520 CBE** ********************** BBCFMAT1 **********************************06060520 CBB** ********************** BBCFMT0B **********************************06070520 C**** FORMAT STATEMENTS FOR PAGE HEADERS 06080520 C**** 06090520 90002 FORMAT ("1") 06100520 90004 FORMAT (" ") 06110520 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )06120520 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 06130520 90008 FORMAT (" ",21X,A13,A17) 06140520 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 06150520 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 06160520 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 06170520 1 7X,"REMARKS",24X) 06180520 90014 FORMAT (" ","----------------------------------------------" , 06190520 1 "---------------------------------" ) 06200520 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 06210520 C**** 06220520 C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 06230520 C**** 06240520 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 06250520 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 06260520 1 A13) 06270520 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 06280520 C**** 06290520 C**** FORMAT STATEMENTS FOR RUN SUMMARY 06300520 C**** 06310520 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 06320520 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 06330520 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 06340520 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 06350520 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 06360520 CBE** ********************** BBCFMT0B **********************************06370520 END 06380520