|
|
1.1 root 1: PROGRAM FM351 00010351
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 00020351
6: C 00030351
7: C THIS PROGRAM CONTAINS TESTS FOR COMPOUND ARITHMETIC 00040351
8: C EXPRESSIONS WHICH NECESSITATE THE APPLICATION OF THE RULES 00050351
9: C FOR ARITHMETIC OPERATOR PRECEDENCE. THESE TESTS INCLUDE ONES 00060351
10: C WHICH EXERCIZE THE 00070351
11: C 00080351
12: C (1) USE OF ALL ARITHMETIC OPERATOR TYPES IN THE SAME STATEMENT. 00090351
13: C (2) USE OF PARENTHESES TO OVERRIDE DEFAULT PRECEDENCES. 00100351
14: C (3) USE OF ALL CLASSES OF PRIMARY OPERANDS. 00110351
15: C (4) USE OF NESTED FUNCTION REFERENCES. 00120351
16: C (5) USE OF MIXED DATA TYPES. 00130351
17: C 00140351
18: C REFERENCES - 00150351
19: C 00160351
20: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, X3.9-197700170351
21: C 00180351
22: C SECTION 6.1 ARITHMETIC EXPRESSIONS 00190351
23: C SECTION 6.5 PRECEDENCE OF OPERATORS 00200351
24: C SECTION 6.6 EVALUATION OF EXPRESSIONS 00210351
25: C 00220351
26: C 00230351
27: C ******************************************************************00240351
28: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00250351
29: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN 00260351
30: C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE 00270351
31: C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT 00280351
32: C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT00290351
33: C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS 00300351
34: C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00310351
35: C THE RESULT OF EXECUTING THESE TESTS. 00320351
36: C 00330351
37: C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES 00340351
38: C FOUND IN THE SUBSET LEVEL OF THE STANDARD. 00350351
39: C 00360351
40: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00370351
41: C DEPARTMENT OF THE NAVY 00380351
42: C FEDERAL COBOL COMPILER TESTING SERVICE 00390351
43: C WASHINGTON, D.C. 20376 00400351
44: C 00410351
45: C ******************************************************************00420351
46: C 00430351
47: C 00440351
48: IMPLICIT LOGICAL (L) 00450351
49: IMPLICIT CHARACTER*14 (C) 00460351
50: C 00470351
51: DIMENSION IADN11(5), RADN11(5) 00480351
52: IFOS01(IDON01,IDON02,IDON03) = IDON01 ** IDON02 ** IDON03 00490351
53: IFOS02(IDON04,IDON05) = IADN11(IDON04) / IADN11(IDON05) 00500351
54: IFOS04(IDON09,IDON10) = IADN11(IDON09) + IABS(IDON10) 00510351
55: IFOS03(IDON06,IDON07,IDON08) = IFOS04(IDON06,IDON07) * IDON08 00520351
56: RFOS01(RDON01,RDON02,RDON03) = RDON01 ** RDON02 ** RDON03 00530351
57: RFOS02(IDON11,IDON12) = RADN11(IDON11) / RADN11(IDON12) 00540351
58: RFOS04(IDON13,RDON10) = RADN11(IDON13) + ABS(RDON10) 00550351
59: RFOS03(RDON06,RDON07,RDON08) = RFOS04(INT(RDON06),RDON07) * RDON0800560351
60: IFOS05(IDON14,IDON16) = RADN11(IDON14) + IABS(IDON16) 00570351
61: RFOS06(RDON17,IDON18,RDON19) = IFOS05(INT(RDON17),IDON18) * RDON1900580351
62: C 00590351
63: C 00600351
64: C 00610351
65: C INITIALIZATION SECTION. 00620351
66: C 00630351
67: C INITIALIZE CONSTANTS 00640351
68: C ******************** 00650351
69: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER 00660351
70: I01 = 5 00670351
71: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER 00680351
72: I02 = 6 00690351
73: C SYSTEM ENVIRONMENT SECTION 00700351
74: C 00710351
75: I01 = 5 00720351
76: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00730351
77: C (UNIT NUMBER FOR CARD READER). 00740351
78: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00750351
79: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00760351
80: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00770351
81: C 00780351
82: I02 = 6 00790351
83: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00800351
84: C (UNIT NUMBER FOR PRINTER). 00810351
85: CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00820351
86: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00830351
87: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00840351
88: C 00850351
89: IVPASS = 0 00860351
90: IVFAIL = 0 00870351
91: IVDELE = 0 00880351
92: ICZERO = 0 00890351
93: C 00900351
94: C WRITE OUT PAGE HEADERS 00910351
95: C 00920351
96: WRITE (I02,90002) 00930351
97: WRITE (I02,90006) 00940351
98: WRITE (I02,90008) 00950351
99: WRITE (I02,90004) 00960351
100: WRITE (I02,90010) 00970351
101: WRITE (I02,90004) 00980351
102: WRITE (I02,90016) 00990351
103: WRITE (I02,90001) 01000351
104: WRITE (I02,90004) 01010351
105: WRITE (I02,90012) 01020351
106: WRITE (I02,90014) 01030351
107: WRITE (I02,90004) 01040351
108: C 01050351
109: C 01060351
110: C TESTS 1 THROUGH 10 DEAL ENTIRELY WITH INTEGER EXPRESSIONS. 01070351
111: C 01080351
112: C 01090351
113: C **** FCVS PROGRAM 351 - TEST 001 **** 01100351
114: C 01110351
115: C TEST 1 CHECKS AN INTEGER EXPRESSION WHERE ALL FIVE ARITHMETIC 01120351
116: C OPERATORS ARE USED AND ALL OPERAND PRIMARIES ARE SIMPLE INTEGER 01130351
117: C VARIABLES. NO PARENTHESES ARE USED TO UPSET DEFAULT PRECEDENCES. 01140351
118: C 01150351
119: IVTNUM = 1 01160351
120: IF (ICZERO) 30010, 0010, 30010 01170351
121: 0010 CONTINUE 01180351
122: IVON01 = 7 01190351
123: IVON02 = 3 01200351
124: IVON03 = 573 01210351
125: IVON04 = 23 01220351
126: IVON05 = 3 01230351
127: IVON06 = -7 01240351
128: IVCOMP = IVON01 ** IVON02 + IVON03 - IVON04 * IVON05 / IVON06 01250351
129: IVCORR = 925 01260351
130: 40010 IF (IVCOMP - 925) 20010, 10010, 20010 01270351
131: 30010 IVDELE = IVDELE + 1 01280351
132: WRITE (I02,80000) IVTNUM 01290351
133: IF (ICZERO) 10010, 0021, 20010 01300351
134: 10010 IVPASS = IVPASS + 1 01310351
135: WRITE (I02,80002) IVTNUM 01320351
136: GO TO 0021 01330351
137: 20010 IVFAIL = IVFAIL + 1 01340351
138: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01350351
139: 0021 CONTINUE 01360351
140: C 01370351
141: C **** FCVS PROGRAM 351 - TEST 002 **** 01380351
142: C 01390351
143: C TEST 2, LIKE TEST 1, CHECKS AN INTEGER EXPRESSION WHERE ALL 01400351
144: C FIVE ARITHMETIC OPERATORS ARE USED AND ALL OPERANDS ARE SIMPLE 01410351
145: C INTEGER VARIABLES; BUT IN THIS TEST, PARENTHESES ARE USED, AS IS 01420351
146: C A UNARY OPERATOR. 01430351
147: C 01440351
148: IVTNUM = 2 01450351
149: IF (ICZERO) 30020, 0020, 30020 01460351
150: 0020 CONTINUE 01470351
151: IVON01 = 7 01480351
152: IVON02 = 3 01490351
153: IVON03 = 5 01500351
154: IVON04 = -3 01510351
155: IVON05 = 3 01520351
156: IVCOMP = -(IVON01 / IVON02) + (IVON03 * IVON04 ** IVON05) 01530351
157: IVCORR = -137 01540351
158: 40020 IF (IVCOMP + 137) 20020, 10020, 20020 01550351
159: 30020 IVDELE = IVDELE + 1 01560351
160: WRITE (I02,80000) IVTNUM 01570351
161: IF (ICZERO) 10020, 0031, 20020 01580351
162: 10020 IVPASS = IVPASS + 1 01590351
163: WRITE (I02,80002) IVTNUM 01600351
164: GO TO 0031 01610351
165: 20020 IVFAIL = IVFAIL + 1 01620351
166: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01630351
167: 0031 CONTINUE 01640351
168: C 01650351
169: C **** FCVS PROGRAM 351 - TEST 003 **** 01660351
170: C 01670351
171: C TEST 3 IS SIMILAR TO TEST 2 EXCEPT THAT IT EMPLOYS NESTED 01680351
172: C PARENTHESES. 01690351
173: C 01700351
174: IVTNUM = 3 01710351
175: IF (ICZERO) 30030, 0030, 30030 01720351
176: 0030 CONTINUE 01730351
177: IVON01 = 5 01740351
178: IVON02 = 3 01750351
179: IVON03 = 5 01760351
180: IVON04 = 17 01770351
181: IVON05 = 14 01780351
182: IVON06 = 3 01790351
183: IVCOMP = IVON01 ** (-(IVON02 + (IVON03 - IVON04)) - (IVON05 / 01800351
184: 1 IVON06)) 01810351
185: IVCORR = 3125 01820351
186: 40030 IF (IVCOMP - 3125) 20030, 10030, 20030 01830351
187: 30030 IVDELE = IVDELE + 1 01840351
188: WRITE (I02,80000) IVTNUM 01850351
189: IF (ICZERO) 10030, 0041, 20030 01860351
190: 10030 IVPASS = IVPASS + 1 01870351
191: WRITE (I02,80002) IVTNUM 01880351
192: GO TO 0041 01890351
193: 20030 IVFAIL = IVFAIL + 1 01900351
194: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01910351
195: 0041 CONTINUE 01920351
196: C 01930351
197: C **** FCVS PROGRAM 351 - TEST 004 **** 01940351
198: C 01950351
199: C TEST 4 IS SIMILAR TO TEST 2 AND 3 EXCEPT THAT THE 01960351
200: C PARENTHESES USED ARE EFFECTIVELY EXTRANEOUS. 01970351
201: C 01980351
202: IVTNUM = 4 01990351
203: IF (ICZERO) 30040, 0040, 30040 02000351
204: 0040 CONTINUE 02010351
205: IVON01 = 3 02020351
206: IVON02 = 4 02030351
207: IVON03 = 5 02040351
208: IVON04 = 2 02050351
209: IVON05 = 3 02060351
210: IVON06 = 4 02070351
211: IVCOMP = ((IVON01) ** (IVON02) + (IVON03) - (IVON04) * 02080351
212: 1 (IVON05) / (IVON06)) 02090351
213: IVCORR = 85 02100351
214: 40040 IF (IVCOMP - 85) 20040, 10040, 20040 02110351
215: 30040 IVDELE = IVDELE + 1 02120351
216: WRITE (I02,80000) IVTNUM 02130351
217: IF (ICZERO) 10040, 0051, 20040 02140351
218: 10040 IVPASS = IVPASS + 1 02150351
219: WRITE (I02,80002) IVTNUM 02160351
220: GO TO 0051 02170351
221: 20040 IVFAIL = IVFAIL + 1 02180351
222: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02190351
223: 0051 CONTINUE 02200351
224: C 02210351
225: C **** FCVS PROGRAM 351 - TEST 005 **** 02220351
226: C 02230351
227: C TEST 5 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY 02240351
228: C INTEGER VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS, 02250351
229: C AND USING PARENTHESES TO OVERRIDE PRECEDENCES. 02260351
230: C 02270351
231: IVTNUM = 5 02280351
232: IF (ICZERO) 30050, 0050, 30050 02290351
233: 0050 CONTINUE 02300351
234: IVON01 = 57 02310351
235: IVON02 = -3 02320351
236: IVON03 = 4 02330351
237: IVON04 = -1 02340351
238: IVON05 = -5 02350351
239: IVON06 = -2 02360351
240: IVCOMP = -IVON01 ** (IVON02 + IVON03 - IVON04) * 02370351
241: 1 (IVON05 / IVON06) 02380351
242: IVCORR = -6498 02390351
243: 40050 IF (IVCOMP + 6498) 20050, 10050, 20050 02400351
244: 30050 IVDELE = IVDELE + 1 02410351
245: WRITE (I02,80000) IVTNUM 02420351
246: IF (ICZERO) 10050, 0061, 20050 02430351
247: 10050 IVPASS = IVPASS + 1 02440351
248: WRITE (I02,80002) IVTNUM 02450351
249: GO TO 0061 02460351
250: 20050 IVFAIL = IVFAIL + 1 02470351
251: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02480351
252: 0061 CONTINUE 02490351
253: C 02500351
254: C **** FCVS PROGRAM 351 - TEST 006 **** 02510351
255: C 02520351
256: C TEST 6 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY 02530351
257: C INTEGER VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS, 02540351
258: C AND USING PARENTHESES TO OVERRIDE PRECEDENCES. 02550351
259: C 02560351
260: IVTNUM = 6 02570351
261: IF (ICZERO) 30060, 0060, 30060 02580351
262: 0060 CONTINUE 02590351
263: IVON01 = 5 02600351
264: IVON02 = 3 02610351
265: IVON03 = 4 02620351
266: IVON04 = 5496 02630351
267: IVON05 = 7 02640351
268: IVON06 = -3 02650351
269: IVCOMP = ((IVON01 * (IVON02 / IVON03)) + IVON04) / IVON05 - 02660351
270: 1 (-IVON06) 02670351
271: IVCORR = 782 02680351
272: 40060 IF (IVCOMP - 782) 20060, 10060, 20060 02690351
273: 30060 IVDELE = IVDELE + 1 02700351
274: WRITE (I02,80000) IVTNUM 02710351
275: IF (ICZERO) 10060, 0071, 20060 02720351
276: 10060 IVPASS = IVPASS + 1 02730351
277: WRITE (I02,80002) IVTNUM 02740351
278: GO TO 0071 02750351
279: 20060 IVFAIL = IVFAIL + 1 02760351
280: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02770351
281: 0071 CONTINUE 02780351
282: C 02790351
283: C **** FCVS PROGRAM 351 - TEST 007 **** 02800351
284: C 02810351
285: C IN TEST 7, AN INTEGER EXPRESSION INVOLVING ALL FIVE 02820351
286: C ARITHMETIC OPERATORS TOGETHER WITH PARENTHESES IS EVALUATED, 02830351
287: C BUT UNLIKE TESTS 1 THROUGH 6 WHERE ALL OPERANDS WERE INTEGER 02840351
288: C VARIABLES, THE OPERANDS IN TEST 7 ARE CLASSED AS INTEGER 02850351
289: C VARIABLES, INTEGER CONSTANTS, INTEGER ARRAY ELEMENTS, AND INTEGER 02860351
290: C FUNCTION REFERENCES. 02870351
291: C 02880351
292: IVTNUM = 7 02890351
293: IF (ICZERO) 30070, 0070, 30070 02900351
294: 0070 CONTINUE 02910351
295: IVON01 = 573 02920351
296: IVON02 = 1 02930351
297: IVON03 = 3 02940351
298: IVON04 = 2 02950351
299: IVON05 = 3 02960351
300: IADN11(3) = 3071 02970351
301: IVCOMP = (IVON01 + 1) - (5 + IADN11(IVON03)) / 02980351
302: 1 (IFOS01(IVON03,IVON04,IVON05) ** IVON02) 02990351
303: IVCORR = 574 03000351
304: 40070 IF (IVCOMP - 574) 20070, 10070, 20070 03010351
305: 30070 IVDELE = IVDELE + 1 03020351
306: WRITE (I02,80000) IVTNUM 03030351
307: IF (ICZERO) 10070, 0081, 20070 03040351
308: 10070 IVPASS = IVPASS + 1 03050351
309: WRITE (I02,80002) IVTNUM 03060351
310: GO TO 0081 03070351
311: 20070 IVFAIL = IVFAIL + 1 03080351
312: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03090351
313: 0081 CONTINUE 03100351
314: C 03110351
315: C **** FCVS PROGRAM 351 - TEST 008 **** 03120351
316: C 03130351
317: C TEST 8 IS IDENTICAL TO TEST 7 EXCEPT THAT PARENTHESES ARE 03140351
318: C USED TO CHANGE THE ORDER OF SUB-EXPRESSION EVALUATION. 03150351
319: C 03160351
320: IVTNUM = 8 03170351
321: IF (ICZERO) 30080, 0080, 30080 03180351
322: 0080 CONTINUE 03190351
323: IVON01 = 573 03200351
324: IVON02 = 1 03210351
325: IVON03 = 3 03220351
326: IVON04 = 2 03230351
327: IVON05 = 3 03240351
328: IADN11(3) = 3071 03250351
329: IVCOMP = ((IVON01 + 1) - (5 + IADN11(IVON03))) / 03260351
330: 1 IFOS01(IVON03,IVON04,IVON05) ** IVON02 03270351
331: IVCORR = 0 03280351
332: 40080 IF (IVCOMP) 20080, 10080, 20080 03290351
333: 30080 IVDELE = IVDELE + 1 03300351
334: WRITE (I02,80000) IVTNUM 03310351
335: IF (ICZERO) 10080, 0091, 20080 03320351
336: 10080 IVPASS = IVPASS + 1 03330351
337: WRITE (I02,80002) IVTNUM 03340351
338: GO TO 0091 03350351
339: 20080 IVFAIL = IVFAIL + 1 03360351
340: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03370351
341: 0091 CONTINUE 03380351
342: C 03390351
343: C **** FCVS PROGRAM 351 - TEST 009 **** 03400351
344: C 03410351
345: C TEST 9 IS SIMILAR TO TESTS 7 AND 8 EXCEPT THAT THE 03420351
346: C FUNCTION REFERENCE IN TURN EVALUATES ARRAY ELEMENTS. 03430351
347: C 03440351
348: IVTNUM = 9 03450351
349: IF (ICZERO) 30090, 0090, 30090 03460351
350: 0090 CONTINUE 03470351
351: IVON01 = 7 03480351
352: IVON02 = 3 03490351
353: IVON03 = 2 03500351
354: IVON04 = 1 03510351
355: IVON05 = 4 03520351
356: IADN11(1) = 5 03530351
357: IADN11(2) = 2 03540351
358: IADN11(4) = 2 03550351
359: IVCOMP = (IVON01 - 8 * IFOS02(IVON04,IVON03)) / IADN11(IVON05) + 03560351
360: 1 13 ** IVON02 03570351
361: IVCORR = 2193 03580351
362: 40090 IF (IVCOMP - 2193) 20090, 10090, 20090 03590351
363: 30090 IVDELE = IVDELE + 1 03600351
364: WRITE (I02,80000) IVTNUM 03610351
365: IF (ICZERO) 10090, 0101, 20090 03620351
366: 10090 IVPASS = IVPASS + 1 03630351
367: WRITE (I02,80002) IVTNUM 03640351
368: GO TO 0101 03650351
369: 20090 IVFAIL = IVFAIL + 1 03660351
370: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03670351
371: 0101 CONTINUE 03680351
372: C 03690351
373: C **** FCVS PROGRAM 351 - TEST 010 **** 03700351
374: C 03710351
375: C TEST 10 EVALUATES AN INTEGER EXPRESSION WHICH CONTAINS 03720351
376: C FUNCTION REFERENCES NESTED TO THREE LEVELS. THE OUTER TWO 03730351
377: C LEVELS ARE STATEMENT FUNCTION REFERENCES AND THE INNERMOST LEVEL 03740351
378: C IS AN INTRINSIC FUNCTION REFERENCE. 03750351
379: C 03760351
380: IVTNUM = 10 03770351
381: IF (ICZERO) 30100, 0100, 30100 03780351
382: 0100 CONTINUE 03790351
383: IVON01 = -51 03800351
384: IVON02 = 4 03810351
385: IVON03 = -101 03820351
386: IVON04 = 13 03830351
387: IVON05 = 3 03840351
388: IVON06 = 5 03850351
389: IVON07 = -37 03860351
390: IADN11(4) = 87 03870351
391: IADN11(5) = 409 03880351
392: IVCOMP = (IVON01 + IFOS03(IVON02,IVON03,IVON04)) * IVON05 - 03890351
393: 1 IFOS04(IVON06,IVON07) 03900351
394: IVCORR = 6733 03910351
395: 40100 IF (IVCOMP - 6733) 20100, 10100, 20100 03920351
396: 30100 IVDELE = IVDELE + 1 03930351
397: WRITE (I02,80000) IVTNUM 03940351
398: IF (ICZERO) 10100, 0111, 20100 03950351
399: 10100 IVPASS = IVPASS + 1 03960351
400: WRITE (I02,80002) IVTNUM 03970351
401: GO TO 0111 03980351
402: 20100 IVFAIL = IVFAIL + 1 03990351
403: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04000351
404: 0111 CONTINUE 04010351
405: C 04020351
406: C TESTS 11 THROUGH 20 REPEAT TESTS 1 THROUGH 10 EXCEPT THAT 04030351
407: C TESTS 11 THROUGH 20 DEAL ENTIRELY WITH REAL ARITHMETIC 04040351
408: C EXPRESSIONS. 04050351
409: C 04060351
410: C 04070351
411: C **** FCVS PROGRAM 351 - TEST 011 **** 04080351
412: C 04090351
413: C TEST 11 TESTS A REAL EXPRESSION WHERE ALL FIVE ARITHMETIC 04100351
414: C OPERATORS ARE USED AND ALL OPERAND PRIMARIES ARE SIMPLE REAL 04110351
415: C VARIABLES. 04120351
416: C 04130351
417: IVTNUM = 11 04140351
418: IF (ICZERO) 30110, 0110, 30110 04150351
419: 0110 CONTINUE 04160351
420: RVON01 = 3.2 04170351
421: RVON02 = 23.051 04180351
422: RVON03 = 1545 E7 04190351
423: RVON04 = -23.457 04200351
424: RVON05 = .02 E3 04210351
425: RVON06 = 7.210745323 E-10 04220351
426: RVCOMP = RVON01 ** RVON02 + RVON03 - RVON04 * RVON05 / RVON06 04230351
427: RVCORR = 1.10683 E12 04240351
428: 40110 IF (RVCOMP - 1.1063 E12) 20110, 10110, 40111 04250351
429: 40111 IF (RVCOMP - 1.1073 E12) 10110, 10110, 20110 04260351
430: 30110 IVDELE = IVDELE + 1 04270351
431: WRITE (I02,80000) IVTNUM 04280351
432: IF (ICZERO) 10110, 0121, 20110 04290351
433: 10110 IVPASS = IVPASS + 1 04300351
434: WRITE (I02,80002) IVTNUM 04310351
435: GO TO 0121 04320351
436: 20110 IVFAIL = IVFAIL + 1 04330351
437: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 04340351
438: 0121 CONTINUE 04350351
439: C 04360351
440: C **** FCVS PROGRAM 351 - TEST 012 **** 04370351
441: C 04380351
442: C TEST 12, LIKE TEST 11, CHECKS A REAL EXPRESSION WHERE ALL 04390351
443: C FIVE ARITHMETIC OPERATORS ARE USED AND ALL OPERANDS ARE REAL 04400351
444: C VARIABLES, BUT IN TEST 12, PARENTHESES ARE USED, AS IS ALSO A 04410351
445: C UNARY OPERATOR. 04420351
446: C 04430351
447: IVTNUM = 12 04440351
448: IF (ICZERO) 30120, 0120, 30120 04450351
449: 0120 CONTINUE 04460351
450: RVON01 = 3.2 04470351
451: RVON02 = 23.051 04480351
452: RVON03 = 1545 E-3 04490351
453: RVON04 = 5.75 E-1 04500351
454: RVON05 = 2.22 E+1 04510351
455: RVCOMP = -(RVON01 / RVON02) + (RVON03 * RVON04 ** RVON05) 04520351
456: RVCORR = -.13882 04530351
457: 40120 IF (RVCOMP + .13887) 20120, 10120, 40121 04540351
458: 40121 IF (RVCOMP + .13877) 10120, 10120, 20120 04550351
459: 30120 IVDELE = IVDELE + 1 04560351
460: WRITE (I02,80000) IVTNUM 04570351
461: IF (ICZERO) 10120, 0131, 20120 04580351
462: 10120 IVPASS = IVPASS + 1 04590351
463: WRITE (I02,80002) IVTNUM 04600351
464: GO TO 0131 04610351
465: 20120 IVFAIL = IVFAIL + 1 04620351
466: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 04630351
467: 0131 CONTINUE 04640351
468: C 04650351
469: C **** FCVS PROGRAM 351 - TEST 013 **** 04660351
470: C 04670351
471: C TEST 13 IS SIMILAR TO TEST 12 EXCEPT THAT TEST 13 EMPLOYS 04680351
472: C NESTED PARENTHESES. 04690351
473: C 04700351
474: IVTNUM = 13 04710351
475: IF (ICZERO) 30130, 0130, 30130 04720351
476: 0130 CONTINUE 04730351
477: RVON01 = 3.2 04740351
478: RVON02 = -63.051 04750351
479: RVON03 = 1545 E-3 04760351
480: RVON04 = 5.75 E-1 04770351
481: RVON05 = 2.22 E1 04780351
482: RVON06 = 0.523 04790351
483: RVCOMP = RVON01 ** (-(RVON02 + (RVON03 - RVON04)) - 04800351
484: 1 (RVON05 / RVON06)) 04810351
485: RVCORR = 8.27757 E9 04820351
486: 40130 IF (RVCOMP - 8.2770 E9) 20130, 10130, 40131 04830351
487: 40131 IF (RVCOMP - 8.2780 E9) 10130, 10130, 20130 04840351
488: 30130 IVDELE = IVDELE + 1 04850351
489: WRITE (I02,80000) IVTNUM 04860351
490: IF (ICZERO) 10130, 0141, 20130 04870351
491: 10130 IVPASS = IVPASS + 1 04880351
492: WRITE (I02,80002) IVTNUM 04890351
493: GO TO 0141 04900351
494: 20130 IVFAIL = IVFAIL + 1 04910351
495: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 04920351
496: 0141 CONTINUE 04930351
497: C 04940351
498: C **** FCVS PROGRAM 351 - TEST 014 **** 04950351
499: C 04960351
500: C TEST 14 IS SIMILAR TO TESTS 12 AND 13 EXCEPT THAT THE 04970351
501: C PARENTHESES USED ARE EFFECTIVELY EXTRANEOUS. 04980351
502: C 04990351
503: IVTNUM = 14 05000351
504: IF (ICZERO) 30140, 0140, 30140 05010351
505: 0140 CONTINUE 05020351
506: RVON01 = 5.4515 E18 05030351
507: RVON02 = .076923 05040351
508: RVON03 = 23 E-2 05050351
509: RVON04 = 7 E7 05060351
510: RVON05 = 45.23 E5 05070351
511: RVON06 = 5.65375 E12 05080351
512: RVCOMP = ((RVON01) ** (RVON02) + (RVON03) - (RVON04) * (RVON05) / 05090351
513: 1 (RVON06)) 05100351
514: RVCORR = -28.147 05110351
515: 40140 IF (RVCOMP + 28.152) 20140, 10140, 40141 05120351
516: 40141 IF (RVCOMP + 28.142) 10140, 10140, 20140 05130351
517: 30140 IVDELE = IVDELE + 1 05140351
518: WRITE (I02,80000) IVTNUM 05150351
519: IF (ICZERO) 10140, 0151, 20140 05160351
520: 10140 IVPASS = IVPASS + 1 05170351
521: WRITE (I02,80002) IVTNUM 05180351
522: GO TO 0151 05190351
523: 20140 IVFAIL = IVFAIL + 1 05200351
524: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 05210351
525: 0151 CONTINUE 05220351
526: C 05230351
527: C **** FCVS PROGRAM 351 - TEST 015 **** 05240351
528: C 05250351
529: C TEST 15 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY 05260351
530: C REAL VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS, AND 05270351
531: C USING PARENTHESES TO OVERRIDE PRECEDENCES. 05280351
532: C 05290351
533: IVTNUM = 15 05300351
534: IF (ICZERO) 30150, 0150, 30150 05310351
535: 0150 CONTINUE 05320351
536: RVON01 = .11341 E1 05330351
537: RVON02 = 7.1417 05340351
538: RVON03 = 5.2113 E1 05350351
539: RVON04 = 10.001 05360351
540: RVON05 = 7.241 E5 05370351
541: RVON06 = 5.7777 E-3 05380351
542: RVCOMP = -RVON01 ** (RVON02 + RVON03 - RVON04) * (RVON05 / RVON06)05390351
543: RVCORR = -6.1635 E10 05400351
544: 40150 IF (RVCOMP + 6.1640 E10) 20150, 10150, 40151 05410351
545: 40151 IF (RVCOMP + 6.1630 E10) 10150, 10150, 20150 05420351
546: 30150 IVDELE = IVDELE + 1 05430351
547: WRITE (I02,80000) IVTNUM 05440351
548: IF (ICZERO) 10150, 0161, 20150 05450351
549: 10150 IVPASS = IVPASS + 1 05460351
550: WRITE (I02,80002) IVTNUM 05470351
551: GO TO 0161 05480351
552: 20150 IVFAIL = IVFAIL + 1 05490351
553: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 05500351
554: 0161 CONTINUE 05510351
555: C 05520351
556: C **** FCVS PROGRAM 351 - TEST 016 **** 05530351
557: C 05540351
558: C TEST 16 CONTINUES THE TESTING OF EXPRESSIONS USING ONLY 05550351
559: C REAL VARIABLE OPERANDS CONNECTED BY ARITHMETIC OPERATORS, AND 05560351
560: C USING PARENTHESES TO OVERRIDE PRECEDENCES. 05570351
561: C 05580351
562: IVTNUM = 16 05590351
563: IF (ICZERO) 30160, 0160, 30160 05600351
564: 0160 CONTINUE 05610351
565: RVON01 = 6.4003 E18 05620351
566: RVON02 = -3.7717 E-2 05630351
567: RVON03 = -5.1195 E3 05640351
568: RVON04 = 1.7521 E14 05650351
569: RVON05 = 1.0533 E3 05660351
570: RVON06 = -9.4207 E11 05670351
571: RVCOMP = ((RVON01 * (RVON02 / RVON03)) + RVON04) / RVON05 - 05680351
572: 1 (-RVON06) 05690351
573: RVCORR = -7.3096 E11 05700351
574: 40160 IF (RVCOMP + 7.3101 E11) 20160, 10160, 40161 05710351
575: 40161 IF (RVCOMP + 7.3091 E11) 10160, 10160, 20160 05720351
576: 30160 IVDELE = IVDELE + 1 05730351
577: WRITE (I02,80000) IVTNUM 05740351
578: IF (ICZERO) 10160, 0171, 20160 05750351
579: 10160 IVPASS = IVPASS + 1 05760351
580: WRITE (I02,80002) IVTNUM 05770351
581: GO TO 0171 05780351
582: 20160 IVFAIL = IVFAIL + 1 05790351
583: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 05800351
584: 0171 CONTINUE 05810351
585: C 05820351
586: C **** FCVS PROGRAM 351 - TEST 017 **** 05830351
587: C 05840351
588: C IN TEST 17, A REAL EXPRESSION INVOLVING ALL FIVE ARITHMETIC 05850351
589: C OPERATORS IS EVALUATED, BUT UNLIKE TESTS 11 THROUGH 16 WHERE 05860351
590: C ALL OPERANDS WERE REAL VARIABLES, THE OPERANDS IN TEST 17 ARE 05870351
591: C CLASSED AS REAL VARIABLES, REAL CONSTANTS, REAL ARRAY ELEMENTS, 05880351
592: C AND REAL FUNCTION REFERENCES. 05890351
593: C 05900351
594: IVTNUM = 17 05910351
595: IF (ICZERO) 30170, 0170, 30170 05920351
596: 0170 CONTINUE 05930351
597: RVON01 = 5.247 E10 05940351
598: IVON01 = 3 05950351
599: RVON02 = 1.07 E1 05960351
600: RVON03 = 5.23 05970351
601: RVON04 = 1.001 05980351
602: RVON05 = 1.573 05990351
603: RADN11(3) = 0.3947 E18 06000351
604: RVCOMP = (RVON01 + 3.491 E10) - (4 E17 + RADN11(IVON01)) / 06010351
605: 1 (RFOS01(RVON03,RVON04,RVON05) ** RVON02) 06020351
606: RVCORR = 7.1526 E10 06030351
607: 40170 IF (RVCOMP - 7.1521 E10) 20170, 10170, 40171 06040351
608: 40171 IF (RVCOMP - 7.1531 E10) 10170, 10170, 20170 06050351
609: 30170 IVDELE = IVDELE + 1 06060351
610: WRITE (I02,80000) IVTNUM 06070351
611: IF (ICZERO) 10170, 0181, 20170 06080351
612: 10170 IVPASS = IVPASS + 1 06090351
613: WRITE (I02,80002) IVTNUM 06100351
614: GO TO 0181 06110351
615: 20170 IVFAIL = IVFAIL + 1 06120351
616: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 06130351
617: 0181 CONTINUE 06140351
618: C 06150351
619: C **** FCVS PROGRAM 351 - TEST 018 **** 06160351
620: C 06170351
621: C TEST 18 IS IDENTICAL TO TEST 17 EXCEPT THAT PARENTHESES ARE 06180351
622: C USED TO CHANGE THE ORDER OF SUB-EXPRESSION EVALUATION. 06190351
623: C 06200351
624: IVTNUM = 18 06210351
625: IF (ICZERO) 30180, 0180, 30180 06220351
626: 0180 CONTINUE 06230351
627: RVON01 = 5.247 E10 06240351
628: IVON01 = 3 06250351
629: RVON02 = 1.07 E1 06260351
630: RVON03 = 5.23 06270351
631: RVON04 = 1.001 06280351
632: RVON05 = 1.573 06290351
633: RADN11(3) = 0.3947 E18 06300351
634: RVCOMP = ((RVON01 + 3.491 E10) - (4 E17 + RADN11(IVON01))) / 06310351
635: 1 RFOS01(RVON03,RVON04,RVON05) ** RVON02 06320351
636: RVCORR = -1.5854 E10 06330351
637: 40180 IF (RVCOMP + 1.5859 E10) 20180, 10180, 40181 06340351
638: 40181 IF (RVCOMP + 1.5849 E10) 10180, 10180, 20180 06350351
639: 30180 IVDELE = IVDELE + 1 06360351
640: WRITE (I02,80000) IVTNUM 06370351
641: IF (ICZERO) 10180, 0191, 20180 06380351
642: 10180 IVPASS = IVPASS + 1 06390351
643: WRITE (I02,80002) IVTNUM 06400351
644: GO TO 0191 06410351
645: 20180 IVFAIL = IVFAIL + 1 06420351
646: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 06430351
647: 0191 CONTINUE 06440351
648: C 06450351
649: C **** FCVS PROGRAM 351 - TEST 019 **** 06460351
650: C 06470351
651: C TEST 19 IS SIMILAR TO TESTS 17 AND 18 EXCEPT THAT THE 06480351
652: C FUNCTION REFERENCES IN TURN EVALUATE ARRAY ELEMENTS. 06490351
653: C 06500351
654: IVTNUM = 19 06510351
655: IF (ICZERO) 30190, 0190, 30190 06520351
656: 0190 CONTINUE 06530351
657: RVON01 = 5.026 E2 06540351
658: RVON02 = 1.386 E1 06550351
659: IVON03 = 2 06560351
660: RVON04 = 1.9999 06570351
661: RVON05 = 4.0127 06580351
662: RADN11(1) = 3.004 E18 06590351
663: RADN11(2) = 2.5705 E-1 06600351
664: RADN11(4) = 7.993 E16 06610351
665: RVCOMP = (RVON01 - 5.902 * RFOS02(INT(RVON04),INT(RVON05))) / 06620351
666: 1 RADN11(IVON03) + 1.5372 ** RVON02 06630351
667: RVCORR = 1.4797 E3 06640351
668: 40190 IF (RVCORR - 1.4792 E3) 20190, 10190, 40191 06650351
669: 40191 IF (RVCORR - 1.4802 E3) 10190, 10190, 20190 06660351
670: 30190 IVDELE = IVDELE + 1 06670351
671: WRITE (I02,80000) IVTNUM 06680351
672: IF (ICZERO) 10190, 0201, 20190 06690351
673: 10190 IVPASS = IVPASS + 1 06700351
674: WRITE (I02,80002) IVTNUM 06710351
675: GO TO 0201 06720351
676: 20190 IVFAIL = IVFAIL + 1 06730351
677: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 06740351
678: 0201 CONTINUE 06750351
679: C 06760351
680: C **** FCVS PROGRAM 351 - TEST 020 **** 06770351
681: C 06780351
682: C TEST 20 EVALUATES A REAL EXPRESSION WHICH CONTAINS FUNCTION 06790351
683: C REFERENCES NESTED TO THREE LEVELS. THE OUTER TWO LEVELS ARE 06800351
684: C STATEMENT FUNCTION REFERENCES AND THE INNERMOST LEVEL IS AN 06810351
685: C INTRINSIC FUNCTION REFERENCE. 06820351
686: C 06830351
687: IVTNUM = 20 06840351
688: IF (ICZERO) 30200, 0200, 30200 06850351
689: 0200 CONTINUE 06860351
690: RVON01 = 4.7117 E05 06870351
691: RVON02 = 5.987 06880351
692: RVON03 = 2.00000 E5 06890351
693: RVON04 = 1.0 E2 06900351
694: RVON05 = 1.5222 E9 06910351
695: IVON06 = 4 06920351
696: RVON07 = -3.2107 E14 06930351
697: RADN11(4) = 7.425 E14 06940351
698: RADN11(5) = -2.4015 E5 06950351
699: RVCOMP = (RVON01 + RFOS03(RVON02,RVON03,RVON04)) * RVON05 - 06960351
700: 1 RFOS04(IVON06,RVON07) 06970351
701: RVCORR = -6.4580 E15 06980351
702: 40200 IF (RVCOMP + 6.4585 E15) 20200, 10200, 40201 06990351
703: 40201 IF (RVCOMP + 6.4575 E15) 10200, 10200, 20200 07000351
704: 30200 IVDELE = IVDELE + 1 07010351
705: WRITE (I02,80000) IVTNUM 07020351
706: IF (ICZERO) 10200, 0211, 20200 07030351
707: 10200 IVPASS = IVPASS + 1 07040351
708: WRITE (I02,80002) IVTNUM 07050351
709: GO TO 0211 07060351
710: 20200 IVFAIL = IVFAIL + 1 07070351
711: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 07080351
712: 0211 CONTINUE 07090351
713: C 07100351
714: C TESTS 21 THROUGH 25 DEAL WITH MIXTURES OF REAL AND INTEGER 07110351
715: C EXPRESSIONS; I.E., THESE ARE TESTS WHICH EVALUATE EXPRESSIONS 07120351
716: C CONTAINING BOTH REAL SUB-EXPRESSIONS AND INTEGER SUB-EXPRESSIONS 07130351
717: C AND THEN ASSIGN THE RESULTS TO EITHER AN INTEGER OR A REAL 07140351
718: C VARIABLE. 07150351
719: C 07160351
720: C 07170351
721: C **** FCVS PROGRAM 351 - TEST 021 **** 07180351
722: C 07190351
723: C TEST 21 USES ALL FIVE ARITHMETIC OPERATORS AND A COMBINATION 07200351
724: C OF INTEGER AND REAL VARIABLES. NO PARENTHESES ARE USED. FINAL 07210351
725: C ASSIGNMENT IS TO AN INTEGER VARIABLE. 07220351
726: C 07230351
727: IVTNUM = 21 07240351
728: IF (ICZERO) 30210, 0210, 30210 07250351
729: 0210 CONTINUE 07260351
730: IVON01 = 17 07270351
731: IVON02 = 3 07280351
732: RVON03 = 5.4732 E+2 07290351
733: RVON04 = 1.523 07300351
734: IVON05 = 798 07310351
735: IVCOMP = IVON01 ** IVON02 + RVON03 - RVON04 * IVON05 / IVON01 07320351
736: IVCORR = 5388 07330351
737: 40210 IF (IVCOMP - 5388) 20210, 10210, 20210 07340351
738: 30210 IVDELE = IVDELE + 1 07350351
739: WRITE (I02,80000) IVTNUM 07360351
740: IF (ICZERO) 10210, 0221, 20210 07370351
741: 10210 IVPASS = IVPASS + 1 07380351
742: WRITE (I02,80002) IVTNUM 07390351
743: GO TO 0221 07400351
744: 20210 IVFAIL = IVFAIL + 1 07410351
745: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07420351
746: 0221 CONTINUE 07430351
747: C 07440351
748: C **** FCVS PROGRAM 351 - TEST 022 **** 07450351
749: C 07460351
750: C TEST 22 IS LIKE TEST 21 EXCEPT THAT PARENTHESES ARE USED, 07470351
751: C AS IS A UNARY OPERATOR. FINAL ASSIGNMENT IS TO A REAL VARIABLE. 07480351
752: C 07490351
753: IVTNUM = 22 07500351
754: IF (ICZERO) 30220, 0220, 30220 07510351
755: 0220 CONTINUE 07520351
756: IVON01 = 798 07530351
757: IVON02 = 17 07540351
758: RVON03 = 9.34578 E-2 07550351
759: IVON04 = 15985 07560351
760: RVON05 = 0.72357 07570351
761: RVCOMP = -(IVON01 / IVON02) + (RVON03 * IVON04 ** RVON05) 07580351
762: RVCORR = 5.68717 E1 07590351
763: 40220 IF (RVCOMP - 5.6866 E1) 20220, 10220, 40221 07600351
764: 40221 IF (RVCOMP - 5.6876 E1) 10220, 10220, 20220 07610351
765: 30220 IVDELE = IVDELE + 1 07620351
766: WRITE (I02,80000) IVTNUM 07630351
767: IF (ICZERO) 10220, 0231, 20220 07640351
768: 10220 IVPASS = IVPASS + 1 07650351
769: WRITE (I02,80002) IVTNUM 07660351
770: GO TO 0231 07670351
771: 20220 IVFAIL = IVFAIL + 1 07680351
772: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 07690351
773: 0231 CONTINUE 07700351
774: C 07710351
775: C **** FCVS PROGRAM 351 - TEST 023 **** 07720351
776: C 07730351
777: C TEST 23 IS SIMILAR TO TEST 22 EXCEPT THAT IT EMPLOYS NESTED 07740351
778: C PARENTHESES. 07750351
779: C 07760351
780: IVTNUM = 23 07770351
781: IF (ICZERO) 30230, 0230, 30230 07780351
782: 0230 CONTINUE 07790351
783: IVON01 = 2 07800351
784: IVON02 = 183 07810351
785: RVON03 = 58.7025 07820351
786: IVON04 = 197 07830351
787: IVON05 = 87 07840351
788: RVON06 = 2.4611 E15 07850351
789: RVCOMP = IVON01 ** (-(IVON02 + (RVON03 - IVON04)) - 07860351
790: 1 (IVON05 / RVON06)) 07870351
791: RVCORR = 3.4931 E-14 07880351
792: 40230 IF (RVCOMP - 3.4926 E-14) 20230, 10230, 40231 07890351
793: 40231 IF (RVCOMP - 3.4936 E-14) 10230, 10230, 20230 07900351
794: 30230 IVDELE = IVDELE + 1 07910351
795: WRITE (I02,80000) IVTNUM 07920351
796: IF (ICZERO) 10230, 0241, 20230 07930351
797: 10230 IVPASS = IVPASS + 1 07940351
798: WRITE (I02,80002) IVTNUM 07950351
799: GO TO 0241 07960351
800: 20230 IVFAIL = IVFAIL + 1 07970351
801: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 07980351
802: 0241 CONTINUE 07990351
803: C 08000351
804: C **** FCVS PROGRAM 351 - TEST 024 **** 08010351
805: C 08020351
806: C TEST 24 IS IDENTICAL TO TEST 23 EXCEPT THAT THE FINAL 08030351
807: C ASSIGNMENT IS TO AN INTEGER VARIABLE INSTEAD OF A REAL VARIABLE. 08040351
808: C 08050351
809: IVTNUM = 24 08060351
810: IF (ICZERO) 30240, 0240, 30240 08070351
811: 0240 CONTINUE 08080351
812: IVON01 = 2 08090351
813: IVON02 = 183 08100351
814: RVON03 = 58.7025 08110351
815: IVON04 = 197 08120351
816: IVON05 = 87 08130351
817: RVON06 = 2.4611 E15 08140351
818: IVCOMP = IVON01 ** (-(IVON02 + (RVON03 - IVON04)) - 08150351
819: 1 (IVON05 / RVON06)) 08160351
820: IVCORR = 0 08170351
821: 40240 IF (IVCOMP) 20240, 10240, 20240 08180351
822: 30240 IVDELE = IVDELE + 1 08190351
823: WRITE (I02,80000) IVTNUM 08200351
824: IF (ICZERO) 10240, 0251, 20240 08210351
825: 10240 IVPASS = IVPASS + 1 08220351
826: WRITE (I02,80002) IVTNUM 08230351
827: GO TO 0251 08240351
828: 20240 IVFAIL = IVFAIL + 1 08250351
829: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08260351
830: 0251 CONTINUE 08270351
831: C 08280351
832: C **** FCVS PROGRAM 351 - TEST 025 **** 08290351
833: C 08300351
834: C TEST 25 IS SIMILAR TO TESTS 9 AND 19 EXCEPT THAT A MIXTURE 08310351
835: C OF REAL AND INTEGER OPERANDS ARE USED, AND FINAL ASSIGNMENT IS 08320351
836: C TO A REAL VARIABLE. 08330351
837: C 08340351
838: IVTNUM = 25 08350351
839: IF (ICZERO) 30250, 0250, 30250 08360351
840: 0250 CONTINUE 08370351
841: RVON01 = 4.7117 08380351
842: RVON02 = 5.998 08390351
843: IVON03 = 2 08400351
844: RVON04 = 1E2 08410351
845: IVON05 = 20 08420351
846: IVON06 = 4 08430351
847: IVON07 = -3 08440351
848: RADN11(4) = 7.425 08450351
849: RADN11(5) = -2.4015 08460351
850: RVCOMP = (RVON01 + RFOS06(AINT(RVON02),IVON03,RVON04)) * IVON05 - 08470351
851: 1 IFOS05(IVON06,IVON07) 08480351
852: RVCORR = 84.234 08490351
853: 40250 IF (RVCOMP - 84.229) 20250, 10250, 40251 08500351
854: 40251 IF (RVCOMP - 84.239) 10250, 10250, 20250 08510351
855: 30250 IVDELE = IVDELE + 1 08520351
856: WRITE (I02,80000) IVTNUM 08530351
857: IF (ICZERO) 10250, 0261, 20250 08540351
858: 10250 IVPASS = IVPASS + 1 08550351
859: WRITE (I02,80002) IVTNUM 08560351
860: GO TO 0261 08570351
861: 20250 IVFAIL = IVFAIL + 1 08580351
862: WRITE (I02,80012) IVTNUM, RVCOMP, RVCORR 08590351
863: 0261 CONTINUE 08600351
864: C 08610351
865: C 08620351
866: C WRITE OUT TEST SUMMARY 08630351
867: C 08640351
868: WRITE (I02,90004) 08650351
869: WRITE (I02,90014) 08660351
870: WRITE (I02,90004) 08670351
871: WRITE (I02,90000) 08680351
872: WRITE (I02,90004) 08690351
873: WRITE (I02,90020) IVFAIL 08700351
874: WRITE (I02,90022) IVPASS 08710351
875: WRITE (I02,90024) IVDELE 08720351
876: STOP 08730351
877: 90001 FORMAT (1H ,24X,5HFM351) 08740351
878: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM351) 08750351
879: C 08760351
880: C FORMATS FOR TEST DETAIL LINES 08770351
881: C 08780351
882: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 08790351
883: 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 08800351
884: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 08810351
885: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 08820351
886: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) 08830351
887: C 08840351
888: C FORMAT STATEMENTS FOR PAGE HEADERS 08850351
889: C 08860351
890: 90002 FORMAT (1H1) 08870351
891: 90004 FORMAT (1H ) 08880351
892: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 08890351
893: 90008 FORMAT (1H ,21X,11HVERSION 1.0) 08900351
894: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 08910351
895: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 08920351
896: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 08930351
897: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 08940351
898: C 08950351
899: C FORMAT STATEMENTS FOR RUN SUMMARY 08960351
900: C 08970351
901: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 08980351
902: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 08990351
903: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) 09000351
904: END 09010351
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.