C*********************************************************************** C***** FORTRAN 77 C***** FM903 IOFMTF - (354) C***** THIS PROGRAM CALLS SUBROUTINE SN904 C*********************************************************************** C***** GENERAL PURPOSE ANS REFS C***** TO TEST ADDITIONAL FEATURES OF READ AND WRITE 12.8 C***** STATEMENTS, FORMATTED RECORDS AND FORMAT STATEMENTS 12.1.1 C***** DOUBLE PRECISION AND COMPLEX DATA TYPES. C***** TO TEST ALL FORMS OF CHARACTER EXPRESSIONS AS 13.1.2 C***** FORMAT SPECIFIERS. C***** RESTRICTIONS OBSERVED 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 C***** * IF AN I/O LIST SPECIFIES AT LEAST ONE 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 C***** * NEGATIVE OUTPUT VALUES ARE SIGNED 13.5.9 C***** * AN H EDIT DESCRIPTOR IS NEVER USED ON INPUT 13.5.2 C***** * IN THE INPUT FIELD, FOR THE IW EDIT DESCRIPTOR 13.5.9.1 C***** THE CHARACTER STRING MUST BE AN OPTIONALLY SIGNED C***** INTEGER CONSTANT C***** GENERAL COMMENTS C***** PLUS SIGNS FOR INPUT FIELDS ARE USUALLY OMITTED 13.5.9 C***** C***** CALL SUBROUTINE SN904 (SEGMENT 790) 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 14 CARD IMAGES IN COL. 1 - 56 COL. 1-----------------------------------------------------56 CARD 1 333144446666225555 CARD 2 1234567890 CARD 3 1234567890 CARD 4 1234567890 CARD 5 1234567890 CARD 6 12345 CARD 7 12345123.5123.45D-01 12345D+01 CARD 8 12 345 678 CARD 9 5-1111 3333-5555 7777-9999 CARD 10 12345678901234567890123456781234567890123456789012345678 CARD 11 12345678901234123456789012341234567890123412345678901234 CARD 12 12345678901234123456789012341234567890123456789012345678 CARD 13 12345678901234567890123456781234567890123456789012345678 CARD 14 12345678901234123456789012341234567890123412345678901234 C***** C***** S P E C I F I C A T I O N S SEGMENT 354 C***** INTEGER J1I(6) INTEGER IA1I(8) CHARACTER*11 A11VK CHARACTER*15 C151K(7) CHARACTER*19 A19VK CHARACTER*25 C251K(6) CHARACTER*32 A32VK CHARACTER*52 A52VK CHARACTER*65 A65VK CHARACTER*85 A85VK DOUBLE PRECISION AVD, A1D(4), B4D(2,1,2,2) COMPLEX AVC, BVC, CVC, A2C(2,2) EXTERNAL SN904 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 = 13 ZPROG = 'FM903' 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, 35400) 35400 FORMAT(1H ,/ 1X, 35HIOFMTF - (354) ADDITIONAL FORMATTED//1X, 1 14HDATA TRANSFERS,//1X, 2 31HANS REF. - 12.9.5.2 13.1 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***** TEST THAT A FORMAT MAY BE A CHARACTER VARIABLE, 12.4.2(3) C***** A CHARACTER EXPRESSION, A CHARACTER ARRAY, OR A 12.4.2(4) C***** CHARACTER ARRAY ELEMENT. 13.1.2 C***** NOTE THAT THE LENGTH OF THE FORMAT MAY EXCEED THE C***** LENGTH OF AN ARRAY ELEMENT IF THE FORMAT SPECIFIER C***** IS AN ARRAY, BUT NOT IF THE SPECIFIER IS AN ARRAY ELEMENT. WRITE(NUVI, 35401) 35401 FORMAT(/8X, 30HCHARACTER EXPRESSION AS FORMAT/) A19VK = '(I3,I1,I4,I4,I2,I4)' C***** CARD 1 READ(IRVI, A19VK) J1I(3), J1I(1), J1I(4), J1I(6), J1I(2), J1I(5) CT001* TEST 1 - CHARACTER EXPRESSION AS FORMAT IVTNUM = 1 REMRKS = 'LEADING PLUS SIGN OPTIONAL' WRITE (NUVI, 80004) IVTNUM, REMRKS A65VK = '16X,10HCOMPUTED: /26X,I1, 1X, I2, 1X, I3, 1X, I4, 1X, 1I5, 1X, I6' A85VK = '16X,10HCORRECT: ,22X,26H2 CORRECT ANSWERS POSSIBLE/26X 1,26H1 22 333 4444 5555 6666' WRITE(NUVI, '(/1X,' // A65VK // '/1X,' // A85VK // ')') J1I IVINSP = IVINSP + 1 WRITE (NUVI, 70010) 70010 FORMAT (26X,26H1 22 333 4444 +5555 +6666) CT002* TEST 2 - CHARACTER ARRAY AS FORMAT IVTNUM = 2 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) C251K(1) = '(26X, I6, 1X, I5, 1X, I4,' C251K(2) = ' 1X, I3, 1X, I2, 1X, I1 /' C251K(3) = '17X,9HCORRECT: ,22X,26H2 ' C251K(4) = 'CORRECT ANSWERS POSSIBLE/' C251K(5) = '26X,26H 6666 5555 4444 ' C251K(6) = '333 22 1) ' WRITE(NUVI, C251K) (J1I(7-IVI), IVI=1,6) IVINSP = IVINSP + 1 WRITE (NUVI, 70020) 70020 FORMAT (26X,26H +6666 +5555 4444 333 22 1) CT003* TEST 3 - CHARACTER ARRAY ELEMENT AS FORMAT IVTNUM = 3 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) C***** C151K(1) = '(I1,2X,I2)' C151K(3) = '(2X,I3,1X,I4)' C151K(5) = '(I5,T1,I1)' C151K(7) = '(TR4,I2,TL2,I3)' C***** CARDS 2-5 DO 0032 IVI = 1, 7, 2 READ(IRVI, C151K(IVI)) IA1I(IVI), IA1I(IVI+1) 0032 CONTINUE WRITE(NUVI, 70030) IA1I 70030 FORMAT (25X, 8(1X, I5)) IVINSP = IVINSP + 1 WRITE (NUVI, 70031) 70031 FORMAT (1H ,16X,10HCORRECT: ,22X,26H2 CORRECT ANSWERS POSSIBLE) WRITE (NUVI, 70032) 70032 FORMAT(26X, ' 1 45 345 7890 12345 1 56 567'/ 1 26X, ' +1 +45 +345 +7890 12345 +1 +56 +567') C***** C***** TEST ADDITIONAL INTEGER EDITING FEATURES. C***** - IW.M EDITING DESCRIPTOR 13.5.9.1 C***** NOTE THAT IF M IS ZERO AND THE VALUE OF THE INTERNAL C***** DATUM IS ZERO, THE OUTPUT FIELD CONSISTS OF ONLY BLANK C***** CHARACTERS REGARDLESS OF THE SIGN CONTROL IN EFFECT. WRITE(NUVI, 35404) 35404 FORMAT(/8X, 32HINTEGER EDITING AND OUT OF RANGE/) C***** CARD 6 READ(IRVI, 35405) (IA1I(IVI), IVI=1,4) 35405 FORMAT(I6.6, T1, I6.4, TL6, I6.2, TL9, I6.0) CT004* TEST 4 - INTEGER EDITING IVTNUM = 4 WRITE (NUVI, 80004) IVTNUM,REMRKS WRITE (NUVI, 80020) WRITE(NUVI, 70040) (IA1I(IVI), IVI=1,4) 70040 FORMAT(25X, 4(1X, I6)) IVINSP = IVINSP + 1 WRITE (NUVI, 70031) WRITE (NUVI, 70041) 70041 FORMAT(26X, 27H 12345 12345 12345 12345/ 1 26X, 27H+12345 +12345 +12345 +12345) CT005* TEST 5 - OUT OF RANGE IVTNUM = 5 WRITE (NUVI, 80004) IVTNUM WRITE (NUVI, 80020) JVI = 0 IVI = 12 WRITE (NUVI, 70050) -IVI, IVI, IVI, IVI, IVI, JVI, JVI, JVI 70050 FORMAT (26X, SS, I5.5, S, 1X, I5.5, SS, 1X, I5.3, 1X, I5.1, 1 1X, I5.0, 1X, 1H(, I5.0, 1H), S, 1X, 1H(, I5.0, 1H), 2 SP, 1X, 1H(, I5.0, 1H)) IVINSP = IVINSP + 1 WRITE (NUVI, 80022) WRITE (NUVI, 70051) 70051 FORMAT (26X, 45H***** 00012 012 12 12 ( ) ( ), 1 8H ( )) C ADVANCE TO TOP-OF PAGE AND WRITE HEADERS WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** C***** TEST ADDITIONAL DOUBLE PRECISION EDITING FEATURES. 13.5.9.2 C***** - D.P. MAY BE READ, WRITTEN WITH F AND E 13.5.9.2.1 C***** EDIT DESCRIPTOR. 13.5.9.2.2 C***** (D AND G FORMATS ARE TEST IN INTERNAL FILE SEGMENTS C***** 392 AND 393.) C***** - FIELD WIDTH TOO SMALL ON F 13.5.9(4) C***** - EXPONENT WIDTH TOO SMALL ON EW.DE(E) 13.5.9(4) C***** - IF SP AND FIELD TOO SMALL, THE PLUS IS NOT 13.5.9(5) C***** OPTIONAL WRITE(NUVI, 35408) 35408 FORMAT(/8X,41HDOUBLE PRECISION EDITING AND OUT OF RANGE/) C***** CARD 7 READ(IRVI, 35409) B4D 35409 FORMAT(1X, 2F5.2, F10.2, F10.5, TL40, 1X, 2E5.2, E10.2, E10.5E5) CT006* TEST 6 - DOUBLE PRECISION EDITING AND OUT OF RANGE IVTNUM = 6 REMRKS = '2 COMPUTED LINES EXPECTED' WRITE (NUVI, 80004) IVTNUM,REMRKS WRITE (NUVI, 80020) B4D(2,1,2,2) = (B4D(2,1,2,2) * 10) ** 12 WRITE(NUVI, 70060) B4D 70060 FORMAT(26X, SP, F6.2, SS, 1X, F5.4, 1X, F6.3, 1X, F6.4, 1 /26X,2P,E6.1,0P,2(5X,E10.5),5X,E9.5E1) IVINSP = IVINSP + 1 WRITE (NUVI, 70061) 70061 FORMAT(/1H ,16X,10HCORRECT: ,22X,31HCORRESPONDING LINES MUST 1 MATCH ,/1H ,48X,31HEITHER OF THE FOLLOWING TWO , 2 /1H ,48X,31HCORRECT ANSWERS ) WRITE (NUVI, 70062) 70062 FORMAT(26X,26H****** ***** 12.345 1.2345/26X, 1 50H****** .12350E+03 .12345E+02 *********/ 2 /26X,26H****** ***** 12.345 1.2345/26X, 3 50H****** .12350+003 .12345+002 *********) C***** C***** TEST ADDITIONAL COMPLEX EDITING FEATURES. 13.5.9.2.4 C***** - FIELD WIDTH TOO SMALL ON F 13.5.9(4) C***** - EXPONENT WIDTH TOO SMALL ON EW.DE(E) 13.5.9(4) WRITE(NUVI, 35411) 35411 FORMAT(/8X, 32HCOMPLEX EDITING AND OUT OF RANGE/) CT007* TEST 7 - COMPLEX EDITING AND OUT OF RANGE IVTNUM = 7 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) AVC = (25.25, 75.75) BVC = (0.25E+10, 0.75E+10) WRITE(NUVI, 70070) AVC, AVC, BVC, BVC 70070 FORMAT (26X, F7.2, 3X, F6.2, 3X, F5.2, 3X, F4.2, 1 /26X, E8.2E3, 3X, E7.2E2, 2(4X, E6.2E1)) IVINSP = IVINSP + 1 WRITE (NUVI, 70061) WRITE (NUVI, 70071) 70071 FORMAT (26X, 31H 25.25 75.75 25.25 ****/ 1 25X, 39H .25E+010 .75E+10 ****** ******// 2 26X, 31H +25.25 +75.75 25.25 ****/ 3 25X, 39H .25E+010 .75E+10 ****** ******) C***** C***** - TEST BZ, BN EDIT DESCRIPTORS 13.5.8 C***** - TEST T, TL, TR EDIT DESCRIPTORS 13.5.3.1 WRITE(NUVI, 35414) 35414 FORMAT(/8X,36HBZ, BN, T, TL AND TR EDIT DESCRIPTOR/) CT008* TEST 8 - BZ, BN, T, TL, AND TR EDIT DESCRIPTOR IVTNUM = 8 REMRKS = 'LEADING PLUS SIGN OPTIONAL' WRITE (NUVI, 80004) IVTNUM,REMRKS WRITE (NUVI, 80020) C***** CARD 8 READ(IRVI, 70080) AVD, B4D(2,1,1,2), A2C(1,1), AVC 70080 FORMAT(BN, D5.2, BZ, D5.2, TL40, 2F5.2, T1, TR1, TL1, BN, 2F5.1) WRITE(NUVI, 70081) AVD, B4D(2,1,1,2), A2C(1,1), AVC 70081 FORMAT (25X, 2F6.2, (((4(1X, F6.2))))) IVINSP = IVINSP + 1 WRITE (NUVI, 70031) WRITE (NUVI, 70082) 70082 FORMAT(25X, TR26, 14H 123.40 567.80, T25, 13H 12.34506.78, 1 1X, 13H120.34 506.78// 2 25X, TR26, 14H 123.40 567.80, T25, 13H +12.34506.78, 3 1X, 13H120.34 506.78) C***** C***** PASS A CHARACTER CONSTANT, WHICH IS A LEGITIMATE FORMAT C***** SPECIFIER TO A SUBROUTINE. WRITE(NUVI, 35417) 35417 FORMAT(/8X,15HSUBROUTINE CALL/) CT009* TEST 9 - SUBROUTINE CALL IVTNUM = 9 WRITE (NUVI, 80004) IVTNUM,REMRKS C***** CARD 9 A11VK = '(I5, 6(I5))' CALL SN904(A11VK, IRVI, NUVI) IVINSP = IVINSP + 1 C***** C ADVANCE TO TOP-OF PAGE AND WRITE HEADERS WRITE (NUVI, 90002) WRITE (NUVI, 90013) WRITE (NUVI, 90014) C***** C***** - TEST SS AND SP EDIT DESCRIPTORS. 13.5.6 C***** - TEST ALSO THAT A FORMAT SPECIFICATION MAY BE 13.1.2 C***** ALTERED BY A CHARACTER SUBSTRING SUBSTITUTION. 5.7 WRITE(NUVI, 35419) 35419 FORMAT(/8X,25HSS AND SP EDIT DESCRIPTOR/) CT010* TEST 10 - SS AND SP EDIT DESCRIPTORS IVTNUM = 10 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) IVI = 12345 AVS = 25.25 A1D(2) = 5.5D0 A2C(2,1) = (3.0, 4.0) A52VK = '(26X,SP,F5.1,SS,2X,F4.1,SP,(T40,I6,2X,F6.2,SS,F6.1))' WRITE(NUVI, A52VK) A2C(2,1), IVI, AVS, A1D(2), IVI, AVS, A1D(2) IVINSP = IVINSP + 1 WRITE (NUVI, 70101) 70101 FORMAT(/1H ,16X,10HCORRECT: ,22X,31HCORRESPONDING LINES MUST 1 MATCH ) WRITE (NUVI, 70102) 70102 FORMAT(26X,' +3.0 4.0 +12345 +25.25 5.5' 1 /T40,' 12345 25.25 5.5') CT011* TEST 11 - FORMAT ALTERED BY CHARACTER SUBSTRING SUBSTITUTION IVTNUM = 11 WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) A52VK(7:7) = 'S' A52VK(14:15) = 'SP' A52VK(26:26) = 'S' A52VK(45:45) = 'P' WRITE(NUVI, A52VK) A2C(2,1), IVI, AVS, A1D(2), IVI, AVS, A1D(2) IVINSP = IVINSP + 1 WRITE (NUVI, 70101) WRITE (NUVI, 70111) 70111 FORMAT (26X,' 3.0 +4.0 12345 25.25 +5.5' 1 /T40,'+12345 +25.25 +5.5') C***** C***** TEST A COLON EDIT DESCRIPTOR FOLLOWED BY A H-EDIT 13.5.5 C***** DESCRIPTOR TO SHOW THAT THE COLON EDIT DESCRIPTOR C***** TERMINATED IF THERE ARE NO MORE ITEMS IN THE INPUT/OUTPUT LIST WRITE(NUVI, 35422) 35422 FORMAT(/8X,'COLON EDIT DESCRIPTOR'/) CT012* TEST 12 IVTNUM = 12 REMRKS = '2 COMPUTED LINES EXPECTED' WRITE (NUVI, 80004) IVTNUM, REMRKS WRITE (NUVI, 80020) A32VK = 'AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH' WRITE(NUVI, 70120) A32VK, A32VK 70120 FORMAT(26X, A32, :, 'IIIIJJJJ') IVINSP = IVINSP + 1 WRITE (NUVI, 70101) WRITE (NUVI, 70121) 70121 FORMAT(26X, 'AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJ', 1 /26X, 'AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH') C***** C***** TEST THAT FW.D, EW.DE(E) AND GW.DE(E) MAY HAVE MORE DIGITS ON C***** INPUT THAN THE PROCESSOR CAN HANDLE FOR D.P. AND COMPLEX CT013* TEST 13 - LARGE FORMAT SIZE FOR D.P. AND COMPLEX IVTNUM = 13 WRITE (NUVI, 70131) IVTNUM 70131 FORMAT (/1H ,2X,I3,4X,7HINSPECT,32X, 1 'TEST SUCCESSFUL IF PROCESSOR IS '/1H ,48X, 2 'ABLE TO READ INPUT CARDS 10-14 '/1H ,48X, 3 'UNDER F, E, AND G FORMATS WHICH '/1H ,48X, 4 'HAVE MORE DIGITS THAN THE '/1H ,48X, 5 'PROCESSOR CAN HANDLE FOR D. P. '/1H ,48X, 6 'AND COMPLEX') IVINSP = IVINSP + 1 C***** CARDS 10-14 READ(IRVI, 70130) B4D(1,1,1,1), AVD, AVC, A2C(2,2), BVC, 1 (B4D(1,1,IVI,1),IVI=1,2), A1D(1), A2C(1,2), CVC 70130 FORMAT(2F28.14, /2(E14.7E2, G14.14E1), /G14.0E3, E14.14E3, 1 E28.0E1, /2G28.14E2, /2(F14.0, F14.14) ) 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** ********************** 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 354 STOP END C*********************************************************************** C***** FORTRAN 77 C***** FM904 SN904 - (790) C***** THIS SUBROUTINE IS CALLED BY FM903 C*********************************************************************** C***** GENERAL PURPOSE ANS REFS C***** THIS SUBROUTINE IS CALLED BY IOFMTF (354) C***** IT IS USED PRIMARILY TO TEST THAT A CHARACTER 13.1.2 C***** CONSTANT MAY BE PASSED AS A PARAMETER TO A 15.6.2.3 C***** SUBROUTINE AND USED AS A FORMAT. C***** IT ALSO TESTS THAT A FORMAT MAY BE DEFINED IN A 9.4 C***** DATA STATEMENT. C***** RESTRICTIONS OBSERVED C***** SEE SEGMENT 354 C***** SUBROUTINE SN904(A0WVK, IRWVI, NUWVI) C***** C***** S P E C I F I C A T I O N S SEGMENT 790 C***** CHARACTER*(*) A0WVK CHARACTER*130 A130VK INTEGER I1I(5) C***** C***** TESTS THAT C***** - A FORMAT SPECIFIER MAY BE PASSED AS A CHARACTER 13.1.2 C***** CONSTANT TO A SUBROUTINE. 15.6.2.3 C***** - A FORMAT SPECIFIER MAY BE DEFINED IN A DATA 13.1.2 C***** STATEMENT. 9.4 C***** - AN INPUT LIST MAY CONTAIN AN INTEGER THAT IS USED 12.8.2.3 C***** AS A SUBSCRIPT IN AN IMPLIED DO-LIST. C***** - AN OUTPUT LIST MAY CONTAIN AN EXPRESSION WITH AN 12.8.2.2 C***** INTRINISC FUNCTION. 15.3 C***** DATA A130VK/'(16X,10HCOMPUTED: /26X, 3I5/16X,10HCORRECT: ,22X, 1''2 CORRECT ANSWERS POSSIBLE''/26X,'' 1111 3333-5555''/26X,''+1111 2+3333-5555'')'/ READ(IRWVI, A0WVK) IVI, (I1I(JVI),JVI=1,IVI) WRITE(NUWVI, A130VK) IABS(I1I(1)), MAX0(I1I(2),I1I(5)), I1I(3) C***** RETURN END