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