|
|
1.1 root 1: c comment section
2: c
3: c fm039
4: c
5: c this routine tests arithmetic assignment statements of the
6: c form integer variable = arithmetic expression
7: c where the arithmetic expression is formed with the arithmetic
8: c operator /, integer constants and an integer variable. both
9: c positive and negative values are used for the integer constants
10: c and the integer variable.
11: c
12: c there are tests which require no truncation of the result
13: c and tests where the result must be truncated before being stored
14: c in the resultant integer variable. some of the tests use parens
15: c to group elements in the arithmetic expression.
16: c
17: c there are tests where the arithmetic expression contains
18: c (1) integer variable/integer constant/integer constant
19: c integer constant/integer variable/integer constant
20: c integer constant/integer constant/integer variable
21: c (2) same as (1) but with parentheses to group elements
22: c in the arithmetic expression.
23: c
24: c references
25: c american national standard programming language fortran,
26: c x3.9-1978
27: c
28: c section 4.3, integer type
29: c section 4.3.1, integer constant
30: c section 6.1, arithmetic expressions
31: c section 6.6, evaluation of expressions
32: c section 10.1, arithmetic assignment statement
33: c
34: c **********************************************************
35: c
36: c a compiler validation system for the fortran language
37: c based on specifications as defined in american national standard
38: c programming language fortran x3.9-1978, has been developed by the
39: c federal cobol compiler testing service. the fortran compiler
40: c validation system (fcvs) consists of audit routines, their related
41: c data, and an executive system. each audit routine is a fortran
42: c program, subprogram or function which includes tests of specific
43: c language elements and supporting procedures indicating the result
44: c of executing these tests.
45: c
46: c this particular program/subprogram/function contains features
47: c found only in the subset as defined in x3.9-1978.
48: c
49: c suggestions and comments should be forwarded to -
50: c
51: c department of the navy
52: c federal cobol compiler testing service
53: c washington, d.c. 20376
54: c
55: c **********************************************************
56: c
57: c
58: c
59: c initialization section
60: c
61: c initialize constants
62: c **************
63: c i01 contains the logical unit number for the card reader.
64: i01 = 5
65: c i02 contains the logical unit number for the printer.
66: i02 = 6
67: c system environment section
68: c
69: cx010 this card is replaced by contents of fexec x-010 control card.
70: c the cx010 card is for overriding the program default i01 = 5
71: c (unit number for card reader).
72: cx011 this card is replaced by contents of fexec x-011 control card.
73: c the cx011 card is for systems which require additional
74: c fortran statements for files associated with cx010 above.
75: c
76: cx020 this card is replaced by contents of fexec x-020 control card.
77: c the cx020 card is for overriding the program default i02 = 6
78: c (unit number for printer).
79: cx021 this card is replaced by contents of fexec x-021 control card.
80: c the cx021 card is for systems which require additional
81: c fortran statements for files associated with cx020 above.
82: c
83: ivpass=0
84: ivfail=0
85: ivdele=0
86: iczero=0
87: c
88: c write page headers
89: write (i02,90000)
90: write (i02,90001)
91: write (i02,90002)
92: write (i02, 90002)
93: write (i02,90003)
94: write (i02,90002)
95: write (i02,90004)
96: write (i02,90002)
97: write (i02,90011)
98: write (i02,90002)
99: write (i02,90002)
100: write (i02,90005)
101: write (i02,90006)
102: write (i02,90002)
103: c
104: c test section
105: c
106: c arithmetic assignment statement
107: c
108: c test 552 through test 557 contain arithmetic assignment statements
109: c of the form iv = iv/ic/ic.
110: c
111: 5521 continue
112: ivtnum = 552
113: c
114: c **** test 552 ****
115: c
116: if (iczero) 35520, 5520, 35520
117: 5520 continue
118: ivon01 = 24
119: ivcomp = ivon01/3/4
120: go to 45520
121: 35520 ivdele = ivdele + 1
122: write (i02,80003) ivtnum
123: if (iczero) 45520, 5531, 45520
124: 45520 if (ivcomp - 2) 25520,15520,25520
125: 15520 ivpass = ivpass + 1
126: write (i02,80001) ivtnum
127: go to 5531
128: 25520 ivfail = ivfail + 1
129: ivcorr = 2
130: write (i02,80004) ivtnum, ivcomp ,ivcorr
131: 5531 continue
132: ivtnum = 553
133: c
134: c **** test 553 ****
135: c
136: if (iczero) 35530, 5530, 35530
137: 5530 continue
138: ivon01 = 7151
139: ivcomp = ivon01/3/10
140: go to 45530
141: 35530 ivdele = ivdele + 1
142: write (i02,80003) ivtnum
143: if (iczero) 45530, 5541, 45530
144: 45530 if (ivcomp - 238) 25530,15530,25530
145: 15530 ivpass = ivpass + 1
146: write (i02,80001) ivtnum
147: go to 5541
148: 25530 ivfail = ivfail + 1
149: ivcorr = 238
150: write (i02,80004) ivtnum, ivcomp ,ivcorr
151: 5541 continue
152: ivtnum = 554
153: c
154: c **** test 554 ****
155: c
156: if (iczero) 35540, 5540, 35540
157: 5540 continue
158: ivon01 = -330
159: ivcomp = ivon01/3/2
160: go to 45540
161: 35540 ivdele = ivdele + 1
162: write (i02,80003) ivtnum
163: if (iczero) 45540, 5551, 45540
164: 45540 if (ivcomp + 55) 25540,15540,25540
165: 15540 ivpass = ivpass + 1
166: write (i02,80001) ivtnum
167: go to 5551
168: 25540 ivfail = ivfail + 1
169: ivcorr = -55
170: write (i02,80004) ivtnum, ivcomp ,ivcorr
171: 5551 continue
172: ivtnum = 555
173: c
174: c **** test 555 ****
175: c
176: if (iczero) 35550, 5550, 35550
177: 5550 continue
178: ivon01 = 15249
179: ivcomp = ivon01/(-13)/51
180: go to 45550
181: 35550 ivdele = ivdele + 1
182: write (i02,80003) ivtnum
183: if (iczero) 45550, 5561, 45550
184: 45550 if (ivcomp + 23) 25550,15550,25550
185: 15550 ivpass = ivpass + 1
186: write (i02,80001) ivtnum
187: go to 5561
188: 25550 ivfail = ivfail + 1
189: ivcorr = -23
190: write (i02,80004) ivtnum, ivcomp ,ivcorr
191: 5561 continue
192: ivtnum = 556
193: c
194: c **** test 556 ****
195: c
196: if (iczero) 35560, 5560, 35560
197: 5560 continue
198: ivon01 = -27342
199: ivcomp = ivon01/(-4)/(-3)
200: go to 45560
201: 35560 ivdele = ivdele + 1
202: write (i02,80003) ivtnum
203: if (iczero) 45560, 5571, 45560
204: 45560 if (ivcomp + 2278) 25560,15560,25560
205: 15560 ivpass = ivpass + 1
206: write (i02,80001) ivtnum
207: go to 5571
208: 25560 ivfail = ivfail + 1
209: ivcorr = -2278
210: write (i02,80004) ivtnum, ivcomp ,ivcorr
211: 5571 continue
212: ivtnum = 557
213: c
214: c **** test 557 ****
215: c
216: if (iczero) 35570, 5570, 35570
217: 5570 continue
218: ivon01 = -27342
219: ivcomp = -ivon01/4/(-3)
220: go to 45570
221: 35570 ivdele = ivdele + 1
222: write (i02,80003) ivtnum
223: if (iczero) 45570, 5581, 45570
224: 45570 if (ivcomp + 2278) 25570,15570,25570
225: 15570 ivpass = ivpass + 1
226: write (i02,80001) ivtnum
227: go to 5581
228: 25570 ivfail = ivfail + 1
229: ivcorr = -2278
230: write (i02,80004) ivtnum, ivcomp ,ivcorr
231: c
232: c test 558 through test 563 contain arithmetic assignment statements
233: c of the form iv=ic/iv/ic.
234: c
235: 5581 continue
236: ivtnum = 558
237: c
238: c **** test 558 ****
239: c
240: if (iczero) 35580, 5580, 35580
241: 5580 continue
242: ivon02 = 3
243: ivcomp = 24/ivon02/4
244: go to 45580
245: 35580 ivdele = ivdele + 1
246: write (i02,80003) ivtnum
247: if (iczero) 45580, 5591, 45580
248: 45580 if (ivcomp - 2) 25580,15580,25580
249: 15580 ivpass = ivpass + 1
250: write (i02,80001) ivtnum
251: go to 5591
252: 25580 ivfail = ivfail + 1
253: ivcorr = 2
254: write (i02,80004) ivtnum, ivcomp ,ivcorr
255: 5591 continue
256: ivtnum = 559
257: c
258: c **** test 559 ****
259: c
260: if (iczero) 35590, 5590, 35590
261: 5590 continue
262: ivon02 = 3
263: ivcomp = 7151/ivon02/10
264: go to 45590
265: 35590 ivdele = ivdele + 1
266: write (i02,80003) ivtnum
267: if (iczero) 45590, 5601, 45590
268: 45590 if (ivcomp - 238) 25590,15590,25590
269: 15590 ivpass = ivpass + 1
270: write (i02,80001) ivtnum
271: go to 5601
272: 25590 ivfail = ivfail + 1
273: ivcorr = 238
274: write (i02,80004) ivtnum, ivcomp ,ivcorr
275: 5601 continue
276: ivtnum = 560
277: c
278: c **** test 560 ****
279: c
280: if (iczero) 35600, 5600, 35600
281: 5600 continue
282: ivon02 = -3
283: ivcomp = 330/ivon02/2
284: go to 45600
285: 35600 ivdele = ivdele + 1
286: write (i02,80003) ivtnum
287: if (iczero) 45600, 5611, 45600
288: 45600 if (ivcomp +55) 25600,15600,25600
289: 15600 ivpass = ivpass + 1
290: write (i02,80001) ivtnum
291: go to 5611
292: 25600 ivfail = ivfail + 1
293: ivcorr = -55
294: write (i02,80004) ivtnum, ivcomp ,ivcorr
295: 5611 continue
296: ivtnum = 561
297: c
298: c **** test 561 ****
299: c
300: if (iczero) 35610, 5610, 35610
301: 5610 continue
302: ivon02 = +13
303: ivcomp = 15249/ivon02/(-51)
304: go to 45610
305: 35610 ivdele = ivdele + 1
306: write (i02,80003) ivtnum
307: if (iczero) 45610, 5621, 45610
308: 45610 if (ivcomp + 23) 25610,15610,25610
309: 15610 ivpass = ivpass + 1
310: write (i02,80001) ivtnum
311: go to 5621
312: 25610 ivfail = ivfail + 1
313: ivcorr = -23
314: write (i02,80004) ivtnum, ivcomp ,ivcorr
315: 5621 continue
316: ivtnum = 562
317: c
318: c **** test 562 ****
319: c
320: if (iczero) 35620, 5620, 35620
321: 5620 continue
322: ivon02 = -4
323: ivcomp = (-27342)/ivon02/(-3)
324: go to 45620
325: 35620 ivdele = ivdele + 1
326: write (i02,80003) ivtnum
327: if (iczero) 45620, 5631, 45620
328: 45620 if (ivcomp + 2278) 25620,15620,25620
329: 15620 ivpass = ivpass + 1
330: write (i02,80001) ivtnum
331: go to 5631
332: 25620 ivfail = ivfail + 1
333: ivcorr = -2278
334: write (i02,80004) ivtnum, ivcomp ,ivcorr
335: 5631 continue
336: ivtnum = 563
337: c
338: c **** test 563 ****
339: c
340: if (iczero) 35630, 5630, 35630
341: 5630 continue
342: ivon02 = -4
343: ivcomp = -27342/(-ivon02)/(-3)
344: go to 45630
345: 35630 ivdele = ivdele + 1
346: write (i02,80003) ivtnum
347: if (iczero) 45630, 5641, 45630
348: 45630 if (ivcomp - 2278) 25630,15630,25630
349: 15630 ivpass = ivpass + 1
350: write (i02,80001) ivtnum
351: go to 5641
352: 25630 ivfail = ivfail + 1
353: ivcorr = 2278
354: write (i02,80004) ivtnum, ivcomp ,ivcorr
355: c
356: c test 564 through test 569 contain arithmetic assignment statements
357: c of the form iv = ic/ic/iv.
358: c
359: 5641 continue
360: ivtnum = 564
361: c
362: c **** test 564 ****
363: c
364: if (iczero) 35640, 5640, 35640
365: 5640 continue
366: ivon03 = 4
367: ivcomp = 24/3/ivon03
368: go to 45640
369: 35640 ivdele = ivdele + 1
370: write (i02,80003) ivtnum
371: if (iczero) 45640, 5651, 45640
372: 45640 if (ivcomp -2) 25640,15640,25640
373: 15640 ivpass = ivpass + 1
374: write (i02,80001) ivtnum
375: go to 5651
376: 25640 ivfail = ivfail + 1
377: ivcorr = 2
378: write (i02,80004) ivtnum, ivcomp ,ivcorr
379: 5651 continue
380: ivtnum = 565
381: c
382: c **** test 565 ****
383: c
384: if (iczero) 35650, 5650, 35650
385: 5650 continue
386: ivon03 = 10
387: ivcomp = 7151/3/ivon03
388: go to 45650
389: 35650 ivdele = ivdele + 1
390: write (i02,80003) ivtnum
391: if (iczero) 45650, 5661, 45650
392: 45650 if (ivcomp - 238) 25650,15650,25650
393: 15650 ivpass = ivpass + 1
394: write (i02,80001) ivtnum
395: go to 5661
396: 25650 ivfail = ivfail + 1
397: ivcorr = 238
398: write (i02,80004) ivtnum, ivcomp ,ivcorr
399: 5661 continue
400: ivtnum = 566
401: c
402: c **** test 566 ****
403: c
404: if (iczero) 35660, 5660, 35660
405: 5660 continue
406: ivon03 = -2
407: ivcomp = 330/3/ivon03
408: go to 45660
409: 35660 ivdele = ivdele + 1
410: write (i02,80003) ivtnum
411: if (iczero) 45660, 5671, 45660
412: 45660 if (ivcomp + 55) 25660,15660,25660
413: 15660 ivpass = ivpass + 1
414: write (i02,80001) ivtnum
415: go to 5671
416: 25660 ivfail = ivfail + 1
417: ivcorr = -55
418: write (i02,80004) ivtnum, ivcomp ,ivcorr
419: 5671 continue
420: ivtnum = 567
421: c
422: c **** test 567 ****
423: c
424: if (iczero) 35670, 5670, 35670
425: 5670 continue
426: ivon03 = +51
427: ivcomp = 15249/(-13)/ivon03
428: go to 45670
429: 35670 ivdele = ivdele + 1
430: write (i02,80003) ivtnum
431: if (iczero) 45670, 5681, 45670
432: 45670 if (ivcomp + 23) 25670,15670,25670
433: 15670 ivpass = ivpass + 1
434: write (i02,80001) ivtnum
435: go to 5681
436: 25670 ivfail = ivfail + 1
437: ivcorr = -23
438: write (i02,80004) ivtnum, ivcomp ,ivcorr
439: 5681 continue
440: ivtnum = 568
441: c
442: c **** test 568 ****
443: c
444: if (iczero) 35680, 5680, 35680
445: 5680 continue
446: ivon03 = -3
447: ivcomp = (-27342)/(-4)/ivon03
448: go to 45680
449: 35680 ivdele = ivdele + 1
450: write (i02,80003) ivtnum
451: if (iczero) 45680, 5691, 45680
452: 45680 if (ivcomp + 2278) 25680,15680,25680
453: 15680 ivpass = ivpass + 1
454: write (i02,80001) ivtnum
455: go to 5691
456: 25680 ivfail = ivfail + 1
457: ivcorr = -2278
458: write (i02,80004) ivtnum, ivcomp ,ivcorr
459: 5691 continue
460: ivtnum = 569
461: c
462: c **** test 569 ****
463: c
464: if (iczero) 35690, 5690, 35690
465: 5690 continue
466: ivon03 = -3
467: ivcomp = -27342/(-4)/(-ivon03)
468: go to 45690
469: 35690 ivdele = ivdele + 1
470: write (i02,80003) ivtnum
471: if (iczero) 45690, 5701, 45690
472: 45690 if (ivcomp - 2278) 25690,15690,25690
473: 15690 ivpass = ivpass + 1
474: write (i02,80001) ivtnum
475: go to 5701
476: 25690 ivfail = ivfail + 1
477: ivcorr = 2278
478: write (i02,80004) ivtnum, ivcomp ,ivcorr
479: c
480: c test 570 and test 571 - iv =(iv/ic)/ic
481: c
482: 5701 continue
483: ivtnum = 570
484: c
485: c **** test 570 ****
486: c
487: if (iczero) 35700, 5700, 35700
488: 5700 continue
489: ivon01 = 24
490: ivcomp = (ivon01/3)/4
491: go to 45700
492: 35700 ivdele = ivdele + 1
493: write (i02,80003) ivtnum
494: if (iczero) 45700, 5711, 45700
495: 45700 if (ivcomp -2) 25700,15700,25700
496: 15700 ivpass = ivpass + 1
497: write (i02,80001) ivtnum
498: go to 5711
499: 25700 ivfail = ivfail + 1
500: ivcorr = 2
501: write (i02,80004) ivtnum, ivcomp ,ivcorr
502: 5711 continue
503: ivtnum = 571
504: c
505: c **** test 571 ****
506: c
507: if (iczero) 35710, 5710, 35710
508: 5710 continue
509: ivon01 = -330
510: ivcomp = (ivon01/(-3))/4
511: go to 45710
512: 35710 ivdele = ivdele + 1
513: write (i02,80003) ivtnum
514: if (iczero) 45710, 5721, 45710
515: 45710 if (ivcomp - 27) 25710,15710,25710
516: 15710 ivpass = ivpass + 1
517: write (i02,80001) ivtnum
518: go to 5721
519: 25710 ivfail = ivfail + 1
520: ivcorr = 27
521: write (i02,80004) ivtnum, ivcomp ,ivcorr
522: c
523: c test 572 and test 573 - iv= iv/(ic/ic)
524: c
525: 5721 continue
526: ivtnum = 572
527: c
528: c **** test 572 ****
529: c
530: if (iczero) 35720, 5720, 35720
531: 5720 continue
532: ivon01 = 24
533: ivcomp = ivon01/(8/4)
534: go to 45720
535: 35720 ivdele = ivdele + 1
536: write (i02,80003) ivtnum
537: if (iczero) 45720, 5731, 45720
538: 45720 if (ivcomp - 12) 25720,15720,25720
539: 15720 ivpass = ivpass + 1
540: write (i02,80001) ivtnum
541: go to 5731
542: 25720 ivfail = ivfail + 1
543: ivcorr = 12
544: write (i02,80004) ivtnum, ivcomp ,ivcorr
545: 5731 continue
546: ivtnum = 573
547: c
548: c **** test 573 ****
549: c
550: if (iczero) 35730, 5730, 35730
551: 5730 continue
552: ivon01 = -7154
553: ivcomp = -ivon01/((-26)/5)
554: go to 45730
555: 35730 ivdele = ivdele + 1
556: write (i02,80003) ivtnum
557: if (iczero) 45730, 5741, 45730
558: 45730 if (ivcomp + 1430) 25730,15730,25730
559: 15730 ivpass = ivpass + 1
560: write (i02,80001) ivtnum
561: go to 5741
562: 25730 ivfail = ivfail + 1
563: ivcorr = -1430
564: write (i02,80004) ivtnum, ivcomp ,ivcorr
565: c
566: c test 574 and test 575 - iv=(ic/iv)/ic
567: c
568: 5741 continue
569: ivtnum = 574
570: c
571: c **** test 574 ****
572: c
573: if (iczero) 35740, 5740, 35740
574: 5740 continue
575: ivon02 = 3
576: ivcomp = (24/ivon02)/4
577: go to 45740
578: 35740 ivdele = ivdele + 1
579: write (i02,80003) ivtnum
580: if (iczero) 45740, 5751, 45740
581: 45740 if (ivcomp -2) 25740,15740,25740
582: 15740 ivpass = ivpass + 1
583: write (i02,80001) ivtnum
584: go to 5751
585: 25740 ivfail = ivfail + 1
586: ivcorr = 2
587: write (i02,80004) ivtnum, ivcomp ,ivcorr
588: 5751 continue
589: ivtnum = 575
590: c
591: c **** test 575 ****
592: c
593: if (iczero) 35750, 5750, 35750
594: 5750 continue
595: ivon02 = -3
596: ivcomp = (-330/ivon02)/(-4)
597: go to 45750
598: 35750 ivdele = ivdele + 1
599: write (i02,80003) ivtnum
600: if (iczero) 45750, 5761, 45750
601: 45750 if (ivcomp + 27) 25750,15750,25750
602: 15750 ivpass = ivpass + 1
603: write (i02,80001) ivtnum
604: go to 5761
605: 25750 ivfail = ivfail + 1
606: ivcorr = -27
607: write (i02,80004) ivtnum, ivcomp ,ivcorr
608: c
609: c test 576 and test 577 - iv=ic/(iv/ic)
610: c
611: 5761 continue
612: ivtnum = 576
613: c
614: c **** test 576 ****
615: c
616: if (iczero) 35760, 5760, 35760
617: 5760 continue
618: ivon02 = 8
619: ivcomp = 24/(ivon02/4)
620: go to 45760
621: 35760 ivdele = ivdele + 1
622: write (i02,80003) ivtnum
623: if (iczero) 45760, 5771, 45760
624: 45760 if (ivcomp - 12) 25760,15760,25760
625: 15760 ivpass = ivpass + 1
626: write (i02,80001) ivtnum
627: go to 5771
628: 25760 ivfail = ivfail + 1
629: ivcorr = 12
630: write (i02,80004) ivtnum, ivcomp ,ivcorr
631: 5771 continue
632: ivtnum = 577
633: c
634: c **** test 577 ****
635: c
636: if (iczero) 35770, 5770, 35770
637: 5770 continue
638: ivon02 = -26
639: ivcomp = 7154/((-ivon02)/(-5))
640: go to 45770
641: 35770 ivdele = ivdele + 1
642: write (i02,80003) ivtnum
643: if (iczero) 45770, 5781, 45770
644: 45770 if (ivcomp + 1430) 25770,15770,25770
645: 15770 ivpass = ivpass + 1
646: write (i02,80001) ivtnum
647: go to 5781
648: 25770 ivfail = ivfail + 1
649: ivcorr = -1430
650: write (i02,80004) ivtnum, ivcomp ,ivcorr
651: c
652: c test 578 and test 579 - iv=(ic/ic)/iv
653: c
654: 5781 continue
655: ivtnum = 578
656: c
657: c **** test 578 ****
658: c
659: if (iczero) 35780, 5780, 35780
660: 5780 continue
661: ivon03 = 4
662: ivcomp = (24/3)/ivon03
663: go to 45780
664: 35780 ivdele = ivdele + 1
665: write (i02,80003) ivtnum
666: if (iczero) 45780, 5791, 45780
667: 45780 if (ivcomp - 2) 25780,15780,25780
668: 15780 ivpass = ivpass + 1
669: write (i02,80001) ivtnum
670: go to 5791
671: 25780 ivfail = ivfail + 1
672: ivcorr = 2
673: write (i02,80004) ivtnum, ivcomp ,ivcorr
674: 5791 continue
675: ivtnum = 579
676: c
677: c **** test 579 ****
678: c
679: if (iczero) 35790, 5790, 35790
680: 5790 continue
681: ivon03 = -4
682: ivcomp = (330/(-3))/ivon03
683: go to 45790
684: 35790 ivdele = ivdele + 1
685: write (i02,80003) ivtnum
686: if (iczero) 45790, 5801, 45790
687: 45790 if (ivcomp - 27) 25790,15790,25790
688: 15790 ivpass = ivpass + 1
689: write (i02,80001) ivtnum
690: go to 5801
691: 25790 ivfail = ivfail + 1
692: ivcorr = 27
693: write (i02,80004) ivtnum, ivcomp ,ivcorr
694: c
695: c test 580 and test 581 - iv= ic/(ic/iv)
696: c
697: 5801 continue
698: ivtnum = 580
699: c
700: c **** test 580 ****
701: c
702: if (iczero) 35800, 5800, 35800
703: 5800 continue
704: ivon03 = 4
705: ivcomp = 24/(8/ivon03)
706: go to 45800
707: 35800 ivdele = ivdele + 1
708: write (i02,80003) ivtnum
709: if (iczero) 45800, 5811, 45800
710: 45800 if (ivcomp - 12) 25800,15800,25800
711: 15800 ivpass = ivpass + 1
712: write (i02,80001) ivtnum
713: go to 5811
714: 25800 ivfail = ivfail + 1
715: ivcorr = 12
716: write (i02,80004) ivtnum, ivcomp ,ivcorr
717: 5811 continue
718: ivtnum = 581
719: c
720: c **** test 581 ****
721: c
722: if (iczero) 35810, 5810, 35810
723: 5810 continue
724: ivon03 = -5
725: ivcomp = -7154/((-26)/ivon03)
726: go to 45810
727: 35810 ivdele = ivdele + 1
728: write (i02,80003) ivtnum
729: if (iczero) 45810, 5821, 45810
730: 45810 if (ivcomp + 1430) 25810,15810,25810
731: 15810 ivpass = ivpass + 1
732: write (i02,80001) ivtnum
733: go to 5821
734: 25810 ivfail = ivfail + 1
735: ivcorr = -1430
736: write (i02,80004) ivtnum, ivcomp ,ivcorr
737: c
738: c **** end of tests ****
739: 5821 continue
740: c
741: c write page footings and run summaries
742: 99999 continue
743: write (i02,90002)
744: write (i02,90006)
745: write (i02,90002)
746: write (i02,90002)
747: write (i02,90007)
748: write (i02,90002)
749: write (i02,90008) ivfail
750: write (i02,90009) ivpass
751: write (i02,90010) ivdele
752: c
753: c
754: c terminate routine execution
755: stop
756: c
757: c format statements for page headers
758: 90000 format (1h1)
759: 90002 format (1h )
760: 90001 format (1h ,10x,34hfortran compiler validation system)
761: 90003 format (1h ,21x,11hversion 1.0)
762: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
763: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
764: 90006 format (1h ,5x,46h----------------------------------------------)
765: 90011 format (1h ,18x,17hsubset level test)
766: c
767: c format statements for run summaries
768: 90008 format (1h ,15x,i5,19h errors encountered)
769: 90009 format (1h ,15x,i5,13h tests passed)
770: 90010 format (1h ,15x,i5,14h tests deleted)
771: c
772: c format statements for test results
773: 80001 format (1h ,4x,i5,7x,4hpass)
774: 80002 format (1h ,4x,i5,7x,4hfail)
775: 80003 format (1h ,4x,i5,7x,7hdeleted)
776: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
777: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
778: c
779: 90007 format (1h ,20x,20hend of program fm039)
780: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.