|
|
1.1 root 1: c comment section
2: c
3: c fm098
4: c
5: c this routine tests intrinsic functions where the function type is
6: c integer and the arguments are either integer or real. the real
7: c and integer variables and the real and integer constants contain
8: c both positive and negative values. the intrinsic functions tested
9: c by fm098 include
10: c type of
11: c intrinsic function name argument function
12: c ------------------ ---- -------- --------
13: c absolute value iabs integer integer
14: c truncation int real integer
15: c remaindering mod integer integer
16: c choosing largest value max0 integer integer
17: c max1 real integer
18: c choosing smallest value min0 integer integer
19: c min1 real integer
20: c fix ifix real integer
21: c transfer of sign isign integer integer
22: c positive difference idim integer integer
23: c
24: c references
25: c american national standard programming language fortran,
26: c x3.9-1978
27: c
28: c section 4.1.2, type rules for data and procedure identifiers
29: c section 15.3, intrinsic function
30: c section 15.3.2, intrinsic functions and their reference
31: c
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 test 907 through test 909 contain intrinsic function tests for
106: c absolute value where argument and function are integer
107: c
108: 9071 continue
109: ivtnum = 907
110: c
111: c **** test 907 ****
112: c
113: if (iczero) 39070, 9070, 39070
114: 9070 continue
115: ivcomp = iabs (-382)
116: go to 49070
117: 39070 ivdele = ivdele + 1
118: write (i02,80003) ivtnum
119: if (iczero) 49070, 9081, 49070
120: 49070 if (ivcomp - 382) 29070,19070,29070
121: 19070 ivpass = ivpass + 1
122: write (i02,80001) ivtnum
123: go to 9081
124: 29070 ivfail = ivfail + 1
125: ivcorr = 382
126: write (i02,80004) ivtnum, ivcomp, ivcorr
127: 9081 continue
128: ivtnum = 908
129: c
130: c **** test 908 ****
131: c
132: if (iczero) 39080, 9080, 39080
133: 9080 continue
134: ivon01 = 445
135: ivcomp = iabs (ivon01)
136: go to 49080
137: 39080 ivdele = ivdele + 1
138: write (i02,80003) ivtnum
139: if (iczero) 49080, 9091, 49080
140: 49080 if (ivcomp - 445) 29080,19080,29080
141: 19080 ivpass = ivpass + 1
142: write (i02,80001) ivtnum
143: go to 9091
144: 29080 ivfail = ivfail + 1
145: ivcorr = 445
146: write (i02,80004) ivtnum, ivcomp, ivcorr
147: 9091 continue
148: ivtnum = 909
149: c
150: c **** test 909 ****
151: c
152: if (iczero) 39090, 9090, 39090
153: 9090 continue
154: ivon01 = -32176
155: ivcomp = iabs (ivon01)
156: go to 49090
157: 39090 ivdele = ivdele + 1
158: write (i02,80003) ivtnum
159: if (iczero) 49090, 9101, 49090
160: 49090 if (ivcomp - 32176) 29090,19090,29090
161: 19090 ivpass = ivpass + 1
162: write (i02,80001) ivtnum
163: go to 9101
164: 29090 ivfail = ivfail + 1
165: ivcorr = 32176
166: write (i02,80004) ivtnum, ivcomp, ivcorr
167: c
168: c test 910 through test 913 contain intrinsic function tests for
169: c truncation where argument is real and function is integer
170: c
171: 9101 continue
172: ivtnum = 910
173: c
174: c **** test 910 ****
175: c
176: if (iczero) 39100, 9100, 39100
177: 9100 continue
178: ivcomp = int (38.2)
179: go to 49100
180: 39100 ivdele = ivdele + 1
181: write (i02,80003) ivtnum
182: if (iczero) 49100, 9111, 49100
183: 49100 if (ivcomp - 38) 29100,19100,29100
184: 19100 ivpass = ivpass + 1
185: write (i02,80001) ivtnum
186: go to 9111
187: 29100 ivfail = ivfail + 1
188: ivcorr = 38
189: write (i02,80004) ivtnum, ivcomp, ivcorr
190: 9111 continue
191: ivtnum = 911
192: c
193: c **** test 911 ****
194: c
195: if (iczero) 39110, 9110, 39110
196: 9110 continue
197: rvon01 = -445.95
198: ivcomp = int (rvon01)
199: go to 49110
200: 39110 ivdele = ivdele + 1
201: write (i02,80003) ivtnum
202: if (iczero) 49110, 9121, 49110
203: 49110 if (ivcomp + 445) 29110,19110,29110
204: 19110 ivpass = ivpass + 1
205: write (i02,80001) ivtnum
206: go to 9121
207: 29110 ivfail = ivfail + 1
208: ivcorr = -445
209: write (i02,80004) ivtnum, ivcomp, ivcorr
210: 9121 continue
211: ivtnum = 912
212: c
213: c **** test 912 ****
214: c
215: if (iczero) 39120, 9120, 39120
216: 9120 continue
217: rvon01 = 466.01
218: ivcomp = int (rvon01)
219: go to 49120
220: 39120 ivdele = ivdele + 1
221: write (i02,80003) ivtnum
222: if (iczero) 49120, 9131, 49120
223: 49120 if (ivcomp - 466) 29120,19120,29120
224: 19120 ivpass = ivpass + 1
225: write (i02,80001) ivtnum
226: go to 9131
227: 29120 ivfail = ivfail + 1
228: ivcorr = 466
229: write (i02,80004) ivtnum, ivcomp, ivcorr
230: 9131 continue
231: ivtnum = 913
232: c
233: c **** test 913 ****
234: c
235: if (iczero) 39130, 9130, 39130
236: 9130 continue
237: rvon01 = 382e-1
238: ivcomp = int (rvon01)
239: go to 49130
240: 39130 ivdele = ivdele + 1
241: write (i02,80003) ivtnum
242: if (iczero) 49130, 9141, 49130
243: 49130 if (ivcomp - 38) 29130,19130,29130
244: 19130 ivpass = ivpass + 1
245: write (i02,80001) ivtnum
246: go to 9141
247: 29130 ivfail = ivfail + 1
248: ivcorr = 38
249: write (i02,80004) ivtnum, ivcomp, ivcorr
250: c
251: c test 914 through test 917 contain intrinsic function tests for
252: c remaindering where arguments and function are integers
253: c
254: 9141 continue
255: ivtnum = 914
256: c
257: c **** test 914 ****
258: c
259: if (iczero) 39140, 9140, 39140
260: 9140 continue
261: ivcomp = mod (42,19)
262: go to 49140
263: 39140 ivdele = ivdele + 1
264: write (i02,80003) ivtnum
265: if (iczero) 49140, 9151, 49140
266: 49140 if (ivcomp - 4) 29140,19140,29140
267: 19140 ivpass = ivpass + 1
268: write (i02,80001) ivtnum
269: go to 9151
270: 29140 ivfail = ivfail + 1
271: ivcorr = 4
272: write (i02,80004) ivtnum, ivcomp, ivcorr
273: 9151 continue
274: ivtnum = 915
275: c
276: c **** test 915 ****
277: c
278: if (iczero) 39150, 9150, 39150
279: 9150 continue
280: ivon01 = 6667
281: ivon02 = 2
282: ivcomp = mod (ivon01,ivon02)
283: go to 49150
284: 39150 ivdele = ivdele + 1
285: write (i02,80003) ivtnum
286: if (iczero) 49150, 9161, 49150
287: 49150 if (ivcomp - 1) 29150,19150,29150
288: 19150 ivpass = ivpass + 1
289: write (i02,80001) ivtnum
290: go to 9161
291: 29150 ivfail = ivfail + 1
292: ivcorr = 1
293: write (i02,80004) ivtnum, ivcomp, ivcorr
294: 9161 continue
295: ivtnum = 916
296: c
297: c **** test 916 ****
298: c
299: if (iczero) 39160, 9160, 39160
300: 9160 continue
301: ivon01 = 225
302: ivon02 = 50
303: ivcomp = mod (ivon01,ivon02)
304: go to 49160
305: 39160 ivdele = ivdele + 1
306: write (i02,80003) ivtnum
307: if (iczero) 49160, 9171, 49160
308: 49160 if (ivcomp - 25) 29160,19160,29160
309: 19160 ivpass = ivpass + 1
310: write (i02,80001) ivtnum
311: go to 9171
312: 29160 ivfail = ivfail + 1
313: ivcorr = 25
314: write (i02,80004) ivtnum, ivcomp, ivcorr
315: 9171 continue
316: ivtnum = 917
317: c
318: c **** test 917 ****
319: c
320: if (iczero) 39170, 9170, 39170
321: 9170 continue
322: ivon01 = -39
323: ivon02 = 500
324: ivcomp = mod (ivon01,ivon02)
325: go to 49170
326: 39170 ivdele = ivdele + 1
327: write (i02,80003) ivtnum
328: if (iczero) 49170, 9181, 49170
329: 49170 if (ivcomp + 39) 29170,19170,29170
330: 19170 ivpass = ivpass + 1
331: write (i02,80001) ivtnum
332: go to 9181
333: 29170 ivfail = ivfail + 1
334: ivcorr = -39
335: write (i02,80004) ivtnum, ivcomp, ivcorr
336: c
337: c test 918 and 919 contain intrinsic function tests for choosing
338: c largest value where arguments and function are integer
339: c
340: 9181 continue
341: ivtnum = 918
342: c
343: c **** test 918 ****
344: c
345: if (iczero) 39180, 9180, 39180
346: 9180 continue
347: ivon01 = 317
348: ivon02 = -99
349: ivon03 = 1
350: ivcomp = max0 (263,ivon01,ivon02,ivon03)
351: go to 49180
352: 39180 ivdele = ivdele + 1
353: write (i02,80003) ivtnum
354: if (iczero) 49180, 9191, 49180
355: 49180 if (ivcomp - 317) 29180,19180,29180
356: 19180 ivpass = ivpass + 1
357: write (i02,80001) ivtnum
358: go to 9191
359: 29180 ivfail = ivfail + 1
360: ivcorr = 317
361: write (i02,80004) ivtnum, ivcomp, ivcorr
362: 9191 continue
363: ivtnum = 919
364: c
365: c **** test 919 ****
366: c
367: if (iczero) 39190, 9190, 39190
368: 9190 continue
369: ivon01 = 2572
370: ivon02 = 2570
371: ivcomp = max0 (ivon01,ivon02)
372: go to 49190
373: 39190 ivdele = ivdele + 1
374: write (i02,80003) ivtnum
375: if (iczero) 49190, 9201, 49190
376: 49190 if (ivcomp - 2572) 29190,19190,29190
377: 19190 ivpass = ivpass + 1
378: write (i02,80001) ivtnum
379: go to 9201
380: 29190 ivfail = ivfail + 1
381: ivcorr = 2572
382: write (i02,80004) ivtnum, ivcomp, ivcorr
383: c
384: c test 920 and 921 contain intrinsic function tests for choosing
385: c largest value where arguments are real and function is integer
386: c
387: 9201 continue
388: ivtnum = 920
389: c
390: c **** test 920 ****
391: c
392: if (iczero) 39200, 9200, 39200
393: 9200 continue
394: rvon01 = .326e+2
395: rvon02 = 22.075
396: rvon03 = 76e-1
397: ivcomp = max1 (rvon01,rvon02,rvon03)
398: go to 49200
399: 39200 ivdele = ivdele + 1
400: write (i02,80003) ivtnum
401: if (iczero) 49200, 9211, 49200
402: 49200 if (ivcomp - 32) 29200,19200,29200
403: 19200 ivpass = ivpass + 1
404: write (i02,80001) ivtnum
405: go to 9211
406: 29200 ivfail = ivfail + 1
407: ivcorr = 32
408: write (i02,80004) ivtnum, ivcomp, ivcorr
409: 9211 continue
410: ivtnum = 921
411: c
412: c **** test 921 ****
413: c
414: if (iczero) 39210, 9210, 39210
415: 9210 continue
416: rvon01 = -6.3e2
417: rvon02 = -21.0
418: ivcomp = max1 (-463.3,rvon01,rvon02)
419: go to 49210
420: 39210 ivdele = ivdele + 1
421: write (i02,80003) ivtnum
422: if (iczero) 49210, 9221, 49210
423: 49210 if (ivcomp + 21) 29210,19210,29210
424: 19210 ivpass = ivpass + 1
425: write (i02,80001) ivtnum
426: go to 9221
427: 29210 ivfail = ivfail + 1
428: ivcorr = -21
429: write (i02,80004) ivtnum, ivcomp, ivcorr
430: c
431: c test 922 and 923 contain intrinsic function tests for choosing
432: c smallest value where arguments and function are integer
433: c
434: 9221 continue
435: ivtnum = 922
436: c
437: c **** test 922 ****
438: c
439: if (iczero) 39220, 9220, 39220
440: 9220 continue
441: ivon01 = -75
442: ivon02 = -243
443: ivcomp = min0 (ivon01,ivon02)
444: go to 49220
445: 39220 ivdele = ivdele + 1
446: write (i02,80003) ivtnum
447: if (iczero) 49220, 9231, 49220
448: 49220 if (ivcomp + 243) 29220,19220,29220
449: 19220 ivpass = ivpass + 1
450: write (i02,80001) ivtnum
451: go to 9231
452: 29220 ivfail = ivfail + 1
453: ivcorr = -243
454: write (i02,80004) ivtnum, ivcomp, ivcorr
455: 9231 continue
456: ivtnum = 923
457: c
458: c **** test 923 ****
459: c
460: if (iczero) 39230, 9230, 39230
461: 9230 continue
462: ivon01 = -11
463: ivon02 = 11
464: ivcomp = min0 (0,ivon01,ivon02)
465: go to 49230
466: 39230 ivdele = ivdele + 1
467: write (i02,80003) ivtnum
468: if (iczero) 49230, 9241, 49230
469: 49230 if (ivcomp + 11) 29230,19230,29230
470: 19230 ivpass = ivpass + 1
471: write (i02,80001) ivtnum
472: go to 9241
473: 29230 ivfail = ivfail + 1
474: ivcorr = -11
475: write (i02,80004) ivtnum, ivcomp, ivcorr
476: c
477: c test 924 and 925 contain intrinsic function tests for choosing
478: c smallest value where arguments are real and function is integer
479: c
480: 9241 continue
481: ivtnum = 924
482: c
483: c **** test 924 ****
484: c
485: if (iczero) 39240, 9240, 39240
486: 9240 continue
487: rvon01 = 1.1111
488: rvon02 = 22.222
489: rvon03 = 333.33
490: ivcomp = min1 (rvon01,rvon02,rvon03)
491: go to 49240
492: 39240 ivdele = ivdele + 1
493: write (i02,80003) ivtnum
494: if (iczero) 49240, 9251, 49240
495: 49240 if (ivcomp - 1) 29240,19240,29240
496: 19240 ivpass = ivpass + 1
497: write (i02,80001) ivtnum
498: go to 9251
499: 29240 ivfail = ivfail + 1
500: ivcorr = 1
501: write (i02,80004) ivtnum, ivcomp, ivcorr
502: 9251 continue
503: ivtnum = 925
504: c
505: c **** test 925 ****
506: c
507: if (iczero) 39250, 9250, 39250
508: 9250 continue
509: rvon01 = 28.8
510: rvon02 = 2.88e1
511: rvon03 = 288e-1
512: rvon04 = 35.0
513: ivcomp = min1 (rvon01,rvon02,rvon03,rvon04)
514: go to 49250
515: 39250 ivdele = ivdele + 1
516: write (i02,80003) ivtnum
517: if (iczero) 49250, 9261, 49250
518: 49250 if (ivcomp - 28) 29250,19250,29250
519: 19250 ivpass = ivpass + 1
520: write (i02,80001) ivtnum
521: go to 9261
522: 29250 ivfail = ivfail + 1
523: ivcorr = 28
524: write (i02,80004) ivtnum, ivcomp, ivcorr
525: c
526: c test 926 through test 929 contain the intrinsic function fix
527: c which converts real arguments to integer function results
528: c
529: 9261 continue
530: ivtnum = 926
531: c
532: c **** test 926 ****
533: c
534: if (iczero) 39260, 9260, 39260
535: 9260 continue
536: ivcomp = ifix (-6.06)
537: go to 49260
538: 39260 ivdele = ivdele + 1
539: write (i02,80003) ivtnum
540: if (iczero) 49260, 9271, 49260
541: 49260 if (ivcomp + 6) 29260,19260,29260
542: 19260 ivpass = ivpass + 1
543: write (i02,80001) ivtnum
544: go to 9271
545: 29260 ivfail = ivfail + 1
546: ivcorr = -6
547: write (i02,80004) ivtnum, ivcomp, ivcorr
548: 9271 continue
549: ivtnum = 927
550: c
551: c **** test 927 ****
552: c
553: if (iczero) 39270, 9270, 39270
554: 9270 continue
555: rvon01 = 71.01
556: ivcomp = ifix (rvon01)
557: go to 49270
558: 39270 ivdele = ivdele + 1
559: write (i02,80003) ivtnum
560: if (iczero) 49270, 9281, 49270
561: 49270 if (ivcomp - 71) 29270,19270,29270
562: 19270 ivpass = ivpass + 1
563: write (i02,80001) ivtnum
564: go to 9281
565: 29270 ivfail = ivfail + 1
566: ivcorr = 71
567: write (i02,80004) ivtnum, ivcomp, ivcorr
568: 9281 continue
569: ivtnum = 928
570: c
571: c **** test 928 ****
572: c
573: if (iczero) 39280, 9280, 39280
574: 9280 continue
575: rvon01 = 3.211e2
576: ivcomp = ifix (rvon01)
577: go to 49280
578: 39280 ivdele = ivdele + 1
579: write (i02,80003) ivtnum
580: if (iczero) 49280, 9291, 49280
581: 49280 if (ivcomp - 321) 29280,19280,29280
582: 19280 ivpass = ivpass + 1
583: write (i02,80001) ivtnum
584: go to 9291
585: 29280 ivfail = ivfail + 1
586: ivcorr = 321
587: write (i02,80004) ivtnum, ivcomp, ivcorr
588: 9291 continue
589: ivtnum = 929
590: c
591: c **** test 929 ****
592: c
593: if (iczero) 39290, 9290, 39290
594: 9290 continue
595: rvon01 = 777e-1
596: ivcomp = ifix (rvon01)
597: go to 49290
598: 39290 ivdele = ivdele + 1
599: write (i02,80003) ivtnum
600: if (iczero) 49290, 9301, 49290
601: 49290 if (ivcomp - 77) 29290,19290,29290
602: 19290 ivpass = ivpass + 1
603: write (i02,80001) ivtnum
604: go to 9301
605: 29290 ivfail = ivfail + 1
606: ivcorr = 77
607: write (i02,80004) ivtnum, ivcomp, ivcorr
608: c
609: c test 930 through test 932 contain intrinsic function tests for
610: c transfer of sign where arguments and function are integer
611: c
612: 9301 continue
613: ivtnum = 930
614: c
615: c **** test 930 ****
616: c
617: if (iczero) 39300, 9300, 39300
618: 9300 continue
619: ivon01 = 643
620: ivcomp = isign (ivon01,-1)
621: go to 49300
622: 39300 ivdele = ivdele + 1
623: write (i02,80003) ivtnum
624: if (iczero) 49300, 9311, 49300
625: 49300 if (ivcomp + 643) 29300,19300,29300
626: 19300 ivpass = ivpass + 1
627: write (i02,80001) ivtnum
628: go to 9311
629: 29300 ivfail = ivfail + 1
630: ivcorr = -643
631: write (i02,80004) ivtnum, ivcomp, ivcorr
632: 9311 continue
633: ivtnum = 931
634: c
635: c **** test 931 ****
636: c
637: if (iczero) 39310, 9310, 39310
638: 9310 continue
639: ivon01 = -22
640: ivon02 = 723
641: ivcomp = isign (ivon01,ivon02)
642: go to 49310
643: 39310 ivdele = ivdele + 1
644: write (i02,80003) ivtnum
645: if (iczero) 49310, 9321, 49310
646: 49310 if (ivcomp - 22) 29310,19310,29310
647: 19310 ivpass = ivpass + 1
648: write (i02,80001) ivtnum
649: go to 9321
650: 29310 ivfail = ivfail + 1
651: ivcorr = 22
652: write (i02,80004) ivtnum, ivcomp, ivcorr
653: 9321 continue
654: ivtnum = 932
655: c
656: c **** test 932 ****
657: c
658: if (iczero) 39320, 9320, 39320
659: 9320 continue
660: ivon01 = 3532
661: ivon02 = 1
662: ivcomp = isign (ivon01,ivon02)
663: go to 49320
664: 39320 ivdele = ivdele + 1
665: write (i02,80003) ivtnum
666: if (iczero) 49320, 9331, 49320
667: 49320 if (ivcomp - 3532) 29320,19320,29320
668: 19320 ivpass = ivpass + 1
669: write (i02,80001) ivtnum
670: go to 9331
671: 29320 ivfail = ivfail + 1
672: ivcorr = 3532
673: write (i02,80004) ivtnum, ivcomp, ivcorr
674: c
675: c test 933 through test 936 contain intrinsic function tests for
676: c positive difference where arguments and function are integers
677: c
678: 9331 continue
679: ivtnum = 933
680: c
681: c **** test 933 ****
682: c
683: if (iczero) 39330, 9330, 39330
684: 9330 continue
685: ivon01 = 222
686: ivcomp = idim (ivon01,1)
687: go to 49330
688: 39330 ivdele = ivdele + 1
689: write (i02,80003) ivtnum
690: if (iczero) 49330, 9341, 49330
691: 49330 if (ivcomp - 221) 29330,19330,29330
692: 19330 ivpass = ivpass + 1
693: write (i02,80001) ivtnum
694: go to 9341
695: 29330 ivfail = ivfail + 1
696: ivcorr = 221
697: write (i02,80004) ivtnum, ivcomp, ivcorr
698: 9341 continue
699: ivtnum = 934
700: c
701: c **** test 934 ****
702: c
703: if (iczero) 39340, 9340, 39340
704: 9340 continue
705: ivon01 = 45
706: ivon02 = 41
707: ivcomp = idim (ivon01,ivon02)
708: go to 49340
709: 39340 ivdele = ivdele + 1
710: write (i02,80003) ivtnum
711: if (iczero) 49340, 9351, 49340
712: 49340 if (ivcomp - 4) 29340,19340,29340
713: 19340 ivpass = ivpass + 1
714: write (i02,80001) ivtnum
715: go to 9351
716: 29340 ivfail = ivfail + 1
717: ivcorr = 4
718: write (i02,80004) ivtnum, ivcomp, ivcorr
719: 9351 continue
720: ivtnum = 935
721: c
722: c **** test 935 ****
723: c
724: if (iczero) 39350, 9350, 39350
725: 9350 continue
726: ivon01 = 2
727: ivon02 = 10
728: ivcomp = idim (ivon01,ivon02)
729: go to 49350
730: 39350 ivdele = ivdele + 1
731: write (i02,80003) ivtnum
732: if (iczero) 49350, 9361, 49350
733: 49350 if (ivcomp) 29350,19350,29350
734: 19350 ivpass = ivpass + 1
735: write (i02,80001) ivtnum
736: go to 9361
737: 29350 ivfail = ivfail + 1
738: ivcorr = 0
739: write (i02,80004) ivtnum, ivcomp, ivcorr
740: 9361 continue
741: ivtnum = 936
742: c
743: c **** test 936 ****
744: c
745: if (iczero) 39360, 9360, 39360
746: 9360 continue
747: ivon01 = 165
748: ivon02 = -2
749: ivcomp = idim (ivon01,ivon02)
750: go to 49360
751: 39360 ivdele = ivdele + 1
752: write (i02,80003) ivtnum
753: if (iczero) 49360, 9371, 49360
754: 49360 if (ivcomp - 167) 29360,19360,29360
755: 19360 ivpass = ivpass + 1
756: write (i02,80001) ivtnum
757: go to 9371
758: 29360 ivfail = ivfail + 1
759: ivcorr = 167
760: write (i02,80004) ivtnum, ivcomp, ivcorr
761: c
762: c tests 937 and 938 contain expressions containing more than one
763: c intrinsic function - the functions are integer and the arguments
764: c are real and integer
765: c
766: 9371 continue
767: ivtnum = 937
768: c
769: c **** test 937 ****
770: c
771: if (iczero) 39370, 9370, 39370
772: 9370 continue
773: rvon01 = 33.3
774: ivon01 = -12
775: ivcomp = int (rvon01) + iabs (ivon01)
776: go to 49370
777: 39370 ivdele = ivdele + 1
778: write (i02,80003) ivtnum
779: if (iczero) 49370, 9381, 49370
780: 49370 if (ivcomp - 45) 29370,19370,29370
781: 19370 ivpass = ivpass + 1
782: write (i02,80001) ivtnum
783: go to 9381
784: 29370 ivfail = ivfail + 1
785: ivcorr = 45
786: write (i02,80004) ivtnum, ivcomp, ivcorr
787: 9381 continue
788: ivtnum = 938
789: c
790: c **** test 938 ****
791: c
792: if (iczero) 39380, 9380, 39380
793: 9380 continue
794: ivon01 = 76
795: ivon02 = 21
796: ivon03 = 30
797: ivcomp = max0 (ivon01,ivon02,ivon03) - min0 (ivon01,ivon02,ivon03)
798: go to 49380
799: 39380 ivdele = ivdele + 1
800: write (i02,80003) ivtnum
801: if (iczero) 49380, 9391, 49380
802: 49380 if (ivcomp - 55) 29380,19380,29380
803: 19380 ivpass = ivpass + 1
804: write (i02,80001) ivtnum
805: go to 9391
806: 29380 ivfail = ivfail + 1
807: ivcorr = 55
808: write (i02,80004) ivtnum, ivcomp, ivcorr
809: 9391 continue
810: c
811: c write page footings and run summaries
812: 99999 continue
813: write (i02,90002)
814: write (i02,90006)
815: write (i02,90002)
816: write (i02,90002)
817: write (i02,90007)
818: write (i02,90002)
819: write (i02,90008) ivfail
820: write (i02,90009) ivpass
821: write (i02,90010) ivdele
822: c
823: c
824: c terminate routine execution
825: stop
826: c
827: c format statements for page headers
828: 90000 format (1h1)
829: 90002 format (1h )
830: 90001 format (1h ,10x,34hfortran compiler validation system)
831: 90003 format (1h ,21x,11hversion 1.0)
832: 90004 format (1h ,10x,38hfor official use only - copyright 1978)
833: 90005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
834: 90006 format (1h ,5x,46h----------------------------------------------)
835: 90011 format (1h ,18x,17hsubset level test)
836: c
837: c format statements for run summaries
838: 90008 format (1h ,15x,i5,19h errors encountered)
839: 90009 format (1h ,15x,i5,13h tests passed)
840: 90010 format (1h ,15x,i5,14h tests deleted)
841: c
842: c format statements for test results
843: 80001 format (1h ,4x,i5,7x,4hpass)
844: 80002 format (1h ,4x,i5,7x,4hfail)
845: 80003 format (1h ,4x,i5,7x,7hdeleted)
846: 80004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
847: 80005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
848: c
849: 90007 format (1h ,20x,20hend of program fm098)
850: end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.