|
|
1.1 root 1: c comment section
2: c
3: c fm038
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 constant/integer constant)/integer constant
19: c (2) integer constant/(integer constant/integer constant)
20: c (3) integer variable/integer constant
21: c (4) integer constant/integer variable
22: c
23: c references
24: c american national standard programming language fortran,
25: c x3.9-1978
26: c
27: c section 4.3, integer type
28: c section 4.3.1, integer constant
29: c section 6.1, arithmetic expressions
30: c section 6.6, evaluation of expressions
31: c section 10.1, arithmetic assignment statement
32: c
33: c **********************************************************
34: c
35: c a compiler validation system for the fortran language
36: c based on specifications as defined in american national standard
37: c programming language fortran x3.9-1978, has been developed by the
38: c federal cobol compiler testing service. the fortran compiler
39: c validation system (fcvs) consists of audit routines, their related
40: c data, and an executive system. each audit routine is a fortran
41: c program, subprogram or function which includes tests of specific
42: c language elements and supporting procedures indicating the result
43: c of executing these tests.
44: c
45: c this particular program/subprogram/function contains features
46: c found only in the subset as defined in x3.9-1978.
47: c
48: c suggestions and comments should be forwarded to -
49: c
50: c department of the navy
51: c federal cobol compiler testing service
52: c washington, d.c. 20376
53: c
54: c **********************************************************
55: c
56: c
57: c
58: c initialization section
59: c
60: c initialize constants
61: c **************
62: c i01 contains the logical unit number for the card reader.
63: i01 = 5
64: c i02 contains the logical unit number for the printer.
65: i02 = 6
66: c system environment section
67: c
68: cx010 this card is replaced by contents of fexec x-010 control card.
69: c the cx010 card is for overriding the program default i01 = 5
70: c (unit number for card reader).
71: cx011 this card is replaced by contents of fexec x-011 control card.
72: c the cx011 card is for systems which require additional
73: c fortran statements for files associated with cx010 above.
74: c
75: cx020 this card is replaced by contents of fexec x-020 control card.
76: c the cx020 card is for overriding the program default i02 = 6
77: c (unit number for printer).
78: cx021 this card is replaced by contents of fexec x-021 control card.
79: c the cx021 card is for systems which require additional
80: c fortran statements for files associated with cx020 above.
81: c
82: ivpass=0
83: ivfail=0
84: ivdele=0
85: iczero=0
86: c
87: c write page headers
88: write (i02,90000)
89: write (i02,90001)
90: write (i02,90002)
91: write (i02, 90002)
92: write (i02,90003)
93: write (i02,90002)
94: write (i02,90004)
95: write (i02,90002)
96: write (i02,90011)
97: write (i02,90002)
98: write (i02,90002)
99: write (i02,90005)
100: write (i02,90006)
101: write (i02,90002)
102: c
103: c test section
104: c
105: c arithmetic assignment statement
106: c
107: c test 520 through test 525 contain arithmetic assignment statements
108: c of the form integer variable = (int.con./int.con.)/int.con.
109: c no truncation of the result is required. both positive and
110: c negative constants are included.
111: c
112: 5201 continue
113: ivtnum = 520
114: c
115: c **** test 520 ****
116: c
117: if (iczero) 35200, 5200, 35200
118: 5200 continue
119: ivcomp = (24/3)/4
120: go to 45200
121: 35200 ivdele = ivdele + 1
122: write (i02,80003) ivtnum
123: if (iczero) 45200, 5211, 45200
124: 45200 if (ivcomp - 2) 25200,15200,25200
125: 15200 ivpass = ivpass + 1
126: write (i02,80001) ivtnum
127: go to 5211
128: 25200 ivfail = ivfail + 1
129: ivcorr = 2
130: write (i02,80004) ivtnum, ivcomp ,ivcorr
131: 5211 continue
132: ivtnum = 521
133: c
134: c **** test 521 ****
135: c
136: if (iczero) 35210, 5210, 35210
137: 5210 continue
138: ivcomp = (7150/2)/25
139: go to 45210
140: 35210 ivdele = ivdele + 1
141: write (i02,80003) ivtnum
142: if (iczero) 45210, 5221, 45210
143: 45210 if (ivcomp - 143) 25210,15210,25210
144: 15210 ivpass = ivpass + 1
145: write (i02,80001) ivtnum
146: go to 5221
147: 25210 ivfail = ivfail + 1
148: ivcorr = 143
149: write (i02,80004) ivtnum, ivcomp ,ivcorr
150: 5221 continue
151: ivtnum = 522
152: c
153: c **** test 522 ****
154: c
155: if (iczero) 35220, 5220, 35220
156:
157: 5220 continue
158: ivcomp = (-24/3)/4
159: go to 45220
160: 35220 ivdele = ivdele + 1
161: write (i02,80003) ivtnum
162: if (iczero) 45220, 5231, 45220
163: 45220 if (ivcomp + 2) 25220,15220,25220
164: 15220 ivpass = ivpass + 1
165: write (i02,80001) ivtnum
166: go to 5231
167: 25220 ivfail = ivfail + 1
168: ivcorr = -2
169: write (i02,80004) ivtnum, ivcomp ,ivcorr
170: 5231 continue
171: ivtnum = 523
172: c
173: c **** test 523 ****
174: c
175: if (iczero) 35230, 5230, 35230
176: 5230 continue
177: ivcomp = (330/(-3))/2
178: go to 45230
179: 35230 ivdele = ivdele + 1
180: write (i02,80003) ivtnum
181: if (iczero) 45230, 5241, 45230
182: 45230 if (ivcomp + 55) 25230,15230,25230
183: 15230 ivpass = ivpass + 1
184: write (i02,80001) ivtnum
185: go to 5241
186: 25230 ivfail = ivfail + 1
187: ivcorr = -55
188: write (i02,80004) ivtnum, ivcomp ,ivcorr
189: 5241 continue
190: ivtnum = 524
191: c
192: c **** test 524 ****
193: c
194: if (iczero) 35240, 5240, 35240
195: 5240 continue
196: ivcomp = ((-7150)/(-2))/(-25)
197: go to 45240
198: 35240 ivdele = ivdele + 1
199: write (i02,80003) ivtnum
200: if (iczero) 45240, 5251, 45240
201: 45240 if (ivcomp + 143) 25240,15240,25240
202: 15240 ivpass = ivpass + 1
203: write (i02,80001) ivtnum
204: go to 5251
205: 25240 ivfail = ivfail + 1
206: ivcorr = -143
207: write (i02,80004) ivtnum, ivcomp ,ivcorr
208: 5251 continue
209: ivtnum = 525
210: c
211: c **** test 525 ****
212: c
213: if (iczero) 35250, 5250, 35250
214: 5250 continue
215: ivcomp = (15249/(-13))/(-51)
216: go to 45250
217: 35250 ivdele = ivdele + 1
218: write (i02,80003) ivtnum
219: if (iczero) 45250, 5261, 45250
220: 45250 if (ivcomp - 23) 25250,15250,25250
221: 15250 ivpass = ivpass + 1
222: write (i02,80001) ivtnum
223: go to 5261
224: 25250 ivfail = ivfail + 1
225: ivcorr = 23
226: write (i02,80004) ivtnum, ivcomp ,ivcorr
227: c
228: c test 526 through test 531 contain arithmetic assignment statements
229: c of the form iv = (ic/ic)/ic.
230: c truncation of the result is required. both positive and
231: c negative constants are included.
232: c
233: 5261 continue
234: ivtnum = 526
235: c
236: c **** test 526 ****
237: c
238: if (iczero) 35260, 5260, 35260
239: 5260 continue
240: ivcomp = (24/3)/3
241: go to 45260
242: 35260 ivdele = ivdele + 1
243: write (i02,80003) ivtnum
244: if (iczero) 45260, 5271, 45260
245: 45260 if (ivcomp - 2) 25260,15260,25260
246: 15260 ivpass = ivpass + 1
247: write (i02,80001) ivtnum
248: go to 5271
249: 25260 ivfail = ivfail + 1
250: ivcorr = 2
251: write (i02,80004) ivtnum, ivcomp ,ivcorr
252: 5271 continue
253: ivtnum = 527
254: c
255: c **** test 527 ****
256: c
257: if (iczero) 35270, 5270, 35270
258: 5270 continue
259: ivcomp = (7151/3)/10
260: go to 45270
261: 35270 ivdele = ivdele + 1
262: write (i02,80003) ivtnum
263: if (iczero) 45270, 5281, 45270
264: 45270 if (ivcomp - 238) 25270,15270,25270
265: 15270 ivpass = ivpass + 1
266: write (i02,80001) ivtnum
267: go to 5281
268: 25270 ivfail = ivfail + 1
269: ivcorr = 238
270: write (i02,80004) ivtnum, ivcomp ,ivcorr
271: 5281 continue
272: ivtnum = 528
273: c
274: c **** test 528 ****
275: c
276: if (iczero) 35280, 5280, 35280
277: 5280 continue
278: ivcomp = (-24/3)/3
279: go to 45280
280: 35280 ivdele = ivdele + 1
281: write (i02,80003) ivtnum
282: if (iczero) 45280, 5291, 45280
283: 45280 if (ivcomp + 2) 25280,15280,25280
284: 15280 ivpass = ivpass + 1
285: write (i02,80001) ivtnum
286: go to 5291
287: 25280 ivfail = ivfail + 1
288: ivcorr = -2
289: write (i02,80004) ivtnum, ivcomp ,ivcorr
290: 5291 continue
291: ivtnum = 529
292: c
293: c **** test 529 ****
294: c
295: if (iczero) 35290, 5290, 35290
296: 5290 continue
297: ivcomp = (7151/(-3))/10
298: go to 45290
299: 35290 ivdele = ivdele + 1
300: write (i02,80003) ivtnum
301: if (iczero) 45290, 5301, 45290
302: 45290 if (ivcomp + 238) 25290,15290,25290
303: 15290 ivpass = ivpass + 1
304: write (i02,80001) ivtnum
305: go to 5301
306: 25290 ivfail = ivfail + 1
307: ivcorr = -238
308: write (i02,80004) ivtnum, ivcomp ,ivcorr
309: 5301 continue
310: ivtnum = 530
311: c
312: c **** test 530 ****
313: c
314: if (iczero) 35300, 5300, 35300
315: 5300 continue
316: ivcomp = (15248/(-51))/(-23)
317: go to 45300
318: 35300 ivdele = ivdele + 1
319: write (i02,80003) ivtnum
320: if (iczero) 45300, 5311, 45300
321: 45300 if (ivcomp - 12) 25300,15300,25300
322: 15300 ivpass = ivpass + 1
323: write (i02,80001) ivtnum
324: go to 5311
325: 25300 ivfail = ivfail + 1
326: ivcorr = 12
327: write (i02,80004) ivtnum, ivcomp ,ivcorr
328: 5311 continue
329: ivtnum = 531
330: c
331: c **** test 531 ****
332: c
333: if (iczero) 35310, 5310, 35310
334: 5310 continue
335: ivcomp = ((-27342)/(-4))/(-3)
336: go to 45310
337: 35310 ivdele = ivdele + 1
338: write (i02,80003) ivtnum
339: if (iczero) 45310, 5321, 45310
340: 45310 if (ivcomp + 2278) 25310,15310,25310
341: 15310 ivpass = ivpass + 1
342: write (i02,80001) ivtnum
343: go to 5321
344: 25310 ivfail = ivfail + 1
345: ivcorr = -2278
346: write (i02,80004) ivtnum, ivcomp ,ivcorr
347: c
348: c test 532 through test 537 contain arithmetic assignment statements
349: c of the form iv = ic/(ic/ic).
350: c no truncation of the result is required. both positive and
351: c negative constants are included.
352: c
353: 5321 continue
354: ivtnum = 532
355: c
356: c **** test 532 ****
357: c
358: if (iczero) 35320, 5320, 35320
359: 5320 continue
360: ivcomp = 24/(8/4)
361: go to 45320
362: 35320 ivdele = ivdele + 1
363: write (i02,80003) ivtnum
364: if (iczero) 45320, 5331, 45320
365: 45320 if (ivcomp - 12) 25320,15320,25320
366: 15320 ivpass = ivpass + 1
367: write (i02,80001) ivtnum
368: go to 5331
369: 25320 ivfail = ivfail + 1
370: ivcorr = 12
371: write (i02,80004) ivtnum, ivcomp ,ivcorr
372: 5331 continue
373: ivtnum = 533
374: c
375: c **** test 533 ****
376: c
377: if (iczero) 35330, 5330, 35330
378: 5330 continue
379: ivcomp = 7150/(25/5)
380: go to 45330
381: 35330 ivdele = ivdele + 1
382: write (i02,80003) ivtnum
383: if (iczero) 45330, 5341, 45330
384: 45330 if (ivcomp - 1430) 25330,15330,25330
385: 15330 ivpass = ivpass + 1
386: write (i02,80001) ivtnum
387: go to 5341
388: 25330 ivfail = ivfail + 1
389: ivcorr = 1430
390: write (i02,80004) ivtnum, ivcomp ,ivcorr
391: 5341 continue
392: ivtnum = 534
393: c
394: c **** test 534 ****
395: c
396: if (iczero) 35340, 5340, 35340
397: 5340 continue
398: ivcomp = -24/(8/4)
399: go to 45340
400: 35340 ivdele = ivdele + 1
401: write (i02,80003) ivtnum
402: if (iczero) 45340, 5351, 45340
403: 45340 if (ivcomp + 12) 25340,15340,25340
404: 15340 ivpass = ivpass + 1
405: write (i02,80001) ivtnum
406: go to 5351
407: 25340 ivfail = ivfail + 1
408: ivcorr = -12
409: write (i02,80004) ivtnum, ivcomp ,ivcorr
410: 5351 continue
411: ivtnum = 535
412: c
413: c **** test 535 ****
414: c
415: if (iczero) 35350, 5350, 35350
416: 5350 continue
417: ivcomp = 24/((-8)/4)
418: go to 45350
419: 35350 ivdele = ivdele + 1
420: write (i02,80003) ivtnum
421: if (iczero) 45350, 5361, 45350
422: 45350 if (ivcomp + 12) 25350,15350,25350
423: 15350 ivpass = ivpass + 1
424: write (i02,80001) ivtnum
425: go to 5361
426: 25350 ivfail = ivfail + 1
427: ivcorr = -12
428: write (i02,80004) ivtnum, ivcomp ,ivcorr
429: 5361 continue
430: ivtnum = 536
431: c
432: c **** test 536 ****
433: c
434: if (iczero) 35360, 5360, 35360
435: 5360 continue
436: ivcomp = (-7150)/((-25)/(-5))
437: go to 45360
438: 35360 ivdele = ivdele + 1
439: write (i02,80003) ivtnum
440: if (iczero) 45360, 5371, 45360
441: 45360 if (ivcomp + 1430) 25360,15360,25360
442: 15360 ivpass = ivpass + 1
443: write (i02,80001) ivtnum
444: go to 5371
445: 25360 ivfail = ivfail + 1
446: ivcorr = -1430
447: write (i02,80004) ivtnum, ivcomp ,ivcorr
448: 5371 continue
449: ivtnum = 537
450: c
451: c **** test 537 ****
452: c
453: if (iczero) 35370, 5370, 35370
454: 5370 continue
455: ivcomp = -7150/(25/(-5))
456: go to 45370
457: 35370 ivdele = ivdele + 1
458: write (i02,80003) ivtnum
459: if (iczero) 45370, 5381, 45370
460: 45370 if (ivcomp - 1430) 25370,15370,25370
461: 15370 ivpass = ivpass + 1
462: write (i02,80001) ivtnum
463: go to 5381
464: 25370 ivfail = ivfail + 1
465: ivcorr = 1430
466: write (i02,80004) ivtnum, ivcomp ,ivcorr
467: c
468: c test 538 through test 543 contain arithmetic assigmment statements
469: c of the form iv = ic/(ic/ic).
470: c truncation of the result is required. both positive and
471: c negative constants are included.
472: c
473: 5381 continue
474: ivtnum = 538
475: c
476: c **** test 538 ****
477: c
478: if (iczero) 35380, 5380, 35380
479: 5380 continue
480: ivcomp = 29/(5/2)
481: go to 45380
482: 35380 ivdele = ivdele + 1
483: write (i02,80003) ivtnum
484: if (iczero) 45380, 5391, 45380
485: 45380 if (ivcomp - 14) 25380,15380,25380
486: 15380 ivpass = ivpass + 1
487: write (i02,80001) ivtnum
488: go to 5391
489: 25380 ivfail = ivfail + 1
490: ivcorr = 14
491: write (i02,80004) ivtnum, ivcomp ,ivcorr
492: 5391 continue
493: ivtnum = 539
494: c
495: c **** test 539 ****
496: c
497: if (iczero) 35390, 5390, 35390
498: 5390 continue
499: ivcomp = 7154/(26/5)
500: go to 45390
501: 35390 ivdele = ivdele + 1
502: write (i02,80003) ivtnum
503: if (iczero) 45390, 5401, 45390
504: 45390 if (ivcomp - 1430) 25390,15390,25390
505: 15390 ivpass = ivpass + 1
506: write (i02,80001) ivtnum
507: go to 5401
508: 25390 ivfail = ivfail + 1
509: ivcorr = 1430
510: write (i02,80004) ivtnum, ivcomp ,ivcorr
511: 5401 continue
512: ivtnum = 540
513: c
514: c **** test 540 ****
515: c
516: if (iczero) 35400, 5400, 35400
517: 5400 continue
518: ivcomp = -7154/(26/5)
519: go to 45400
520: 35400 ivdele = ivdele + 1
521: write (i02,80003) ivtnum
522: if (iczero) 45400, 5411, 45400
523: 45400 if (ivcomp + 1430) 25400,15400,25400
524: 15400 ivpass = ivpass + 1
525: write (i02,80001) ivtnum
526: go to 5411
527: 25400 ivfail = ivfail + 1
528: ivcorr = -1430
529: write (i02,80004) ivtnum, ivcomp ,ivcorr
530: 5411 continue
531: ivtnum = 541
532: c
533: c **** test 541 ****
534: c
535: if (iczero) 35410, 5410, 35410
536: 5410 continue
537: ivcomp = (-7154)/((-26)/5)
538: go to 45410
539: 35410 ivdele = ivdele + 1
540: write (i02,80003) ivtnum
541: if (iczero) 45410, 5421, 45410
542: 45410 if (ivcomp - 1430) 25410,15410,25410
543: 15410 ivpass = ivpass + 1
544: write (i02,80001) ivtnum
545: go to 5421
546: 25410 ivfail = ivfail + 1
547: ivcorr = 1430
548: write (i02,80004) ivtnum, ivcomp ,ivcorr
549: 5421 continue
550: ivtnum = 542
551: c
552: c **** test 542 ****
553: c
554: if (iczero) 35420, 5420, 35420
555: 5420 continue
556: ivcomp = 7154/((-26)/(-5))
557: go to 45420
558: 35420 ivdele = ivdele + 1
559: write (i02,80003) ivtnum
560: if (iczero) 45420, 5431, 45420
561: 45420 if (ivcomp - 1430) 25420,15420,25420
562: 15420 ivpass = ivpass + 1
563: write (i02,80001) ivtnum
564: go to 5431
565: 25420 ivfail = ivfail + 1
566: ivcorr = 1430
567: write (i02,80004) ivtnum, ivcomp ,ivcorr
568: 5431 continue
569: ivtnum = 543
570: c
571: c **** test 543 ****
572: c
573: if (iczero) 35430, 5430, 35430
574: 5430 continue
575: ivcomp = (-7154)/((-26)/(-5))
576: go to 45430
577: 35430 ivdele = ivdele + 1
578: write (i02,80003) ivtnum
579: if (iczero) 45430, 5441, 45430
580: 45430 if (ivcomp + 1430) 25430,15430,25430
581: 15430 ivpass = ivpass + 1
582: write (i02,80001) ivtnum
583: go to 5441
584: 25430 ivfail = ivfail + 1
585: ivcorr = -1430
586: write (i02,80004) ivtnum, ivcomp ,ivcorr
587: c
588: c test 544 through test 547 contain arithmetic assignment statements
589: c of the form integer variable = integer variable/integer constant
590: c
591: 5441 continue
592: ivtnum = 544
593: c
594: c **** test 544 ****
595: c
596: if (iczero) 35440, 5440, 35440
597: 5440 continue
598: ivon01 = 75
599: ivcomp = ivon01/25
600: go to 45440
601: 35440 ivdele = ivdele + 1
602: write (i02,80003) ivtnum
603: if (iczero) 45440, 5451, 45440
604: 45440 if (ivcomp - 3) 25440,15440,25440
605: 15440 ivpass = ivpass + 1
606: write (i02,80001) ivtnum
607: go to 5451
608: 25440 ivfail = ivfail + 1
609: ivcorr = 3
610: write (i02,80004) ivtnum, ivcomp ,ivcorr
611: 5451 continue
612: ivtnum = 545
613: c
614: c **** test 545 ****
615: c
616: if (iczero) 35450, 5450, 35450
617: 5450 continue
618: ivon01 = -3575
619: ivcomp = ivon01/25
620: go to 45450
621: 35450 ivdele = ivdele + 1
622: write (i02,80003) ivtnum
623: if (iczero) 45450, 5461, 45450
624: 45450 if (ivcomp + 143) 25450,15450,25450
625: 15450 ivpass = ivpass + 1
626: write (i02,80001) ivtnum
627: go to 5461
628: 25450 ivfail = ivfail + 1
629: ivcorr = -143
630: write (i02,80004) ivtnum, ivcomp ,ivcorr
631: 5461 continue
632: ivtnum = 546
633: c
634: c **** test 546 ****
635: c
636: if (iczero) 35460, 5460, 35460
637: 5460 continue
638: ivon01 = 3575
639: ivcomp = ivon01/(-143)
640: go to 45460
641: 35460 ivdele = ivdele + 1
642: write (i02,80003) ivtnum
643: if (iczero) 45460, 5471, 45460
644: 45460 if (ivcomp + 25) 25460,15460,25460
645: 15460 ivpass = ivpass + 1
646: write (i02,80001) ivtnum
647: go to 5471
648: 25460 ivfail = ivfail + 1
649: ivcorr = -25
650: write (i02,80004) ivtnum, ivcomp ,ivcorr
651: 5471 continue
652: ivtnum = 547
653: c
654: c **** test 547 ****
655: c
656: if (iczero) 35470, 5470, 35470
657: 5470 continue
658: ivon01 = 959
659: ivcomp = ivon01/120
660: go to 45470
661: 35470 ivdele = ivdele + 1
662: write (i02,80003) ivtnum
663: if (iczero) 45470, 5481, 45470
664: 45470 if (ivcomp -7) 25470,15470,25470
665: 15470 ivpass = ivpass + 1
666: write (i02,80001) ivtnum
667: go to 5481
668: 25470 ivfail = ivfail + 1
669: ivcorr = 7
670: write (i02,80004) ivtnum, ivcomp ,ivcorr
671: c
672: c test 548 through test 551 contain arithmetic assignment statements
673: c of the form integer variable =integer constant/integer variable.
674: c
675: 5481 continue
676: ivtnum = 548
677: c
678: c **** test 548 ****
679: c
680: if (iczero) 35480, 5480, 35480
681: 5480 continue
682: ivon02 = 25
683: ivcomp = 75/ivon02
684: go to 45480
685: 35480 ivdele = ivdele + 1
686: write (i02,80003) ivtnum
687: if (iczero) 45480, 5491, 45480
688: 45480 if (ivcomp - 3) 25480,15480,25480
689: 15480 ivpass = ivpass + 1
690: write (i02,80001) ivtnum
691: go to 5491
692: 25480 ivfail = ivfail + 1
693: ivcorr = 3
694: write (i02,80004) ivtnum, ivcomp ,ivcorr
695: 5491 continue
696: ivtnum = 549
697: c
698: c **** test 549 ****
699: c
700: if (iczero) 35490, 5490, 35490
701: 5490 continue
702: ivon02 = -25
703: ivcomp = 3579/ivon02
704: go to 45490
705: 35490 ivdele = ivdele + 1
706: write (i02,80003) ivtnum
707: if (iczero) 45490, 5501, 45490
708: 45490 if (ivcomp + 143) 25490,15490,25490
709: 15490 ivpass = ivpass + 1
710: write (i02,80001) ivtnum
711: go to 5501
712: 25490 ivfail = ivfail + 1
713: ivcorr = -143
714: write (i02,80004) ivtnum, ivcomp ,ivcorr
715: 5501 continue
716: ivtnum = 550
717: c
718: c **** test 550 ****
719: c
720: if (iczero) 35500, 5500, 35500
721: 5500 continue
722: ivon02 = -143
723: ivcomp = (-3575)/ivon02
724: go to 45500
725: 35500 ivdele = ivdele + 1
726: write (i02,80003) ivtnum
727: if (iczero) 45500, 5511, 45500
728: 45500 if (ivcomp - 25) 25500,15500,25500
729: 15500 ivpass = ivpass + 1
730: write (i02,80001) ivtnum
731: go to 5511
732: 25500 ivfail = ivfail + 1
733: ivcorr = 25
734: write (i02,80004) ivtnum, ivcomp ,ivcorr
735: 5511 continue
736: ivtnum = 551
737: c
738: c **** test 551 ****
739: c
740: if (iczero) 35510, 5510, 35510
741: 5510 continue
742: ivon02 = 120
743: ivcomp = -959/ivon02
744: go to 45510
745: 35510 ivdele = ivdele + 1
746: write (i02,80003) ivtnum
747: if (iczero) 45510, 5521, 45510
748: 45510 if (ivcomp + 7) 25510,15510,25510
749: 15510 ivpass = ivpass + 1
750: write (i02,80001) ivtnum
751: go to 5521
752: 25510 ivfail = ivfail + 1
753: ivcorr = -7
754: write (i02,80004) ivtnum, ivcomp ,ivcorr
755: c **** end of tests ****
756: 5521 continue
757: c
758: c write page footings and run summaries
759: 99999 continue
760: write (i02,90002)
761: write (i02,90006)
762: write (i02,90002)
763: write (i02,90002)
764: write (i02,90007)
765: write (i02,90002)
766: write (i02,90008) ivfail
767: write (i02,90009) ivpass
768: write (i02,90010) ivdele
769: c
770: c
771: c terminate routine execution
772: stop
773: c
774: c format statements for page headers
775: 90000 format (1h1)
776: 90002 format (1h )
777: 90001 format (1h ,10x,34hfortran compiler validation system)
778: 90003 format (1h ,21x,11hversion 1.0)
779: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
780: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
781: 90006 format (1h ,5x,46h----------------------------------------------)
782: 90011 format (1h ,18x,17hsubset level test)
783: c
784: c format statements for run summaries
785: 90008 format (1h ,15x,i5,19h errors encountered)
786: 90009 format (1h ,15x,i5,13h tests passed)
787: 90010 format (1h ,15x,i5,14h tests deleted)
788: c
789: c format statements for test results
790: 80001 format (1h ,4x,i5,7x,4hpass)
791: 80002 format (1h ,4x,i5,7x,4hfail)
792: 80003 format (1h ,4x,i5,7x,7hdeleted)
793: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
794: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
795: c
796: 90007 format (1h ,20x,20hend of program fm038)
797: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.