blob: 4370f09f6e8b410625eb81517de444861727b3c1 [file] [log] [blame]
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