|
|
1.1 root 1: C***********************************************************************00010376
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***** FORTRAN 77 00020376
6: C***** FM376 00030376
7: C***** XATAN - (195) 00040376
8: C***** 00050376
9: C***********************************************************************00060376
10: C***** GENERAL PURPOSE SUBSET REF 00070376
11: C***** TEST INTRINSIC FUNCTION ATAN, ATAN2 15.3 00080376
12: C***** INTRINSIC FUNCTION SQRT ASSUMED WORKING TABLE 5 00090376
13: C***** 00100376
14: CBB** ********************** BBCCOMNT **********************************00110376
15: C**** 00120376
16: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00130376
17: C**** VERSION 2.0 00140376
18: C**** 00150376
19: C**** 00160376
20: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00170376
21: C**** GENERAL SERVICES ADMINISTRATION 00180376
22: C**** FEDERAL SOFTWARE TESTING CENTER 00190376
23: C**** 5203 LEESBURG PIKE, SUITE 1100 00200376
24: C**** FALLS CHURCH, VA. 22041 00210376
25: C**** 00220376
26: C**** (703) 756-6153 00230376
27: C**** 00240376
28: CBE** ********************** BBCCOMNT **********************************00250376
29: CBB** ********************** BBCINITA **********************************00260376
30: C**** SPECIFICATION STATEMENTS 00270376
31: C**** 00280376
32: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00290376
33: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00300376
34: CBE** ********************** BBCINITA **********************************00310376
35: CBB** ********************** BBCINITB **********************************00320376
36: C**** INITIALIZE SECTION 00330376
37: DATA ZVERS, ZVERSD, ZDATE 00340376
38: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00350376
39: DATA ZCOMPL, ZNAME, ZTAPE 00360376
40: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00370376
41: DATA ZPROJ, ZTAPED, ZPROG 00380376
42: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00390376
43: DATA REMRKS /' '/ 00400376
44: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00410376
45: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00420376
46: C**** 00430376
47: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00440376
48: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00450376
49: CZ03 ZPROG = 'PROGRAM NAME' 00460376
50: ZDATE = '07-Nov-85 ' *RP
51: ZCOMPL = 'CCI 5.2 ' *RP
52: ZPROJ = 'TC-85- -410' *RP
53: ZNAME = ' ' *RP
54: ZTAPE = ' ' *RP
55: ZTAPED = '850703 ' *RP
56: C 00530376
57: IVPASS = 0 00540376
58: IVFAIL = 0 00550376
59: IVDELE = 0 00560376
60: IVINSP = 0 00570376
61: IVTOTL = 0 00580376
62: IVTOTN = 0 00590376
63: ICZERO = 0 00600376
64: C 00610376
65: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00620376
66: I01 = 05 00630376
67: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00640376
68: I02 = 06 00650376
69: C 00660376
70: I01 = 5 00670376
71: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00680376
72: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00690376
73: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00700376
74: C 00710376
75: I02 = 6 00720376
76: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00730376
77: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00740376
78: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00750376
79: C 00760376
80: CBE** ********************** BBCINITB **********************************00770376
81: NUVI = I02 00780376
82: IVTOTL = 13 00790376
83: ZPROG = 'FM376' 00800376
84: CBB** ********************** BBCHED0A **********************************00810376
85: C**** 00820376
86: C**** WRITE REPORT TITLE 00830376
87: C**** 00840376
88: WRITE (I02, 90002) 00850376
89: WRITE (I02, 90006) 00860376
90: WRITE (I02, 90007) 00870376
91: WRITE (I02, 90008) ZVERS, ZVERSD 00880376
92: WRITE (I02, 90009) ZPROG, ZPROG 00890376
93: WRITE (I02, 90010) ZDATE, ZCOMPL 00900376
94: CBE** ********************** BBCHED0A **********************************00910376
95: C***** 00920376
96: C***** HEADER FOR SEGMENT 195 00930376
97: WRITE(NUVI,19500) 00940376
98: 19500 FORMAT(1H , / 35H XATAN - (195) INTRINSIC FUNCTIONS// 00950376
99: 1 28H ATAN, ATAN2 (ARCTANGENT)// 00960376
100: 2 20H SUBSET REF. - 15.3) 00970376
101: CBB** ********************** BBCHED0B **********************************00980376
102: C**** WRITE DETAIL REPORT HEADERS 00990376
103: C**** 01000376
104: WRITE (I02,90004) 01010376
105: WRITE (I02,90004) 01020376
106: WRITE (I02,90013) 01030376
107: WRITE (I02,90014) 01040376
108: WRITE (I02,90015) IVTOTL 01050376
109: CBE** ********************** BBCHED0B **********************************01060376
110: C***** 01070376
111: WRITE(NUVI,19501) 01080376
112: C***** 01090376
113: 19501 FORMAT(/ 8X, 12HTEST OF ATAN) 01100376
114: C***** 01110376
115: CT001* TEST 1 TEST LARGE VALUES TO TEST SINGULARITY 01120376
116: IVTNUM = 1 01130376
117: BVS = 500.0 01140376
118: AVS = ATAN(BVS) 01150376
119: IF (AVS - 0.15687E+01) 20010, 10010, 40010 01160376
120: 40010 IF (AVS - 0.15689E+01) 10010, 10010, 20010 01170376
121: 10010 IVPASS = IVPASS + 1 01180376
122: WRITE (NUVI, 80002) IVTNUM 01190376
123: GO TO 0011 01200376
124: 20010 IVFAIL = IVFAIL + 1 01210376
125: RVCORR = 1.56879632946156 01220376
126: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01230376
127: 0011 CONTINUE 01240376
128: CT002* TEST 2 TEST LARGE VALUES TO TEST SINGULARITY 01250376
129: IVTNUM = 2 01260376
130: AVS = ATAN(-1000.0) 01270376
131: IF (AVS + 0.15699E+01) 20020, 10020, 40020 01280376
132: 40020 IF (AVS + 0.15697E+01) 10020, 10020, 20020 01290376
133: 10020 IVPASS = IVPASS + 1 01300376
134: WRITE (NUVI, 80002) IVTNUM 01310376
135: GO TO 0021 01320376
136: 20020 IVFAIL = IVFAIL + 1 01330376
137: RVCORR = -1.56979632712823 01340376
138: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01350376
139: 0021 CONTINUE 01360376
140: CT003* TEST 3 AN EXPRESSION PRESENTED TO ATAN 01370376
141: IVTNUM = 3 01380376
142: AVS = ATAN(100.0 / 100.0) 01390376
143: IF (AVS - 0.78535E+00) 20030, 10030, 40030 01400376
144: 40030 IF (AVS - 0.78544E+00) 10030, 10030, 20030 01410376
145: 10030 IVPASS = IVPASS + 1 01420376
146: WRITE (NUVI, 80002) IVTNUM 01430376
147: GO TO 0031 01440376
148: 20030 IVFAIL = IVFAIL + 1 01450376
149: RVCORR = 0.78539816339745 01460376
150: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01470376
151: 0031 CONTINUE 01480376
152: CT004* TEST 4 A VARIABLE PRESENTED TO ATAN 01490376
153: IVTNUM = 4 01500376
154: BVS = -SQRT(3.0) 01510376
155: AVS = ATAN(BVS) 01520376
156: IF (AVS + 0.10473E+01) 20040, 10040, 40040 01530376
157: 40040 IF (AVS + 0.10471E+01) 10040, 10040, 20040 01540376
158: 10040 IVPASS = IVPASS + 1 01550376
159: WRITE (NUVI, 80002) IVTNUM 01560376
160: GO TO 0041 01570376
161: 20040 IVFAIL = IVFAIL + 1 01580376
162: RVCORR = -1.04719755119660 01590376
163: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01600376
164: 0041 CONTINUE 01610376
165: CT005* TEST 5 AN ARGUMENT OF LOW MAGNITUDE 01620376
166: IVTNUM = 5 01630376
167: AVS = ATAN(1.0E-16) 01640376
168: IF (AVS - 0.99995E-16) 20050, 10050, 40050 01650376
169: 40050 IF (AVS - 0.10001E-15) 10050, 10050, 20050 01660376
170: 10050 IVPASS = IVPASS + 1 01670376
171: WRITE (NUVI, 80002) IVTNUM 01680376
172: GO TO 0051 01690376
173: 20050 IVFAIL = IVFAIL + 1 01700376
174: RVCORR = 1.00000000000000E-16 01710376
175: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01720376
176: 0051 CONTINUE 01730376
177: CT006* TEST 6 AN ARGUMENT OF HIGH MAGNITUDE 01740376
178: IVTNUM = 6 01750376
179: AVS = ATAN(-2.0E+34) 01760376
180: IF (AVS + 0.15709E+01) 20060, 10060, 40060 01770376
181: 40060 IF (AVS + 0.15707E+01) 10060, 10060, 20060 01780376
182: 10060 IVPASS = IVPASS + 1 01790376
183: WRITE (NUVI, 80002) IVTNUM 01800376
184: GO TO 0061 01810376
185: 20060 IVFAIL = IVFAIL + 1 01820376
186: RVCORR = -1.57079632679490 01830376
187: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 01840376
188: 0061 CONTINUE 01850376
189: C***** 01860376
190: WRITE(NUVI,19508) 01870376
191: 19508 FORMAT(/ 08X, 13HTEST OF ATAN2) 01880376
192: CT007* TEST 7 TEST ATAN2 FOR (0,POSITIVE) 01890376
193: IVTNUM = 7 01900376
194: BVS = 10.0 / 10.0 01910376
195: CVS = 0.0 01920376
196: AVS = ATAN2(CVS, BVS) 01930376
197: IF (AVS + 0.50000E-04) 20070, 10070, 40070 01940376
198: 40070 IF (AVS - 0.50000E-04) 10070, 10070, 20070 01950376
199: 10070 IVPASS = IVPASS + 1 01960376
200: WRITE (NUVI, 80002) IVTNUM 01970376
201: GO TO 0071 01980376
202: 20070 IVFAIL = IVFAIL + 1 01990376
203: RVCORR = 0.00000000000000 02000376
204: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02010376
205: 0071 CONTINUE 02020376
206: CT008* TEST 8 TEST ATAN2 FOR (0, NEGATIVE) 02030376
207: IVTNUM = 8 02040376
208: BVS = 0.0 02050376
209: CVS = -25.0 / 2.0 02060376
210: AVS = ATAN2(BVS, CVS) 02070376
211: IF (AVS - 0.31414E+01) 20080, 10080, 40080 02080376
212: 40080 IF (AVS - 0.31418E+01) 10080, 10080, 20080 02090376
213: 10080 IVPASS = IVPASS + 1 02100376
214: WRITE (NUVI, 80002) IVTNUM 02110376
215: GO TO 0081 02120376
216: 20080 IVFAIL = IVFAIL + 1 02130376
217: RVCORR = 3.14159265358979 02140376
218: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02150376
219: 0081 CONTINUE 02160376
220: CT009* TEST 9 AN EXPRESSION PRESENTED TO ATAN2 02170376
221: IVTNUM = 9 02180376
222: BVS = 1.0 02190376
223: CVS = BVS + BVS 02200376
224: AVS = ATAN2(BVS * 2.0, CVS) 02210376
225: IF (AVS - 0.78535E+00) 20090, 10090, 40090 02220376
226: 40090 IF (AVS - 0.78544E+00) 10090, 10090, 20090 02230376
227: 10090 IVPASS = IVPASS + 1 02240376
228: WRITE (NUVI, 80002) IVTNUM 02250376
229: GO TO 0091 02260376
230: 20090 IVFAIL = IVFAIL + 1 02270376
231: RVCORR = 0.78539816339745 02280376
232: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02290376
233: 0091 CONTINUE 02300376
234: CT010* TEST 10 TEST ATAN2(X,Y) FOR X NEAR ZERO 02310376
235: IVTNUM = 10 02320376
236: BVS = ASIN(0.6) 02330376
237: CVS = ACOS(0.8) 02340376
238: AVS = ATAN2(BVS, CVS) 02350376
239: IF (AVS - 0.78535E+00) 20100, 10100, 40100 02360376
240: 40100 IF (AVS - 0.78544E+00) 10100, 10100, 20100 02370376
241: 10100 IVPASS = IVPASS + 1 02380376
242: WRITE (NUVI, 80002) IVTNUM 02390376
243: GO TO 0101 02400376
244: 20100 IVFAIL = IVFAIL + 1 02410376
245: RVCORR = 0.78539816339745 02420376
246: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02430376
247: 0101 CONTINUE 02440376
248: CT011* TEST 11 WHERE ATAN2(X,Y) IS ZERO FOR Y 02450376
249: IVTNUM = 11 02460376
250: AVS = ATAN2(1.2, 0.0) 02470376
251: IF (AVS - 0.15707E+01) 20110, 10110, 40110 02480376
252: 40110 IF (AVS - 0.15709E+01) 10110, 10110, 20110 02490376
253: 10110 IVPASS = IVPASS + 1 02500376
254: WRITE (NUVI, 80002) IVTNUM 02510376
255: GO TO 0111 02520376
256: 20110 IVFAIL = IVFAIL + 1 02530376
257: RVCORR = 1.57079632679490 02540376
258: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02550376
259: 0111 CONTINUE 02560376
260: CT012* TEST 12 WHERE ATAN2(X,Y) IS ZERO FOR Y 02570376
261: IVTNUM = 12 02580376
262: BVS = -2.5 02590376
263: CVS = 0.0 02600376
264: AVS = ATAN2(BVS, CVS) 02610376
265: IF (AVS + 0.15709E+01) 20120, 10120, 40120 02620376
266: 40120 IF (AVS + 0.15707E+01) 10120, 10120, 20120 02630376
267: 10120 IVPASS = IVPASS + 1 02640376
268: WRITE (NUVI, 80002) IVTNUM 02650376
269: GO TO 0121 02660376
270: 20120 IVFAIL = IVFAIL + 1 02670376
271: RVCORR = -1.57079632679490 02680376
272: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02690376
273: 0121 CONTINUE 02700376
274: CT013* TEST 13 COMPARISON OF ATAN WITH ATAN2 02710376
275: IVTNUM = 13 02720376
276: AVS = (ATAN(SQRT(3.0) / 3.0) * 2.0) 02730376
277: 1 + ATAN2(-SQRT(3.0) / 2.0, 1.0 / 2.0) 02740376
278: IF (AVS + 0.50000E-04) 20130, 10130, 40130 02750376
279: 40130 IF (AVS - 0.50000E-04) 10130, 10130, 20130 02760376
280: 10130 IVPASS = IVPASS + 1 02770376
281: WRITE (NUVI, 80002) IVTNUM 02780376
282: GO TO 0131 02790376
283: 20130 IVFAIL = IVFAIL + 1 02800376
284: RVCORR = 0.00000000000000 02810376
285: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02820376
286: 0131 CONTINUE 02830376
287: C***** 02840376
288: CBB** ********************** BBCSUM0 **********************************02850376
289: C**** WRITE OUT TEST SUMMARY 02860376
290: C**** 02870376
291: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02880376
292: WRITE (I02, 90004) 02890376
293: WRITE (I02, 90014) 02900376
294: WRITE (I02, 90004) 02910376
295: WRITE (I02, 90020) IVPASS 02920376
296: WRITE (I02, 90022) IVFAIL 02930376
297: WRITE (I02, 90024) IVDELE 02940376
298: WRITE (I02, 90026) IVINSP 02950376
299: WRITE (I02, 90028) IVTOTN, IVTOTL 02960376
300: CBE** ********************** BBCSUM0 **********************************02970376
301: CBB** ********************** BBCFOOT0 **********************************02980376
302: C**** WRITE OUT REPORT FOOTINGS 02990376
303: C**** 03000376
304: WRITE (I02,90016) ZPROG, ZPROG 03010376
305: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 03020376
306: WRITE (I02,90019) 03030376
307: CBE** ********************** BBCFOOT0 **********************************03040376
308: CBB** ********************** BBCFMT0A **********************************03050376
309: C**** FORMATS FOR TEST DETAIL LINES 03060376
310: C**** 03070376
311: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 03080376
312: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 03090376
313: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 03100376
314: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 03110376
315: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 03120376
316: 1I6,/,1H ,15X,10HCORRECT= ,I6) 03130376
317: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03140376
318: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 03150376
319: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03160376
320: 1A21,/,1H ,16X,10HCORRECT= ,A21) 03170376
321: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 03180376
322: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 03190376
323: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 03200376
324: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 03210376
325: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 03220376
326: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 03230376
327: 80050 FORMAT (1H ,48X,A31) 03240376
328: CBE** ********************** BBCFMT0A **********************************03250376
329: CBB** ********************** BBCFMT0B **********************************03260376
330: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03270376
331: C**** 03280376
332: 90002 FORMAT (1H1) 03290376
333: 90004 FORMAT (1H ) 03300376
334: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03310376
335: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03320376
336: 90008 FORMAT (1H ,21X,A13,A17) 03330376
337: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03340376
338: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03350376
339: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03360376
340: 1 7X,7HREMARKS,24X) 03370376
341: 90014 FORMAT (1H ,46H----------------------------------------------, 03380376
342: 1 33H---------------------------------) 03390376
343: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03400376
344: C**** 03410376
345: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03420376
346: C**** 03430376
347: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03440376
348: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03450376
349: 1 A13) 03460376
350: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03470376
351: C**** 03480376
352: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03490376
353: C**** 03500376
354: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03510376
355: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03520376
356: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03530376
357: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03540376
358: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03550376
359: CBE** ********************** BBCFMT0B **********************************03560376
360: C***** 03570376
361: C***** END OF TEST SEGMENT 195 03580376
362: STOP 03590376
363: END 03600376
364: 03610376
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.