|
|
1.1 root 1: c comment section
2: c
3: c fm061
4: c
5: c this routine tests arithmetic assignment statements of the
6: c form
7: c integer variable = real constant
8: c integer variable = real variable
9: c real variable = integer variable
10: c real variable = integer constant
11: c
12: c the constants and variables contain both positive and negative
13: c values.
14: c
15: c a real datum is a processor approximation to the value of a
16: c real number. it may assume positive, negative and zero values.
17: c
18: c a basic real constant is written as an integer part, a
19: c decimal point, and a decimal fraction part in that order. both
20: c the integer part and the decimal part are strings of digits;
21: c either one of these strings may be empty but not both. the
22: c constant is an approximation to the digit string interpreted as a
23: c decimal numeral.
24: c
25: c a decimal exponent is written as the letter e, followed by an
26: c optionally signed integer constant.
27: c
28: c a real constant is indicated by writing a basic real constant,
29: c a basic real constant followed by a decimal exponent, or an
30: c integer constant followed by a decimal exponent.
31: c
32: c references
33: c american national standard programming language fortran,
34: c x3.9-1978
35: c
36: c section 4.4, real type
37: c section 4.4.1, real constant
38: c section 6.1, arithmetic expressions
39: c section 6.6, evaluation of expressions
40: c section 10.1, arithmetic assignment statement
41: c section 11.4, arithmetic if statement
42: c
43: c **********************************************************
44: c
45: c a compiler validation system for the fortran language
46: c based on specifications as defined in american national standard
47: c programming language fortran x3.9-1978, has been developed by the
48: c federal cobol compiler testing service. the fortran compiler
49: c validation system (fcvs) consists of audit routines, their related
50: c data, and an executive system. each audit routine is a fortran
51: c program, subprogram or function which includes tests of specific
52: c language elements and supporting procedures indicating the result
53: c of executing these tests.
54: c
55: c this particular program/subprogram/function contains features
56: c found only in the subset as defined in x3.9-1978.
57: c
58: c suggestions and comments should be forwarded to -
59: c
60: c department of the navy
61: c federal cobol compiler testing service
62: c washington, d.c. 20376
63: c
64: c **********************************************************
65: c
66: c
67: c
68: c initialization section
69: c
70: c initialize constants
71: c **************
72: c i01 contains the logical unit number for the card reader.
73: i01 = 5
74: c i02 contains the logical unit number for the printer.
75: i02 = 6
76: c system environment section
77: c
78: cx010 this card is replaced by contents of fexec x-010 control card.
79: c the cx010 card is for overriding the program default i01 = 5
80: c (unit number for card reader).
81: cx011 this card is replaced by contents of fexec x-011 control card.
82: c the cx011 card is for systems which require additional
83: c fortran statements for files associated with cx010 above.
84: c
85: cx020 this card is replaced by contents of fexec x-020 control card.
86: c the cx020 card is for overriding the program default i02 = 6
87: c (unit number for printer).
88: cx021 this card is replaced by contents of fexec x-021 control card.
89: c the cx021 card is for systems which require additional
90: c fortran statements for files associated with cx020 above.
91: c
92: ivpass=0
93: ivfail=0
94: ivdele=0
95: iczero=0
96: c
97: c write page headers
98: write (i02,90000)
99: write (i02,90001)
100: write (i02,90002)
101: write (i02, 90002)
102: write (i02,90003)
103: write (i02,90002)
104: write (i02,90004)
105: write (i02,90002)
106: write (i02,90011)
107: write (i02,90002)
108: write (i02,90002)
109: write (i02,90005)
110: write (i02,90006)
111: write (i02,90002)
112: c
113: c test section
114: c
115: c test 32 through test 42 contain arithmetic assignment
116: c statements of the form
117: c
118: c integer variable = real variable
119: c
120: ivtnum = 32
121: c
122: c **** test 32 ****
123: c
124: if (iczero) 30320, 320, 30320
125: 320 continue
126: rvon01 = 44.5
127: ivcomp = rvon01
128: go to 40320
129: 30320 ivdele = ivdele + 1
130: write (i02,80003) ivtnum
131: if (iczero) 40320, 331, 40320
132: 40320 if (ivcomp - 44) 20320,10320,20320
133: 10320 ivpass = ivpass + 1
134: write (i02,80001) ivtnum
135: go to 331
136: 20320 ivfail = ivfail + 1
137: ivcorr = 44
138: write (i02,80004) ivtnum, ivcomp, ivcorr
139: 331 continue
140: ivtnum = 33
141: c
142: c **** test 33 ****
143: c
144: if (iczero) 30330, 330, 30330
145: 330 continue
146: rvon01 = -2.0005
147: ivcomp = rvon01
148: go to 40330
149: 30330 ivdele = ivdele + 1
150: write (i02,80003) ivtnum
151: if (iczero) 40330, 341, 40330
152: 40330 if (ivcomp + 2) 20330,10330,20330
153: 10330 ivpass = ivpass + 1
154: write (i02,80001) ivtnum
155: go to 341
156: 20330 ivfail = ivfail + 1
157: ivcorr = -2
158: write (i02,80004) ivtnum, ivcomp, ivcorr
159: 341 continue
160: ivtnum = 34
161: c
162: c **** test 34 ****
163: c
164: if (iczero) 30340, 340, 30340
165: 340 continue
166: rvon01 = .32767
167: ivcomp = rvon01
168: go to 40340
169: 30340 ivdele = ivdele + 1
170: write (i02,80003) ivtnum
171: if (iczero) 40340, 351, 40340
172: 40340 if (ivcomp) 20340,10340,20340
173: 10340 ivpass = ivpass + 1
174: write (i02,80001) ivtnum
175: go to 351
176: 20340 ivfail = ivfail + 1
177: ivcorr = 0
178: write (i02,80004) ivtnum, ivcomp, ivcorr
179: 351 continue
180: ivtnum = 35
181: c
182: c **** test 35 ****
183: c
184: if (iczero) 30350, 350, 30350
185: 350 continue
186: rvon01 = 1.999
187: ivcomp = rvon01
188: go to 40350
189: 30350 ivdele = ivdele + 1
190: write (i02,80003) ivtnum
191: if (iczero) 40350, 361, 40350
192: 40350 if (ivcomp - 1) 20350,10350,20350
193: 10350 ivpass = ivpass + 1
194: write (i02,80001) ivtnum
195: go to 361
196: 20350 ivfail = ivfail + 1
197: ivcorr = 1
198: write (i02,80004) ivtnum, ivcomp, ivcorr
199: 361 continue
200: ivtnum = 36
201: c
202: c **** test 36 ****
203: c
204: if (iczero) 30360, 360, 30360
205: 360 continue
206: rvon01 = .25e+1
207: ivcomp = rvon01
208: go to 40360
209: 30360 ivdele = ivdele + 1
210: write (i02,80003) ivtnum
211: if (iczero) 40360, 371, 40360
212: 40360 if (ivcomp - 2) 20360,10360,20360
213: 10360 ivpass = ivpass + 1
214: write (i02,80001) ivtnum
215: go to 371
216: 20360 ivfail = ivfail + 1
217: ivcorr = 2
218: write (i02,80004) ivtnum, ivcomp, ivcorr
219: 371 continue
220: ivtnum = 37
221: c
222: c **** test 37 ****
223: c
224: if (iczero) 30370, 370, 30370
225: 370 continue
226: rvon01 = 445.0e-01
227: ivcomp = rvon01
228: go to 40370
229: 30370 ivdele = ivdele + 1
230: write (i02,80003) ivtnum
231: if (iczero) 40370, 381, 40370
232: 40370 if (ivcomp - 44) 20370,10370,20370
233: 10370 ivpass = ivpass + 1
234: write (i02,80001) ivtnum
235: go to 381
236: 20370 ivfail = ivfail + 1
237: ivcorr = 44
238: write (i02,80004) ivtnum, ivcomp, ivcorr
239: 381 continue
240: ivtnum = 38
241: c
242: c **** test 38 ****
243: c
244: if (iczero) 30380, 380, 30380
245: 380 continue
246: rvon01 = -651.1e-0
247: ivcomp = rvon01
248: go to 40380
249: 30380 ivdele = ivdele + 1
250: write (i02,80003) ivtnum
251: if (iczero) 40380, 391, 40380
252: 40380 if (ivcomp + 651) 20380,10380,20380
253: 10380 ivpass = ivpass + 1
254: write (i02,80001) ivtnum
255: go to 391
256: 20380 ivfail = ivfail + 1
257: ivcorr = -651
258: write (i02,80004) ivtnum, ivcomp, ivcorr
259: 391 continue
260: ivtnum = 39
261: c
262: c **** test 39 ****
263: c
264: if (iczero) 30390, 390, 30390
265: 390 continue
266: rvon01 = .3266e4
267: ivcomp = rvon01
268: go to 40390
269: 30390 ivdele = ivdele + 1
270: write (i02,80003) ivtnum
271: if (iczero) 40390, 401, 40390
272: 40390 if (ivcomp - 3266) 20390,10390,20390
273: 10390 ivpass = ivpass + 1
274: write (i02,80001) ivtnum
275: go to 401
276: 20390 ivfail = ivfail + 1
277: ivcorr = 3266
278: write (i02,80004) ivtnum, ivcomp, ivcorr
279: 401 continue
280: ivtnum = 40
281: c
282: c **** test 40 ****
283: c
284: if (iczero) 30400, 400, 30400
285: 400 continue
286: rvon01 = 35.43e-01
287: ivcomp = rvon01
288: go to 40400
289: 30400 ivdele = ivdele + 1
290: write (i02,80003) ivtnum
291: if (iczero) 40400, 411, 40400
292: 40400 if (ivcomp - 3) 20400,10400,20400
293: 10400 ivpass = ivpass + 1
294: write (i02,80001) ivtnum
295: go to 411
296: 20400 ivfail = ivfail + 1
297: ivcorr = 3
298: write (i02,80004) ivtnum, ivcomp, ivcorr
299: 411 continue
300: ivtnum = 41
301: c
302: c **** test 41 ****
303: c
304: if (iczero) 30410, 410, 30410
305: 410 continue
306: rvon01 = -7.001e2
307: ivcomp = rvon01
308: go to 40410
309: 30410 ivdele = ivdele + 1
310: write (i02,80003) ivtnum
311: if (iczero) 40410, 421, 40410
312: 40410 if (ivcomp + 700) 20410,10410,20410
313: 10410 ivpass = ivpass + 1
314: write (i02,80001) ivtnum
315: go to 421
316: 20410 ivfail = ivfail + 1
317: ivcorr = -700
318: write (i02,80004) ivtnum, ivcomp, ivcorr
319: 421 continue
320: ivtnum = 42
321: c
322: c **** test 42 ****
323: c
324: if (iczero) 30420, 420, 30420
325: 420 continue
326: rvon01 = 4.45e-02
327: ivcomp = rvon01
328: go to 40420
329: 30420 ivdele = ivdele + 1
330: write (i02,80003) ivtnum
331: if (iczero) 40420, 431, 40420
332: 40420 if (ivcomp) 20420,10420,20420
333: 10420 ivpass = ivpass + 1
334: write (i02,80001) ivtnum
335: go to 431
336: 20420 ivfail = ivfail + 1
337: ivcorr = 0
338: write (i02,80004) ivtnum, ivcomp, ivcorr
339: c test 43 through test 48 contain arithmetic assignment
340: c statements of the form
341: c
342: c real variable = integer variable
343: c
344: 431 continue
345: ivtnum = 43
346: c
347: c **** test 43 ****
348: c
349: if (iczero) 30430, 430, 30430
350: 430 continue
351: ivon01 = 2
352: rvcomp = ivon01
353: go to 40430
354: 30430 ivdele = ivdele + 1
355: write (i02,80003) ivtnum
356: if (iczero) 40430, 441, 40430
357: 40430 if (rvcomp - 1.9995) 20430,10430,40431
358: 40431 if (rvcomp - 2.0005) 10430,10430,20430
359: 10430 ivpass = ivpass + 1
360: write (i02,80001) ivtnum
361: go to 441
362: 20430 ivfail = ivfail + 1
363: rvcorr = 2.0000
364: write (i02,80005) ivtnum, rvcomp, rvcorr
365: 441 continue
366: ivtnum = 44
367: c
368: c **** test 44 ****
369: c
370: if (iczero) 30440, 440, 30440
371: 440 continue
372: ivon01 = 25
373: rvcomp = ivon01
374: go to 40440
375: 30440 ivdele = ivdele + 1
376: write (i02,80003) ivtnum
377: if (iczero) 40440, 451, 40440
378: 40440 if (rvcomp - 24.995) 20440,10440,40441
379: 40441 if (rvcomp - 25.005) 10440,10440,20440
380: 10440 ivpass = ivpass + 1
381: write (i02,80001) ivtnum
382: go to 451
383: 20440 ivfail = ivfail + 1
384: rvcorr = 25.000
385: write (i02,80005) ivtnum, rvcomp, rvcorr
386: 451 continue
387: ivtnum = 45
388: c
389: c **** test 45 ****
390: c
391: if (iczero) 30450, 450, 30450
392: 450 continue
393: ivon01 = 357
394: rvcomp = ivon01
395: go to 40450
396: 30450 ivdele = ivdele + 1
397: write (i02,80003) ivtnum
398: if (iczero) 40450, 461, 40450
399: 40450 if (rvcomp - 356.95) 20450,10450,40451
400: 40451 if (rvcomp - 357.05) 10450,10450,20450
401: 10450 ivpass = ivpass + 1
402: write (i02,80001) ivtnum
403: go to 461
404: 20450 ivfail = ivfail + 1
405: rvcorr = 357.00
406: write (i02,80005) ivtnum, rvcomp, rvcorr
407: 461 continue
408: ivtnum = 46
409: c
410: c **** test 46 ****
411: c
412: if (iczero) 30460, 460, 30460
413: 460 continue
414: ivon01 = 4968
415: rvcomp = ivon01
416: go to 40460
417: 30460 ivdele = ivdele + 1
418: write (i02,80003) ivtnum
419: if (iczero) 40460, 471, 40460
420: 40460 if (rvcomp - 4967.5) 20460,10460,40461
421: 40461 if (rvcomp - 4968.5) 10460,10460,20460
422: 10460 ivpass = ivpass + 1
423: write (i02,80001) ivtnum
424: go to 471
425: 20460 ivfail = ivfail + 1
426: rvcorr = 4968.0
427: write (i02,80005) ivtnum, rvcomp, rvcorr
428: 471 continue
429: ivtnum = 47
430: c
431: c **** test 47 ****
432: c
433: if (iczero) 30470, 470, 30470
434: 470 continue
435: ivon01 = 32767
436: rvcomp = ivon01
437: go to 40470
438: 30470 ivdele = ivdele + 1
439: write (i02,80003) ivtnum
440: if (iczero) 40470, 481, 40470
441: 40470 if (rvcomp - 32762.) 20470,10470,40471
442: 40471 if (rvcomp - 32772.) 10470,10470,20470
443: 10470 ivpass = ivpass + 1
444: write (i02,80001) ivtnum
445: go to 481
446: 20470 ivfail = ivfail + 1
447: rvcorr = 32767.
448: write (i02,80005) ivtnum, rvcomp, rvcorr
449: 481 continue
450: ivtnum = 48
451: c
452: c **** test 48 ****
453: c
454: if (iczero) 30480, 480, 30480
455: 480 continue
456: ivon01 = -2
457: rvcomp = ivon01
458: go to 40480
459: 30480 ivdele = ivdele + 1
460: write (i02,80003) ivtnum
461: if (iczero) 40480, 491, 40480
462: 40480 if (rvcomp + 2.0005) 20480,10480,40481
463: 40481 if (rvcomp + 1.9995) 10480,10480,20450
464: 10480 ivpass = ivpass + 1
465: write (i02,80001) ivtnum
466: go to 491
467: 20480 ivfail = ivfail + 1
468: rvcorr = -2.0000
469: write (i02,80005) ivtnum, rvcomp, rvcorr
470: c
471: c test 49 through test 51 contain arithmetic assignment statements
472: c of the form
473: c integer variable = real constant
474: c where constant is basic real constant
475: c
476: 491 continue
477: ivtnum = 49
478: c
479: c **** test 49 ****
480: c
481: if (iczero) 30490, 490, 30490
482: 490 continue
483: ivcomp = 44.5
484: go to 40490
485: 30490 ivdele = ivdele + 1
486: write (i02,80003) ivtnum
487: if (iczero) 40490, 501, 40490
488: 40490 if (ivcomp - 44) 20490,10490,20490
489: 10490 ivpass = ivpass + 1
490: write (i02,80001) ivtnum
491: go to 501
492: 20490 ivfail = ivfail + 1
493: ivcorr = 44
494: write (i02,80004) ivtnum, ivcomp, ivcorr
495: 501 continue
496: ivtnum = 50
497: c
498: c **** test 50 ****
499: c
500: if (iczero) 30500, 500, 30500
501: 500 continue
502: ivcomp = 6500.1
503: go to 40500
504: 30500 ivdele = ivdele + 1
505: write (i02,80003) ivtnum
506: if (iczero) 40500, 511, 40500
507: 40500 if (ivcomp - 6500) 20500,10500,20500
508: 10500 ivpass = ivpass + 1
509: write (i02,80001) ivtnum
510: go to 511
511: 20500 ivfail = ivfail + 1
512: ivcorr = 6500
513: write (i02,80004) ivtnum, ivcomp, ivcorr
514: 511 continue
515: ivtnum = 51
516: c
517: c **** test 51 ****
518: c
519: if (iczero) 30510, 510, 30510
520: 510 continue
521: ivcomp = -.33333
522: go to 40510
523: 30510 ivdele = ivdele + 1
524: write (i02,80003) ivtnum
525: if (iczero) 40510, 521, 40510
526: 40510 if (ivcomp) 20510,10510,20510
527: 10510 ivpass = ivpass + 1
528: write (i02,80001) ivtnum
529: go to 521
530: 20510 ivfail = ivfail + 1
531: ivcorr = 0
532: write (i02,80004) ivtnum, ivcomp, ivcorr
533: c
534: c test 52 through test 55 contain arithmetic assignment statements
535: c of the form
536: c integer variable = real constant
537: c
538: c where constant is basic real constant followed by decimal exponent
539: c
540: 521 continue
541: ivtnum = 52
542: c
543: c **** test 52 ****
544: c
545: if (iczero) 30520, 520, 30520
546: 520 continue
547: ivcomp = .21e+1
548: go to 40520
549: 30520 ivdele = ivdele + 1
550: write (i02,80003) ivtnum
551: if (iczero) 40520, 531, 40520
552: 40520 if (ivcomp - 2) 20520,10520,20520
553: 10520 ivpass = ivpass + 1
554: write (i02,80001) ivtnum
555: go to 531
556: 20520 ivfail = ivfail + 1
557: ivcorr = 2
558: write (i02,80004) ivtnum, ivcomp, ivcorr
559: 531 continue
560: ivtnum = 53
561: c
562: c **** test 53 ****
563: c
564: if (iczero) 30530, 530, 30530
565: 530 continue
566: ivcomp = 445.0e-01
567: go to 40530
568: 30530 ivdele = ivdele + 1
569: write (i02,80003) ivtnum
570: if (iczero) 40530, 541, 40530
571: 40530 if (ivcomp - 44) 20530,10530,20530
572: 10530 ivpass = ivpass + 1
573: write (i02,80001) ivtnum
574: go to 541
575: 20530 ivfail = ivfail + 1
576: ivcorr = 44
577: write (i02,80004) ivtnum, ivcomp, ivcorr
578: 541 continue
579: ivtnum = 54
580: c
581: c **** test 54 ****
582: c
583: if (iczero) 30540, 540, 30540
584: 540 continue
585: ivcomp = 4.450e1
586: go to 40540
587: 30540 ivdele = ivdele + 1
588: write (i02,80003) ivtnum
589: if (iczero) 40540, 551, 40540
590: 40540 if (ivcomp - 44) 20540,10540,20540
591: 10540 ivpass = ivpass + 1
592: write (i02,80001) ivtnum
593: go to 551
594: 20540 ivfail = ivfail + 1
595: ivcorr = 44
596: write (i02,80004) ivtnum, ivcomp, ivcorr
597: 551 continue
598: ivtnum = 55
599: c
600: c **** test 55 ****
601: c
602: if (iczero) 30550, 550, 30550
603: 550 continue
604: ivcomp = -4.45e0
605: go to 40550
606: 30550 ivdele = ivdele + 1
607: write (i02,80003) ivtnum
608: if (iczero) 40550, 561, 40550
609: 40550 if (ivcomp + 4) 20550,10550,20550
610: 10550 ivpass = ivpass + 1
611: write (i02,80001) ivtnum
612: go to 561
613: 20550 ivfail = ivfail + 1
614: ivcorr = -4
615: write (i02,80004) ivtnum, ivcomp, ivcorr
616: c
617: c test 56 and 57 contain arithmetic assignment statements of the
618: c form integer variable = real constant
619: c where constant is integer constant followed by decimal exponent
620: c
621: 561 continue
622: ivtnum = 56
623: c
624: c **** test 56 ****
625: c
626: if (iczero) 30560, 560, 30560
627: 560 continue
628: ivcomp = 445e-02
629: go to 40560
630: 30560 ivdele = ivdele + 1
631: write (i02,80003) ivtnum
632: if (iczero) 40560, 571, 40560
633: 40560 if (ivcomp - 4) 20560,10560,20560
634: 10560 ivpass = ivpass + 1
635: write (i02,80001) ivtnum
636: go to 571
637: 20560 ivfail = ivfail + 1
638: ivcorr = 4
639: write (i02,80004) ivtnum, ivcomp, ivcorr
640: 571 continue
641: ivtnum = 57
642: c
643: c **** test 57 ****
644: c
645: if (iczero) 30570, 570, 30570
646: 570 continue
647: ivcomp = -701e-1
648: go to 40570
649: 30570 ivdele = ivdele + 1
650: write (i02,80003) ivtnum
651: if (iczero) 40570, 581, 40570
652: 40570 if (ivcomp + 70) 20570,10570,20570
653: 10570 ivpass = ivpass + 1
654: write (i02,80001) ivtnum
655: go to 581
656: 20570 ivfail = ivfail + 1
657: ivcorr = -70
658: write (i02,80004) ivtnum, ivcomp, ivcorr
659: c
660: c test 58 through test 62 contain arithmetic assignment statements
661: c of the form real variable = integer constant
662: c
663: 581 continue
664: ivtnum = 58
665: c
666: c **** test 58 ****
667: c
668: if (iczero) 30580, 580, 30580
669: 580 continue
670: rvcomp = 23
671: go to 40580
672: 30580 ivdele = ivdele + 1
673: write (i02,80003) ivtnum
674: if (iczero) 40580, 591, 40580
675: 40580 if (rvcomp - 22.995) 20580,10580,40581
676: 40581 if (rvcomp - 23.005) 10580,10580,20580
677: 10580 ivpass = ivpass + 1
678: write (i02,80001) ivtnum
679: go to 591
680: 20580 ivfail = ivfail + 1
681: rvcorr = 23.000
682: write (i02,80005) ivtnum, rvcomp, rvcorr
683: 591 continue
684: ivtnum = 59
685: c
686: c **** test 59 ****
687: c
688: if (iczero) 30590, 590, 30590
689: 590 continue
690: rvcomp = 32645
691: go to 40590
692: 30590 ivdele = ivdele + 1
693: write (i02,80003) ivtnum
694: if (iczero) 40590, 601, 40590
695: 40590 if (rvcomp - 32640.) 20590,10590,40591
696: 40591 if (rvcomp - 32650.) 10590,10590,20590
697: 10590 ivpass = ivpass + 1
698: write (i02,80001) ivtnum
699: go to 601
700: 20590 ivfail = ivfail + 1
701: rvcorr = 32645.
702: write (i02,80005) ivtnum, rvcomp, rvcorr
703: 601 continue
704: ivtnum = 60
705: c
706: c **** test 60 ****
707: c
708: if (iczero) 30600, 600, 30600
709: 600 continue
710: rvcomp = 0
711: go to 40600
712: 30600 ivdele = ivdele + 1
713: write (i02,80003) ivtnum
714: if (iczero) 40600, 611, 40600
715: 40600 if (rvcomp) 20600,10600,20600
716: 10600 ivpass = ivpass + 1
717: write (i02,80001) ivtnum
718: go to 611
719: 20600 ivfail = ivfail + 1
720: rvcorr = 00000.
721: write (i02,80005) ivtnum, rvcomp, rvcorr
722: 611 continue
723: ivtnum = 61
724: c
725: c **** test 61 ****
726: c
727: if (iczero) 30610, 610, 30610
728: 610 continue
729: rvcomp = -15
730: go to 40610
731: 30610 ivdele = ivdele + 1
732: write (i02,80003) ivtnum
733: if (iczero) 40610, 621, 40610
734: 40610 if (rvcomp -14.995) 40611,10610,20610
735: 40611 if (rvcomp + 15.005) 20610,10610,10610
736: 10610 ivpass = ivpass + 1
737: write (i02,80001) ivtnum
738: go to 621
739: 20610 ivfail = ivfail + 1
740: rvcorr = -15.000
741: write (i02,80005) ivtnum, rvcomp, rvcorr
742: 621 continue
743: c
744: c **** end of tests ****
745: c
746: c
747: c write page footings and run summaries
748: 99999 continue
749: write (i02,90002)
750: write (i02,90006)
751: write (i02,90002)
752: write (i02,90002)
753: write (i02,90007)
754: write (i02,90002)
755: write (i02,90008) ivfail
756: write (i02,90009) ivpass
757: write (i02,90010) ivdele
758: c
759: c
760: c terminate routine execution
761: stop
762: c
763: c format statements for page headers
764: 90000 format (1h1)
765: 90002 format (1h )
766: 90001 format (1h ,10x,34hfortran compiler validation system)
767: 90003 format (1h ,21x,11hversion 1.0)
768: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
769: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
770: 90006 format (1h ,5x,46h----------------------------------------------)
771: 90011 format (1h ,18x,17hsubset level test)
772: c
773: c format statements for run summaries
774: 90008 format (1h ,15x,i5,19h errors encountered)
775: 90009 format (1h ,15x,i5,13h tests passed)
776: 90010 format (1h ,15x,i5,14h tests deleted)
777: c
778: c format statements for test results
779: 80001 format (1h ,4x,i5,7x,4hpass)
780: 80002 format (1h ,4x,i5,7x,4hfail)
781: 80003 format (1h ,4x,i5,7x,7hdeleted)
782: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
783: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
784: c
785: 90007 format (1h ,20x,20hend of program fm061)
786: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.