| 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 |