|
|
1.1 root 1: C COMMENT SECTION. 00010009
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 00020009
6: C FM009 00030009
7: C 00040009
8: C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENT STATEMENTS OF THE 00050009
9: C FORM 00060009
10: C INTEGER VARIABLE = ARITHMETIC EXPRESSION 00070009
11: C WHERE THE ARITHMETIC EXPRESSION IS FORMED WITH THE ARITHMETIC 00080009
12: C OPERATOR +, INTEGER CONSTANTS AND POSITIVE INTEGER VARIABLES. 00090009
13: C SOME OF THE TESTS USE PARENTHESES TO GROUP ELEMENTS IN THE 00100009
14: C ARITHMETIC EXPRESSION. 00110009
15: C 00120009
16: C THERE ARE TESTS WHERE THE ARITHMETIC EXPRESSION CONTAINS 00130009
17: C (1) TWO INTEGER VARIABLES, 00140009
18: C (2) TWO INTEGER VARIABLES AND ONE INTEGER CONSTANT, 00150009
19: C (3) TWO INTEGER VARIABLES AND ONE INTEGER CONSTANT WITH 00160009
20: C PARENTHESES TO GROUP ELEMENTS. 00170009
21: C 00180009
22: C REFERENCES 00190009
23: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00200009
24: C X3.9-1978 00210009
25: C 00220009
26: C SECTION 4.3, INTEGER TYPE 00230009
27: C SECTION 4.3.1, INTEGER CONSTANT 00240009
28: C SECTION 6.1, ARITHMETIC EXPRESSIONS 00250009
29: C SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENTS 00260009
30: C 00270009
31: C ********************************************************** 00280009
32: C 00290009
33: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00300009
34: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00310009
35: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00320009
36: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00330009
37: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00340009
38: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00350009
39: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00360009
40: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00370009
41: C OF EXECUTING THESE TESTS. 00380009
42: C 00390009
43: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00400009
44: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00410009
45: C 00420009
46: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00430009
47: C 00440009
48: C DEPARTMENT OF THE NAVY 00450009
49: C FEDERAL COBOL COMPILER TESTING SERVICE 00460009
50: C WASHINGTON, D.C. 20376 00470009
51: C 00480009
52: C ********************************************************** 00490009
53: C 00500009
54: C 00510009
55: C 00520009
56: C INITIALIZATION SECTION 00530009
57: C 00540009
58: C INITIALIZE CONSTANTS 00550009
59: C ************** 00560009
60: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00570009
61: I01 = 5 00580009
62: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00590009
63: I02 = 6 00600009
64: C SYSTEM ENVIRONMENT SECTION 00610009
65: C 00620009
66: I01 = 5 00630009
67: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00640009
68: C (UNIT NUMBER FOR CARD READER). 00650009
69: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00660009
70: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00670009
71: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00680009
72: C 00690009
73: I02 = 6 00700009
74: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00710009
75: C (UNIT NUMBER FOR PRINTER). 00720009
76: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00730009
77: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00740009
78: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00750009
79: C 00760009
80: IVPASS=0 00770009
81: IVFAIL=0 00780009
82: IVDELE=0 00790009
83: ICZERO=0 00800009
84: C 00810009
85: C WRITE PAGE HEADERS 00820009
86: WRITE (I02,90000) 00830009
87: WRITE (I02,90001) 00840009
88: WRITE (I02,90002) 00850009
89: WRITE (I02, 90002) 00860009
90: WRITE (I02,90003) 00870009
91: WRITE (I02,90002) 00880009
92: WRITE (I02,90004) 00890009
93: WRITE (I02,90002) 00900009
94: WRITE (I02,90011) 00910009
95: WRITE (I02,90002) 00920009
96: WRITE (I02,90002) 00930009
97: WRITE (I02,90005) 00940009
98: WRITE (I02,90006) 00950009
99: WRITE (I02,90002) 00960009
100: C 00970009
101: C TEST SECTION 00980009
102: C 00990009
103: C ARITHMETIC ASSIGNMENT STATEMENT 01000009
104: C 01010009
105: C TEST 235 THROUGH TEST 243 CONTAIN TWO POSITIVE INTEGER VARIABLES 01020009
106: C AND OPERATOR + IN ARITHMETIC EXPRESSION. 01030009
107: C 01040009
108: 2351 CONTINUE 01050009
109: IVTNUM = 235 01060009
110: C 01070009
111: C **** TEST 235 **** 01080009
112: C 01090009
113: IF (ICZERO) 32350, 2350, 32350 01100009
114: 2350 CONTINUE 01110009
115: IVON01 = 2 01120009
116: IVON02 = 3 01130009
117: IVCOMP = IVON01 + IVON02 01140009
118: GO TO 42350 01150009
119: 32350 IVDELE = IVDELE + 1 01160009
120: WRITE (I02,80003) IVTNUM 01170009
121: IF (ICZERO) 42350, 2361, 42350 01180009
122: 42350 IF (IVCOMP - 5) 22350,12350,22350 01190009
123: 12350 IVPASS = IVPASS + 1 01200009
124: WRITE (I02,80001) IVTNUM 01210009
125: GO TO 2361 01220009
126: 22350 IVFAIL = IVFAIL + 1 01230009
127: IVCORR = 5 01240009
128: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01250009
129: 2361 CONTINUE 01260009
130: IVTNUM = 236 01270009
131: C 01280009
132: C **** TEST 236 **** 01290009
133: C 01300009
134: IF (ICZERO) 32360, 2360, 32360 01310009
135: 2360 CONTINUE 01320009
136: IVON01 = 2 01330009
137: IVON02 = 3 01340009
138: IVCOMP = IVON02 + IVON01 01350009
139: GO TO 42360 01360009
140: 32360 IVDELE = IVDELE + 1 01370009
141: WRITE (I02,80003) IVTNUM 01380009
142: IF (ICZERO) 42360, 2371, 42360 01390009
143: 42360 IF (IVCOMP - 5) 22360, 12360, 22360 01400009
144: 12360 IVPASS = IVPASS + 1 01410009
145: WRITE (I02,80001) IVTNUM 01420009
146: GO TO 2371 01430009
147: 22360 IVFAIL = IVFAIL + 1 01440009
148: IVCORR = 5 01450009
149: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01460009
150: 2371 CONTINUE 01470009
151: IVTNUM = 237 01480009
152: C 01490009
153: C **** TEST 237 **** 01500009
154: C 01510009
155: IF (ICZERO) 32370, 2370, 32370 01520009
156: 2370 CONTINUE 01530009
157: IVON01 = 51 01540009
158: IVON02 = 52 01550009
159: IVCOMP = IVON01 + IVON02 01560009
160: GO TO 42370 01570009
161: 32370 IVDELE = IVDELE + 1 01580009
162: WRITE (I02,80003) IVTNUM 01590009
163: IF (ICZERO) 42370, 2381, 42370 01600009
164: 42370 IF (IVCOMP - 103) 22370, 12370, 22370 01610009
165: 12370 IVPASS = IVPASS + 1 01620009
166: WRITE (I02,80001) IVTNUM 01630009
167: GO TO 2381 01640009
168: 22370 IVFAIL = IVFAIL + 1 01650009
169: IVCORR = 103 01660009
170: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01670009
171: 2381 CONTINUE 01680009
172: IVTNUM = 238 01690009
173: C 01700009
174: C **** TEST 238 **** 01710009
175: C 01720009
176: IF (ICZERO) 32380, 2380, 32380 01730009
177: 2380 CONTINUE 01740009
178: IVON01 = 189 01750009
179: IVON02 = 676 01760009
180: IVCOMP = IVON01 + IVON02 01770009
181: GO TO 42380 01780009
182: 32380 IVDELE = IVDELE + 1 01790009
183: WRITE (I02,80003) IVTNUM 01800009
184: IF (ICZERO) 42380, 2391, 42380 01810009
185: 42380 IF (IVCOMP - 865) 22380, 12380, 22380 01820009
186: 12380 IVPASS = IVPASS + 1 01830009
187: WRITE (I02,80001) IVTNUM 01840009
188: GO TO 2391 01850009
189: 22380 IVFAIL = IVFAIL + 1 01860009
190: IVCORR = 865 01870009
191: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01880009
192: 2391 CONTINUE 01890009
193: IVTNUM = 239 01900009
194: C 01910009
195: C **** TEST 239 **** 01920009
196: C 01930009
197: IF (ICZERO) 32390, 2390, 32390 01940009
198: 2390 CONTINUE 01950009
199: IVON01 = 1358 01960009
200: IVON02 = 8001 01970009
201: IVCOMP = IVON01 + IVON02 01980009
202: GO TO 42390 01990009
203: 32390 IVDELE = IVDELE + 1 02000009
204: WRITE (I02,80003) IVTNUM 02010009
205: IF (ICZERO) 42390, 2401, 42390 02020009
206: 42390 IF (IVCOMP - 9359) 22390, 12390, 22390 02030009
207: 12390 IVPASS = IVPASS + 1 02040009
208: WRITE (I02,80001) IVTNUM 02050009
209: GO TO 2401 02060009
210: 22390 IVFAIL = IVFAIL + 1 02070009
211: IVCORR = 9359 02080009
212: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02090009
213: 2401 CONTINUE 02100009
214: IVTNUM = 240 02110009
215: C 02120009
216: C **** TEST 240 **** 02130009
217: C 02140009
218: IF (ICZERO) 32400, 2400, 32400 02150009
219: 2400 CONTINUE 02160009
220: IVON01 = 1358 02170009
221: IVON02 = 8001 02180009
222: IVCOMP = IVON02 + IVON01 02190009
223: GO TO 42400 02200009
224: 32400 IVDELE = IVDELE + 1 02210009
225: WRITE (I02,80003) IVTNUM 02220009
226: IF (ICZERO) 42400, 2411, 42400 02230009
227: 42400 IF (IVCOMP - 9359) 22400, 12400, 22400 02240009
228: 12400 IVPASS = IVPASS + 1 02250009
229: WRITE (I02,80001) IVTNUM 02260009
230: GO TO 2411 02270009
231: 22400 IVFAIL = IVFAIL + 1 02280009
232: IVCORR = 9359 02290009
233: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02300009
234: 2411 CONTINUE 02310009
235: IVTNUM = 241 02320009
236: C 02330009
237: C **** TEST 241 **** 02340009
238: C 02350009
239: IF (ICZERO) 32410, 2410, 32410 02360009
240: 2410 CONTINUE 02370009
241: IVON01 = 11112 02380009
242: IVON02 = 10001 02390009
243: IVCOMP = IVON01 + IVON02 02400009
244: GO TO 42410 02410009
245: 32410 IVDELE = IVDELE + 1 02420009
246: WRITE (I02,80003) IVTNUM 02430009
247: IF (ICZERO) 42410, 2421, 42410 02440009
248: 42410 IF (IVCOMP - 21113) 22410, 12410, 22410 02450009
249: 12410 IVPASS = IVPASS + 1 02460009
250: WRITE (I02,80001) IVTNUM 02470009
251: GO TO 2421 02480009
252: 22410 IVFAIL = IVFAIL + 1 02490009
253: IVCORR = 21113 02500009
254: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02510009
255: 2421 CONTINUE 02520009
256: IVTNUM = 242 02530009
257: C 02540009
258: C **** TEST 242 **** 02550009
259: C 02560009
260: IF (ICZERO) 32420, 2420, 32420 02570009
261: 2420 CONTINUE 02580009
262: IVON01 = 189 02590009
263: IVON02 = 9876 02600009
264: IVCOMP = IVON01 + IVON02 02610009
265: GO TO 42420 02620009
266: 32420 IVDELE = IVDELE + 1 02630009
267: WRITE (I02,80003) IVTNUM 02640009
268: IF (ICZERO) 42420, 2431, 42420 02650009
269: 42420 IF (IVCOMP - 10065) 22420, 12420, 22420 02660009
270: 12420 IVPASS = IVPASS + 1 02670009
271: WRITE (I02,80001) IVTNUM 02680009
272: GO TO 2431 02690009
273: 22420 IVFAIL = IVFAIL + 1 02700009
274: IVCORR = 10065 02710009
275: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02720009
276: 2431 CONTINUE 02730009
277: IVTNUM = 243 02740009
278: C 02750009
279: C **** TEST 243 **** 02760009
280: C REQUIRES 32767 02770009
281: C 02780009
282: IF (ICZERO) 32430, 2430, 32430 02790009
283: 2430 CONTINUE 02800009
284: IVON01 = 16383 02810009
285: IVON02 = 16384 02820009
286: IVCOMP = IVON01 + IVON02 02830009
287: GO TO 42430 02840009
288: 32430 IVDELE = IVDELE + 1 02850009
289: WRITE (I02,80003) IVTNUM 02860009
290: IF (ICZERO) 42430, 2441, 42430 02870009
291: 42430 IF (IVCOMP - 32767) 22430, 12430, 22430 02880009
292: 12430 IVPASS = IVPASS + 1 02890009
293: WRITE (I02,80001) IVTNUM 02900009
294: GO TO 2441 02910009
295: 22430 IVFAIL = IVFAIL + 1 02920009
296: IVCORR = 32767 02930009
297: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02940009
298: C 02950009
299: C TEST 244 THROUGH TEST 250 CONTAIN TWO POSITIVE INTEGER VARIABLES, 02960009
300: C ONE INTEGER CONSTANT, AND OPERATOR + IN ARITHMETIC EXPRESSION. 02970009
301: C 02980009
302: 2441 CONTINUE 02990009
303: IVTNUM = 244 03000009
304: C 03010009
305: C **** TEST 244 **** 03020009
306: C 03030009
307: IF (ICZERO) 32440, 2440, 32440 03040009
308: 2440 CONTINUE 03050009
309: IVON01 = 2 03060009
310: IVON02 = 3 03070009
311: IVCOMP = IVON01 + IVON02 + 4 03080009
312: GO TO 42440 03090009
313: 32440 IVDELE = IVDELE + 1 03100009
314: WRITE (I02,80003) IVTNUM 03110009
315: IF (ICZERO) 42440, 2451, 42440 03120009
316: 42440 IF (IVCOMP - 9) 22440, 12440, 22440 03130009
317: 12440 IVPASS = IVPASS + 1 03140009
318: WRITE (I02,80001) IVTNUM 03150009
319: GO TO 2451 03160009
320: 22440 IVFAIL = IVFAIL + 1 03170009
321: IVCORR = 9 03180009
322: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03190009
323: 2451 CONTINUE 03200009
324: IVTNUM = 245 03210009
325: C 03220009
326: C **** TEST 245 **** 03230009
327: C 03240009
328: IF (ICZERO) 32450, 2450, 32450 03250009
329: 2450 CONTINUE 03260009
330: IVON01 = 2 03270009
331: IVON03 = 4 03280009
332: IVCOMP = IVON01 +3 + IVON03 03290009
333: GO TO 42450 03300009
334: 32450 IVDELE = IVDELE + 1 03310009
335: WRITE (I02,80003) IVTNUM 03320009
336: IF (ICZERO) 42450, 2461, 42450 03330009
337: 42450 IF (IVCOMP - 9) 22450, 12450, 22450 03340009
338: 12450 IVPASS = IVPASS + 1 03350009
339: WRITE (I02,80001) IVTNUM 03360009
340: GO TO 2461 03370009
341: 22450 IVFAIL = IVFAIL + 1 03380009
342: IVCORR = 9 03390009
343: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03400009
344: 2461 CONTINUE 03410009
345: IVTNUM = 246 03420009
346: C 03430009
347: C **** TEST 246 **** 03440009
348: C 03450009
349: IF (ICZERO) 32460, 2460, 32460 03460009
350: 2460 CONTINUE 03470009
351: IVON02 = 3 03480009
352: IVON03 = 4 03490009
353: IVCOMP = 2 + IVON02 + IVON03 03500009
354: GO TO 42460 03510009
355: 32460 IVDELE = IVDELE + 1 03520009
356: WRITE (I02,80003) IVTNUM 03530009
357: IF (ICZERO) 42460, 2471, 42460 03540009
358: 42460 IF (IVCOMP - 9) 22460, 12460, 22460 03550009
359: 12460 IVPASS = IVPASS + 1 03560009
360: WRITE (I02,80001) IVTNUM 03570009
361: GO TO 2471 03580009
362: 22460 IVFAIL = IVFAIL + 1 03590009
363: IVCORR = 9 03600009
364: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03610009
365: 2471 CONTINUE 03620009
366: IVTNUM = 247 03630009
367: C 03640009
368: C **** TEST 247 **** 03650009
369: C 03660009
370: IF (ICZERO) 32470, 2470, 32470 03670009
371: 2470 CONTINUE 03680009
372: IVON01 = 51 03690009
373: IVON03 = 53 03700009
374: IVCOMP = IVON01 +52 + IVON03 03710009
375: GO TO 42470 03720009
376: 32470 IVDELE = IVDELE + 1 03730009
377: WRITE (I02,80003) IVTNUM 03740009
378: IF (ICZERO) 42470, 2481, 42470 03750009
379: 42470 IF (IVCOMP - 156) 22470, 12470, 22470 03760009
380: 12470 IVPASS = IVPASS + 1 03770009
381: WRITE (I02,80001) IVTNUM 03780009
382: GO TO 2481 03790009
383: 22470 IVFAIL = IVFAIL + 1 03800009
384: IVCORR = 156 03810009
385: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03820009
386: 2481 CONTINUE 03830009
387: IVTNUM = 248 03840009
388: C 03850009
389: C **** TEST 248 **** 03860009
390: C 03870009
391: IF (ICZERO) 32480, 2480, 32480 03880009
392: 2480 CONTINUE 03890009
393: IVON02 = 676 03900009
394: IVON03 = 101 03910009
395: IVCOMP = 189 + IVON02 + IVON03 03920009
396: GO TO 42480 03930009
397: 32480 IVDELE = IVDELE + 1 03940009
398: WRITE (I02,80003) IVTNUM 03950009
399: IF (ICZERO) 42480, 2491, 42480 03960009
400: 42480 IF (IVCOMP - 966) 22480, 12480, 22480 03970009
401: 12480 IVPASS = IVPASS + 1 03980009
402: WRITE (I02,80001) IVTNUM 03990009
403: GO TO 2491 04000009
404: 22480 IVFAIL = IVFAIL + 1 04010009
405: IVCORR = 966 04020009
406: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04030009
407: 2491 CONTINUE 04040009
408: IVTNUM = 249 04050009
409: C 04060009
410: C **** TEST 249 **** 04070009
411: C 04080009
412: IF (ICZERO) 32490, 2490, 32490 04090009
413: 2490 CONTINUE 04100009
414: IVON01 = 1358 04110009
415: IVON02 = 8001 04120009
416: IVCOMP = IVON01 + IVON02 + 2189 04130009
417: GO TO 42490 04140009
418: 32490 IVDELE = IVDELE + 1 04150009
419: WRITE (I02,80003) IVTNUM 04160009
420: IF (ICZERO) 42490, 2501, 42490 04170009
421: 42490 IF (IVCOMP - 11548) 22490, 12490, 22490 04180009
422: 12490 IVPASS = IVPASS + 1 04190009
423: WRITE (I02,80001) IVTNUM 04200009
424: GO TO 2501 04210009
425: 22490 IVFAIL = IVFAIL + 1 04220009
426: IVCORR = 11548 04230009
427: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04240009
428: 2501 CONTINUE 04250009
429: IVTNUM = 250 04260009
430: C 04270009
431: C **** TEST 250 **** 04280009
432: C REQUIRES 32767 04290009
433: C 04300009
434: IF (ICZERO) 32500, 2500, 32500 04310009
435: 2500 CONTINUE 04320009
436: IVON01 = 16383 04330009
437: IVON03 = 4 04340009
438: IVCOMP = IVON01 + 16380 + IVON03 04350009
439: GO TO 42500 04360009
440: 32500 IVDELE = IVDELE + 1 04370009
441: WRITE (I02,80003) IVTNUM 04380009
442: IF (ICZERO) 42500, 2511, 42500 04390009
443: 42500 IF (IVCOMP - 32767) 22500,12500,22500 04400009
444: 12500 IVPASS = IVPASS + 1 04410009
445: WRITE (I02,80001) IVTNUM 04420009
446: GO TO 2511 04430009
447: 22500 IVFAIL = IVFAIL + 1 04440009
448: IVCORR = 32767 04450009
449: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04460009
450: C 04470009
451: C TEST 251 THROUGH TEST 264 CONTAIN TWO POSITIVE INTEGER VARIABLES, 04480009
452: C ONE INTEGER CONSTANT, AND OPERATOR + IN ARITHMETIC EXPRESSION. 04490009
453: C PARENTHESES ARE USED TO GROUP ELEMENTS. THE RESULTS ARE THE SAME 04500009
454: C AS TESTS 244 THROUGH 250. 04510009
455: C 04520009
456: 2511 CONTINUE 04530009
457: IVTNUM = 251 04540009
458: C 04550009
459: C **** TEST 251 **** 04560009
460: C 04570009
461: IF (ICZERO) 32510, 2510, 32510 04580009
462: 2510 CONTINUE 04590009
463: IVON01 = 2 04600009
464: IVON02 = 3 04610009
465: IVCOMP = (IVON01 + IVON02) + 4 04620009
466: GO TO 42510 04630009
467: 32510 IVDELE = IVDELE + 1 04640009
468: WRITE (I02,80003) IVTNUM 04650009
469: IF (ICZERO) 42510, 2521, 42510 04660009
470: 42510 IF (IVCOMP - 9) 22510,12510,22510 04670009
471: 12510 IVPASS = IVPASS + 1 04680009
472: WRITE (I02,80001) IVTNUM 04690009
473: GO TO 2521 04700009
474: 22510 IVFAIL = IVFAIL + 1 04710009
475: IVCORR = 9 04720009
476: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04730009
477: 2521 CONTINUE 04740009
478: IVTNUM = 252 04750009
479: C 04760009
480: C **** TEST 252 **** 04770009
481: C 04780009
482: IF (ICZERO) 32520, 2520, 32520 04790009
483: 2520 CONTINUE 04800009
484: IVON02 = 3 04810009
485: IVON03 = 4 04820009
486: IVCOMP = 2 + (IVON02 + IVON03) 04830009
487: GO TO 42520 04840009
488: 32520 IVDELE = IVDELE + 1 04850009
489: WRITE (I02,80003) IVTNUM 04860009
490: IF (ICZERO) 42520, 2531, 42520 04870009
491: 42520 IF (IVCOMP - 9) 22520,12520,22520 04880009
492: 12520 IVPASS = IVPASS + 1 04890009
493: WRITE (I02,80001) IVTNUM 04900009
494: GO TO 2531 04910009
495: 22520 IVFAIL = IVFAIL + 1 04920009
496: IVCORR = 9 04930009
497: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04940009
498: 2531 CONTINUE 04950009
499: IVTNUM = 253 04960009
500: C 04970009
501: C **** TEST 253 **** 04980009
502: C 04990009
503: IF (ICZERO) 32530, 2530, 32530 05000009
504: 2530 CONTINUE 05010009
505: IVON02 =3 05020009
506: IVON03 =4 05030009
507: IVCOMP = (2+IVON02)+IVON03 05040009
508: GO TO 42530 05050009
509: 32530 IVDELE = IVDELE + 1 05060009
510: WRITE (I02,80003) IVTNUM 05070009
511: IF (ICZERO) 42530, 2541, 42530 05080009
512: 42530 IF (IVCOMP -9) 22530,12530,22530 05090009
513: 12530 IVPASS = IVPASS + 1 05100009
514: WRITE (I02,80001) IVTNUM 05110009
515: GO TO 2541 05120009
516: 22530 IVFAIL = IVFAIL + 1 05130009
517: IVCORR =9 05140009
518: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05150009
519: 2541 CONTINUE 05160009
520: IVTNUM = 254 05170009
521: C 05180009
522: C **** TEST 254 **** 05190009
523: C 05200009
524: IF (ICZERO) 32540, 2540, 32540 05210009
525: 2540 CONTINUE 05220009
526: IVON01 = 2 05230009
527: IVON02 = 3 05240009
528: IVCOMP = IVON01 + (IVON02 + 4) 05250009
529: GO TO 42540 05260009
530: 32540 IVDELE = IVDELE + 1 05270009
531: WRITE (I02,80003) IVTNUM 05280009
532: IF (ICZERO) 42540, 2551, 42540 05290009
533: 42540 IF (IVCOMP-9)22540,12540,22540 05300009
534: 12540 IVPASS = IVPASS + 1 05310009
535: WRITE (I02,80001) IVTNUM 05320009
536: GO TO 2551 05330009
537: 22540 IVFAIL = IVFAIL + 1 05340009
538: IVCORR=9 05350009
539: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05360009
540: 2551 CONTINUE 05370009
541: IVTNUM = 255 05380009
542: C 05390009
543: C **** TEST 255 **** 05400009
544: C 05410009
545: IF (ICZERO) 32550, 2550, 32550 05420009
546: 2550 CONTINUE 05430009
547: IVON01 = 2 05440009
548: IVON03 = 4 05450009
549: IVCOMP = IVON01 +(3+IVON03) 05460009
550: GO TO 42550 05470009
551: 32550 IVDELE = IVDELE + 1 05480009
552: WRITE (I02,80003) IVTNUM 05490009
553: IF (ICZERO) 42550, 2561, 42550 05500009
554: 42550 IF (IVCOMP-9)22550,12550,22550 05510009
555: 12550 IVPASS = IVPASS + 1 05520009
556: WRITE (I02,80001) IVTNUM 05530009
557: GO TO 2561 05540009
558: 22550 IVFAIL = IVFAIL + 1 05550009
559: IVCORR =9 05560009
560: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05570009
561: 2561 CONTINUE 05580009
562: IVTNUM = 256 05590009
563: C 05600009
564: C **** TEST 256 **** 05610009
565: C 05620009
566: IF (ICZERO) 32560, 2560, 32560 05630009
567: 2560 CONTINUE 05640009
568: IVON01 = 2 05650009
569: IVON03 = 4 05660009
570: IVCOMP =(IVON01+3)+IVON03 05670009
571: GO TO 42560 05680009
572: 32560 IVDELE = IVDELE + 1 05690009
573: WRITE (I02,80003) IVTNUM 05700009
574: IF (ICZERO) 42560, 2571, 42560 05710009
575: 42560 IF (IVCOMP-9) 22560,12560,22560 05720009
576: 12560 IVPASS = IVPASS + 1 05730009
577: WRITE (I02,80001) IVTNUM 05740009
578: GO TO 2571 05750009
579: 22560 IVFAIL = IVFAIL + 1 05760009
580: IVCORR =9 05770009
581: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05780009
582: 2571 CONTINUE 05790009
583: IVTNUM = 257 05800009
584: C 05810009
585: C **** TEST 257 **** 05820009
586: C 05830009
587: IF (ICZERO) 32570, 2570, 32570 05840009
588: 2570 CONTINUE 05850009
589: IVON01 = 51 05860009
590: IVON03 = 53 05870009
591: IVCOMP=IVON01+(52+IVON03) 05880009
592: GO TO 42570 05890009
593: 32570 IVDELE = IVDELE + 1 05900009
594: WRITE (I02,80003) IVTNUM 05910009
595: IF (ICZERO) 42570, 2581, 42570 05920009
596: 42570 IF (IVCOMP -156) 22570,12570,22570 05930009
597: 12570 IVPASS = IVPASS + 1 05940009
598: WRITE (I02,80001) IVTNUM 05950009
599: GO TO 2581 05960009
600: 22570 IVFAIL = IVFAIL + 1 05970009
601: IVCORR = 156 05980009
602: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05990009
603: 2581 CONTINUE 06000009
604: IVTNUM = 258 06010009
605: C 06020009
606: C **** TEST 258 **** 06030009
607: C 06040009
608: IF (ICZERO) 32580, 2580, 32580 06050009
609: 2580 CONTINUE 06060009
610: IVON01 = 51 06070009
611: IVON03 = 53 06080009
612: IVCOMP =(IVON01+52)+IVON03 06090009
613: GO TO 42580 06100009
614: 32580 IVDELE = IVDELE + 1 06110009
615: WRITE (I02,80003) IVTNUM 06120009
616: IF (ICZERO) 42580, 2591, 42580 06130009
617: 42580 IF (IVCOMP-156) 22580,12580,22580 06140009
618: 12580 IVPASS = IVPASS + 1 06150009
619: WRITE (I02,80001) IVTNUM 06160009
620: GO TO 2591 06170009
621: 22580 IVFAIL = IVFAIL + 1 06180009
622: IVCORR = 156 06190009
623: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06200009
624: 2591 CONTINUE 06210009
625: IVTNUM = 259 06220009
626: C 06230009
627: C **** TEST 259 **** 06240009
628: C 06250009
629: IF (ICZERO) 32590, 2590, 32590 06260009
630: 2590 CONTINUE 06270009
631: IVON02 = 676 06280009
632: IVON03 = 101 06290009
633: IVCOMP = 189+(IVON02+IVON03) 06300009
634: GO TO 42590 06310009
635: 32590 IVDELE = IVDELE + 1 06320009
636: WRITE (I02,80003) IVTNUM 06330009
637: IF (ICZERO) 42590, 2601, 42590 06340009
638: 42590 IF (IVCOMP -966) 22590,12590,22590 06350009
639: 12590 IVPASS = IVPASS + 1 06360009
640: WRITE (I02,80001) IVTNUM 06370009
641: GO TO 2601 06380009
642: 22590 IVFAIL = IVFAIL + 1 06390009
643: IVCORR =966 06400009
644: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06410009
645: 2601 CONTINUE 06420009
646: IVTNUM = 260 06430009
647: C 06440009
648: C **** TEST 260 **** 06450009
649: C 06460009
650: IF (ICZERO) 32600, 2600, 32600 06470009
651: 2600 CONTINUE 06480009
652: IVON02 = 676 06490009
653: IVON03 = 101 06500009
654: IVCOMP = (189 + IVON02) + IVON03 06510009
655: GO TO 42600 06520009
656: 32600 IVDELE = IVDELE + 1 06530009
657: WRITE (I02,80003) IVTNUM 06540009
658: IF (ICZERO) 42600, 2611, 42600 06550009
659: 42600 IF (IVCOMP-966) 22600,12600,22600 06560009
660: 12600 IVPASS = IVPASS + 1 06570009
661: WRITE (I02,80001) IVTNUM 06580009
662: GO TO 2611 06590009
663: 22600 IVFAIL = IVFAIL + 1 06600009
664: IVCORR=966 06610009
665: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06620009
666: 2611 CONTINUE 06630009
667: IVTNUM = 261 06640009
668: C 06650009
669: C **** TEST 261 **** 06660009
670: C 06670009
671: IF (ICZERO) 32610, 2610, 32610 06680009
672: 2610 CONTINUE 06690009
673: IVON01 = 1358 06700009
674: IVON02 = 8001 06710009
675: IVCOMP = IVON01 + (IVON02 + 2189) 06720009
676: GO TO 42610 06730009
677: 32610 IVDELE = IVDELE + 1 06740009
678: WRITE (I02,80003) IVTNUM 06750009
679: IF (ICZERO) 42610, 2621, 42610 06760009
680: 42610 IF (IVCOMP-11548) 22610,12610,22610 06770009
681: 12610 IVPASS = IVPASS + 1 06780009
682: WRITE (I02,80001) IVTNUM 06790009
683: GO TO 2621 06800009
684: 22610 IVFAIL = IVFAIL + 1 06810009
685: IVCORR=11548 06820009
686: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06830009
687: 2621 CONTINUE 06840009
688: IVTNUM = 262 06850009
689: C 06860009
690: C **** TEST 262 **** 06870009
691: C 06880009
692: IF (ICZERO) 32620, 2620, 32620 06890009
693: 2620 CONTINUE 06900009
694: IVON01 = 1358 06910009
695: IVON02 = 8001 06920009
696: IVCOMP =(IVON01+IVON02)+2189 06930009
697: GO TO 42620 06940009
698: 32620 IVDELE = IVDELE + 1 06950009
699: WRITE (I02,80003) IVTNUM 06960009
700: IF (ICZERO) 42620, 2631, 42620 06970009
701: 42620 IF (IVCOMP-11548) 22620,12620,22620 06980009
702: 12620 IVPASS = IVPASS + 1 06990009
703: WRITE (I02,80001) IVTNUM 07000009
704: GO TO 2631 07010009
705: 22620 IVFAIL = IVFAIL + 1 07020009
706: IVCORR=11548 07030009
707: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07040009
708: 2631 CONTINUE 07050009
709: IVTNUM = 263 07060009
710: C 07070009
711: C **** TEST 263 **** 07080009
712: C REQUIRES 32767 07090009
713: C 07100009
714: IF (ICZERO) 32630, 2630, 32630 07110009
715: 2630 CONTINUE 07120009
716: IVON01 = 16383 07130009
717: IVON03 = 16380 07140009
718: IVCOMP = IVON01 + (4+IVON03) 07150009
719: GO TO 42630 07160009
720: 32630 IVDELE = IVDELE + 1 07170009
721: WRITE (I02,80003) IVTNUM 07180009
722: IF (ICZERO) 42630, 2641, 42630 07190009
723: 42630 IF (IVCOMP-32767) 22630,12630,22630 07200009
724: 12630 IVPASS = IVPASS + 1 07210009
725: WRITE (I02,80001) IVTNUM 07220009
726: GO TO 2641 07230009
727: 22630 IVFAIL = IVFAIL + 1 07240009
728: IVCORR =32767 07250009
729: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07260009
730: 2641 CONTINUE 07270009
731: IVTNUM = 264 07280009
732: C 07290009
733: C **** TEST 264 **** 07300009
734: C REQUIRES 32767 07310009
735: C 07320009
736: IF (ICZERO) 32640, 2640, 32640 07330009
737: 2640 CONTINUE 07340009
738: IVON01 = 16383 07350009
739: IVON02 = 16380 07360009
740: IVCOMP = (IVON01+IVON02) +4 07370009
741: GO TO 42640 07380009
742: 32640 IVDELE = IVDELE + 1 07390009
743: WRITE (I02,80003) IVTNUM 07400009
744: IF (ICZERO) 42640, 2651, 42640 07410009
745: 42640 IF (IVCOMP - 32767) 22640,12640,22640 07420009
746: 12640 IVPASS = IVPASS + 1 07430009
747: WRITE (I02,80001) IVTNUM 07440009
748: GO TO 2651 07450009
749: 22640 IVFAIL = IVFAIL + 1 07460009
750: IVCORR = 32767 07470009
751: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07480009
752: 2651 CONTINUE 07490009
753: C 07500009
754: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 07510009
755: 99999 CONTINUE 07520009
756: WRITE (I02,90002) 07530009
757: WRITE (I02,90006) 07540009
758: WRITE (I02,90002) 07550009
759: WRITE (I02,90002) 07560009
760: WRITE (I02,90007) 07570009
761: WRITE (I02,90002) 07580009
762: WRITE (I02,90008) IVFAIL 07590009
763: WRITE (I02,90009) IVPASS 07600009
764: WRITE (I02,90010) IVDELE 07610009
765: C 07620009
766: C 07630009
767: C TERMINATE ROUTINE EXECUTION 07640009
768: STOP 07650009
769: C 07660009
770: C FORMAT STATEMENTS FOR PAGE HEADERS 07670009
771: 90000 FORMAT (1H1) 07680009
772: 90002 FORMAT (1H ) 07690009
773: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 07700009
774: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 07710009
775: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 07720009
776: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 07730009
777: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 07740009
778: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 07750009
779: C 07760009
780: C FORMAT STATEMENTS FOR RUN SUMMARIES 07770009
781: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 07780009
782: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 07790009
783: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 07800009
784: C 07810009
785: C FORMAT STATEMENTS FOR TEST RESULTS 07820009
786: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 07830009
787: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 07840009
788: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 07850009
789: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 07860009
790: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 07870009
791: C 07880009
792: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM009) 07890009
793: END 07900009
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.