|
|
1.1 root 1: c comment section
2: c
3: c fm042
4: c
5: c this routine tests arithmetic assignments of the
6: c form integer variable = primary ** primary
7: c where the first of two primaries is an integer variable or an
8: c integer constant and the second primary is an integer variable.
9: c
10: c references
11: c american national standard programming language fortran,
12: c x3.9-1978
13: c
14: c section 4.3, integer type
15: c section 4.3.1, integer constant
16: c section 6.1, arithmetic expressions
17: c section 10.1, arithmetic assignment statement
18: c
19: c
20: c **********************************************************
21: c
22: c a compiler validation system for the fortran language
23: c based on specifications as defined in american national standard
24: c programming language fortran x3.9-1978, has been developed by the
25: c federal cobol compiler testing service. the fortran compiler
26: c validation system (fcvs) consists of audit routines, their related
27: c data, and an executive system. each audit routine is a fortran
28: c program, subprogram or function which includes tests of specific
29: c language elements and supporting procedures indicating the result
30: c of executing these tests.
31: c
32: c this particular program/subprogram/function contains features
33: c found only in the subset as defined in x3.9-1978.
34: c
35: c suggestions and comments should be forwarded to -
36: c
37: c department of the navy
38: c federal cobol compiler testing service
39: c washington, d.c. 20376
40: c
41: c **********************************************************
42: c
43: c
44: c
45: c initialization section
46: c
47: c initialize constants
48: c **************
49: c i01 contains the logical unit number for the card reader.
50: i01 = 5
51: c i02 contains the logical unit number for the printer.
52: i02 = 6
53: c system environment section
54: c
55: cx010 this card is replaced by contents of fexec x-010 control card.
56: c the cx010 card is for overriding the program default i01 = 5
57: c (unit number for card reader).
58: cx011 this card is replaced by contents of fexec x-011 control card.
59: c the cx011 card is for systems which require additional
60: c fortran statements for files associated with cx010 above.
61: c
62: cx020 this card is replaced by contents of fexec x-020 control card.
63: c the cx020 card is for overriding the program default i02 = 6
64: c (unit number for printer).
65: cx021 this card is replaced by contents of fexec x-021 control card.
66: c the cx021 card is for systems which require additional
67: c fortran statements for files associated with cx020 above.
68: c
69: ivpass=0
70: ivfail=0
71: ivdele=0
72: iczero=0
73: c
74: c write page headers
75: write (i02,90000)
76: write (i02,90001)
77: write (i02,90002)
78: write (i02, 90002)
79: write (i02,90003)
80: write (i02,90002)
81: write (i02,90004)
82: write (i02,90002)
83: write (i02,90011)
84: write (i02,90002)
85: write (i02,90002)
86: write (i02,90005)
87: write (i02,90006)
88: write (i02,90002)
89: c
90: c test section
91: c
92: c arithmetic assignment statement
93: c
94: c test 649 through test 665 contain arithmetic assignment statements
95: c of the form integer variable = integer const. ** integer var.
96: c
97: c test 666 through test 682 contain arithmetic assignment statements
98: c of the form integer variable = integer var. ** integer var.
99: c
100: c
101: ivtnum = 649
102: c
103: c **** test 649 ****
104: c test 649 - small number base; zero exponent
105: c
106: if (iczero) 36490, 6490, 36490
107: 6490 continue
108: ivon01 = 0
109: ivcomp = 1 ** ivon01
110: go to 46490
111: 36490 ivdele = ivdele + 1
112: write (i02,80003) ivtnum
113: if (iczero) 46490, 6501, 46490
114: 46490 if (ivcomp - 1) 26490,16490,26490
115: 16490 ivpass = ivpass + 1
116: write (i02,80001) ivtnum
117: go to 6501
118: 26490 ivfail = ivfail + 1
119: ivcorr = 1
120: write (i02,80004) ivtnum, ivcomp ,ivcorr
121: 6501 continue
122: ivtnum = 650
123: c
124: c **** test 650 ****
125: c test 650 - zero base to first power
126: c
127: if (iczero) 36500, 6500, 36500
128: 6500 continue
129: ivon01 = 1
130: ivcomp = 0 ** ivon01
131: go to 46500
132: 36500 ivdele = ivdele + 1
133: write (i02,80003) ivtnum
134: if (iczero) 46500, 6511, 46500
135: 46500 if (ivcomp) 26500,16500,26500
136: 16500 ivpass = ivpass + 1
137: write (i02,80001) ivtnum
138: go to 6511
139: 26500 ivfail = ivfail + 1
140: ivcorr = 0
141: write (i02,80004) ivtnum, ivcomp, ivcorr
142: 6511 continue
143: ivtnum = 651
144: c
145: c **** test 651 ****
146: c test 651 - base =1; exponent = 1
147: c
148: if (iczero) 36510, 6510, 36510
149: 6510 continue
150: ivon01 = 1
151: ivcomp = 1 ** ivon01
152: go to 46510
153: 36510 ivdele = ivdele + 1
154: write (i02,80003) ivtnum
155: if (iczero) 46510, 6521, 46510
156: 46510 if (ivcomp - 1) 26510,16510,26510
157: 16510 ivpass = ivpass + 1
158: write (i02,80001) ivtnum
159: go to 6521
160: 26510 ivfail = ivfail + 1
161: ivcorr = 1
162: write (i02,80004) ivtnum, ivcomp, ivcorr
163: 6521 continue
164: ivtnum = 652
165: c
166: c **** test 652 ****
167: c test 652 - large exponent
168: c
169: if (iczero) 36520, 6520, 36520
170: 6520 continue
171: ivon01 = 32767
172: ivcomp = 1 ** ivon01
173: go to 46520
174: 36520 ivdele = ivdele + 1
175: write (i02,80003) ivtnum
176: if (iczero) 46520, 6531, 46520
177: 46520 if (ivcomp - 1) 26520,16520,26520
178: 16520 ivpass = ivpass + 1
179: write (i02,80001) ivtnum
180: go to 6531
181: 26520 ivfail = ivfail + 1
182: ivcorr = 1
183: write (i02,80004) ivtnum, ivcomp, ivcorr
184: 6531 continue
185: ivtnum = 653
186: c
187: c **** test 653 ****
188: c test 653 - large number base; exponent = 1
189: c
190: if (iczero) 36530, 6530, 36530
191: 6530 continue
192: ivon01 = 1
193: ivcomp = 32767 ** ivon01
194: go to 46530
195: 36530 ivdele = ivdele + 1
196: write (i02,80003) ivtnum
197: if (iczero) 46530, 6541, 46530
198: 46530 if (ivcomp - 32767) 26530,16530,26530
199: 16530 ivpass = ivpass + 1
200: write (i02,80001) ivtnum
201: go to 6541
202: 26530 ivfail = ivfail + 1
203: ivcorr = 32767
204: write (i02,80004) ivtnum, ivcomp, ivcorr
205: 6541 continue
206: ivtnum = 654
207: c
208: c **** test 654 ****
209: c test 654 - zero base; large number exponent
210: c
211: if (iczero) 36540, 6540, 36540
212: 6540 continue
213: ivon01 = 32767
214: ivcomp = 0 ** ivon01
215: go to 46540
216: 36540 ivdele = ivdele + 1
217: write (i02,80003) ivtnum
218: if (iczero) 46540, 6551, 46540
219: 46540 if (ivcomp) 26540,16540,26540
220: 16540 ivpass = ivpass + 1
221: write (i02,80001) ivtnum
222: go to 6551
223: 26540 ivfail = ivfail + 1
224: ivcorr = 0
225: write (i02,80004) ivtnum, ivcomp, ivcorr
226: 6551 continue
227: ivtnum = 655
228: c
229: c **** test 655 ****
230: c test 655 -large number base; zero exponent
231: c
232: if (iczero) 36550, 6550, 36550
233: 6550 continue
234: ivon01 = 0
235: ivcomp = 32767 ** ivon01
236: go to 46550
237: 36550 ivdele = ivdele + 1
238: write (i02,80003) ivtnum
239: if (iczero) 46550, 6561, 46550
240: 46550 if (ivcomp -1) 26550,16550,26550
241: 16550 ivpass = ivpass + 1
242: write (i02,80001) ivtnum
243: go to 6561
244: 26550 ivfail = ivfail + 1
245: ivcorr = 1
246: write (i02,80004) ivtnum, ivcomp, ivcorr
247: 6561 continue
248: ivtnum = 656
249: c
250: c **** test 656 ****
251: c test 656 -exponent is power of two
252: c
253: if (iczero) 36560, 6560, 36560
254: 6560 continue
255: ivon01 = 2
256: ivcomp = 181 ** ivon01
257: go to 46560
258: 36560 ivdele = ivdele + 1
259: write (i02,80003) ivtnum
260: if (iczero) 46560, 6571, 46560
261: 46560 if (ivcomp - 32761) 26560,16560,26560
262: 16560 ivpass = ivpass + 1
263: write (i02,80001) ivtnum
264: go to 6571
265: 26560 ivfail = ivfail + 1
266: ivcorr = 32761
267: write (i02,80004) ivtnum, ivcomp, ivcorr
268: 6571 continue
269: ivtnum = 657
270: c
271: c **** test 657 ****
272: c test 657 - base and exponent are both powers of two
273: c
274: if (iczero) 36570, 6570, 36570
275: 6570 continue
276: ivon01 = 8
277: ivcomp = 2 ** ivon01
278: go to 46570
279: 36570 ivdele = ivdele + 1
280: write (i02,80003) ivtnum
281: if (iczero) 46570, 6581, 46570
282: 46570 if (ivcomp - 256) 26570,16570,26560
283: 16570 ivpass = ivpass + 1
284: write (i02,80001) ivtnum
285: go to 6581
286: 26570 ivfail = ivfail + 1
287: ivcorr = 256
288: write (i02,80004) ivtnum, ivcomp, ivcorr
289: 6581 continue
290: c
291: c tests 658 and 659 test to ensure exponentiation operator is
292: c not commutative
293: c
294: ivtnum = 658
295: c
296: c **** test 658 ****
297: c
298: if (iczero) 36580, 6580, 36580
299: 6580 continue
300: ivon01 = 9
301: ivcomp = 3 ** ivon01
302: go to 46580
303: 36580 ivdele = ivdele + 1
304: write (i02,80003) ivtnum
305: if (iczero) 46580, 6591, 46580
306: 46580 if (ivcomp - 19683) 26580,16580,26580
307: 16580 ivpass = ivpass + 1
308: write (i02,80001) ivtnum
309: go to 6591
310: 26580 ivfail = ivfail + 1
311: ivcorr = 19683
312: write (i02,80004) ivtnum, ivcomp, ivcorr
313: 6591 continue
314: ivtnum = 659
315: c
316: c **** test 659 ****
317: c
318: if (iczero) 36590, 6590, 36590
319: 6590 continue
320: ivon01 = 3
321: ivcomp = 9 ** ivon01
322: go to 46590
323: 36590 ivdele = ivdele + 1
324: write (i02,80003) ivtnum
325: if (iczero) 46590, 6601, 46590
326: 46590 if (ivcomp - 729) 26590,16590,26590
327: 16590 ivpass = ivpass + 1
328: write (i02,80001) ivtnum
329: go to 6601
330: 26590 ivfail = ivfail + 1
331: ivcorr = 729
332: write (i02,80004) ivtnum, ivcomp, ivcorr
333: 6601 continue
334: c
335: c tests 660 through 665 test positive and negative bases to positive
336: c odd and even number powers checking the sign
337: c of the results
338: c
339: ivtnum = 660
340: c
341: c **** test 660 ****
342: c
343: if (iczero) 36600, 6600, 36600
344: 6600 continue
345: ivon01 = 2
346: ivcomp = 1 ** ivon01
347: go to 46600
348: 36600 ivdele = ivdele + 1
349: write (i02,80003) ivtnum
350: if (iczero) 46600, 6611, 46600
351: 46600 if (ivcomp - 1) 26600,16600,26600
352: 16600 ivpass = ivpass + 1
353: write (i02,80001) ivtnum
354: go to 6611
355: 26600 ivfail = ivfail + 1
356: ivcorr = 1
357: write (i02,80004) ivtnum, ivcomp, ivcorr
358: 6611 continue
359: ivtnum = 661
360: c
361: c **** test 661 ****
362: c
363: if (iczero) 36610, 6610, 36610
364: 6610 continue
365: ivon01 = 2
366: ivcomp = ( -1) ** ivon01
367: go to 46610
368: 36610 ivdele = ivdele + 1
369: write (i02,80003) ivtnum
370: if (iczero) 46610, 6621, 46610
371: 46610 if (ivcomp - 1) 26610,16610,26610
372: 16610 ivpass = ivpass + 1
373: write (i02,80001) ivtnum
374: go to 6621
375: 26610 ivfail = ivfail + 1
376: ivcorr = 1
377: write (i02,80004) ivtnum, ivcomp, ivcorr
378: 6621 continue
379: ivtnum = 662
380: c
381: c **** test 662 ****
382: c
383: if (iczero) 36620, 6620, 36620
384: 6620 continue
385: ivon01 = 3
386: ivcomp = 7 ** ivon01
387: go to 46620
388: 36620 ivdele = ivdele + 1
389: write (i02,80003) ivtnum
390: if (iczero) 46620, 6631, 46620
391: 46620 if (ivcomp - 343) 26620,16620,26620
392: 16620 ivpass = ivpass + 1
393: write (i02,80001) ivtnum
394: go to 6631
395: 26620 ivfail = ivfail + 1
396: ivcorr = 343
397: write (i02,80004) ivtnum, ivcomp, ivcorr
398: 6631 continue
399: ivtnum = 663
400: c
401: c **** test 663 ****
402: c
403: if (iczero) 36630, 6630, 36630
404: 6630 continue
405: ivon01 = 3
406: ivcomp = (-7) **ivon01
407: go to 46630
408: 36630 ivdele = ivdele + 1
409: write (i02,80003) ivtnum
410: if (iczero) 46630, 6641, 46630
411: 46630 if (ivcomp + 343) 26630,16630,26630
412: 16630 ivpass = ivpass + 1
413: write (i02,80001) ivtnum
414: go to 6641
415: 26630 ivfail = ivfail + 1
416: ivcorr = -343
417: write (i02,80004) ivtnum, ivcomp, ivcorr
418: 6641 continue
419: ivtnum = 664
420: c
421: c **** test 664 ****
422: c
423: if (iczero) 36640, 6640, 36640
424: 6640 continue
425: ivon01 = 4
426: ivcomp = 7 ** ivon01
427: go to 46640
428: 36640 ivdele = ivdele + 1
429: write (i02,80003) ivtnum
430: if (iczero) 46640, 6651, 46640
431: 46640 if (ivcomp - 2401) 26640,16640,26640
432: 16640 ivpass = ivpass + 1
433: write (i02,80001) ivtnum
434: go to 6651
435: 26640 ivfail = ivfail + 1
436: ivcorr = 2401
437: write (i02,80004) ivtnum, ivcomp, ivcorr
438: 6651 continue
439: ivtnum = 665
440: c
441: c **** test 665 ****
442: c
443: if (iczero) 36650, 6650, 36650
444: 6650 continue
445: ivon01 = 4
446: ivcomp = (-7) ** ivon01
447: go to 46650
448: 36650 ivdele = ivdele + 1
449: write (i02,80003) ivtnum
450: if (iczero) 46650, 6661, 46650
451: 46650 if (ivcomp - 2401) 26650,16650,26650
452: 16650 ivpass = ivpass + 1
453: write (i02,80001) ivtnum
454: go to 6661
455: 26650 ivfail = ivfail + 1
456: ivcorr = 2401
457: write (i02,80004) ivtnum, ivcomp, ivcorr
458: 6661 continue
459: ivtnum = 666
460: c
461: c **** test 666 ****
462: c test 666 - small number base; zero exponent
463: c
464: if (iczero) 36660, 6660, 36660
465: 6660 continue
466: ivon01 = 1
467: ivon02 = 0
468: ivcomp = ivon01 ** ivon02
469: go to 46660
470: 36660 ivdele = ivdele + 1
471: write (i02,80003) ivtnum
472: if (iczero) 46660, 6671, 46660
473: 46660 if (ivcomp - 1) 26660,16660,26660
474: 16660 ivpass = ivpass + 1
475: write (i02,80001) ivtnum
476: go to 6671
477: 26660 ivfail = ivfail + 1
478: ivcorr = 1
479: write (i02,80004) ivtnum, ivcomp, ivcorr
480: 6671 continue
481: ivtnum = 667
482: c
483: c **** test 667 ****
484: c test 667 - zero base to first power
485: c
486: if (iczero) 36670, 6670, 36670
487: 6670 continue
488: ivon01 = 0
489: ivon02 = 1
490: ivcomp = ivon01 ** ivon02
491: go to 46670
492: 36670 ivdele = ivdele + 1
493: write (i02,80003) ivtnum
494: if (iczero) 46670, 6681, 46670
495: 46670 if (ivcomp) 26670,16670,26670
496: 16670 ivpass = ivpass + 1
497: write (i02,80001) ivtnum
498: go to 6681
499: 26670 ivfail = ivfail + 1
500: ivcorr = 0
501: write (i02,80004) ivtnum, ivcomp, ivcorr
502: 6681 continue
503: ivtnum = 668
504: c
505: c **** test 668 ****
506: c test 668 - base =1; exponent = 1
507: c
508: if (iczero) 36680, 6680, 36680
509: 6680 continue
510: ivon01 = 1
511: ivon02 = 1
512: ivcomp = ivon01 ** ivon02
513: go to 46680
514: 36680 ivdele = ivdele + 1
515: write (i02,80003) ivtnum
516: if (iczero) 46680, 6691, 46680
517: 46680 if (ivcomp - 1) 26680,16680,26680
518: 16680 ivpass = ivpass + 1
519: write (i02,80001) ivtnum
520: go to 6691
521: 26680 ivfail = ivfail + 1
522: ivcorr = 1
523: write (i02,80004) ivtnum, ivcomp, ivcorr
524: 6691 continue
525: ivtnum = 669
526: c
527: c **** test 669 ****
528: c test 669 - large exponent
529: c
530: if (iczero) 36690, 6690, 36690
531: 6690 continue
532: ivon01 = 1
533: ivon02 = 32767
534: ivcomp = ivon01 ** ivon02
535: go to 46690
536: 36690 ivdele = ivdele + 1
537: write (i02,80003) ivtnum
538: if (iczero) 46690, 6701, 46690
539: 46690 if (ivcomp - 1) 26690,16690,26690
540: 16690 ivpass = ivpass + 1
541: write (i02,80001) ivtnum
542: go to 6701
543: 26690 ivfail = ivfail + 1
544: ivcorr = 1
545: write (i02,80004) ivtnum, ivcomp, ivcorr
546: 6701 continue
547: ivtnum = 670
548: c
549: c **** test 670 ****
550: c test 670 - large number base; exponent = 1
551: c
552: if (iczero) 36700, 6700, 36700
553: 6700 continue
554: ivon01 = 32767
555: ivon02 = 1
556: ivcomp = ivon01 ** ivon02
557: go to 46700
558: 36700 ivdele = ivdele + 1
559: write (i02,80003) ivtnum
560: if (iczero) 46700, 6711, 46700
561: 46700 if (ivcomp - 32767) 26700,16700,26700
562: 16700 ivpass = ivpass + 1
563: write (i02,80001) ivtnum
564: go to 6711
565: 26700 ivfail = ivfail + 1
566: ivcorr = 32767
567: write (i02,80004) ivtnum, ivcomp, ivcorr
568: 6711 continue
569: ivtnum = 671
570: c
571: c **** test 671 ****
572: c test 671 - zero base; large number exponent
573: c
574: if (iczero) 36710, 6710, 36710
575: 6710 continue
576: ivon01 = 0
577: ivon02 = 32767
578: ivcomp = ivon01 ** ivon02
579: go to 46710
580: 36710 ivdele = ivdele + 1
581: write (i02,80003) ivtnum
582: if (iczero) 46710, 6721, 46710
583: 46710 if (ivcomp) 26710,16710,26710
584: 16710 ivpass = ivpass + 1
585: write (i02,80001) ivtnum
586: go to 6721
587: 26710 ivfail = ivfail + 1
588: ivcorr = 0
589: write (i02,80004) ivtnum, ivcomp, ivcorr
590: 6721 continue
591: ivtnum = 672
592: c
593: c **** test 672 ****
594: c test 672 -large number base; zero exponent
595: c
596: if (iczero) 36720, 6720, 36720
597: 6720 continue
598: ivon01 = 32767
599: ivon02 = 0
600: ivcomp = ivon01 ** ivon02
601: go to 46720
602: 36720 ivdele = ivdele + 1
603: write (i02,80003) ivtnum
604: if (iczero) 46720, 6731, 46720
605: 46720 if (ivcomp -1) 26720,16720,26720
606: 16720 ivpass = ivpass + 1
607: write (i02,80001) ivtnum
608: go to 6731
609: 26720 ivfail = ivfail + 1
610: ivcorr = 1
611: write (i02,80004) ivtnum, ivcomp, ivcorr
612: 6731 continue
613: ivtnum = 673
614: c
615: c **** test 673 ****
616: c test 673 -exponent is power of two
617: c
618: if (iczero) 36730, 6730, 36730
619: 6730 continue
620: ivon01 = 181
621: ivon02 = 2
622: ivcomp = ivon01 ** ivon02
623: go to 46730
624: 36730 ivdele = ivdele + 1
625: write (i02,80003) ivtnum
626: if (iczero) 46730, 6741, 46730
627: 46730 if (ivcomp - 32761) 26730,16730,26730
628: 16730 ivpass = ivpass + 1
629: write (i02,80001) ivtnum
630: go to 6741
631: 26730 ivfail = ivfail + 1
632: ivcorr = 32761
633: write (i02,80004) ivtnum, ivcomp, ivcorr
634: 6741 continue
635: ivtnum = 674
636: c
637: c **** test 674 ****
638: c test 674 - base and exponent are both powers of two
639: c
640: if (iczero) 36740, 6740, 36740
641: 6740 continue
642: ivon01 = 2
643: ivon02 = 8
644: ivcomp = ivon01 ** ivon02
645: go to 46740
646: 36740 ivdele = ivdele + 1
647: write (i02,80003) ivtnum
648: if (iczero) 46740, 6751, 46740
649: 46740 if (ivcomp - 256) 26740,16740,26740
650: 16740 ivpass = ivpass + 1
651: write (i02,80001) ivtnum
652: go to 6751
653: 26740 ivfail = ivfail + 1
654: ivcorr = 256
655: write (i02,80004) ivtnum, ivcomp, ivcorr
656: 6751 continue
657: c
658: c tests 675 and 676 test to ensure exponentiation operator is
659: c not commutative
660: c
661: ivtnum = 675
662: c
663: c **** test 675 ****
664: c
665: if (iczero) 36750, 6750, 36750
666: 6750 continue
667: ivon01 = 3
668: ivon02 = 9
669: ivcomp = ivon01 ** ivon02
670: go to 46750
671: 36750 ivdele = ivdele + 1
672: write (i02,80003) ivtnum
673: if (iczero) 46750, 6761, 46750
674: 46750 if (ivcomp - 19683) 26750,16750,26750
675: 16750 ivpass = ivpass + 1
676: write (i02,80001) ivtnum
677: go to 6761
678: 26750 ivfail = ivfail + 1
679: ivcorr = 19683
680: write (i02,80004) ivtnum, ivcomp, ivcorr
681: 6761 continue
682: ivtnum = 676
683: c
684: c **** test 676 ****
685: c
686: if (iczero) 36760, 6760, 36760
687: 6760 continue
688: ivon01 = 9
689: ivon02 = 3
690: ivcomp = ivon01 ** ivon02
691: go to 46760
692: 36760 ivdele = ivdele + 1
693: write (i02,80003) ivtnum
694: if (iczero) 46760, 6771, 46760
695: 46760 if (ivcomp - 729) 26760,16760,26760
696: 16760 ivpass = ivpass + 1
697: write (i02,80001) ivtnum
698: go to 6771
699: 26760 ivfail = ivfail + 1
700: ivcorr = 729
701: write (i02,80004) ivtnum, ivcomp, ivcorr
702: 6771 continue
703: c
704: c tests 677 through 682 test positive and negative bases to positive
705: c odd and even number powers checking the sign
706: c of the results
707: c
708: ivtnum = 677
709: c
710: c **** test 677 ****
711: c
712: if (iczero) 36770, 6770, 36770
713: 6770 continue
714: ivon01 = 1
715: ivon02 = 2
716: ivcomp = ivon01 ** ivon02
717: go to 46770
718: 36770 ivdele = ivdele + 1
719: write (i02,80003) ivtnum
720: if (iczero) 46770, 6781, 46770
721: 46770 if (ivcomp - 1) 26770,16770,26770
722: 16770 ivpass = ivpass + 1
723: write (i02,80001) ivtnum
724: go to 6781
725: 26770 ivfail = ivfail + 1
726: ivcorr = 1
727: write (i02,80004) ivtnum, ivcomp, ivcorr
728: 6781 continue
729: ivtnum = 678
730: c
731: c **** test 678 ****
732: c
733: if (iczero) 36780, 6780, 36780
734: 6780 continue
735: ivon01 = -1
736: ivon02 = 2
737: ivcomp = ivon01 ** ivon02
738: go to 46780
739: 36780 ivdele = ivdele + 1
740: write (i02,80003) ivtnum
741: if (iczero) 46780, 6791, 46780
742: 46780 if (ivcomp - 1) 26780,16780,26780
743: 16780 ivpass = ivpass + 1
744: write (i02,80001) ivtnum
745: go to 6791
746: 26780 ivfail = ivfail + 1
747: ivcorr = 1
748: write (i02,80004) ivtnum, ivcomp, ivcorr
749: 6791 continue
750: ivtnum = 679
751: c
752: c **** test 679 ****
753: c
754: if (iczero) 36790, 6790, 36790
755: 6790 continue
756: ivon01 = 7
757: ivon02 = 3
758: ivcomp = ivon01 ** ivon02
759: go to 46790
760: 36790 ivdele = ivdele + 1
761: write (i02,80003) ivtnum
762: if (iczero) 46790, 6801, 46790
763: 46790 if (ivcomp - 343) 26790,16790,26790
764: 16790 ivpass = ivpass + 1
765: write (i02,80001) ivtnum
766: go to 6801
767: 26790 ivfail = ivfail + 1
768: ivcorr = 343
769: write (i02,80004) ivtnum, ivcomp, ivcorr
770: 6801 continue
771: ivtnum = 680
772: c
773: c **** test 680 ****
774: c
775: if (iczero) 36800, 6800, 36800
776: 6800 continue
777: ivon01 = -7
778: ivon02 = 3
779: ivcomp = ivon01 ** ivon02
780: go to 46800
781: 36800 ivdele = ivdele + 1
782: write (i02,80003) ivtnum
783: if (iczero) 46800, 6811, 46800
784: 46800 if (ivcomp + 343) 26800,16800,26800
785: 16800 ivpass = ivpass + 1
786: write (i02,80001) ivtnum
787: go to 6811
788: 26800 ivfail = ivfail + 1
789: ivcorr = -343
790: write (i02,80004) ivtnum, ivcomp, ivcorr
791: 6811 continue
792: ivtnum = 681
793: c
794: c **** test 681 ****
795: c
796: if (iczero) 36810, 6810, 36810
797: 6810 continue
798: ivon01 = 7
799: ivon02 = 4
800: ivcomp = ivon01 ** ivon02
801: go to 46810
802: 36810 ivdele = ivdele + 1
803: write (i02,80003) ivtnum
804: if (iczero) 46810, 6821, 46810
805: 46810 if (ivcomp - 2401) 26810,16810,26810
806: 16810 ivpass = ivpass + 1
807: write (i02,80001) ivtnum
808: go to 6821
809: 26810 ivfail = ivfail + 1
810: ivcorr = 2401
811: write (i02,80004) ivtnum, ivcomp, ivcorr
812: 6821 continue
813: ivtnum = 682
814: c
815: c **** test 682 ****
816: c
817: if (iczero) 36820, 6820, 36820
818: 6820 continue
819: ivon01 = -7
820: ivon02 = 4
821: ivcomp = ivon01 ** ivon02
822: go to 46820
823: 36820 ivdele = ivdele + 1
824: write (i02,80003) ivtnum
825: if (iczero) 46820, 6831, 46820
826: 46820 if (ivcomp - 2401) 26820,16820,26820
827: 16820 ivpass = ivpass + 1
828: write (i02,80001) ivtnum
829: go to 6831
830: 26820 ivfail = ivfail + 1
831: ivcorr = 2401
832: write (i02,80004) ivtnum, ivcomp, ivcorr
833: 6831 continue
834: c
835: c write page footings and run summaries
836: 99999 continue
837: write (i02,90002)
838: write (i02,90006)
839: write (i02,90002)
840: write (i02,90002)
841: write (i02,90007)
842: write (i02,90002)
843: write (i02,90008) ivfail
844: write (i02,90009) ivpass
845: write (i02,90010) ivdele
846: c
847: c
848: c terminate routine execution
849: stop
850: c
851: c format statements for page headers
852: 90000 format (1h1)
853: 90002 format (1h )
854: 90001 format (1h ,10x,34hfortran compiler validation system)
855: 90003 format (1h ,21x,11hversion 1.0)
856: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
857: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
858: 90006 format (1h ,5x,46h----------------------------------------------)
859: 90011 format (1h ,18x,17hsubset level test)
860: c
861: c format statements for run summaries
862: 90008 format (1h ,15x,i5,19h errors encountered)
863: 90009 format (1h ,15x,i5,13h tests passed)
864: 90010 format (1h ,15x,i5,14h tests deleted)
865: c
866: c format statements for test results
867: 80001 format (1h ,4x,i5,7x,4hpass)
868: 80002 format (1h ,4x,i5,7x,4hfail)
869: 80003 format (1h ,4x,i5,7x,7hdeleted)
870: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
871: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
872: c
873: 90007 format (1h ,20x,20hend of program fm042)
874: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.