PROGRAM FM201 C C C THIS ROUTINE VERIFIES THAT C C (1) THE VALUE OF A SIGNED ZERO IS THE SAME AS THE VALUE OF C AN UNSIGNED ZERO FOR INTEGER AND REAL VARIABLES. C C (2) A BASIC REAL CONSTANT MAY BE WRITTEN WITH MORE DIGITS C THAN A PROCESSOR WILL USE TO APPROXIMATE THE VALUE OF C THE CONSTANT. C C (3) AN IMPLICIT STATEMENT CAN BE USED TO CHANGE THE DEFAULT C IMPLICIT INTEGER AND REAL TYPING. C C (4) THE IMPLICIT INTEGER AND REAL TYPING OF AN IMPLICIT C STATEMENT MAY BE OVERRIDDEN BY THE APPEARANCE OF A C VARIABLE NAME IN A TYPE-STATEMENT. C C REFERENCES C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, C X3.9-1978 C C SECTION 4.1.3, DATA TYPE PROPERTIES C SECTION 4.4.1, BASIC REAL CONSTANT C SECTION 6.1.5, INTEGER DIVISION C SECTION 8.4, TYPE-STATEMENTS C SECTION 8.5, IMPLICIT STATEMENT C C C ****************************************************************** C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING C THE RESULT OF EXECUTING THESE TESTS. C C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES C FOUND IN THE SUBSET LEVEL OF THE STANDARD. C C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO C DEPARTMENT OF THE NAVY C FEDERAL COBOL COMPILER TESTING SERVICE C WASHINGTON, D.C. 20376 C C ****************************************************************** C C IMPLICIT LOGICAL (L) IMPLICIT CHARACTER*14 (C) C IMPLICIT INTEGER (Y, V-X), REAL (M) REAL RVTN01, RVTN02, RVTN03, YVTN02 INTEGER IVTN01, IVTN02, MVTN02 C THE ABOVE THREE STATEMENTS ARE REFERENCED IN TESTS 29 THRU 35. C C C C INITIALIZATION SECTION. C C INITIALIZE CONSTANTS C ******************** C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER I01 = 5 C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER I02 = 6 C SYSTEM ENVIRONMENT SECTION C CX010 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-010 CONTROL CARD. C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 C (UNIT NUMBER FOR CARD READER). CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. C CX020 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-020 CONTROL CARD. C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 C (UNIT NUMBER FOR PRINTER). CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. C IVPASS = 0 IVFAIL = 0 IVDELE = 0 ICZERO = 0 C C WRITE OUT PAGE HEADERS C WRITE (I02,90002) WRITE (I02,90006) WRITE (I02,90008) WRITE (I02,90004) WRITE (I02,90010) WRITE (I02,90004) WRITE (I02,90016) WRITE (I02,90001) WRITE (I02,90004) WRITE (I02,90012) WRITE (I02,90014) WRITE (I02,90004) C C C TEST 14 THROUGH TEST 17 COMPARE INTEGER VARIABLES WHICH ARE C SET TO SIGNED ZERO AND UNSIGNED ZERO VALUES BY THE FOLLOWING C STATEMENTS C IVON01 = 0 IVON02 = -0 IVON03 = +0 C C REFERENCE X3.9-1978, SECTION 4.1.3, DATA TYPE PROPERTIES C C **** FCVS PROGRAM 201 - TEST 014 **** C C COMPARE 0 TO -0 C IVTNUM = 14 IF (ICZERO) 30140, 0140, 30140 0140 CONTINUE IVCOMP = 1 IVCORR = 0 IF (IVON01 .EQ. IVON02) IVCOMP = 0 40140 IF (IVCOMP) 20140, 10140, 20140 30140 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10140, 0151, 20140 10140 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0151 20140 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0151 CONTINUE C C **** FCVS PROGRAM 201 - TEST 015 **** C C COMPARE 0 TO +0 C IVTNUM = 15 IF (ICZERO) 30150, 0150, 30150 0150 CONTINUE IVCOMP = 1 IVCORR = 0 IF (IVON01 .EQ. IVON03) IVCOMP = 0 40150 IF (IVCOMP) 20150, 10150, 20150 30150 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10150, 0161, 20150 10150 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0161 20150 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0161 CONTINUE C C **** FCVS PROGRAM 201 - TEST 016 **** C C COMPARE -0 TO +0 C IVTNUM = 16 IF (ICZERO) 30160, 0160, 30160 0160 CONTINUE IVCOMP = 1 IVCORR = 0 IF (IVON02 .EQ. IVON03) IVCOMP = 0 40160 IF (IVCOMP) 20160, 10160, 20160 30160 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10160, 0171, 20160 10160 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0171 20160 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0171 CONTINUE C C **** FCVS PROGRAM 201 - TEST 017 **** C C MINUS ZERO (-0) SHOULD NOT BE LESS THAN PLUS ZERO (+0) C IVTNUM = 17 IF (ICZERO) 30170, 0170, 30170 0170 CONTINUE IVCOMP = 1 IVCORR = 0 IF (IVON02 .LT. IVON03) GO TO 20170 IVCOMP = 0 GO TO 10170 30170 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10170, 0181, 20170 10170 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0181 20170 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0181 CONTINUE C C TEST 18 THROUGH TEST 24 COMPARE REAL VARIABLES WHICH ARE SET C TO SIGNED ZERO AND UNSIGNED ZERO VALUES BY THE FOLLOWING C STATEMENTS C RVON01 = 0.0 RVON02 = -0.0 RVON03 = +0.0 RVON04 = -0.0E+01 RVON05 = -0E+10 C C REFERENCE X3.9-1978, SECTION 4.1.3, DATA TYPE PROPERTIES C C **** FCVS PROGRAM 201 - TEST 018 **** C C COMPARE 0.0 TO -0.0 C IVTNUM = 18 IF (ICZERO) 30180, 0180, 30180 0180 CONTINUE IVCOMP = 1 IVCORR = 0 IF (RVON01 .EQ. RVON02) IVCOMP = 0 40180 IF (IVCOMP) 20180, 10180, 20180 30180 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10180, 0191, 20180 10180 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0191 20180 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0191 CONTINUE C C **** FCVS PROGRAM 201 - TEST 019 **** C C COMPARE 0.0 TO +0.0 C IVTNUM = 19 IF (ICZERO) 30190, 0190, 30190 0190 CONTINUE IVCOMP = 1 IVCORR = 0 IF (RVON01 .EQ. RVON03) IVCOMP = 0 40190 IF (IVCOMP) 20190, 10190, 20190 30190 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10190, 0201, 20190 10190 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0201 20190 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0201 CONTINUE C C **** FCVS PROGRAM 201 - TEST 020 **** C C COMPARE -0.0 TO +0.0 C IVTNUM = 20 IF (ICZERO) 30200, 0200, 30200 0200 CONTINUE IVCOMP = 1 IVCORR = 0 IF (RVON02 .EQ. RVON03) IVCOMP = 0 40200 IF (IVCOMP) 20200, 10200, 20200 30200 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10200, 0211, 20200 10200 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0211 20200 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0211 CONTINUE C C **** FCVS PROGRAM 201 - TEST 021 **** C C MINUS ZERO (-0.0) SHOULD NOT BE LESS THAN PLUS ZERO (+0.0) C IVTNUM = 21 IF (ICZERO) 30210, 0210, 30210 0210 CONTINUE IVCOMP = 1 IVCORR = 0 IF (RVON02 .LT. RVON03) GO TO 20210 IVCOMP = 0 GO TO 10210 30210 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10210, 0221, 20210 10210 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0221 20210 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0221 CONTINUE C C **** FCVS PROGRAM 201 - TEST 022 **** C C COMPARE -0.0E+01 TO 0.0 C IVTNUM = 22 IF (ICZERO) 30220, 0220, 30220 0220 CONTINUE IVCOMP = 1 IVCORR = 0 IF (RVON04 .EQ. RVON01) IVCOMP = 0 40220 IF (IVCOMP) 20220, 10220, 20220 30220 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10220, 0231, 20220 10220 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0231 20220 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0231 CONTINUE C C **** FCVS PROGRAM 201 - TEST 023 **** C C COMPARE -0E+10 TO 0.0 C IVTNUM = 23 IF (ICZERO) 30230, 0230, 30230 0230 CONTINUE IVCOMP = 1 IVCORR = 0 IF (RVON05 .EQ. RVON01) IVCOMP = 0 40230 IF (IVCOMP) 20230, 10230, 20230 30230 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10230, 0241, 20230 10230 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0241 20230 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0241 CONTINUE C C **** FCVS PROGRAM 201 - TEST 024 **** C C COMPARE -0E+10 TO +0.0 C IVTNUM = 24 IF (ICZERO) 30240, 0240, 30240 0240 CONTINUE IVCOMP = 1 IVCORR = 0 IF (RVON05 .NE. RVON03) GO TO 20240 IVCOMP = 0 GO TO 10240 30240 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10240, 0251, 20240 10240 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0251 20240 IVFAIL = IVFAIL + 1 WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 0251 CONTINUE C C TEST 25 THROUGH TEST 28 VERIFY THAT A BASIC REAL CONSTANT MAY C BE WRITTEN WITH MORE DIGITS THAN A PROCESSOR WILL USE TO APPROXI- C MATE THE VALUE OF THE CONSTANT. C C REFERENCE X3.9-1978, SECTION 4.4.1, BASIC REAL CONSTANT C C C **** FCVS PROGRAM 201 - TEST 025 **** C C EIGHT DIGITS IN BASIC REAL CONSTANT C IVTNUM = 25 IF (ICZERO) 30250, 0250, 30250 0250 CONTINUE RVON06 = 0.0 RVCOMP = 0.0 RVON06 = 3.1561234 RVCOMP = RVON06 RVCORR = 3.1561 40250 IF (RVCOMP - 3.1556) 20250, 10250, 40251 40251 IF (RVCOMP - 3.1566) 10250, 10250, 20250 30250 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10250, 0261, 20250 10250 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0261 20250 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0261 CONTINUE C C **** FCVS PROGRAM 201 - TEST 026 **** C C EIGHT DIGITS IN BASIC REAL CONSTANT PLUS A REAL EXPONENT. C IVTNUM = 26 IF (ICZERO) 30260, 0260, 30260 0260 CONTINUE RVON06 = 0.0 RVCOMP = 0.0 RVON06 = .31561234E+01 RVCOMP = RVON06 RVCORR = 3.1561 40260 IF (RVCOMP - 3.1556) 20260, 10260, 40261 40261 IF (RVCOMP - 3.1566) 10260, 10260, 20260 30260 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10260, 0271, 20260 10260 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0271 20260 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0271 CONTINUE C C **** FCVS PROGRAM 201 - TEST 027 **** C C TWELVE DIGITS IN BASIC REAL CONSTANT. C IVTNUM = 27 IF (ICZERO) 30270, 0270, 30270 0270 CONTINUE RVON06 = 0.0 RVCOMP = 0.0 RVON06 = 315612347833 E-11 RVCOMP = RVON06 RVCORR = 3.1561 40270 IF (RVCOMP - 3.1556) 20270, 10270, 40271 40271 IF (RVCOMP - 3.1566) 10270, 10270, 20270 30270 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10270, 0281, 20270 10270 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0281 20270 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0281 CONTINUE C C **** FCVS PROGRAM 201 - TEST 028 **** C C TWENTY-FIVE DIGITS IN BASIC REAL CONSTANT. C IVTNUM = 28 IF (ICZERO) 30280, 0280, 30280 0280 CONTINUE RVON06 = 0.0 RVCOMP = 0.0 RVON06 = 31.56123478334867532834672E-1 RVCOMP = RVON06 RVCORR = 3.1561 40280 IF (RVCOMP - 3.1556) 20280, 10280, 40281 40281 IF (RVCOMP - 3.1566) 10280, 10280, 20280 30280 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10280, 0291, 20280 10280 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0291 20280 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0291 CONTINUE C C TEST 29 THROUGH TEST 33 REFERENCE VARIABLES WHOSE TYPE WAS C SPECIFIED BY AN IMPLICIT STATEMENT. DIVISION IS USED TO VERIFY C THAT THE TYPE IS INTEGER OR REAL. C C REFERENCE X3.9-1978, SECTION 8.5, IMPLICIT STATEMENT C C C **** FCVS PROGRAM 201 - TEST 029 **** C C VERIFY YVIN01 IS AN INTEGER VARIABLE. C IVTNUM = 29 IF (ICZERO) 30290, 0290, 30290 0290 CONTINUE RVCOMP = 10.0 YVIN01 = 4.0 RVCOMP = YVIN01/5 RVCORR = 0.0 40290 IF (RVCOMP) 20290, 10290, 20290 30290 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10290, 0301, 20290 10290 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0301 20290 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0301 CONTINUE C C **** FCVS PROGRAM 201 - TEST 030 **** C C VERIFY VVIN01 IS AN INTEGER VARIABLE C IVTNUM = 30 IF (ICZERO) 30300, 0300, 30300 0300 CONTINUE RVCOMP = 10.0 VVIN01 = 4.0 RVCOMP = VVIN01/5 RVCORR = 0.0 40300 IF (RVCOMP) 20300, 10300, 20300 30300 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10300, 0311, 20300 10300 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0311 20300 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0311 CONTINUE C C **** FCVS PROGRAM 201 - TEST 031 **** C C VERIFY WVIN01 IS AN INTEGER VARIABLE. C IVTNUM = 31 IF (ICZERO) 30310, 0310, 30310 0310 CONTINUE RVCOMP = 10.0 WVIN01 = 4.0 RVCOMP = WVIN01/5 RVCORR = 0.0 40310 IF (RVCOMP) 20310, 10310, 20310 30310 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10310, 0321, 20310 10310 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0321 20310 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0321 CONTINUE C C **** FCVS PROGRAM 201 - TEST 032 **** C C VERIFY XVIN01 IS AN INTEGER VARIABLE. C IVTNUM = 32 IF (ICZERO) 30320, 0320, 30320 0320 CONTINUE XVIN01 = 4 RVCOMP = 10.0 RVCOMP = XVIN01/5 RVCORR = 0.0 40320 IF (RVCOMP) 20320, 10320, 20320 30320 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10320, 0331, 20320 10320 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0331 20320 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0331 CONTINUE C C **** FCVS PROGRAM 201 - TEST 033 **** C C VERIFY MVIN01 IS A REAL VARIABLE. C IVTNUM = 33 IF (ICZERO) 30330, 0330, 30330 0330 CONTINUE RVCOMP = 10.0 MVIN01 = 4 RVCOMP = MVIN01/5 RVCORR = 0.8 40330 IF (RVCOMP - 0.79995) 20330, 10330, 40331 40331 IF (RVCOMP - 0.80005) 10330, 10330, 20330 30330 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10330, 0341, 20330 10330 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0341 20330 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0341 CONTINUE C C TEST 34 AND TEST 35 VERIFY THAT THE IMPLICIT TYPE SPECIFICA- C TION FOR A VARIABLE IS OVERRIDDEN BY THE APPEARANCE OF THAT C VARIABLE NAME IN A TYPE-STATEMENT. C C REFERENCE X3.9-1977, SECTION 8.4, TYPE-STATEMENTS C SECTION 8.5, IMPLICIT STATEMENT C C C **** FCVS PROGRAM 201 - TEST 034 **** C C VERIFY YVTN02 IS A REAL VARIABLE. C IVTNUM = 34 IF (ICZERO) 30340, 0340, 30340 0340 CONTINUE RVCOMP = 10.0 YVTN02 = 4 RVCOMP = YVTN02/5 RVCORR = 0.8 40340 IF (RVCOMP - 0.79995) 20340, 10340, 40341 40341 IF (RVCOMP - 0.80005) 10340, 10340, 20340 30340 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10340, 0351, 20340 10340 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0351 20340 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0351 CONTINUE C C **** FCVS PROGRAM 201 - TEST 035 **** C C VERIFY MVTN02 IS AN INTEGER VARIABLE. C IVTNUM = 35 IF (ICZERO) 30350, 0350, 30350 0350 CONTINUE RVCOMP = 10.0 MVTN02 = 4.0 RVCOMP = MVTN02/5 RVCORR = 0.0 40350 IF (RVCOMP) 20350, 10350, 20350 30350 IVDELE = IVDELE + 1 WRITE (I02,80000) IVTNUM IF (ICZERO) 10350, 0361, 20350 10350 IVPASS = IVPASS + 1 WRITE (I02,80002) IVTNUM GO TO 0361 20350 IVFAIL = IVFAIL + 1 WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 0361 CONTINUE C C C WRITE OUT TEST SUMMARY C WRITE (I02,90004) WRITE (I02,90014) WRITE (I02,90004) WRITE (I02,90000) WRITE (I02,90004) WRITE (I02,90020) IVFAIL WRITE (I02,90022) IVPASS WRITE (I02,90024) IVDELE STOP 90001 FORMAT (1H ,24X,5HFM201) 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM201) C C FORMATS FOR TEST DETAIL LINES C 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) C C FORMAT STATEMENTS FOR PAGE HEADERS C 90002 FORMAT (1H1) 90004 FORMAT (1H ) 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 90008 FORMAT (1H ,21X,11HVERSION 1.0) 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 90014 FORMAT (1H ,5X,46H----------------------------------------------) 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) C C FORMAT STATEMENTS FOR RUN SUMMARY C 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) END