| PROGRAM FM405 |
| |
| C***********************************************************************00010405 |
| C***** FORTRAN 77 00020405 |
| C***** FM405 00030405 |
| C***** INTER1 - (390) 00040405 |
| C***** 00050405 |
| C***********************************************************************00060405 |
| C***** TESTING OF INTERNAL FILES - SUBSET REF00070405 |
| C***** USING READ 12.2.5 00080405 |
| C***** 00090405 |
| CBB** ********************** BBCCOMNT **********************************00100405 |
| C**** 00110405 |
| C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120405 |
| C**** VERSION 2.1 00130405 |
| C**** 00140405 |
| C**** 00150405 |
| C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160405 |
| C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00170405 |
| C**** SOFTWARE STANDARDS VALIDATION GROUP 00180405 |
| C**** BUILDING 225 RM A266 00190405 |
| C**** GAITHERSBURG, MD 20899 00200405 |
| C**** 00210405 |
| C**** 00220405 |
| C**** 00230405 |
| CBE** ********************** BBCCOMNT **********************************00240405 |
| C***** 00250405 |
| C***** S P E C I F I C A T I O N S SEGMENT 390 00260405 |
| C***** 00270405 |
| LOGICAL AVB, BVB, CVB 00280405 |
| CHARACTER A1VK*1, A4VK*4, B1VK*1, B4VK*4, A38VK*38, B381K(4)*38 00290405 |
| CHARACTER A5VK*5, A8VK*8, B5VK*5, B8VK*8 00300405 |
| CBB** ********************** BBCINITA **********************************00310405 |
| C**** SPECIFICATION STATEMENTS 00320405 |
| C**** 00330405 |
| CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00340405 |
| 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00350405 |
| CBE** ********************** BBCINITA **********************************00360405 |
| CBB** ********************** BBCINITB **********************************00370405 |
| C**** INITIALIZE SECTION 00380405 |
| DATA ZVERS, ZVERSD, ZDATE 00390405 |
| 1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00400405 |
| DATA ZCOMPL, ZNAME, ZTAPE 00410405 |
| 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00420405 |
| DATA ZPROJ, ZTAPED, ZPROG 00430405 |
| 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00440405 |
| DATA REMRKS /' '/ 00450405 |
| C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00460405 |
| C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00470405 |
| C**** 00480405 |
| CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00490405 |
| CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00500405 |
| CZ03 ZPROG = 'PROGRAM NAME' 00510405 |
| CZ04 ZDATE = 'DATE OF TEST' 00520405 |
| CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00530405 |
| CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00540405 |
| CZ07 ZNAME = 'NAME OF USER' 00550405 |
| CZ08 ZTAPE = 'TAPE OWNER/ID' 00560405 |
| CZ09 ZTAPED = 'DATE TAPE COPIED' 00570405 |
| C 00580405 |
| IVPASS = 0 00590405 |
| IVFAIL = 0 00600405 |
| IVDELE = 0 00610405 |
| IVINSP = 0 00620405 |
| IVTOTL = 0 00630405 |
| IVTOTN = 0 00640405 |
| ICZERO = 0 00650405 |
| C 00660405 |
| C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00670405 |
| I01 = 05 00680405 |
| C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00690405 |
| I02 = 06 00700405 |
| C 00710405 |
| CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00720405 |
| C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00730405 |
| CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00740405 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00750405 |
| C 00760405 |
| CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00770405 |
| C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00780405 |
| CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00790405 |
| C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00800405 |
| C 00810405 |
| CBE** ********************** BBCINITB **********************************00820405 |
| C***** 00830405 |
| EVS = 0.001 00840405 |
| C***** 00850405 |
| NUVI = I02 00860405 |
| IVTOTL=15 00870405 |
| ZPROG='FM405' 00880405 |
| CBB** ********************** BBCHED0A **********************************00890405 |
| C**** 00900405 |
| C**** WRITE REPORT TITLE 00910405 |
| C**** 00920405 |
| WRITE (I02, 90002) 00930405 |
| WRITE (I02, 90006) 00940405 |
| WRITE (I02, 90007) 00950405 |
| WRITE (I02, 90008) ZVERS, ZVERSD 00960405 |
| WRITE (I02, 90009) ZPROG, ZPROG 00970405 |
| WRITE (I02, 90010) ZDATE, ZCOMPL 00980405 |
| CBE** ********************** BBCHED0A **********************************00990405 |
| C***** 01000405 |
| A38VK = '2.1 TEST 3 23.45E2 .TRUE. F ' 01010405 |
| B381K(1) = ' 23 23.345 T ENDS ' 01020405 |
| B381K(2) = ' 23.456 F 98 YOURS PROGRAMS ' 01030405 |
| B381K(3) = ' 13.1234 13.1234E0 1312.34 ' 01040405 |
| B381K(4) = ' 5.2345 56 5.2345 T TRUE 5.2345' 01050405 |
| C***** 01060405 |
| C***** HEADER FOR SEGMENT 390 01070405 |
| C***** 01080405 |
| WRITE(NUVI,39000) 01090405 |
| 39000 FORMAT(/2X," INTER1 - (390) INTERNAL FILES -- USING READ" 01100405 |
| 1 //" SUBSET REF. - 12.2.5" ) 01110405 |
| CBB** ********************** BBCHED0B **********************************01120405 |
| C**** WRITE DETAIL REPORT HEADERS 01130405 |
| C**** 01140405 |
| WRITE (I02,90004) 01150405 |
| WRITE (I02,90004) 01160405 |
| WRITE (I02,90013) 01170405 |
| WRITE (I02,90014) 01180405 |
| WRITE (I02,90015) IVTOTL 01190405 |
| CBE** ********************** BBCHED0B **********************************01200405 |
| C****** 01210405 |
| C************************************************************* 01220405 |
| CT001* TEST 1 CHARACTER VARIABLE, INTEGER 01230405 |
| IVTNUM=1 01240405 |
| READ(A38VK,39001) IVI 01250405 |
| 39001 FORMAT(8X,I2) 01260405 |
| KVI = 3 01270405 |
| IVCOMP=0 01280405 |
| IF (IVI .EQ. KVI) IVCOMP=1 01290405 |
| IF (IVCOMP-1) 20010,10010,20010 01300405 |
| 10010 IVPASS=IVPASS + 1 01310405 |
| WRITE (NUVI,80002) IVTNUM 01320405 |
| GO TO 0011 01330405 |
| 20010 IVFAIL=IVFAIL+1 01340405 |
| WRITE (NUVI,80008) IVTNUM 01350405 |
| WRITE (NUVI,80024) IVI 01360405 |
| WRITE (NUVI,80026) KVI 01370405 |
| 0011 CONTINUE 01380405 |
| C***** 01390405 |
| CT002* TEST 2 REAL, FW.D 01400405 |
| IVTNUM=2 01410405 |
| READ(A38VK,39004) AVS 01420405 |
| 39004 FORMAT(F3.1) 01430405 |
| BVS = 2.1 01440405 |
| IVCOMP=0 01450405 |
| IF (AVS .LT. BVS + EVS .AND. AVS .GT. BVS - EVS) IVCOMP=1 01460405 |
| IF (IVCOMP-1) 20020,10020,20020 01470405 |
| 10020 IVPASS=IVPASS + 1 01480405 |
| WRITE(NUVI,80002)IVTNUM 01490405 |
| GO TO 0021 01500405 |
| 20020 IVFAIL=IVFAIL+1 01510405 |
| WRITE(NUVI,80008) IVTNUM 01520405 |
| WRITE (NUVI,80028) AVS 01530405 |
| WRITE (NUVI,80030) BVS 01540405 |
| 0021 CONTINUE 01550405 |
| CT003* TEST 3 REAL, EW.D 01560405 |
| IVTNUM=3 01570405 |
| READ(A38VK,39006) AVS 01580405 |
| 39006 FORMAT(11X,E7.2) 01590405 |
| BVS = 23.45E2 01600405 |
| IVCOMP=0 01610405 |
| IF (AVS .LT. BVS + EVS .AND. AVS .GT. BVS - EVS) IVCOMP=1 01620405 |
| IF (IVCOMP-1) 20030,10030,20030 01630405 |
| 10030 IVPASS=IVPASS + 1 01640405 |
| WRITE(NUVI,80002)IVTNUM 01650405 |
| GO TO 0031 01660405 |
| 20030 IVFAIL=IVFAIL + 1 01670405 |
| WRITE(NUVI,80008)IVTNUM 01680405 |
| WRITE (NUVI,80028) AVS 01690405 |
| WRITE (NUVI,80030) BVS 01700405 |
| 0031 CONTINUE 01710405 |
| CT004* TEST 4 SAME REAL, EW.DEN 01720405 |
| IVTNUM=4 01730405 |
| IVCOMP=0 01740405 |
| READ(A38VK,39008) CVS 01750405 |
| 39008 FORMAT(10X,E8.2E2) 01760405 |
| IF (CVS .LT. BVS + EVS .AND. CVS .GT. BVS - EVS) IVCOMP=1 01770405 |
| IF (IVCOMP-1) 20040,10040,20040 01780405 |
| 10040 IVPASS=IVPASS+1 01790405 |
| WRITE(NUVI,80002) IVTNUM 01800405 |
| GO TO 0041 01810405 |
| 20040 IVFAIL=IVFAIL + 1 01820405 |
| WRITE(NUVI,80008)IVTNUM 01830405 |
| WRITE (NUVI,80028) CVS 01840405 |
| WRITE (NUVI,80030) BVS 01850405 |
| 0041 CONTINUE 01860405 |
| CT005* TEST 5 LOGICAL, WITH PERIODS 01870405 |
| IVTNUM=5 01880405 |
| READ(A38VK,39010) AVB 01890405 |
| 39010 FORMAT(19X,L6) 01900405 |
| IVCOMP=0 01910405 |
| IF (AVB) IVCOMP=1 01920405 |
| IF (IVCOMP-1) 20050,10050,20050 01930405 |
| 10050 IVPASS=IVPASS+1 01940405 |
| WRITE (NUVI,80002) IVTNUM 01950405 |
| GO TO 0051 01960405 |
| 20050 IVFAIL=IVFAIL + 1 01970405 |
| WRITE (NUVI,80008) IVTNUM 01980405 |
| 70050 FORMAT (" ",16X,"COMPUTED: " ,L1, 01990405 |
| 1 /17X,"CORRECT: " ,"T") 02000405 |
| WRITE (NUVI,70050) AVB 02010405 |
| 0051 CONTINUE 02020405 |
| CT006* TEST 6 LOGICAL, WITHOUT PERIODS 02030405 |
| IVTNUM=6 02040405 |
| READ(A38VK,39012) CVB 02050405 |
| 39012 FORMAT(25X,L3) 02060405 |
| IVCOMP=0 02070405 |
| IF (.NOT. CVB) IVCOMP=1 02080405 |
| IF (IVCOMP-1) 20060,10060,20060 02090405 |
| 10060 IVPASS=IVPASS+1 02100405 |
| WRITE (NUVI,80002) IVTNUM 02110405 |
| GO TO 0061 02120405 |
| 20060 IVFAIL=IVFAIL+1 02130405 |
| WRITE (NUVI,80008) IVTNUM 02140405 |
| 70060 FORMAT (" ",16X,"COMPUTED: " ,L1) 02150405 |
| WRITE (NUVI,70060) CVB 02160405 |
| 70061 FORMAT (" ",16X,"CORRECT: " ,"F") 02170405 |
| WRITE (NUVI,70061) 02180405 |
| 0061 CONTINUE 02190405 |
| CT007* TEST 7 CHARACTER, A 02200405 |
| IVTNUM=7 02210405 |
| READ(A38VK,39014) A1VK 02220405 |
| 39014 FORMAT(9X,A1) 02230405 |
| B1VK = '3' 02240405 |
| IVCOMP=0 02250405 |
| IF (A1VK .EQ. B1VK) IVCOMP=1 02260405 |
| IF (IVCOMP-1) 20070,10070,20070 02270405 |
| 10070 IVPASS=IVPASS+1 02280405 |
| WRITE (NUVI,80002) IVTNUM 02290405 |
| GO TO 0071 02300405 |
| 20070 IVFAIL=IVFAIL+1 02310405 |
| WRITE (NUVI,80008) IVTNUM 02320405 |
| WRITE (NUVI,80020) A1VK 02330405 |
| WRITE (NUVI,80022) B1VK 02340405 |
| 0071 CONTINUE 02350405 |
| CT008* TEST 8 CHARACTER, AW 02360405 |
| IVTNUM=8 02370405 |
| READ(A38VK,39016) A4VK 02380405 |
| 39016 FORMAT(4X,A4) 02390405 |
| B4VK = 'TEST' 02400405 |
| IVCOMP=0 02410405 |
| IF (A4VK .EQ. B4VK) IVCOMP=1 02420405 |
| IF (IVCOMP-1) 20080,10080,20080 02430405 |
| 10080 IVPASS=IVPASS+1 02440405 |
| WRITE (NUVI,80002) IVTNUM 02450405 |
| GO TO 0081 02460405 |
| 20080 IVFAIL=IVFAIL + 1 02470405 |
| WRITE (NUVI,80008) IVTNUM 02480405 |
| WRITE (NUVI,80020) A4VK 02490405 |
| WRITE (NUVI,80022) B4VK 02500405 |
| 0081 CONTINUE 02510405 |
| CT009* TEST 9 CHARACTER, EXTRA BLANKS 02520405 |
| IVTNUM = 9 02530405 |
| READ(A38VK,39018) A4VK 02540405 |
| 39018 FORMAT(11X,A7) 02550405 |
| B4VK = '45E2' 02560405 |
| IVCOMP=0 02570405 |
| IF (A4VK .EQ. B4VK) IVCOMP=1 02580405 |
| IF (IVCOMP-1) 20090,10090,20090 02590405 |
| 10090 IVPASS=IVPASS+1 02600405 |
| WRITE (NUVI,80002) IVTNUM 02610405 |
| GO TO 0091 02620405 |
| 20090 IVFAIL=IVFAIL+1 02630405 |
| WRITE (NUVI,80008) IVTNUM 02640405 |
| WRITE (NUVI,80020) A4VK 02650405 |
| WRITE (NUVI,80022) B4VK 02660405 |
| 0091 CONTINUE 02670405 |
| CT010* TEST 10 CHARACTER, NO PADDING 02680405 |
| IVTNUM = 10 02690405 |
| READ(A38VK,39020) A4VK 02700405 |
| 39020 FORMAT(A3) 02710405 |
| IVCOMP=0 02720405 |
| B4VK = '2.1 ' 02730405 |
| IF (A4VK .EQ. B4VK) IVCOMP=1 02740405 |
| IF (IVCOMP-1) 20100,10100,20100 02750405 |
| 10100 IVPASS=IVPASS+1 02760405 |
| WRITE (NUVI,80002) IVTNUM 02770405 |
| GO TO 0101 02780405 |
| 20100 IVFAIL=IVFAIL + 1 02790405 |
| WRITE (NUVI,80008) IVTNUM 02800405 |
| WRITE (NUVI,80020) A4VK 02810405 |
| WRITE (NUVI,80022) B4VK 02820405 |
| 0101 CONTINUE 02830405 |
| CT011* TEST 11 CHECK TO SEE IF SECOND VARIABLE 02840405 |
| C***** START READING JUST AFTER FIRST VARIABLE 02850405 |
| IVTNUM = 11 02860405 |
| READ(A38VK,39022) A4VK, A1VK 02870405 |
| 39022 FORMAT(1X,A,A) 02880405 |
| B4VK = '.1 T' 02890405 |
| B1VK = 'E' 02900405 |
| IVCOMP=0 02910405 |
| IF (A4VK .EQ. B4VK .AND. A1VK .EQ. B1VK) IVCOMP=1 02920405 |
| IF (IVCOMP-1) 20110,10110,20110 02930405 |
| 10110 IVPASS=IVPASS+1 02940405 |
| WRITE (NUVI,80002) IVTNUM 02950405 |
| GO TO 0111 02960405 |
| 20110 IVFAIL=IVFAIL + 1 02970405 |
| WRITE (NUVI,80008) IVTNUM 02980405 |
| WRITE (NUVI,80020) A4VK,A1VK 02990405 |
| WRITE (NUVI,80022) B4VK,B1VK 03000405 |
| 0111 CONTINUE 03010405 |
| CT012* TEST 12 MIXED TYPES, ARRAY ELEMENT 03020405 |
| IVTNUM = 12 03030405 |
| READ(B381K(1),39024) IVI, AVS, AVB, A4VK 03040405 |
| 39024 FORMAT(I5,1X,F8.3,1X,L5,1X,A4) 03050405 |
| KVI = 23 03060405 |
| BVS = 23.345 03070405 |
| B4VK = 'ENDS' 03080405 |
| IF (IVI .EQ. KVI .AND. 03090405 |
| 1 AVS .LT. BVS + EVS .AND. AVS .GT. BVS - EVS .AND. 03100405 |
| 2 AVB .AND. 03110405 |
| 3 A4VK .EQ. B4VK) GOTO 39026 03120405 |
| IVFAIL=IVFAIL + 1 03130405 |
| 70120 FORMAT (" ",2X,I3,4X," FAIL ","MIXED DATA TYPES" ,16X, 03140405 |
| 1 "COMPLEX IF - SEE SOURCE CODE" ) 03150405 |
| WRITE(NUVI,70120)IVTNUM 03160405 |
| 70121 FORMAT (" ",16X,"COMPUTED: " ,I5,2X,F10.5,2X,L1,2X,A4) 03170405 |
| WRITE (NUVI,70121) IVI,AVS,AVB,A4VK 03180405 |
| 70122 FORMAT (" ",16X,"CORRECT: " , 03190405 |
| 1 " 23",2X," 23.34500" ,2X,"T",2X,"ENDS") 03200405 |
| WRITE (NUVI,70122) 03210405 |
| GOTO 39027 03220405 |
| 39026 IVPASS=IVPASS+1 03230405 |
| WRITE(NUVI,80002) IVTNUM 03240405 |
| 39027 CONTINUE 03250405 |
| CT013* TEST 13 MIXED TYPES, ARRAY ELEMENT 03260405 |
| C***** WITH RUN TIME EXPRESSION AS SUBSCRIPT03270405 |
| IVTNUM = 13 03280405 |
| KVI = 1 03290405 |
| READ(B381K(KVI*2),39028) AVS, AVB, IVI, A5VK, A8VK 03300405 |
| 39028 FORMAT(F7.3,1X,L5,1X,I5,1X,A5,1X,A8) 03310405 |
| BVS = 23.456 03320405 |
| KVI = 98 03330405 |
| B5VK = 'YOURS' 03340405 |
| B8VK = 'PROGRAMS' 03350405 |
| IF (AVS .LT. BVS + EVS .AND. AVS .GT. BVS - EVS .AND. 03360405 |
| 1 .NOT. AVB .AND. 03370405 |
| 2 IVI .EQ. KVI .AND. 03380405 |
| 3 A5VK .EQ. B5VK .AND. 03390405 |
| 4 A8VK .EQ. B8VK) GOTO 39030 03400405 |
| IVFAIL=IVFAIL+1 03410405 |
| 70130 FORMAT (" ",2X,I3,4X," FAIL ","MIXED DATA TYPES" ,16X, 03420405 |
| 1 "COMPLEX IF - SEE SOURCE CODE" ) 03430405 |
| WRITE (NUVI,70130) IVTNUM 03440405 |
| 70131 FORMAT (" ",16X,"COMPUTED: " , 03450405 |
| 1 F7.3,2X,L1,2X,I5,2X,A5,2X,A8) 03460405 |
| WRITE (NUVI,70131) AVS,AVB,IVI,A5VK,A8VK 03470405 |
| 70132 FORMAT (" ",16X,"CORRECT: " , 03480405 |
| 1 " 23.456",2X,"F",2X," 98",2X,"YOURS",2X,"PROGRAMS") 03490405 |
| WRITE (NUVI,70132) 03500405 |
| GOTO 39031 03510405 |
| 39030 IVPASS=IVPASS + 1 03520405 |
| WRITE(NUVI,80002) IVTNUM 03530405 |
| 39031 CONTINUE 03540405 |
| CT014* TEST 14 MIXED TYPES, ALSO BN AND BZ 03550405 |
| C***** 03560405 |
| IVTNUM = 14 03570405 |
| READ(B381K(4),39032) AVS, IVI, BVS, AVB, A4VK, CVS 03580405 |
| 39032 FORMAT(F9.4,1X,I4,1X,BN,F9.4,1X,L1,1X,A4,1X,BZ,F6.4) 03590405 |
| DVS = 5.2345 03600405 |
| KVI = 56 03610405 |
| BVB = .TRUE. 03620405 |
| B4VK = 'TRUE' 03630405 |
| IF (AVS .LT. DVS + EVS .AND. AVS .GT. DVS - EVS .AND. 03640405 |
| 1 IVI .EQ. KVI .AND. 03650405 |
| 2 BVS .LT. DVS + EVS .AND. BVS .GT. DVS - EVS .AND. 03660405 |
| 3 AVB .AND. 03670405 |
| 4 A4VK .EQ. B4VK .AND. 03680405 |
| 5 CVS .LT. DVS + EVS .AND. CVS .GT. DVS - EVS) GOTO 39034 03690405 |
| IVFAIL=IVFAIL + 1 03700405 |
| 70140 FORMAT (" ",2X,I3,4X," FAIL ","MIXED DATA TYPES" ,16X, 03710405 |
| 1 "COMPLEX IF - SEE SOURCE CODE" ) 03720405 |
| WRITE(NUVI,70140) IVTNUM 03730405 |
| 70141 FORMAT (" ",16X,"COMPUTED: " , 03740405 |
| 1 F9.4,2X,I4,2X,F9.4,2X,L1,2X,A4,2X,F9.4) 03750405 |
| WRITE (NUVI,70141) AVS,IVI,BVS,AVB,A4VK,CVS 03760405 |
| 70142 FORMAT (" ",16X,"CORRECT: " , 03770405 |
| 2 " 5.2345",2X," 56",2X," 5.2345",2X,"T",2X,"TRUE", 03780405 |
| 3 2X," 5.2345") 03790405 |
| WRITE (NUVI,70142) 03800405 |
| GOTO 39035 03810405 |
| 39034 IVPASS=IVPASS+1 03820405 |
| WRITE(NUVI,80002) IVTNUM 03830405 |
| 39035 CONTINUE 03840405 |
| CT015* TEST 15 REAL VARIABLES WITH SCALING FACTOR 03850405 |
| IVTNUM = 15 03860405 |
| READ(B381K(3),39036) AVS, BVS, CVS 03870405 |
| 39036 FORMAT(F9.5, 1X, E9.3, 1X, 2PF7.4) 03880405 |
| DVS = 13.1234 03890405 |
| IF (AVS .LT. DVS + EVS .AND. AVS .GT. DVS - EVS .AND. 03900405 |
| 1 BVS .LT. DVS + EVS .AND. BVS .GT. DVS - EVS .AND. 03910405 |
| 2 CVS .LT. DVS + EVS .AND. CVS .GT. DVS - EVS) GOTO 39038 03920405 |
| IVFAIL=IVFAIL + 1 03930405 |
| 70150 FORMAT (" ",2X,I3,4X," FAIL ","REAL DATA TYPES" ,16X, 03940405 |
| 1 "COMPLEX IF - SEE SOURCE CODE" ) 03950405 |
| WRITE(NUVI,70150) IVTNUM 03960405 |
| 70151 FORMAT (" ",16X,"COMPUTED: " ,F9.4,2X,F9.3,2X,F7.4) 03970405 |
| WRITE (NUVI,70151) AVS,BVS,CVS 03980405 |
| 70152 FORMAT (" ",16X,"CORRECT: " , 03990405 |
| 1 " 13.1234",2X," 13.123",2X,"13.1234") 04000405 |
| WRITE (NUVI,70152) 04010405 |
| GOTO 39039 04020405 |
| 39038 IVPASS=IVPASS+1 04030405 |
| WRITE(NUVI,80002) IVTNUM 04040405 |
| 39039 CONTINUE 04050405 |
| C***** 04060405 |
| C***** END OF TEST SEGMENT 390 04070405 |
| CBB** ********************** BBCSUM0 **********************************04080405 |
| C**** WRITE OUT TEST SUMMARY 04090405 |
| C**** 04100405 |
| IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 04110405 |
| WRITE (I02, 90004) 04120405 |
| WRITE (I02, 90014) 04130405 |
| WRITE (I02, 90004) 04140405 |
| WRITE (I02, 90020) IVPASS 04150405 |
| WRITE (I02, 90022) IVFAIL 04160405 |
| WRITE (I02, 90024) IVDELE 04170405 |
| WRITE (I02, 90026) IVINSP 04180405 |
| WRITE (I02, 90028) IVTOTN, IVTOTL 04190405 |
| CBE** ********************** BBCSUM0 **********************************04200405 |
| CBB** ********************** BBCFOOT0 **********************************04210405 |
| C**** WRITE OUT REPORT FOOTINGS 04220405 |
| C**** 04230405 |
| WRITE (I02,90016) ZPROG, ZPROG 04240405 |
| WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04250405 |
| WRITE (I02,90019) 04260405 |
| CBE** ********************** BBCFOOT0 **********************************04270405 |
| CBB** ********************** BBCFMT0A **********************************04280405 |
| C**** FORMATS FOR TEST DETAIL LINES 04290405 |
| C**** 04300405 |
| 80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 04310405 |
| 80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 04320405 |
| 80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 04330405 |
| 80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 04340405 |
| 80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 04350405 |
| 1I6,/," ",15X,"CORRECT= " ,I6) 04360405 |
| 80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04370405 |
| 1E12.5,/," ",16X,"CORRECT= " ,E12.5) 04380405 |
| 80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 04390405 |
| 1A21,/," ",16X,"CORRECT= " ,A21) 04400405 |
| 80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 04410405 |
| 80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 04420405 |
| 80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 04430405 |
| 80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 04440405 |
| 80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 04450405 |
| 80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 04460405 |
| 80050 FORMAT (" ",48X,A31) 04470405 |
| CBE** ********************** BBCFMT0A **********************************04480405 |
| CBB** ********************** BBCFMT0B **********************************04490405 |
| C**** FORMAT STATEMENTS FOR PAGE HEADERS 04500405 |
| C**** 04510405 |
| 90002 FORMAT ("1") 04520405 |
| 90004 FORMAT (" ") 04530405 |
| 90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )04540405 |
| 90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 04550405 |
| 90008 FORMAT (" ",21X,A13,A17) 04560405 |
| 90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 04570405 |
| 90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 04580405 |
| 90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 04590405 |
| 1 7X,"REMARKS",24X) 04600405 |
| 90014 FORMAT (" ","----------------------------------------------" , 04610405 |
| 1 "---------------------------------" ) 04620405 |
| 90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 04630405 |
| C**** 04640405 |
| C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 04650405 |
| C**** 04660405 |
| 90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 04670405 |
| 90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 04680405 |
| 1 A13) 04690405 |
| 90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 04700405 |
| C**** 04710405 |
| C**** FORMAT STATEMENTS FOR RUN SUMMARY 04720405 |
| C**** 04730405 |
| 90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 04740405 |
| 90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 04750405 |
| 90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 04760405 |
| 90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 04770405 |
| 90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 04780405 |
| CBE** ********************** BBCFMT0B **********************************04790405 |
| STOP 04800405 |
| END 04810405 |