|
|
1.1 root 1: C***********************************************************************00010360
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 00020360
6: C***** FM360 XDIM - (163) 00030360
7: C***** 00040360
8: C***********************************************************************00050360
9: C***** GENERAL PURPOSE SUBSET REF00060360
10: C***** TEST INTRINSIC FUNCTION DIM AND IDIM--POSITIVE 15.3 00070360
11: C***** DIFFERENCE, WHICH IS DEFINED AS A1 - MIN(A1,A2) (TABLE 5)00080360
12: C***** 00090360
13: CBB** ********************** BBCCOMNT **********************************00100360
14: C**** 00110360
15: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120360
16: C**** VERSION 2.0 00130360
17: C**** 00140360
18: C**** 00150360
19: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160360
20: C**** GENERAL SERVICES ADMINISTRATION 00170360
21: C**** FEDERAL SOFTWARE TESTING CENTER 00180360
22: C**** 5203 LEESBURG PIKE, SUITE 1100 00190360
23: C**** FALLS CHURCH, VA. 22041 00200360
24: C**** 00210360
25: C**** (703) 756-6153 00220360
26: C**** 00230360
27: CBE** ********************** BBCCOMNT **********************************00240360
28: CBB** ********************** BBCINITA **********************************00250360
29: C**** SPECIFICATION STATEMENTS 00260360
30: C**** 00270360
31: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00280360
32: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00290360
33: CBE** ********************** BBCINITA **********************************00300360
34: CBB** ********************** BBCINITB **********************************00310360
35: C**** INITIALIZE SECTION 00320360
36: DATA ZVERS, ZVERSD, ZDATE 00330360
37: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00340360
38: DATA ZCOMPL, ZNAME, ZTAPE 00350360
39: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00360360
40: DATA ZPROJ, ZTAPED, ZPROG 00370360
41: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00380360
42: DATA REMRKS /' '/ 00390360
43: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00400360
44: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00410360
45: C**** 00420360
46: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00430360
47: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00440360
48: CZ03 ZPROG = 'PROGRAM NAME' 00450360
49: ZDATE = '07-Nov-85 ' *RP
50: ZCOMPL = 'CCI 5.2 ' *RP
51: ZPROJ = 'TC-85- -410' *RP
52: ZNAME = ' ' *RP
53: ZTAPE = ' ' *RP
54: ZTAPED = '850703 ' *RP
55: C 00520360
56: IVPASS = 0 00530360
57: IVFAIL = 0 00540360
58: IVDELE = 0 00550360
59: IVINSP = 0 00560360
60: IVTOTL = 0 00570360
61: IVTOTN = 0 00580360
62: ICZERO = 0 00590360
63: C 00600360
64: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00610360
65: I01 = 05 00620360
66: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00630360
67: I02 = 06 00640360
68: C 00650360
69: I01 = 5 00660360
70: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00670360
71: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00680360
72: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00690360
73: C 00700360
74: I02 = 6 00710360
75: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00720360
76: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00730360
77: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00740360
78: C 00750360
79: CBE** ********************** BBCINITB **********************************00760360
80: NUVI = I02 00770360
81: IVTOTL = 14 00780360
82: ZPROG = 'FM360' 00790360
83: CBB** ********************** BBCHED0A **********************************00800360
84: C**** 00810360
85: C**** WRITE REPORT TITLE 00820360
86: C**** 00830360
87: WRITE (I02, 90002) 00840360
88: WRITE (I02, 90006) 00850360
89: WRITE (I02, 90007) 00860360
90: WRITE (I02, 90008) ZVERS, ZVERSD 00870360
91: WRITE (I02, 90009) ZPROG, ZPROG 00880360
92: WRITE (I02, 90010) ZDATE, ZCOMPL 00890360
93: CBE** ********************** BBCHED0A **********************************00900360
94: C***** 00910360
95: C***** HEADER FOR SEGMENT 163 00920360
96: WRITE (NUVI,16301) 00930360
97: 16301 FORMAT(1H , //,2X,35HXDIM - (163) INTRINSIC FUNCTIONS-- //12X, 00940360
98: 1 31HDIM, IDIM (POSITIVE DIFFERENCE)// 00950360
99: 2 2X,18HSUBSET REF. - 15.3) 00960360
100: CBB** ********************** BBCHED0B **********************************00970360
101: C**** WRITE DETAIL REPORT HEADERS 00980360
102: C**** 00990360
103: WRITE (I02,90004) 01000360
104: WRITE (I02,90004) 01010360
105: WRITE (I02,90013) 01020360
106: WRITE (I02,90014) 01030360
107: WRITE (I02,90015) IVTOTL 01040360
108: CBE** ********************** BBCHED0B **********************************01050360
109: C***** 01060360
110: C***** TEST OF DIM 01070360
111: C***** 01080360
112: WRITE(NUVI, 16304) 01090360
113: 16304 FORMAT (/ 8X, 11HTEST OF DIM) 01100360
114: CT001* TEST 1 BOTH VALUES EQUAL 01110360
115: IVTNUM = 1 01120360
116: RGBVS = 2.5 01130360
117: RGDVS = 2.5 01140360
118: RGAVS = DIM(RGBVS, RGDVS) 01150360
119: IF (RGAVS + .00005) 20010, 10010, 40010 01160360
120: 40010 IF (RGAVS - .00005) 10010, 10010, 20010 01170360
121: 10010 IVPASS = IVPASS + 1 01180360
122: WRITE (NUVI, 80002) IVTNUM 01190360
123: GO TO 0011 01200360
124: 20010 IVFAIL = IVFAIL + 1 01210360
125: RVCORR = 0.0 01220360
126: WRITE (NUVI, 80012) IVTNUM, RGAVS, RVCORR 01230360
127: 0011 CONTINUE 01240360
128: CT002* TEST 2 FIRST VALUE LESS THAN SECOND 01250360
129: IVTNUM = 2 01260360
130: RGBVS = 2.5 01270360
131: RGDVS = 5.5 01280360
132: RGAVS = DIM(RGBVS, RGDVS) 01290360
133: IF (RGAVS + .00005) 20020, 10020, 40020 01300360
134: 40020 IF (RGAVS - .00005) 10020, 10020, 20020 01310360
135: 10020 IVPASS = IVPASS + 1 01320360
136: WRITE (NUVI, 80002) IVTNUM 01330360
137: GO TO 0021 01340360
138: 20020 IVFAIL = IVFAIL + 1 01350360
139: RVCORR = 0.0 01360360
140: WRITE (NUVI, 80012) IVTNUM, RGAVS, RVCORR 01370360
141: 0021 CONTINUE 01380360
142: CT003* TEST 3 FIRST VALUE GREATER THAN SECOND 01390360
143: IVTNUM = 3 01400360
144: RGBVS = 5.5 01410360
145: RGDVS = 2.5 01420360
146: RGAVS = DIM(RGBVS, RGDVS) 01430360
147: IF (RGAVS - 2.9998) 20030, 10030, 40030 01440360
148: 40030 IF (RGAVS - 3.0002) 10030, 10030, 20030 01450360
149: 10030 IVPASS = IVPASS + 1 01460360
150: WRITE (NUVI, 80002) IVTNUM 01470360
151: GO TO 0031 01480360
152: 20030 IVFAIL = IVFAIL + 1 01490360
153: RVCORR = 3.0 01500360
154: WRITE (NUVI, 80012) IVTNUM, RGAVS, RVCORR 01510360
155: 0031 CONTINUE 01520360
156: CT004* TEST 4 BOTH VALUES EQUAL, BOTH NEGATIVE 01530360
157: IVTNUM = 4 01540360
158: RGBVS = -2.5 01550360
159: RGDVS = -2.5 01560360
160: RGAVS = DIM(RGBVS, RGDVS) 01570360
161: IF (RGAVS + .00005) 20040, 10040, 40040 01580360
162: 40040 IF (RGAVS - .00005) 10040, 10040, 20040 01590360
163: 10040 IVPASS = IVPASS + 1 01600360
164: WRITE (NUVI, 80002) IVTNUM 01610360
165: GO TO 0041 01620360
166: 20040 IVFAIL = IVFAIL + 1 01630360
167: RVCORR = 0.0 01640360
168: WRITE (NUVI, 80012) IVTNUM, RGAVS, RVCORR 01650360
169: 0041 CONTINUE 01660360
170: CT005* TEST 5 FIRST VALUE GREATER THAN SECOND, BOTH NEGATIVE 01670360
171: IVTNUM = 5 01680360
172: RGBVS = -2.5 01690360
173: RGDVS = -5.5 01700360
174: RGAVS = DIM(RGBVS, RGDVS) 01710360
175: IF (RGAVS - 2.9998) 20050, 10050, 40050 01720360
176: 40050 IF (RGAVS - 3.0002) 10050, 10050, 20050 01730360
177: 10050 IVPASS = IVPASS + 1 01740360
178: WRITE (NUVI, 80002) IVTNUM 01750360
179: GO TO 0051 01760360
180: 20050 IVFAIL = IVFAIL + 1 01770360
181: RVCORR = 3.0 01780360
182: WRITE (NUVI, 80012) IVTNUM, RGAVS, RVCORR 01790360
183: 0051 CONTINUE 01800360
184: CT006* TEST 6 FIRST VALUE LESS THAN SECOND, BOTH NEGATIVE 01810360
185: IVTNUM = 6 01820360
186: RGBVS = -5.5 01830360
187: RGDVS = -2.5 01840360
188: RGAVS = DIM(RGBVS, RGDVS) 01850360
189: IF (RGAVS + .00005) 20060, 10060, 40060 01860360
190: 40060 IF (RGAVS - .00005) 10060, 10060, 20060 01870360
191: 10060 IVPASS = IVPASS + 1 01880360
192: WRITE (NUVI, 80002) IVTNUM 01890360
193: GO TO 0061 01900360
194: 20060 IVFAIL = IVFAIL + 1 01910360
195: RVCORR = 0.0 01920360
196: WRITE (NUVI, 80012) IVTNUM, RGAVS, RVCORR 01930360
197: 0061 CONTINUE 01940360
198: CT007* TEST 7 EXPRESSIONS PRESENTED TO DIM 01950360
199: IVTNUM = 7 01960360
200: RGDVS = 2.5 01970360
201: RGEVS = 1.25 01980360
202: RGAVS = DIM(RGDVS / RGEVS, RGDVS * RGEVS) 01990360
203: IF (RGAVS + .00005) 20070, 10070, 40070 02000360
204: 40070 IF (RGAVS - .00005) 10070, 10070, 20070 02010360
205: 10070 IVPASS = IVPASS + 1 02020360
206: WRITE (NUVI, 80002) IVTNUM 02030360
207: GO TO 0071 02040360
208: 20070 IVFAIL = IVFAIL + 1 02050360
209: RVCORR = 0.0 02060360
210: WRITE (NUVI, 80012) IVTNUM, RGAVS, RVCORR 02070360
211: 0071 CONTINUE 02080360
212: C***** 02090360
213: C***** TEST OF IDIM 02100360
214: C***** 02110360
215: WRITE(NUVI, 16302) 02120360
216: 16302 FORMAT (/ 08X, 12HTEST OF IDIM) 02130360
217: CT008* TEST 8 BOTH VALUES EQUAL 02140360
218: IVTNUM = 8 02150360
219: IGBVI = 2 02160360
220: IGDVI = 2 02170360
221: IGAVI = IDIM(IGBVI, IGDVI) 02180360
222: IF (IGAVI - 0) 20080, 10080, 20080 02190360
223: 10080 IVPASS = IVPASS + 1 02200360
224: WRITE (NUVI, 80002) IVTNUM 02210360
225: GO TO 0081 02220360
226: 20080 IVFAIL = IVFAIL + 1 02230360
227: IVCORR = 0 02240360
228: WRITE (NUVI, 80010) IVTNUM, IGAVI, IVCORR 02250360
229: 0081 CONTINUE 02260360
230: CT009* TEST 9 FIRST VALUE LESS THAN SECOND 02270360
231: IVTNUM = 9 02280360
232: IGBVI = 2 02290360
233: IGDVI = 5 02300360
234: IGAVI = IDIM(IGBVI, IGDVI) 02310360
235: IF (IGAVI - 0) 20090, 10090, 20090 02320360
236: 10090 IVPASS = IVPASS + 1 02330360
237: WRITE (NUVI, 80002) IVTNUM 02340360
238: GO TO 0091 02350360
239: 20090 IVFAIL = IVFAIL + 1 02360360
240: IVCORR = 0 02370360
241: WRITE (NUVI, 80010) IVTNUM, IGAVI, IVCORR 02380360
242: 0091 CONTINUE 02390360
243: CT010* TEST 10 FIRST VALUE GREATER THAN SECOND 02400360
244: IVTNUM = 10 02410360
245: IGBVI = 5 02420360
246: IGDVI = 2 02430360
247: IGAVI = IDIM(IGBVI, IGDVI) 02440360
248: IF (IGAVI - 3) 20100, 10100, 20100 02450360
249: 10100 IVPASS = IVPASS + 1 02460360
250: WRITE (NUVI, 80002) IVTNUM 02470360
251: GO TO 0101 02480360
252: 20100 IVFAIL = IVFAIL + 1 02490360
253: IVCORR = 3 02500360
254: WRITE (NUVI, 80010) IVTNUM, IGAVI, IVCORR 02510360
255: 0101 CONTINUE 02520360
256: CT011* TEST 11 BOTH VALUES EQUAL, BOTH NEGATIVE 02530360
257: IVTNUM = 11 02540360
258: IGBVI = -2 02550360
259: IGDVI = -2 02560360
260: IGAVI = IDIM(IGBVI, IGDVI) 02570360
261: IF (IGAVI - 0) 20110, 10110, 20110 02580360
262: 10110 IVPASS = IVPASS + 1 02590360
263: WRITE (NUVI, 80002) IVTNUM 02600360
264: GO TO 0111 02610360
265: 20110 IVFAIL = IVFAIL + 1 02620360
266: IVCORR = 0 02630360
267: WRITE (NUVI, 80010) IVTNUM, IGAVI, IVCORR 02640360
268: 0111 CONTINUE 02650360
269: CT012* TEST 12 FIRST VALUE GREATER THAN SECOND, BOTH NEGATIVE 02660360
270: IVTNUM = 12 02670360
271: IGBVI = -2 02680360
272: IGDVI = -5 02690360
273: IGAVI = IDIM(IGBVI, IGDVI) 02700360
274: IF (IGAVI - 3) 20120, 10120, 20120 02710360
275: 10120 IVPASS = IVPASS + 1 02720360
276: WRITE (NUVI, 80002) IVTNUM 02730360
277: GO TO 0121 02740360
278: 20120 IVFAIL = IVFAIL + 1 02750360
279: IVCORR = 3 02760360
280: WRITE (NUVI, 80010) IVTNUM, IGAVI, IVCORR 02770360
281: 0121 CONTINUE 02780360
282: CT013* TEST 13 FIRST VALUE LESS THAN SECOND, BOTH NEGATIVE 02790360
283: IVTNUM = 13 02800360
284: IGBVI = -5 02810360
285: IGDVI = -2 02820360
286: IGAVI = IDIM(IGBVI, IGDVI) 02830360
287: IF (IGAVI - 0) 20130, 10130, 20130 02840360
288: 10130 IVPASS = IVPASS + 1 02850360
289: WRITE (NUVI, 80002) IVTNUM 02860360
290: GO TO 0131 02870360
291: 20130 IVFAIL = IVFAIL + 1 02880360
292: IVCORR = 0 02890360
293: WRITE (NUVI, 80010) IVTNUM, IGAVI, IVCORR 02900360
294: 0131 CONTINUE 02910360
295: CT014* TEST 14 ARITHMETIC EXPRESSIONS PRESENTED TO IDIM 02920360
296: IVTNUM = 14 02930360
297: IGDVI = 2 02940360
298: IGEVI = 1.25 02950360
299: IGAVI = IDIM(IGDVI / IGEVI, IGDVI * IGEVI) 02960360
300: IF (IGAVI - 0) 20140, 10140, 20140 02970360
301: 10140 IVPASS = IVPASS + 1 02980360
302: WRITE (NUVI, 80002) IVTNUM 02990360
303: GO TO 0141 03000360
304: 20140 IVFAIL = IVFAIL + 1 03010360
305: IVCORR = 0 03020360
306: WRITE (NUVI, 80010) IVTNUM, IGAVI, IVCORR 03030360
307: 0141 CONTINUE 03040360
308: C***** 03050360
309: CBB** ********************** BBCSUM0 **********************************03060360
310: C**** WRITE OUT TEST SUMMARY 03070360
311: C**** 03080360
312: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 03090360
313: WRITE (I02, 90004) 03100360
314: WRITE (I02, 90014) 03110360
315: WRITE (I02, 90004) 03120360
316: WRITE (I02, 90020) IVPASS 03130360
317: WRITE (I02, 90022) IVFAIL 03140360
318: WRITE (I02, 90024) IVDELE 03150360
319: WRITE (I02, 90026) IVINSP 03160360
320: WRITE (I02, 90028) IVTOTN, IVTOTL 03170360
321: CBE** ********************** BBCSUM0 **********************************03180360
322: CBB** ********************** BBCFOOT0 **********************************03190360
323: C**** WRITE OUT REPORT FOOTINGS 03200360
324: C**** 03210360
325: WRITE (I02,90016) ZPROG, ZPROG 03220360
326: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 03230360
327: WRITE (I02,90019) 03240360
328: CBE** ********************** BBCFOOT0 **********************************03250360
329: CBB** ********************** BBCFMT0A **********************************03260360
330: C**** FORMATS FOR TEST DETAIL LINES 03270360
331: C**** 03280360
332: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 03290360
333: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 03300360
334: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 03310360
335: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 03320360
336: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 03330360
337: 1I6,/,1H ,15X,10HCORRECT= ,I6) 03340360
338: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03350360
339: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 03360360
340: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03370360
341: 1A21,/,1H ,16X,10HCORRECT= ,A21) 03380360
342: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 03390360
343: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 03400360
344: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 03410360
345: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 03420360
346: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 03430360
347: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 03440360
348: 80050 FORMAT (1H ,48X,A31) 03450360
349: CBE** ********************** BBCFMT0A **********************************03460360
350: CBB** ********************** BBCFMT0B **********************************03470360
351: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03480360
352: C**** 03490360
353: 90002 FORMAT (1H1) 03500360
354: 90004 FORMAT (1H ) 03510360
355: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03520360
356: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03530360
357: 90008 FORMAT (1H ,21X,A13,A17) 03540360
358: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03550360
359: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03560360
360: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03570360
361: 1 7X,7HREMARKS,24X) 03580360
362: 90014 FORMAT (1H ,46H----------------------------------------------, 03590360
363: 1 33H---------------------------------) 03600360
364: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03610360
365: C**** 03620360
366: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03630360
367: C**** 03640360
368: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03650360
369: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03660360
370: 1 A13) 03670360
371: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03680360
372: C**** 03690360
373: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03700360
374: C**** 03710360
375: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03720360
376: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03730360
377: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03740360
378: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03750360
379: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03760360
380: CBE** ********************** BBCFMT0B **********************************03770360
381: C***** 03780360
382: 16303 FORMAT(2X, F7.2) 03790360
383: 16305 FORMAT(3X, I5) 03800360
384: C***** 03810360
385: C***** END OF TEST SEGMENT 163 03820360
386: STOP 03830360
387: END 03840360
388: 03850360
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.