|
|
1.1 root 1: C COMMENT SECTION 00010034
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 00020034
6: C FM034 00030034
7: C 00040034
8: C THIS ROUTINE TESTS ARITHMETIC ASSIGNMENT STATEMENTS OF THE 00050034
9: C FORM 00060034
10: C INTEGER VARIABLE = ARITHMETIC EXPRESSION 00070034
11: C WHERE THE ARITHMETIC EXPRESSION IS FORMED WITH THE ARITHMETIC 00080034
12: C OPERATOR *, INTEGER VARIABLE AND INTEGER CONSTANT. SOME OF THE 00090034
13: C TESTS USE PARENTHESES TO GROUP ELEMENTS IN THE EXPRESSION AND TO 00100034
14: C ALLOW THE USE OF NEGATIVE CONSTANTS FOLLOWING THE * OPERATOR. 00110034
15: C THE INTEGER VARIABLES CONTAIN POSITIVE AND NEGATIVE VALUES. 00120034
16: C 00130034
17: C THERE ARE TESTS WHERE THE ARITHMETIC EXPRESSION CONTAINS 00140034
18: C (1) INTEGER VARIABLE * INTEGER CONSTANT 00150034
19: C INTEGER CONSTANT * INTEGER VARIABLE 00160034
20: C (2) INTEGER CONSTANT * INTEGER VARIABLE * INTEGER CONSTANT 00170034
21: C (3) SAME AS (2) BUT WITH PARENS TO GROUP ELEMENTS. 00180034
22: C 00190034
23: C REFERENCES 00200034
24: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00210034
25: C X3.9-1978 00220034
26: C 00230034
27: C SECTION 4.3, INTEGER TYPE 00240034
28: C SECTION 4.3.1, INTEGER CONSTANT 00250034
29: C SECTION 6.1, ARITHMETIC EXPRESSIONS 00260034
30: C SECTION 10.1, ARITHMETIC ASSIGNMENT STATEMENT 00270034
31: C 00280034
32: C ********************************************************** 00290034
33: C 00300034
34: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00310034
35: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00320034
36: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00330034
37: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00340034
38: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00350034
39: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00360034
40: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00370034
41: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00380034
42: C OF EXECUTING THESE TESTS. 00390034
43: C 00400034
44: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00410034
45: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00420034
46: C 00430034
47: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00440034
48: C 00450034
49: C DEPARTMENT OF THE NAVY 00460034
50: C FEDERAL COBOL COMPILER TESTING SERVICE 00470034
51: C WASHINGTON, D.C. 20376 00480034
52: C 00490034
53: C ********************************************************** 00500034
54: C 00510034
55: C 00520034
56: C 00530034
57: C INITIALIZATION SECTION 00540034
58: C 00550034
59: C INITIALIZE CONSTANTS 00560034
60: C ************** 00570034
61: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00580034
62: I01 = 5 00590034
63: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00600034
64: I02 = 6 00610034
65: C SYSTEM ENVIRONMENT SECTION 00620034
66: C 00630034
67: I01 = 5 00640034
68: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00650034
69: C (UNIT NUMBER FOR CARD READER). 00660034
70: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00670034
71: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00680034
72: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00690034
73: C 00700034
74: I02 = 6 00710034
75: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00720034
76: C (UNIT NUMBER FOR PRINTER). 00730034
77: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00740034
78: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00750034
79: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00760034
80: C 00770034
81: IVPASS=0 00780034
82: IVFAIL=0 00790034
83: IVDELE=0 00800034
84: ICZERO=0 00810034
85: C 00820034
86: C WRITE PAGE HEADERS 00830034
87: WRITE (I02,90000) 00840034
88: WRITE (I02,90001) 00850034
89: WRITE (I02,90002) 00860034
90: WRITE (I02, 90002) 00870034
91: WRITE (I02,90003) 00880034
92: WRITE (I02,90002) 00890034
93: WRITE (I02,90004) 00900034
94: WRITE (I02,90002) 00910034
95: WRITE (I02,90011) 00920034
96: WRITE (I02,90002) 00930034
97: WRITE (I02,90002) 00940034
98: WRITE (I02,90005) 00950034
99: WRITE (I02,90006) 00960034
100: WRITE (I02,90002) 00970034
101: C 00980034
102: C TEST SECTION 00990034
103: C 01000034
104: C ARITHMETIC ASSIGNMENT STATEMENT 01010034
105: C 01020034
106: C TEST 395 THROUGH TEST 414 CONTAIN AN INTEGER VARIABLE, AN INTEGER 01030034
107: C CONSTANT, AND OPERATOR * IN AN ARITHMETIC EXPRESSION. 01040034
108: C 01050034
109: C TEST 395 THROUGH TEST 406 - IV= IV * IC 01060034
110: C 01070034
111: C TEST 395 THROUGH TEST 398 01080034
112: C POSITIVE INTEGER VARIABLE, POSITIVE INTEGER CONSTANT 01090034
113: C 01100034
114: 3951 CONTINUE 01110034
115: IVTNUM = 395 01120034
116: C 01130034
117: C **** TEST 395 **** 01140034
118: C 01150034
119: IF (ICZERO) 33950, 3950, 33950 01160034
120: 3950 CONTINUE 01170034
121: IVON01 = 2 01180034
122: IVCOMP = IVON01 * 3 01190034
123: GO TO 43950 01200034
124: 33950 IVDELE = IVDELE + 1 01210034
125: WRITE (I02,80003) IVTNUM 01220034
126: IF (ICZERO) 43950, 3961, 43950 01230034
127: 43950 IF (IVCOMP -6) 23950,13950,23950 01240034
128: 13950 IVPASS = IVPASS + 1 01250034
129: WRITE (I02,80001) IVTNUM 01260034
130: GO TO 3961 01270034
131: 23950 IVFAIL = IVFAIL + 1 01280034
132: IVCORR =6 01290034
133: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01300034
134: 3961 CONTINUE 01310034
135: IVTNUM = 396 01320034
136: C 01330034
137: C **** TEST 396 **** 01340034
138: C 01350034
139: IF (ICZERO) 33960, 3960, 33960 01360034
140: 3960 CONTINUE 01370034
141: IVON01 = 13 01380034
142: IVCOMP = IVON01 * 11 01390034
143: GO TO 43960 01400034
144: 33960 IVDELE = IVDELE + 1 01410034
145: WRITE (I02,80003) IVTNUM 01420034
146: IF (ICZERO) 43960, 3971, 43960 01430034
147: 43960 IF (IVCOMP - 143) 23960,13960,23960 01440034
148: 13960 IVPASS = IVPASS + 1 01450034
149: WRITE (I02,80001) IVTNUM 01460034
150: GO TO 3971 01470034
151: 23960 IVFAIL = IVFAIL + 1 01480034
152: IVCORR = 143 01490034
153: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01500034
154: 3971 CONTINUE 01510034
155: IVTNUM = 397 01520034
156: C 01530034
157: C **** TEST 397 **** 01540034
158: C 01550034
159: IF (ICZERO) 33970, 3970, 33970 01560034
160: 3970 CONTINUE 01570034
161: IVON01 = 223 01580034
162: IVCOMP = IVON01 * 99 01590034
163: GO TO 43970 01600034
164: 33970 IVDELE = IVDELE + 1 01610034
165: WRITE (I02,80003) IVTNUM 01620034
166: IF (ICZERO) 43970, 3981, 43970 01630034
167: 43970 IF (IVCOMP - 22077) 23970,13970,23970 01640034
168: 13970 IVPASS = IVPASS + 1 01650034
169: WRITE (I02,80001) IVTNUM 01660034
170: GO TO 3981 01670034
171: 23970 IVFAIL = IVFAIL + 1 01680034
172: IVCORR = 22077 01690034
173: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01700034
174: 3981 CONTINUE 01710034
175: IVTNUM = 398 01720034
176: C 01730034
177: C **** TEST 398 **** 01740034
178: C 01750034
179: IF (ICZERO) 33980, 3980, 33980 01760034
180: 3980 CONTINUE 01770034
181: IVON01 = 11235 01780034
182: IVCOMP = IVON01 * 2 01790034
183: GO TO 43980 01800034
184: 33980 IVDELE = IVDELE + 1 01810034
185: WRITE (I02,80003) IVTNUM 01820034
186: IF (ICZERO) 43980, 3991, 43980 01830034
187: 43980 IF (IVCOMP - 22470) 23980,13980,23980 01840034
188: 13980 IVPASS = IVPASS + 1 01850034
189: WRITE (I02,80001) IVTNUM 01860034
190: GO TO 3991 01870034
191: 23980 IVFAIL = IVFAIL + 1 01880034
192: IVCORR = 22470 01890034
193: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01900034
194: C 01910034
195: C TEST 399 THROUGH TEST 402 01920034
196: C NEGATIVE INTEGER VARIABLE, POSITIVE INTEGER CONSTANT 01930034
197: C 01940034
198: 3991 CONTINUE 01950034
199: IVTNUM = 399 01960034
200: C 01970034
201: C **** TEST 399 **** 01980034
202: C 01990034
203: IF (ICZERO) 33990, 3990, 33990 02000034
204: 3990 CONTINUE 02010034
205: IVON01 = -2 02020034
206: IVCOMP = IVON01 * 3 02030034
207: GO TO 43990 02040034
208: 33990 IVDELE = IVDELE + 1 02050034
209: WRITE (I02,80003) IVTNUM 02060034
210: IF (ICZERO) 43990, 4001, 43990 02070034
211: 43990 IF (IVCOMP +6) 23990,13990,23990 02080034
212: 13990 IVPASS = IVPASS + 1 02090034
213: WRITE (I02,80001) IVTNUM 02100034
214: GO TO 4001 02110034
215: 23990 IVFAIL = IVFAIL + 1 02120034
216: IVCORR = -6 02130034
217: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02140034
218: 4001 CONTINUE 02150034
219: IVTNUM = 400 02160034
220: C 02170034
221: C **** TEST 400 **** 02180034
222: C 02190034
223: IF (ICZERO) 34000, 4000, 34000 02200034
224: 4000 CONTINUE 02210034
225: IVON01 = -13 02220034
226: IVCOMP =IVON01*11 02230034
227: GO TO 44000 02240034
228: 34000 IVDELE = IVDELE + 1 02250034
229: WRITE (I02,80003) IVTNUM 02260034
230: IF (ICZERO) 44000, 4011, 44000 02270034
231: 44000 IF (IVCOMP +143) 24000,14000,24000 02280034
232: 14000 IVPASS = IVPASS + 1 02290034
233: WRITE (I02,80001) IVTNUM 02300034
234: GO TO 4011 02310034
235: 24000 IVFAIL = IVFAIL + 1 02320034
236: IVCORR = -143 02330034
237: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02340034
238: 4011 CONTINUE 02350034
239: IVTNUM = 401 02360034
240: C 02370034
241: C **** TEST 401 **** 02380034
242: C 02390034
243: IF (ICZERO) 34010, 4010, 34010 02400034
244: 4010 CONTINUE 02410034
245: IVON01 = -223 02420034
246: IVCOMP = IVON01*99 02430034
247: GO TO 44010 02440034
248: 34010 IVDELE = IVDELE + 1 02450034
249: WRITE (I02,80003) IVTNUM 02460034
250: IF (ICZERO) 44010, 4021, 44010 02470034
251: 44010 IF (IVCOMP + 22077) 24010,14010,24010 02480034
252: 14010 IVPASS = IVPASS + 1 02490034
253: WRITE (I02,80001) IVTNUM 02500034
254: GO TO 4021 02510034
255: 24010 IVFAIL = IVFAIL + 1 02520034
256: IVCORR = -22077 02530034
257: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02540034
258: 4021 CONTINUE 02550034
259: IVTNUM = 402 02560034
260: C 02570034
261: C **** TEST 402 **** 02580034
262: C 02590034
263: IF (ICZERO) 34020, 4020, 34020 02600034
264: 4020 CONTINUE 02610034
265: IVON01 = -11235 02620034
266: IVCOMP = IVON01*2 02630034
267: GO TO 44020 02640034
268: 34020 IVDELE = IVDELE + 1 02650034
269: WRITE (I02,80003) IVTNUM 02660034
270: IF (ICZERO) 44020, 4031, 44020 02670034
271: 44020 IF (IVCOMP+22470) 24020,14020,24020 02680034
272: 14020 IVPASS = IVPASS + 1 02690034
273: WRITE (I02,80001) IVTNUM 02700034
274: GO TO 4031 02710034
275: 24020 IVFAIL = IVFAIL + 1 02720034
276: IVCORR = -22470 02730034
277: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02740034
278: C 02750034
279: C TEST 403 AND TEST 404 02760034
280: C NEGATIVE INTEGER VARIABLE, NEGATIVE INTEGER CONSTANT 02770034
281: C 02780034
282: 4031 CONTINUE 02790034
283: IVTNUM = 403 02800034
284: C 02810034
285: C **** TEST 403 **** 02820034
286: C 02830034
287: IF (ICZERO) 34030, 4030, 34030 02840034
288: 4030 CONTINUE 02850034
289: IVON01=-2 02860034
290: IVCOMP = IVON01*(-3) 02870034
291: GO TO 44030 02880034
292: 34030 IVDELE = IVDELE + 1 02890034
293: WRITE (I02,80003) IVTNUM 02900034
294: IF (ICZERO) 44030, 4041, 44030 02910034
295: 44030 IF (IVCOMP -6) 24030,14030,24030 02920034
296: 14030 IVPASS = IVPASS + 1 02930034
297: WRITE (I02,80001) IVTNUM 02940034
298: GO TO 4041 02950034
299: 24030 IVFAIL = IVFAIL + 1 02960034
300: IVCORR =6 02970034
301: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02980034
302: 4041 CONTINUE 02990034
303: IVTNUM = 404 03000034
304: C 03010034
305: C **** TEST 404 **** 03020034
306: C 03030034
307: IF (ICZERO) 34040, 4040, 34040 03040034
308: 4040 CONTINUE 03050034
309: IVON01 = -13 03060034
310: IVCOMP = IVON01 * (-11) 03070034
311: GO TO 44040 03080034
312: 34040 IVDELE = IVDELE + 1 03090034
313: WRITE (I02,80003) IVTNUM 03100034
314: IF (ICZERO) 44040, 4051, 44040 03110034
315: 44040 IF (IVCOMP -143) 24040,14040,24040 03120034
316: 14040 IVPASS = IVPASS + 1 03130034
317: WRITE (I02,80001) IVTNUM 03140034
318: GO TO 4051 03150034
319: 24040 IVFAIL = IVFAIL + 1 03160034
320: IVCORR = 143 03170034
321: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03180034
322: C 03190034
323: C TEST 405 AND TEST 406 03200034
324: C POSITIVE INTEGER VARIABLE, NEGATIVE INTEGER CONSTANT 03210034
325: C 03220034
326: 4051 CONTINUE 03230034
327: IVTNUM = 405 03240034
328: C 03250034
329: C **** TEST 405 **** 03260034
330: C 03270034
331: IF (ICZERO) 34050, 4050, 34050 03280034
332: 4050 CONTINUE 03290034
333: IVON01 = 223 03300034
334: IVCOMP = IVON01 * (-99) 03310034
335: GO TO 44050 03320034
336: 34050 IVDELE = IVDELE + 1 03330034
337: WRITE (I02,80003) IVTNUM 03340034
338: IF (ICZERO) 44050, 4061, 44050 03350034
339: 44050 IF (IVCOMP + 22077) 24050,14050,24050 03360034
340: 14050 IVPASS = IVPASS + 1 03370034
341: WRITE (I02,80001) IVTNUM 03380034
342: GO TO 4061 03390034
343: 24050 IVFAIL = IVFAIL + 1 03400034
344: IVCORR = -22077 03410034
345: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03420034
346: 4061 CONTINUE 03430034
347: IVTNUM = 406 03440034
348: C 03450034
349: C **** TEST 406 **** 03460034
350: C 03470034
351: IF (ICZERO) 34060, 4060, 34060 03480034
352: 4060 CONTINUE 03490034
353: IVON01 = 11235 03500034
354: IVCOMP = IVON01 * (-2) 03510034
355: GO TO 44060 03520034
356: 34060 IVDELE = IVDELE + 1 03530034
357: WRITE (I02,80003) IVTNUM 03540034
358: IF (ICZERO) 44060, 4071, 44060 03550034
359: 44060 IF (IVCOMP + 22470) 24060,14060,24060 03560034
360: 14060 IVPASS = IVPASS + 1 03570034
361: WRITE (I02,80001) IVTNUM 03580034
362: GO TO 4071 03590034
363: 24060 IVFAIL = IVFAIL + 1 03600034
364: IVCORR = -22470 03610034
365: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03620034
366: C 03630034
367: C TEST 407 THROUGH TEST 414 - IV = IC * IV 03640034
368: C 03650034
369: C TEST 407 AND TEST 408 03660034
370: C POSITIVE INTEGER CONSTANT, POSITIVE INTEGER VARIABLE 03670034
371: C 03680034
372: 4071 CONTINUE 03690034
373: IVTNUM = 407 03700034
374: C 03710034
375: C **** TEST 407 **** 03720034
376: C 03730034
377: IF (ICZERO) 34070, 4070, 34070 03740034
378: 4070 CONTINUE 03750034
379: IVON02 = 11 03760034
380: IVCOMP = 13*IVON02 03770034
381: GO TO 44070 03780034
382: 34070 IVDELE = IVDELE + 1 03790034
383: WRITE (I02,80003) IVTNUM 03800034
384: IF (ICZERO) 44070, 4081, 44070 03810034
385: 44070 IF (IVCOMP - 143) 24070,14070,24070 03820034
386: 14070 IVPASS = IVPASS + 1 03830034
387: WRITE (I02,80001) IVTNUM 03840034
388: GO TO 4081 03850034
389: 24070 IVFAIL = IVFAIL + 1 03860034
390: IVCORR = 143 03870034
391: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03880034
392: 4081 CONTINUE 03890034
393: IVTNUM = 408 03900034
394: C 03910034
395: C **** TEST 408 **** 03920034
396: C 03930034
397: IF (ICZERO) 34080, 4080, 34080 03940034
398: 4080 CONTINUE 03950034
399: IVON02 = +11 03960034
400: IVCOMP = +13 * IVON02 03970034
401: GO TO 44080 03980034
402: 34080 IVDELE = IVDELE + 1 03990034
403: WRITE (I02,80003) IVTNUM 04000034
404: IF (ICZERO) 44080, 4091, 44080 04010034
405: 44080 IF (IVCOMP - 143) 24080,14080,24080 04020034
406: 14080 IVPASS = IVPASS + 1 04030034
407: WRITE (I02,80001) IVTNUM 04040034
408: GO TO 4091 04050034
409: 24080 IVFAIL = IVFAIL + 1 04060034
410: IVCORR = 143 04070034
411: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04080034
412: C 04090034
413: C TEST 409 AND TEST 410 04100034
414: C POSITIVE INTEGER CONSTANT, NEGATIVE INTEGER VARIABLE 04110034
415: C 04120034
416: 4091 CONTINUE 04130034
417: IVTNUM = 409 04140034
418: C 04150034
419: C **** TEST 409 **** 04160034
420: C 04170034
421: IF (ICZERO) 34090, 4090, 34090 04180034
422: 4090 CONTINUE 04190034
423: IVON02 = -99 04200034
424: IVCOMP = 223 * IVON02 04210034
425: GO TO 44090 04220034
426: 34090 IVDELE = IVDELE + 1 04230034
427: WRITE (I02,80003) IVTNUM 04240034
428: IF (ICZERO) 44090, 4101, 44090 04250034
429: 44090 IF (IVCOMP + 22077) 24090,14090,24090 04260034
430: 14090 IVPASS = IVPASS + 1 04270034
431: WRITE (I02,80001) IVTNUM 04280034
432: GO TO 4101 04290034
433: 24090 IVFAIL = IVFAIL + 1 04300034
434: IVCORR =-22077 04310034
435: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04320034
436: 4101 CONTINUE 04330034
437: IVTNUM = 410 04340034
438: C 04350034
439: C **** TEST 410 **** 04360034
440: C 04370034
441: IF (ICZERO) 34100, 4100, 34100 04380034
442: 4100 CONTINUE 04390034
443: IVON02 = -99 04400034
444: IVCOMP = +223*IVON02 04410034
445: GO TO 44100 04420034
446: 34100 IVDELE = IVDELE + 1 04430034
447: WRITE (I02,80003) IVTNUM 04440034
448: IF (ICZERO) 44100, 4111, 44100 04450034
449: 44100 IF (IVCOMP + 22077) 24100,14100,24100 04460034
450: 14100 IVPASS = IVPASS + 1 04470034
451: WRITE (I02,80001) IVTNUM 04480034
452: GO TO 4111 04490034
453: 24100 IVFAIL = IVFAIL + 1 04500034
454: IVCORR = -22077 04510034
455: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04520034
456: C 04530034
457: C TEST 411 AND TEST 412 04540034
458: C NEGATIVE INTEGER CONSTANT, POSITIVE INTEGER VARIABLE 04550034
459: C 04560034
460: 4111 CONTINUE 04570034
461: IVTNUM = 411 04580034
462: C 04590034
463: C **** TEST 411 **** 04600034
464: C 04610034
465: IF (ICZERO) 34110, 4110, 34110 04620034
466: 4110 CONTINUE 04630034
467: IVON02 = 2 04640034
468: IVCOMP = (-11235) * IVON02 04650034
469: GO TO 44110 04660034
470: 34110 IVDELE = IVDELE + 1 04670034
471: WRITE (I02,80003) IVTNUM 04680034
472: IF (ICZERO) 44110, 4121, 44110 04690034
473: 44110 IF (IVCOMP + 22470) 24110,14110,24110 04700034
474: 14110 IVPASS = IVPASS + 1 04710034
475: WRITE (I02,80001) IVTNUM 04720034
476: GO TO 4121 04730034
477: 24110 IVFAIL = IVFAIL + 1 04740034
478: IVCORR = -22470 04750034
479: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04760034
480: 4121 CONTINUE 04770034
481: IVTNUM = 412 04780034
482: C 04790034
483: C **** TEST 412 **** 04800034
484: C 04810034
485: IF (ICZERO) 34120, 4120, 34120 04820034
486: 4120 CONTINUE 04830034
487: IVON02 = +2 04840034
488: IVCOMP = -11235 * IVON02 04850034
489: GO TO 44120 04860034
490: 34120 IVDELE = IVDELE + 1 04870034
491: WRITE (I02,80003) IVTNUM 04880034
492: IF (ICZERO) 44120, 4131, 44120 04890034
493: 44120 IF (IVCOMP + 22470) 24120,14120,24120 04900034
494: 14120 IVPASS=IVPASS + 1 04910034
495: WRITE (I02,80001) IVTNUM 04920034
496: GO TO 4131 04930034
497: 24120 IVFAIL = IVFAIL + 1 04940034
498: IVCORR = -22470 04950034
499: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04960034
500: C 04970034
501: C TEST 413 AND TEST 414 04980034
502: C NEGATIVE INTEGER CONSTANT, NEGATIVE INTEGER VARIABLE 04990034
503: C 05000034
504: 4131 CONTINUE 05010034
505: IVTNUM = 413 05020034
506: C 05030034
507: C **** TEST 413 **** 05040034
508: C 05050034
509: IF (ICZERO) 34130, 4130, 34130 05060034
510: 4130 CONTINUE 05070034
511: IVON02 = -3 05080034
512: IVCOMP = (-2) * IVON02 05090034
513: GO TO 44130 05100034
514: 34130 IVDELE = IVDELE + 1 05110034
515: WRITE (I02,80003) IVTNUM 05120034
516: IF (ICZERO) 44130, 4141, 44130 05130034
517: 44130 IF (IVCOMP - 6) 24130,14130,24130 05140034
518: 14130 IVPASS = IVPASS + 1 05150034
519: WRITE (I02,80001) IVTNUM 05160034
520: GO TO 4141 05170034
521: 24130 IVFAIL = IVFAIL + 1 05180034
522: IVCORR = 6 05190034
523: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05200034
524: 4141 CONTINUE 05210034
525: IVTNUM = 414 05220034
526: C 05230034
527: C **** TEST 414 **** 05240034
528: C 05250034
529: IF (ICZERO) 34140, 4140, 34140 05260034
530: 4140 CONTINUE 05270034
531: IVON02 = -3 05280034
532: IVCOMP = -2 * IVON02 05290034
533: GO TO 44140 05300034
534: 34140 IVDELE = IVDELE + 1 05310034
535: WRITE (I02,80003) IVTNUM 05320034
536: IF (ICZERO) 44140, 4151, 44140 05330034
537: 44140 IF (IVCOMP - 6) 24140,14140,24140 05340034
538: 14140 IVPASS = IVPASS + 1 05350034
539: WRITE (I02,80001) IVTNUM 05360034
540: GO TO 4151 05370034
541: 24140 IVFAIL = IVFAIL + 1 05380034
542: IVCORR = 6 05390034
543: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05400034
544: C 05410034
545: C TEST 415 THROUGH TEST 429 CONTAIN TWO INTEGER CONSTANTS, 05420034
546: C ONE INTEGER VARIABLE AND OPERATOR * IN ARITHMETIC EXPRESSION. 05430034
547: C 05440034
548: 4151 CONTINUE 05450034
549: IVTNUM = 415 05460034
550: C 05470034
551: C **** TEST 415 **** 05480034
552: C 05490034
553: IF (ICZERO) 34150, 4150, 34150 05500034
554: 4150 CONTINUE 05510034
555: IVON01 = 2 05520034
556: IVCOMP = IVON01 * 3 * 4 05530034
557: GO TO 44150 05540034
558: 34150 IVDELE = IVDELE + 1 05550034
559: WRITE (I02,80003) IVTNUM 05560034
560: IF (ICZERO) 44150, 4161, 44150 05570034
561: 44150 IF (IVCOMP - 24) 24150,14150,24150 05580034
562: 14150 IVPASS = IVPASS + 1 05590034
563: WRITE (I02,80001) IVTNUM 05600034
564: GO TO 4161 05610034
565: 24150 IVFAIL = IVFAIL + 1 05620034
566: IVCORR = 24 05630034
567: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05640034
568: 4161 CONTINUE 05650034
569: IVTNUM = 416 05660034
570: C 05670034
571: C **** TEST 416 **** 05680034
572: C 05690034
573: IF (ICZERO) 34160, 4160, 34160 05700034
574: 4160 CONTINUE 05710034
575: IVON01 = -2 05720034
576: IVCOMP = IVON01 *3*4 05730034
577: GO TO 44160 05740034
578: 34160 IVDELE = IVDELE + 1 05750034
579: WRITE (I02,80003) IVTNUM 05760034
580: IF (ICZERO) 44160, 4171, 44160 05770034
581: 44160 IF (IVCOMP +24) 24160,14160,24160 05780034
582: 14160 IVPASS = IVPASS + 1 05790034
583: WRITE (I02,80001) IVTNUM 05800034
584: GO TO 4171 05810034
585: 24160 IVFAIL = IVFAIL + 1 05820034
586: IVCORR = -24 05830034
587: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 05840034
588: 4171 CONTINUE 05850034
589: IVTNUM = 417 05860034
590: C 05870034
591: C **** TEST 417 **** 05880034
592: C 05890034
593: IF (ICZERO) 34170, 4170, 34170 05900034
594: 4170 CONTINUE 05910034
595: IVON01 = -2 05920034
596: IVCOMP = IVON01*3*(-4) 05930034
597: GO TO 44170 05940034
598: 34170 IVDELE = IVDELE + 1 05950034
599: WRITE (I02,80003) IVTNUM 05960034
600: IF (ICZERO) 44170, 4181, 44170 05970034
601: 44170 IF (IVCOMP -24) 24170,14170,24170 05980034
602: 14170 IVPASS = IVPASS + 1 05990034
603: WRITE (I02,80001) IVTNUM 06000034
604: GO TO 4181 06010034
605: 24170 IVFAIL = IVFAIL + 1 06020034
606: IVCORR = 24 06030034
607: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06040034
608: 4181 CONTINUE 06050034
609: IVTNUM = 418 06060034
610: C 06070034
611: C **** TEST 418 **** 06080034
612: C 06090034
613: IF (ICZERO) 34180, 4180, 34180 06100034
614: 4180 CONTINUE 06110034
615: IVON01 = -2 06120034
616: IVCOMP = IVON01*(-3)*(-4) 06130034
617: GO TO 44180 06140034
618: 34180 IVDELE = IVDELE + 1 06150034
619: WRITE (I02,80003) IVTNUM 06160034
620: IF (ICZERO) 44180, 4191, 44180 06170034
621: 44180 IF (IVCOMP +24) 24180,14180,24180 06180034
622: 14180 IVPASS = IVPASS + 1 06190034
623: WRITE (I02,80001) IVTNUM 06200034
624: GO TO 4191 06210034
625: 24180 IVFAIL = IVFAIL + 1 06220034
626: IVCORR = -24 06230034
627: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06240034
628: 4191 CONTINUE 06250034
629: IVTNUM = 419 06260034
630: C 06270034
631: C **** TEST 419 **** 06280034
632: C 06290034
633: IF (ICZERO) 34190, 4190, 34190 06300034
634: 4190 CONTINUE 06310034
635: IVON02 = 51 06320034
636: IVCOMP = 23*IVON02*13 06330034
637: GO TO 44190 06340034
638: 34190 IVDELE = IVDELE + 1 06350034
639: WRITE (I02,80003) IVTNUM 06360034
640: IF (ICZERO) 44190, 4201, 44190 06370034
641: 44190 IF (IVCOMP-15249) 24190,14190,24190 06380034
642: 14190 IVPASS = IVPASS + 1 06390034
643: WRITE (I02,80001) IVTNUM 06400034
644: GO TO 4201 06410034
645: 24190 IVFAIL = IVFAIL + 1 06420034
646: IVCORR = 15249 06430034
647: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06440034
648: 4201 CONTINUE 06450034
649: IVTNUM = 420 06460034
650: C 06470034
651: C **** TEST 420 **** 06480034
652: C 06490034
653: IF (ICZERO) 34200, 4200, 34200 06500034
654: 4200 CONTINUE 06510034
655: IVON02 = -51 06520034
656: IVCOMP = 23*IVON02*(-13) 06530034
657: GO TO 44200 06540034
658: 34200 IVDELE = IVDELE + 1 06550034
659: WRITE (I02,80003) IVTNUM 06560034
660: IF (ICZERO) 44200, 4211, 44200 06570034
661: 44200 IF (IVCOMP - 15249) 24200,14200,24200 06580034
662: 14200 IVPASS = IVPASS + 1 06590034
663: WRITE (I02,80001) IVTNUM 06600034
664: GO TO 4211 06610034
665: 24200 IVFAIL = IVFAIL + 1 06620034
666: IVCORR = 15249 06630034
667: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06640034
668: 4211 CONTINUE 06650034
669: IVTNUM = 421 06660034
670: C 06670034
671: C **** TEST 421 **** 06680034
672: C 06690034
673: IF (ICZERO) 34210, 4210, 34210 06700034
674: 4210 CONTINUE 06710034
675: IVON02 = -51 06720034
676: IVCOMP = 23*IVON02*13 06730034
677: GO TO 44210 06740034
678: 34210 IVDELE = IVDELE + 1 06750034
679: WRITE (I02,80003) IVTNUM 06760034
680: IF (ICZERO) 44210, 4221, 44210 06770034
681: 44210 IF (IVCOMP+15249) 24210,14210,24210 06780034
682: 14210 IVPASS = IVPASS + 1 06790034
683: WRITE (I02,80001) IVTNUM 06800034
684: GO TO 4221 06810034
685: 24210 IVFAIL = IVFAIL + 1 06820034
686: IVCORR = -15249 06830034
687: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 06840034
688: 4221 CONTINUE 06850034
689: IVTNUM = 422 06860034
690: C 06870034
691: C **** TEST 422 **** 06880034
692: C 06890034
693: IF (ICZERO) 34220, 4220, 34220 06900034
694: 4220 CONTINUE 06910034
695: IVON02 = -51 06920034
696: IVCOMP =(-23)*IVON02*(-13) 06930034
697: GO TO 44220 06940034
698: 34220 IVDELE = IVDELE + 1 06950034
699: WRITE (I02,80003) IVTNUM 06960034
700: IF (ICZERO) 44220, 4231, 44220 06970034
701: 44220 IF (IVCOMP+15249) 24220,14220,24220 06980034
702: 14220 IVPASS = IVPASS + 1 06990034
703: WRITE (I02,80001) IVTNUM 07000034
704: GO TO 4231 07010034
705: 24220 IVFAIL = IVFAIL + 1 07020034
706: IVCORR = -15249 07030034
707: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07040034
708: 4231 CONTINUE 07050034
709: IVTNUM = 423 07060034
710: C 07070034
711: C **** TEST 423 **** 07080034
712: C 07090034
713: IF (ICZERO) 34230, 4230, 34230 07100034
714: 4230 CONTINUE 07110034
715: IVON03 = 5461 07120034
716: IVCOMP = 2*3*IVON03 07130034
717: GO TO 44230 07140034
718: 34230 IVDELE = IVDELE + 1 07150034
719: WRITE (I02,80003) IVTNUM 07160034
720: IF (ICZERO) 44230, 4241, 44230 07170034
721: 44230 IF (IVCOMP - 32766) 24230,14230,24230 07180034
722: 14230 IVPASS = IVPASS + 1 07190034
723: WRITE (I02,80001) IVTNUM 07200034
724: GO TO 4241 07210034
725: 24230 IVFAIL = IVFAIL + 1 07220034
726: IVCORR = 32766 07230034
727: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07240034
728: 4241 CONTINUE 07250034
729: IVTNUM = 424 07260034
730: C 07270034
731: C **** TEST 424 **** 07280034
732: C 07290034
733: IF (ICZERO) 34240, 4240, 34240 07300034
734: 4240 CONTINUE 07310034
735: IVON03 = -5461 07320034
736: IVCOMP = 2*3*IVON03 07330034
737: GO TO 44240 07340034
738: 34240 IVDELE = IVDELE + 1 07350034
739: WRITE (I02,80003) IVTNUM 07360034
740: IF (ICZERO) 44240, 4251, 44240 07370034
741: 44240 IF (IVCOMP +32766) 24240,14240,24240 07380034
742: 14240 IVPASS = IVPASS + 1 07390034
743: WRITE (I02,80001) IVTNUM 07400034
744: GO TO 4251 07410034
745: 24240 IVFAIL = IVFAIL + 1 07420034
746: IVCORR = -32766 07430034
747: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07440034
748: 4251 CONTINUE 07450034
749: IVTNUM = 425 07460034
750: C 07470034
751: C **** TEST 425 **** 07480034
752: C 07490034
753: IF (ICZERO) 34250, 4250, 34250 07500034
754: 4250 CONTINUE 07510034
755: IVON03 = -5461 07520034
756: IVCOMP = -2*3*IVON03 07530034
757: GO TO 44250 07540034
758: 34250 IVDELE = IVDELE + 1 07550034
759: WRITE (I02,80003) IVTNUM 07560034
760: IF (ICZERO) 44250, 4261, 44250 07570034
761: 44250 IF (IVCOMP - 32766) 24250,14250,24250 07580034
762: 14250 IVPASS = IVPASS + 1 07590034
763: WRITE (I02,80001) IVTNUM 07600034
764: GO TO 4261 07610034
765: 24250 IVFAIL = IVFAIL + 1 07620034
766: IVCORR = 32766 07630034
767: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07640034
768: C 07650034
769: C TEST 426 THROUGH TEST 429 USE PARENTHESES TO GROUP ELEMENTS 07660034
770: C IN ARITHMETIC EXPRESSION. 07670034
771: C 07680034
772: 4261 CONTINUE 07690034
773: IVTNUM = 426 07700034
774: C 07710034
775: C **** TEST 426 **** 07720034
776: C 07730034
777: IF (ICZERO) 34260, 4260, 34260 07740034
778: 4260 CONTINUE 07750034
779: IVON02 = 51 07760034
780: IVCOMP = (23*IVON02)*13 07770034
781: GO TO 44260 07780034
782: 34260 IVDELE = IVDELE + 1 07790034
783: WRITE (I02,80003) IVTNUM 07800034
784: IF (ICZERO) 44260, 4271, 44260 07810034
785: 44260 IF (IVCOMP -15249) 24260,14260,24260 07820034
786: 14260 IVPASS = IVPASS + 1 07830034
787: WRITE (I02,80001) IVTNUM 07840034
788: GO TO 4271 07850034
789: 24260 IVFAIL = IVFAIL + 1 07860034
790: IVCORR = 15249 07870034
791: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 07880034
792: 4271 CONTINUE 07890034
793: IVTNUM = 427 07900034
794: C 07910034
795: C **** TEST 427 **** 07920034
796: C 07930034
797: IF (ICZERO) 34270, 4270, 34270 07940034
798: 4270 CONTINUE 07950034
799: IVON02 = 51 07960034
800: IVCOMP = 23*(IVON02*13) 07970034
801: GO TO 44270 07980034
802: 34270 IVDELE = IVDELE + 1 07990034
803: WRITE (I02,80003) IVTNUM 08000034
804: IF (ICZERO) 44270, 4281, 44270 08010034
805: 44270 IF (IVCOMP-15249) 24270,14270,24270 08020034
806: 14270 IVPASS = IVPASS + 1 08030034
807: WRITE (I02,80001) IVTNUM 08040034
808: GO TO 4281 08050034
809: 24270 IVFAIL = IVFAIL + 1 08060034
810: IVCORR = 15249 08070034
811: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08080034
812: 4281 CONTINUE 08090034
813: IVTNUM = 428 08100034
814: C 08110034
815: C **** TEST 428 **** 08120034
816: C 08130034
817: IF (ICZERO) 34280, 4280, 34280 08140034
818: 4280 CONTINUE 08150034
819: IVON02 = -51 08160034
820: IVCOMP = -23 * (IVON02*(+13)) 08170034
821: GO TO 44280 08180034
822: 34280 IVDELE = IVDELE + 1 08190034
823: WRITE (I02,80003) IVTNUM 08200034
824: IF (ICZERO) 44280, 4291, 44280 08210034
825: 44280 IF (IVCOMP - 15249)24280,14280,24280 08220034
826: 14280 IVPASS = IVPASS + 1 08230034
827: WRITE (I02,80001) IVTNUM 08240034
828: GO TO 4291 08250034
829: 24280 IVFAIL = IVFAIL + 1 08260034
830: IVCORR = 15249 08270034
831: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08280034
832: 4291 CONTINUE 08290034
833: IVTNUM = 429 08300034
834: C 08310034
835: C **** TEST 429 **** 08320034
836: C 08330034
837: IF (ICZERO) 34290, 4290, 34290 08340034
838: 4290 CONTINUE 08350034
839: IVON02 = -51 08360034
840: IVCOMP = (-23)*(IVON02*(-13)) 08370034
841: GO TO 44290 08380034
842: 34290 IVDELE = IVDELE + 1 08390034
843: WRITE (I02,80003) IVTNUM 08400034
844: IF (ICZERO) 44290, 4301, 44290 08410034
845: 44290 IF (IVCOMP + 15249) 24290,14290,24290 08420034
846: 14290 IVPASS = IVPASS + 1 08430034
847: WRITE (I02,80001) IVTNUM 08440034
848: GO TO 4301 08450034
849: 24290 IVFAIL = IVFAIL + 1 08460034
850: IVCORR = -15249 08470034
851: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 08480034
852: C **** END OF TESTS **** 08490034
853: 4301 CONTINUE 08500034
854: C 08510034
855: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 08520034
856: 99999 CONTINUE 08530034
857: WRITE (I02,90002) 08540034
858: WRITE (I02,90006) 08550034
859: WRITE (I02,90002) 08560034
860: WRITE (I02,90002) 08570034
861: WRITE (I02,90007) 08580034
862: WRITE (I02,90002) 08590034
863: WRITE (I02,90008) IVFAIL 08600034
864: WRITE (I02,90009) IVPASS 08610034
865: WRITE (I02,90010) IVDELE 08620034
866: C 08630034
867: C 08640034
868: C TERMINATE ROUTINE EXECUTION 08650034
869: STOP 08660034
870: C 08670034
871: C FORMAT STATEMENTS FOR PAGE HEADERS 08680034
872: 90000 FORMAT (1H1) 08690034
873: 90002 FORMAT (1H ) 08700034
874: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 08710034
875: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 08720034
876: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 08730034
877: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 08740034
878: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 08750034
879: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 08760034
880: C 08770034
881: C FORMAT STATEMENTS FOR RUN SUMMARIES 08780034
882: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 08790034
883: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 08800034
884: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 08810034
885: C 08820034
886: C FORMAT STATEMENTS FOR TEST RESULTS 08830034
887: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 08840034
888: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 08850034
889: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 08860034
890: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 08870034
891: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 08880034
892: C 08890034
893: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM034) 08900034
894: END 08910034
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.