|
|
BSD 4.3tahoe
c comment section
c
c fm043
c
c this routine tests arithmetic assignments of the form
c
c integer var. = integer var. <op1> integer var. <op2> integer var.
c
c where <op1> and <op2> are arithmetic operators, but <op1> is
c not the same as <op2>.
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 <op1> is '+' and
c <op2> varies.
c
c test 695 through 706 test statements where <op1> is '-' and
c <op2> varies.
c
c tests 707 through 718 test statements where <op1> is '*' and
c <op2> 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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.