|
|
1.1 root 1: c comment section
2: c
3: c fm043
4: c
5: c this routine tests arithmetic assignments of the form
6: c
7: c integer var. = integer var. <op1> integer var. <op2> integer var.
8: c
9: c where <op1> and <op2> are arithmetic operators, but <op1> is
10: c not the same as <op2>.
11: c
12: c references
13: c american national standard programming language fortran,
14: c x3.9-1978
15: c
16: c section 4.3, integer type
17: c section 4.3.1, integer constant
18: c section 6.1, arithmetic expressions
19: c section 6.6, evaluation of expressions
20: c section 10.1, arithmetic assignment statement
21: c
22: c
23: c **********************************************************
24: c
25: c a compiler validation system for the fortran language
26: c based on specifications as defined in american national standard
27: c programming language fortran x3.9-1978, has been developed by the
28: c federal cobol compiler testing service. the fortran compiler
29: c validation system (fcvs) consists of audit routines, their related
30: c data, and an executive system. each audit routine is a fortran
31: c program, subprogram or function which includes tests of specific
32: c language elements and supporting procedures indicating the result
33: c of executing these tests.
34: c
35: c this particular program/subprogram/function contains features
36: c found only in the subset as defined in x3.9-1978.
37: c
38: c suggestions and comments should be forwarded to -
39: c
40: c department of the navy
41: c federal cobol compiler testing service
42: c washington, d.c. 20376
43: c
44: c **********************************************************
45: c
46: c
47: c
48: c initialization section
49: c
50: c initialize constants
51: c **************
52: c i01 contains the logical unit number for the card reader.
53: i01 = 5
54: c i02 contains the logical unit number for the printer.
55: i02 = 6
56: c system environment section
57: c
58: cx010 this card is replaced by contents of fexec x-010 control card.
59: c the cx010 card is for overriding the program default i01 = 5
60: c (unit number for card reader).
61: cx011 this card is replaced by contents of fexec x-011 control card.
62: c the cx011 card is for systems which require additional
63: c fortran statements for files associated with cx010 above.
64: c
65: cx020 this card is replaced by contents of fexec x-020 control card.
66: c the cx020 card is for overriding the program default i02 = 6
67: c (unit number for printer).
68: cx021 this card is replaced by contents of fexec x-021 control card.
69: c the cx021 card is for systems which require additional
70: c fortran statements for files associated with cx020 above.
71: c
72: ivpass=0
73: ivfail=0
74: ivdele=0
75: iczero=0
76: c
77: c write page headers
78: write (i02,90000)
79: write (i02,90001)
80: write (i02,90002)
81: write (i02, 90002)
82: write (i02,90003)
83: write (i02,90002)
84: write (i02,90004)
85: write (i02,90002)
86: write (i02,90011)
87: write (i02,90002)
88: write (i02,90002)
89: write (i02,90005)
90: write (i02,90006)
91: write (i02,90002)
92: c
93: c test section
94: c
95: c arithmetic assignment statement
96: c
97: c tests 683 through 694 test statements where <op1> is '+' and
98: c <op2> varies.
99: c
100: c test 695 through 706 test statements where <op1> is '-' and
101: c <op2> varies.
102: c
103: c tests 707 through 718 test statements where <op1> is '*' and
104: c <op2> varies.
105: c
106: c
107: c
108: c tests 683 through 685 test '+' followed by '-'.
109: c
110: ivtnum = 683
111: c
112: c **** test 683 ****
113: c
114: if (iczero) 36830, 6830, 36830
115: 6830 continue
116: ivon01 = 45
117: ivon02 = 9
118: ivon03 = 3
119: ivcomp = ivon01 + ivon02 - ivon03
120: go to 46830
121: 36830 ivdele = ivdele + 1
122: write (i02,80003) ivtnum
123: if (iczero) 46830, 6841, 46830
124: 46830 if (ivcomp - 51) 26830,16830,26830
125: 16830 ivpass = ivpass + 1
126: write (i02,80001) ivtnum
127: go to 6841
128: 26830 ivfail = ivfail + 1
129: ivcorr = 51
130: write (i02,80004) ivtnum, ivcomp, ivcorr
131: 6841 continue
132: ivtnum = 684
133: c
134: c **** test 684 ****
135: c
136: if (iczero) 36840, 6840, 36840
137: 6840 continue
138: ivon01 = 45
139: ivon02 = 9
140: ivon03 = 3
141: ivcomp = (ivon01 + ivon02) - ivon03
142: go to 46840
143: 36840 ivdele = ivdele + 1
144: write (i02,80003) ivtnum
145: if (iczero) 46840, 6851, 46840
146: 46840 if (ivcomp - 51) 26840,16840,26840
147: 16840 ivpass = ivpass + 1
148: write (i02,80001) ivtnum
149: go to 6851
150: 26840 ivfail = ivfail + 1
151: ivcorr = 51
152: write (i02,80004) ivtnum, ivcomp, ivcorr
153: 6851 continue
154: ivtnum = 685
155: c
156: c **** test 685 ****
157: c
158: if (iczero) 36850, 6850, 36850
159: 6850 continue
160: ivon01 = 45
161: ivon02 = 9
162: ivon03 = 3
163: ivcomp = ivon01 + (ivon02 - ivon03)
164: go to 46850
165: 36850 ivdele = ivdele + 1
166: write (i02,80003) ivtnum
167: if (iczero) 46850, 6861, 46850
168: 46850 if (ivcomp - 51) 26850,16850,26850
169: 16850 ivpass = ivpass + 1
170: write (i02,80001) ivtnum
171: go to 6861
172: 26850 ivfail = ivfail + 1
173: ivcorr = 51
174: write (i02,80004) ivtnum, ivcomp, ivcorr
175: 6861 continue
176: c
177: c tests 686 through 688 test '+' followed by '*'.
178: c
179: ivtnum = 686
180: c
181: c **** test 686 ****
182: c
183: if (iczero) 36860, 6860, 36860
184: 6860 continue
185: ivon01 = 45
186: ivon02 = 9
187: ivon03 = 3
188: ivcomp = ivon01 + ivon02 * ivon03
189: go to 46860
190: 36860 ivdele = ivdele + 1
191: write (i02,80003) ivtnum
192: if (iczero) 46860, 6871, 46860
193: 46860 if (ivcomp - 72) 26860,16860,26860
194: 16860 ivpass = ivpass + 1
195: write (i02,80001) ivtnum
196: go to 6871
197: 26860 ivfail = ivfail + 1
198: ivcorr = 72
199: write (i02,80004) ivtnum, ivcomp, ivcorr
200: 6871 continue
201: ivtnum = 687
202: c
203: c **** test 687 ****
204: c
205: if (iczero) 36870, 6870, 36870
206: 6870 continue
207: ivon01 = 45
208: ivon02 = 9
209: ivon03 = 3
210: ivcomp = (ivon01 + ivon02) * ivon03
211: go to 46870
212: 36870 ivdele = ivdele + 1
213: write (i02,80003) ivtnum
214: if (iczero) 46870, 6881, 46870
215: 46870 if (ivcomp - 162) 26870,16870,26870
216: 16870 ivpass = ivpass + 1
217: write (i02,80001) ivtnum
218: go to 6881
219: 26870 ivfail = ivfail + 1
220: ivcorr = 162
221: write (i02,80004) ivtnum, ivcomp, ivcorr
222: 6881 continue
223: ivtnum = 688
224: c
225: c **** test 688 ****
226: c
227: if (iczero) 36880, 6880, 36880
228: 6880 continue
229: ivon01 = 45
230: ivon02 = 9
231: ivon03 = 3
232: ivcomp = ivon01 + (ivon02 * ivon03)
233: go to 46880
234: 36880 ivdele = ivdele + 1
235: write (i02,80003) ivtnum
236: if (iczero) 46880, 6891, 46880
237: 46880 if (ivcomp - 72) 26880,16880,26880
238: 16880 ivpass = ivpass + 1
239: write (i02,80001) ivtnum
240: go to 6891
241: 26880 ivfail = ivfail + 1
242: ivcorr = 72
243: write (i02,80004) ivtnum, ivcomp, ivcorr
244: 6891 continue
245: c
246: c tests 689 through 691 test '+' followed by '/'.
247: c
248: ivtnum = 689
249: c
250: c **** test 689 ****
251: c
252: if (iczero) 36890, 6890, 36890
253: 6890 continue
254: ivon01 = 45
255: ivon02 = 9
256: ivon03 = 3
257: ivcomp = ivon01 + ivon02 / ivon03
258: go to 46890
259: 36890 ivdele = ivdele + 1
260: write (i02,80003) ivtnum
261: if (iczero) 46890, 6901, 46890
262: 46890 if (ivcomp - 48) 26890,16890,26890
263: 16890 ivpass = ivpass + 1
264: write (i02,80001) ivtnum
265: go to 6901
266: 26890 ivfail = ivfail + 1
267: ivcorr = 48
268: write (i02,80004) ivtnum, ivcomp, ivcorr
269: 6901 continue
270: ivtnum = 690
271: c
272: c **** test 690 ****
273: c
274: if (iczero) 36900, 6900, 36900
275: 6900 continue
276: ivon01 = 45
277: ivon02 = 9
278: ivon03 = 3
279: ivcomp = (ivon01 + ivon02) / ivon03
280: go to 46900
281: 36900 ivdele = ivdele + 1
282: write (i02,80003) ivtnum
283: if (iczero) 46900, 6911, 46900
284: 46900 if (ivcomp - 18) 26900,16900,26900
285: 16900 ivpass = ivpass + 1
286: write (i02,80001) ivtnum
287: go to 6911
288: 26900 ivfail = ivfail + 1
289: ivcorr = 18
290: write (i02,80004) ivtnum, ivcomp, ivcorr
291: 6911 continue
292: ivtnum = 691
293: c
294: c **** test 691 ****
295: c
296: if (iczero) 36910, 6910, 36910
297: 6910 continue
298: ivon01 = 45
299: ivon02 = 9
300: ivon03 = 3
301: ivcomp = ivon01 + (ivon02 / ivon03)
302: go to 46910
303: 36910 ivdele = ivdele + 1
304: write (i02,80003) ivtnum
305: if (iczero) 46910, 6921, 46910
306: 46910 if (ivcomp - 48) 26910,16910,26910
307: 16910 ivpass = ivpass + 1
308: write (i02,80001) ivtnum
309: go to 6921
310: 26910 ivfail = ivfail + 1
311: ivcorr = 48
312: write (i02,80004) ivtnum, ivcomp, ivcorr
313: 6921 continue
314: c
315: c tests 692 through 694 test '+' followed by '**'.
316: c
317: ivtnum = 692
318: c
319: c **** test 692 ****
320: c
321: if (iczero) 36920, 6920, 36920
322: 6920 continue
323: ivon01 = 15
324: ivon02 = 9
325: ivon03 = 3
326: ivcomp = ivon01 + ivon02 ** ivon03
327: go to 46920
328: 36920 ivdele = ivdele + 1
329: write (i02,80003) ivtnum
330: if (iczero) 46920, 6931, 46920
331: 46920 if (ivcomp - 744) 26920,16920,26920
332: 16920 ivpass = ivpass + 1
333: write (i02,80001) ivtnum
334: go to 6931
335: 26920 ivfail = ivfail + 1
336: ivcorr = 744
337: write (i02,80004) ivtnum, ivcomp, ivcorr
338: 6931 continue
339: ivtnum = 693
340: c
341: c **** test 693 ****
342: c
343: if (iczero) 36930, 6930, 36930
344: 6930 continue
345: ivon01 = 15
346: ivon02 = 9
347: ivon03 = 3
348: ivcomp = (ivon01 + ivon02) ** ivon03
349: go to 46930
350: 36930 ivdele = ivdele + 1
351: write (i02,80003) ivtnum
352: if (iczero) 46930, 6941, 46930
353: 46930 if (ivcomp - 13824) 26930,16930,26930
354: 16930 ivpass = ivpass + 1
355: write (i02,80001) ivtnum
356: go to 6941
357: 26930 ivfail = ivfail + 1
358: ivcorr = 13824
359: write (i02,80004) ivtnum, ivcomp, ivcorr
360: 6941 continue
361: ivtnum = 694
362: c
363: c **** test 694 ****
364: c
365: if (iczero) 36940, 6940, 36940
366: 6940 continue
367: ivon01 = 15
368: ivon02 = 9
369: ivon03 = 3
370: ivcomp = ivon01 + (ivon02 ** ivon03)
371: go to 46940
372: 36940 ivdele = ivdele + 1
373: write (i02,80003) ivtnum
374: if (iczero) 46940, 6951, 46940
375: 46940 if (ivcomp - 744) 26940,16940,26940
376: 16940 ivpass = ivpass + 1
377: write (i02,80001) ivtnum
378: go to 6951
379: 26940 ivfail = ivfail + 1
380: ivcorr = 744
381: write (i02,80004) ivtnum, ivcomp, ivcorr
382: 6951 continue
383: c
384: c tests 695 through 697 test '-' followed by '+'.
385: c
386: ivtnum = 695
387: c
388: c **** test 695 ****
389: c
390: if (iczero) 36950, 6950, 36950
391: 6950 continue
392: ivon01 = 45
393: ivon02 = 9
394: ivon03 = 3
395: ivcomp = ivon01 - ivon02 + ivon03
396: go to 46950
397: 36950 ivdele = ivdele + 1
398: write (i02,80003) ivtnum
399: if (iczero) 46950, 6961, 46950
400: 46950 if (ivcomp - 39) 26950,16950,26950
401: 16950 ivpass = ivpass + 1
402: write (i02,80001) ivtnum
403: go to 6961
404: 26950 ivfail = ivfail + 1
405: ivcorr = 39
406: write (i02,80004) ivtnum, ivcomp, ivcorr
407: 6961 continue
408: ivtnum = 696
409: c
410: c **** test 696 ****
411: c
412: if (iczero) 36960, 6960, 36960
413: 6960 continue
414: ivon01 = 45
415: ivon02 = 9
416: ivon03 = 3
417: ivcomp = (ivon01 - ivon02) + ivon03
418: go to 46960
419: 36960 ivdele = ivdele + 1
420: write (i02,80003) ivtnum
421: if (iczero) 46960, 6971, 46960
422: 46960 if (ivcomp - 39) 26960,16960,26960
423: 16960 ivpass = ivpass + 1
424: write (i02,80001) ivtnum
425: go to 6971
426: 26960 ivfail = ivfail + 1
427: ivcorr = 39
428: write (i02,80004) ivtnum, ivcomp, ivcorr
429: 6971 continue
430: ivtnum = 697
431: c
432: c **** test 697 ****
433: c
434: if (iczero) 36970, 6970, 36970
435: 6970 continue
436: ivon01 = 45
437: ivon02 = 9
438: ivon03 = 3
439: ivcomp = ivon01 - (ivon02 + ivon03)
440: go to 46970
441: 36970 ivdele = ivdele + 1
442: write (i02,80003) ivtnum
443: if (iczero) 46970, 6981, 46970
444: 46970 if (ivcomp - 33) 26970,16970,26970
445: 16970 ivpass = ivpass + 1
446: write (i02,80001) ivtnum
447: go to 6981
448: 26970 ivfail = ivfail + 1
449: ivcorr = 33
450: write (i02,80004) ivtnum, ivcomp, ivcorr
451: 6981 continue
452: c
453: c tests 698 through 700 test '-' followed by '*'.
454: c
455: ivtnum = 698
456: c
457: c **** test 698 ****
458: c
459: if (iczero) 36980, 6980, 36980
460: 6980 continue
461: ivon01 = 45
462: ivon02 = 9
463: ivon03 = 3
464: ivcomp = ivon01 - ivon02 * ivon03
465: go to 46980
466: 36980 ivdele = ivdele + 1
467: write (i02,80003) ivtnum
468: if (iczero) 46980, 6991, 46980
469: 46980 if (ivcomp - 18) 26980,16980,26980
470: 16980 ivpass = ivpass + 1
471: write (i02,80001) ivtnum
472: go to 6991
473: 26980 ivfail = ivfail + 1
474: ivcorr = 18
475: write (i02,80004) ivtnum, ivcomp, ivcorr
476: 6991 continue
477: ivtnum = 699
478: c
479: c **** test 699 ****
480: c
481: if (iczero) 36990, 6990, 36990
482: 6990 continue
483: ivon01 = 45
484: ivon02 = 9
485: ivon03 = 3
486: ivcomp = (ivon01 - ivon02) * ivon03
487: go to 46990
488: 36990 ivdele = ivdele + 1
489: write (i02,80003) ivtnum
490: if (iczero) 46990, 7001, 46990
491: 46990 if (ivcomp - 108) 26990,16990,26990
492: 16990 ivpass = ivpass + 1
493: write (i02,80001) ivtnum
494: go to 7001
495: 26990 ivfail = ivfail + 1
496: ivcorr = 108
497: write (i02,80004) ivtnum, ivcomp, ivcorr
498: 7001 continue
499: ivtnum = 700
500: c
501: c **** test 700 ****
502: c
503: if (iczero) 37000, 7000, 37000
504: 7000 continue
505: ivon01 = 45
506: ivon02 = 9
507: ivon03 = 3
508: ivcomp = ivon01 - (ivon02 * ivon03)
509: go to 47000
510: 37000 ivdele = ivdele + 1
511: write (i02,80003) ivtnum
512: if (iczero) 47000, 7011, 47000
513: 47000 if (ivcomp - 18) 27000,17000,27000
514: 17000 ivpass = ivpass + 1
515: write (i02,80001) ivtnum
516: go to 7011
517: 27000 ivfail = ivfail + 1
518: ivcorr = 18
519: write (i02,80004) ivtnum, ivcomp, ivcorr
520: 7011 continue
521: c
522: c tests 701 through 703 test '-' followed by '/'.
523: c
524: ivtnum = 701
525: c
526: c **** test 701 ****
527: c
528: if (iczero) 37010, 7010, 37010
529: 7010 continue
530: ivon01 = 45
531: ivon02 = 9
532: ivon03 = 3
533: ivcomp = ivon01 - ivon02 / ivon03
534: go to 47010
535: 37010 ivdele = ivdele + 1
536: write (i02,80003) ivtnum
537: if (iczero) 47010, 7021, 47010
538: 47010 if (ivcomp - 42) 27010,17010,27010
539: 17010 ivpass = ivpass + 1
540: write (i02,80001) ivtnum
541: go to 7021
542: 27010 ivfail = ivfail + 1
543: ivcorr = 42
544: write (i02,80004) ivtnum, ivcomp, ivcorr
545: 7021 continue
546: ivtnum = 702
547: c
548: c **** test 702 ****
549: c
550: if (iczero) 37020, 7020, 37020
551: 7020 continue
552: ivon01 = 45
553: ivon02 = 9
554: ivon03 = 3
555: ivcomp = (ivon01 - ivon02) / ivon03
556: go to 47020
557: 37020 ivdele = ivdele + 1
558: write (i02,80003) ivtnum
559: if (iczero) 47020, 7031, 47020
560: 47020 if (ivcomp - 12) 27020,17020,27020
561: 17020 ivpass = ivpass + 1
562: write (i02,80001) ivtnum
563: go to 7031
564: 27020 ivfail = ivfail + 1
565: ivcorr = 12
566: write (i02,80004) ivtnum, ivcomp, ivcorr
567: 7031 continue
568: ivtnum = 703
569: c
570: c **** test 703 ****
571: c
572: if (iczero) 37030, 7030, 37030
573: 7030 continue
574: ivon01 = 45
575: ivon02 = 9
576: ivon03 = 3
577: ivcomp = ivon01 - (ivon02 / ivon03)
578: go to 47030
579: 37030 ivdele = ivdele + 1
580: write (i02,80003) ivtnum
581: if (iczero) 47030, 7041, 47030
582: 47030 if (ivcomp - 42) 27030,17030,27030
583: 17030 ivpass = ivpass + 1
584: write (i02,80001) ivtnum
585: go to 7041
586: 27030 ivfail = ivfail + 1
587: ivcorr = 42
588: write (i02,80004) ivtnum, ivcomp, ivcorr
589: 7041 continue
590: c
591: c tests 704 through 706 test '-' followed by '**'.
592: c
593: ivtnum = 704
594: c
595: c **** test 704 ****
596: c
597: if (iczero) 37040, 7040, 37040
598: 7040 continue
599: ivon01 = 35
600: ivon02 = 9
601: ivon03 = 3
602: ivcomp = ivon01 - ivon02 ** ivon03
603: go to 47040
604: 37040 ivdele = ivdele + 1
605: write (i02,80003) ivtnum
606: if (iczero) 47040, 7051, 47040
607: 47040 if (ivcomp + 694) 27040,17040,27040
608: 17040 ivpass = ivpass + 1
609: write (i02,80001) ivtnum
610: go to 7051
611: 27040 ivfail = ivfail + 1
612: ivcorr = -694
613: write (i02,80004) ivtnum, ivcomp, ivcorr
614: 7051 continue
615: ivtnum = 705
616: c
617: c **** test 705 ****
618: c
619: if (iczero) 37050, 7050, 37050
620: 7050 continue
621: ivon01 = 35
622: ivon02 = 9
623: ivon03 = 3
624: ivcomp = (ivon01 - ivon02) ** ivon03
625: go to 47050
626: 37050 ivdele = ivdele + 1
627: write (i02,80003) ivtnum
628: if (iczero) 47050, 7061, 47050
629: 47050 if (ivcomp - 17576) 27050,17050,27050
630: 17050 ivpass = ivpass + 1
631: write (i02,80001) ivtnum
632: go to 7061
633: 27050 ivfail = ivfail + 1
634: ivcorr = 17576
635: write (i02,80004) ivtnum, ivcomp, ivcorr
636: 7061 continue
637: ivtnum = 706
638: c
639: c **** test 706 ****
640: c
641: if (iczero) 37060, 7060, 37060
642: 7060 continue
643: ivon01 = 35
644: ivon02 = 9
645: ivon03 = 3
646: ivcomp = ivon01 - (ivon02 ** ivon03)
647: go to 47060
648: 37060 ivdele = ivdele + 1
649: write (i02,80003) ivtnum
650: if (iczero) 47060, 7071, 47060
651: 47060 if (ivcomp + 694) 27060,17060,27060
652: 17060 ivpass = ivpass + 1
653: write (i02,80001) ivtnum
654: go to 7071
655: 27060 ivfail = ivfail + 1
656: ivcorr = -694
657: write (i02,80004) ivtnum, ivcomp, ivcorr
658: 7071 continue
659: c
660: c tests 707 through 709 test '*' followed by '+'.
661: c
662: ivtnum = 707
663: c
664: c **** test 707 ****
665: c
666: if (iczero) 37070, 7070, 37070
667: 7070 continue
668: ivon01 = 45
669: ivon02 = 9
670: ivon03 = 3
671: ivcomp = ivon01 * ivon02 + ivon03
672: go to 47070
673: 37070 ivdele = ivdele + 1
674: write (i02,80003) ivtnum
675: if (iczero) 47070, 7081, 47070
676: 47070 if (ivcomp - 408) 27070,17070,27070
677: 17070 ivpass = ivpass + 1
678: write (i02,80001) ivtnum
679: go to 7081
680: 27070 ivfail = ivfail + 1
681: ivcorr = 408
682: write (i02,80004) ivtnum, ivcomp, ivcorr
683: 7081 continue
684: ivtnum = 708
685: c
686: c **** test 708 ****
687: c
688: if (iczero) 37080, 7080, 37080
689: 7080 continue
690: ivon01 = 45
691: ivon02 = 9
692: ivon03 = 3
693: ivcomp = (ivon01 * ivon02) + ivon03
694: go to 47080
695: 37080 ivdele = ivdele + 1
696: write (i02,80003) ivtnum
697: if (iczero) 47080, 7091, 47080
698: 47080 if (ivcomp - 408) 27080,17080,27080
699: 17080 ivpass = ivpass + 1
700: write (i02,80001) ivtnum
701: go to 7091
702: 27080 ivfail = ivfail + 1
703: ivcorr = 408
704: write (i02,80004) ivtnum, ivcomp, ivcorr
705: 7091 continue
706: ivtnum = 709
707: c
708: c **** test 709 ****
709: c
710: if (iczero) 37090, 7090, 37090
711: 7090 continue
712: ivon01 = 45
713: ivon02 = 9
714: ivon03 = 3
715: ivcomp = ivon01 * (ivon02 + ivon03)
716: go to 47090
717: 37090 ivdele = ivdele + 1
718: write (i02,80003) ivtnum
719: if (iczero) 47090, 7101, 47090
720: 47090 if (ivcomp - 540) 27090,17090,27090
721: 17090 ivpass = ivpass + 1
722: write (i02,80001) ivtnum
723: go to 7101
724: 27090 ivfail = ivfail + 1
725: ivcorr = 540
726: write (i02,80004) ivtnum, ivcomp, ivcorr
727: 7101 continue
728: c
729: c tests 710 through 712 test '*' followed by '-'.
730: c
731: ivtnum = 710
732: c
733: c **** test 710 ****
734: c
735: if (iczero) 37100, 7100, 37100
736: 7100 continue
737: ivon01 = 45
738: ivon02 = 9
739: ivon03 = 3
740: ivcomp = ivon01 * ivon02 - ivon03
741: go to 47100
742: 37100 ivdele = ivdele + 1
743: write (i02,80003) ivtnum
744: if (iczero) 47100, 7111, 47100
745: 47100 if (ivcomp - 402) 27100,17100,27100
746: 17100 ivpass = ivpass + 1
747: write (i02,80001) ivtnum
748: go to 7111
749: 27100 ivfail = ivfail + 1
750: ivcorr = 402
751: write (i02,80004) ivtnum, ivcomp, ivcorr
752: 7111 continue
753: ivtnum = 711
754: c
755: c **** test 711 ****
756: c
757: if (iczero) 37110, 7110, 37110
758: 7110 continue
759: ivon01 = 45
760: ivon02 = 9
761: ivon03 = 3
762: ivcomp = (ivon01 * ivon02) - ivon03
763: go to 47110
764: 37110 ivdele = ivdele + 1
765: write (i02,80003) ivtnum
766: if (iczero) 47110, 7121, 47110
767: 47110 if (ivcomp - 402) 27110,17110,27110
768: 17110 ivpass = ivpass + 1
769: write (i02,80001) ivtnum
770: go to 7121
771: 27110 ivfail = ivfail + 1
772: ivcorr = 402
773: write (i02,80004) ivtnum, ivcomp, ivcorr
774: 7121 continue
775: ivtnum = 712
776: c
777: c **** test 712 ****
778: c
779: if (iczero) 37120, 7120, 37120
780: 7120 continue
781: ivon01 = 45
782: ivon02 = 9
783: ivon03 = 3
784: ivcomp = ivon01 * (ivon02 - ivon03)
785: go to 47120
786: 37120 ivdele = ivdele + 1
787: write (i02,80003) ivtnum
788: if (iczero) 47120, 7131, 47120
789: 47120 if (ivcomp - 270) 27120,17120,27120
790: 17120 ivpass = ivpass + 1
791: write (i02,80001) ivtnum
792: go to 7131
793: 27120 ivfail = ivfail + 1
794: ivcorr = 270
795: write (i02,80004) ivtnum, ivcomp, ivcorr
796: 7131 continue
797: c
798: c tests 713 through 715 test '*' followed by '/'.
799: c
800: ivtnum = 713
801: c
802: c **** test 713 ****
803: c
804: if (iczero) 37130, 7130, 37130
805: 7130 continue
806: ivon01 = 45
807: ivon02 = 9
808: ivon03 = 3
809: ivcomp = ivon01 * ivon02 / ivon03
810: go to 47130
811: 37130 ivdele = ivdele + 1
812: write (i02,80003) ivtnum
813: if (iczero) 47130, 7141, 47130
814: 47130 if (ivcomp - 135) 27130,17130,27130
815: 17130 ivpass = ivpass + 1
816: write (i02,80001) ivtnum
817: go to 7141
818: 27130 ivfail = ivfail + 1
819: ivcorr = 135
820: write (i02,80004) ivtnum, ivcomp, ivcorr
821: 7141 continue
822: ivtnum = 714
823: c
824: c **** test 714 ****
825: c
826: if (iczero) 37140, 7140, 37140
827: 7140 continue
828: ivon01 = 45
829: ivon02 = 9
830: ivon03 = 3
831: ivcomp = (ivon01 * ivon02) / ivon03
832: go to 47140
833: 37140 ivdele = ivdele + 1
834: write (i02,80003) ivtnum
835: if (iczero) 47140, 7151, 47140
836: 47140 if (ivcomp - 135) 27140,17140,27140
837: 17140 ivpass = ivpass + 1
838: write (i02,80001) ivtnum
839: go to 7151
840: 27140 ivfail = ivfail + 1
841: ivcorr = 135
842: write (i02,80004) ivtnum, ivcomp, ivcorr
843: 7151 continue
844: ivtnum = 715
845: c
846: c **** test 715 ****
847: c
848: if (iczero) 37150, 7150, 37150
849: 7150 continue
850: ivon01 = 45
851: ivon02 = 9
852: ivon03 = 3
853: ivcomp = ivon01 * (ivon02 / ivon03)
854: go to 47150
855: 37150 ivdele = ivdele + 1
856: write (i02,80003) ivtnum
857: if (iczero) 47150, 7161, 47150
858: 47150 if (ivcomp - 135) 27150,17150,27150
859: 17150 ivpass = ivpass + 1
860: write (i02,80001) ivtnum
861: go to 7161
862: 27150 ivfail = ivfail + 1
863: ivcorr = 135
864: write (i02,80004) ivtnum, ivcomp, ivcorr
865: 7161 continue
866: c
867: c tests 716 through 718 test '*' followed by '**'.
868: c
869: ivtnum = 716
870: c
871: c **** test 716 ****
872: c
873: if (iczero) 37160, 7160, 37160
874: 7160 continue
875: ivon01 = 7
876: ivon02 = 3
877: ivon03 = 3
878: ivcomp = ivon01 * ivon02 ** ivon03
879: go to 47160
880: 37160 ivdele = ivdele + 1
881: write (i02,80003) ivtnum
882: if (iczero) 47160, 7171, 47160
883: 47160 if (ivcomp - 189) 27160,17160,27160
884: 17160 ivpass = ivpass + 1
885: write (i02,80001) ivtnum
886: go to 7171
887: 27160 ivfail = ivfail + 1
888: ivcorr = 189
889: write (i02,80004) ivtnum, ivcomp, ivcorr
890: 7171 continue
891: ivtnum = 717
892: c
893: c **** test 717 ****
894: c
895: if (iczero) 37170, 7170, 37170
896: 7170 continue
897: ivon01 = 7
898: ivon02 = 3
899: ivon03 = 3
900: ivcomp = (ivon01 * ivon02) ** ivon03
901: go to 47170
902: 37170 ivdele = ivdele + 1
903: write (i02,80003) ivtnum
904: if (iczero) 47170, 7181, 47170
905: 47170 if (ivcomp - 9261) 27170,17170,27170
906: 17170 ivpass = ivpass + 1
907: write (i02,80001) ivtnum
908: go to 7181
909: 27170 ivfail = ivfail + 1
910: ivcorr = 9261
911: write (i02,80004) ivtnum, ivcomp, ivcorr
912: 7181 continue
913: ivtnum = 718
914: c
915: c **** test 718 ****
916: c
917: if (iczero) 37180, 7180, 37180
918: 7180 continue
919: ivon01 = 7
920: ivon02 = 3
921: ivon03 = 3
922: ivcomp = ivon01 * (ivon02 ** ivon03)
923: go to 47180
924: 37180 ivdele = ivdele + 1
925: write (i02,80003) ivtnum
926: if (iczero) 47180, 7191, 47180
927: 47180 if (ivcomp - 189) 27180,17180,27180
928: 17180 ivpass = ivpass + 1
929: write (i02,80001) ivtnum
930: go to 7191
931: 27180 ivfail = ivfail + 1
932: ivcorr = 189
933: write (i02,80004) ivtnum, ivcomp, ivcorr
934: 7191 continue
935: c
936: c write page footings and run summaries
937: 99999 continue
938: write (i02,90002)
939: write (i02,90006)
940: write (i02,90002)
941: write (i02,90002)
942: write (i02,90007)
943: write (i02,90002)
944: write (i02,90008) ivfail
945: write (i02,90009) ivpass
946: write (i02,90010) ivdele
947: c
948: c
949: c terminate routine execution
950: stop
951: c
952: c format statements for page headers
953: 90000 format (1h1)
954: 90002 format (1h )
955: 90001 format (1h ,10x,34hfortran compiler validation system)
956: 90003 format (1h ,21x,11hversion 1.0)
957: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
958: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
959: 90006 format (1h ,5x,46h----------------------------------------------)
960: 90011 format (1h ,18x,17hsubset level test)
961: c
962: c format statements for run summaries
963: 90008 format (1h ,15x,i5,19h errors encountered)
964: 90009 format (1h ,15x,i5,13h tests passed)
965: 90010 format (1h ,15x,i5,14h tests deleted)
966: c
967: c format statements for test results
968: 80001 format (1h ,4x,i5,7x,4hpass)
969: 80002 format (1h ,4x,i5,7x,4hfail)
970: 80003 format (1h ,4x,i5,7x,7hdeleted)
971: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
972: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
973: c
974: 90007 format (1h ,20x,20hend of program fm043)
975: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.