C*********************************************************************** C***** FORTRAN 77 C***** FM900 FMTRWF - (021) C***** C*********************************************************************** C***** GENERAL PURPOSE ANS REFS C***** TO TEST SIMPLE FORMAT AND FORMATTED DATA 12.9.5.2 C***** TRANSFER STATEMENTS IN EXTERNAL SEQUENTIAL I/O SO 13.1.1 C***** THAT THESE FEATURES MAY BE USED IN OTHER TEST 12.8.1 C***** PROGRAM SEGMENTS FOR DOUBLE PRECISION AND COMPLEX C***** DATA TYPES. C***** RESTRICTIONS OBSERVED 12.8.2 C***** * ALL FORMAT STATEMENTS ARE LABELED 13.1.1 C***** * H AND X DESCRIPTORS ARE NEVER REPEATED 13.2.1 C***** * FOR W.D DESCRIPTORS, D IS ALWAYS SPECIFIED AND C***** W IS EQUAL TO OR GREATER THAN D C***** * FIELD WIDTH IS NEVER ZERO 13.2.1 C***** * IF AN I/O LIST SPECIFIES AT LEAST ONE LIST ITEM 13.3 C***** AT LEAST ONE REPEATABLE EDIT DESCRIPTOR MUST EXIST C***** IN THE FORMAT SPECIFICATION C***** * ITEMS IN I/O LIST CORRESPOND TO EDIT DESCRIPTORS 13.3 C***** * NEGATIVE OUTPUT VALUES ARE SIGNED 13.5.9 C***** * FIELD WIDTH NEVER EXCEEDED BY OUTPUT 13.5.9 C***** GENERAL COMMENTS C***** PLUS SIGNS FOR INPUT FIELDS ARE USUALLY OMITTED 13.5.9 C***** FORMATTED WRITES WITHOUT AN I/O LIST (FORMAT 13.5.2 C***** STATEMENTS TEST H AND X DESCRIPTORS AND SLASH 13.5.3 C***** RECORD DIVIDERS) 13.5.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***** C INPUT DATA TO THIS SEGMENT CONSISTS OF 17 CARD IMAGES IN COL. 1 - 80 COL. 1----------------------------------------------------------61 CARD 1 1.05.522.066.633.123455.0789 CARD 2 123.00456.88 0.123E+01 +0.987+1 -0.2345+02 -0.6879E+2+0.7E+0 COL 62-----70 CARD 2 3 0.4E+03 COL. 1----------------------------------------------------------61 CARD 3 0.9876543E-04+0.1357913E-04 CARD 4 19.34+0.2468E+02 +.765+287.643.96 0.5407E+0243.96+0.5407E+0 COL. 62-------------78 CARD 4 243.96 0.5407+2 COL. 1----------------------------- ----------------------------61 CARD 5 +0.1D+06 CARD 6 -0.334D-04 -.334-4 +0.7657654D00 0.12345678901D+10 CARD 7 +0.98765432109876D-1+0.98765432109876D-01 .98765432109876 COL. 62-66 CARD 7 -1 COL. 1----------------------------------------------------------61 CARD 8 -.555555542D+03 -0.555555542+3 CARD 9 9.91.19.92.29.93.39.94.49.91.19.92.29.93.39.94.4 CARD 10 9.95.59.96.69.97.79.98.89.95.59.96.69.97.79.98.8 CARD 11 -0.99D+01-0.98D+01-0.97D+01-0.96D+01-0.99D+01 -.98D+01 -.97+ COL. 62-------72 CARD 11 01 -.96+1 CARD 12 +0.99D+01 0.98D+01 +.97D01 +.96D1 CARD 13 +0.99D+01 0.99D+01 0.99D+01+0.99D+01 .99D1 CARD 14 9.95.59.96.69.97.79.98.8 CARD 15 123.45678E2 1234.5678 123.45678 12.345678 1.2345678 .123 COL. 62-66 CARD 15 45678 COL. 1----------------------------------------------------------61 CARD 16 9876.5498.7654E2 9876.54 987.654864786D-486.4786E286.4786 COL. 62---------------80 CARD 16 8657.86D0 9876.54 COL. 1----------------------------------------------------------61 CARD 17 9.8765698.7654E2 9876.54 987.654864786D-386.4786E286.4786 COL. 62---------------80 CARD 17 8657.86D0 9876.54 C***** C***** S P E C I F I C A T I O N S SEGMENT 021 C***** DOUBLE PRECISION DPA1D(5),MCA3D(1,4,2),ZZDVD ,A2D(2,2),A3D(2,2,2) 1,AC1D(10),BC2D(7,4),DPAVD,DPBVD COMPLEX BVC,QAVC,CHAVC,CHBVC,CHCVC,CHDVC 1,LL1C(32),LM2C(8,4),A1C(12),A2C(2,2),B3C(2,2,2),B1C(8) 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 IVTOTL = 36 ZPROG = 'FM900' 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***** HEADER FORMAT STATEMENT WRITE (NUVI,02100) 02100 FORMAT (1H ,/1X,28HFMTRWF - (021) FORMATTED I/O//2X, 1 25HREFS - 12.9.5 13.3 13.5) 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***** TESTS 1 THRU 11: C***** FORMATTED READ AND WRITE STATEMENTS WITH COMPLEX 12.8.1 C***** VARIABLES AND ARRAY ELEMENTS IN AN I/O LIST. 12.8.2 C***** E AND F CONVERSION ARE USED IN THE FORMAT 13.5.9.2.1-2 C***** STATEMENTS. SOME FORMAT DESCRIPTORS ARE REPEATED 13.5.9.2.1 C***** 02101 FORMAT (/8X,23HCOMPLEX CONVERSION TEST/) WRITE (NUVI,02101) C***** INPUT CARD 1 02102 FORMAT ( 2(F3.1) , 2(F4.1), 2(F7.4)) READ (IRVI,02102) CHAVC, CHBVC, A1C(2) C***** INPUT CARDS 2, 3 02103 FORMAT ( 2F6.2, 2E10.3, 2E11.4, 2E8.1/ 2E14.7) READ (IRVI,02103) A2C(1,2), B3C(2,2,1), CHCVC, A1C(1), CHDVC C***** INPUT CARD 4 02104 FORMAT (F5.2, E11.4, E10.3, F4.1, 3(F5.2,E11.4)) READ (IRVI,02104) A2C(2,1), BVC, QAVC, LM2C(1,2), LL1C(2) CT001* TEST 1 IVTNUM = 1 WRITE (NUVI, 80004) IVTNUM WRITE (NUVI, 80020) WRITE (NUVI, 70010) CHAVC 70010 FORMAT (26X,F3.1,2X,F3.1) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70011) 70011 FORMAT (26X, 8H1.0 5.5) CT002* TEST 2 IVTNUM = 2 WRITE (NUVI, 80004) IVTNUM WRITE (NUVI, 80020) WRITE (NUVI, 70020) CHBVC 70020 FORMAT (26X,F4.1,2X,F4.1) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70021) 70021 FORMAT (26X,10H22.0 66.6) CT003* TEST 3 IVTNUM = 3 WRITE (NUVI, 80004) IVTNUM WRITE (NUVI, 80020) WRITE (NUVI, 70030) A1C(2) 70030 FORMAT (26X,F7.4,2X,F7.4) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70031) 70031 FORMAT (26X,16H33.1234 55.0789) CT004* TEST 4 IVTNUM = 4 WRITE (NUVI, 80004) IVTNUM WRITE (NUVI, 80020) WRITE (NUVI, 70040) A2C(1,2) 70040 FORMAT (26X,F6.2,2X,F6.2) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70041) 70041 FORMAT (26X,14H123.00 456.88) CT005* TEST 5 IVTNUM = 5 REMRKS = 'LEADING PLUS SIGN/ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM,REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70050) B3C(2,2,1) 70050 FORMAT (26X,E10.3,2X,E10.3) IVINSP = IVINSP + 1 WRITE (NUVI, 70051) 70051 FORMAT (1H ,16X,10HCORRECT: ,22X,26H2 CORRECT ANSWERS POSSIB 1LE) WRITE (NUVI, 70052) 70052 FORMAT (26X,22H+0.123E+01 +0.987E+01/ 1 26X,22H+0.123+001 +0.987+001) CT006* TEST 6 IVTNUM = 6 REMRKS = 'LEADING ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70060) CHCVC 70060 FORMAT (26X,E11.4,2X,E11.4) IVINSP = IVINSP + 1 WRITE (NUVI, 70051) WRITE (NUVI, 70061) 70061 FORMAT (26X,24H-0.2345E+02 -0.6879E+02/ 1 26X,24H-0.2345+002 -0.6879+002) C***** ADVANCE TO TOP-OF-PAGE AND WRITE HEADER WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** CT007* TEST 7 IVTNUM = 7 REMRKS = 'LEADING PLUS SIGN/ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70070) A1C(1) 70070 FORMAT (26X,E8.1,2X,E8.1) IVINSP = IVINSP + 1 WRITE (NUVI, 70051) WRITE (NUVI, 70071) 70071 FORMAT (26X,18H+0.7E+03 +0.4E+03/ 1 26X,18H+0.7+003 +0.4+003) CT008* TEST 8 IVTNUM = 8 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70080) CHDVC 70080 FORMAT (26X,E14.7,2X,E14.7) IVINSP = IVINSP + 1 WRITE (NUVI, 70051) WRITE (NUVI, 70081) 70081 FORMAT (26X,30H+0.9876543E-04 +0.1357913E-04/ 1 26X,30H+0.9876543-004 +0.1357913-004) CT009* TEST 9 IVTNUM = 9 WRITE (NUVI, 70090) IVTNUM 70090 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,31HLEADING PLUS SIGN/ZERO 1OPTIONAL/1H ,48X,21HFOR THE SECOND NUMBER) WRITE (NUVI, 80020) WRITE (NUVI, 70091) A2C(2,1) 70091 FORMAT (26X,F5.2,2X,E11.4) IVINSP = IVINSP + 1 WRITE (NUVI, 70051) WRITE (NUVI, 70092) 70092 FORMAT (26X,18H19.34 +0.2468E+02/ 1 26X,18H19.34 +0.2468+002) CT010* TEST 10 IVTNUM = 10 WRITE (NUVI, 70100) IVTNUM 70100 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,31HLEADING PLUS SIGN/ZERO 1OPTIONAL/1H ,48X,20HFOR THE FIRST NUMBER) WRITE (NUVI, 80020) WRITE (NUVI, 70101) BVC 70101 FORMAT (26X,E10.3,2X,F4.1) IVINSP = IVINSP + 1 WRITE (NUVI, 70051) WRITE (NUVI, 70102) 70102 FORMAT (26X,16H+0.765E+02 87.6/ 1 26X,16H+0.765+002 87.6) CT011* TEST 11 IVTNUM = 11 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70110) 70110 FORMAT (1H ,16X,9HCOMPUTED:,23X,25H3 COMPUTED LINES EXPECTED) WRITE (NUVI,70111) QAVC, LM2C(1,2), LL1C(2) 70111 FORMAT (3(26X,F7.2,E11.4/)) IVINSP = IVINSP + 1 WRITE (NUVI, 70112) 70112 FORMAT (1H ,16X,10HCORRECT: ,22X,30HEACH RESULT LINE SHOULD 1MATCH /1H ,48X,30HEITHER ONE OF THE 2 POSSIBLE / 2 1H ,48X,13HANSWERS BELOW) WRITE (NUVI, 70113) 70113 FORMAT (26X,18H +43.96+0.5407E+02/ 1 26X,18H +43.96+0.5407+002) C***** ADVANCE TO TOP-OF-PAGE AND WRITE HEADER WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** C***** TESTS 12 THRU 17: C***** FORMATTED READ AND WRITE STATEMENTS WITH 12.8.1 C***** DOUBLE PRECISION VARIABLES IN AN I/O LIST. 12.8.2 C***** D CONVERSION IS USED IN THE FORMAT STATEMENTS. 13.5.9.2.2 C***** SOME D FORMAT DESCRIPTORS ARE REPEATED. (FIELD 13.3 C***** WIDTH ALWAYS INCLUDES 6 EXTRA POSITIONS TO 13.5.9 C***** PROVIDE FOR SIGN, DECIMAL POINT AND EXPONENT 13.5.9.2 C***** AND 1 POSITION FOR OPTIONAL DIGIT ZERO BEFORE C***** THE DECIMAL POINT) C***** 02109 FORMAT (/8X, 17HD CONVERSION TEST/) WRITE (NUVI,02109) C***** INPUT CARD 5 02110 FORMAT ( 2X, D8.1) READ (IRVI,02110) DPAVD C***** INPUT CARDS 6, 7, 8 02111 FORMAT ( 2D10.3, D14.7, D18.11/ 3D21.14/ 2D16.9) READ (IRVI,02111) MCA3D(1,2,2), AC1D(2), BC2D(3,1), AC1D(1), 1 ZZDVD, AC1D(3), DPBVD, MCA3D(1,2,1), BC2D(1,2) CT012* TEST 12 IVTNUM = 12 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI,70120) DPAVD 70120 FORMAT (26X,D8.1) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) 70121 FORMAT (1H ,16X,10HCORRECT: ,22X,26H3 CORRECT ANSWERS POSSIB 1LE) WRITE (NUVI, 70122) 70122 FORMAT (26X,8H+0.1D+06/26X,8H+0.1E+06/26X,8H+0.1+006) CT013* TEST 13 IVTNUM = 13 REMRKS = 'LEADING ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70130) 70130 FORMAT (1H ,16X,9HCOMPUTED:,23X,25H2 COMPUTED LINES EXPECTED) WRITE (NUVI, 70131) MCA3D(1,2,2), AC1D(2) 70131 FORMAT (26X,D10.3 / 26X,D10.3) IVINSP = IVINSP + 1 WRITE (NUVI, 70132) 70132 FORMAT (1H ,16X,10HCORRECT: ,22X,30HEACH RESULT LINE SHOULD 1MATCH /1H ,48X,30HONE OF THE 3 POSSIBLE ANSWERS / 2 1H ,48X,5HBELOW) WRITE (NUVI, 70133) 70133 FORMAT(26X,10H-0.334D-04/26X,10H-0.334E-04/26X,10H-0.334-004) CT014* TEST 14 IVTNUM = 14 REMRKS = 'LEADING PLUS SIGN/ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70140) BC2D(3,1) 70140 FORMAT (26X,D14.7) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70141) 70141 FORMAT (26X,14H+0.7657654D+00/ 1 26X,14H+0.7657654E+00/ 2 26X,14H+0.7657654+000) CT015* TEST 15 IVTNUM = 15 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70150) AC1D(1) 70150 FORMAT (26X,D18.11) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70151) 70151 FORMAT (26X,18H+0.12345678901D+10/ 1 26X,18H+0.12345678901E+10/ 2 26X,18H+0.12345678901+010) CT016* TEST 16 IVTNUM = 16 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70110) WRITE (NUVI, 70160) ZZDVD,AC1D(3),DPBVD 70160 FORMAT (26X,D21.14 / 26X,D21.14 / 26X,D21.14) IVINSP = IVINSP + 1 WRITE (NUVI, 70132) WRITE (NUVI, 70161) 70161 FORMAT (26X,21H+0.98765432109876D-01/ 1 26X,21H+0.98765432109876E-01/ 2 26X,21H+0.98765432109876-001) CT017* TEST 17 IVTNUM = 17 REMRKS = 'LEADING ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70130) WRITE (NUVI, 70170) MCA3D(1,2,1), BC2D(1,2) 70170 FORMAT (26X,D16.9 /26X,D16.9) IVINSP = IVINSP + 1 WRITE (NUVI, 70132) WRITE (NUVI, 70171) 70171 FORMAT (26X,16H-0.555555542D+03/ 1 26X,16H-0.555555542E+03/ 2 26X,16H-0.555555542+003) C***** ADVANCE TO TOP-OF-PAGE AND WRITE HEADER WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** C***** TESTS 18 THRU 22: C***** FORMATTED READ AND WRITE STATEMENTS WITH ARRAY 12.8.1 C***** NAMES OF ALL TYPES IN AN I/O LIST. THE NUMBER OF 12.8.2 C***** ITEMS IN THE LIST IS VARIABLE. SOME FIELD 13.3 C***** DESCRIPTORS ARE REPEATED. C***** 02114 FORMAT (/8X, 44HTEST UNSUBSCRIPTED ARRAY NAMES IN I/O LISTS /) WRITE (NUVI,02114) C***** INPUT CARDS 9, 10 02115 FORMAT(2X,8(F3.1),8F3.1/8(2(F3.1))) READ (IRVI,02115) B1C,B3C C***** INPUT CARDS 11, 12 02116 FORMAT(4(D9.2),4D9.2/2X,4(D9.2)) READ (IRVI,02116) A3D, A2D C***** INPUT CARDS 13, 14 02117 FORMAT (2X,4(2X),5(D9.2)/4(2(F3.1))) READ (IRVI,02117) DPA1D, A2C CT018* TEST 18 IVTNUM = 18 WRITE (NUVI, 80004) IVTNUM WRITE (NUVI, 70130) WRITE (NUVI,70180) B1C 70180 FORMAT (26X,8(F3.1) / 26X,8(F3.1)) IVINSP = IVINSP + 1 WRITE (NUVI, 70181) 70181 FORMAT (1H ,16X,10HCORRECT: ,22X,29HEACH RESULT LINE SHOULD 1EQUAL) WRITE (NUVI, 70182) 70182 FORMAT (26X, 24H9.91.19.92.29.93.39.94.4) CT019* TEST 19 IVTNUM = 19 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70130) WRITE (NUVI, 70190) A3D 70190 FORMAT (26X,4(D9.2) / 26X,4(D9.2)) IVINSP = IVINSP + 1 WRITE (NUVI, 70132) WRITE (NUVI, 70191) 70191 FORMAT (26X,36H-0.99D+01-0.98D+01-0.97D+01-0.96D+01/ 1 26X,36H-0.99E+01-0.98E+01-0.97E+01-0.96E+01/ 2 26X,36H-0.99+001-0.98+001-0.97+001-0.96+001) CT020* TEST 20 IVTNUM = 20 REMRKS = 'LEADING PLUS SIGN/ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI,70200) A2D 70200 FORMAT (26X,4(D9.2)) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70201) 70201 FORMAT (26X,36H+0.99D+01+0.98D+01+0.97D+01+0.96D+01/ 1 26X,36H+0.99E+01+0.98E+01+0.97E+01+0.96E+01/ 2 26X,36H+0.99+001+0.98+001+0.97+001+0.96+001) CT021* TEST 21 IVTNUM = 21 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70210) 70210 FORMAT (1H ,16X,9HCOMPUTED:,23X,25H5 COMPUTED LINES EXPECTED) WRITE (NUVI,70211) DPA1D 70211 FORMAT (5(26X,D11.2/)) IVINSP = IVINSP + 1 WRITE (NUVI, 70132) WRITE (NUVI, 70212) 70212 FORMAT (26X,11H +0.99D+01/ 1 26X,11H +0.99E+01/ 2 26X,11H +0.99+001) CT022* TEST 22 IVTNUM = 22 WRITE (NUVI, 80004) IVTNUM WRITE (NUVI, 70110) WRITE (NUVI,70220) A2C, B3C 70220 FORMAT (26X,8(F3.1) / 26X,8(F3.1) / 26X,8(F3.1)) IVINSP = IVINSP + 1 WRITE (NUVI, 70181) WRITE (NUVI, 70221) 70221 FORMAT (26X,24H9.95.59.96.69.97.79.98.8) C***** ADVANCE TO TOP-OF-PAGE AND WRITE HEADER WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** C***** TESTS 23 THRU 30: C***** FORMATTED WRITES TO TEST THAT LEADING BLANKS 13.5.9 C***** ARE INSERTED IN THE OUTPUT FIELD WHEN THE OUTPUT C***** PRODUCED IS SMALLER THAN THE FIELD WIDTH. (D AND C***** F DESCRIPTORS ARE TESTED.) C***** 02121 FORMAT (/8X, 28HLEADING BLANK INSERTION TEST/) WRITE (NUVI,02121) CT023* TEST 23 IVTNUM = 23 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) 70230 FORMAT (1H ,48X,27HLEADING BLANKS ARE REQUIRED) WRITE (NUVI, 80020) WRITE (NUVI, 70231) AC1D(3) 70231 FORMAT (26X,D9.1) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70232) 70232 FORMAT (26X,9H +0.1D+00/26X,9H +0.1E+00/26X,9H +0.1+000) CT024* TEST 24 IVTNUM = 24 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) WRITE (NUVI, 80020) WRITE (NUVI, 70240) ZZDVD 70240 FORMAT (26X,D10.1) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70241) 70241 FORMAT(26X,10H +0.1D+00/26X,10H +0.1E+00/26X,10H +0.1+000) CT025* TEST 25 IVTNUM = 25 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) WRITE (NUVI, 80020) WRITE (NUVI, 70250) ZZDVD 70250 FORMAT (26X,D11.1) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70251) 70251 FORMAT (26X,11H +0.1D+00/ 1 26X,11H +0.1E+00/ 2 26X,11H +0.1+000) CT026* TEST 26 IVTNUM = 26 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) WRITE (NUVI, 80020) WRITE (NUVI, 70260) ZZDVD 70260 FORMAT (26X,D12.1) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70261) 70261 FORMAT (26X,12H +0.1D+00/ 1 26X,12H +0.1E+00/ 2 26X,12H +0.1+000) CT027* TEST 27 IVTNUM = 27 REMRKS = 'LEADING PLUS OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) WRITE (NUVI, 80020) WRITE (NUVI, 70270) CHAVC 70270 FORMAT (26X,2(F5.1)) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70271) 70271 FORMAT (26X,10H +1.0 +5.5) CT028* TEST 28 IVTNUM = 28 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) WRITE (NUVI, 80020) WRITE (NUVI, 70280) B3C(1,1,1) 70280 FORMAT (26X,2(F6.1)) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70281) 70281 FORMAT (26X,12H +9.9 +5.5) C***** ADVANCE TO TOP-OF-PAGE AND WRITE HEADER WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** CT029* TEST 29 IVTNUM = 29 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) WRITE (NUVI, 80020) WRITE (NUVI, 70290) B3C(1,1,1) 70290 FORMAT (26X,2(F7.1)) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70291) 70291 FORMAT (26X,14H +9.9 +5.5) CT030* TEST 30 IVTNUM = 30 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70230) WRITE (NUVI, 80020) WRITE (NUVI, 70300) CHAVC 70300 FORMAT (26X,2(F8.1)) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70301) 70301 FORMAT (26X,16H +1.0 +5.5) C***** TESTS 31 THRU 32: C***** FORMATS WITH G CONVERSIONS USING COMPLEX DATA 13.5.9.2.3 C***** C***** INPUT CARD 15 02123 FORMAT( 3(G11.4), 3G11.4) READ (IRVI,02123) LL1C(1), LL1C(2), LL1C(3) 02124 FORMAT (/8X,17HG CONVERSION TEST/) WRITE (NUVI, 02124) CT031* TEST 31 IVTNUM = 31 REMRKS = 'LEADING PLUS SIGN/ZERO OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 70130) WRITE (NUVI, 70310) LL1C(1), LL1C(2), LL1C(3) 70310 FORMAT (26X,G14.4,4X,2G11.4 / 26X,G14.4,4X,2G11.4) IVINSP = IVINSP + 1 WRITE (NUVI, 70311) 70311 FORMAT(/1H ,16X,10HCORRECT: ,22X,31HCORRESPONDING LINES MUST 1 MATCH ,/1H ,48X,31HEITHER OF THE FOLLOWING TWO , 2 /1H ,48X,31HCORRECT ANSWERS /) WRITE (NUVI, 70312) 70312 FORMAT (26X,36H +0.1235E+05 +1235. +123.5/ 1 26X,36H +12.35 +1.235 +0.1235// 2 26X,36H +0.1235+005 +1235. +123.5/ 3 26X,36H +12.35 +1.235 +0.1235) C***** TESTS 32 THRU 34: C***** ON READ, BUT NOT ON WRITE C***** SCALE FACTOR APPLIED TO F,E,D,G DESCRIPTORS 13.7.5.1 C***** C***** INPUT CARD 16 02126 FORMAT(2PF8.3,-2PE9.4,F9.4,0PG9.4,D9.4,-2PE9.4,F9.4,D9.4,2PG9.4) READ(IRVI,02126)BVC, CHAVC, BC2D(1,4), A1C(1), BC2D(2,1), DPAVD 02127 FORMAT(/8X, 20HSCALE FACTOR ON READ/) WRITE (NUVI, 02127) CT032* TEST 32 IVTNUM = 32 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70320) BVC,CHAVC 70320 FORMAT (26X,F12.4,E12.4,F12.2,F12.3) IVINSP = IVINSP + 1 WRITE (NUVI, 70051) WRITE (NUVI, 70321) 70321 FORMAT (30X,44H+98.7654 +0.9877E+04 +987654.00 +987.654/ 1 30X,44H+98.7654 +0.9877+004 +987654.00 +987.654) CT033* TEST 33 IVTNUM = 33 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70330) BC2D(1,4), A1C(1) 70330 FORMAT (26X,D12.4,E12.4,F12.3) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70331) 70331 FORMAT (26X,36H +0.8648D-02 +0.8648E+04 +8647.860/ 1 26X,36H +0.8648E-02 +0.8648E+04 +8647.860/ 2 26X,36H +0.8648-002 +0.8648+004 +8647.860) 70332 FORMAT (1H ,48X,5H OR) WRITE (NUVI,70332) 70333 FORMAT (26X,36H +0.8648D-02 +0.8648E+04 +8647.859/ 1 26X,36H +0.8648E-02 +0.8648E+04 +8647.859/ 2 26X,36H +0.8648-002 +0.8648+004 +8647.859) WRITE (NUVI,70333) CT034* TEST 34 IVTNUM = 34 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70340) BC2D(2,1), DPAVD 70340 FORMAT (26X,D12.4,G16.4) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70341) 70341 FORMAT (26X,24H +0.8658D+04 +98.77/ 1 26X,24H +0.8658E+04 +98.77/ 2 26X,24H +0.8658+004 +98.77) C***** ADVANCE TO TOP-OF-PAGE AND WRITE HEADER WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** C***** TESTS 35 AND 36: C***** SCALE FACTOR APPLIED TO F, E, D, G DESCRIPTORS C***** ON WRITE, BUT, NOT ON READ C***** C***** INPUT CARD 17 02128 FORMAT(F8.2,E9.4,F9.2,G9.3,D9.0,E9.4,F9.4,D9.2,G9.4) READ(IRVI,02128) CHBVC, A2C(2,1), AC1D(4), CHCVC, AC1D(5), DPBVD 02129 FORMAT(/8X, 21HSCALE FACTOR ON WRITE/) WRITE (NUVI, 02129) CT035* TEST 35 IVTNUM = 35 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE (NUVI, 70350) CHBVC, A2C(2,1), AC1D(4) 70350 FORMAT (26X,2PF12.2,-2PE12.4,F12.4,1PG12.2,D12.4) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70351) 70351 FORMAT (28X,58H +987.66 +0.0099E+06 +98.7654 +9.88E+02 1 +8.6479D+02/28X,58H +987.66 +0.0099E+06 +98.7654 +9.88E+02 2 +8.6479E+02/28X,58H +987.66 +0.0099+006 +98.7654 +9.88+002 3 +8.6479+002) 70352 FORMAT (1H ,48X,5H OR) WRITE (NUVI,70352) 70353 FORMAT (28X,58H +987.66 +0.0099E+06 +98.76539 +9.88E+02 1 +8.6479D+02/28X,58H +987.66 +0.0099E+06 +98.76539 +9.88E+02 2 +8.6479E+02/28X,58H +987.66 +0.0099+006 +98.76539 +9.88+002 3 +8.6479+002) WRITE (NUVI,70353) CT036* TEST 36 IVTNUM = 36 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) WRITE(NUVI,70360) CHCVC, AC1D(5), DPBVD 70360 FORMAT (26X,-2PE12.4,2PF12.2,1PD12.4,2PG16.4) IVINSP = IVINSP + 1 WRITE (NUVI, 70121) WRITE (NUVI, 70361) 70361 FORMAT(27X,47H+0.0086E+06 +8647.86 +8.6579D+03 +9877. 1 /27X,47H+0.0086E+06 +8647.86 +8.6579E+03 +9877. 2 /27X,47H+0.0086+006 +8647.86 +8.6579+003 +9877.) 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** ********************** BBCFMAT1 ********************************** C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE C**** 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 21H(,F12.5,2H, ,F12.5,1H)) CBE** ********************** BBCFMAT1 ********************************** 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***** C***** END OF TEST SEGMENT 21 STOP END