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