|
|
1.1 root 1: C***********************************************************************00010810
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 00020810
6: C***** FM810 YDMMX - (173) 00030810
7: C***** 00040810
8: C***********************************************************************00050810
9: C***** GENERAL PURPOSE ANS REF 00060810
10: C***** TESTS THE USE OF INTEGER, REAL, DOUBLE PRECISION, 15.3 00070810
11: C***** AND MIXED MODE EXPRESSIONS CONTAINING REFERENCES TO 15.10 00080810
12: C***** THE INTRINSIC FUNCTIONS OF THE FULL LANGUAGE 6.1.4 00090810
13: C***** 00100810
14: C***** GENERAL COMMENTS 00110810
15: C***** SEGMENTS TESTING XINT, XREAL, XAINT, XABS, XAMOD, 00120810
16: C***** XSIGN, XDIM, XMAX, XMIN, YIDINT, YSNGL 00130810
17: C***** YDINT, YDABS, YCABS, YDMOD, YDSIGN, 00140810
18: C***** YDMAX1, YDMIN1, YDBLE, YCONJG ASSUMED WORKING 00150810
19: CBB** ********************** BBCCOMNT **********************************00160810
20: C**** 00170810
21: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00180810
22: C**** VERSION 2.0 00190810
23: C**** 00200810
24: C**** 00210810
25: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00220810
26: C**** GENERAL SERVICES ADMINISTRATION 00230810
27: C**** FEDERAL SOFTWARE TESTING CENTER 00240810
28: C**** 5203 LEESBURG PIKE, SUITE 1100 00250810
29: C**** FALLS CHURCH, VA. 22041 00260810
30: C**** 00270810
31: C**** (703) 756-6153 00280810
32: C**** 00290810
33: CBE** ********************** BBCCOMNT **********************************00300810
34: C***** 00310810
35: C***** S P E C I F I C A T I O N S SEGMENT 173 00320810
36: DOUBLE PRECISION DXAVD,DXBVD,DXDVD,DXEVD,DXFVD,DXGVD,DVCORR 00330810
37: CBB** ********************** BBCINITA **********************************00340810
38: C**** SPECIFICATION STATEMENTS 00350810
39: C**** 00360810
40: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00370810
41: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00380810
42: CBE** ********************** BBCINITA **********************************00390810
43: CBB** ********************** BBCINITB **********************************00400810
44: C**** INITIALIZE SECTION 00410810
45: DATA ZVERS, ZVERSD, ZDATE 00420810
46: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00430810
47: DATA ZCOMPL, ZNAME, ZTAPE 00440810
48: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00450810
49: DATA ZPROJ, ZTAPED, ZPROG 00460810
50: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00470810
51: DATA REMRKS /' '/ 00480810
52: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00490810
53: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00500810
54: C**** 00510810
55: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00520810
56: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00530810
57: CZ03 ZPROG = 'PROGRAM NAME' 00540810
58: ZDATE = '07-Nov-85 ' *RP
59: ZCOMPL = 'CCI 5.2 ' *RP
60: ZPROJ = 'TC-85- -410' *RP
61: ZNAME = ' ' *RP
62: ZTAPE = ' ' *RP
63: ZTAPED = '850703 ' *RP
64: C 00610810
65: IVPASS = 0 00620810
66: IVFAIL = 0 00630810
67: IVDELE = 0 00640810
68: IVINSP = 0 00650810
69: IVTOTL = 0 00660810
70: IVTOTN = 0 00670810
71: ICZERO = 0 00680810
72: C 00690810
73: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00700810
74: I01 = 05 00710810
75: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00720810
76: I02 = 06 00730810
77: C 00740810
78: I01 = 5 00750810
79: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00760810
80: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00770810
81: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00780810
82: C 00790810
83: I02 = 6 00800810
84: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00810810
85: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00820810
86: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00830810
87: C 00840810
88: CBE** ********************** BBCINITB **********************************00850810
89: NUVI = I02 00860810
90: IVTOTL = 10 00870810
91: ZPROG = 'FM810' 00880810
92: CBB** ********************** BBCHED0A **********************************00890810
93: C**** 00900810
94: C**** WRITE REPORT TITLE 00910810
95: C**** 00920810
96: WRITE (I02, 90002) 00930810
97: WRITE (I02, 90006) 00940810
98: WRITE (I02, 90007) 00950810
99: WRITE (I02, 90008) ZVERS, ZVERSD 00960810
100: WRITE (I02, 90009) ZPROG, ZPROG 00970810
101: WRITE (I02, 90010) ZDATE, ZCOMPL 00980810
102: CBE** ********************** BBCHED0A **********************************00990810
103: C***** 01000810
104: C***** 01010810
105: C***** HEADER FOR SEGMENT 173 WRITTEN 01020810
106: WRITE (NUVI,17301) 01030810
107: 17301 FORMAT(1H , //1X, 35HYDMMX - (173) INTRINSIC FUNCTIONS--// 01040810
108: 1 16X, 22HINTEGER, REAL AND D.P./, 01050810
109: 2 16X, 26HAND MIXED MODE EXPRESSIONS// 01060810
110: 3 2X, 29HANS REF. - 15.3, 15.10, 6.1.4) 01070810
111: CBB** ********************** BBCHED0B **********************************01080810
112: C**** WRITE DETAIL REPORT HEADERS 01090810
113: C**** 01100810
114: WRITE (I02,90004) 01110810
115: WRITE (I02,90004) 01120810
116: WRITE (I02,90013) 01130810
117: WRITE (I02,90014) 01140810
118: WRITE (I02,90015) IVTOTL 01150810
119: CBE** ********************** BBCHED0B **********************************01160810
120: C***** 01170810
121: CT001* TEST 1 01180810
122: IVTNUM = 1 01190810
123: DXBVD = 3.5D0 01200810
124: IXAVI = IDINT(DXBVD) + 2 01210810
125: IF (IXAVI - 5) 20010, 10010, 20010 01220810
126: 10010 IVPASS = IVPASS + 1 01230810
127: WRITE (NUVI, 80002) IVTNUM 01240810
128: GO TO 0011 01250810
129: 20010 IVFAIL = IVFAIL + 1 01260810
130: IVCORR = 5 01270810
131: WRITE (NUVI, 80010) IVTNUM, IXAVI, IVCORR 01280810
132: 0011 CONTINUE 01290810
133: CT002* TEST 2 01300810
134: IVTNUM = 2 01310810
135: DXBVD = 5.25D0 01320810
136: RXAVS = SNGL(DXBVD) * 3.0 01330810
137: IF (RXAVS - 15.749) 20020, 10020, 40020 01340810
138: 40020 IF (RXAVS - 15.751) 10020, 10020, 20020 01350810
139: 10020 IVPASS = IVPASS + 1 01360810
140: WRITE (NUVI, 80002) IVTNUM 01370810
141: GO TO 0021 01380810
142: 20020 IVFAIL = IVFAIL + 1 01390810
143: RVCORR = 15.75 01400810
144: WRITE (NUVI, 80012) IVTNUM, RXAVS, RVCORR 01410810
145: 0021 CONTINUE 01420810
146: CT003* TEST 3 01430810
147: IVTNUM = 3 01440810
148: DXBVD = 3.2D0 01450810
149: DXAVD = DINT(DXBVD) ** 2.0 01460810
150: IF (DXAVD - 8.999999995D0) 20030, 10030, 40030 01470810
151: 40030 IF (DXAVD - 9.000000005D0) 10030, 10030, 20030 01480810
152: 10030 IVPASS = IVPASS + 1 01490810
153: WRITE (NUVI, 80002) IVTNUM 01500810
154: GO TO 0031 01510810
155: 20030 IVFAIL = IVFAIL + 1 01520810
156: DVCORR = 9.0D0 01530810
157: WRITE (NUVI, 80031) IVTNUM, DXAVD, DVCORR 01540810
158: 0031 CONTINUE 01550810
159: CT004* TEST 4 01560810
160: IVTNUM = 4 01570810
161: DXBVD = 3.2D0 01580810
162: DXAVD = DNINT(DXBVD) + 2.5 01590810
163: IF (DXAVD - 5.499999997D0) 20040, 10040, 40040 01600810
164: 40040 IF (DXAVD - 5.500000003D0) 10040, 10040, 20040 01610810
165: 10040 IVPASS = IVPASS + 1 01620810
166: WRITE (NUVI, 80002) IVTNUM 01630810
167: GO TO 0041 01640810
168: 20040 IVFAIL = IVFAIL + 1 01650810
169: DVCORR = 5.5D0 01660810
170: WRITE (NUVI, 80031) IVTNUM, DXAVD, DVCORR 01670810
171: 0041 CONTINUE 01680810
172: CT005* TEST 5 01690810
173: IVTNUM = 5 01700810
174: DXBVD = 3.5D0 01710810
175: RXAVS = IDINT(DXBVD) * 2.5 01720810
176: IF (RXAVS - 7.4996) 20050, 10050, 40050 01730810
177: 40050 IF (RXAVS - 7.5004) 10050, 10050, 20050 01740810
178: 10050 IVPASS = IVPASS + 1 01750810
179: WRITE (NUVI, 80002) IVTNUM 01760810
180: GO TO 0051 01770810
181: 20050 IVFAIL = IVFAIL + 1 01780810
182: RVCORR = 7.5 01790810
183: WRITE (NUVI, 80012) IVTNUM, RXAVS, RVCORR 01800810
184: 0051 CONTINUE 01810810
185: CT006* TEST 6 01820810
186: IVTNUM = 6 01830810
187: DXBVD = -2.5D0 01840810
188: DXAVD = DABS(DXBVD) * 2 01850810
189: IF (DXAVD - 4.999999997D0) 20060, 10060, 40060 01860810
190: 40060 IF (DXAVD - 5.000000003D0) 10060, 10060, 20060 01870810
191: 10060 IVPASS = IVPASS + 1 01880810
192: WRITE (NUVI, 80002) IVTNUM 01890810
193: GO TO 0061 01900810
194: 20060 IVFAIL = IVFAIL + 1 01910810
195: DVCORR = 5.0D0 01920810
196: WRITE (NUVI, 80031) IVTNUM, DXAVD, DVCORR 01930810
197: 0061 CONTINUE 01940810
198: CT007* TEST 7 01950810
199: IVTNUM = 7 01960810
200: DXBVD = 5.0D0 01970810
201: DXDVD = 2.0D0 01980810
202: DXEVD = 3.0D0 01990810
203: DXFVD = -1.0D0 02000810
204: DXAVD = DMOD(DXBVD, DXDVD) * 3 + DSIGN(DXEVD, DXFVD) 02010810
205: IF (DXAVD + 5.0D-10) 20070, 10070, 40070 02020810
206: 40070 IF (DXAVD - 5.0D-10) 10070, 10070, 20070 02030810
207: 10070 IVPASS = IVPASS + 1 02040810
208: WRITE (NUVI, 80002) IVTNUM 02050810
209: GO TO 0071 02060810
210: 20070 IVFAIL = IVFAIL + 1 02070810
211: DVCORR = 0.0D0 02080810
212: WRITE (NUVI, 80031) IVTNUM, DXAVD, DVCORR 02090810
213: 0071 CONTINUE 02100810
214: CT008* TEST 8 02110810
215: IVTNUM = 8 02120810
216: DXBVD = 1.5D1 02130810
217: DXDVD = 0.5D1 02140810
218: RXBVS = 5.0 02150810
219: RXDVS = 2.0 02160810
220: DXAVD = DDIM(DXBVD, DXDVD) / DPROD(RXBVS, RXDVS) 02170810
221: IF (DXAVD - 0.9999999995D0) 20080, 10080, 40080 02180810
222: 40080 IF (DXAVD - 1.000000001D0) 10080, 10080, 20080 02190810
223: 10080 IVPASS = IVPASS + 1 02200810
224: WRITE (NUVI, 80002) IVTNUM 02210810
225: GO TO 0081 02220810
226: 20080 IVFAIL = IVFAIL + 1 02230810
227: DVCORR = 1.0D0 02240810
228: WRITE (NUVI, 80031) IVTNUM, DXAVD, DVCORR 02250810
229: 0081 CONTINUE 02260810
230: CT009* TEST 9 02270810
231: IVTNUM = 9 02280810
232: DXBVD = 5.5D0 02290810
233: DXDVD = 2.5D0 02300810
234: DXEVD = 1.0D0 02310810
235: RXBVS = 1.0 02320810
236: DXAVD = (10 - DMAX1(DXBVD, DXDVD)) * (DMIN1(DXEVD, DXDVD) 02330810
237: 1 + DBLE(RXBVS)) 02340810
238: IF (DXAVD - 8.999999995D0) 20090, 10090, 40090 02350810
239: 40090 IF (DXAVD - 9.000000005D0) 10090, 10090, 20090 02360810
240: 10090 IVPASS = IVPASS + 1 02370810
241: WRITE (NUVI, 80002) IVTNUM 02380810
242: GO TO 0091 02390810
243: 20090 IVFAIL = IVFAIL + 1 02400810
244: DVCORR = 9.0D0 02410810
245: WRITE (NUVI, 80031) IVTNUM, DXAVD, DVCORR 02420810
246: 0091 CONTINUE 02430810
247: CT010* TEST 10 02440810
248: IVTNUM = 10 02450810
249: DXBVD = 0.635D2 02460810
250: RXBVS = 5.0 02470810
251: DXDVD = 5.7D0 02480810
252: DXEVD = -6.0D0 02490810
253: DXFVD = 1.0D0 02500810
254: DXGVD = 3.0D0 02510810
255: DXAVD = (IDINT(DXBVD) + 1.0) / (7 - DBLE(RXBVS)) - 02520810
256: 1 (DINT(DXDVD) + 5 + 5.5) * (DSIGN(DXEVD, DXFVD) / 02530810
257: 2 SNGL(DXGVD)) 02540810
258: IF (DXAVD - 0.9999999995D0) 20100, 10100, 40100 02550810
259: 40100 IF (DXAVD - 1.000000001D0) 10100, 10100, 20100 02560810
260: 10100 IVPASS = IVPASS + 1 02570810
261: WRITE (NUVI, 80002) IVTNUM 02580810
262: GO TO 0101 02590810
263: 20100 IVFAIL = IVFAIL + 1 02600810
264: DVCORR = 1.0D0 02610810
265: WRITE (NUVI, 80031) IVTNUM, DXAVD, DVCORR 02620810
266: 0101 CONTINUE 02630810
267: C***** 02640810
268: CBB** ********************** BBCSUM0 **********************************02650810
269: C**** WRITE OUT TEST SUMMARY 02660810
270: C**** 02670810
271: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02680810
272: WRITE (I02, 90004) 02690810
273: WRITE (I02, 90014) 02700810
274: WRITE (I02, 90004) 02710810
275: WRITE (I02, 90020) IVPASS 02720810
276: WRITE (I02, 90022) IVFAIL 02730810
277: WRITE (I02, 90024) IVDELE 02740810
278: WRITE (I02, 90026) IVINSP 02750810
279: WRITE (I02, 90028) IVTOTN, IVTOTL 02760810
280: CBE** ********************** BBCSUM0 **********************************02770810
281: CBB** ********************** BBCFOOT0 **********************************02780810
282: C**** WRITE OUT REPORT FOOTINGS 02790810
283: C**** 02800810
284: WRITE (I02,90016) ZPROG, ZPROG 02810810
285: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02820810
286: WRITE (I02,90019) 02830810
287: CBE** ********************** BBCFOOT0 **********************************02840810
288: CBB** ********************** BBCFMT0A **********************************02850810
289: C**** FORMATS FOR TEST DETAIL LINES 02860810
290: C**** 02870810
291: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 02880810
292: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 02890810
293: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 02900810
294: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 02910810
295: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 02920810
296: 1I6,/,1H ,15X,10HCORRECT= ,I6) 02930810
297: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02940810
298: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 02950810
299: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02960810
300: 1A21,/,1H ,16X,10HCORRECT= ,A21) 02970810
301: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 02980810
302: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 02990810
303: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 03000810
304: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 03010810
305: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 03020810
306: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 03030810
307: 80050 FORMAT (1H ,48X,A31) 03040810
308: CBE** ********************** BBCFMT0A **********************************03050810
309: CBB** ********************** BBCFMAT1 **********************************03060810
310: C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 03070810
311: C**** 03080810
312: 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03090810
313: 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 03100810
314: 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 03110810
315: 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 03120810
316: 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 03130810
317: 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 03140810
318: 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 03150810
319: 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 03160810
320: 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03170810
321: 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 03180810
322: 21H(,F12.5,2H, ,F12.5,1H)) 03190810
323: CBE** ********************** BBCFMAT1 **********************************03200810
324: CBB** ********************** BBCFMT0B **********************************03210810
325: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03220810
326: C**** 03230810
327: 90002 FORMAT (1H1) 03240810
328: 90004 FORMAT (1H ) 03250810
329: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03260810
330: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03270810
331: 90008 FORMAT (1H ,21X,A13,A17) 03280810
332: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03290810
333: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03300810
334: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03310810
335: 1 7X,7HREMARKS,24X) 03320810
336: 90014 FORMAT (1H ,46H----------------------------------------------, 03330810
337: 1 33H---------------------------------) 03340810
338: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03350810
339: C**** 03360810
340: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03370810
341: C**** 03380810
342: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03390810
343: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03400810
344: 1 A13) 03410810
345: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03420810
346: C**** 03430810
347: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03440810
348: C**** 03450810
349: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03460810
350: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03470810
351: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03480810
352: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03490810
353: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03500810
354: CBE** ********************** BBCFMT0B **********************************03510810
355: C***** END OF TEST SEGMENT 173 03520810
356: STOP 03530810
357: END 03540810
358: 03550810
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.