|
|
1.1 root 1: C COMMENT SECTION. 00010025
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 00020025
6: C FM025 00030025
7: C 00040025
8: C THIS ROUTINE TESTS ARRAYS WITH IF STATEMENTS, DO LOOPS, 00050025
9: C ASSIGNED AND COMPUTED GO TO STATEMENTS IN CONJUNCTION WITH ARRAY 00060025
10: C ELEMENTS IN COMMON OR DIMENSIONED. ONE, TWO, AND THREE 00070025
11: C DIMENSIONED ARRAYS ARE USED. THE SUBSCRIPTS ARE INTEGER CONSTANTS00080025
12: C OR SOMETIMES INTEGER VARIABLES WHEN THE ELEMENTS ARE IN LOOPS 00090025
13: C AND ALL ARRAYS HAVE FIXED SIZE LIMITS. INTEGER, REAL, AND LOGICAL00100025
14: C ARRAYS ARE USED WITH THE TYPE SOMETIMES SPECIFIED WITH THE 00110025
15: C EXPLICIT TYPE STATEMENT. 00120025
16: C 00130025
17: C REFERENCES 00140025
18: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00150025
19: C X3.9-1978 00160025
20: C 00170025
21: C SECTION 8, SPECIFICATION STATEMENTS 00180025
22: C SECTION 8.1, DIMENSION STATEMENT 00190025
23: C SECTION 8.3, COMMON STATEMENT 00200025
24: C SECTION 8.4, TYPE-STATEMENTS 00210025
25: C SECTION 9, DATA STATEMENT 00220025
26: C SECTION 11.2, COMPUTED GO TO STATEMENT 00230025
27: C SECTION 11.3, ASSIGNED GO TO STATEMENT 00240025
28: C SECTION 11.10, DO STATEMENT 00250025
29: C 00260025
30: COMMON IADN31(2,2,2), RADN31(2,2,2), LADN31(2,2,2) 00270025
31: C 00280025
32: DIMENSION IADN32(2,2,2), IADN21(2,2), IADN11(2) 00290025
33: C 00300025
34: LOGICAL LADN31 00310025
35: INTEGER RADN33(2,2,2), RADN21(2,4), RADN11(8) 00320025
36: REAL IADN33(2,2,2), IADN22(2,4), IADN12(8) 00330025
37: C 00340025
38: C 00350025
39: C ********************************************************** 00360025
40: C 00370025
41: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00380025
42: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00390025
43: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00400025
44: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00410025
45: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00420025
46: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00430025
47: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00440025
48: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00450025
49: C OF EXECUTING THESE TESTS. 00460025
50: C 00470025
51: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00480025
52: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00490025
53: C 00500025
54: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00510025
55: C 00520025
56: C DEPARTMENT OF THE NAVY 00530025
57: C FEDERAL COBOL COMPILER TESTING SERVICE 00540025
58: C WASHINGTON, D.C. 20376 00550025
59: C 00560025
60: C ********************************************************** 00570025
61: C 00580025
62: C 00590025
63: C 00600025
64: C INITIALIZATION SECTION 00610025
65: C 00620025
66: C INITIALIZE CONSTANTS 00630025
67: C ************** 00640025
68: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00650025
69: I01 = 5 00660025
70: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00670025
71: I02 = 6 00680025
72: C SYSTEM ENVIRONMENT SECTION 00690025
73: C 00700025
74: I01 = 5 00710025
75: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00720025
76: C (UNIT NUMBER FOR CARD READER). 00730025
77: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00740025
78: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00750025
79: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00760025
80: C 00770025
81: I02 = 6 00780025
82: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00790025
83: C (UNIT NUMBER FOR PRINTER). 00800025
84: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00810025
85: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00820025
86: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00830025
87: C 00840025
88: IVPASS=0 00850025
89: IVFAIL=0 00860025
90: IVDELE=0 00870025
91: ICZERO=0 00880025
92: C 00890025
93: C WRITE PAGE HEADERS 00900025
94: WRITE (I02,90000) 00910025
95: WRITE (I02,90001) 00920025
96: WRITE (I02,90002) 00930025
97: WRITE (I02, 90002) 00940025
98: WRITE (I02,90003) 00950025
99: WRITE (I02,90002) 00960025
100: WRITE (I02,90004) 00970025
101: WRITE (I02,90002) 00980025
102: WRITE (I02,90011) 00990025
103: WRITE (I02,90002) 01000025
104: WRITE (I02,90002) 01010025
105: WRITE (I02,90005) 01020025
106: WRITE (I02,90006) 01030025
107: WRITE (I02,90002) 01040025
108: IVTNUM = 653 01050025
109: C 01060025
110: C **** TEST 653 **** 01070025
111: C TEST 653 - TEST OF SETTING ALL VALUES OF AN INTEGER ARRAY 01080025
112: C BY THE INTEGER INDEX OF A DO LOOP. THE ARRAY HAS ONE DIMENSION. 01090025
113: C 01100025
114: IF (ICZERO) 36530, 6530, 36530 01110025
115: 6530 CONTINUE 01120025
116: DO 6532 I = 1,2,1 01130025
117: IADN11(I) = I 01140025
118: 6532 CONTINUE 01150025
119: IVCOMP = IADN11(1) 01160025
120: GO TO 46530 01170025
121: 36530 IVDELE = IVDELE + 1 01180025
122: WRITE (I02,80003) IVTNUM 01190025
123: IF (ICZERO) 46530, 6541, 46530 01200025
124: 46530 IF ( IVCOMP - 1 ) 26530, 16530, 26530 01210025
125: 16530 IVPASS = IVPASS + 1 01220025
126: WRITE (I02,80001) IVTNUM 01230025
127: GO TO 6541 01240025
128: 26530 IVFAIL = IVFAIL + 1 01250025
129: IVCORR = 1 01260025
130: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01270025
131: 6541 CONTINUE 01280025
132: IVTNUM = 654 01290025
133: C 01300025
134: C **** TEST 654 **** 01310025
135: C TEST 654 - SEE TEST 653. THIS TEST CHECKS THE SECOND ELEMENT OF01320025
136: C THE INTEGER ARRAY IADN11(2). 01330025
137: C 01340025
138: IF (ICZERO) 36540, 6540, 36540 01350025
139: 6540 CONTINUE 01360025
140: IVCOMP = IADN11(2) 01370025
141: GO TO 46540 01380025
142: 36540 IVDELE = IVDELE + 1 01390025
143: WRITE (I02,80003) IVTNUM 01400025
144: IF (ICZERO) 46540, 6551, 46540 01410025
145: 46540 IF ( IVCOMP - 2 ) 26540, 16540, 26540 01420025
146: 16540 IVPASS = IVPASS + 1 01430025
147: WRITE (I02,80001) IVTNUM 01440025
148: GO TO 6551 01450025
149: 26540 IVFAIL = IVFAIL + 1 01460025
150: IVCORR = 2 01470025
151: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01480025
152: 6551 CONTINUE 01490025
153: IVTNUM = 655 01500025
154: C 01510025
155: C **** TEST 655 **** 01520025
156: C TEST 655 - TEST OF SETTING THE VALUES OF THE COLUMN OF A TWO 01530025
157: C DIMENSION INTEGER ARRAY BY A DO LOOP. THE VALUES FOR THE ELEMENTS01540025
158: C IN A COLUMN IS THE NUMBER OF THE COLUMN AS SET BY THE DO LOOP 01550025
159: C INDEX. ROW NUMBERS ARE INTEGER CONSTANTS. 01560025
160: C THE VALUES FOR THE ELEMENTS ARE AS FOLLOWS 01570025
161: C 1 2 01580025
162: C 1 2 01590025
163: C 01600025
164: IF (ICZERO) 36550, 6550, 36550 01610025
165: 6550 CONTINUE 01620025
166: DO 6552 J = 1, 2 01630025
167: IADN21(1,J) = J 01640025
168: IADN21(2,J) = J 01650025
169: 6552 CONTINUE 01660025
170: IVCOMP = IADN21(1,1) 01670025
171: GO TO 46550 01680025
172: 36550 IVDELE = IVDELE + 1 01690025
173: WRITE (I02,80003) IVTNUM 01700025
174: IF (ICZERO) 46550, 6561, 46550 01710025
175: 46550 IF ( IVCOMP - 1 ) 26550, 16550, 26550 01720025
176: 16550 IVPASS = IVPASS + 1 01730025
177: WRITE (I02,80001) IVTNUM 01740025
178: GO TO 6561 01750025
179: 26550 IVFAIL = IVFAIL + 1 01760025
180: IVCORR = 1 01770025
181: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01780025
182: 6561 CONTINUE 01790025
183: IVTNUM = 656 01800025
184: C 01810025
185: C **** TEST 656 **** 01820025
186: C TEST 656 - SEE TEST 655. THIS TEST CHECKS THE VALUE OF THE 01830025
187: C INTEGER ARRAY IADN21(2,2) 01840025
188: C 01850025
189: IF (ICZERO) 36560, 6560, 36560 01860025
190: 6560 CONTINUE 01870025
191: IVCOMP = IADN21(2,2) 01880025
192: GO TO 46560 01890025
193: 36560 IVDELE = IVDELE + 1 01900025
194: WRITE (I02,80003) IVTNUM 01910025
195: IF (ICZERO) 46560, 6571, 46560 01920025
196: 46560 IF ( IVCOMP - 2 ) 26560, 16560, 26560 01930025
197: 16560 IVPASS = IVPASS + 1 01940025
198: WRITE (I02,80001) IVTNUM 01950025
199: GO TO 6571 01960025
200: 26560 IVFAIL = IVFAIL + 1 01970025
201: IVCORR = 2 01980025
202: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 01990025
203: 6571 CONTINUE 02000025
204: IVTNUM = 657 02010025
205: C 02020025
206: C **** TEST 657 **** 02030025
207: C TEST 657 - THIS TESTS SETTING BOTH THE ROW AND COLUMN SUBSCRIPTS02040025
208: C IN A TWO DIMENSION INTEGER ARRAY WITH A DOUBLE NESTED DO LOOP. 02050025
209: C THE ELEMENT VALUES ARE SET BY AN INTEGER COUNTER. ELEMENT VALUES 02060025
210: C ARE AS FOLLOWS 1 2 02070025
211: C 3 4 02080025
212: C 02090025
213: IF (ICZERO) 36570, 6570, 36570 02100025
214: 6570 CONTINUE 02110025
215: ICON01 = 0 02120025
216: DO 6573 I = 1, 2 02130025
217: DO 6572 J = 1, 2 02140025
218: ICON01 = ICON01 + 1 02150025
219: IADN21(I,J) = ICON01 02160025
220: 6572 CONTINUE 02170025
221: 6573 CONTINUE 02180025
222: IVCOMP = IADN21(1,2) 02190025
223: GO TO 46570 02200025
224: 36570 IVDELE = IVDELE + 1 02210025
225: WRITE (I02,80003) IVTNUM 02220025
226: IF (ICZERO) 46570, 6581, 46570 02230025
227: 46570 IF ( IVCOMP - 2 ) 26570, 16570, 26570 02240025
228: 16570 IVPASS = IVPASS + 1 02250025
229: WRITE (I02,80001) IVTNUM 02260025
230: GO TO 6581 02270025
231: 26570 IVFAIL = IVFAIL + 1 02280025
232: IVCORR = 2 02290025
233: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02300025
234: 6581 CONTINUE 02310025
235: IVTNUM = 658 02320025
236: C 02330025
237: C **** TEST 658 **** 02340025
238: C TEST 658 - SEE TEST 657. THIS TEST CHECKS THE VALUE OF ARRAY 02350025
239: C ELEMENT IADN21(2,1) = 3 02360025
240: C 02370025
241: IF (ICZERO) 36580, 6580, 36580 02380025
242: 6580 CONTINUE 02390025
243: IVCOMP = IADN21(2,1) 02400025
244: GO TO 46580 02410025
245: 36580 IVDELE = IVDELE + 1 02420025
246: WRITE (I02,80003) IVTNUM 02430025
247: IF (ICZERO) 46580, 6591, 46580 02440025
248: 46580 IF ( IVCOMP - 3 ) 26580, 16580, 26580 02450025
249: 16580 IVPASS = IVPASS + 1 02460025
250: WRITE (I02,80001) IVTNUM 02470025
251: GO TO 6591 02480025
252: 26580 IVFAIL = IVFAIL + 1 02490025
253: IVCORR = 3 02500025
254: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02510025
255: 6591 CONTINUE 02520025
256: IVTNUM = 659 02530025
257: C 02540025
258: C **** TEST 659 **** 02550025
259: C TEST 659 - THIS TEST USES A TRIPLE NESTED DO LOOP TO SET THE 02560025
260: C ELEMENTS IN ALL THREE DIMENSIONS OF AN INTEGER ARRAY THAT IS 02570025
261: C DIMENSIONED. THE VALUES FOR THE ELEMENTS ARE AS FOLLOWS 02580025
262: C FOR ELEMENT (I,J,K) = I + J + K 02590025
263: C SO FOR ELEMENT (1,1,2) = 1 + 1 + 2 = 4 02600025
264: C 02610025
265: IF (ICZERO) 36590, 6590, 36590 02620025
266: 6590 CONTINUE 02630025
267: DO 6594 I = 1, 2 02640025
268: DO 6593 J = 1, 2 02650025
269: DO 6592 K = 1, 2 02660025
270: IADN32( I, J, K ) = I + J + K 02670025
271: 6592 CONTINUE 02680025
272: 6593 CONTINUE 02690025
273: 6594 CONTINUE 02700025
274: IVCOMP = IADN32(1,1,2) 02710025
275: GO TO 46590 02720025
276: 36590 IVDELE = IVDELE + 1 02730025
277: WRITE (I02,80003) IVTNUM 02740025
278: IF (ICZERO) 46590, 6601, 46590 02750025
279: 46590 IF ( IVCOMP - 4 ) 26590, 16590, 26590 02760025
280: 16590 IVPASS = IVPASS + 1 02770025
281: WRITE (I02,80001) IVTNUM 02780025
282: GO TO 6601 02790025
283: 26590 IVFAIL = IVFAIL + 1 02800025
284: IVCORR = 4 02810025
285: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 02820025
286: 6601 CONTINUE 02830025
287: IVTNUM = 660 02840025
288: C 02850025
289: C **** TEST 660 **** 02860025
290: C TEST 660 - SEE TEST 659. THIS CHECKS FOR IADN32(2,2,2) = 6 02870025
291: C 02880025
292: IF (ICZERO) 36600, 6600, 36600 02890025
293: 6600 CONTINUE 02900025
294: IVCOMP = IADN32(2,2,2) 02910025
295: GO TO 46600 02920025
296: 36600 IVDELE = IVDELE + 1 02930025
297: WRITE (I02,80003) IVTNUM 02940025
298: IF (ICZERO) 46600, 6611, 46600 02950025
299: 46600 IF ( IVCOMP - 6 ) 26600, 16600, 26600 02960025
300: 16600 IVPASS = IVPASS + 1 02970025
301: WRITE (I02,80001) IVTNUM 02980025
302: GO TO 6611 02990025
303: 26600 IVFAIL = IVFAIL + 1 03000025
304: IVCORR = 6 03010025
305: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03020025
306: 6611 CONTINUE 03030025
307: IVTNUM = 661 03040025
308: C 03050025
309: C **** TEST 661 **** 03060025
310: C TEST 661 - THIS TEST SETS THE ELEMENTS OF AN INTEGER ARRAY IN 03070025
311: C COMMON TO MINUS THE VALUE OF THE INTEGER ARRAY SET IN TEST 659. 03080025
312: C ELEMENT IADN32(1,1,2) = 4 SO ELEMENT IADN31(1,1,2) = -4 03090025
313: C THE SAME INTEGER ASSIGNMENT STATEMENT IS USED AS THE TERMINATING 03100025
314: C STATEMENT FOR ALL THREE DO LOOPS USED TO SET THE ARRAY VALUES 03110025
315: C OF INTEGER ARRAY IADN31. 03120025
316: C IF TEST 659 FAILS, THEN THIS TEST SHOULD ALSO FAIL. HOWEVER, THE 03130025
317: C COMPUTED VALUES SHOULD RELATE IN THAT THE COMPUTED VALUE FOR 03140025
318: C TEST 661 SHOULD BE MINUS THE COMPUTED VALUE FOR TEST 659. 03150025
319: C 03160025
320: IF (ICZERO) 36610, 6610, 36610 03170025
321: 6610 CONTINUE 03180025
322: DO 6612 I = 1, 2 03190025
323: DO 6612 J = 1, 2 03200025
324: DO 6612 K = 1, 2 03210025
325: 6612 IADN31(I,J,K) = - IADN32 ( I, J, K ) 03220025
326: IVCOMP = IADN31(1,1,2) 03230025
327: GO TO 46610 03240025
328: 36610 IVDELE = IVDELE + 1 03250025
329: WRITE (I02,80003) IVTNUM 03260025
330: IF (ICZERO) 46610, 6621, 46610 03270025
331: 46610 IF ( IVCOMP + 4 ) 26610, 16610, 26610 03280025
332: 16610 IVPASS = IVPASS + 1 03290025
333: WRITE (I02,80001) IVTNUM 03300025
334: GO TO 6621 03310025
335: 26610 IVFAIL = IVFAIL + 1 03320025
336: IVCORR = -4 03330025
337: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03340025
338: 6621 CONTINUE 03350025
339: IVTNUM = 662 03360025
340: C 03370025
341: C **** TEST 662 **** 03380025
342: C TEST 662 - THIS IS A TEST OF A TRIPLE NESTED DO LOOP USED TO 03390025
343: C SET THE VALUES OF A LOGICAL ARRAY LADN31. UNLIKE THE OTHER TESTS 03400025
344: C THE THIRD DIMENSION IS SET LAST, THE FIRST DIMENSION IS SET SECOND03410025
345: C AND THE SECOND DIMENSION IS SET FIRST. ALL ARRAY ELEMENTS ARE SET03420025
346: C TO THE LOGICAL CONSTANT .FALSE. 03430025
347: C 03440025
348: IF (ICZERO) 36620, 6620, 36620 03450025
349: 6620 CONTINUE 03460025
350: DO 6622 K = 1, 2 03470025
351: DO 6622 I = 1, 2 03480025
352: DO 6622 J = 1, 2 03490025
353: LADN31( I, J, K ) = .FALSE. 03500025
354: 6622 CONTINUE 03510025
355: ICON01 = 1 03520025
356: IF ( LADN31(2,1,2) ) ICON01 = 0 03530025
357: GO TO 46620 03540025
358: 36620 IVDELE = IVDELE + 1 03550025
359: WRITE (I02,80003) IVTNUM 03560025
360: IF (ICZERO) 46620, 6631, 46620 03570025
361: 46620 IF ( ICON01 - 1 ) 26620, 16620, 26620 03580025
362: 16620 IVPASS = IVPASS + 1 03590025
363: WRITE (I02,80001) IVTNUM 03600025
364: GO TO 6631 03610025
365: 26620 IVFAIL = IVFAIL + 1 03620025
366: IVCOMP = ICON01 03630025
367: IVCORR = 1 03640025
368: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03650025
369: 6631 CONTINUE 03660025
370: IVTNUM = 663 03670025
371: C 03680025
372: C NOTE **** TEST 663 WAS DELETED BY FCCTS. 03690025
373: C 03700025
374: IF (ICZERO) 36630, 6630, 36630 03710025
375: 6630 CONTINUE 03720025
376: 36630 IVDELE = IVDELE + 1 03730025
377: WRITE (I02,80003) IVTNUM 03740025
378: IF (ICZERO) 46630, 6641, 46630 03750025
379: 46630 IF ( ICON01 - 6633 ) 26630, 16630, 26630 03760025
380: 16630 IVPASS = IVPASS + 1 03770025
381: WRITE (I02,80001) IVTNUM 03780025
382: GO TO 6641 03790025
383: 26630 IVFAIL = IVFAIL + 1 03800025
384: IVCOMP = ICON01 03810025
385: IVCORR = 6633 03820025
386: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 03830025
387: 6641 CONTINUE 03840025
388: IVTNUM = 664 03850025
389: C 03860025
390: C NOTE **** TEST 664 WAS DELETED BY FCCTS. 03870025
391: C 03880025
392: IF (ICZERO) 36640, 6640, 36640 03890025
393: 6640 CONTINUE 03900025
394: 36640 IVDELE = IVDELE + 1 03910025
395: WRITE (I02,80003) IVTNUM 03920025
396: IF (ICZERO) 46640, 6651, 46640 03930025
397: 46640 IF ( ICON01 - 6643 ) 26640, 16640, 26640 03940025
398: 16640 IVPASS = IVPASS + 1 03950025
399: WRITE (I02,80001) IVTNUM 03960025
400: GO TO 6651 03970025
401: 26640 IVFAIL = IVFAIL + 1 03980025
402: IVCOMP = ICON01 03990025
403: IVCORR = 6443 04000025
404: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04010025
405: 6651 CONTINUE 04020025
406: IVTNUM = 665 04030025
407: C 04040025
408: C **** TEST 665 **** 04050025
409: C TEST 665 - ARRAY ELEMENTS SET TO TYPE REAL BY THE EXPLICIT 04060025
410: C REAL STATEMENT ARE SET TO THE VALUE 0.5 AND USED TO SET THE VALUE 04070025
411: C OF AN ARRAY ELEMENT SET TO TYPE INTEGER BY THE INTEGER STATEMENT. 04080025
412: C THIS LAST INTEGER ELEMENT IS USED IN A LOGICAL IF STATEMENT 04090025
413: C THAT SHOULD COMPARE TRUE. ( .5 + .5 + .5 ) * 2. .EQ. 3 04100025
414: C 04110025
415: IF (ICZERO) 36650, 6650, 36650 04120025
416: 6650 CONTINUE 04130025
417: IADN33(2,2,2) = 0.5 04140025
418: IADN22(2,4) = 0.5 04150025
419: IADN12(8) = 0.5 04160025
420: RADN11(8) = ( IADN33(2,2,2) + IADN22(2,4) + IADN12(8) ) * 2. 04170025
421: ICON01 = 0 04180025
422: IF ( RADN11(8) .EQ. 3 ) ICON01 = 1 04190025
423: GO TO 46650 04200025
424: 36650 IVDELE = IVDELE + 1 04210025
425: WRITE (I02,80003) IVTNUM 04220025
426: IF (ICZERO) 46650, 6661, 46650 04230025
427: 46650 IF ( ICON01 - 1 ) 26650, 16650, 26650 04240025
428: 16650 IVPASS = IVPASS + 1 04250025
429: WRITE (I02,80001) IVTNUM 04260025
430: GO TO 6661 04270025
431: 26650 IVFAIL = IVFAIL + 1 04280025
432: IVCOMP = ICON01 04290025
433: IVCORR = 1 04300025
434: WRITE (I02,80004) IVTNUM, IVCOMP ,IVCORR 04310025
435: 6661 CONTINUE 04320025
436: C 04330025
437: C WRITE PAGE FOOTINGS AND RUN SUMMARIES 04340025
438: 99999 CONTINUE 04350025
439: WRITE (I02,90002) 04360025
440: WRITE (I02,90006) 04370025
441: WRITE (I02,90002) 04380025
442: WRITE (I02,90002) 04390025
443: WRITE (I02,90007) 04400025
444: WRITE (I02,90002) 04410025
445: WRITE (I02,90008) IVFAIL 04420025
446: WRITE (I02,90009) IVPASS 04430025
447: WRITE (I02,90010) IVDELE 04440025
448: C 04450025
449: C 04460025
450: C TERMINATE ROUTINE EXECUTION 04470025
451: STOP 04480025
452: C 04490025
453: C FORMAT STATEMENTS FOR PAGE HEADERS 04500025
454: 90000 FORMAT (1H1) 04510025
455: 90002 FORMAT (1H ) 04520025
456: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 04530025
457: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 04540025
458: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 04550025
459: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 04560025
460: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 04570025
461: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 04580025
462: C 04590025
463: C FORMAT STATEMENTS FOR RUN SUMMARIES 04600025
464: 90008 FORMAT (1H ,15X,I5,19H ERRORS ENCOUNTERED) 04610025
465: 90009 FORMAT (1H ,15X,I5,13H TESTS PASSED) 04620025
466: 90010 FORMAT (1H ,15X,I5,14H TESTS DELETED) 04630025
467: C 04640025
468: C FORMAT STATEMENTS FOR TEST RESULTS 04650025
469: 80001 FORMAT (1H ,4X,I5,7X,4HPASS) 04660025
470: 80002 FORMAT (1H ,4X,I5,7X,4HFAIL) 04670025
471: 80003 FORMAT (1H ,4X,I5,7X,7HDELETED) 04680025
472: 80004 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 04690025
473: 80005 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 04700025
474: C 04710025
475: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM025) 04720025
476: END 04730025
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.