PROGRAM FM906 C***********************************************************************00010906 C***** FORTRAN 77 00020906 C***** FM906 00030906 C***** LSTDI2 - (372) 00040906 C***** 00050906 C***********************************************************************00060906 C***** GENERAL PURPOSE ANS REF 00070906 C***** TEST LIST DIRECTED INPUT 13.6 00080906 C***** DOUBLE PRECISION, COMPLEX DATA TYPES INCLUDED 12.4 00090906 C***** 00100906 CBB** ********************** BBCCOMNT **********************************00110906 C**** 00120906 C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00130906 C**** VERSION 2.1 00140906 C**** 00150906 C**** 00160906 C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00170906 C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00180906 C**** SOFTWARE STANDARDS VALIDATION GROUP 00190906 C**** BUILDING 225 RM A266 00200906 C**** GAITHERSBURG, MD 20899 00210906 C**** 00220906 C**** 00230906 C**** 00240906 CBE** ********************** BBCCOMNT **********************************00250906 C***** 00260906 C INPUT DATA TO THIS SEGMENT CONSISTS OF 12 CARD IMAGES IN COL. 1-44 00270906 COL. 1-----------------------------------------44 00280906 CARD 1 2.5D0 00290906 CARD 2 1.5 2.5D0 3.5E0 00300906 CARD 3 (3.0,4.0) 00310906 CARD 4 (1.0,0.0) (0.0,0.0) (0.0,3.0) 00320906 CARD 5 2, 2.5D0, 2.5D0, T, (3.0,4.0), 'TEST' 00330906 CARD 6 ( 2.5 , 3.5 ) 00340906 CARD 7 (1.0 , 00350906 CARD 8 2.0) 00360906 CARD 9 , (2.0, 3.0),,6.0D0, 2*, 00370906 CARD 10 1.0D0 (2.0, 2.0) 3.0D0 (4.0, 4.0) 5.0D0 00380906 CARD 11 6.0D0 (7.0, 7.0) / 8.0D0 (9.0, 9.0) 10.0D0 00390906 CARD 12 2.0D0 4.0D0 / 6.0D0 8.0D0 10.0D0 00400906 C***** 00410906 C***** S P E C I F I C A T I O N S SEGMENT 372 00420906 LOGICAL AVB 00430906 CHARACTER A4VK*4,CVCORR*4 00440906 DOUBLE PRECISION AVD, BVD, CVD, DVCORR 00450906 DOUBLE PRECISION A1D(4) 00460906 COMPLEX AVC, BVC, CVC, ZVCORR 00470906 REAL R2E(6) 00480906 EQUIVALENCE (AVC,R2E(1)),(BVC,R2E(3)),(CVC,R2E(5)) 00490906 C***** 00500906 CBB** ********************** BBCINITA **********************************00510906 C**** SPECIFICATION STATEMENTS 00520906 C**** 00530906 CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00540906 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00550906 CBE** ********************** BBCINITA **********************************00560906 CBB** ********************** BBCINITB **********************************00570906 C**** INITIALIZE SECTION 00580906 DATA ZVERS, ZVERSD, ZDATE 00590906 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00600906 DATA ZCOMPL, ZNAME, ZTAPE 00610906 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00620906 DATA ZPROJ, ZTAPED, ZPROG 00630906 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00640906 DATA REMRKS /' '/ 00650906 C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00660906 C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00670906 C**** 00680906 CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00690906 CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00700906 CZ03 ZPROG = 'PROGRAM NAME' 00710906 CZ04 ZDATE = 'DATE OF TEST' 00720906 CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00730906 CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00740906 CZ07 ZNAME = 'NAME OF USER' 00750906 CZ08 ZTAPE = 'TAPE OWNER/ID' 00760906 CZ09 ZTAPED = 'DATE TAPE COPIED' 00770906 C 00780906 IVPASS = 0 00790906 IVFAIL = 0 00800906 IVDELE = 0 00810906 IVINSP = 0 00820906 IVTOTL = 0 00830906 IVTOTN = 0 00840906 ICZERO = 0 00850906 C 00860906 C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00870906 I01 = 05 00880906 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00890906 I02 = 06 00900906 C 00910906 CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00920906 C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00930906 CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00940906 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00950906 C 00960906 CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00970906 C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00980906 CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00990906 C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 01000906 C 01010906 CBE** ********************** BBCINITB **********************************01020906 IRVI = I01 01030906 NUVI = I02 01040906 IVTOTL = 28 01050906 ZPROG = 'FM906' 01060906 CBB** ********************** BBCHED0A **********************************01070906 C**** 01080906 C**** WRITE REPORT TITLE 01090906 C**** 01100906 WRITE (I02, 90002) 01110906 WRITE (I02, 90006) 01120906 WRITE (I02, 90007) 01130906 WRITE (I02, 90008) ZVERS, ZVERSD 01140906 WRITE (I02, 90009) ZPROG, ZPROG 01150906 WRITE (I02, 90010) ZDATE, ZCOMPL 01160906 CBE** ********************** BBCHED0A **********************************01170906 C***** 01180906 C***** HEADING FOR SEGMENT 372 01190906 WRITE(NUVI,37200) 01200906 37200 FORMAT(" ", /" LSTDI2 - (372) " , 01210906 1 " LIST DIRECTED INPUT" , 01220906 2 " FOR D.P. AND COMPLEX DATA TYPES" // 01230906 3 " ANS REF. - 13.6 12.4" ) 01240906 CBB** ********************** BBCHED0B **********************************01250906 C**** WRITE DETAIL REPORT HEADERS 01260906 C**** 01270906 WRITE (I02,90004) 01280906 WRITE (I02,90004) 01290906 WRITE (I02,90013) 01300906 WRITE (I02,90014) 01310906 WRITE (I02,90015) IVTOTL 01320906 CBE** ********************** BBCHED0B **********************************01330906 CT001* TEST 1 - CARD 1 DOUBLE PRECISION 01340906 IVTNUM = 1 01350906 READ(IRVI, *) AVD 01360906 IF (AVD - 0.2499999998D+01) 20010, 10010, 40010 01370906 40010 IF (AVD - 0.2500000002D+01) 10010, 10010, 20010 01380906 10010 IVPASS = IVPASS + 1 01390906 WRITE (NUVI, 80002) IVTNUM 01400906 GO TO 0011 01410906 20010 IVFAIL = IVFAIL + 1 01420906 DVCORR = 2.5D0 01430906 WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR 01440906 0011 CONTINUE 01450906 C***** TESTS 2 THRU 4 - CARD 2 SEVERAL DOUBLE PRECISION 01460906 CT002* TEST 2 01470906 IVTNUM = 2 01480906 READ(IRVI, *) AVD, BVD, CVD 01490906 IF (AVD - 0.1499999999D+01) 20020, 10020, 40020 01500906 40020 IF (AVD - 0.1500000001D+01) 10020, 10020, 20020 01510906 10020 IVPASS = IVPASS + 1 01520906 WRITE (NUVI, 80002) IVTNUM 01530906 GO TO 0021 01540906 20020 IVFAIL = IVFAIL + 1 01550906 DVCORR = 1.5D0 01560906 WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR 01570906 0021 CONTINUE 01580906 CT003* TEST 3 01590906 IVTNUM = 3 01600906 IF (BVD - 0.2499999998D+01) 20030, 10030, 40030 01610906 40030 IF (BVD - 0.2500000002D+01) 10030, 10030, 20030 01620906 10030 IVPASS = IVPASS + 1 01630906 WRITE (NUVI, 80002) IVTNUM 01640906 GO TO 0031 01650906 20030 IVFAIL = IVFAIL + 1 01660906 DVCORR = 2.5D0 01670906 WRITE (NUVI, 80031) IVTNUM, BVD, DVCORR 01680906 0031 CONTINUE 01690906 CT004* TEST 4 01700906 IVTNUM = 4 01710906 IF (CVD - 0.3499999998D+01) 20040, 10040, 40040 01720906 40040 IF (CVD - 0.3500000002D+01) 10040, 10040, 20040 01730906 10040 IVPASS = IVPASS + 1 01740906 WRITE (NUVI, 80002) IVTNUM 01750906 GO TO 0041 01760906 20040 IVFAIL = IVFAIL + 1 01770906 DVCORR = 3.5D0 01780906 WRITE (NUVI, 80031) IVTNUM, CVD, DVCORR 01790906 0041 CONTINUE 01800906 CT005* TEST 5 - CARD 3 COMPLEX 01810906 IVTNUM = 5 01820906 READ(IRVI, *) AVC 01830906 IF (R2E(1) - 0.29998E+01) 20050, 40052, 40051 01840906 40051 IF (R2E(1) - 0.30002E+01) 40052, 40052, 20050 01850906 40052 IF (R2E(2) - 0.39998E+01) 20050, 10050, 40050 01860906 40050 IF (R2E(2) - 0.40002E+01) 10050, 10050, 20050 01870906 10050 IVPASS = IVPASS + 1 01880906 WRITE (NUVI, 80002) IVTNUM 01890906 GO TO 0051 01900906 20050 IVFAIL = IVFAIL + 1 01910906 ZVCORR = (3.0, 4.0) 01920906 WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 01930906 0051 CONTINUE 01940906 C***** TESTS 6 THRU 8 - CARD 4 SEVERAL COMPLEX 01950906 CT006* TEST 6 01960906 IVTNUM = 6 01970906 READ(IRVI, *) AVC, BVC, CVC 01980906 IF (R2E(1) - 0.99995E+00) 20060, 40062, 40061 01990906 40061 IF (R2E(1) - 0.10001E+01) 40062, 40062, 20060 02000906 40062 IF (R2E(2) + 0.50000E-04) 20060, 10060, 40060 02010906 40060 IF (R2E(2) - 0.50000E-04) 10060, 10060, 20060 02020906 10060 IVPASS = IVPASS + 1 02030906 WRITE (NUVI, 80002) IVTNUM 02040906 GO TO 0061 02050906 20060 IVFAIL = IVFAIL + 1 02060906 ZVCORR = (1.0, 0.0) 02070906 WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 02080906 0061 CONTINUE 02090906 CT007* TEST 7 02100906 IVTNUM = 7 02110906 IF (R2E(3) + 0.50000E-04) 20070, 40072, 40071 02120906 40071 IF (R2E(3) - 0.50000E-04) 40072, 40072, 20070 02130906 40072 IF (R2E(4) + 0.50000E-04) 20070, 10070, 40070 02140906 40070 IF (R2E(4) - 0.50000E-04) 10070, 10070, 20070 02150906 10070 IVPASS = IVPASS + 1 02160906 WRITE (NUVI, 80002) IVTNUM 02170906 GO TO 0071 02180906 20070 IVFAIL = IVFAIL + 1 02190906 ZVCORR = (0.0, 0.0) 02200906 WRITE (NUVI, 80045) IVTNUM, BVC, ZVCORR 02210906 0071 CONTINUE 02220906 CT008* TEST 8 02230906 IVTNUM = 8 02240906 IF (R2E(5) + 0.50000E-04) 20080, 40082, 40081 02250906 40081 IF (R2E(5) - 0.50000E-04) 40082, 40082, 20080 02260906 40082 IF (R2E(6) - 0.29998E+01) 20080, 10080, 40080 02270906 40080 IF (R2E(6) - 0.30002E+01) 10080, 10080, 20080 02280906 10080 IVPASS = IVPASS + 1 02290906 WRITE (NUVI, 80002) IVTNUM 02300906 GO TO 0081 02310906 20080 IVFAIL = IVFAIL + 1 02320906 ZVCORR = (0.0, 3.0) 02330906 WRITE (NUVI, 80045) IVTNUM, CVC, ZVCORR 02340906 0081 CONTINUE 02350906 C***** TESTS 9 THRU 14 - CARD 5 MIXED LIST 02360906 CT009* TEST 9 02370906 IVTNUM = 9 02380906 READ(IRVI, *) IVI, AVD, AVS, AVB, AVC, A4VK 02390906 IF (IVI - 2) 20090, 10090, 20090 02400906 10090 IVPASS = IVPASS + 1 02410906 WRITE (NUVI, 80002) IVTNUM 02420906 GO TO 0091 02430906 20090 IVFAIL = IVFAIL + 1 02440906 IVCORR = 2 02450906 WRITE (NUVI, 80010) IVTNUM, IVI, IVCORR 02460906 0091 CONTINUE 02470906 CT010* TEST 10 02480906 IVTNUM = 10 02490906 IF (AVD - 0.2499999998D+01) 20100, 10100, 40100 02500906 40100 IF (AVD - 0.2500000002D+01) 10100, 10100, 20100 02510906 10100 IVPASS = IVPASS + 1 02520906 WRITE (NUVI, 80002) IVTNUM 02530906 GO TO 0101 02540906 20100 IVFAIL = IVFAIL + 1 02550906 DVCORR = 2.5D0 02560906 WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR 02570906 0101 CONTINUE 02580906 CT011* TEST 11 02590906 IVTNUM = 11 02600906 IF (AVS - 0.24998E+01) 20110, 10110, 40110 02610906 40110 IF (AVS - 0.25002E+01) 10110, 10110, 20110 02620906 10110 IVPASS = IVPASS + 1 02630906 WRITE (NUVI, 80002) IVTNUM 02640906 GO TO 0111 02650906 20110 IVFAIL = IVFAIL + 1 02660906 RVCORR = 2.5 02670906 WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02680906 0111 CONTINUE 02690906 CT012* TEST 12 02700906 IVTNUM = 12 02710906 IVCOMP = 0 02720906 IF (AVB) IVCOMP = 1 02730906 IF (IVCOMP - 1) 20120, 10120, 20120 02740906 10120 IVPASS = IVPASS + 1 02750906 WRITE (NUVI, 80002) IVTNUM 02760906 GO TO 0121 02770906 20120 IVFAIL = IVFAIL + 1 02780906 LVCORR = 1 02790906 REMRKS = '1 = TRUE ; 0 = FALSE' 02800906 WRITE (NUVI, 80008) IVTNUM, REMRKS 02810906 WRITE (NUVI, 80024) IVCOMP 02820906 WRITE (NUVI, 80026) LVCORR 02830906 0121 CONTINUE 02840906 C***** ADVANCE TO TOP-OF-PAGE AND WRITE HEADERS 02850906 WRITE (NUVI, 90002) 02860906 WRITE (NUVI, 90013) 02870906 WRITE (NUVI, 90014) 02880906 CT013* TEST 13 02890906 IVTNUM = 13 02900906 IF (R2E(1) - 0.29998E+01) 20130, 40132, 40131 02910906 40131 IF (R2E(1) - 0.30002E+01) 40132, 40132, 20130 02920906 40132 IF (R2E(2) - 0.39998E+01) 20130, 10130, 40130 02930906 40130 IF (R2E(2) - 0.40002E+01) 10130, 10130, 20130 02940906 10130 IVPASS = IVPASS + 1 02950906 WRITE (NUVI, 80002) IVTNUM 02960906 GO TO 0131 02970906 20130 IVFAIL = IVFAIL + 1 02980906 ZVCORR = (3.0, 4.0) 02990906 WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 03000906 0131 CONTINUE 03010906 CT014* TEST 14 03020906 IVTNUM = 14 03030906 IVCOMP = 0 03040906 IF (A4VK.EQ.'TEST') IVCOMP = 1 03050906 IF (IVCOMP - 1) 20140, 10140, 20140 03060906 10140 IVPASS = IVPASS + 1 03070906 WRITE (NUVI, 80002) IVTNUM 03080906 GO TO 0141 03090906 20140 IVFAIL = IVFAIL + 1 03100906 CVCORR = 'TEST' 03110906 WRITE (NUVI, 80018) IVTNUM, A4VK, CVCORR 03120906 0141 CONTINUE 03130906 CT015* TEST 15 - CARD 6 COMPLEX CONSTANT W/EMBEDDED BLANKS 03140906 IVTNUM = 15 03150906 READ(IRVI, *) AVC 03160906 IF (R2E(1) - 0.24998E+01) 20150, 40152, 40151 03170906 40151 IF (R2E(1) - 0.25002E+01) 40152, 40152, 20150 03180906 40152 IF (R2E(2) - 0.34998E+01) 20150, 10150, 40150 03190906 40150 IF (R2E(2) - 0.35002E+01) 10150, 10150, 20150 03200906 10150 IVPASS = IVPASS + 1 03210906 WRITE (NUVI, 80002) IVTNUM 03220906 GO TO 0151 03230906 20150 IVFAIL = IVFAIL + 1 03240906 ZVCORR = (2.5, 3.5) 03250906 WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 03260906 0151 CONTINUE 03270906 CT016* TEST 16 - CARDS 7-8 COMPLEX WITH EMBEDDED END-OF-RECORD 03280906 IVTNUM = 16 03290906 READ(IRVI, *) AVC 03300906 IF (R2E(1) - 0.99995E+00) 20160, 40162, 40161 03310906 40161 IF (R2E(1) - 0.10001E+01) 40162, 40162, 20160 03320906 40162 IF (R2E(2) - 0.19999E+01) 20160, 10160, 40160 03330906 40160 IF (R2E(2) - 0.20001E+01) 10160, 10160, 20160 03340906 10160 IVPASS = IVPASS + 1 03350906 WRITE (NUVI, 80002) IVTNUM 03360906 GO TO 0161 03370906 20160 IVFAIL = IVFAIL + 1 03380906 ZVCORR = (1.0, 2.0) 03390906 WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 03400906 0161 CONTINUE 03410906 C***** TESTS 17 THRU 22 - CARD 9 NULL VALUES 03420906 CT017* TEST 17 03430906 IVTNUM = 17 03440906 AVD = 1.0D0 03450906 BVC = (4.0, 5.0) 03460906 CVC = (7.0, 8.0) 03470906 CVD = 9.0D0 03480906 READ(IRVI, *) AVD, AVC, BVC, BVD, CVC, CVD 03490906 IF (AVD - 0.9999999995D+00) 20170, 10170, 40170 03500906 40170 IF (AVD - 0.1000000001D+01) 10170, 10170, 20170 03510906 10170 IVPASS = IVPASS + 1 03520906 WRITE (NUVI, 80002) IVTNUM 03530906 GO TO 0171 03540906 20170 IVFAIL = IVFAIL + 1 03550906 DVCORR = 1.0D0 03560906 WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR 03570906 0171 CONTINUE 03580906 CT018* TEST 18 03590906 IVTNUM = 18 03600906 IF (R2E(1) - 0.19999E+01) 20180, 40182, 40181 03610906 40181 IF (R2E(1) - 0.20001E+01) 40182, 40182, 20180 03620906 40182 IF (R2E(2) - 0.29998E+01) 20180, 10180, 40180 03630906 40180 IF (R2E(2) - 0.30002E+01) 10180, 10180, 20180 03640906 10180 IVPASS = IVPASS + 1 03650906 WRITE (NUVI, 80002) IVTNUM 03660906 GO TO 0181 03670906 20180 IVFAIL = IVFAIL + 1 03680906 ZVCORR = (2.0, 3.0) 03690906 WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 03700906 0181 CONTINUE 03710906 CT019* TEST 19 03720906 IVTNUM = 19 03730906 IF (R2E(3) - 0.39998E+01) 20190, 40192, 40191 03740906 40191 IF (R2E(3) - 0.40002E+01) 40192, 40192, 20190 03750906 40192 IF (R2E(4) - 0.49997E+01) 20190, 10190, 40190 03760906 40190 IF (R2E(4) - 0.50003E+01) 10190, 10190, 20190 03770906 10190 IVPASS = IVPASS + 1 03780906 WRITE (NUVI, 80002) IVTNUM 03790906 GO TO 0191 03800906 20190 IVFAIL = IVFAIL + 1 03810906 ZVCORR = (4.0, 5.0) 03820906 WRITE (NUVI, 80045) IVTNUM, BVC, ZVCORR 03830906 0191 CONTINUE 03840906 CT020* TEST 20 03850906 IVTNUM = 20 03860906 IF (BVD - 0.5999999997D+01) 20200, 10200, 40200 03870906 40200 IF (BVD - 0.6000000003D+01) 10200, 10200, 20200 03880906 10200 IVPASS = IVPASS + 1 03890906 WRITE (NUVI, 80002) IVTNUM 03900906 GO TO 0201 03910906 20200 IVFAIL = IVFAIL + 1 03920906 DVCORR = 6.0D0 03930906 WRITE (NUVI, 80031) IVTNUM, BVD, DVCORR 03940906 0201 CONTINUE 03950906 CT021* TEST 21 03960906 IVTNUM = 21 03970906 IF (R2E(5) - 0.69996E+01) 20210, 40212, 40211 03980906 40211 IF (R2E(5) - 0.70004E+01) 40212, 40212, 20210 03990906 40212 IF (R2E(6) - 0.79996E+01) 20210, 10210, 40210 04000906 40210 IF (R2E(6) - 0.80004E+01) 10210, 10210, 20210 04010906 10210 IVPASS = IVPASS + 1 04020906 WRITE (NUVI, 80002) IVTNUM 04030906 GO TO 0211 04040906 20210 IVFAIL = IVFAIL + 1 04050906 ZVCORR = (7.0, 8.0) 04060906 WRITE (NUVI, 80045) IVTNUM, CVC, ZVCORR 04070906 0211 CONTINUE 04080906 CT022* TEST 22 04090906 IVTNUM = 22 04100906 IF (CVD - 0.8999999995D+01) 20220, 10220, 40220 04110906 40220 IF (CVD - 0.9000000005D+01) 10220, 10220, 20220 04120906 10220 IVPASS = IVPASS + 1 04130906 WRITE (NUVI, 80002) IVTNUM 04140906 GO TO 0221 04150906 20220 IVFAIL = IVFAIL + 1 04160906 DVCORR = 9.0D0 04170906 WRITE (NUVI, 80031) IVTNUM, CVD, DVCORR 04180906 0221 CONTINUE 04190906 C***** TESTS 23 THRU 27 - CARDS 10-11 SLASH TERMINATOR 04200906 CT023* TEST 23 04210906 IVTNUM = 23 04220906 READ(IRVI, *) AVD, AVC, BVD, BVC, CVD 04230906 READ(IRVI, *) AVD, AVC, BVD, BVC, CVD 04240906 IF (AVD - 0.5999999997D+01) 20230, 10230, 40230 04250906 40230 IF (AVD - 0.6000000003D+01) 10230, 10230, 20230 04260906 10230 IVPASS = IVPASS + 1 04270906 WRITE (NUVI, 80002) IVTNUM 04280906 GO TO 0231 04290906 20230 IVFAIL = IVFAIL + 1 04300906 DVCORR = 6.0D0 04310906 WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR 04320906 0231 CONTINUE 04330906 CT024* TEST 24 04340906 IVTNUM = 24 04350906 IF (R2E(1) - 0.69996E+01) 20240, 40242, 40241 04360906 40241 IF (R2E(1) - 0.70004E+01) 40242, 40242, 20240 04370906 40242 IF (R2E(2) - 0.69996E+01) 20240, 10240, 40240 04380906 40240 IF (R2E(2) - 0.70004E+01) 10240, 10240, 20240 04390906 10240 IVPASS = IVPASS + 1 04400906 WRITE (NUVI, 80002) IVTNUM 04410906 GO TO 0241 04420906 20240 IVFAIL = IVFAIL + 1 04430906 ZVCORR = (7.0, 7.0) 04440906 WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 04450906 0241 CONTINUE 04460906 CT025* TEST 25 04470906 IVTNUM = 25 04480906 IF (BVD - 0.2999999998D+01) 20250, 10250, 40250 04490906 40250 IF (BVD - 0.3000000002D+01) 10250, 10250, 20250 04500906 10250 IVPASS = IVPASS + 1 04510906 WRITE (NUVI, 80002) IVTNUM 04520906 GO TO 0251 04530906 20250 IVFAIL = IVFAIL + 1 04540906 DVCORR = 3.0D0 04550906 WRITE (NUVI, 80031) IVTNUM, BVD, DVCORR 04560906 0251 CONTINUE 04570906 CT026* TEST 26 04580906 IVTNUM = 26 04590906 IF (R2E(3) - 0.39998E+01) 20260, 40262, 40261 04600906 40261 IF (R2E(3) - 0.40002E+01) 40262, 40262, 20260 04610906 40262 IF (R2E(4) - 0.39998E+01) 20260, 10260, 40260 04620906 40260 IF (R2E(4) - 0.40002E+01) 10260, 10260, 20260 04630906 10260 IVPASS = IVPASS + 1 04640906 WRITE (NUVI, 80002) IVTNUM 04650906 GO TO 0261 04660906 20260 IVFAIL = IVFAIL + 1 04670906 ZVCORR = (4.0, 4.0) 04680906 WRITE (NUVI, 80045) IVTNUM, BVC, ZVCORR 04690906 0261 CONTINUE 04700906 CT027* TEST 27 04710906 IVTNUM = 27 04720906 IF (CVD - 0.4999999997D+01) 20270, 10270, 40270 04730906 40270 IF (CVD - 0.5000000003D+01) 10270, 10270, 20270 04740906 10270 IVPASS = IVPASS + 1 04750906 WRITE (NUVI, 80002) IVTNUM 04760906 GO TO 0271 04770906 20270 IVFAIL = IVFAIL + 1 04780906 DVCORR = 5.0D0 04790906 WRITE (NUVI, 80031) IVTNUM, CVD, DVCORR 04800906 0271 CONTINUE 04810906 CT028* TEST 28 04820906 IVTNUM = 28 04830906 A1D(3) = 3.0D0 04840906 READ(IRVI, *) (A1D(IVI), IVI=1,4) 04850906 IF (A1D(3) - 0.2999999998D+01) 20280, 10280, 40280 04860906 40280 IF (A1D(3) - 0.3000000002D+01) 10280, 10280, 20280 04870906 10280 IVPASS = IVPASS + 1 04880906 WRITE (NUVI, 80002) IVTNUM 04890906 GO TO 0281 04900906 20280 IVFAIL = IVFAIL + 1 04910906 DVCORR = 3.0D0 04920906 WRITE (NUVI, 80031) IVTNUM, A1D(3), DVCORR 04930906 0281 CONTINUE 04940906 CBB** ********************** BBCSUM0 **********************************04950906 C**** WRITE OUT TEST SUMMARY 04960906 C**** 04970906 IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 04980906 WRITE (I02, 90004) 04990906 WRITE (I02, 90014) 05000906 WRITE (I02, 90004) 05010906 WRITE (I02, 90020) IVPASS 05020906 WRITE (I02, 90022) IVFAIL 05030906 WRITE (I02, 90024) IVDELE 05040906 WRITE (I02, 90026) IVINSP 05050906 WRITE (I02, 90028) IVTOTN, IVTOTL 05060906 CBE** ********************** BBCSUM0 **********************************05070906 CBB** ********************** BBCFOOT0 **********************************05080906 C**** WRITE OUT REPORT FOOTINGS 05090906 C**** 05100906 WRITE (I02,90016) ZPROG, ZPROG 05110906 WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 05120906 WRITE (I02,90019) 05130906 CBE** ********************** BBCFOOT0 **********************************05140906 CBB** ********************** BBCFMT0A **********************************05150906 C**** FORMATS FOR TEST DETAIL LINES 05160906 C**** 05170906 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 05180906 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 05190906 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 05200906 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 05210906 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 05220906 1I6,/," ",15X,"CORRECT= " ,I6) 05230906 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05240906 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 05250906 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05260906 1A21,/," ",16X,"CORRECT= " ,A21) 05270906 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 05280906 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 05290906 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 05300906 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 05310906 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 05320906 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 05330906 80050 FORMAT (" ",48X,A31) 05340906 CBE** ********************** BBCFMT0A **********************************05350906 CBB** ********************** BBCFMAT1 **********************************05360906 C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 05370906 C**** 05380906 80031 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05390906 1D17.10,/," ",16X,"CORRECT= " ,D17.10) 05400906 80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31) 05410906 80035 FORMAT (" ",16X,"CORRECT= " ,D17.10,10X,A31) 05420906 80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31) 05430906 80039 FORMAT (" ",16X,"CORRECT= " ,"(",E12.5,", ",E12.5,")",6X,A31) 05440906 80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31) 05450906 80043 FORMAT (" ",16X,"CORRECT= " ,"(",F12.5,", ",F12.5,")",6X,A31) 05460906 80045 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 05470906 1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT= " , 05480906 2"(",F12.5,", ",F12.5,")") 05490906 CBE** ********************** BBCFMAT1 **********************************05500906 CBB** ********************** BBCFMT0B **********************************05510906 C**** FORMAT STATEMENTS FOR PAGE HEADERS 05520906 C**** 05530906 90002 FORMAT ("1") 05540906 90004 FORMAT (" ") 05550906 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )05560906 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 05570906 90008 FORMAT (" ",21X,A13,A17) 05580906 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 05590906 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 05600906 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 05610906 1 7X,"REMARKS",24X) 05620906 90014 FORMAT (" ","----------------------------------------------" , 05630906 1 "---------------------------------" ) 05640906 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 05650906 C**** 05660906 C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 05670906 C**** 05680906 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 05690906 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 05700906 1 A13) 05710906 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 05720906 C**** 05730906 C**** FORMAT STATEMENTS FOR RUN SUMMARY 05740906 C**** 05750906 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 05760906 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 05770906 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 05780906 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 05790906 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 05800906 CBE** ********************** BBCFMT0B **********************************05810906 C***** 05820906 C***** END OF TEST SEGMENT 372 05830906 STOP 05840906 END 05850906