C COMMENT SECTION C C FM043 C C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENTS OF THE FORM C C INTEGER VAR. = INTEGER VAR. INTEGER VAR. INTEGER VAR. C C WHERE AND ARE ARITHMETIC OPERATORS, BUT IS C NOT THE SAME AS . 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 683 THROUGH 694 TEST STATEMENTS WHERE IS '+' AND C VARIES. C C TEST 695 THROUGH 706 TEST STATEMENTS WHERE IS '-' AND C VARIES. C C TESTS 707 THROUGH 718 TEST STATEMENTS WHERE IS '*' AND C VARIES. C C C C TESTS 683 THROUGH 685 TEST '+' FOLLOWED BY '-'. C IVTNUM = 683 C C **** TEST 683 **** C IF (ICZERO) 36830, 6830, 36830 6830 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + IVON02 - IVON03 GO TO 46830 36830 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46830, 6841, 46830 46830 IF (IVCOMP - 51) 26830,16830,26830 16830 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6841 26830 IVFAIL = IVFAIL + 1 IVCORR = 51 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6841 CONTINUE IVTNUM = 684 C C **** TEST 684 **** C IF (ICZERO) 36840, 6840, 36840 6840 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 + IVON02) - IVON03 GO TO 46840 36840 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46840, 6851, 46840 46840 IF (IVCOMP - 51) 26840,16840,26840 16840 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6851 26840 IVFAIL = IVFAIL + 1 IVCORR = 51 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6851 CONTINUE IVTNUM = 685 C C **** TEST 685 **** C IF (ICZERO) 36850, 6850, 36850 6850 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + (IVON02 - IVON03) GO TO 46850 36850 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46850, 6861, 46850 46850 IF (IVCOMP - 51) 26850,16850,26850 16850 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6861 26850 IVFAIL = IVFAIL + 1 IVCORR = 51 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6861 CONTINUE C C TESTS 686 THROUGH 688 TEST '+' FOLLOWED BY '*'. C IVTNUM = 686 C C **** TEST 686 **** C IF (ICZERO) 36860, 6860, 36860 6860 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + IVON02 * IVON03 GO TO 46860 36860 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46860, 6871, 46860 46860 IF (IVCOMP - 72) 26860,16860,26860 16860 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6871 26860 IVFAIL = IVFAIL + 1 IVCORR = 72 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6871 CONTINUE IVTNUM = 687 C C **** TEST 687 **** C IF (ICZERO) 36870, 6870, 36870 6870 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 + IVON02) * IVON03 GO TO 46870 36870 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46870, 6881, 46870 46870 IF (IVCOMP - 162) 26870,16870,26870 16870 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6881 26870 IVFAIL = IVFAIL + 1 IVCORR = 162 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6881 CONTINUE IVTNUM = 688 C C **** TEST 688 **** C IF (ICZERO) 36880, 6880, 36880 6880 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + (IVON02 * IVON03) GO TO 46880 36880 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46880, 6891, 46880 46880 IF (IVCOMP - 72) 26880,16880,26880 16880 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6891 26880 IVFAIL = IVFAIL + 1 IVCORR = 72 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6891 CONTINUE C C TESTS 689 THROUGH 691 TEST '+' FOLLOWED BY '/'. C IVTNUM = 689 C C **** TEST 689 **** C IF (ICZERO) 36890, 6890, 36890 6890 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + IVON02 / IVON03 GO TO 46890 36890 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46890, 6901, 46890 46890 IF (IVCOMP - 48) 26890,16890,26890 16890 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6901 26890 IVFAIL = IVFAIL + 1 IVCORR = 48 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6901 CONTINUE IVTNUM = 690 C C **** TEST 690 **** C IF (ICZERO) 36900, 6900, 36900 6900 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 + IVON02) / IVON03 GO TO 46900 36900 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46900, 6911, 46900 46900 IF (IVCOMP - 18) 26900,16900,26900 16900 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6911 26900 IVFAIL = IVFAIL + 1 IVCORR = 18 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6911 CONTINUE IVTNUM = 691 C C **** TEST 691 **** C IF (ICZERO) 36910, 6910, 36910 6910 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + (IVON02 / IVON03) GO TO 46910 36910 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46910, 6921, 46910 46910 IF (IVCOMP - 48) 26910,16910,26910 16910 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6921 26910 IVFAIL = IVFAIL + 1 IVCORR = 48 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6921 CONTINUE C C TESTS 692 THROUGH 694 TEST '+' FOLLOWED BY '**'. C IVTNUM = 692 C C **** TEST 692 **** C IF (ICZERO) 36920, 6920, 36920 6920 CONTINUE IVON01 = 15 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + IVON02 ** IVON03 GO TO 46920 36920 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46920, 6931, 46920 46920 IF (IVCOMP - 744) 26920,16920,26920 16920 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6931 26920 IVFAIL = IVFAIL + 1 IVCORR = 744 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6931 CONTINUE IVTNUM = 693 C C **** TEST 693 **** C IF (ICZERO) 36930, 6930, 36930 6930 CONTINUE IVON01 = 15 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 + IVON02) ** IVON03 GO TO 46930 36930 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46930, 6941, 46930 46930 IF (IVCOMP - 13824) 26930,16930,26930 16930 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6941 26930 IVFAIL = IVFAIL + 1 IVCORR = 13824 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6941 CONTINUE IVTNUM = 694 C C **** TEST 694 **** C IF (ICZERO) 36940, 6940, 36940 6940 CONTINUE IVON01 = 15 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 + (IVON02 ** IVON03) GO TO 46940 36940 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46940, 6951, 46940 46940 IF (IVCOMP - 744) 26940,16940,26940 16940 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6951 26940 IVFAIL = IVFAIL + 1 IVCORR = 744 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6951 CONTINUE C C TESTS 695 THROUGH 697 TEST '-' FOLLOWED BY '+'. C IVTNUM = 695 C C **** TEST 695 **** C IF (ICZERO) 36950, 6950, 36950 6950 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - IVON02 + IVON03 GO TO 46950 36950 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46950, 6961, 46950 46950 IF (IVCOMP - 39) 26950,16950,26950 16950 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6961 26950 IVFAIL = IVFAIL + 1 IVCORR = 39 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6961 CONTINUE IVTNUM = 696 C C **** TEST 696 **** C IF (ICZERO) 36960, 6960, 36960 6960 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 - IVON02) + IVON03 GO TO 46960 36960 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46960, 6971, 46960 46960 IF (IVCOMP - 39) 26960,16960,26960 16960 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6971 26960 IVFAIL = IVFAIL + 1 IVCORR = 39 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6971 CONTINUE IVTNUM = 697 C C **** TEST 697 **** C IF (ICZERO) 36970, 6970, 36970 6970 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - (IVON02 + IVON03) GO TO 46970 36970 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46970, 6981, 46970 46970 IF (IVCOMP - 33) 26970,16970,26970 16970 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6981 26970 IVFAIL = IVFAIL + 1 IVCORR = 33 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6981 CONTINUE C C TESTS 698 THROUGH 700 TEST '-' FOLLOWED BY '*'. C IVTNUM = 698 C C **** TEST 698 **** C IF (ICZERO) 36980, 6980, 36980 6980 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - IVON02 * IVON03 GO TO 46980 36980 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46980, 6991, 46980 46980 IF (IVCOMP - 18) 26980,16980,26980 16980 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 6991 26980 IVFAIL = IVFAIL + 1 IVCORR = 18 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 6991 CONTINUE IVTNUM = 699 C C **** TEST 699 **** C IF (ICZERO) 36990, 6990, 36990 6990 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 - IVON02) * IVON03 GO TO 46990 36990 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 46990, 7001, 46990 46990 IF (IVCOMP - 108) 26990,16990,26990 16990 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7001 26990 IVFAIL = IVFAIL + 1 IVCORR = 108 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7001 CONTINUE IVTNUM = 700 C C **** TEST 700 **** C IF (ICZERO) 37000, 7000, 37000 7000 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - (IVON02 * IVON03) GO TO 47000 37000 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47000, 7011, 47000 47000 IF (IVCOMP - 18) 27000,17000,27000 17000 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7011 27000 IVFAIL = IVFAIL + 1 IVCORR = 18 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7011 CONTINUE C C TESTS 701 THROUGH 703 TEST '-' FOLLOWED BY '/'. C IVTNUM = 701 C C **** TEST 701 **** C IF (ICZERO) 37010, 7010, 37010 7010 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - IVON02 / IVON03 GO TO 47010 37010 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47010, 7021, 47010 47010 IF (IVCOMP - 42) 27010,17010,27010 17010 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7021 27010 IVFAIL = IVFAIL + 1 IVCORR = 42 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7021 CONTINUE IVTNUM = 702 C C **** TEST 702 **** C IF (ICZERO) 37020, 7020, 37020 7020 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 - IVON02) / IVON03 GO TO 47020 37020 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47020, 7031, 47020 47020 IF (IVCOMP - 12) 27020,17020,27020 17020 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7031 27020 IVFAIL = IVFAIL + 1 IVCORR = 12 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7031 CONTINUE IVTNUM = 703 C C **** TEST 703 **** C IF (ICZERO) 37030, 7030, 37030 7030 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - (IVON02 / IVON03) GO TO 47030 37030 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47030, 7041, 47030 47030 IF (IVCOMP - 42) 27030,17030,27030 17030 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7041 27030 IVFAIL = IVFAIL + 1 IVCORR = 42 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7041 CONTINUE C C TESTS 704 THROUGH 706 TEST '-' FOLLOWED BY '**'. C IVTNUM = 704 C C **** TEST 704 **** C IF (ICZERO) 37040, 7040, 37040 7040 CONTINUE IVON01 = 35 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - IVON02 ** IVON03 GO TO 47040 37040 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47040, 7051, 47040 47040 IF (IVCOMP + 694) 27040,17040,27040 17040 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7051 27040 IVFAIL = IVFAIL + 1 IVCORR = -694 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7051 CONTINUE IVTNUM = 705 C C **** TEST 705 **** C IF (ICZERO) 37050, 7050, 37050 7050 CONTINUE IVON01 = 35 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 - IVON02) ** IVON03 GO TO 47050 37050 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47050, 7061, 47050 47050 IF (IVCOMP - 17576) 27050,17050,27050 17050 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7061 27050 IVFAIL = IVFAIL + 1 IVCORR = 17576 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7061 CONTINUE IVTNUM = 706 C C **** TEST 706 **** C IF (ICZERO) 37060, 7060, 37060 7060 CONTINUE IVON01 = 35 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 - (IVON02 ** IVON03) GO TO 47060 37060 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47060, 7071, 47060 47060 IF (IVCOMP + 694) 27060,17060,27060 17060 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7071 27060 IVFAIL = IVFAIL + 1 IVCORR = -694 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7071 CONTINUE C C TESTS 707 THROUGH 709 TEST '*' FOLLOWED BY '+'. C IVTNUM = 707 C C **** TEST 707 **** C IF (ICZERO) 37070, 7070, 37070 7070 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 * IVON02 + IVON03 GO TO 47070 37070 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47070, 7081, 47070 47070 IF (IVCOMP - 408) 27070,17070,27070 17070 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7081 27070 IVFAIL = IVFAIL + 1 IVCORR = 408 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7081 CONTINUE IVTNUM = 708 C C **** TEST 708 **** C IF (ICZERO) 37080, 7080, 37080 7080 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 * IVON02) + IVON03 GO TO 47080 37080 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47080, 7091, 47080 47080 IF (IVCOMP - 408) 27080,17080,27080 17080 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7091 27080 IVFAIL = IVFAIL + 1 IVCORR = 408 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7091 CONTINUE IVTNUM = 709 C C **** TEST 709 **** C IF (ICZERO) 37090, 7090, 37090 7090 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 * (IVON02 + IVON03) GO TO 47090 37090 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47090, 7101, 47090 47090 IF (IVCOMP - 540) 27090,17090,27090 17090 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7101 27090 IVFAIL = IVFAIL + 1 IVCORR = 540 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7101 CONTINUE C C TESTS 710 THROUGH 712 TEST '*' FOLLOWED BY '-'. C IVTNUM = 710 C C **** TEST 710 **** C IF (ICZERO) 37100, 7100, 37100 7100 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 * IVON02 - IVON03 GO TO 47100 37100 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47100, 7111, 47100 47100 IF (IVCOMP - 402) 27100,17100,27100 17100 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7111 27100 IVFAIL = IVFAIL + 1 IVCORR = 402 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7111 CONTINUE IVTNUM = 711 C C **** TEST 711 **** C IF (ICZERO) 37110, 7110, 37110 7110 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 * IVON02) - IVON03 GO TO 47110 37110 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47110, 7121, 47110 47110 IF (IVCOMP - 402) 27110,17110,27110 17110 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7121 27110 IVFAIL = IVFAIL + 1 IVCORR = 402 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7121 CONTINUE IVTNUM = 712 C C **** TEST 712 **** C IF (ICZERO) 37120, 7120, 37120 7120 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 * (IVON02 - IVON03) GO TO 47120 37120 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47120, 7131, 47120 47120 IF (IVCOMP - 270) 27120,17120,27120 17120 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7131 27120 IVFAIL = IVFAIL + 1 IVCORR = 270 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7131 CONTINUE C C TESTS 713 THROUGH 715 TEST '*' FOLLOWED BY '/'. C IVTNUM = 713 C C **** TEST 713 **** C IF (ICZERO) 37130, 7130, 37130 7130 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 * IVON02 / IVON03 GO TO 47130 37130 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47130, 7141, 47130 47130 IF (IVCOMP - 135) 27130,17130,27130 17130 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7141 27130 IVFAIL = IVFAIL + 1 IVCORR = 135 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7141 CONTINUE IVTNUM = 714 C C **** TEST 714 **** C IF (ICZERO) 37140, 7140, 37140 7140 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = (IVON01 * IVON02) / IVON03 GO TO 47140 37140 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47140, 7151, 47140 47140 IF (IVCOMP - 135) 27140,17140,27140 17140 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7151 27140 IVFAIL = IVFAIL + 1 IVCORR = 135 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7151 CONTINUE IVTNUM = 715 C C **** TEST 715 **** C IF (ICZERO) 37150, 7150, 37150 7150 CONTINUE IVON01 = 45 IVON02 = 9 IVON03 = 3 IVCOMP = IVON01 * (IVON02 / IVON03) GO TO 47150 37150 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47150, 7161, 47150 47150 IF (IVCOMP - 135) 27150,17150,27150 17150 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7161 27150 IVFAIL = IVFAIL + 1 IVCORR = 135 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7161 CONTINUE C C TESTS 716 THROUGH 718 TEST '*' FOLLOWED BY '**'. C IVTNUM = 716 C C **** TEST 716 **** C IF (ICZERO) 37160, 7160, 37160 7160 CONTINUE IVON01 = 7 IVON02 = 3 IVON03 = 3 IVCOMP = IVON01 * IVON02 ** IVON03 GO TO 47160 37160 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47160, 7171, 47160 47160 IF (IVCOMP - 189) 27160,17160,27160 17160 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7171 27160 IVFAIL = IVFAIL + 1 IVCORR = 189 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7171 CONTINUE IVTNUM = 717 C C **** TEST 717 **** C IF (ICZERO) 37170, 7170, 37170 7170 CONTINUE IVON01 = 7 IVON02 = 3 IVON03 = 3 IVCOMP = (IVON01 * IVON02) ** IVON03 GO TO 47170 37170 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47170, 7181, 47170 47170 IF (IVCOMP - 9261) 27170,17170,27170 17170 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7181 27170 IVFAIL = IVFAIL + 1 IVCORR = 9261 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7181 CONTINUE IVTNUM = 718 C C **** TEST 718 **** C IF (ICZERO) 37180, 7180, 37180 7180 CONTINUE IVON01 = 7 IVON02 = 3 IVON03 = 3 IVCOMP = IVON01 * (IVON02 ** IVON03) GO TO 47180 37180 IVDELE = IVDELE + 1 WRITE (I02,80003) IVTNUM IF (ICZERO) 47180, 7191, 47180 47180 IF (IVCOMP - 189) 27180,17180,27180 17180 IVPASS = IVPASS + 1 WRITE (I02,80001) IVTNUM GO TO 7191 27180 IVFAIL = IVFAIL + 1 IVCORR = 189 WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 7191 CONTINUE 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 FM043) END