|
|
1.1 root 1: c comment section.
2: c
3: c fm030
4: c
5: c this routine tests arithmetic assignment statements of the
6: c form
7: c integer variable = arithmetic expression
8: c where the arithmetic expression is formed with the arithmetic
9: c operator -, integer constants and integer variables.
10: c some of the tests use parentheses to group elements in the
11: c arithmetic expression.
12: c
13: c there are tests where the arithmetic expression contains
14: c (1) integer constant - integer constant
15: c (2) integer constant - integer constant - integer constant
16: c (3) same as (2) but with parentheses to group elements
17: c (4) integer variable - integer constant
18: c integer constant - integer variable
19: c
20: c references
21: c american national standard programming language fortran,
22: c x3.9-1978
23: c
24: c section 4.3, integer type
25: c section 4.3.1, integer constant
26: c section 6.1, arithmetic expressions
27: c section 10.1, arithmetic assignment statement
28: c
29: c
30: c **********************************************************
31: c
32: c a compiler validation system for the fortran language
33: c based on specifications as defined in american national standard
34: c programming language fortran x3.9-1978, has been developed by the
35: c federal cobol compiler testing service. the fortran compiler
36: c validation system (fcvs) consists of audit routines, their related
37: c data, and an executive system. each audit routine is a fortran
38: c program, subprogram or function which includes tests of specific
39: c language elements and supporting procedures indicating the result
40: c of executing these tests.
41: c
42: c this particular program/subprogram/function contains features
43: c found only in the subset as defined in x3.9-1978.
44: c
45: c suggestions and comments should be forwarded to -
46: c
47: c department of the navy
48: c federal cobol compiler testing service
49: c washington, d.c. 20376
50: c
51: c **********************************************************
52: c
53: c
54: c
55: c initialization section
56: c
57: c initialize constants
58: c **************
59: c i01 contains the logical unit number for the card reader.
60: i01 = 5
61: c i02 contains the logical unit number for the printer.
62: i02 = 6
63: c system environment section
64: c
65: cx010 this card is replaced by contents of fexec x-010 control card.
66: c the cx010 card is for overriding the program default i01 = 5
67: c (unit number for card reader).
68: cx011 this card is replaced by contents of fexec x-011 control card.
69: c the cx011 card is for systems which require additional
70: c fortran statements for files associated with cx010 above.
71: c
72: cx020 this card is replaced by contents of fexec x-020 control card.
73: c the cx020 card is for overriding the program default i02 = 6
74: c (unit number for printer).
75: cx021 this card is replaced by contents of fexec x-021 control card.
76: c the cx021 card is for systems which require additional
77: c fortran statements for files associated with cx020 above.
78: c
79: ivpass=0
80: ivfail=0
81: ivdele=0
82: iczero=0
83: c
84: c write page headers
85: write (i02,90000)
86: write (i02,90001)
87: write (i02,90002)
88: write (i02, 90002)
89: write (i02,90003)
90: write (i02,90002)
91: write (i02,90004)
92: write (i02,90002)
93: write (i02,90011)
94: write (i02,90002)
95: write (i02,90002)
96: write (i02,90005)
97: write (i02,90006)
98: write (i02,90002)
99: c test section
100: c
101: c arithmetic assignment statement
102: c
103: c test 265 through test 270 contain two integer constants and
104: c operator - in an arithmetic expression. the form tested is
105: c integer variable = integer constant - integer constant
106: c
107: 2651 continue
108: ivtnum = 265
109: c
110: c **** test 265 ****
111: c
112: if (iczero) 32650, 2650, 32650
113: 2650 continue
114: ivcomp = 3-2
115: go to 42650
116: 32650 ivdele = ivdele + 1
117: write (i02,80003) ivtnum
118: if (iczero) 42650, 2661, 42650
119: 42650 if (ivcomp - 1) 22650,12650,22650
120: 12650 ivpass = ivpass + 1
121: write (i02,80001) ivtnum
122: go to 2661
123: 22650 ivfail = ivfail + 1
124: ivcorr = 1
125: write (i02,80004) ivtnum, ivcomp ,ivcorr
126: 2661 continue
127: ivtnum = 266
128: c
129: c **** test 266 ****
130: c
131: if (iczero) 32660, 2660, 32660
132: 2660 continue
133: ivcomp = 51 - 52
134: go to 42660
135: 32660 ivdele = ivdele + 1
136: write (i02,80003) ivtnum
137: if (iczero) 42660, 2671, 42660
138: 42660 if (ivcomp +1) 22660,12660,22660
139: 12660 ivpass = ivpass + 1
140: write (i02,80001) ivtnum
141: go to 2671
142: 22660 ivfail = ivfail + 1
143: ivcorr = -1
144: write (i02,80004) ivtnum, ivcomp ,ivcorr
145: 2671 continue
146: ivtnum = 267
147: c
148: c **** test 267 ***
149: c
150: if (iczero) 32670, 2670, 32670
151: 2670 continue
152: ivcomp = 865 - 189
153: go to 42670
154: 32670 ivdele = ivdele + 1
155: write (i02,80003) ivtnum
156: if (iczero) 42670, 2681, 42670
157: 42670 if (ivcomp -676) 22670,12670,22670
158: 12670 ivpass = ivpass + 1
159: write (i02,80001) ivtnum
160: go to 2681
161: 22670 ivfail = ivfail + 1
162: ivcorr = 676
163: write (i02,80004) ivtnum, ivcomp ,ivcorr
164: 2681 continue
165: ivtnum = 268
166: c
167: c **** test 268 ****
168: c
169: if (iczero) 32680, 2680, 32680
170: 2680 continue
171: ivcomp =1358-9359
172: go to 42680
173: 32680 ivdele = ivdele + 1
174: write (i02,80003) ivtnum
175: if (iczero) 42680, 2691, 42680
176: 42680 if (ivcomp+8001) 22680,12680,22680
177: 12680 ivpass = ivpass + 1
178: write (i02,80001) ivtnum
179: go to 2691
180: 22680 ivfail = ivfail + 1
181: ivcorr = -8001
182: write (i02,80004) ivtnum, ivcomp ,ivcorr
183: 2691 continue
184: ivtnum = 269
185: c
186: c **** test 269 ****
187: c
188: if (iczero) 32690, 2690, 32690
189: 2690 continue
190: ivcomp =21113-10001
191: go to 42690
192: 32690 ivdele = ivdele + 1
193: write (i02,80003) ivtnum
194: if (iczero) 42690, 2701, 42690
195: 42690 if (ivcomp-11112) 22690,12690,22690
196: 12690 ivpass = ivpass + 1
197: write (i02,80001) ivtnum
198: go to 2701
199: 22690 ivfail = ivfail + 1
200: ivcorr=11112
201: write (i02,80004) ivtnum, ivcomp ,ivcorr
202: 2701 continue
203: ivtnum = 270
204: c
205: c **** test 270 ****
206: c
207: if (iczero) 32700, 2700, 32700
208: 2700 continue
209: ivcomp = 32767-1
210: go to 42700
211: 32700 ivdele = ivdele + 1
212: write (i02,80003) ivtnum
213: if (iczero) 42700, 2711, 42700
214: 42700 if (ivcomp -32766) 22700,12700,22700
215: 12700 ivpass = ivpass + 1
216: write (i02,80001) ivtnum
217: go to 2711
218: 22700 ivfail = ivfail + 1
219: ivcorr = 32766
220: write (i02,80004) ivtnum, ivcomp ,ivcorr
221: c
222: c test 271 through test 274 contain three integer constants
223: c and operator - in an arithmetic expression. the form tested is
224: c iv = ic - ic - ic
225: c
226: 2711 continue
227: ivtnum = 271
228: c
229: c **** test 271 ****
230: c
231: if (iczero) 32710, 2710, 32710
232: 2710 continue
233: ivcomp=9-4-3
234: go to 42710
235: 32710 ivdele = ivdele + 1
236: write (i02,80003) ivtnum
237: if (iczero) 42710, 2721, 42710
238: 42710 if (ivcomp -2) 22710,12710,22710
239: 12710 ivpass = ivpass + 1
240: write (i02,80001) ivtnum
241: go to 2721
242: 22710 ivfail = ivfail + 1
243: ivcorr =2
244: write (i02,80004) ivtnum, ivcomp ,ivcorr
245: 2721 continue
246: ivtnum = 272
247: c
248: c **** test 272 ****
249: c
250: if (iczero) 32720, 2720, 32720
251: 2720 continue
252: ivcomp = 51-52-53
253: go to 42720
254: 32720 ivdele = ivdele + 1
255: write (i02,80003) ivtnum
256: if (iczero) 42720, 2731, 42720
257: 42720 if (ivcomp +54) 22720,12720,22720
258: 12720 ivpass = ivpass + 1
259: write (i02,80001) ivtnum
260: go to 2731
261: 22720 ivfail = ivfail + 1
262: ivcorr = -54
263: write (i02,80004) ivtnum, ivcomp ,ivcorr
264: 2731 continue
265: ivtnum = 273
266: c
267: c **** test 273 ****
268: c
269: if (iczero) 32730, 2730, 32730
270: 2730 continue
271: ivcomp = 966 -676 -189
272: go to 42730
273: 32730 ivdele = ivdele + 1
274: write (i02,80003) ivtnum
275: if (iczero) 42730, 2741, 42730
276: 42730 if (ivcomp -101) 22730,12730,22730
277: 12730 ivpass = ivpass + 1
278: write (i02,80001) ivtnum
279: go to 2741
280: 22730 ivfail = ivfail + 1
281: ivcorr = 101
282: write (i02,80004) ivtnum, ivcomp ,ivcorr
283: 2741 continue
284: ivtnum = 274
285: c
286: c **** test 274 ****
287: c
288: if (iczero) 32740, 2740, 32740
289: 2740 continue
290: ivcomp = 1358-8001-2188
291: go to 42740
292: 32740 ivdele = ivdele + 1
293: write (i02,80003) ivtnum
294: if (iczero) 42740, 2751, 42740
295: 42740 if (ivcomp + 8831) 22740,12740,22740
296: 12740 ivpass = ivpass + 1
297: write (i02,80001) ivtnum
298: go to 2751
299: 22740 ivfail = ivfail + 1
300: ivcorr = -8831
301: write (i02,80004) ivtnum, ivcomp ,ivcorr
302: c
303: c test 275 through test 282 are the same as tests 271-274 except
304: c parentheses are used to group the constants.
305: c
306: 2751 continue
307: ivtnum = 275
308: c
309: c **** test 275 ****
310: c
311: if (iczero) 32750, 2750, 32750
312: 2750 continue
313: ivcomp =(9-4)-3
314: go to 42750
315: 32750 ivdele = ivdele + 1
316: write (i02,80003) ivtnum
317: if (iczero) 42750, 2761, 42750
318: 42750 if (ivcomp -2) 22750,12750,22750
319: 12750 ivpass = ivpass + 1
320: write (i02,80001) ivtnum
321: go to 2761
322: 22750 ivfail = ivfail + 1
323: ivcorr = 2
324: write (i02,80004) ivtnum, ivcomp ,ivcorr
325: 2761 continue
326: ivtnum = 276
327: c
328: c **** test 276 ****
329: c
330: if (iczero) 32760, 2760, 32760
331: 2760 continue
332: ivcomp =9-(4-3)
333: go to 42760
334: 32760 ivdele = ivdele + 1
335: write (i02,80003) ivtnum
336: if (iczero) 42760, 2771, 42760
337: 42760 if (ivcomp -8) 22760,12760,22760
338: 12760 ivpass = ivpass + 1
339: write (i02,80001) ivtnum
340: go to 2771
341: 22760 ivfail = ivfail + 1
342: ivcorr =8
343: write (i02,80004) ivtnum, ivcomp ,ivcorr
344: 2771 continue
345: ivtnum = 277
346: c
347: c **** test 277 ****
348: c
349: if (iczero) 32770, 2770, 32770
350: 2770 continue
351: ivcomp =(51-52)-53
352: go to 42770
353: 32770 ivdele = ivdele + 1
354: write (i02,80003) ivtnum
355: if (iczero) 42770, 2781, 42770
356: 42770 if (ivcomp +54) 22770,12770,22770
357: 12770 ivpass = ivpass + 1
358: write (i02,80001) ivtnum
359: go to 2781
360: 22770 ivfail = ivfail + 1
361: ivcorr = -54
362: write (i02,80004) ivtnum, ivcomp ,ivcorr
363: 2781 continue
364: ivtnum = 278
365: c
366: c **** test 278 ****
367: c
368: if (iczero) 32780, 2780, 32780
369: 2780 continue
370: ivcomp=51-(52-53)
371: go to 42780
372: 32780 ivdele = ivdele + 1
373: write (i02,80003) ivtnum
374: if (iczero) 42780, 2791, 42780
375: 42780 if (ivcomp-52) 22780,12780,22780
376: 12780 ivpass = ivpass + 1
377: write (i02,80001) ivtnum
378: go to 2791
379: 22780 ivfail = ivfail + 1
380: ivcorr = 52
381: write (i02,80004) ivtnum, ivcomp ,ivcorr
382: 2791 continue
383: ivtnum = 279
384: c
385: c **** test 279 ****
386: c
387: if (iczero) 32790, 2790, 32790
388: 2790 continue
389: ivcomp =(966-676)-189
390: go to 42790
391: 32790 ivdele = ivdele + 1
392: write (i02,80003) ivtnum
393: if (iczero) 42790, 2801, 42790
394: 42790 if (ivcomp - 101) 22790,12790,22790
395: 12790 ivpass = ivpass + 1
396: write (i02,80001) ivtnum
397: go to 2801
398: 22790 ivfail = ivfail + 1
399: ivcorr = 101
400: write (i02,80004) ivtnum, ivcomp ,ivcorr
401: 2801 continue
402: ivtnum = 280
403: c
404: c **** test 280 ****
405: c
406: if (iczero) 32800, 2800, 32800
407: 2800 continue
408: ivcomp =966-(676-189)
409: go to 42800
410: 32800 ivdele = ivdele + 1
411: write (i02,80003) ivtnum
412: if (iczero) 42800, 2811, 42800
413: 42800 if (ivcomp - 479) 22800,12800,22800
414: 12800 ivpass = ivpass + 1
415: write (i02,80001) ivtnum
416: go to 2811
417: 22800 ivfail = ivfail + 1
418: ivcorr = 479
419: write (i02,80004) ivtnum, ivcomp ,ivcorr
420: 2811 continue
421: ivtnum = 281
422: c
423: c **** test 281 ****
424: c
425: if (iczero) 32810, 2810, 32810
426: 2810 continue
427: ivcomp = (1358-8001)-2188
428: go to 42810
429: 32810 ivdele = ivdele + 1
430: write (i02,80003) ivtnum
431: if (iczero) 42810, 2821, 42810
432: 42810 if (ivcomp + 8831) 22810,12810,22810
433: 12810 ivpass = ivpass + 1
434: write (i02,80001) ivtnum
435: go to 2821
436: 22810 ivfail = ivfail + 1
437: ivcorr = -8831
438: write (i02,80004) ivtnum, ivcomp ,ivcorr
439: 2821 continue
440: ivtnum = 282
441: c
442: c **** test 282 ****
443: c
444: if (iczero) 32820, 2820, 32820
445: 2820 continue
446: ivcomp = 1358-(8001-2188)
447: go to 42820
448: 32820 ivdele = ivdele + 1
449: write (i02,80003) ivtnum
450: if (iczero) 42820, 2831, 42820
451: 42820 if (ivcomp + 4455) 22820,12820,22820
452: 12820 ivpass = ivpass + 1
453: write (i02,80001) ivtnum
454: go to 2831
455: 22820 ivfail = ivfail + 1
456: ivcorr = -4455
457: write (i02,80004) ivtnum, ivcomp ,ivcorr
458: c
459: c test 283 through test 299 contain integer variable, integer
460: c constant and operator - in arithmetic expression. the integer
461: c variable contains both positive and negative values.
462: c the forms tested are
463: c integer variable = integer variable - integer constant
464: c integer variable = integer constant - integer variable
465: c
466: 2831 continue
467: ivtnum = 283
468: c
469: c **** test 283 ****
470: c
471: if (iczero) 32830, 2830, 32830
472: 2830 continue
473: ivon01 = 3
474: ivcomp = ivon01 - 2
475: go to 42830
476: 32830 ivdele = ivdele + 1
477: write (i02,80003) ivtnum
478: if (iczero) 42830, 2841, 42830
479: 42830 if (ivcomp - 1) 22830,12830,22830
480: 12830 ivpass = ivpass + 1
481: write (i02,80001) ivtnum
482: go to 2841
483: 22830 ivfail = ivfail + 1
484: ivcorr = 1
485: write (i02,80004) ivtnum, ivcomp ,ivcorr
486: 2841 continue
487: ivtnum = 284
488: c
489: c **** test 284 ****
490: c
491: if (iczero) 32840, 2840, 32840
492: 2840 continue
493: ivon01 = 2
494: ivcomp = ivon01 -3
495: go to 42840
496: 32840 ivdele = ivdele + 1
497: write (i02,80003) ivtnum
498: if (iczero) 42840, 2851, 42840
499: 42840 if (ivcomp +1) 22840,12840,22840
500: 12840 ivpass = ivpass + 1
501: write (i02,80001) ivtnum
502: go to 2851
503: 22840 ivfail = ivfail + 1
504: ivcorr = -1
505: write (i02,80004) ivtnum, ivcomp ,ivcorr
506: 2851 continue
507: ivtnum = 285
508: c
509: c **** test 285 ****
510: c
511: if (iczero) 32850, 2850, 32850
512: 2850 continue
513: ivon01 =-3
514: ivcomp = ivon01 -2
515: go to 42850
516: 32850 ivdele = ivdele + 1
517: write (i02,80003) ivtnum
518: if (iczero) 42850, 2861, 42850
519: 42850 if (ivcomp +5) 22850,12850,22850
520: 12850 ivpass = ivpass + 1
521: write (i02,80001) ivtnum
522: go to 2861
523: 22850 ivfail = ivfail + 1
524: ivcorr =-5
525: write (i02,80004) ivtnum, ivcomp ,ivcorr
526: 2861 continue
527: ivtnum = 286
528: c
529: c **** test 286 ****
530: c
531: if (iczero) 32860, 2860, 32860
532: 2860 continue
533: ivon02 =2
534: ivcomp = 3 - ivon02
535: go to 42860
536: 32860 ivdele = ivdele + 1
537: write (i02,80003) ivtnum
538: if (iczero) 42860, 2871, 42860
539: 42860 if (ivcomp -1) 22860,12860,22860
540: 12860 ivpass = ivpass + 1
541: write (i02,80001) ivtnum
542: go to 2871
543: 22860 ivfail = ivfail + 1
544: ivcorr = 1
545: write (i02,80004) ivtnum, ivcomp ,ivcorr
546: 2871 continue
547: ivtnum = 287
548: c
549: c **** test 287 ****
550: c
551: if (iczero) 32870, 2870, 32870
552: 2870 continue
553: ivon02 =3
554: ivcomp = 2 -ivon02
555: go to 42870
556: 32870 ivdele = ivdele + 1
557: write (i02,80003) ivtnum
558: if (iczero) 42870, 2881, 42870
559: 42870 if (ivcomp +1) 22870,12870,22870
560: 12870 ivpass = ivpass + 1
561: write (i02,80001) ivtnum
562: go to 2881
563: 22870 ivfail = ivfail + 1
564: ivcorr =-1
565: write (i02,80004) ivtnum, ivcomp ,ivcorr
566: 2881 continue
567: ivtnum = 288
568: c
569: c **** test 288 ****
570: c
571: if (iczero) 32880, 2880, 32880
572: 2880 continue
573: ivon02 = -2
574: ivcomp = 3 - ivon02
575: go to 42880
576: 32880 ivdele = ivdele + 1
577: write (i02,80003) ivtnum
578: if (iczero) 42880, 2891, 42880
579: 42880 if (ivcomp -5) 22880,12880,22880
580: 12880 ivpass = ivpass + 1
581: write (i02,80001) ivtnum
582: go to 2891
583: 22880 ivfail = ivfail + 1
584: ivcorr =5
585: write (i02,80004) ivtnum, ivcomp ,ivcorr
586: 2891 continue
587: ivtnum = 289
588: c
589: c **** test 289 ****
590: c
591: if (iczero) 32890, 2890, 32890
592: 2890 continue
593: ivon01 =51
594: ivcomp = ivon01 - 52
595: go to 42890
596: 32890 ivdele = ivdele + 1
597: write (i02,80003) ivtnum
598: if (iczero) 42890, 2901, 42890
599: 42890 if (ivcomp + 1) 22890,12890,22890
600: 12890 ivpass = ivpass + 1
601: write (i02,80001) ivtnum
602: go to 2901
603: 22890 ivfail = ivfail + 1
604: ivcorr = -1
605: write (i02,80004) ivtnum, ivcomp ,ivcorr
606: 2901 continue
607: ivtnum = 290
608: c
609: c **** test 290 ****
610: c
611: if (iczero) 32900, 2900, 32900
612: 2900 continue
613: ivon01 =51
614: ivcomp = ivon01 -51
615: go to 42900
616: 32900 ivdele = ivdele + 1
617: write (i02,80003) ivtnum
618: if (iczero) 42900, 2911, 42900
619: 42900 if (ivcomp) 22900,12900,22900
620: 12900 ivpass = ivpass + 1
621: write (i02,80001) ivtnum
622: go to 2911
623: 22900 ivfail = ivfail + 1
624: ivcorr =0
625: write (i02,80004) ivtnum, ivcomp ,ivcorr
626: 2911 continue
627: ivtnum = 291
628: c
629: c **** test 291 ****
630: c
631: if (iczero) 32910, 2910, 32910
632: 2910 continue
633: ivon01 =53
634: ivcomp =ivon01 -52
635: go to 42910
636: 32910 ivdele = ivdele + 1
637: write (i02,80003) ivtnum
638: if (iczero) 42910, 2921, 42910
639: 42910 if (ivcomp -1) 22910,12910,22910
640: 12910 ivpass = ivpass + 1
641: write (i02,80001) ivtnum
642: go to 2921
643: 22910 ivfail = ivfail + 1
644: ivcorr = 1
645: write (i02,80004) ivtnum, ivcomp ,ivcorr
646: 2921 continue
647: ivtnum = 292
648: c
649: c **** test 292 ****
650: c
651: if (iczero) 32920, 2920, 32920
652: 2920 continue
653: ivon02 = 676
654: ivcomp = 189 - ivon02
655: go to 42920
656: 32920 ivdele = ivdele + 1
657: write (i02,80003) ivtnum
658: if (iczero) 42920, 2931, 42920
659: 42920 if (ivcomp + 487) 22920,12920,22920
660: 12920 ivpass = ivpass + 1
661: write (i02,80001) ivtnum
662: go to 2931
663: 22920 ivfail = ivfail + 1
664: ivcorr = -487
665: write (i02,80004) ivtnum, ivcomp ,ivcorr
666: 2931 continue
667: ivtnum = 293
668: c
669: c **** test 293 ****
670: c
671: if (iczero) 32930, 2930, 32930
672: 2930 continue
673: ivon02 = -676
674: ivcomp = 189 - ivon02
675: go to 42930
676: 32930 ivdele = ivdele + 1
677: write (i02,80003) ivtnum
678: if (iczero) 42930, 2941, 42930
679: 42930 if (ivcomp - 865) 22930,12930,22930
680: 12930 ivpass = ivpass + 1
681: write (i02,80001) ivtnum
682: go to 2941
683: 22930 ivfail = ivfail + 1
684: ivcorr = 865
685: write (i02,80004) ivtnum, ivcomp ,ivcorr
686: 2941 continue
687: ivtnum = 294
688: c
689: c **** test 294 ****
690: c
691: if (iczero) 32940, 2940, 32940
692: 2940 continue
693: ivon01 = 1358
694: ivcomp = ivon01 - 8001
695: go to 42940
696: 32940 ivdele = ivdele + 1
697: write (i02,80003) ivtnum
698: if (iczero) 42940, 2951, 42940
699: 42940 if (ivcomp + 6643) 22940,12940,22940
700: 12940 ivpass = ivpass + 1
701: write (i02,80001) ivtnum
702: go to 2951
703: 22940 ivfail = ivfail + 1
704: ivcorr = -6643
705: write (i02,80004) ivtnum, ivcomp ,ivcorr
706: 2951 continue
707: ivtnum = 295
708: c
709: c **** test 295 ****
710: c
711: if (iczero) 32950, 2950, 32950
712: 2950 continue
713: ivon01 = -1358
714: ivcomp = ivon01 - 8001
715: go to 42950
716: 32950 ivdele = ivdele + 1
717: write (i02,80003) ivtnum
718: if (iczero) 42950, 2961, 42950
719: 42950 if (ivcomp + 9359) 22950,12950,22950
720: 12950 ivpass = ivpass + 1
721: write (i02,80001) ivtnum
722: go to 2961
723: 22950 ivfail = ivfail + 1
724: ivcorr = -9359
725: write (i02,80004) ivtnum, ivcomp ,ivcorr
726: 2961 continue
727: ivtnum = 296
728: c
729: c **** test 296 ****
730: c
731: if (iczero) 32960, 2960, 32960
732: 2960 continue
733: ivon01 = 15
734: ivcomp = ivon01 - 32752
735: go to 42960
736: 32960 ivdele = ivdele + 1
737: write (i02,80003) ivtnum
738: if (iczero) 42960, 2971, 42960
739: 42960 if (ivcomp + 32737) 22960,12960,22960
740: 12960 ivpass = ivpass + 1
741: write (i02,80001) ivtnum
742: go to 2971
743: 22960 ivfail = ivfail + 1
744: ivcorr = -32737
745: write (i02,80004) ivtnum, ivcomp ,ivcorr
746: 2971 continue
747: ivtnum = 297
748: c
749: c **** test 297 ****
750: c
751: if (iczero) 32970, 2970, 32970
752: 2970 continue
753: ivon01 =-32751
754: ivcomp = ivon01 - 15
755: go to 42970
756: 32970 ivdele = ivdele + 1
757: write (i02,80003) ivtnum
758: if (iczero) 42970, 2981, 42970
759: 42970 if (ivcomp + 32766) 22970,12970,22970
760: 12970 ivpass = ivpass + 1
761: write (i02,80001) ivtnum
762: go to 2981
763: 22970 ivfail = ivfail + 1
764: ivcorr = -32766
765: write (i02,80004) ivtnum, ivcomp ,ivcorr
766: 2981 continue
767: ivtnum = 298
768: c
769: c **** test 298 ****
770: c
771: if (iczero) 32980, 2980, 32980
772: 2980 continue
773: ivon02 = -32752
774: ivcomp = 15 - ivon02
775: go to 42980
776: 32980 ivdele = ivdele + 1
777: write (i02,80003) ivtnum
778: if (iczero) 42980, 2991, 42980
779: 42980 if (ivcomp - 32767) 22980,12980,22980
780: 12980 ivpass = ivpass + 1
781: write (i02,80001) ivtnum
782: go to 2991
783: 22980 ivfail = ivfail + 1
784: ivcorr = 32767
785: write (i02,80004) ivtnum, ivcomp ,ivcorr
786: 2991 continue
787: ivtnum = 299
788: c
789: c **** test 299 ****
790: c
791: if (iczero) 32990, 2990, 32990
792: 2990 continue
793: ivon02 = 15
794: ivcomp = 32752 - ivon02
795: go to 42990
796: 32990 ivdele = ivdele + 1
797: write (i02,80003) ivtnum
798: if (iczero) 42990, 3001, 42990
799: 42990 if (ivcomp - 32737) 22990,12990,22990
800: 12990 ivpass = ivpass + 1
801: write (i02,80001) ivtnum
802: go to 3001
803: 22990 ivfail = ivfail + 1
804: ivcorr = 32737
805: write (i02,80004) ivtnum, ivcomp ,ivcorr
806: 3001 continue
807: c
808: c write page footings and run summaries
809: 99999 continue
810: write (i02,90002)
811: write (i02,90006)
812: write (i02,90002)
813: write (i02,90002)
814: write (i02,90007)
815: write (i02,90002)
816: write (i02,90008) ivfail
817: write (i02,90009) ivpass
818: write (i02,90010) ivdele
819: c
820: c
821: c terminate routine execution
822: stop
823: c
824: c format statements for page headers
825: 90000 format (1h1)
826: 90002 format (1h )
827: 90001 format (1h ,10x,34hfortran compiler validation system)
828: 90003 format (1h ,21x,11hversion 1.0)
829: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
830: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
831: 90006 format (1h ,5x,46h----------------------------------------------)
832: 90011 format (1h ,18x,17hsubset level test)
833: c
834: c format statements for run summaries
835: 90008 format (1h ,15x,i5,19h errors encountered)
836: 90009 format (1h ,15x,i5,13h tests passed)
837: 90010 format (1h ,15x,i5,14h tests deleted)
838: c
839: c format statements for test results
840: 80001 format (1h ,4x,i5,7x,4hpass)
841: 80002 format (1h ,4x,i5,7x,4hfail)
842: 80003 format (1h ,4x,i5,7x,7hdeleted)
843: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
844: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
845: c
846: 90007 format (1h ,20x,20hend of program fm030)
847: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.