C*********************************************************************** C***** FORTRAN 77 C***** FM923 C***** LSTDI1 - (370) C***** C*********************************************************************** C***** GENERAL PURPOSE ANS REF C***** TEST LIST DIRECTED INPUT ON 13.6 C***** INTEGER REAL, LOGICAL, AND CHARACTER DATA TYPES. 12.4 C***** CBB** ********************** BBCCOMNT ********************************** C**** C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM C**** VERSION 2.0 C**** C**** C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO C**** GENERAL SERVICES ADMINISTRATION C**** FEDERAL SOFTWARE TESTING CENTER C**** 5203 LEESBURG PIKE, SUITE 1100 C**** FALLS CHURCH, VA. 22041 C**** C**** (703) 756-6153 C**** CBE** ********************** BBCCOMNT ********************************** C INPUT DATA TO THIS SEGMENT CONSISTS OF 34 CARD IMAGES IN COL. 1-80 COL. 1----------------------------------------------------------61 CARD 1 25 CARD 2 10.75 CARD 3 12.875E01 CARD 4 T CARD 5 'ABCDEF' CARD 6 10 15 22 40 CARD 7 100.5 0.25E-1 -1.625E2 CARD 8 T F F T F CARD 9 'AB' 'ABCD' 'ABCDEF' CARD 10 '123456' T 17.5 -11 2.5E0 CARD 11 -5,'2468',T,15.0 CARD 12 F 'CHAR' -1 0.25 CARD 13 5 10 15 CARD 14 -1.25E1 F T -6 '-6' CARD 15 F 'ZYXW' 'DCBA' 15.5 CARD 16 'ONE ',,3,F CARD 17 'TWO ', 2, , 2.0 CARD 18 ,4, 1*, 8, ,, 14 CARD 19 5, -0.25E1, 4*, 'TEST', F CARD 20 1 2 3 4 5 CARD 21 6 7 8/ 9 10 CARD 22 12045,12 45 CARD 23 12045 COL. 62---------------80 CARD 23 12 COL. 1----------------------------------------------------------61 CARD 24 45 CARD 25 'ABCDEF' COL. 62---------------80 CARD 25 'UVW COL. 1----------------------------------------------------------61 CARD 26 XYZ' CARD 27 'CAN''T, AND/OR WON''T' CARD 28 '1234567890' '12345678' '1234567890123' CARD 29 TRUCK .FOUR .FALSE. .TWIN. F12. F7.2 .TRUE. .T=3+4 CARD 30 T T T T T CARD 31 F F/F F F CARD 32 / 10 20 30 CARD 33 1 2 3 4 CARD 34 5 6 7 8 C***** C***** S P E C I F I C A T I O N S SEGMENT 370 INTEGER J1I(3) LOGICAL AVB, BVB, CVB, DVB, EVB, FVB, GVB, HVB CHARACTER A2VK*2, A4VK*4, B4VK*4, A6VK*6, B6VK*6 CHARACTER A8VK*8, A9VK*9, A15VK*15, A21VK*21 CHARACTER CVNX06*6, CVNY06*6, CVNX21*21 C***** CBB** ********************** BBCINITA ********************************** C**** SPECIFICATION STATEMENTS C**** CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 CBE** ********************** BBCINITA ********************************** CBB** ********************** BBCINITB ********************************** C**** INITIALIZE SECTION DATA ZVERS, ZVERSD, ZDATE 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ DATA ZCOMPL, ZNAME, ZTAPE 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ DATA ZPROJ, ZTAPED, ZPROG 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ DATA REMRKS /' '/ C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED C**** FOR IDENTIFYING THE TEST ENVIRONMENT C**** CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' CZ03 ZPROG = 'PROGRAM NAME' ZDATE = ' DEC. 1983 ' ZCOMPL = ' ICL VME FORTRAN77 ' ZPROJ = ' LANG. CENTRE' ZNAME = 'ICL ' ZTAPE = 'M999 ' ZTAPED = '831005 ' C IVPASS = 0 IVFAIL = 0 IVDELE = 0 IVINSP = 0 IVTOTL = 0 IVTOTN = 0 ICZERO = 0 C C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. I01 = 05 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. I02 = 06 C CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. C CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. C CBE** ********************** BBCINITB ********************************** IRVI = I01 NUVI = I02 ZPROG = 'FM923' IVTOTL = 28 CBB** ********************** BBCHED0A ********************************** C**** C**** WRITE REPORT TITLE C**** WRITE (I02, 90002) WRITE (I02, 90006) WRITE (I02, 90007) WRITE (I02, 90008) ZVERS, ZVERSD WRITE (I02, 90009) ZPROG, ZPROG WRITE (I02, 90010) ZDATE, ZCOMPL CBE** ********************** BBCHED0A ********************************** C***** C***** REAL NUMBER APPROXIMATION CRITERIA DVS = 0.0001 IVCORR=0 RVCORR=0 C***** C***** HEADING FOR SEGMENT 370 WRITE(NUVI,37000) 37000 FORMAT(/2X, 16H LSTDI1 - (370) , 1 42H LIST DIRECTED INPUT FOR SUBSET DATA TYPES// 2 3X,22H ANS REF. - 13.6 12.4) CBB** ********************** BBCHED0B ********************************** C**** WRITE DETAIL REPORT HEADERS C**** WRITE (I02,90004) WRITE (I02,90004) WRITE (I02,90013) WRITE (I02,90014) WRITE (I02,90015) IVTOTL CBE** ********************** BBCHED0B ********************************** C***** CT001* TEST 1 - CARD 1 INTEGER IVTNUM = 1 READ(IRVI, *) IVI C***** TO DELETE TEST THE READ STATEMENTS MUST BE PERFORMED C***** FIRST. THEN INCLUDE THE FOLLOWING 2 STATEMENTS C***** IVDELE=IVDELE+1 C***** WRITE (NUVI,80000) IVTNUM C***** AND COMMENT OUT REMAINING LINES UNTIL NEXT TEST IVCORR=25 IF (IVI - 25) 20010,10010,20010 10010 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0011 20010 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM WRITE (NUVI,80024) IVI WRITE (NUVI,80026) IVCORR 0011 CONTINUE CT002* TEST 2 - CARD 2 REAL IVTNUM = 2 READ(IRVI, *) AVS C***** TO DELETE TEST SEE NOTES FOR TEST 1 RVCORR=10.75 AAVS = AVS - 10.75 IF (AAVS + .00005) 20020,10020,40020 40020 IF (AAVS - .00005) 10020,10020,20020 10020 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0021 20020 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM WRITE (NUVI,80028) AVS WRITE (NUVI,80030) RVCORR 0021 CONTINUE CT003* TEST 3 - CARD 3 REAL, EXPONENT IVTNUM = 3 READ(IRVI, *) AVS C***** TO DELETE TEST SEE NOTES FOR TEST 1 RVCORR=128.75 AAVS = AVS - 128.75 IF (AAVS + .00005) 20030,10030,40030 40030 IF (AAVS - .00005) 10030,10030,20030 10030 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0031 20030 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM WRITE (NUVI,80028) AVS WRITE (NUVI,80030) RVCORR 0031 CONTINUE CT004* TEST 4 - CARD 4 LOGICAL IVTNUM = 4 READ(IRVI, *) AVB C***** TO DELETE TEST SEE NOTES TEST 1 IVCOMP=0 IF (AVB) IVCOMP = 1 IF (IVCOMP - 1) 20040,10040,20040 10040 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0041 20040 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70040 FORMAT (1H ,16X,10HCOMPUTED: ,1X,L1) WRITE (NUVI,70040) AVB 70041 FORMAT (1H ,16X,10HCORRECT: ,2H T) WRITE (NUVI,70041) 0041 CONTINUE CT005* TEST 5 - CARD 5 CHARACTER IVTNUM = 5 READ(IRVI, *) A6VK C***** TO DELETE TEST SEE NOTES FOR TEST 1 CVNX06='ABCDEF' IVCOMP=0 IF (A6VK .EQ. 'ABCDEF') IVCOMP = 1 IF (IVCOMP - 1) 20050,10050,20050 10050 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0051 20050 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM WRITE (NUVI,80020) A6VK WRITE (NUVI,80022) CVNX06 0051 CONTINUE CT006* TEST 6 - CARD 6 SEVERAL INTEGER IVTNUM = 6 READ(IRVI, *) IVI, JVI, KVI, LVI C***** TO DELETE TEST SEE NOTES FOR TEST 1 IF (IVI - 10) 20060,40060,20060 40060 IF (JVI - 15) 20060,40061,20060 40061 IF (KVI - 22) 20060,40062,20060 40062 IF (LVI - 40) 20060,10060,20060 10060 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0061 20060 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70060 FORMAT (1H ,16X,10HCOMPUTED: ,I5,3(2X,I5)) WRITE (NUVI,70060) IVI,JVI,KVI,LVI 70061 FORMAT (1H ,16X,10HCORRECT: , 1 5H 10,2X,5H 15,2X,5H 22,2X,5H 40) WRITE (NUVI,70061) 0061 CONTINUE CT007* TEST 7 - CARD 7 SEVERAL REAL IVTNUM = 7 READ(IRVI, *) AVS, BVS, CVS C******* TO DELETE TEST SEE NOTES FOR TEST 1 AAVS = AVS - 100.5 BBVS = BVS - 0.025 CCVS = CVS - (-162.5) IF (AAVS + .00005) 20070,40071,40070 40070 IF (AAVS - .00005) 40071,40071,20070 40071 IF (BBVS + .00005) 20070,40073,40072 40072 IF (BBVS - .00005) 40073,40073,20070 40073 IF (CCVS + .00005) 20070,10070,40074 40074 IF (CCVS - .00005) 10070,10070,20070 10070 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0071 20070 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70071 FORMAT (1H ,16X,10HCOMPUTED: ,F6.2,2X,F6.4,2X,F7.2) WRITE (NUVI,70071) AVS,BVS,CVS 70072 FORMAT (1H ,16X,10HCORRECT: ,6H100.50,2X,6H0.0250, 1 2X,7H-162.50) WRITE(NUVI,70072) 0071 CONTINUE CT008* TEST 8 - CARD 8 SEVERAL LOGICAL IVTNUM = 8 READ(IRVI, *) AVB, BVB, CVB, DVB, EVB C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (AVB .AND. .NOT. BVB .AND. .NOT. CVB .AND. DVB .AND. 1 .NOT. EVB) GO TO 37008 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70081 FORMAT (1H ,16X,10HCOMPUTED: ,L1,4(2X,L1)) WRITE (NUVI,70081) AVB,BVB,CVB,DVB,EVB 70082 FORMAT (1H ,16X,10HCORRECT: ,1HT,2X,1HF,2X,1HF,2X,1HT,2X, 1 1HF) WRITE (NUVI,70082) GO TO 37010 37008 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37010 CONTINUE CT009* TEST 9 - CARD 9 SEVERAL CHARACTER STRINGS IVTNUM = 9 READ(IRVI, *) A2VK, A4VK, A6VK C***** TO DELETE CODE SEE NOTES FOR TEST 1 IF (A2VK .EQ. 'AB' .AND. A4VK .EQ. 'ABCD' .AND. 1 A6VK .EQ. 'ABCDEF') GO TO 37011 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70090 FORMAT (1H ,16X,10HCOMPUTED: ,A2,2X,A4,2X,A6) WRITE (NUVI,70090) A2VK,A4VK,A6VK 70091 FORMAT (1H ,16X,10HCORRECT: ,2HAB,2X,4HABCD,2X,6HABCDEF) WRITE (NUVI,70091) GO TO 37013 37011 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37013 CONTINUE CT010* TEST 10 - CARD 10 MIXED TYPES IVTNUM = 10 READ(IRVI, *) A6VK, AVB, AVS, IVI, BVS C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (A6VK .EQ. '123456' .AND. AVB .AND. AVS .GE. (17.5 - DVS) 1 .AND. AVS .LE. (17.5 + DVS) .AND. IVI .EQ. -11 .AND. 2 BVS .GE. (2.5 - DVS) .AND. BVS .LE. (2.5 + DVS)) 3 GO TO 37014 IVFAIL=IVFAIL+1 70100 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X, 1 28HCOMPLEX IF - SEE SOURCE CODE) WRITE (NUVI,70100) IVTNUM 70101 FORMAT (1H ,16X,10HCOMPUTED: , 2 A6,2X,L1,2X,F5.2,2X,I5,2X,E12.5) WRITE (NUVI,70101) A6VK,AVB,AVS,IVI,BVS 70102 FORMAT (1H ,16X,10HCORRECT: , 1 23H123456 T 17.50 -11,2X,26H 0.25000E+01 OR .25000+001) WRITE (NUVI,70102) GO TO 37016 37014 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37016 CONTINUE CT011* TEST 11 - CARD 11 MIXED TYPES SEPARATED BY COMMAS IVTNUM = 11 READ(IRVI, *) IVI, A4VK, AVB, AVS C***** TO DELETE TEST SEE NOTES FOR TEST 1 IF (IVI .EQ. -5 .AND. A4VK .EQ. '2468' .AND. AVB .AND. 1 AVS .GE. (15.0 - DVS) .AND. AVS .LE. (15.0 + DVS)) 2 GO TO 37017 IVFAIL=IVFAIL+1 70110 FORMAT (1H ,2X,I3,4X,7H FAIL ,16HMIXED DATA TYPES,16X, 1 28HCOMPLEX IF - SEE SOURCE CODE) WRITE (NUVI,70110) IVTNUM 70111 FORMAT (1H ,16X,10HCOMPUTED: , 1 I5,2X,A4,2X,L1,2X,F5.2) WRITE (NUVI,70111) IVI,A4VK,AVB,AVS 70112 FORMAT (1H ,16X,10HCORRECT: , 1 5H -5,2X,4H2468,2X,1HT,2X,5H15.00) WRITE (NUVI,70112) GO TO 37019 37017 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37019 CONTINUE CT012* TEST 12 - CARD 12 MIXED TYPES, VARYING NUMBER OF C***** BLANKS SEPARATING VALUES IVTNUM = 12 READ(IRVI, *) AVB, A4VK, IVI, AVS C***** TO DELETE TEST SEE NOTES FOR TEST 1 IF (.NOT. AVB .AND. A4VK .EQ. 'CHAR' .AND. IVI .EQ. -1 .AND. 1 AVS .GE. (0.25 - DVS) .AND. AVS .LE. (0.25 + DVS)) 2 GO TO 37020 IVFAIL=IVFAIL+1 70120 FORMAT (1H ,2X,I3,4X,7H FAIL ,16HMIXED DATA TYPES,16X, 1 28HCOMPLEX IF - SEE SOURCE CODE) WRITE (NUVI,70120) IVTNUM 70121 FORMAT (1H ,16X,10HCOMPUTED: , 1 L1,2X,A4,2X,I5,2X,F4.2) WRITE (NUVI,70121) AVB,A4VK,IVI,AVS 70122 FORMAT (1H ,16X,10HCORRECT: , 2 3HF ,4HCHAR,2X,5H -5,2X,4H0.25) WRITE (NUVI,70122) GO TO 37022 37020 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37022 CONTINUE CT013* TEST 13 - CARD 13 READ VALUES INTO ARRAY BY USING C***** AN IMPLICIT DO-LOOP IVTNUM = 13 READ(IRVI, *) (J1I(IIVI), IIVI=1,3) C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (J1I(1) - 5) 20130,40130,20130 40130 IF (J1I(2) - 10) 20130,40131,20130 40131 IF (J1I(3) - 15) 20130,10130,20130 10130 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0131 20130 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70130 FORMAT (1H ,16X,10HCOMPUTED: ,I5,2X,I5,2X,I5) WRITE (NUVI,70130) J1I(1),J1I(2),J1I(3) 70131 FORMAT (1H ,16X,10HCORRECT: , 1 5H 5,2X,5H 10,2X,5H 15) WRITE (NUVI,70131) 0131 CONTINUE CT014* TEST 14 - CARDS 14-15 LIST EXTENDING OVER 2 RECORDS IVTNUM = 14 READ(IRVI, *) AVS, AVB, BVB, IVI, A2VK, CVB, A4VK, B4VK, BVS C***** TO DELETE CODE SEE NOTES FOR TEST 1 IF (AVS .GE. (-1.25E1 - DVS) .AND. AVS .LE. (-1.25E1 + DVS) 1 .AND. .NOT. AVB .AND. BVB .AND. 2 IVI .EQ. -6 .AND. A2VK .EQ. '-6' .AND. .NOT. CVB .AND. 3 A4VK .EQ. 'ZYXW' .AND. B4VK .EQ. 'DCBA' .AND. 4 BVS .GE. (15.5 - DVS) .AND. BVS .LE. (15.5 + DVS)) 5 GO TO 37024 IVFAIL=IVFAIL+1 70140 FORMAT (1H ,2X,I3,4X,7H FAIL ,16HMIXED DATA TYPES,16X, 1 28HCOMPLEX IF - SEE SOURCE CODE) WRITE (NUVI,70140) IVTNUM 70141 FORMAT (1H ,16X,10HCOMPUTED: ,E12.5,2X,L1,2X,L1,2X,I5, 1 /27X,A2,2X,L1,2X,A4,2X,A4,2X,F5.2) WRITE (NUVI,70141) AVS,AVB,BVB,IVI,A2VK,CVB,A4VK,B4VK,BVS 70142 FORMAT (1H ,16X,10HCORRECT: , 1 12H -.12500E+01,2X,1HF,2X,1HT,2X,5H -6, 2 /27X,2H-6,2X,1HF,2X,4HZYXW,2X,4HDCBA,2X,5H15.50) WRITE (NUVI,70142) GO TO 37026 37024 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37026 CONTINUE CT015* TEST 15 - CARD 16 NULL VALUE REPRESENTED AS ,, IVTNUM = 15 AVS = 2.0 READ(IRVI, *) A4VK, AVS, IVI, AVB C***** TO DELETE TEST SEE NOTES FOR TEST 1 IF (A4VK .EQ. 'ONE ' .AND. AVS .GE. (2.0 - DVS) .AND. 1 AVS .LE. (2.0 + DVS) .AND. IVI .EQ. 3 .AND. .NOT. AVB) 2 GO TO 37027 IVFAIL=IVFAIL+1 WRITE (NUVI,70150) IVTNUM 70150 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X, 1 28HCOMPLEX IF - SEE SOURCE CODE) 70151 FORMAT (1H ,16X,10HCOMPUTED: ,A4,2X,F4.1,2X,I5,2X,L1) WRITE (NUVI,70151) A4VK,AVS,IVI,AVB 70152 FORMAT (1H ,16X,10HCORRECT: , 1 20HONE 2.0 3 F) WRITE (NUVI,70152) GO TO 37029 37027 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37029 CONTINUE CT016* TEST 16 - CARD 17 NULL VALUE REPRESENTED AS ' ' IVTNUM = 16 AVB = .TRUE. READ(IRVI, *) A4VK, IVI, AVB, AVS C***** TO DELETE TEST SEE NOTES FOR TEST 1 IF (A4VK .EQ. 'TWO ' .AND. IVI .EQ. 2 .AND. AVB .AND. 1 AVS .GE. (2.0 - DVS) .AND. AVS .LE. (2.0 + DVS)) 2 GO TO 37030 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70160 FORMAT (1H ,16X,10HCOMPUTED: ,A4,2X,I5,2X,L1,2X,F4.1) WRITE (NUVI,70160) A4VK,IVI,AVB,AVS 70161 FORMAT (1H ,16X,10HCORRECT: , 1 20HTWO 2 T 2.0) WRITE (NUVI,70161) GO TO 37032 37030 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37032 CONTINUE CT017* TEST 17 - CARD 18 VARIOUS NULL REPRESENTATIONS IVTNUM = 17 IVI = 2 JVI = 6 KVI = 10 KKVI = 12 READ(IRVI, *) IVI, IIVI, JVI, JJVI, KVI, KKVI, LVI C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (IVI .EQ. 2 .AND. IIVI .EQ. 4 .AND. JVI .EQ. 6 .AND. 1 JJVI .EQ. 8 .AND. KVI .EQ. 10 .AND. KKVI .EQ. 12 .AND. 2 LVI .EQ. 14) GO TO 37033 IVFAIL=IVFAIL+1 WRITE (NUVI,70170) IVTNUM 70170 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X, 1 28HCOMPLEX IF - SEE SOURCE CODE) 70171 FORMAT (1H ,16X,10HCOMPUTED: , 1 I5,6(2X,I5)) WRITE (NUVI,70171) IVI,IIVI,JVI,JJVI,KVI,KKVI,LVI 70172 FORMAT (1H ,16X,10HCORRECT: , 1 47H 2 4 6 8 10 12 14) WRITE (NUVI,70172) GO TO 37035 37033 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37035 CONTINUE CT018* TEST 18 - CARD 19 NULL VALUE USING REPETITION FACTOR IVTNUM = 18 IVI = 1 AVB = .TRUE. AVS = 1.0 A4VK = 'TRUE' READ (IRVI, *) JVI, BVS, IVI, AVB, AVS, A4VK, B4VK, BVB C***** TO DELETE TEST SEE NOTES FOR TEST 1 IF (JVI .EQ. 5 .AND. BVS .GE. (-2.5 - DVS) .AND. 1 BVS .LE. (-2.5 + DVS) .AND. IVI .EQ. 1 .AND. AVB .AND. 2 AVS .GE. (1.0 - DVS) .AND. AVS .LE. (1.0 + DVS) .AND. 3 A4VK .EQ. 'TRUE' .AND. B4VK .EQ. 'TEST' .AND. .NOT. BVB) 4 GO TO 37036 IVFAIL=IVFAIL+1 WRITE (NUVI,70180) IVTNUM 70180 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X, 1 28HCOMPLEX IF - SEE SOURCE CODE) 70181 FORMAT (1H ,16X,10HCOMPUTED: , 1 I5,2X,F4.1,2X,I5,2X,L1,2X,F4.1,2X,A4,2X, 2 A4,2X,L1) WRITE (NUVI,70181) JVI,BVS,IVI,AVB,AVS,A4VK,B4VK,BVB 70182 FORMAT (1H ,16X,10HCORRECT: , 1 5H 5,2X,4H-2.5,2X,5H 1,2X,1HT,2X,4H 1.0,2X,4HTRUE,2X, 2 4HTEST,2X,1HF) WRITE (NUVI,70182) GO TO 37038 37036 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37038 CONTINUE CT019* TEST 19 - CARDS 20-21 TERMINATOR SLASH (/) IVTNUM = 19 READ(IRVI, *) IVI, JVI, KVI, LVI, MVI READ(IRVI, *) IVI, JVI, KVI, LVI, MVI C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (IVI - 6) 20190,40190,20190 40190 IF (JVI - 7) 20190,40191,20190 40191 IF (KVI - 8) 20190,40192,20190 40192 IF (LVI - 4) 20190,40193,20190 40193 IF (MVI - 5) 20190,10190,20190 10190 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0191 20190 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70190 FORMAT (1H ,16X,10HCOMPUTED: ,I5,4(2X,I5)) WRITE (NUVI,70190) IVI,JVI,KVI,LVI,MVI 70191 FORMAT (1H ,16X,10HCORRECT: , 1 5H 6,2X,5H 7,2X,5H 8,2X,5H 4,2X,5H 5) WRITE (NUVI,70191) 0191 CONTINUE CT020* TEST 20 - CARD 22 VERIFY THAT BLANKS ARE NOT C***** INTERPRETED AS ZEROS IVTNUM = 20 READ(IRVI, *) IVI, JVI, KVI C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (IVI - 12045) 20200,40200,20200 40200 IF (JVI - 12) 20200,40201,20200 40201 IF (KVI - 45) 20200,10200,20200 10200 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0201 20200 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70200 FORMAT (1H ,16X,10HCOMPUTED: ,I5,2X,I5,2X,I5) WRITE (NUVI,70200) IVI,JVI,KVI 70201 FORMAT (1H ,16X,10HCORRECT: , 1 5H12045,2X,5H 12,2X,5H 45) WRITE (NUVI,70201) 0201 CONTINUE CT021* TEST 21 - CARDS 23-24 VERIFY THAT END-OF-RECORD IS C***** TREATED AS A BLANK WHEN IT C***** SEPARATES TWO INTEGERS IVTNUM = 21 READ(IRVI, *) IVI, JVI, KVI C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (IVI - 12045) 20210,40210,20210 40210 IF (JVI - 12) 20210,40211,20210 40211 IF (KVI - 45) 20210,10210,20210 10210 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0211 20210 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70210 FORMAT (1H ,16X,10HCOMPUTED: ,I5,2X,I5,2X,I5) WRITE (NUVI,70210) IVI,JVI,KVI 70211 FORMAT (1H ,16X,10HCORRECT: , 1 5H12045,2X,5H 12,2X,5H 45) WRITE (NUVI,70211) 0211 CONTINUE CT022* TEST 22 - CARDS 25-26 VERIFY THAT END-OF-RECORD IS C***** NOT TREATED AS A BLANK IN A C***** CHARACTER STRING IVTNUM = 22 C READ(IRVI, *) A6VK, B6VK C CVNX06='ABCDEF' C CVNY06='UVWXYZ' C IF (A6VK .EQ. 'ABCDEF' .AND. B6VK .EQ. 'UVWXYZ') GO TO 37041 C IVFAIL=IVFAIL+1 C WRITE (NUVI,80008) IVTNUM C WRITE (NUVI,80020) A6VK,B6VK C WRITE (NUVI,80022) CVNX06,CVNY06 C GO TO 37043 C7041 CONTINUE C IVPASS=IVPASS+1 C WRITE (NUVI,80002) IVTNUM C7043 CONTINUE 70220 FORMAT (1X,A1) C BYPASS RECORDS 25 AND 26 READ (IRVI,70220) A6VK READ (IRVI,70220) B6VK 70221 FORMAT (1H ,2X,I3,4X,15HDELETED BY FSTC) WRITE (NUVI,70221) IVTNUM IVDELE = IVDELE + 1 CT023* TEST 23 - CARD 27 QUOTES, BLANKS, COMMAS AND SLASHES C***** EMBEDDED IN CHARACTER STRINGS IVTNUM = 23 READ(IRVI, *) A21VK C**** TO DELETE TEST SEE NOTES FOR TEST 1 CVNX21='CAN''T, AND/OR WON''T' IF (A21VK .EQ. 'CAN''T, AND/OR WON''T') GO TO 37044 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM WRITE (NUVI,80020) A21VK WRITE (NUVI,80022) CVNX21 GO TO 0231 37044 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 0231 CONTINUE CT024* TEST 24 - CARD 28 CHARACTER STRINGS THAT ARE READ IN C***** VARIABLES OF DIFFERENT LENGTHS IVTNUM = 24 READ(IRVI, *) A15VK, A8VK, A9VK C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (A15VK .EQ. '1234567890 ' .AND. 1 A8VK .EQ. '12345678' .AND. 2 A9VK .EQ. '123456789') GO TO 37047 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70240 FORMAT (1H ,16X,10HCOMPUTED: ,A15,2X,A8,2X,A9) WRITE (NUVI,70240) A15VK,A8VK,A9VK 70241 FORMAT (1H ,16X,10HCORRECT: , 1 15H1234567890 ,2X,8H12345678,2X,9H123456789) WRITE (NUVI,70241) GO TO 37049 37047 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37049 CONTINUE CT025* TEST 25 - CARD 29 LOGICAL VALUES IN DIFFERENT C***** REPRESENTATIONS IVTNUM = 25 READ(IRVI, *) AVB, BVB, CVB, DVB, EVB, FVB, GVB, HVB C***** TO DELETE CODE SEE NOTES FOR TEST 1 IF (AVB .AND. .NOT. BVB .AND. .NOT. CVB .AND. DVB .AND. 1 .NOT. EVB .AND. .NOT. EVB .AND. GVB .AND. HVB) 2 GO TO 37050 IVFAIL=IVFAIL+1 WRITE (NUVI,70250) IVTNUM 70250 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X, 1 28HCOMPLEX IF - SEE SOURCE CODE) 70251 FORMAT (1H ,16X,10HCOMPUTED: ,L1,7(2X,L1)) WRITE (NUVI,70251) AVB,BVB,CVB,DVB,EVB,FVB,GVB,HVB 70252 FORMAT (1H ,16X,10HCORRECT: ,22HT F F T F F T T) WRITE (NUVI,70252) GO TO 37052 37050 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37052 CONTINUE CT026* TEST 26 - CARDS 30-31 SLASH TERMINATOR IVTNUM = 26 READ(IRVI, *) AVB, BVB, CVB, DVB, EVB READ(IRVI, *) AVB, BVB, CVB, DVB, EVB C***** TO DELETE CODE SEE NOTES FOR TEST 1 IF (.NOT. AVB .AND. .NOT. BVB .AND. CVB .AND. 1 DVB .AND. EVB) GO TO 37053 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70260 FORMAT (1H ,16X,10HCOMPUTED: , L1,4(2X,L1)) WRITE (NUVI,70260) AVB,BVB,CVB,DVB,EVB 70261 FORMAT (1H ,16X,10HCORRECT: ,13HF F T T T) WRITE (NUVI,70261) GO TO 37055 37053 CONTINUE IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM 37055 CONTINUE CT027* TEST 27 - CARD 32 SLASH TERMINATING IMPLIED-DO LOOP IVTNUM = 27 J1I(1) = 1 READ(IRVI,*) (J1I(IVI), IVI=1,3) C**** TO DELETE CODE SEE NOTES FOR TEST 1 IVCORR=1 IF (J1I(1) - 1) 20270,10270,20270 10270 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0271 20270 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM WRITE(NUVI, 80024) J1I(1) WRITE (NUVI,80026) IVCORR 0271 CONTINUE CT028* TEST 28 - CARDS 33-34 SECOND READ SHOULD CAUSE VALUES C***** TO BE READ FROM SECOND CARD IVTNUM = 28 READ(IRVI,*) IVI, JVI READ(IRVI,*) IVI, JVI C**** TO DELETE TEST SEE NOTES FOR TEST 1 IF (IVI - 5) 20280,40280,20280 40280 IF (JVI - 6) 20280,10280,20280 10280 IVPASS=IVPASS+1 WRITE (NUVI,80002) IVTNUM GO TO 0281 20280 IVFAIL=IVFAIL+1 WRITE (NUVI,80008) IVTNUM 70280 FORMAT (1H ,16X,10HCOMPUTED: ,I5,2X,I5) WRITE (NUVI,70280) IVI,JVI 70281 FORMAT (1H ,16X,10HCORRECT: ,5H 5,2X,5H 6) WRITE (NUVI,70281) 0281 CONTINUE C***** CBB** ********************** BBCSUM0 ********************************** C**** WRITE OUT TEST SUMMARY C**** IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP WRITE (I02, 90004) WRITE (I02, 90014) WRITE (I02, 90004) WRITE (I02, 90020) IVPASS WRITE (I02, 90022) IVFAIL WRITE (I02, 90024) IVDELE WRITE (I02, 90026) IVINSP WRITE (I02, 90028) IVTOTN, IVTOTL CBE** ********************** BBCSUM0 ********************************** CBB** ********************** BBCFOOT0 ********************************** C**** WRITE OUT REPORT FOOTINGS C**** WRITE (I02,90016) ZPROG, ZPROG WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED WRITE (I02,90019) CBE** ********************** BBCFOOT0 ********************************** CBB** ********************** BBCFMT0A ********************************** C**** FORMATS FOR TEST DETAIL LINES C**** 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 1I6,/,1H ,15X,10HCORRECT= ,I6) 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 1A21,/,1H ,16X,10HCORRECT= ,A21) 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 80050 FORMAT (1H ,48X,A31) CBE** ********************** BBCFMT0A ********************************** CBB** ********************** BBCFMT0B ********************************** C**** FORMAT STATEMENTS FOR PAGE HEADERS C**** 90002 FORMAT (1H1) 90004 FORMAT (1H ) 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 90008 FORMAT (1H ,21X,A13,A17) 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 1 7X,7HREMARKS,24X) 90014 FORMAT (1H ,46H----------------------------------------------, 1 33H---------------------------------) 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) C**** C**** FORMAT STATEMENTS FOR REPORT FOOTINGS C**** 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 1 A13) 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) C**** C**** FORMAT STATEMENTS FOR RUN SUMMARY C**** 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) CBE** ********************** BBCFMT0B ********************************** C***** END OF TEST SEGMENT 370 STOP END