|
|
1.1 root 1: C***********************************************************************00010815
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 00020815
6: C***** FM815 00030815
7: C***** YCEXP - (180) 00040815
8: C***** 00050815
9: C***********************************************************************00060815
10: C***** GENERAL PURPOSE ANS REF 00070815
11: C***** TEST INTRINSIC FUNCTION CEXP 15.3 00080815
12: C***** INTRINSIC FUNCTIONS AIMAG AND CABS ASSUMED WORKING TABLE 5 00090815
13: C***** 00100815
14: CBB** ********************** BBCCOMNT **********************************00110815
15: C**** 00120815
16: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00130815
17: C**** VERSION 2.0 00140815
18: C**** 00150815
19: C**** 00160815
20: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00170815
21: C**** GENERAL SERVICES ADMINISTRATION 00180815
22: C**** FEDERAL SOFTWARE TESTING CENTER 00190815
23: C**** 5203 LEESBURG PIKE, SUITE 1100 00200815
24: C**** FALLS CHURCH, VA. 22041 00210815
25: C**** 00220815
26: C**** (703) 756-6153 00230815
27: C**** 00240815
28: CBE** ********************** BBCCOMNT **********************************00250815
29: C***** 00260815
30: C***** S P E C I F I C A T I O N S SEGMENT 180 00270815
31: COMPLEX AVC, BVC, CVC, ZVCORR 00280815
32: REAL R2E(2) 00290815
33: EQUIVALENCE (AVC, R2E) 00300815
34: C***** 00310815
35: CBB** ********************** BBCINITA **********************************00320815
36: C**** SPECIFICATION STATEMENTS 00330815
37: C**** 00340815
38: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00350815
39: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00360815
40: CBE** ********************** BBCINITA **********************************00370815
41: CBB** ********************** BBCINITB **********************************00380815
42: C**** INITIALIZE SECTION 00390815
43: DATA ZVERS, ZVERSD, ZDATE 00400815
44: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00410815
45: DATA ZCOMPL, ZNAME, ZTAPE 00420815
46: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00430815
47: DATA ZPROJ, ZTAPED, ZPROG 00440815
48: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00450815
49: DATA REMRKS /' '/ 00460815
50: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00470815
51: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00480815
52: C**** 00490815
53: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00500815
54: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00510815
55: CZ03 ZPROG = 'PROGRAM NAME' 00520815
56: ZDATE = '07-Nov-85 ' *RP
57: ZCOMPL = 'CCI 5.2 ' *RP
58: ZPROJ = 'TC-85- -410' *RP
59: ZNAME = ' ' *RP
60: ZTAPE = ' ' *RP
61: ZTAPED = '850703 ' *RP
62: C 00590815
63: IVPASS = 0 00600815
64: IVFAIL = 0 00610815
65: IVDELE = 0 00620815
66: IVINSP = 0 00630815
67: IVTOTL = 0 00640815
68: IVTOTN = 0 00650815
69: ICZERO = 0 00660815
70: C 00670815
71: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00680815
72: I01 = 05 00690815
73: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00700815
74: I02 = 06 00710815
75: C 00720815
76: I01 = 5 00730815
77: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00740815
78: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00750815
79: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00760815
80: C 00770815
81: I02 = 6 00780815
82: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00790815
83: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00800815
84: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00810815
85: C 00820815
86: CBE** ********************** BBCINITB **********************************00830815
87: NUVI = I02 00840815
88: IVTOTL = 9 00850815
89: ZPROG = 'FM815' 00860815
90: CBB** ********************** BBCHED0A **********************************00870815
91: C**** 00880815
92: C**** WRITE REPORT TITLE 00890815
93: C**** 00900815
94: WRITE (I02, 90002) 00910815
95: WRITE (I02, 90006) 00920815
96: WRITE (I02, 90007) 00930815
97: WRITE (I02, 90008) ZVERS, ZVERSD 00940815
98: WRITE (I02, 90009) ZPROG, ZPROG 00950815
99: WRITE (I02, 90010) ZDATE, ZCOMPL 00960815
100: CBE** ********************** BBCHED0A **********************************00970815
101: C***** 00980815
102: C***** HEADER FOR SEGMENT 180 00990815
103: WRITE(NUVI,18000) 01000815
104: 18000 FORMAT(1H , / 35H YCEXP - (180) INTRINSIC FUNCTIONS// 01010815
105: 1 28H CEXP (COMPLEX EXPONENTIAL)// 01020815
106: 2 17H ANS REF. - 15.3) 01030815
107: CBB** ********************** BBCHED0B **********************************01040815
108: C**** WRITE DETAIL REPORT HEADERS 01050815
109: C**** 01060815
110: WRITE (I02,90004) 01070815
111: WRITE (I02,90004) 01080815
112: WRITE (I02,90013) 01090815
113: WRITE (I02,90014) 01100815
114: WRITE (I02,90015) IVTOTL 01110815
115: CBE** ********************** BBCHED0B **********************************01120815
116: C***** 01130815
117: CT001* TEST 1 ZERO 01140815
118: IVTNUM = 1 01150815
119: BVC = (0.0, 0.0) 01160815
120: AVC = CEXP(BVC) 01170815
121: IF (R2E(1) - 0.99995E+00) 20010, 40012, 40011 01180815
122: 40011 IF (R2E(1) - 0.10001E+01) 40012, 40012, 20010 01190815
123: 40012 IF (R2E(2) + 0.50000E-04) 20010, 10010, 40010 01200815
124: 40010 IF (R2E(2) - 0.50000E-04) 10010, 10010, 20010 01210815
125: 10010 IVPASS = IVPASS + 1 01220815
126: WRITE (NUVI, 80002) IVTNUM 01230815
127: GO TO 0011 01240815
128: 20010 IVFAIL = IVFAIL + 1 01250815
129: ZVCORR = (1.0000000000000, 0.00000000000000) 01260815
130: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 01270815
131: 0011 CONTINUE 01280815
132: CT002* TEST 2 PURELY REAL NUMBERS -- RESULT AGREES WITH EXP 01290815
133: IVTNUM = 2 01300815
134: AVC = CEXP((1.0, 0.0)) 01310815
135: IF (R2E(1) - 0.27181E+01) 20020, 40022, 40021 01320815
136: 40021 IF (R2E(1) - 0.27185E+01) 40022, 40022, 20020 01330815
137: 40022 IF (R2E(2) + 0.50000E-04) 20020, 10020, 40020 01340815
138: 40020 IF (R2E(2) - 0.50000E-04) 10020, 10020, 20020 01350815
139: 10020 IVPASS = IVPASS + 1 01360815
140: WRITE (NUVI, 80002) IVTNUM 01370815
141: GO TO 0021 01380815
142: 20020 IVFAIL = IVFAIL + 1 01390815
143: ZVCORR = (2.7182818284590, 0.00000000000000) 01400815
144: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 01410815
145: 0021 CONTINUE 01420815
146: CT003* TEST 3 PURELY REAL NUMBERS -- RESULT AGREES WITH EXP 01430815
147: IVTNUM = 3 01440815
148: BVC = (-3.0, 0.0) 01450815
149: AVC = CEXP(BVC) 01460815
150: IF (R2E(1) - 0.49784E-01) 20030, 40032, 40031 01470815
151: 40031 IF (R2E(1) - 0.49790E-01) 40032, 40032, 20030 01480815
152: 40032 IF (R2E(2) + 0.50000E-04) 20030, 10030, 40030 01490815
153: 40030 IF (R2E(2) - 0.50000E-04) 10030, 10030, 20030 01500815
154: 10030 IVPASS = IVPASS + 1 01510815
155: WRITE (NUVI, 80002) IVTNUM 01520815
156: GO TO 0031 01530815
157: 20030 IVFAIL = IVFAIL + 1 01540815
158: ZVCORR = (0.04978706836785, 0.00000000000000) 01550815
159: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 01560815
160: 0031 CONTINUE 01570815
161: C***** TESTS 4 AND 5 - PURELY IMAGINARY NUMBERS--RESULT LIES 01580815
162: C***** ON UNIT CIRCLE 01590815
163: CT004* TEST 4 (0,PI) 01600815
164: IVTNUM = 4 01610815
165: BVC = (0.0, 3.1415926536) 01620815
166: AVC = CEXP(BVC * (1.0, 0.0)) 01630815
167: IF (R2E(1) + 0.10001E+01) 20040, 40042, 40041 01640815
168: 40041 IF (R2E(1) + 0.99995E+00) 40042, 40042, 20040 01650815
169: 40042 IF (R2E(2) + 0.50000E-04) 20040, 10040, 40040 01660815
170: 40040 IF (R2E(2) - 0.50000E-04) 10040, 10040, 20040 01670815
171: 10040 IVPASS = IVPASS + 1 01680815
172: WRITE (NUVI, 80002) IVTNUM 01690815
173: GO TO 0041 01700815
174: 20040 IVFAIL = IVFAIL + 1 01710815
175: ZVCORR = (-1.0000000000000, 0.00000000000000) 01720815
176: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 01730815
177: 0041 CONTINUE 01740815
178: CT005* TEST 5 (0,-PI/2) 01750815
179: IVTNUM = 5 01760815
180: BVC = (0.0, -3.1415926536) 01770815
181: AVC = CEXP(BVC / (2.0, 0.0)) 01780815
182: IF (R2E(1) + 0.50000E-04) 20050, 40052, 40051 01790815
183: 40051 IF (R2E(1) - 0.50000E-04) 40052, 40052, 20050 01800815
184: 40052 IF (R2E(2) + 0.10001E+01) 20050, 10050, 40050 01810815
185: 40050 IF (R2E(2) + 0.99995E+00) 10050, 10050, 20050 01820815
186: 10050 IVPASS = IVPASS + 1 01830815
187: WRITE (NUVI, 80002) IVTNUM 01840815
188: GO TO 0051 01850815
189: 20050 IVFAIL = IVFAIL + 1 01860815
190: ZVCORR = (0.00000000000000, -1.0000000000000) 01870815
191: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 01880815
192: 0051 CONTINUE 01890815
193: CT006* TEST 6 (2.5,PI/4) 01900815
194: IVTNUM = 6 01910815
195: AVC = CEXP((1.0, 2.0)) 01920815
196: IF (R2E(1) + 0.11313E+01) 20060, 40062, 40061 01930815
197: 40061 IF (R2E(1) + 0.11311E+01) 40062, 40062, 20060 01940815
198: 40062 IF (R2E(2) - 0.24716E+01) 20060, 10060, 40060 01950815
199: 40060 IF (R2E(2) - 0.24719E+01) 10060, 10060, 20060 01960815
200: 10060 IVPASS = IVPASS + 1 01970815
201: WRITE (NUVI, 80002) IVTNUM 01980815
202: GO TO 0061 01990815
203: 20060 IVFAIL = IVFAIL + 1 02000815
204: ZVCORR = (-1.1312043837568, 2.4717266720048) 02010815
205: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 02020815
206: 0061 CONTINUE 02030815
207: CT007* TEST 7 A VARIABLE SUPPLIED TO CEXP 02040815
208: IVTNUM = 7 02050815
209: BVC = (-1.75, 4.625) 02060815
210: AVC = CEXP(BVC) 02070815
211: IF (R2E(1) + 0.15168E-01) 20070, 40072, 40071 02080815
212: 40071 IF (R2E(1) + 0.15165E-01) 40072, 40072, 20070 02090815
213: 40072 IF (R2E(2) + 0.17312E+00) 20070, 10070, 40070 02100815
214: 40070 IF (R2E(2) + 0.17310E+00) 10070, 10070, 20070 02110815
215: 10070 IVPASS = IVPASS + 1 02120815
216: WRITE (NUVI, 80002) IVTNUM 02130815
217: GO TO 0071 02140815
218: 20070 IVFAIL = IVFAIL + 1 02150815
219: ZVCORR = (-0.01516660638013, -0.17311082425206) 02160815
220: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 02170815
221: 0071 CONTINUE 02180815
222: CT008* TEST 8 POSITIVE REAL, NEGATIVE IMAGINARY ARGUMENT 02190815
223: IVTNUM = 8 02200815
224: AVC = CEXP((5.5, -1.015625)) 02210815
225: IF (R2E(1) - 0.12896E+03) 20080, 40082, 40081 02220815
226: 40081 IF (R2E(1) - 0.12898E+03) 40082, 40082, 20080 02230815
227: 40082 IF (R2E(2) + 0.20796E+03) 20080, 10080, 40080 02240815
228: 40080 IF (R2E(2) + 0.20793E+03) 10080, 10080, 20080 02250815
229: 10080 IVPASS = IVPASS + 1 02260815
230: WRITE (NUVI, 80002) IVTNUM 02270815
231: GO TO 0081 02280815
232: 20080 IVFAIL = IVFAIL + 1 02290815
233: ZVCORR = (128.97440219594, -207.94168724284) 02300815
234: WRITE (NUVI, 80045) IVTNUM, AVC, ZVCORR 02310815
235: 0081 CONTINUE 02320815
236: CT009* TEST 9 THE FUNCTION TOGETHER WITH AIMAG AND CABS 02330815
237: IVTNUM = 9 02340815
238: BVC = (10.0, 3.1415926536) 02350815
239: CVC = CEXP(BVC / (4.0, 0.0)) 02360815
240: AVS = (AIMAG(CVC) / CABS(CVC)) ** 2 02370815
241: IF (AVS - 0.49997E+00) 20090, 10090, 40090 02380815
242: 40090 IF (AVS - 0.50003E+00) 10090, 10090, 20090 02390815
243: 10090 IVPASS = IVPASS + 1 02400815
244: WRITE (NUVI, 80002) IVTNUM 02410815
245: GO TO 0091 02420815
246: 20090 IVFAIL = IVFAIL + 1 02430815
247: RVCORR = 0.5000000 02440815
248: WRITE (NUVI, 80012) IVTNUM, AVS, RVCORR 02450815
249: 0091 CONTINUE 02460815
250: C***** 02470815
251: CBB** ********************** BBCSUM0 **********************************02480815
252: C**** WRITE OUT TEST SUMMARY 02490815
253: C**** 02500815
254: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02510815
255: WRITE (I02, 90004) 02520815
256: WRITE (I02, 90014) 02530815
257: WRITE (I02, 90004) 02540815
258: WRITE (I02, 90020) IVPASS 02550815
259: WRITE (I02, 90022) IVFAIL 02560815
260: WRITE (I02, 90024) IVDELE 02570815
261: WRITE (I02, 90026) IVINSP 02580815
262: WRITE (I02, 90028) IVTOTN, IVTOTL 02590815
263: CBE** ********************** BBCSUM0 **********************************02600815
264: CBB** ********************** BBCFOOT0 **********************************02610815
265: C**** WRITE OUT REPORT FOOTINGS 02620815
266: C**** 02630815
267: WRITE (I02,90016) ZPROG, ZPROG 02640815
268: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02650815
269: WRITE (I02,90019) 02660815
270: CBE** ********************** BBCFOOT0 **********************************02670815
271: CBB** ********************** BBCFMT0A **********************************02680815
272: C**** FORMATS FOR TEST DETAIL LINES 02690815
273: C**** 02700815
274: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 02710815
275: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 02720815
276: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 02730815
277: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 02740815
278: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 02750815
279: 1I6,/,1H ,15X,10HCORRECT= ,I6) 02760815
280: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02770815
281: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 02780815
282: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02790815
283: 1A21,/,1H ,16X,10HCORRECT= ,A21) 02800815
284: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 02810815
285: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 02820815
286: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 02830815
287: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 02840815
288: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 02850815
289: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 02860815
290: 80050 FORMAT (1H ,48X,A31) 02870815
291: CBE** ********************** BBCFMT0A **********************************02880815
292: CBB** ********************** BBCFMAT1 **********************************02890815
293: C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 02900815
294: C**** 02910815
295: 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02920815
296: 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 02930815
297: 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 02940815
298: 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 02950815
299: 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 02960815
300: 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 02970815
301: 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 02980815
302: 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 02990815
303: 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03000815
304: 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 03010815
305: 21H(,F12.5,2H, ,F12.5,1H)) 03020815
306: CBE** ********************** BBCFMAT1 **********************************03030815
307: CBB** ********************** BBCFMT0B **********************************03040815
308: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03050815
309: C**** 03060815
310: 90002 FORMAT (1H1) 03070815
311: 90004 FORMAT (1H ) 03080815
312: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03090815
313: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03100815
314: 90008 FORMAT (1H ,21X,A13,A17) 03110815
315: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03120815
316: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03130815
317: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03140815
318: 1 7X,7HREMARKS,24X) 03150815
319: 90014 FORMAT (1H ,46H----------------------------------------------, 03160815
320: 1 33H---------------------------------) 03170815
321: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03180815
322: C**** 03190815
323: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03200815
324: C**** 03210815
325: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03220815
326: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03230815
327: 1 A13) 03240815
328: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03250815
329: C**** 03260815
330: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03270815
331: C**** 03280815
332: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03290815
333: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03300815
334: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03310815
335: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03320815
336: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03330815
337: CBE** ********************** BBCFMT0B **********************************03340815
338: C***** 03350815
339: C***** END OF TEST SEGMENT 180 03360815
340: STOP 03370815
341: END 03380815
342: 03390815
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.