|
|
1.1 root 1: C COMMENT SECTION 00010044
2: C DATE***82/08/02*18.33.46
3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/
4: C AUDIT FCVS78 V2.0
5: C 00020044
6: C FM044 00030044
7: C 00040044
8: C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENTS OF THE FORM 00050044
9: C INTEGER VAR. = INTEGER VAR. <OP1> INTEGER VAR. <OP2> INTEGER VAR. 00060044
10: C 00070044
11: C WHERE <OP1> AND <OP2> ARE ARITHMETIC OPERATORS. 00080044
12: C 00090044
13: C REFERENCES 00100044
14: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00110044
15: C X3.9-1978 00120044
16: C 00130044
17: C SECTION 4.3, INTEGER TYPE 00140044
18: C SECTION 4.3.1, INTEGER CONSTANT 00150044
19: C SECTION 6.1, ARITHMETIC EXPRESSIONS 00160044
20: C SECTION 6.6, EVALUATION OF EXPRESSIONS 00170044
21: C SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENT 00180044
22: C 00190044
23: C 00200044
24: C ********************************************************** 00210044
25: C 00220044
26: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00230044
27: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00240044
28: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00250044
29: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00260044
30: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00270044
31: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00280044
32: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00290044
33: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00300044
34: C OF EXECUTING THESE TESTS. 00310044
35: C 00320044
36: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00330044
37: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00340044
38: C 00350044
39: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00360044
40: C 00370044
41: C DEPARTMENT OF THE NAVY 00380044
42: C FEDERAL COBOL COMPILER TESTING SERVICE 00390044
43: C WASHINGTON, D.C. 20376 00400044
44: C 00410044
45: C ********************************************************** 00420044
46: C 00430044
47: C 00440044
48: C 00450044
49: C INITIALIZATION SECTION 00460044
50: C 00470044
51: C INITIALIZE CONSTANTS 00480044
52: C ************** 00490044
53: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00500044
54: I01 = 5 00510044
55: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00520044
56: I02 = 6 00530044
57: C SYSTEM ENVIRONMENT SECTION 00540044
58: C 00550044
59: I01 = 5 00560044
60: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00570044
61: C (UNIT NUMBER FOR CARD READER). 00580044
62: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00590044
63: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00600044
64: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00610044
65: C 00620044
66: I02 = 6 00630044
67: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00640044
68: C (UNIT NUMBER FOR PRINTER). 00650044
69: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00660044
70: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00670044
71: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00680044
72: C 00690044
73: IVPASS=0 00700044
74: IVFAIL=0 00710044
75: IVDELE=0 00720044
76: ICZERO=0 00730044
77: C 00740044
78: C WRITE PAGE HEADERS 00750044
79: WRITE (I02,90000) 00760044
80: WRITE (I02,90001) 00770044
81: WRITE (I02,90002) 00780044
82: WRITE (I02, 90002) 00790044
83: WRITE (I02,90003) 00800044
84: WRITE (I02,90002) 00810044
85: WRITE (I02,90004) 00820044
86: WRITE (I02,90002) 00830044
87: WRITE (I02,90011) 00840044
88: WRITE (I02,90002) 00850044
89: WRITE (I02,90002) 00860044
90: WRITE (I02,90005) 00870044
91: WRITE (I02,90006) 00880044
92: WRITE (I02,90002) 00890044
93: C 00900044
94: C TEST SECTION 00910044
95: C 00920044
96: C ARITHMETIC ASSIGNMENT STATEMENT 00930044
97: C 00940044
98: C TESTS 719 THROUGH 730 TEST STATEMENTS WHERE <OP1> IS '/' AND 00950044
99: C <OP2> VARIES. 00960044
100: C 00970044
101: C TESTS 731 THROUGH 746 TEST STATEMENTS WHERE <OP1> IS '**' AND 00980044
102: C <OP2> VARIES. 00990044
103: C 01000044
104: C 01010044
105: C TEST 719 THROUGH 721 TEST '/' FOLLOWED BY '+'. 01020044
106: C 01030044
107: IVTNUM = 719 01040044
108: C 01050044
109: C **** TEST 719 **** 01060044
110: C 01070044
111: IF (ICZERO) 37190, 7190, 37190 01080044
112: 7190 CONTINUE 01090044
113: IVON01 = 108 01100044
114: IVON02 = 9 01110044
115: IVON03 = 3 01120044
116: IVCOMP = IVON01 / IVON02 + IVON03 01130044
117: GO TO 47190 01140044
118: 37190 IVDELE = IVDELE + 1 01150044
119: WRITE (I02,80003) IVTNUM 01160044
120: IF (ICZERO) 47190, 7201, 47190 01170044
121: 47190 IF (IVCOMP - 15) 27190,17190,27190 01180044
122: 17190 IVPASS = IVPASS + 1 01190044
123: WRITE (I02,80001) IVTNUM 01200044
124: GO TO 7201 01210044
125: 27190 IVFAIL = IVFAIL + 1 01220044
126: IVCORR = 15 01230044
127: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01240044
128: 7201 CONTINUE 01250044
129: IVTNUM = 720 01260044
130: C 01270044
131: C **** TEST 720 **** 01280044
132: C 01290044
133: IF (ICZERO) 37200, 7200, 37200 01300044
134: 7200 CONTINUE 01310044
135: IVON01 = 108 01320044
136: IVON02 = 9 01330044
137: IVON03 = 3 01340044
138: IVCOMP = (IVON01 / IVON02) + IVON03 01350044
139: GO TO 47200 01360044
140: 37200 IVDELE = IVDELE + 1 01370044
141: WRITE (I02,80003) IVTNUM 01380044
142: IF (ICZERO) 47200, 7211, 47200 01390044
143: 47200 IF (IVCOMP - 15) 27200,17200,27200 01400044
144: 17200 IVPASS = IVPASS + 1 01410044
145: WRITE (I02,80001) IVTNUM 01420044
146: GO TO 7211 01430044
147: 27200 IVFAIL = IVFAIL + 1 01440044
148: IVCORR = 15 01450044
149: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01460044
150: 7211 CONTINUE 01470044
151: IVTNUM = 721 01480044
152: C 01490044
153: C **** TEST 721 **** 01500044
154: C 01510044
155: IF (ICZERO) 37210, 7210, 37210 01520044
156: 7210 CONTINUE 01530044
157: IVON01 = 108 01540044
158: IVON02 = 9 01550044
159: IVON03 = 3 01560044
160: IVCOMP = IVON01 / (IVON02 + IVON03) 01570044
161: GO TO 47210 01580044
162: 37210 IVDELE = IVDELE + 1 01590044
163: WRITE (I02,80003) IVTNUM 01600044
164: IF (ICZERO) 47210, 7221, 47210 01610044
165: 47210 IF (IVCOMP - 9) 27210,17210,27210 01620044
166: 17210 IVPASS = IVPASS + 1 01630044
167: WRITE (I02,80001) IVTNUM 01640044
168: GO TO 7221 01650044
169: 27210 IVFAIL = IVFAIL + 1 01660044
170: IVCORR = 9 01670044
171: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01680044
172: 7221 CONTINUE 01690044
173: C 01700044
174: C TEST 722 THROUGH 724 TEST '/' FOLLOWED BY '-'. 01710044
175: C 01720044
176: IVTNUM = 722 01730044
177: C 01740044
178: C **** TEST 722 **** 01750044
179: C 01760044
180: IF (ICZERO) 37220, 7220, 37220 01770044
181: 7220 CONTINUE 01780044
182: IVON01 = 108 01790044
183: IVON02 = 9 01800044
184: IVON03 = 3 01810044
185: IVCOMP = IVON01 / IVON02 - IVON03 01820044
186: GO TO 47220 01830044
187: 37220 IVDELE = IVDELE + 1 01840044
188: WRITE (I02,80003) IVTNUM 01850044
189: IF (ICZERO) 47220, 7231, 47220 01860044
190: 47220 IF (IVCOMP - 9) 27220,17220,27220 01870044
191: 17220 IVPASS = IVPASS + 1 01880044
192: WRITE (I02,80001) IVTNUM 01890044
193: GO TO 7231 01900044
194: 27220 IVFAIL = IVFAIL + 1 01910044
195: IVCORR = 9 01920044
196: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 01930044
197: 7231 CONTINUE 01940044
198: IVTNUM = 723 01950044
199: C 01960044
200: C **** TEST 723 **** 01970044
201: C 01980044
202: IF (ICZERO) 37230, 7230, 37230 01990044
203: 7230 CONTINUE 02000044
204: IVON01 = 108 02010044
205: IVON02 = 9 02020044
206: IVON03 = 3 02030044
207: IVCOMP = (IVON01 / IVON02) - IVON03 02040044
208: GO TO 47230 02050044
209: 37230 IVDELE = IVDELE + 1 02060044
210: WRITE (I02,80003) IVTNUM 02070044
211: IF (ICZERO) 47230, 7241, 47230 02080044
212: 47230 IF (IVCOMP - 9) 27230,17230,27230 02090044
213: 17230 IVPASS = IVPASS + 1 02100044
214: WRITE (I02,80001) IVTNUM 02110044
215: GO TO 7241 02120044
216: 27230 IVFAIL = IVFAIL + 1 02130044
217: IVCORR = 9 02140044
218: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02150044
219: 7241 CONTINUE 02160044
220: IVTNUM = 724 02170044
221: C 02180044
222: C **** TEST 724 **** 02190044
223: C 02200044
224: IF (ICZERO) 37240, 7240, 37240 02210044
225: 7240 CONTINUE 02220044
226: IVON01 = 108 02230044
227: IVON02 = 9 02240044
228: IVON03 = 3 02250044
229: IVCOMP = IVON01 / (IVON02 - IVON03) 02260044
230: GO TO 47240 02270044
231: 37240 IVDELE = IVDELE + 1 02280044
232: WRITE (I02,80003) IVTNUM 02290044
233: IF (ICZERO) 47240, 7251, 47240 02300044
234: 47240 IF (IVCOMP - 18) 27240,17240,27240 02310044
235: 17240 IVPASS = IVPASS + 1 02320044
236: WRITE (I02,80001) IVTNUM 02330044
237: GO TO 7251 02340044
238: 27240 IVFAIL = IVFAIL + 1 02350044
239: IVCORR = 18 02360044
240: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02370044
241: 7251 CONTINUE 02380044
242: C 02390044
243: C TEST 725 THROUGH 727 TEST '/' FOLLOWED BY '*'. 02400044
244: C 02410044
245: IVTNUM = 725 02420044
246: C 02430044
247: C **** TEST 725 **** 02440044
248: C 02450044
249: IF (ICZERO) 37250, 7250, 37250 02460044
250: 7250 CONTINUE 02470044
251: IVON01 = 108 02480044
252: IVON02 = 9 02490044
253: IVON03 = 3 02500044
254: IVCOMP = IVON01 / IVON02 * IVON03 02510044
255: GO TO 47250 02520044
256: 37250 IVDELE = IVDELE + 1 02530044
257: WRITE (I02,80003) IVTNUM 02540044
258: IF (ICZERO) 47250, 7261, 47250 02550044
259: 47250 IF (IVCOMP - 36) 27250,17250,27250 02560044
260: 17250 IVPASS = IVPASS + 1 02570044
261: WRITE (I02,80001) IVTNUM 02580044
262: GO TO 7261 02590044
263: 27250 IVFAIL = IVFAIL + 1 02600044
264: IVCORR = 36 02610044
265: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02620044
266: 7261 CONTINUE 02630044
267: IVTNUM = 726 02640044
268: C 02650044
269: C **** TEST 726 **** 02660044
270: C 02670044
271: IF (ICZERO) 37260, 7260, 37260 02680044
272: 7260 CONTINUE 02690044
273: IVON01 = 108 02700044
274: IVON02 = 9 02710044
275: IVON03 = 3 02720044
276: IVCOMP = (IVON01 / IVON02) * IVON03 02730044
277: GO TO 47260 02740044
278: 37260 IVDELE = IVDELE + 1 02750044
279: WRITE (I02,80003) IVTNUM 02760044
280: IF (ICZERO) 47260, 7271, 47260 02770044
281: 47260 IF (IVCOMP - 36) 27260,17260,27260 02780044
282: 17260 IVPASS = IVPASS + 1 02790044
283: WRITE (I02,80001) IVTNUM 02800044
284: GO TO 7271 02810044
285: 27260 IVFAIL = IVFAIL + 1 02820044
286: IVCORR = 36 02830044
287: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 02840044
288: 7271 CONTINUE 02850044
289: IVTNUM = 727 02860044
290: C 02870044
291: C **** TEST 727 **** 02880044
292: C 02890044
293: IF (ICZERO) 37270, 7270, 37270 02900044
294: 7270 CONTINUE 02910044
295: IVON01 = 108 02920044
296: IVON02 = 9 02930044
297: IVON03 = 3 02940044
298: IVCOMP = IVON01 / (IVON02 * IVON03) 02950044
299: GO TO 47270 02960044
300: 37270 IVDELE = IVDELE + 1 02970044
301: WRITE (I02,80003) IVTNUM 02980044
302: IF (ICZERO) 47270, 7281, 47270 02990044
303: 47270 IF (IVCOMP - 4) 27270,17270,27270 03000044
304: 17270 IVPASS = IVPASS + 1 03010044
305: WRITE (I02,80001) IVTNUM 03020044
306: GO TO 7281 03030044
307: 27270 IVFAIL = IVFAIL + 1 03040044
308: IVCORR = 4 03050044
309: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03060044
310: 7281 CONTINUE 03070044
311: C 03080044
312: C TEST 728 THROUGH 730 TEST '/' FOLLOWED BY '**'. 03090044
313: C 03100044
314: IVTNUM = 728 03110044
315: C 03120044
316: C **** TEST 728 **** 03130044
317: C 03140044
318: IF (ICZERO) 37280, 7280, 37280 03150044
319: 7280 CONTINUE 03160044
320: IVON01 = 108 03170044
321: IVON02 = 3 03180044
322: IVON03 = 2 03190044
323: IVCOMP = IVON01 / IVON02 ** IVON03 03200044
324: GO TO 47280 03210044
325: 37280 IVDELE = IVDELE + 1 03220044
326: WRITE (I02,80003) IVTNUM 03230044
327: IF (ICZERO) 47280, 7291, 47280 03240044
328: 47280 IF (IVCOMP - 12) 27280,17280,27280 03250044
329: 17280 IVPASS = IVPASS + 1 03260044
330: WRITE (I02,80001) IVTNUM 03270044
331: GO TO 7291 03280044
332: 27280 IVFAIL = IVFAIL + 1 03290044
333: IVCORR = 12 03300044
334: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03310044
335: 7291 CONTINUE 03320044
336: IVTNUM = 729 03330044
337: C 03340044
338: C **** TEST 729 **** 03350044
339: C 03360044
340: IF (ICZERO) 37290, 7290, 37290 03370044
341: 7290 CONTINUE 03380044
342: IVON01 = 108 03390044
343: IVON02 = 3 03400044
344: IVON03 = 2 03410044
345: IVCOMP = (IVON01 / IVON02) ** IVON03 03420044
346: GO TO 47290 03430044
347: 37290 IVDELE = IVDELE + 1 03440044
348: WRITE (I02,80003) IVTNUM 03450044
349: IF (ICZERO) 47290, 7301, 47290 03460044
350: 47290 IF (IVCOMP - 1296) 27290,17290,27290 03470044
351: 17290 IVPASS = IVPASS + 1 03480044
352: WRITE (I02,80001) IVTNUM 03490044
353: GO TO 7301 03500044
354: 27290 IVFAIL = IVFAIL + 1 03510044
355: IVCORR = 1296 03520044
356: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03530044
357: 7301 CONTINUE 03540044
358: IVTNUM = 730 03550044
359: C 03560044
360: C **** TEST 730 **** 03570044
361: C 03580044
362: IF (ICZERO) 37300, 7300, 37300 03590044
363: 7300 CONTINUE 03600044
364: IVON01 = 108 03610044
365: IVON02 = 3 03620044
366: IVON03 = 2 03630044
367: IVCOMP = IVON01 / (IVON02 ** IVON03) 03640044
368: GO TO 47300 03650044
369: 37300 IVDELE = IVDELE + 1 03660044
370: WRITE (I02,80003) IVTNUM 03670044
371: IF (ICZERO) 47300, 7311, 47300 03680044
372: 47300 IF (IVCOMP - 12) 27300,17300,27300 03690044
373: 17300 IVPASS = IVPASS + 1 03700044
374: WRITE (I02,80001) IVTNUM 03710044
375: GO TO 7311 03720044
376: 27300 IVFAIL = IVFAIL + 1 03730044
377: IVCORR = 12 03740044
378: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 03750044
379: 7311 CONTINUE 03760044
380: C 03770044
381: C TEST 731 THROUGH 733 TEST '**' FOLLOWED BY '+'. 03780044
382: C 03790044
383: IVTNUM = 731 03800044
384: C 03810044
385: C **** TEST 731 **** 03820044
386: C 03830044
387: IF (ICZERO) 37310, 7310, 37310 03840044
388: 7310 CONTINUE 03850044
389: IVON01 = 3 03860044
390: IVON02 = 5 03870044
391: IVON03 = 4 03880044
392: IVCOMP = IVON01 ** IVON02 + IVON03 03890044
393: GO TO 47310 03900044
394: 37310 IVDELE = IVDELE + 1 03910044
395: WRITE (I02,80003) IVTNUM 03920044
396: IF (ICZERO) 47310, 7321, 47310 03930044
397: 47310 IF (IVCOMP - 247) 27310,17310,27310 03940044
398: 17310 IVPASS = IVPASS + 1 03950044
399: WRITE (I02,80001) IVTNUM 03960044
400: GO TO 7321 03970044
401: 27310 IVFAIL = IVFAIL + 1 03980044
402: IVCORR = 247 03990044
403: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04000044
404: 7321 CONTINUE 04010044
405: IVTNUM = 732 04020044
406: C 04030044
407: C **** TEST 732 **** 04040044
408: C 04050044
409: IF (ICZERO) 37320, 7320, 37320 04060044
410: 7320 CONTINUE 04070044
411: IVON01 = 3 04080044
412: IVON02 = 5 04090044
413: IVON03 = 4 04100044
414: IVCOMP = (IVON01 ** IVON02) + IVON03 04110044
415: GO TO 47320 04120044
416: 37320 IVDELE = IVDELE + 1 04130044
417: WRITE (I02,80003) IVTNUM 04140044
418: IF (ICZERO) 47320, 7331, 47320 04150044
419: 47320 IF (IVCOMP - 247) 27320,17320,27320 04160044
420: 17320 IVPASS = IVPASS + 1 04170044
421: WRITE (I02,80001) IVTNUM 04180044
422: GO TO 7331 04190044
423: 27320 IVFAIL = IVFAIL + 1 04200044
424: IVCORR = 247 04210044
425: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04220044
426: 7331 CONTINUE 04230044
427: IVTNUM = 733 04240044
428: C 04250044
429: C **** TEST 733 **** 04260044
430: C 04270044
431: IF (ICZERO) 37330, 7330, 37330 04280044
432: 7330 CONTINUE 04290044
433: IVON01 = 3 04300044
434: IVON02 = 5 04310044
435: IVON03 = 4 04320044
436: IVCOMP = IVON01 ** (IVON02 + IVON03) 04330044
437: GO TO 47330 04340044
438: 37330 IVDELE = IVDELE + 1 04350044
439: WRITE (I02,80003) IVTNUM 04360044
440: IF (ICZERO) 47330, 7341, 47330 04370044
441: 47330 IF (IVCOMP - 19683) 27330,17330,27330 04380044
442: 17330 IVPASS = IVPASS + 1 04390044
443: WRITE (I02,80001) IVTNUM 04400044
444: GO TO 7341 04410044
445: 27330 IVFAIL = IVFAIL + 1 04420044
446: IVCORR = 19683 04430044
447: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04440044
448: 7341 CONTINUE 04450044
449: C 04460044
450: C TEST 734 THROUGH 736 TEST '**' FOLLOWED BY '-'. 04470044
451: C 04480044
452: IVTNUM = 734 04490044
453: C 04500044
454: C **** TEST 734 **** 04510044
455: C 04520044
456: IF (ICZERO) 37340, 7340, 37340 04530044
457: 7340 CONTINUE 04540044
458: IVON01 = 3 04550044
459: IVON02 = 7 04560044
460: IVON03 = 4 04570044
461: IVCOMP = IVON01 ** IVON02 - IVON03 04580044
462: GO TO 47340 04590044
463: 37340 IVDELE = IVDELE + 1 04600044
464: WRITE (I02,80003) IVTNUM 04610044
465: IF (ICZERO) 47340, 7351, 47340 04620044
466: 47340 IF (IVCOMP - 2183) 27340,17340,27340 04630044
467: 17340 IVPASS = IVPASS + 1 04640044
468: WRITE (I02,80001) IVTNUM 04650044
469: GO TO 7351 04660044
470: 27340 IVFAIL = IVFAIL + 1 04670044
471: IVCORR = 2183 04680044
472: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04690044
473: 7351 CONTINUE 04700044
474: IVTNUM = 735 04710044
475: C 04720044
476: C **** TEST 735 **** 04730044
477: C 04740044
478: IF (ICZERO) 37350, 7350, 37350 04750044
479: 7350 CONTINUE 04760044
480: IVON01 = 3 04770044
481: IVON02 = 7 04780044
482: IVON03 = 4 04790044
483: IVCOMP = (IVON01 ** IVON02) - IVON03 04800044
484: GO TO 47350 04810044
485: 37350 IVDELE = IVDELE + 1 04820044
486: WRITE (I02,80003) IVTNUM 04830044
487: IF (ICZERO) 47350, 7361, 47350 04840044
488: 47350 IF (IVCOMP - 2183) 27350,17350,27350 04850044
489: 17350 IVPASS = IVPASS + 1 04860044
490: WRITE (I02,80001) IVTNUM 04870044
491: GO TO 7361 04880044
492: 27350 IVFAIL = IVFAIL + 1 04890044
493: IVCORR = 2183 04900044
494: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 04910044
495: 7361 CONTINUE 04920044
496: IVTNUM = 736 04930044
497: C 04940044
498: C **** TEST 736 **** 04950044
499: C 04960044
500: IF (ICZERO) 37360, 7360, 37360 04970044
501: 7360 CONTINUE 04980044
502: IVON01 = 3 04990044
503: IVON02 = 7 05000044
504: IVON03 = 4 05010044
505: IVCOMP = IVON01 ** (IVON02 - IVON03) 05020044
506: GO TO 47360 05030044
507: 37360 IVDELE = IVDELE + 1 05040044
508: WRITE (I02,80003) IVTNUM 05050044
509: IF (ICZERO) 47360, 7371, 47360 05060044
510: 47360 IF (IVCOMP - 27) 27360,17360,27360 05070044
511: 17360 IVPASS = IVPASS + 1 05080044
512: WRITE (I02,80001) IVTNUM 05090044
513: GO TO 7371 05100044
514: 27360 IVFAIL = IVFAIL + 1 05110044
515: IVCORR = 27 05120044
516: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05130044
517: 7371 CONTINUE 05140044
518: C 05150044
519: C TEST 737 THROUGH 739 TEST '**' FOLLOWED BY '*'. 05160044
520: C 05170044
521: IVTNUM = 737 05180044
522: C 05190044
523: C **** TEST 737 **** 05200044
524: C 05210044
525: IF (ICZERO) 37370, 7370, 37370 05220044
526: 7370 CONTINUE 05230044
527: IVON01 = 3 05240044
528: IVON02 = 3 05250044
529: IVON03 = 3 05260044
530: IVCOMP = IVON01 ** IVON02 * IVON03 05270044
531: GO TO 47370 05280044
532: 37370 IVDELE = IVDELE + 1 05290044
533: WRITE (I02,80003) IVTNUM 05300044
534: IF (ICZERO) 47370, 7381, 47370 05310044
535: 47370 IF (IVCOMP - 81) 27370,17370,27370 05320044
536: 17370 IVPASS = IVPASS + 1 05330044
537: WRITE (I02,80001) IVTNUM 05340044
538: GO TO 7381 05350044
539: 27370 IVFAIL = IVFAIL + 1 05360044
540: IVCORR = 81 05370044
541: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05380044
542: 7381 CONTINUE 05390044
543: IVTNUM = 738 05400044
544: C 05410044
545: C **** TEST 738 **** 05420044
546: C 05430044
547: IF (ICZERO) 37380, 7380, 37380 05440044
548: 7380 CONTINUE 05450044
549: IVON01 = 3 05460044
550: IVON02 = 3 05470044
551: IVON03 = 3 05480044
552: IVCOMP = (IVON01 ** IVON02) * IVON03 05490044
553: GO TO 47380 05500044
554: 37380 IVDELE = IVDELE + 1 05510044
555: WRITE (I02,80003) IVTNUM 05520044
556: IF (ICZERO) 47380, 7391, 47380 05530044
557: 47380 IF (IVCOMP - 81) 27380,17380,27380 05540044
558: 17380 IVPASS = IVPASS + 1 05550044
559: WRITE (I02,80001) IVTNUM 05560044
560: GO TO 7391 05570044
561: 27380 IVFAIL = IVFAIL + 1 05580044
562: IVCORR = 81 05590044
563: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05600044
564: 7391 CONTINUE 05610044
565: IVTNUM = 739 05620044
566: C 05630044
567: C **** TEST 739 **** 05640044
568: C 05650044
569: IF (ICZERO) 37390, 7390, 37390 05660044
570: 7390 CONTINUE 05670044
571: IVON01 = 3 05680044
572: IVON02 = 3 05690044
573: IVON03 = 3 05700044
574: IVCOMP = IVON01 ** (IVON02 * IVON03) 05710044
575: GO TO 47390 05720044
576: 37390 IVDELE = IVDELE + 1 05730044
577: WRITE (I02,80003) IVTNUM 05740044
578: IF (ICZERO) 47390, 7401, 47390 05750044
579: 47390 IF (IVCOMP - 19683) 27390,17390,27390 05760044
580: 17390 IVPASS = IVPASS + 1 05770044
581: WRITE (I02,80001) IVTNUM 05780044
582: GO TO 7401 05790044
583: 27390 IVFAIL = IVFAIL + 1 05800044
584: IVCORR = 19683 05810044
585: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 05820044
586: 7401 CONTINUE 05830044
587: C 05840044
588: C TEST 740 THROUGH 742 TEST '**' FOLLOWED BY '/'. 05850044
589: C 05860044
590: IVTNUM = 740 05870044
591: C 05880044
592: C **** TEST 740 **** 05890044
593: C 05900044
594: IF (ICZERO) 37400, 7400, 37400 05910044
595: 7400 CONTINUE 05920044
596: IVON01 = 3 05930044
597: IVON02 = 9 05940044
598: IVON03 = 3 05950044
599: IVCOMP = IVON01 ** IVON02 / IVON03 05960044
600: GO TO 47400 05970044
601: 37400 IVDELE = IVDELE + 1 05980044
602: WRITE (I02,80003) IVTNUM 05990044
603: IF (ICZERO) 47400, 7411, 47400 06000044
604: 47400 IF (IVCOMP - 6561) 27400,17400,27400 06010044
605: 17400 IVPASS = IVPASS + 1 06020044
606: WRITE (I02,80001) IVTNUM 06030044
607: GO TO 7411 06040044
608: 27400 IVFAIL = IVFAIL + 1 06050044
609: IVCORR = 6561 06060044
610: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06070044
611: 7411 CONTINUE 06080044
612: IVTNUM = 741 06090044
613: C 06100044
614: C **** TEST 741 **** 06110044
615: C 06120044
616: IF (ICZERO) 37410, 7410, 37410 06130044
617: 7410 CONTINUE 06140044
618: IVON01 = 3 06150044
619: IVON02 = 9 06160044
620: IVON03 = 3 06170044
621: IVCOMP = (IVON01 ** IVON02) / IVON03 06180044
622: GO TO 47410 06190044
623: 37410 IVDELE = IVDELE + 1 06200044
624: WRITE (I02,80003) IVTNUM 06210044
625: IF (ICZERO) 47410, 7421, 47410 06220044
626: 47410 IF (IVCOMP - 6561) 27410,17410,27410 06230044
627: 17410 IVPASS = IVPASS + 1 06240044
628: WRITE (I02,80001) IVTNUM 06250044
629: GO TO 7421 06260044
630: 27410 IVFAIL = IVFAIL + 1 06270044
631: IVCORR = 6561 06280044
632: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06290044
633: 7421 CONTINUE 06300044
634: IVTNUM = 742 06310044
635: C **** TEST 742 **** 06320044
636: C 06330044
637: IF (ICZERO) 37420, 7420, 37420 06340044
638: 7420 CONTINUE 06350044
639: IVON01 = 3 06360044
640: IVON02 = 9 06370044
641: IVON03 = 3 06380044
642: IVCOMP = IVON01 ** (IVON02 / IVON03) 06390044
643: GO TO 47420 06400044
644: 37420 IVDELE = IVDELE + 1 06410044
645: WRITE (I02,80003) IVTNUM 06420044
646: IF (ICZERO) 47420, 7431, 47420 06430044
647: 47420 IF (IVCOMP - 27) 27420,17420,27420 06440044
648: 17420 IVPASS = IVPASS + 1 06450044
649: WRITE (I02,80001) IVTNUM 06460044
650: GO TO 7431 06470044
651: 27420 IVFAIL = IVFAIL + 1 06480044
652: IVCORR = 27 06490044
653: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06500044
654: 7431 CONTINUE 06510044
655: C 06520044
656: C TEST 743 THROUGH 746 TEST '**' FOLLOWED BY '**'. 06530044
657: C 06540044
658: IVTNUM = 743 06550044
659: C 06560044
660: C **** TEST 743 **** 06570044
661: C 06580044
662: IF (ICZERO) 37430, 7430, 37430 06590044
663: 7430 CONTINUE 06600044
664: IVON01 = 3 06610044
665: IVON02 = 3 06620044
666: IVON03 = 2 06630044
667: IVCOMP = (IVON01 ** IVON02) ** IVON03 06640044
668: GO TO 47430 06650044
669: 37430 IVDELE = IVDELE + 1 06660044
670: WRITE (I02,80003) IVTNUM 06670044
671: IF (ICZERO) 47430, 7441, 47430 06680044
672: 47430 IF (IVCOMP - 729) 27430,17430,27430 06690044
673: 17430 IVPASS = IVPASS + 1 06700044
674: WRITE (I02,80001) IVTNUM 06710044
675: GO TO 7441 06720044
676: 27430 IVFAIL = IVFAIL + 1 06730044
677: IVCORR = 729 06740044
678: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06750044
679: 7441 CONTINUE 06760044
680: IVTNUM = 744 06770044
681: C 06780044
682: C **** TEST 744 **** 06790044
683: C 06800044
684: IF (ICZERO) 37440, 7440, 37440 06810044
685: 7440 CONTINUE 06820044
686: IVON01 = 3 06830044
687: IVON02 = 3 06840044
688: IVON03 = 2 06850044
689: IVCOMP = IVON01 ** (IVON02 ** IVON03) 06860044
690: GO TO 47440 06870044
691: 37440 IVDELE = IVDELE + 1 06880044
692: WRITE (I02,80003) IVTNUM 06890044
693: IF (ICZERO) 47440, 7451, 47440 06900044
694: 47440 IF (IVCOMP - 19683) 27440,17440,27440 06910044
695: 17440 IVPASS = IVPASS + 1 06920044
696: WRITE (I02,80001) IVTNUM 06930044
697: GO TO 7451 06940044
698: 27440 IVFAIL = IVFAIL + 1 06950044
699: IVCORR = 19683 06960044
700: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 06970044
701: 7451 CONTINUE 06980044
702: IVTNUM = 745 06990044
703: C 07000044
704: C **** TEST 745 **** 07010044
705: C 07020044
706: IF (ICZERO) 37450, 7450, 37450 07030044
707: 7450 CONTINUE 07040044
708: IVON01 = -3 07050044
709: IVON02 = 3 07060044
710: IVON03 = 2 07070044
711: IVCOMP = (IVON01 ** IVON02) ** IVON03 07080044
712: GO TO 47450 07090044
713: 37450 IVDELE = IVDELE + 1 07100044
714: WRITE (I02,80003) IVTNUM 07110044
715: IF (ICZERO) 47450, 7461, 47450 07120044
716: 47450 IF (IVCOMP - 729) 27450,17450,27450 07130044
717: 17450 IVPASS = IVPASS + 1 07140044
718: WRITE (I02,80001) IVTNUM 07150044
719: GO TO 7461 07160044
720: 27450 IVFAIL = IVFAIL + 1 07170044
721: IVCORR = 729 07180044
722: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 07190044
723: 7461 CONTINUE 07200044
724: IVTNUM = 746 07210044
725: C 07220044
726: C **** TEST 746 **** 07230044
727: C 07240044
728: IF (ICZERO) 37460, 7460, 37460 07250044
729: 7460 CONTINUE 07260044
730: IVON01 = -3 07270044
731: IVON02 = 3 07280044
732: IVON03 = 2 07290044
733: IVCOMP = IVON01 ** (IVON02 ** IVON03) 07300044
734: GO TO 47460 07310044
735: 37460 IVDELE = IVDELE + 1 07320044
736: WRITE (I02,80003) IVTNUM 07330044
737: IF (ICZERO) 47460, 7471, 47460 07340044
738: 47460 IF (IVCOMP + 19683) 27460,17460,27460 07350044
739: 17460 IVPASS = IVPASS + 1 07360044
740: WRITE (I02,80001) IVTNUM 07370044
741: GO TO 7471 07380044
742: 27460 IVFAIL = IVFAIL + 1 07390044
743: IVCORR = -19683 07400044
744: WRITE (I02,80004) IVTNUM, IVCOMP, IVCORR 07410044
745: 7471 CONTINUE 07420044
746: C 07430044
747: C 07440044
748: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 07450044
749: 99999 CONTINUE 07460044
750: WRITE (I02,90002) 07470044
751: WRITE (I02,90006) 07480044
752: WRITE (I02,90002) 07490044
753: WRITE (I02,90002) 07500044
754: WRITE (I02,90007) 07510044
755: WRITE (I02,90002) 07520044
756: WRITE (I02,90008) IVFAIL 07530044
757: WRITE (I02,90009) IVPASS 07540044
758: WRITE (I02,90010) IVDELE 07550044
759: C 07560044
760: C 07570044
761: C TERMINATE ROUTINE EXECUTION 07580044
762: STOP 07590044
763: C 07600044
764: C FORMAT STATEMENTS FOR PAGE HEADERS 07610044
765: 90000 FORMAT (1H1) 07620044
766: 90002 FORMAT (1H ) 07630044
767: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 07640044
768: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 07650044
769: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 07660044
770: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 07670044
771: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 07680044
772: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 07690044
773: C 07700044
774: C FORMAT STATEMENTS FOR RUN SUMMARIES 07710044
775: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 07720044
776: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 07730044
777: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 07740044
778: C 07750044
779: C FORMAT STATEMENTS FOR TEST RESULTS 07760044
780: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 07770044
781: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 07780044
782: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 07790044
783: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 07800044
784: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 07810044
785: C 07820044
786: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM044) 07830044
787: END 07840044
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.