|
|
1.1 root 1: C***********************************************************************00010354
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 00020354
6: C***** FM354 XREAL - (152) 00030354
7: C***** 00040354
8: C***********************************************************************00050354
9: C***** GENERAL PURPOSE SUBSET REF00060354
10: C***** TEST INTRINSIC FUNCTIONS FLOAT AND REAL 15.3 00070354
11: C***** (CONVERSION FROM INTEGER TO REAL) (TABLE 5)00080354
12: C***** 00090354
13: CBB** ********************** BBCCOMNT **********************************00100354
14: C**** 00110354
15: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120354
16: C**** VERSION 2.0 00130354
17: C**** 00140354
18: C**** 00150354
19: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160354
20: C**** GENERAL SERVICES ADMINISTRATION 00170354
21: C**** FEDERAL SOFTWARE TESTING CENTER 00180354
22: C**** 5203 LEESBURG PIKE, SUITE 1100 00190354
23: C**** FALLS CHURCH, VA. 22041 00200354
24: C**** 00210354
25: C**** (703) 756-6153 00220354
26: C**** 00230354
27: CBE** ********************** BBCCOMNT **********************************00240354
28: CBB** ********************** BBCINITA **********************************00250354
29: C**** SPECIFICATION STATEMENTS 00260354
30: C**** 00270354
31: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00280354
32: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00290354
33: CBE** ********************** BBCINITA **********************************00300354
34: CBB** ********************** BBCINITB **********************************00310354
35: C**** INITIALIZE SECTION 00320354
36: DATA ZVERS, ZVERSD, ZDATE 00330354
37: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00340354
38: DATA ZCOMPL, ZNAME, ZTAPE 00350354
39: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00360354
40: DATA ZPROJ, ZTAPED, ZPROG 00370354
41: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00380354
42: DATA REMRKS /' '/ 00390354
43: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00400354
44: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00410354
45: C**** 00420354
46: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00430354
47: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00440354
48: CZ03 ZPROG = 'PROGRAM NAME' 00450354
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 00520354
56: IVPASS = 0 00530354
57: IVFAIL = 0 00540354
58: IVDELE = 0 00550354
59: IVINSP = 0 00560354
60: IVTOTL = 0 00570354
61: IVTOTN = 0 00580354
62: ICZERO = 0 00590354
63: C 00600354
64: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00610354
65: I01 = 05 00620354
66: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00630354
67: I02 = 06 00640354
68: C 00650354
69: I01 = 5 00660354
70: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00670354
71: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00680354
72: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00690354
73: C 00700354
74: I02 = 6 00710354
75: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00720354
76: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00730354
77: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00740354
78: C 00750354
79: CBE** ********************** BBCINITB **********************************00760354
80: NUVI = I02 00770354
81: IVTOTL = 14 00780354
82: ZPROG = 'FM354' 00790354
83: CBB** ********************** BBCHED0A **********************************00800354
84: C**** 00810354
85: C**** WRITE REPORT TITLE 00820354
86: C**** 00830354
87: WRITE (I02, 90002) 00840354
88: WRITE (I02, 90006) 00850354
89: WRITE (I02, 90007) 00860354
90: WRITE (I02, 90008) ZVERS, ZVERSD 00870354
91: WRITE (I02, 90009) ZPROG, ZPROG 00880354
92: WRITE (I02, 90010) ZDATE, ZCOMPL 00890354
93: CBE** ********************** BBCHED0A **********************************00900354
94: C***** 00910354
95: C***** HEADER FOR SEGMENT 152 00920354
96: WRITE (NUVI,15201) 00930354
97: 15201 FORMAT (1H , // 2X,35HXREAL - (152) INTRINSIC FUNCTIONS--//17X, 00940354
98: 1 29HFLOAT, REAL (TYPE CONVERSION)// 2X, 00950354
99: 2 18HSUBSET REF. - 15.3) 00960354
100: CBB** ********************** BBCHED0B **********************************00970354
101: C**** WRITE DETAIL REPORT HEADERS 00980354
102: C**** 00990354
103: WRITE (I02,90004) 01000354
104: WRITE (I02,90004) 01010354
105: WRITE (I02,90013) 01020354
106: WRITE (I02,90014) 01030354
107: WRITE (I02,90015) IVTOTL 01040354
108: CBE** ********************** BBCHED0B **********************************01050354
109: C***** 01060354
110: C***** TEST OF FLOAT 01070354
111: C***** 01080354
112: WRITE(NUVI, 15204) 01090354
113: 15204 FORMAT (/ 8X, 13HTEST OF FLOAT) 01100354
114: CT001* TEST 1 THE VALUE ZERO 01110354
115: IVTNUM = 1 01120354
116: IBCVI = 0 01130354
117: RBAVS = FLOAT(IBCVI) 01140354
118: IF (RBAVS + 0.00005) 20010, 10010, 40010 01150354
119: 40010 IF (RBAVS - 0.00005) 10010, 10010, 20010 01160354
120: 10010 IVPASS = IVPASS + 1 01170354
121: WRITE (NUVI, 80002) IVTNUM 01180354
122: GO TO 0011 01190354
123: 20010 IVFAIL = IVFAIL + 1 01200354
124: RVCORR = 0.0 01210354
125: WRITE(NUVI, 80012) IVTNUM, RBAVS, RVCORR 01220354
126: 0011 CONTINUE 01230354
127: CT002* TEST 2 A POSITIVE INTEGER 01240354
128: IVTNUM = 2 01250354
129: IBCVI = 3 01260354
130: RBAVS = FLOAT(IBCVI) 01270354
131: IF (RBAVS - 2.9998) 20020, 10020, 40020 01280354
132: 40020 IF (RBAVS - 3.0002) 10020, 10020, 20020 01290354
133: 10020 IVPASS = IVPASS + 1 01300354
134: WRITE (NUVI, 80002) IVTNUM 01310354
135: GO TO 0021 01320354
136: 20020 IVFAIL = IVFAIL + 1 01330354
137: RVCORR = 3.0 01340354
138: WRITE(NUVI, 80012) IVTNUM, RBAVS, RVCORR 01350354
139: 0021 CONTINUE 01360354
140: CT003* TEST 3 A NEGATIVE INTEGER 01370354
141: IVTNUM = 3 01380354
142: IBCVI = -3 01390354
143: RBAVS = FLOAT(IBCVI) 01400354
144: IF (RBAVS + 3.0002) 20030, 10030, 40030 01410354
145: 40030 IF (RBAVS + 2.9998) 10030, 10030, 20030 01420354
146: 10030 IVPASS = IVPASS + 1 01430354
147: WRITE (NUVI, 80002) IVTNUM 01440354
148: GO TO 0031 01450354
149: 20030 IVFAIL = IVFAIL + 1 01460354
150: RVCORR = -3.0 01470354
151: WRITE(NUVI, 80012) IVTNUM, RBAVS, RVCORR 01480354
152: 0031 CONTINUE 01490354
153: CT004* TEST 4 A ZERO PREFIXED WITH A MINUS SIGN 01500354
154: IVTNUM = 4 01510354
155: IBCVI = 0 01520354
156: RBAVS = FLOAT(-IBCVI) 01530354
157: IF (RBAVS + 0.00005) 20040, 10040, 40040 01540354
158: 40040 IF (RBAVS - 0.00005) 10040, 10040, 20040 01550354
159: 10040 IVPASS = IVPASS + 1 01560354
160: WRITE (NUVI, 80002) IVTNUM 01570354
161: GO TO 0041 01580354
162: 20040 IVFAIL = IVFAIL + 1 01590354
163: RVCORR = 0.0 01600354
164: WRITE(NUVI, 80012) IVTNUM, RBAVS, RVCORR 01610354
165: 0041 CONTINUE 01620354
166: CT005* TEST 5 FLOAT USED IN AN ARITHMETIC EXPRESSION 01630354
167: IVTNUM = 5 01640354
168: RBFVS = -3.0 01650354
169: IBCVI = 3 01660354
170: RBAVS = 16.1875 + RBFVS/FLOAT(IBCVI) 01670354
171: IF (RBAVS - 15.186) 20050, 10050, 40050 01680354
172: 40050 IF (RBAVS - 15.189) 10050, 10050, 20050 01690354
173: 10050 IVPASS = IVPASS + 1 01700354
174: WRITE (NUVI, 80002) IVTNUM 01710354
175: GO TO 0051 01720354
176: 20050 IVFAIL = IVFAIL + 1 01730354
177: RVCORR = 15.1875 01740354
178: WRITE(NUVI, 80012) IVTNUM, RBAVS, RVCORR 01750354
179: 0051 CONTINUE 01760354
180: CT006* TEST 6 AN ARITHMETIC EXPRESSION PRESENTED TO FLOAT 01770354
181: IVTNUM = 6 01780354
182: IBAVI = -7 01790354
183: IBBVI = 27 01800354
184: RBAVS = FLOAT(IBAVI - IBBVI * 2) 01810354
185: IF (RBAVS + 61.003) 20060, 10060, 40060 01820354
186: 40060 IF (RBAVS + 60.997) 10060, 10060, 20060 01830354
187: 10060 IVPASS = IVPASS + 1 01840354
188: WRITE (NUVI, 80002) IVTNUM 01850354
189: GO TO 0061 01860354
190: 20060 IVFAIL = IVFAIL + 1 01870354
191: RVCORR = -61.0 01880354
192: WRITE(NUVI, 80012) IVTNUM, RBAVS, RVCORR 01890354
193: 0061 CONTINUE 01900354
194: CT007* TEST 7 COMPARE AUTOMATIC TYPE CONVERSION TO EXPLICIT 01910354
195: IVTNUM = 7 01920354
196: IBAVI = 2 01930354
197: IBBVI = 10 01940354
198: RBAVS = FLOAT(IBBVI ** IBAVI) 01950354
199: IF (RBAVS - 99.995) 20070, 10070, 40070 01960354
200: 40070 IF (RBAVS - 100.01) 10070, 10070, 20070 01970354
201: 10070 IVPASS = IVPASS + 1 01980354
202: WRITE (NUVI, 80002) IVTNUM 01990354
203: GO TO 0071 02000354
204: 20070 IVFAIL = IVFAIL + 1 02010354
205: RVCORR = 100.0 02020354
206: WRITE(NUVI, 80012) IVTNUM, RBAVS, RVCORR 02030354
207: 0071 CONTINUE 02040354
208: C***** 02050354
209: C***** TEST OF REAL 02060354
210: C***** 02070354
211: WRITE(NUVI, 15202) 02080354
212: 15202 FORMAT (/ 08X, 12HTEST OF REAL) 02090354
213: CT008* TEST 8 THE VALUE ZERO 02100354
214: IVTNUM = 8 02110354
215: IBCVI = 0 02120354
216: RBBVS = REAL(IBCVI) 02130354
217: IF (RBBVS + 0.00005) 20080, 10080, 40080 02140354
218: 40080 IF (RBBVS - 0.00005) 10080, 10080, 20080 02150354
219: 10080 IVPASS = IVPASS + 1 02160354
220: WRITE (NUVI, 80002) IVTNUM 02170354
221: GO TO 0081 02180354
222: 20080 IVFAIL = IVFAIL + 1 02190354
223: RVCORR = 0.0 02200354
224: WRITE(NUVI, 80012) IVTNUM, RBBVS, RVCORR 02210354
225: 0081 CONTINUE 02220354
226: CT009* TEST 9 A POSITIVE INTEGER 02230354
227: IVTNUM = 9 02240354
228: IBCVI = 3 02250354
229: RBBVS = REAL(IBCVI) 02260354
230: IF (RBBVS - 2.9998) 20090, 10090, 40090 02270354
231: 40090 IF (RBBVS - 3.0002) 10090, 10090, 20090 02280354
232: 10090 IVPASS = IVPASS + 1 02290354
233: WRITE (NUVI, 80002) IVTNUM 02300354
234: GO TO 0091 02310354
235: 20090 IVFAIL = IVFAIL + 1 02320354
236: RVCORR = 3.0 02330354
237: WRITE(NUVI, 80012) IVTNUM, RBBVS, RVCORR 02340354
238: 0091 CONTINUE 02350354
239: CT010* TEST 10 A NEGATIVE INTEGER 02360354
240: IVTNUM = 10 02370354
241: IBCVI = -3 02380354
242: RBBVS = REAL(IBCVI) 02390354
243: IF (RBBVS + 3.0002) 20100, 10100, 40100 02400354
244: 40100 IF (RBBVS + 2.9998) 10100, 10100, 20100 02410354
245: 10100 IVPASS = IVPASS + 1 02420354
246: WRITE (NUVI, 80002) IVTNUM 02430354
247: GO TO 0101 02440354
248: 20100 IVFAIL = IVFAIL + 1 02450354
249: RVCORR = -3.0 02460354
250: WRITE(NUVI, 80012) IVTNUM, RBBVS, RVCORR 02470354
251: 0101 CONTINUE 02480354
252: CT011* TEST 11 A ZERO PREFIXED WITH A MINUS SIGN 02490354
253: IVTNUM = 11 02500354
254: IBCVI = 0 02510354
255: RBBVS = REAL(-IBCVI) 02520354
256: IF (RBBVS + 0.00005) 20110, 10110, 40110 02530354
257: 40110 IF (RBBVS - 0.00005) 10110, 10110, 20110 02540354
258: 10110 IVPASS = IVPASS + 1 02550354
259: WRITE (NUVI, 80002) IVTNUM 02560354
260: GO TO 0111 02570354
261: 20110 IVFAIL = IVFAIL + 1 02580354
262: RVCORR = 0.0 02590354
263: WRITE(NUVI, 80012) IVTNUM, RBBVS, RVCORR 02600354
264: 0111 CONTINUE 02610354
265: CT012* TEST 12 REAL USED IN AN ARITHMETIC EXPRESSION 02620354
266: IVTNUM = 12 02630354
267: RBFVS = -3.0 02640354
268: IBCVI = 3 02650354
269: RBBVS = 16.1875 + RBFVS/REAL(IBCVI) 02660354
270: IF (RBBVS - 15.186) 20120, 10120, 40120 02670354
271: 40120 IF (RBBVS - 15.189) 10120, 10120, 20120 02680354
272: 10120 IVPASS = IVPASS + 1 02690354
273: WRITE (NUVI, 80002) IVTNUM 02700354
274: GO TO 0121 02710354
275: 20120 IVFAIL = IVFAIL + 1 02720354
276: RVCORR = 15.1875 02730354
277: WRITE(NUVI, 80012) IVTNUM, RBBVS, RVCORR 02740354
278: 0121 CONTINUE 02750354
279: CT013* TEST 13 AN ARITHMETIC EXPRESSION PRESENTED TO REAL 02760354
280: IVTNUM = 13 02770354
281: IBAVI = -7 02780354
282: IBBVI = 27 02790354
283: RBBVS = REAL(IBAVI - IBBVI * 2) 02800354
284: IF (RBBVS + 61.003) 20130, 10130, 40130 02810354
285: 40130 IF (RBBVS + 60.997) 10130, 10130, 20130 02820354
286: 10130 IVPASS = IVPASS + 1 02830354
287: WRITE (NUVI, 80002) IVTNUM 02840354
288: GO TO 0131 02850354
289: 20130 IVFAIL = IVFAIL + 1 02860354
290: RVCORR = 61.0 02870354
291: WRITE(NUVI, 80012) IVTNUM, RBBVS, RVCORR 02880354
292: 0131 CONTINUE 02890354
293: CT014* TEST 14 COMPARE AUTOMATIC TYPE CONVERSION TO EXPLICIT 02900354
294: IVTNUM = 14 02910354
295: IBAVI = 2 02920354
296: IBBVI = 10 02930354
297: RBBVS = REAL(IBBVI ** IBAVI) 02940354
298: IF (RBBVS - 99.995) 20140, 10140, 40140 02950354
299: 40140 IF (RBBVS - 100.01) 10140, 10140, 20140 02960354
300: 10140 IVPASS = IVPASS + 1 02970354
301: WRITE (NUVI, 80002) IVTNUM 02980354
302: GO TO 0141 02990354
303: 20140 IVFAIL = IVFAIL + 1 03000354
304: RVCORR = 100.0 03010354
305: WRITE(NUVI, 80012) IVTNUM, RBBVS, RVCORR 03020354
306: 0141 CONTINUE 03030354
307: CBB** ********************** BBCSUM0 **********************************03040354
308: C**** WRITE OUT TEST SUMMARY 03050354
309: C**** 03060354
310: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 03070354
311: WRITE (I02, 90004) 03080354
312: WRITE (I02, 90014) 03090354
313: WRITE (I02, 90004) 03100354
314: WRITE (I02, 90020) IVPASS 03110354
315: WRITE (I02, 90022) IVFAIL 03120354
316: WRITE (I02, 90024) IVDELE 03130354
317: WRITE (I02, 90026) IVINSP 03140354
318: WRITE (I02, 90028) IVTOTN, IVTOTL 03150354
319: CBE** ********************** BBCSUM0 **********************************03160354
320: CBB** ********************** BBCFOOT0 **********************************03170354
321: C**** WRITE OUT REPORT FOOTINGS 03180354
322: C**** 03190354
323: WRITE (I02,90016) ZPROG, ZPROG 03200354
324: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 03210354
325: WRITE (I02,90019) 03220354
326: CBE** ********************** BBCFOOT0 **********************************03230354
327: CBB** ********************** BBCFMT0A **********************************03240354
328: C**** FORMATS FOR TEST DETAIL LINES 03250354
329: C**** 03260354
330: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 03270354
331: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 03280354
332: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 03290354
333: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 03300354
334: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 03310354
335: 1I6,/,1H ,15X,10HCORRECT= ,I6) 03320354
336: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03330354
337: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 03340354
338: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03350354
339: 1A21,/,1H ,16X,10HCORRECT= ,A21) 03360354
340: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 03370354
341: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 03380354
342: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 03390354
343: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 03400354
344: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 03410354
345: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 03420354
346: 80050 FORMAT (1H ,48X,A31) 03430354
347: CBE** ********************** BBCFMT0A **********************************03440354
348: CBB** ********************** BBCFMT0B **********************************03450354
349: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03460354
350: C**** 03470354
351: 90002 FORMAT (1H1) 03480354
352: 90004 FORMAT (1H ) 03490354
353: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03500354
354: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03510354
355: 90008 FORMAT (1H ,21X,A13,A17) 03520354
356: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03530354
357: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03540354
358: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03550354
359: 1 7X,7HREMARKS,24X) 03560354
360: 90014 FORMAT (1H ,46H----------------------------------------------, 03570354
361: 1 33H---------------------------------) 03580354
362: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03590354
363: C**** 03600354
364: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03610354
365: C**** 03620354
366: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03630354
367: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03640354
368: 1 A13) 03650354
369: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03660354
370: C**** 03670354
371: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03680354
372: C**** 03690354
373: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03700354
374: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03710354
375: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03720354
376: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03730354
377: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03740354
378: CBE** ********************** BBCFMT0B **********************************03750354
379: C***** 03760354
380: C***** END OF TEST SEGMENT 152 03770354
381: STOP 03780354
382: END 03790354
383: 03800354
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.