C COMMENT SECTION C C FM044 C C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENTS OF THE FORM C INTEGER VAR. = INTEGER VAR. INTEGER VAR. INTEGER VAR. C C WHERE AND ARE ARITHMETIC OPERATORS. C C REFERENCES C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, C X3.9-1978 C C SECTION 4.3, INTEGER TYPE C SECTION 4.3.1, INTEGER CONSTANT C SECTION 6.1, ARITHMETIC EXPRESSIONS C SECTION 6.6, EVALUATION OF EXPRESSIONS C SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENT C C C ********************************************************** C C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT C OF EXECUTING THESE TESTS. C C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. C C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - C C DEPARTMENT OF THE NAVY C FEDERAL COBOL COMPILER TESTING SERVICE C WASHINGTON, D.C. 20376 C C ********************************************************** 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 REPLACED 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 REPLACED 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 PAGE HEADERS WRITE (I02,90000) WRITE (I02,90001) WRITE (I02,90002) WRITE (I02, 90002) WRITE (I02,90003) WRITE (I02,90002) WRITE (I02,90004) WRITE (I02,90002) WRITE (I02,90011) WRITE (I02,90002) WRITE (I02,90002) WRITE (I02,90005) WRITE (I02,90006) WRITE (I02,90002) C C TEST SECTION C C ARITHMETIC ASSIGNMENT STATEMENT C C TESTS 719 THROUGH 730 TEST STATEMENTS WHERE IS '/' AND C VARIES. C C TESTS 731 THROUGH 746 TEST STATEMENTS WHERE IS '**' AND C VARIES. C C C TEST 719 THROUGH 721 TEST '/' FOLLOWED BY '+'. C IVTNUM = 719 C C **** TEST 719 **** C IF (ICZERO) 37190, 7190, 37190 7190 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 / IVON02 + IVON03 GO TO 47190 37190 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47190, 7201, 47190 47190 IF (IVCOMP - 15) 27190,17190,27190 17190 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7201 27190 IVFAIL = IVFAIL + 1 IVCORR = 15 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7201 CONTINUE IVTNUM = 720 C C **** TEST 720 **** C IF (ICZERO) 37200, 7200, 37200 7200 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 / IVON02) + IVON03 GO TO 47200 37200 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47200, 7211, 47200 47200 IF (IVCOMP - 15) 27200,17200,27200 17200 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7211 27200 IVFAIL = IVFAIL + 1 IVCORR = 15 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7211 CONTINUE IVTNUM = 721 C C **** TEST 721 **** C IF (ICZERO) 37210, 7210, 37210 7210 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 / (IVON02 + IVON03) GO TO 47210 37210 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47210, 7221, 47210 47210 IF (IVCOMP - 9) 27210,17210,27210 17210 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7221 27210 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7221 CONTINUE C C TEST 722 THROUGH 724 TEST '/' FOLLOWED BY '-'. C IVTNUM = 722 C C **** TEST 722 **** C IF (ICZERO) 37220, 7220, 37220 7220 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 / IVON02 - IVON03 GO TO 47220 37220 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47220, 7231, 47220 47220 IF (IVCOMP - 9) 27220,17220,27220 17220 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7231 27220 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7231 CONTINUE IVTNUM = 723 C C **** TEST 723 **** C IF (ICZERO) 37230, 7230, 37230 7230 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 / IVON02) - IVON03 GO TO 47230 37230 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47230, 7241, 47230 47230 IF (IVCOMP - 9) 27230,17230,27230 17230 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7241 27230 IVFAIL = IVFAIL + 1 IVCORR = 9 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7241 CONTINUE IVTNUM = 724 C C **** TEST 724 **** C IF (ICZERO) 37240, 7240, 37240 7240 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 / (IVON02 - IVON03) GO TO 47240 37240 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47240, 7251, 47240 47240 IF (IVCOMP - 18) 27240,17240,27240 17240 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7251 27240 IVFAIL = IVFAIL + 1 IVCORR = 18 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7251 CONTINUE C C TEST 725 THROUGH 727 TEST '/' FOLLOWED BY '*'. C IVTNUM = 725 C C **** TEST 725 **** C IF (ICZERO) 37250, 7250, 37250 7250 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 / IVON02 * IVON03 GO TO 47250 37250 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47250, 7261, 47250 47250 IF (IVCOMP - 36) 27250,17250,27250 17250 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7261 27250 IVFAIL = IVFAIL + 1 IVCORR = 36 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7261 CONTINUE IVTNUM = 726 C C **** TEST 726 **** C IF (ICZERO) 37260, 7260, 37260 7260 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 / IVON02) * IVON03 GO TO 47260 37260 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47260, 7271, 47260 47260 IF (IVCOMP - 36) 27260,17260,27260 17260 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7271 27260 IVFAIL = IVFAIL + 1 IVCORR = 36 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7271 CONTINUE IVTNUM = 727 C C **** TEST 727 **** C IF (ICZERO) 37270, 7270, 37270 7270 CONTINUE IVON01 = 108 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 / (IVON02 * IVON03) GO TO 47270 37270 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47270, 7281, 47270 47270 IF (IVCOMP - 4) 27270,17270,27270 17270 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7281 27270 IVFAIL = IVFAIL + 1 IVCORR = 4 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7281 CONTINUE C C TEST 728 THROUGH 730 TEST '/' FOLLOWED BY '**'. C IVTNUM = 728 C C **** TEST 728 **** C IF (ICZERO) 37280, 7280, 37280 7280 CONTINUE IVON01 = 108 IVON02 = 3 IVON03 = 2 IVCOMP = IVON01 / IVON02 ** IVON03 GO TO 47280 37280 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47280, 7291, 47280 47280 IF (IVCOMP - 12) 27280,17280,27280 17280 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7291 27280 IVFAIL = IVFAIL + 1 IVCORR = 12 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7291 CONTINUE IVTNUM = 729 C C **** TEST 729 **** C IF (ICZERO) 37290, 7290, 37290 7290 CONTINUE IVON01 = 108 IVON02 = 3 IVON03 = 2 IVCOMP = (IVON01 / IVON02) ** IVON03 GO TO 47290 37290 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47290, 7301, 47290 47290 IF (IVCOMP - 1296) 27290,17290,27290 17290 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7301 27290 IVFAIL = IVFAIL + 1 IVCORR = 1296 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7301 CONTINUE IVTNUM = 730 C C **** TEST 730 **** C IF (ICZERO) 37300, 7300, 37300 7300 CONTINUE IVON01 = 108 IVON02 = 3 IVON03 = 2 IVCOMP = IVON01 / (IVON02 ** IVON03) GO TO 47300 37300 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47300, 7311, 47300 47300 IF (IVCOMP - 12) 27300,17300,27300 17300 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7311 27300 IVFAIL = IVFAIL + 1 IVCORR = 12 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7311 CONTINUE C C TEST 731 THROUGH 733 TEST '**' FOLLOWED BY '+'. C IVTNUM = 731 C C **** TEST 731 **** C IF (ICZERO) 37310, 7310, 37310 7310 CONTINUE IVON01 = 3 IVON02 = 5 IVON03 = 4 IVCOMP = IVON01 ** IVON02 + IVON03 GO TO 47310 37310 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47310, 7321, 47310 47310 IF (IVCOMP - 247) 27310,17310,27310 17310 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7321 27310 IVFAIL = IVFAIL + 1 IVCORR = 247 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7321 CONTINUE IVTNUM = 732 C C **** TEST 732 **** C IF (ICZERO) 37320, 7320, 37320 7320 CONTINUE IVON01 = 3 IVON02 = 5 IVON03 = 4 IVCOMP = (IVON01 ** IVON02) + IVON03 GO TO 47320 37320 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47320, 7331, 47320 47320 IF (IVCOMP - 247) 27320,17320,27320 17320 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7331 27320 IVFAIL = IVFAIL + 1 IVCORR = 247 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7331 CONTINUE IVTNUM = 733 C C **** TEST 733 **** C IF (ICZERO) 37330, 7330, 37330 7330 CONTINUE IVON01 = 3 IVON02 = 5 IVON03 = 4 IVCOMP = IVON01 ** (IVON02 + IVON03) GO TO 47330 37330 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47330, 7341, 47330 47330 IF (IVCOMP - 19683) 27330,17330,27330 17330 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7341 27330 IVFAIL = IVFAIL + 1 IVCORR = 19683 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7341 CONTINUE C C TEST 734 THROUGH 736 TEST '**' FOLLOWED BY '-'. C IVTNUM = 734 C C **** TEST 734 **** C IF (ICZERO) 37340, 7340, 37340 7340 CONTINUE IVON01 = 3 IVON02 = 7 IVON03 = 4 IVCOMP = IVON01 ** IVON02 - IVON03 GO TO 47340 37340 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47340, 7351, 47340 47340 IF (IVCOMP - 2183) 27340,17340,27340 17340 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7351 27340 IVFAIL = IVFAIL + 1 IVCORR = 2183 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7351 CONTINUE IVTNUM = 735 C C **** TEST 735 **** C IF (ICZERO) 37350, 7350, 37350 7350 CONTINUE IVON01 = 3 IVON02 = 7 IVON03 = 4 IVCOMP = (IVON01 ** IVON02) - IVON03 GO TO 47350 37350 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47350, 7361, 47350 47350 IF (IVCOMP - 2183) 27350,17350,27350 17350 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7361 27350 IVFAIL = IVFAIL + 1 IVCORR = 2183 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7361 CONTINUE IVTNUM = 736 C C **** TEST 736 **** C IF (ICZERO) 37360, 7360, 37360 7360 CONTINUE IVON01 = 3 IVON02 = 7 IVON03 = 4 IVCOMP = IVON01 ** (IVON02 - IVON03) GO TO 47360 37360 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47360, 7371, 47360 47360 IF (IVCOMP - 27) 27360,17360,27360 17360 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7371 27360 IVFAIL = IVFAIL + 1 IVCORR = 27 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7371 CONTINUE C C TEST 737 THROUGH 739 TEST '**' FOLLOWED BY '*'. C IVTNUM = 737 C C **** TEST 737 **** C IF (ICZERO) 37370, 7370, 37370 7370 CONTINUE IVON01 = 3 IVON02 = 3 IVON03 = 3 IVCOMP = IVON01 ** IVON02 * IVON03 GO TO 47370 37370 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47370, 7381, 47370 47370 IF (IVCOMP - 81) 27370,17370,27370 17370 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7381 27370 IVFAIL = IVFAIL + 1 IVCORR = 81 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7381 CONTINUE IVTNUM = 738 C C **** TEST 738 **** C IF (ICZERO) 37380, 7380, 37380 7380 CONTINUE IVON01 = 3 IVON02 = 3 IVON03 = 3 IVCOMP = (IVON01 ** IVON02) * IVON03 GO TO 47380 37380 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47380, 7391, 47380 47380 IF (IVCOMP - 81) 27380,17380,27380 17380 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7391 27380 IVFAIL = IVFAIL + 1 IVCORR = 81 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7391 CONTINUE IVTNUM = 739 C C **** TEST 739 **** C IF (ICZERO) 37390, 7390, 37390 7390 CONTINUE IVON01 = 3 IVON02 = 3 IVON03 = 3 IVCOMP = IVON01 ** (IVON02 * IVON03) GO TO 47390 37390 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47390, 7401, 47390 47390 IF (IVCOMP - 19683) 27390,17390,27390 17390 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7401 27390 IVFAIL = IVFAIL + 1 IVCORR = 19683 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7401 CONTINUE C C TEST 740 THROUGH 742 TEST '**' FOLLOWED BY '/'. C IVTNUM = 740 C C **** TEST 740 **** C IF (ICZERO) 37400, 7400, 37400 7400 CONTINUE IVON01 = 3 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 ** IVON02 / IVON03 GO TO 47400 37400 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47400, 7411, 47400 47400 IF (IVCOMP - 6561) 27400,17400,27400 17400 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7411 27400 IVFAIL = IVFAIL + 1 IVCORR = 6561 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7411 CONTINUE IVTNUM = 741 C C **** TEST 741 **** C IF (ICZERO) 37410, 7410, 37410 7410 CONTINUE IVON01 = 3 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 ** IVON02) / IVON03 GO TO 47410 37410 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47410, 7421, 47410 47410 IF (IVCOMP - 6561) 27410,17410,27410 17410 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7421 27410 IVFAIL = IVFAIL + 1 IVCORR = 6561 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7421 CONTINUE IVTNUM = 742 C **** TEST 742 **** C IF (ICZERO) 37420, 7420, 37420 7420 CONTINUE IVON01 = 3 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 ** (IVON02 / IVON03) GO TO 47420 37420 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47420, 7431, 47420 47420 IF (IVCOMP - 27) 27420,17420,27420 17420 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7431 27420 IVFAIL = IVFAIL + 1 IVCORR = 27 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7431 CONTINUE C C TEST 743 THROUGH 746 TEST '**' FOLLOWED BY '**'. C IVTNUM = 743 C C **** TEST 743 **** C IF (ICZERO) 37430, 7430, 37430 7430 CONTINUE IVON01 = 3 IVON02 = 3 IVON03 = 2 IVCOMP = (IVON01 ** IVON02) ** IVON03 GO TO 47430 37430 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47430, 7441, 47430 47430 IF (IVCOMP - 729) 27430,17430,27430 17430 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7441 27430 IVFAIL = IVFAIL + 1 IVCORR = 729 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7441 CONTINUE IVTNUM = 744 C C **** TEST 744 **** C IF (ICZERO) 37440, 7440, 37440 7440 CONTINUE IVON01 = 3 IVON02 = 3 IVON03 = 2 IVCOMP = IVON01 ** (IVON02 ** IVON03) GO TO 47440 37440 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47440, 7451, 47440 47440 IF (IVCOMP - 19683) 27440,17440,27440 17440 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7451 27440 IVFAIL = IVFAIL + 1 IVCORR = 19683 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7451 CONTINUE IVTNUM = 745 C C **** TEST 745 **** C IF (ICZERO) 37450, 7450, 37450 7450 CONTINUE IVON01 = -3 IVON02 = 3 IVON03 = 2 IVCOMP = (IVON01 ** IVON02) ** IVON03 GO TO 47450 37450 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47450, 7461, 47450 47450 IF (IVCOMP - 729) 27450,17450,27450 17450 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7461 27450 IVFAIL = IVFAIL + 1 IVCORR = 729 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7461 CONTINUE IVTNUM = 746 C C **** TEST 746 **** C IF (ICZERO) 37460, 7460, 37460 7460 CONTINUE IVON01 = -3 IVON02 = 3 IVON03 = 2 IVCOMP = IVON01 ** (IVON02 ** IVON03) GO TO 47460 37460 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47460, 7471, 47460 47460 IF (IVCOMP + 19683) 27460,17460,27460 17460 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7471 27460 IVFAIL = IVFAIL + 1 IVCORR = -19683 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7471 CONTINUE C C C WRITE PAGE FOOTINGS AND RUN SUMMARIES 99999 CONTINUE WRITE (I02,90002) WRITE (I02,90006) WRITE (I02,90002) WRITE (I02,90002) WRITE (I02,90007) WRITE (I02,90002) WRITE (I02,90008) IVFAIL WRITE (I02,90009) IVPASS WRITE (I02,90010) IVDELE C C C TERMINATE ROUTINE EXECUTION STOP C C FORMAT STATEMENTS FOR PAGE HEADERS 90000 FORMAT (1H1) 90002 FORMAT (1H ) 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 90003 FORMAT (1H ,21X,11HVERSION 1.0) 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 90006 FORMAT (1H ,5X,46H----------------------------------------------) 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) C C FORMAT STATEMENTS FOR RUN SUMMARIES 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) C C FORMAT STATEMENTS FOR TEST RESULTS 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) C 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM044) END