|
|
1.1 root 1: c comment section
2: c
3: c fm044
4: c
5: c this routine tests arithmetic assignments of the form
6: c integer var. = integer var. <op1> integer var. <op2> integer var.
7: c
8: c where <op1> and <op2> are arithmetic operators.
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 6.6, evaluation of expressions
18: c section 10.1, arithmetic assignment statement
19: c
20: c
21: c **********************************************************
22: c
23: c a compiler validation system for the fortran language
24: c based on specifications as defined in american national standard
25: c programming language fortran x3.9-1978, has been developed by the
26: c federal cobol compiler testing service. the fortran compiler
27: c validation system (fcvs) consists of audit routines, their related
28: c data, and an executive system. each audit routine is a fortran
29: c program, subprogram or function which includes tests of specific
30: c language elements and supporting procedures indicating the result
31: c of executing these tests.
32: c
33: c this particular program/subprogram/function contains features
34: c found only in the subset as defined in x3.9-1978.
35: c
36: c suggestions and comments should be forwarded to -
37: c
38: c department of the navy
39: c federal cobol compiler testing service
40: c washington, d.c. 20376
41: c
42: c **********************************************************
43: c
44: c
45: c
46: c initialization section
47: c
48: c initialize constants
49: c **************
50: c i01 contains the logical unit number for the card reader.
51: i01 = 5
52: c i02 contains the logical unit number for the printer.
53: i02 = 6
54: c system environment section
55: c
56: cx010 this card is replaced by contents of fexec x-010 control card.
57: c the cx010 card is for overriding the program default i01 = 5
58: c (unit number for card reader).
59: cx011 this card is replaced by contents of fexec x-011 control card.
60: c the cx011 card is for systems which require additional
61: c fortran statements for files associated with cx010 above.
62: c
63: cx020 this card is replaced by contents of fexec x-020 control card.
64: c the cx020 card is for overriding the program default i02 = 6
65: c (unit number for printer).
66: cx021 this card is replaced by contents of fexec x-021 control card.
67: c the cx021 card is for systems which require additional
68: c fortran statements for files associated with cx020 above.
69: c
70: ivpass=0
71: ivfail=0
72: ivdele=0
73: iczero=0
74: c
75: c write page headers
76: write (i02,90000)
77: write (i02,90001)
78: write (i02,90002)
79: write (i02, 90002)
80: write (i02,90003)
81: write (i02,90002)
82: write (i02,90004)
83: write (i02,90002)
84: write (i02,90011)
85: write (i02,90002)
86: write (i02,90002)
87: write (i02,90005)
88: write (i02,90006)
89: write (i02,90002)
90: c
91: c test section
92: c
93: c arithmetic assignment statement
94: c
95: c tests 719 through 730 test statements where <op1> is '/' and
96: c <op2> varies.
97: c
98: c tests 731 through 746 test statements where <op1> is '**' and
99: c <op2> varies.
100: c
101: c
102: c test 719 through 721 test '/' followed by '+'.
103: c
104: ivtnum = 719
105: c
106: c **** test 719 ****
107: c
108: if (iczero) 37190, 7190, 37190
109: 7190 continue
110: ivon01 = 108
111: ivon02 = 9
112: ivon03 = 3
113: ivcomp = ivon01 / ivon02 + ivon03
114: go to 47190
115: 37190 ivdele = ivdele + 1
116: write (i02,80003) ivtnum
117: if (iczero) 47190, 7201, 47190
118: 47190 if (ivcomp - 15) 27190,17190,27190
119: 17190 ivpass = ivpass + 1
120: write (i02,80001) ivtnum
121: go to 7201
122: 27190 ivfail = ivfail + 1
123: ivcorr = 15
124: write (i02,80004) ivtnum, ivcomp, ivcorr
125: 7201 continue
126: ivtnum = 720
127: c
128: c **** test 720 ****
129: c
130: if (iczero) 37200, 7200, 37200
131: 7200 continue
132: ivon01 = 108
133: ivon02 = 9
134: ivon03 = 3
135: ivcomp = (ivon01 / ivon02) + ivon03
136: go to 47200
137: 37200 ivdele = ivdele + 1
138: write (i02,80003) ivtnum
139: if (iczero) 47200, 7211, 47200
140: 47200 if (ivcomp - 15) 27200,17200,27200
141: 17200 ivpass = ivpass + 1
142: write (i02,80001) ivtnum
143: go to 7211
144: 27200 ivfail = ivfail + 1
145: ivcorr = 15
146: write (i02,80004) ivtnum, ivcomp, ivcorr
147: 7211 continue
148: ivtnum = 721
149: c
150: c **** test 721 ****
151: c
152: if (iczero) 37210, 7210, 37210
153: 7210 continue
154: ivon01 = 108
155: ivon02 = 9
156: ivon03 = 3
157: ivcomp = ivon01 / (ivon02 + ivon03)
158: go to 47210
159: 37210 ivdele = ivdele + 1
160: write (i02,80003) ivtnum
161: if (iczero) 47210, 7221, 47210
162: 47210 if (ivcomp - 9) 27210,17210,27210
163: 17210 ivpass = ivpass + 1
164: write (i02,80001) ivtnum
165: go to 7221
166: 27210 ivfail = ivfail + 1
167: ivcorr = 9
168: write (i02,80004) ivtnum, ivcomp, ivcorr
169: 7221 continue
170: c
171: c test 722 through 724 test '/' followed by '-'.
172: c
173: ivtnum = 722
174: c
175: c **** test 722 ****
176: c
177: if (iczero) 37220, 7220, 37220
178: 7220 continue
179: ivon01 = 108
180: ivon02 = 9
181: ivon03 = 3
182: ivcomp = ivon01 / ivon02 - ivon03
183: go to 47220
184: 37220 ivdele = ivdele + 1
185: write (i02,80003) ivtnum
186: if (iczero) 47220, 7231, 47220
187: 47220 if (ivcomp - 9) 27220,17220,27220
188: 17220 ivpass = ivpass + 1
189: write (i02,80001) ivtnum
190: go to 7231
191: 27220 ivfail = ivfail + 1
192: ivcorr = 9
193: write (i02,80004) ivtnum, ivcomp, ivcorr
194: 7231 continue
195: ivtnum = 723
196: c
197: c **** test 723 ****
198: c
199: if (iczero) 37230, 7230, 37230
200: 7230 continue
201: ivon01 = 108
202: ivon02 = 9
203: ivon03 = 3
204: ivcomp = (ivon01 / ivon02) - ivon03
205: go to 47230
206: 37230 ivdele = ivdele + 1
207: write (i02,80003) ivtnum
208: if (iczero) 47230, 7241, 47230
209: 47230 if (ivcomp - 9) 27230,17230,27230
210: 17230 ivpass = ivpass + 1
211: write (i02,80001) ivtnum
212: go to 7241
213: 27230 ivfail = ivfail + 1
214: ivcorr = 9
215: write (i02,80004) ivtnum, ivcomp, ivcorr
216: 7241 continue
217: ivtnum = 724
218: c
219: c **** test 724 ****
220: c
221: if (iczero) 37240, 7240, 37240
222: 7240 continue
223: ivon01 = 108
224: ivon02 = 9
225: ivon03 = 3
226: ivcomp = ivon01 / (ivon02 - ivon03)
227: go to 47240
228: 37240 ivdele = ivdele + 1
229: write (i02,80003) ivtnum
230: if (iczero) 47240, 7251, 47240
231: 47240 if (ivcomp - 18) 27240,17240,27240
232: 17240 ivpass = ivpass + 1
233: write (i02,80001) ivtnum
234: go to 7251
235: 27240 ivfail = ivfail + 1
236: ivcorr = 18
237: write (i02,80004) ivtnum, ivcomp, ivcorr
238: 7251 continue
239: c
240: c test 725 through 727 test '/' followed by '*'.
241: c
242: ivtnum = 725
243: c
244: c **** test 725 ****
245: c
246: if (iczero) 37250, 7250, 37250
247: 7250 continue
248: ivon01 = 108
249: ivon02 = 9
250: ivon03 = 3
251: ivcomp = ivon01 / ivon02 * ivon03
252: go to 47250
253: 37250 ivdele = ivdele + 1
254: write (i02,80003) ivtnum
255: if (iczero) 47250, 7261, 47250
256: 47250 if (ivcomp - 36) 27250,17250,27250
257: 17250 ivpass = ivpass + 1
258: write (i02,80001) ivtnum
259: go to 7261
260: 27250 ivfail = ivfail + 1
261: ivcorr = 36
262: write (i02,80004) ivtnum, ivcomp, ivcorr
263: 7261 continue
264: ivtnum = 726
265: c
266: c **** test 726 ****
267: c
268: if (iczero) 37260, 7260, 37260
269: 7260 continue
270: ivon01 = 108
271: ivon02 = 9
272: ivon03 = 3
273: ivcomp = (ivon01 / ivon02) * ivon03
274: go to 47260
275: 37260 ivdele = ivdele + 1
276: write (i02,80003) ivtnum
277: if (iczero) 47260, 7271, 47260
278: 47260 if (ivcomp - 36) 27260,17260,27260
279: 17260 ivpass = ivpass + 1
280: write (i02,80001) ivtnum
281: go to 7271
282: 27260 ivfail = ivfail + 1
283: ivcorr = 36
284: write (i02,80004) ivtnum, ivcomp, ivcorr
285: 7271 continue
286: ivtnum = 727
287: c
288: c **** test 727 ****
289: c
290: if (iczero) 37270, 7270, 37270
291: 7270 continue
292: ivon01 = 108
293: ivon02 = 9
294: ivon03 = 3
295: ivcomp = ivon01 / (ivon02 * ivon03)
296: go to 47270
297: 37270 ivdele = ivdele + 1
298: write (i02,80003) ivtnum
299: if (iczero) 47270, 7281, 47270
300: 47270 if (ivcomp - 4) 27270,17270,27270
301: 17270 ivpass = ivpass + 1
302: write (i02,80001) ivtnum
303: go to 7281
304: 27270 ivfail = ivfail + 1
305: ivcorr = 4
306: write (i02,80004) ivtnum, ivcomp, ivcorr
307: 7281 continue
308: c
309: c test 728 through 730 test '/' followed by '**'.
310: c
311: ivtnum = 728
312: c
313: c **** test 728 ****
314: c
315: if (iczero) 37280, 7280, 37280
316: 7280 continue
317: ivon01 = 108
318: ivon02 = 3
319: ivon03 = 2
320: ivcomp = ivon01 / ivon02 ** ivon03
321: go to 47280
322: 37280 ivdele = ivdele + 1
323: write (i02,80003) ivtnum
324: if (iczero) 47280, 7291, 47280
325: 47280 if (ivcomp - 12) 27280,17280,27280
326: 17280 ivpass = ivpass + 1
327: write (i02,80001) ivtnum
328: go to 7291
329: 27280 ivfail = ivfail + 1
330: ivcorr = 12
331: write (i02,80004) ivtnum, ivcomp, ivcorr
332: 7291 continue
333: ivtnum = 729
334: c
335: c **** test 729 ****
336: c
337: if (iczero) 37290, 7290, 37290
338: 7290 continue
339: ivon01 = 108
340: ivon02 = 3
341: ivon03 = 2
342: ivcomp = (ivon01 / ivon02) ** ivon03
343: go to 47290
344: 37290 ivdele = ivdele + 1
345: write (i02,80003) ivtnum
346: if (iczero) 47290, 7301, 47290
347: 47290 if (ivcomp - 1296) 27290,17290,27290
348: 17290 ivpass = ivpass + 1
349: write (i02,80001) ivtnum
350: go to 7301
351: 27290 ivfail = ivfail + 1
352: ivcorr = 1296
353: write (i02,80004) ivtnum, ivcomp, ivcorr
354: 7301 continue
355: ivtnum = 730
356: c
357: c **** test 730 ****
358: c
359: if (iczero) 37300, 7300, 37300
360: 7300 continue
361: ivon01 = 108
362: ivon02 = 3
363: ivon03 = 2
364: ivcomp = ivon01 / (ivon02 ** ivon03)
365: go to 47300
366: 37300 ivdele = ivdele + 1
367: write (i02,80003) ivtnum
368: if (iczero) 47300, 7311, 47300
369: 47300 if (ivcomp - 12) 27300,17300,27300
370: 17300 ivpass = ivpass + 1
371: write (i02,80001) ivtnum
372: go to 7311
373: 27300 ivfail = ivfail + 1
374: ivcorr = 12
375: write (i02,80004) ivtnum, ivcomp, ivcorr
376: 7311 continue
377: c
378: c test 731 through 733 test '**' followed by '+'.
379: c
380: ivtnum = 731
381: c
382: c **** test 731 ****
383: c
384: if (iczero) 37310, 7310, 37310
385: 7310 continue
386: ivon01 = 3
387: ivon02 = 5
388: ivon03 = 4
389: ivcomp = ivon01 ** ivon02 + ivon03
390: go to 47310
391: 37310 ivdele = ivdele + 1
392: write (i02,80003) ivtnum
393: if (iczero) 47310, 7321, 47310
394: 47310 if (ivcomp - 247) 27310,17310,27310
395: 17310 ivpass = ivpass + 1
396: write (i02,80001) ivtnum
397: go to 7321
398: 27310 ivfail = ivfail + 1
399: ivcorr = 247
400: write (i02,80004) ivtnum, ivcomp, ivcorr
401: 7321 continue
402: ivtnum = 732
403: c
404: c **** test 732 ****
405: c
406: if (iczero) 37320, 7320, 37320
407: 7320 continue
408: ivon01 = 3
409: ivon02 = 5
410: ivon03 = 4
411: ivcomp = (ivon01 ** ivon02) + ivon03
412: go to 47320
413: 37320 ivdele = ivdele + 1
414: write (i02,80003) ivtnum
415: if (iczero) 47320, 7331, 47320
416: 47320 if (ivcomp - 247) 27320,17320,27320
417: 17320 ivpass = ivpass + 1
418: write (i02,80001) ivtnum
419: go to 7331
420: 27320 ivfail = ivfail + 1
421: ivcorr = 247
422: write (i02,80004) ivtnum, ivcomp, ivcorr
423: 7331 continue
424: ivtnum = 733
425: c
426: c **** test 733 ****
427: c
428: if (iczero) 37330, 7330, 37330
429: 7330 continue
430: ivon01 = 3
431: ivon02 = 5
432: ivon03 = 4
433: ivcomp = ivon01 ** (ivon02 + ivon03)
434: go to 47330
435: 37330 ivdele = ivdele + 1
436: write (i02,80003) ivtnum
437: if (iczero) 47330, 7341, 47330
438: 47330 if (ivcomp - 19683) 27330,17330,27330
439: 17330 ivpass = ivpass + 1
440: write (i02,80001) ivtnum
441: go to 7341
442: 27330 ivfail = ivfail + 1
443: ivcorr = 19683
444: write (i02,80004) ivtnum, ivcomp, ivcorr
445: 7341 continue
446: c
447: c test 734 through 736 test '**' followed by '-'.
448: c
449: ivtnum = 734
450: c
451: c **** test 734 ****
452: c
453: if (iczero) 37340, 7340, 37340
454: 7340 continue
455: ivon01 = 3
456: ivon02 = 7
457: ivon03 = 4
458: ivcomp = ivon01 ** ivon02 - ivon03
459: go to 47340
460: 37340 ivdele = ivdele + 1
461: write (i02,80003) ivtnum
462: if (iczero) 47340, 7351, 47340
463: 47340 if (ivcomp - 2183) 27340,17340,27340
464: 17340 ivpass = ivpass + 1
465: write (i02,80001) ivtnum
466: go to 7351
467: 27340 ivfail = ivfail + 1
468: ivcorr = 2183
469: write (i02,80004) ivtnum, ivcomp, ivcorr
470: 7351 continue
471: ivtnum = 735
472: c
473: c **** test 735 ****
474: c
475: if (iczero) 37350, 7350, 37350
476: 7350 continue
477: ivon01 = 3
478: ivon02 = 7
479: ivon03 = 4
480: ivcomp = (ivon01 ** ivon02) - ivon03
481: go to 47350
482: 37350 ivdele = ivdele + 1
483: write (i02,80003) ivtnum
484: if (iczero) 47350, 7361, 47350
485: 47350 if (ivcomp - 2183) 27350,17350,27350
486: 17350 ivpass = ivpass + 1
487: write (i02,80001) ivtnum
488: go to 7361
489: 27350 ivfail = ivfail + 1
490: ivcorr = 2183
491: write (i02,80004) ivtnum, ivcomp, ivcorr
492: 7361 continue
493: ivtnum = 736
494: c
495: c **** test 736 ****
496: c
497: if (iczero) 37360, 7360, 37360
498: 7360 continue
499: ivon01 = 3
500: ivon02 = 7
501: ivon03 = 4
502: ivcomp = ivon01 ** (ivon02 - ivon03)
503: go to 47360
504: 37360 ivdele = ivdele + 1
505: write (i02,80003) ivtnum
506: if (iczero) 47360, 7371, 47360
507: 47360 if (ivcomp - 27) 27360,17360,27360
508: 17360 ivpass = ivpass + 1
509: write (i02,80001) ivtnum
510: go to 7371
511: 27360 ivfail = ivfail + 1
512: ivcorr = 27
513: write (i02,80004) ivtnum, ivcomp, ivcorr
514: 7371 continue
515: c
516: c test 737 through 739 test '**' followed by '*'.
517: c
518: ivtnum = 737
519: c
520: c **** test 737 ****
521: c
522: if (iczero) 37370, 7370, 37370
523: 7370 continue
524: ivon01 = 3
525: ivon02 = 3
526: ivon03 = 3
527: ivcomp = ivon01 ** ivon02 * ivon03
528: go to 47370
529: 37370 ivdele = ivdele + 1
530: write (i02,80003) ivtnum
531: if (iczero) 47370, 7381, 47370
532: 47370 if (ivcomp - 81) 27370,17370,27370
533: 17370 ivpass = ivpass + 1
534: write (i02,80001) ivtnum
535: go to 7381
536: 27370 ivfail = ivfail + 1
537: ivcorr = 81
538: write (i02,80004) ivtnum, ivcomp, ivcorr
539: 7381 continue
540: ivtnum = 738
541: c
542: c **** test 738 ****
543: c
544: if (iczero) 37380, 7380, 37380
545: 7380 continue
546: ivon01 = 3
547: ivon02 = 3
548: ivon03 = 3
549: ivcomp = (ivon01 ** ivon02) * ivon03
550: go to 47380
551: 37380 ivdele = ivdele + 1
552: write (i02,80003) ivtnum
553: if (iczero) 47380, 7391, 47380
554: 47380 if (ivcomp - 81) 27380,17380,27380
555: 17380 ivpass = ivpass + 1
556: write (i02,80001) ivtnum
557: go to 7391
558: 27380 ivfail = ivfail + 1
559: ivcorr = 81
560: write (i02,80004) ivtnum, ivcomp, ivcorr
561: 7391 continue
562: ivtnum = 739
563: c
564: c **** test 739 ****
565: c
566: if (iczero) 37390, 7390, 37390
567: 7390 continue
568: ivon01 = 3
569: ivon02 = 3
570: ivon03 = 3
571: ivcomp = ivon01 ** (ivon02 * ivon03)
572: go to 47390
573: 37390 ivdele = ivdele + 1
574: write (i02,80003) ivtnum
575: if (iczero) 47390, 7401, 47390
576: 47390 if (ivcomp - 19683) 27390,17390,27390
577: 17390 ivpass = ivpass + 1
578: write (i02,80001) ivtnum
579: go to 7401
580: 27390 ivfail = ivfail + 1
581: ivcorr = 19683
582: write (i02,80004) ivtnum, ivcomp, ivcorr
583: 7401 continue
584: c
585: c test 740 through 742 test '**' followed by '/'.
586: c
587: ivtnum = 740
588: c
589: c **** test 740 ****
590: c
591: if (iczero) 37400, 7400, 37400
592: 7400 continue
593: ivon01 = 3
594: ivon02 = 9
595: ivon03 = 3
596: ivcomp = ivon01 ** ivon02 / ivon03
597: go to 47400
598: 37400 ivdele = ivdele + 1
599: write (i02,80003) ivtnum
600: if (iczero) 47400, 7411, 47400
601: 47400 if (ivcomp - 6561) 27400,17400,27400
602: 17400 ivpass = ivpass + 1
603: write (i02,80001) ivtnum
604: go to 7411
605: 27400 ivfail = ivfail + 1
606: ivcorr = 6561
607: write (i02,80004) ivtnum, ivcomp, ivcorr
608: 7411 continue
609: ivtnum = 741
610: c
611: c **** test 741 ****
612: c
613: if (iczero) 37410, 7410, 37410
614: 7410 continue
615: ivon01 = 3
616: ivon02 = 9
617: ivon03 = 3
618: ivcomp = (ivon01 ** ivon02) / ivon03
619: go to 47410
620: 37410 ivdele = ivdele + 1
621: write (i02,80003) ivtnum
622: if (iczero) 47410, 7421, 47410
623: 47410 if (ivcomp - 6561) 27410,17410,27410
624: 17410 ivpass = ivpass + 1
625: write (i02,80001) ivtnum
626: go to 7421
627: 27410 ivfail = ivfail + 1
628: ivcorr = 6561
629: write (i02,80004) ivtnum, ivcomp, ivcorr
630: 7421 continue
631: ivtnum = 742
632: c **** test 742 ****
633: c
634: if (iczero) 37420, 7420, 37420
635: 7420 continue
636: ivon01 = 3
637: ivon02 = 9
638: ivon03 = 3
639: ivcomp = ivon01 ** (ivon02 / ivon03)
640: go to 47420
641: 37420 ivdele = ivdele + 1
642: write (i02,80003) ivtnum
643: if (iczero) 47420, 7431, 47420
644: 47420 if (ivcomp - 27) 27420,17420,27420
645: 17420 ivpass = ivpass + 1
646: write (i02,80001) ivtnum
647: go to 7431
648: 27420 ivfail = ivfail + 1
649: ivcorr = 27
650: write (i02,80004) ivtnum, ivcomp, ivcorr
651: 7431 continue
652: c
653: c test 743 through 746 test '**' followed by '**'.
654: c
655: ivtnum = 743
656: c
657: c **** test 743 ****
658: c
659: if (iczero) 37430, 7430, 37430
660: 7430 continue
661: ivon01 = 3
662: ivon02 = 3
663: ivon03 = 2
664: ivcomp = (ivon01 ** ivon02) ** ivon03
665: go to 47430
666: 37430 ivdele = ivdele + 1
667: write (i02,80003) ivtnum
668: if (iczero) 47430, 7441, 47430
669: 47430 if (ivcomp - 729) 27430,17430,27430
670: 17430 ivpass = ivpass + 1
671: write (i02,80001) ivtnum
672: go to 7441
673: 27430 ivfail = ivfail + 1
674: ivcorr = 729
675: write (i02,80004) ivtnum, ivcomp, ivcorr
676: 7441 continue
677: ivtnum = 744
678: c
679: c **** test 744 ****
680: c
681: if (iczero) 37440, 7440, 37440
682: 7440 continue
683: ivon01 = 3
684: ivon02 = 3
685: ivon03 = 2
686: ivcomp = ivon01 ** (ivon02 ** ivon03)
687: go to 47440
688: 37440 ivdele = ivdele + 1
689: write (i02,80003) ivtnum
690: if (iczero) 47440, 7451, 47440
691: 47440 if (ivcomp - 19683) 27440,17440,27440
692: 17440 ivpass = ivpass + 1
693: write (i02,80001) ivtnum
694: go to 7451
695: 27440 ivfail = ivfail + 1
696: ivcorr = 19683
697: write (i02,80004) ivtnum, ivcomp, ivcorr
698: 7451 continue
699: ivtnum = 745
700: c
701: c **** test 745 ****
702: c
703: if (iczero) 37450, 7450, 37450
704: 7450 continue
705: ivon01 = -3
706: ivon02 = 3
707: ivon03 = 2
708: ivcomp = (ivon01 ** ivon02) ** ivon03
709: go to 47450
710: 37450 ivdele = ivdele + 1
711: write (i02,80003) ivtnum
712: if (iczero) 47450, 7461, 47450
713: 47450 if (ivcomp - 729) 27450,17450,27450
714: 17450 ivpass = ivpass + 1
715: write (i02,80001) ivtnum
716: go to 7461
717: 27450 ivfail = ivfail + 1
718: ivcorr = 729
719: write (i02,80004) ivtnum, ivcomp, ivcorr
720: 7461 continue
721: ivtnum = 746
722: c
723: c **** test 746 ****
724: c
725: if (iczero) 37460, 7460, 37460
726: 7460 continue
727: ivon01 = -3
728: ivon02 = 3
729: ivon03 = 2
730: ivcomp = ivon01 ** (ivon02 ** ivon03)
731: go to 47460
732: 37460 ivdele = ivdele + 1
733: write (i02,80003) ivtnum
734: if (iczero) 47460, 7471, 47460
735: 47460 if (ivcomp + 19683) 27460,17460,27460
736: 17460 ivpass = ivpass + 1
737: write (i02,80001) ivtnum
738: go to 7471
739: 27460 ivfail = ivfail + 1
740: ivcorr = -19683
741: write (i02,80004) ivtnum, ivcomp, ivcorr
742: 7471 continue
743: c
744: c
745: c write page footings and run summaries
746: 99999 continue
747: write (i02,90002)
748: write (i02,90006)
749: write (i02,90002)
750: write (i02,90002)
751: write (i02,90007)
752: write (i02,90002)
753: write (i02,90008) ivfail
754: write (i02,90009) ivpass
755: write (i02,90010) ivdele
756: c
757: c
758: c terminate routine execution
759: stop
760: c
761: c format statements for page headers
762: 90000 format (1h1)
763: 90002 format (1h )
764: 90001 format (1h ,10x,34hfortran compiler validation system)
765: 90003 format (1h ,21x,11hversion 1.0)
766: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
767: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
768: 90006 format (1h ,5x,46h----------------------------------------------)
769: 90011 format (1h ,18x,17hsubset level test)
770: c
771: c format statements for run summaries
772: 90008 format (1h ,15x,i5,19h errors encountered)
773: 90009 format (1h ,15x,i5,13h tests passed)
774: 90010 format (1h ,15x,i5,14h tests deleted)
775: c
776: c format statements for test results
777: 80001 format (1h ,4x,i5,7x,4hpass)
778: 80002 format (1h ,4x,i5,7x,4hfail)
779: 80003 format (1h ,4x,i5,7x,7hdeleted)
780: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
781: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
782: c
783: 90007 format (1h ,20x,20hend of program fm044)
784: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.