|
|
1.1 root 1: c comment section
2: c
3: c fm035
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 variables and integer constant. some of the
10: c tests use parentheses to group elements in the expression and to
11: c allow the use of negative constants following the * operator.
12: c the integer variables contain positive and negative values.
13: c
14: c there are tests where the arithmetic expression contains
15: c (1) integer variable * integer variable
16: c (2) integer variable * integer variable * integer constant
17: c integer variable * integer constant * integer variable
18: c integer constant * integer variable * integer variable
19: c (3) same as (2) but with parentheses to group elements.
20: c
21: c references
22: c american national standard programming language fortran,
23: c x3.9-1978
24: c
25: c section 4.3, integer type
26: c section 4.3.1, integer constant
27: c section 6.1, arithmetic expressions
28: c section 10.1, arithmetic assignment statement
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
100: c test section
101: c
102: c arithmetic assignment statement
103: c
104: c test 430 through test 441 contain two integer variables and
105: c operator * in an arithmetic expression.
106: c the form is iv = iv * iv
107: c
108: c test 430 through test 433 - two positive variables
109: c
110: 4301 continue
111: ivtnum = 430
112: c
113: c **** test 430 ****
114: c
115: if (iczero) 34300, 4300, 34300
116: 4300 continue
117: ivon01 = 2
118: ivon02 = 3
119: ivcomp = ivon01 * ivon02
120: go to 44300
121: 34300 ivdele = ivdele + 1
122: write (i02,80003) ivtnum
123: if (iczero) 44300, 4311, 44300
124: 44300 if (ivcomp - 6) 24300,14300,24300
125: 14300 ivpass = ivpass + 1
126: write (i02,80001) ivtnum
127: go to 4311
128: 24300 ivfail = ivfail + 1
129: ivcorr = 6
130: write (i02,80004) ivtnum, ivcomp ,ivcorr
131: 4311 continue
132: ivtnum = 431
133: c
134: c **** test 431 ****
135: c
136: if (iczero) 34310, 4310, 34310
137: 4310 continue
138: ivon01 = 13
139: ivon02 = 11
140: ivcomp = ivon01 * ivon02
141: go to 44310
142: 34310 ivdele = ivdele + 1
143: write (i02,80003) ivtnum
144: if (iczero) 44310, 4321, 44310
145: 44310 if (ivcomp - 143) 24310,14310,24310
146: 14310 ivpass = ivpass + 1
147: write (i02,80001) ivtnum
148: go to 4321
149: 24310 ivfail = ivfail + 1
150: ivcorr = 143
151: write (i02,80004) ivtnum, ivcomp ,ivcorr
152: 4321 continue
153: ivtnum = 432
154: c
155: c **** test 432 ****
156: c
157: if (iczero) 34320, 4320, 34320
158: 4320 continue
159: ivon01 = 223
160: ivon02 = 99
161: ivcomp = ivon01 * ivon02
162: go to 44320
163: 34320 ivdele = ivdele + 1
164: write (i02,80003) ivtnum
165: if (iczero) 44320, 4331, 44320
166: 44320 if (ivcomp - 22077) 24320,14320,24320
167: 14320 ivpass = ivpass + 1
168: write (i02,80001) ivtnum
169: go to 4331
170: 24320 ivfail = ivfail + 1
171: ivcorr = 22077
172: write (i02,80004) ivtnum, ivcomp ,ivcorr
173: 4331 continue
174: ivtnum = 433
175: c
176: c **** test 433 ****
177: c
178: if (iczero) 34330, 4330, 34330
179: 4330 continue
180: ivon01 = 11235
181: ivon02 = 2
182: ivcomp = ivon01*ivon02
183: go to 44330
184: 34330 ivdele = ivdele + 1
185: write (i02,80003) ivtnum
186: if (iczero) 44330, 4341, 44330
187: 44330 if (ivcomp - 22470) 24330,14330,24330
188: 14330 ivpass = ivpass + 1
189: write (i02,80001) ivtnum
190: go to 4341
191: 24330 ivfail = ivfail + 1
192: ivcorr = 22470
193: write (i02,80004) ivtnum, ivcomp ,ivcorr
194: c
195: c test 434 through test 437
196: c one negative variable, one positive variable
197: c
198: 4341 continue
199: ivtnum = 434
200: c
201: c **** test 434 ****
202: c
203: if (iczero) 34340, 4340, 34340
204: 4340 continue
205: ivon01 = -2
206: ivon02 = 3
207: ivcomp = ivon01 * ivon02
208: go to 44340
209: 34340 ivdele = ivdele + 1
210: write (i02,80003) ivtnum
211: if (iczero) 44340, 4351, 44340
212: 44340 if (ivcomp +6) 24340,14340,24340
213: 14340 ivpass = ivpass + 1
214: write (i02,80001) ivtnum
215: go to 4351
216: 24340 ivfail = ivfail + 1
217: ivcorr = -6
218: write (i02,80004) ivtnum, ivcomp ,ivcorr
219: 4351 continue
220: ivtnum = 435
221: c
222: c **** test 435 ****
223: c
224: if (iczero) 34350, 4350, 34350
225: 4350 continue
226: ivon01 = -13
227: ivon02 = +11
228: ivcomp = ivon01*ivon02
229: go to 44350
230: 34350 ivdele = ivdele + 1
231: write (i02,80003) ivtnum
232: if (iczero) 44350, 4361, 44350
233: 44350 if (ivcomp + 143) 24350,14350,24350
234: 14350 ivpass = ivpass + 1
235: write (i02,80001) ivtnum
236: go to 4361
237: 24350 ivfail = ivfail + 1
238: ivcorr = -143
239: write (i02,80004) ivtnum, ivcomp ,ivcorr
240: 4361 continue
241: ivtnum = 436
242: c
243: c **** test 436 ****
244: c
245: if (iczero) 34360, 4360, 34360
246: 4360 continue
247: ivon01 = -223
248: ivon02 = 99
249: ivcomp = ivon01 * ivon02
250: go to 44360
251: 34360 ivdele = ivdele + 1
252: write (i02,80003) ivtnum
253: if (iczero) 44360, 4371, 44360
254: 44360 if (ivcomp + 22077) 24360,14360,24360
255: 14360 ivpass = ivpass + 1
256: write (i02,80001) ivtnum
257: go to 4371
258: 24360 ivfail = ivfail + 1
259: ivcorr = -22077
260: write (i02,80004) ivtnum, ivcomp ,ivcorr
261: 4371 continue
262: ivtnum = 437
263: c
264: c **** test 437 ****
265: c
266: if (iczero) 34370, 4370, 34370
267: 4370 continue
268: ivon01 = -11235
269: ivon02 = 2
270: ivcomp = ivon01 * ivon02
271: go to 44370
272: 34370 ivdele = ivdele + 1
273: write (i02,80003) ivtnum
274: if (iczero) 44370, 4381, 44370
275: 44370 if (ivcomp + 22470) 24370,14370,24370
276: 14370 ivpass = ivpass + 1
277: write (i02,80001) ivtnum
278: go to 4381
279: 24370 ivfail = ivfail + 1
280: ivcorr = -22470
281: write (i02,80004) ivtnum, ivcomp ,ivcorr
282: c
283: c test 438 through test 441 - two negative variables
284: 4381 continue
285: ivtnum = 438
286: c
287: c **** test 438 ****
288: c
289: if (iczero) 34380, 4380, 34380
290: 4380 continue
291: ivon01 = -2
292: ivon02 = -3
293: ivcomp = ivon01 * ivon02
294: go to 44380
295: 34380 ivdele = ivdele + 1
296: write (i02,80003) ivtnum
297: if (iczero) 44380, 4391, 44380
298: 44380 if (ivcomp - 6) 24380,14380,24380
299: 14380 ivpass = ivpass + 1
300: write (i02,80001) ivtnum
301: go to 4391
302: 24380 ivfail = ivfail + 1
303: ivcorr = 6
304: write (i02,80004) ivtnum, ivcomp ,ivcorr
305: 4391 continue
306: ivtnum = 439
307: c
308: c **** test 439 ****
309: c
310: if (iczero) 34390, 4390, 34390
311: 4390 continue
312: ivon01 = -13
313: ivon02 = -11
314: ivcomp = ivon01 * ivon02
315: go to 44390
316: 34390 ivdele = ivdele + 1
317: write (i02,80003) ivtnum
318: if (iczero) 44390, 4401, 44390
319: 44390 if (ivcomp - 143) 24390,14390,24390
320: 14390 ivpass = ivpass + 1
321: write (i02,80001) ivtnum
322: go to 4401
323: 24390 ivfail = ivfail + 1
324: ivcorr = 143
325: write (i02,80004) ivtnum, ivcomp ,ivcorr
326: 4401 continue
327: ivtnum = 440
328: c
329: c **** test 440 ****
330: c
331: if (iczero) 34400, 4400, 34400
332: 4400 continue
333: ivon01 = -223
334: ivon02 = -99
335: ivcomp = ivon01*ivon02
336: go to 44400
337: 34400 ivdele = ivdele + 1
338: write (i02,80003) ivtnum
339: if (iczero) 44400, 4411, 44400
340: 44400 if (ivcomp - 22077) 24400,14400,24400
341: 14400 ivpass = ivpass + 1
342: write (i02,80001) ivtnum
343: go to 4411
344: 24400 ivfail = ivfail + 1
345: ivcorr = 22077
346: write (i02,80004) ivtnum, ivcomp ,ivcorr
347: 4411 continue
348: ivtnum = 441
349: c
350: c **** test 441 ****
351: c
352: if (iczero) 34410, 4410, 34410
353: 4410 continue
354: ivon01 = -5461
355: ivon02 = -6
356: ivcomp = ivon01 * ivon02
357: go to 44410
358: 34410 ivdele = ivdele + 1
359: write (i02,80003) ivtnum
360: if (iczero) 44410, 4421, 44410
361: 44410 if (ivcomp - 32766) 24410, 14410, 24410
362: 14410 ivpass = ivpass + 1
363: write (i02,80001) ivtnum
364: go to 4421
365: 24410 ivfail = ivfail + 1
366: ivcorr = 32766
367: write (i02,80004) ivtnum, ivcomp ,ivcorr
368: c
369: c test 442 through test 445 contain signed integer variables and
370: c operator * in an arithmetic expression.
371: 4421 continue
372: ivtnum = 442
373: c
374: c **** test 442 ****
375: c form is iv = -iv*iv
376: c
377: if (iczero) 34420, 4420, 34420
378: 4420 continue
379: ivon01 = 2
380: ivon02 = 3
381: ivcomp = -ivon01 * ivon02
382: go to 44420
383: 34420 ivdele = ivdele + 1
384: write (i02,80003) ivtnum
385: if (iczero) 44420, 4431, 44420
386: 44420 if (ivcomp + 6) 24420,14420,24420
387: 14420 ivpass = ivpass + 1
388: write (i02,80001) ivtnum
389: go to 4431
390: 24420 ivfail = ivfail + 1
391: ivcorr = -6
392: write (i02,80004) ivtnum, ivcomp ,ivcorr
393: 4431 continue
394: ivtnum = 443
395: c
396: c **** test 443 ****
397: c form is iv = iv*(-iv)
398: c
399: if (iczero) 34430, 4430, 34430
400: 4430 continue
401: ivon01 = 2
402: ivon02 = 3
403: ivcomp = ivon01 * (-ivon02)
404: go to 44430
405: 34430 ivdele = ivdele + 1
406: write (i02,80003) ivtnum
407: if (iczero) 44430, 4441, 44430
408: 44430 if (ivcomp +6) 24430,14430,24430
409: 14430 ivpass = ivpass + 1
410: write (i02,80001) ivtnum
411: go to 4441
412: 24430 ivfail = ivfail + 1
413: ivcorr = -6
414: write (i02,80004) ivtnum, ivcomp ,ivcorr
415: 4441 continue
416: ivtnum = 444
417: c
418: c **** test 444 ****
419: c form is iv = (-iv)*(-iv)
420: c
421: if (iczero) 34440, 4440, 34440
422: 4440 continue
423: ivon01 = 2
424: ivon02 = 3
425: ivcomp = (-ivon01) * (-ivon02)
426: go to 44440
427: 34440 ivdele = ivdele + 1
428: write (i02,80003) ivtnum
429: if (iczero) 44440, 4451, 44440
430: 44440 if (ivcomp - 6) 24440,14440,24440
431: 14440 ivpass = ivpass + 1
432: write (i02,80001) ivtnum
433: go to 4451
434: 24440 ivfail = ivfail + 1
435: ivcorr = 6
436: write (i02,80004) ivtnum, ivcomp ,ivcorr
437: 4451 continue
438: ivtnum = 445
439: c
440: c **** test 445 ****
441: c form is iv = -iv * iv
442: c
443: if (iczero) 34450, 4450, 34450
444: 4450 continue
445: ivon01 = -11235
446: ivon02 = -2
447: ivcomp = -ivon01 * ivon02
448: go to 44450
449: 34450 ivdele = ivdele + 1
450: write (i02,80003) ivtnum
451: if (iczero) 44450, 4461, 44450
452: 44450 if (ivcomp + 22470) 24450,14450,24450
453: 14450 ivpass = ivpass + 1
454: write (i02,80001) ivtnum
455: go to 4461
456: 24450 ivfail = ivfail + 1
457: ivcorr = -22470
458: write (i02,80004) ivtnum, ivcomp ,ivcorr
459: c
460: c test 446 through test 452 contain two integer variables, an
461: c integer constant and operator * in an arithmetic expression.
462: c
463: 4461 continue
464: ivtnum = 446
465: c
466: c **** test 446 ****
467: c
468: if (iczero) 34460, 4460, 34460
469: 4460 continue
470: ivon01 = 2
471: ivon02 = 3
472: ivcomp = ivon01 * ivon02 * 4
473: go to 44460
474: 34460 ivdele = ivdele + 1
475: write (i02,80003) ivtnum
476: if (iczero) 44460, 4471, 44460
477: 44460 if (ivcomp -24) 24460,14460,24460
478: 14460 ivpass = ivpass + 1
479: write (i02,80001) ivtnum
480: go to 4471
481: 24460 ivfail = ivfail + 1
482: ivcorr = 24
483: write (i02,80004) ivtnum, ivcomp ,ivcorr
484: 4471 continue
485: ivtnum = 447
486: c
487: c **** test 447 ****
488: c
489: if (iczero) 34470, 4470, 34470
490: 4470 continue
491: ivon01 = -2
492: ivon02 = 3
493: ivcomp = ivon01 * ivon02 * 4
494: go to 44470
495: 34470 ivdele = ivdele + 1
496: write (i02,80003) ivtnum
497: if (iczero) 44470, 4481, 44470
498: 44470 if (ivcomp +24) 24470,14470,24470
499: 14470 ivpass = ivpass + 1
500: write (i02,80001) ivtnum
501: go to 4481
502: 24470 ivfail = ivfail + 1
503: ivcorr = -24
504: write (i02,80004) ivtnum, ivcomp ,ivcorr
505: 4481 continue
506: ivtnum = 448
507: c
508: c **** test 448 ****
509: c
510: if (iczero) 34480, 4480, 34480
511: 4480 continue
512: ivon01 = -2
513: ivon02 = 3
514: ivcomp = ivon01 * ivon02 * (-4)
515: go to 44480
516: 34480 ivdele = ivdele + 1
517: write (i02,80003) ivtnum
518: if (iczero) 44480, 4491, 44480
519: 44480 if (ivcomp -24) 24480,14480,24480
520: 14480 ivpass = ivpass + 1
521: write (i02,80001) ivtnum
522: go to 4491
523: 24480 ivfail = ivfail + 1
524: ivcorr = 24
525: write (i02,80004) ivtnum, ivcomp ,ivcorr
526: 4491 continue
527: ivtnum = 449
528: c
529: c **** test 449 ****
530: c
531: if (iczero) 34490, 4490, 34490
532: 4490 continue
533: ivon01 = 51
534: ivon03 = 13
535: ivcomp = ivon01 * 23 * ivon03
536: go to 44490
537: 34490 ivdele = ivdele + 1
538: write (i02,80003) ivtnum
539: if (iczero) 44490, 4501, 44490
540: 44490 if (ivcomp - 15249) 24490,14490,24490
541: 14490 ivpass = ivpass + 1
542: write (i02,80001) ivtnum
543: go to 4501
544: 24490 ivfail = ivfail + 1
545: ivcorr = 15249
546: write (i02,80004) ivtnum, ivcomp ,ivcorr
547: 4501 continue
548: ivtnum = 450
549: c
550: c **** test 450 ****
551: c
552: if (iczero) 34500, 4500, 34500
553: 4500 continue
554: ivon02 = 2
555: ivon03 = 5461
556: ivcomp = 3 * ivon02 * ivon03
557: go to 44500
558: 34500 ivdele = ivdele + 1
559: write (i02,80003) ivtnum
560: if (iczero) 44500, 4511, 44500
561: 44500 if (ivcomp -32766) 24500,14500,24500
562: 14500 ivpass = ivpass + 1
563: write (i02,80001) ivtnum
564: go to 4511
565: 24500 ivfail = ivfail + 1
566: ivcorr = 32766
567: write (i02,80004) ivtnum, ivcomp ,ivcorr
568: 4511 continue
569: ivtnum = 451
570: c
571: c **** test 451 ****
572: c
573: if (iczero) 34510, 4510, 34510
574: 4510 continue
575: ivon01 = -51
576: ivon03 = 13
577: ivcomp = ivon01 * 23 * (-ivon03)
578: go to 44510
579: 34510 ivdele = ivdele + 1
580: write (i02,80003) ivtnum
581: if (iczero) 44510, 4521, 44510
582: 44510 if (ivcomp - 15249) 24510,14510,24510
583: 14510 ivpass = ivpass + 1
584: write (i02,80001) ivtnum
585: go to 4521
586: 24510 ivfail = ivfail + 1
587: ivcorr = 15249
588: write (i02,80004) ivtnum, ivcomp ,ivcorr
589: 4521 continue
590: ivtnum = 452
591: c
592: c **** test 452 ****
593: c
594: if (iczero) 34520, 4520, 34520
595: 4520 continue
596: ivon01 = -5461
597: ivon03 = 2
598: ivcomp = ivon01 * (-3) * ivon03
599: go to 44520
600: 34520 ivdele = ivdele + 1
601: write (i02,80003) ivtnum
602: if (iczero) 44520, 4531, 44520
603: 44520 if (ivcomp - 32766) 24520,14520,24520
604: 14520 ivpass = ivpass + 1
605: write (i02,80001) ivtnum
606: go to 4531
607: 24520 ivfail = ivfail + 1
608: ivcorr = 32766
609: write (i02,80004) ivtnum, ivcomp ,ivcorr
610: c
611: c test 453 through test 461 contain two integer variables and one
612: c integer constant in an arithmetic expression. parentheses are
613: c used to group elements in the arithmetic expressions in these
614: c tests.
615: c
616: 4531 continue
617: ivtnum = 453
618: c
619: c **** test 453 ****
620: c
621: if (iczero) 34530, 4530, 34530
622: 4530 continue
623: ivon01 = 2
624: ivon02 = 3
625: ivcomp = ivon01 * (ivon02 * 4)
626: go to 44530
627: 34530 ivdele = ivdele + 1
628: write (i02,80003) ivtnum
629: if (iczero) 44530, 4541, 44530
630: 44530 if (ivcomp - 24) 24530,14530,24530
631: 14530 ivpass = ivpass + 1
632: write (i02,80001) ivtnum
633: go to 4541
634: 24530 ivfail = ivfail + 1
635: ivcorr = 24
636: write (i02,80004) ivtnum, ivcomp ,ivcorr
637: 4541 continue
638: ivtnum = 454
639: c
640: c **** test 454 ****
641: c
642: if (iczero) 34540, 4540, 34540
643: 4540 continue
644: ivon01 = 2
645: ivon02 = 3
646: ivcomp = (ivon01 * ivon02) * 4
647: go to 44540
648: 34540 ivdele = ivdele + 1
649: write (i02,80003) ivtnum
650: if (iczero) 44540, 4551, 44540
651: 44540 if (ivcomp -24) 24540,14540,24540
652: 14540 ivpass = ivpass + 1
653: write (i02,80001) ivtnum
654: go to 4551
655: 24540 ivfail = ivfail + 1
656: ivcorr = 24
657: write (i02,80004) ivtnum, ivcomp ,ivcorr
658: 4551 continue
659: ivtnum = 455
660: c
661: c **** test 455 ****
662: c
663: if (iczero) 34550, 4550, 34550
664: 4550 continue
665: ivon01 = -2
666: ivon02 = 3
667: ivcomp = ivon01 *(ivon02 * (-4))
668: go to 44550
669: 34550 ivdele = ivdele + 1
670: write (i02,80003) ivtnum
671: if (iczero) 44550, 4561, 44550
672: 44550 if (ivcomp - 24) 24550,14550,24550
673: 14550 ivpass = ivpass + 1
674: write (i02,80001) ivtnum
675: go to 4561
676: 24550 ivfail = ivfail + 1
677: ivcorr = 24
678: write (i02,80004) ivtnum, ivcomp ,ivcorr
679: 4561 continue
680: ivtnum = 456
681: c
682: c **** test 456 ****
683: c
684: if (iczero) 34560, 4560, 34560
685: 4560 continue
686: ivon01 = -2
687: ivon02 = -3
688: ivcomp = ivon01 * (ivon02 * 4)
689: go to 44560
690: 34560 ivdele = ivdele + 1
691: write (i02,80003) ivtnum
692: if (iczero) 44560, 4571, 44560
693: 44560 if (ivcomp -24) 24560,14560,24560
694: 14560 ivpass = ivpass + 1
695: write (i02,80001) ivtnum
696: go to 4571
697: 24560 ivfail = ivfail + 1
698: ivcorr = 24
699: write (i02,80004) ivtnum, ivcomp ,ivcorr
700: 4571 continue
701: ivtnum = 457
702: c
703: c **** test 457 ****
704: c
705: if (iczero) 34570, 4570, 34570
706: 4570 continue
707: ivon01 = -2
708: ivon02 = -3
709: ivcomp = (ivon01*ivon02) * (-4)
710: go to 44570
711: 34570 ivdele = ivdele + 1
712: write (i02,80003) ivtnum
713: if (iczero) 44570, 4581, 44570
714: 44570 if (ivcomp +24) 24570,14570,24570
715: 14570 ivpass = ivpass + 1
716: write (i02,80001) ivtnum
717: go to 4581
718: 24570 ivfail = ivfail + 1
719: ivcorr = -24
720: write (i02,80004) ivtnum, ivcomp ,ivcorr
721: 4581 continue
722: ivtnum = 458
723: c
724: c **** test 458 ****
725: c
726: if (iczero) 34580, 4580, 34580
727: 4580 continue
728: ivon01 = 23
729: ivon03 = 13
730: ivcomp = ivon01 * (51 * ivon03)
731: go to 44580
732: 34580 ivdele = ivdele + 1
733: write (i02,80003) ivtnum
734: if (iczero) 44580, 4591, 44580
735: 44580 if (ivcomp -15249) 24580,14580,24580
736: 14580 ivpass = ivpass + 1
737: write (i02,80001) ivtnum
738: go to 4591
739: 24580 ivfail = ivfail + 1
740: ivcorr = 15249
741: write (i02,80004) ivtnum, ivcomp ,ivcorr
742: 4591 continue
743: ivtnum = 459
744: c
745: c **** test 459 ****
746: c
747: if (iczero) 34590, 4590, 34590
748: 4590 continue
749: ivon02 = 51
750: ivon03 = 13
751: ivcomp = (23 * ivon02) * ivon03
752: go to 44590
753: 34590 ivdele = ivdele + 1
754: write (i02,80003) ivtnum
755: if (iczero) 44590, 4601, 44590
756: 44590 if (ivcomp - 15249) 24590,14590,24590
757: 14590 ivpass = ivpass + 1
758: write (i02,80001) ivtnum
759: go to 4601
760: 24590 ivfail = ivfail + 1
761: ivcorr = 15249
762: write (i02,80004) ivtnum, ivcomp ,ivcorr
763: 4601 continue
764: ivtnum = 460
765: c
766: c **** test 460 ****
767: c
768: if (iczero) 34600, 4600, 34600
769: 4600 continue
770: ivon01 = -23
771: ivon03 = 13
772: ivcomp = (ivon01 * (-51)) * (-ivon03)
773: go to 44600
774: 34600 ivdele = ivdele + 1
775: write (i02,80003) ivtnum
776: if (iczero) 44600, 4611, 44600
777: 44600 if (ivcomp + 15249) 24600,14600,24600
778: 14600 ivpass = ivpass + 1
779: write (i02,80001) ivtnum
780: go to 4611
781: 24600 ivfail = ivfail + 1
782: ivcorr = -15249
783: write (i02,80004) ivtnum, ivcomp ,ivcorr
784: 4611 continue
785: ivtnum = 461
786: c
787: c **** test 461 ****
788: c
789: if (iczero) 34610, 4610, 34610
790: 4610 continue
791: ivon02 = 51
792: ivon03 = 13
793: ivcomp = -23 * (ivon02*ivon03)
794: go to 44610
795: 34610 ivdele = ivdele + 1
796: write (i02,80003) ivtnum
797: if (iczero) 44610, 4621, 44610
798: 44610 if (ivcomp + 15249) 24610,14610,24610
799: 14610 ivpass = ivpass + 1
800: write (i02,80001) ivtnum
801: go to 4621
802: 24610 ivfail = ivfail + 1
803: ivcorr = -15249
804: write (i02,80004) ivtnum, ivcomp ,ivcorr
805: c **** end of tests ****
806: 4621 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 fm035)
847: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.