|
|
1.1 root 1: C***********************************************************************00010800
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 00020800
6: C***** FM800 YIDINT - (151) 00030800
7: C***** 00040800
8: C***********************************************************************00050800
9: C***** GENERAL PURPOSE ANS REF 00060800
10: C***** TEST INTRINSIC FUNCTION IDINT -- 15.3 00070800
11: C***** TRUNCATION (SIGN OF A * LARGEST INTEGER LE ABS(A) ) (TABLE 5)00080800
12: C***** 00090800
13: CBB** ********************** BBCCOMNT **********************************00100800
14: C**** 00110800
15: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120800
16: C**** VERSION 2.0 00130800
17: C**** 00140800
18: C**** 00150800
19: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160800
20: C**** GENERAL SERVICES ADMINISTRATION 00170800
21: C**** FEDERAL SOFTWARE TESTING CENTER 00180800
22: C**** 5203 LEESBURG PIKE, SUITE 1100 00190800
23: C**** FALLS CHURCH, VA. 22041 00200800
24: C**** 00210800
25: C**** (703) 756-6153 00220800
26: C**** 00230800
27: CBE** ********************** BBCCOMNT **********************************00240800
28: C***** S P E C I F I C A T I O N S SEGMENT 151 00250800
29: C***** 00260800
30: DOUBLE PRECISION DLAVD, DLBVD 00270800
31: C***** 00280800
32: CBB** ********************** BBCINITA **********************************00290800
33: C**** SPECIFICATION STATEMENTS 00300800
34: C**** 00310800
35: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00320800
36: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00330800
37: CBE** ********************** BBCINITA **********************************00340800
38: CBB** ********************** BBCINITB **********************************00350800
39: C**** INITIALIZE SECTION 00360800
40: DATA ZVERS, ZVERSD, ZDATE 00370800
41: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00380800
42: DATA ZCOMPL, ZNAME, ZTAPE 00390800
43: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00400800
44: DATA ZPROJ, ZTAPED, ZPROG 00410800
45: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00420800
46: DATA REMRKS /' '/ 00430800
47: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00440800
48: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00450800
49: C**** 00460800
50: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00470800
51: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00480800
52: CZ03 ZPROG = 'PROGRAM NAME' 00490800
53: ZDATE = '07-Nov-85 ' *RP
54: ZCOMPL = 'CCI 5.2 ' *RP
55: ZPROJ = 'TC-85- -410' *RP
56: ZNAME = ' ' *RP
57: ZTAPE = ' ' *RP
58: ZTAPED = '850703 ' *RP
59: C 00560800
60: IVPASS = 0 00570800
61: IVFAIL = 0 00580800
62: IVDELE = 0 00590800
63: IVINSP = 0 00600800
64: IVTOTL = 0 00610800
65: IVTOTN = 0 00620800
66: ICZERO = 0 00630800
67: C 00640800
68: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00650800
69: I01 = 05 00660800
70: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00670800
71: I02 = 06 00680800
72: C 00690800
73: I01 = 5 00700800
74: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00710800
75: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00720800
76: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00730800
77: C 00740800
78: I02 = 6 00750800
79: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00760800
80: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00770800
81: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00780800
82: C 00790800
83: CBE** ********************** BBCINITB **********************************00800800
84: NUVI = I02 00810800
85: IVTOTL = 12 00820800
86: ZPROG = 'FM800' 00830800
87: CBB** ********************** BBCHED0A **********************************00840800
88: C**** 00850800
89: C**** WRITE REPORT TITLE 00860800
90: C**** 00870800
91: WRITE (I02, 90002) 00880800
92: WRITE (I02, 90006) 00890800
93: WRITE (I02, 90007) 00900800
94: WRITE (I02, 90008) ZVERS, ZVERSD 00910800
95: WRITE (I02, 90009) ZPROG, ZPROG 00920800
96: WRITE (I02, 90010) ZDATE, ZCOMPL 00930800
97: CBE** ********************** BBCHED0A **********************************00940800
98: C***** 00950800
99: C***** HEADER FOR SEGMENT 151 WRITTEN 00960800
100: WRITE (NUVI,15101) 00970800
101: 15101 FORMAT (1H , // 1X,35HYIDINT - (151) INTRINSIC FUNCTION--//17X, 00980800
102: 1 23HIDINT (TYPE CONVERSION)//17H ANS REF. - 15.3) 00990800
103: CBB** ********************** BBCHED0B **********************************01000800
104: C**** WRITE DETAIL REPORT HEADERS 01010800
105: C**** 01020800
106: WRITE (I02,90004) 01030800
107: WRITE (I02,90004) 01040800
108: WRITE (I02,90013) 01050800
109: WRITE (I02,90014) 01060800
110: WRITE (I02,90015) IVTOTL 01070800
111: CBE** ********************** BBCHED0B **********************************01080800
112: C***** 01090800
113: CT001* TEST 1 THE VALUE ZERO 01100800
114: IVTNUM = 1 01110800
115: DLBVD = 0.0D0 01120800
116: ILAVI = IDINT(DLBVD) 01130800
117: IF (ILAVI - 0) 20010, 10010, 20010 01140800
118: 10010 IVPASS = IVPASS + 1 01150800
119: WRITE (NUVI, 80002) IVTNUM 01160800
120: GO TO 0011 01170800
121: 20010 IVFAIL = IVFAIL + 1 01180800
122: IVCORR = 0 01190800
123: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 01200800
124: 0011 CONTINUE 01210800
125: CT002* TEST 2 A VALUE IN (0,1) 01220800
126: IVTNUM = 2 01230800
127: DLBVD = 3.57D-1 01240800
128: ILAVI = IDINT(DLBVD) 01250800
129: IF (ILAVI - 0) 20020, 10020, 20020 01260800
130: 10020 IVPASS = IVPASS + 1 01270800
131: WRITE (NUVI, 80002) IVTNUM 01280800
132: GO TO 0021 01290800
133: 20020 IVFAIL = IVFAIL + 1 01300800
134: IVCORR = 0 01310800
135: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 01320800
136: 0021 CONTINUE 01330800
137: CT003* TEST 3 THE VALUE ONE 01340800
138: IVTNUM = 3 01350800
139: DLBVD = 1.00001D0 01360800
140: ILAVI = IDINT(DLBVD) 01370800
141: IF (ILAVI - 1) 20030, 10030, 20030 01380800
142: 10030 IVPASS = IVPASS + 1 01390800
143: WRITE (NUVI, 80002) IVTNUM 01400800
144: GO TO 0031 01410800
145: 20030 IVFAIL = IVFAIL + 1 01420800
146: IVCORR = 1 01430800
147: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 01440800
148: 0031 CONTINUE 01450800
149: CT004* TEST 4 A INTEGRAL VALUE OTHER THAN O, 1 01460800
150: IVTNUM = 4 01470800
151: DLBVD = 6.00001D0 01480800
152: ILAVI = IDINT(DLBVD) 01490800
153: IF (ILAVI - 6) 20040, 10040, 20040 01500800
154: 10040 IVPASS = IVPASS + 1 01510800
155: WRITE (NUVI, 80002) IVTNUM 01520800
156: GO TO 0041 01530800
157: 20040 IVFAIL = IVFAIL + 1 01540800
158: IVCORR = 6 01550800
159: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 01560800
160: 0041 CONTINUE 01570800
161: CT005* TEST 5 A VALUE IN (X,X+1) 01580800
162: IVTNUM = 5 01590800
163: DLBVD = 0.375D1 01600800
164: ILAVI = IDINT(DLBVD) 01610800
165: IF (ILAVI - 3) 20050, 10050, 20050 01620800
166: 10050 IVPASS = IVPASS + 1 01630800
167: WRITE (NUVI, 80002) IVTNUM 01640800
168: GO TO 0051 01650800
169: 20050 IVFAIL = IVFAIL + 1 01660800
170: IVCORR = 3 01670800
171: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 01680800
172: 0051 CONTINUE 01690800
173: CT006* TEST 6 A NEGATIVE VALUE WITH MAGNITUDE IN (0,1) 01700800
174: IVTNUM = 6 01710800
175: DLBVD = -0.375D0 01720800
176: ILAVI = IDINT(DLBVD) 01730800
177: IF (ILAVI - 0) 20060, 10060, 20060 01740800
178: 10060 IVPASS = IVPASS + 1 01750800
179: WRITE (NUVI, 80002) IVTNUM 01760800
180: GO TO 0061 01770800
181: 20060 IVFAIL = IVFAIL + 1 01780800
182: IVCORR = 0 01790800
183: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 01800800
184: 0061 CONTINUE 01810800
185: CT007* TEST 7 THE VALUE -1 01820800
186: IVTNUM = 7 01830800
187: DLBVD = -0.100001D1 01840800
188: ILAVI = IDINT(DLBVD) 01850800
189: IF (ILAVI + 1) 20070, 10070, 20070 01860800
190: 10070 IVPASS = IVPASS + 1 01870800
191: WRITE (NUVI, 80002) IVTNUM 01880800
192: GO TO 0071 01890800
193: 20070 IVFAIL = IVFAIL + 1 01900800
194: IVCORR = -1 01910800
195: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 01920800
196: 0071 CONTINUE 01930800
197: CT008* TEST 8 A NEGATIVE INTEGRAL VALUE 01940800
198: IVTNUM = 8 01950800
199: DLBVD = -6.00001D0 01960800
200: ILAVI = IDINT(DLBVD) 01970800
201: IF (ILAVI + 6) 20080, 10080, 20080 01980800
202: 10080 IVPASS = IVPASS + 1 01990800
203: WRITE (NUVI, 80002) IVTNUM 02000800
204: GO TO 0081 02010800
205: 20080 IVFAIL = IVFAIL + 1 02020800
206: IVCORR = -6 02030800
207: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 02040800
208: 0081 CONTINUE 02050800
209: CT009* TEST 9 A NEGATIVE VALUE WITH MAGNITUDE IN (X,X+1) 02060800
210: IVTNUM = 9 02070800
211: DLBVD = -0.375D1 02080800
212: ILAVI = IDINT(DLBVD) 02090800
213: IF (ILAVI + 3) 20090, 10090, 20090 02100800
214: 10090 IVPASS = IVPASS + 1 02110800
215: WRITE (NUVI, 80002) IVTNUM 02120800
216: GO TO 0091 02130800
217: 20090 IVFAIL = IVFAIL + 1 02140800
218: IVCORR = -3 02150800
219: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 02160800
220: 0091 CONTINUE 02170800
221: CT010* TEST 10 ZERO PREFIXED WITH A MINUS SIGN 02180800
222: IVTNUM = 10 02190800
223: DLAVD = 0.0D0 02200800
224: ILAVI = IDINT(-DLAVD) 02210800
225: IF (ILAVI + 0) 20100, 10100, 20100 02220800
226: 10100 IVPASS = IVPASS + 1 02230800
227: WRITE (NUVI, 80002) IVTNUM 02240800
228: GO TO 0101 02250800
229: 20100 IVFAIL = IVFAIL + 1 02260800
230: IVCORR = 0 02270800
231: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 02280800
232: 0101 CONTINUE 02290800
233: CT011* TEST 11 AN ARITHMETIC EXPRESSION PRESENTED TO IDINT 02300800
234: IVTNUM = 11 02310800
235: DLAVD = 0.375D1 02320800
236: DLBVD = 3.5D0 02330800
237: ILAVI = (IDINT(DLAVD + DLBVD * 0.5D1)) 02340800
238: IF (ILAVI - 21) 20110, 10110, 20110 02350800
239: 10110 IVPASS = IVPASS + 1 02360800
240: WRITE (NUVI, 80002) IVTNUM 02370800
241: GO TO 0111 02380800
242: 20110 IVFAIL = IVFAIL + 1 02390800
243: IVCORR = 21 02400800
244: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 02410800
245: 0111 CONTINUE 02420800
246: CT012* TEST 12 COMPARE AUTOMATIC TYPE CONVERSION TO EXPLICIT 02430800
247: IVTNUM = 12 02440800
248: DLAVD = 3.5D0 02450800
249: ILAVI = IDINT(DLAVD ** 2.5) 02460800
250: ILBVI = DLAVD ** 2.5 02470800
251: IF (ILAVI - ILBVI) 20120, 10120, 20120 02480800
252: 10120 IVPASS = IVPASS + 1 02490800
253: WRITE (NUVI, 80002) IVTNUM 02500800
254: GO TO 0121 02510800
255: 20120 IVFAIL = IVFAIL + 1 02520800
256: IVCORR = ILBVI 02530800
257: WRITE (NUVI, 80010) IVTNUM, ILAVI, IVCORR 02540800
258: 0121 CONTINUE 02550800
259: CBB** ********************** BBCSUM0 **********************************02560800
260: C**** WRITE OUT TEST SUMMARY 02570800
261: C**** 02580800
262: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02590800
263: WRITE (I02, 90004) 02600800
264: WRITE (I02, 90014) 02610800
265: WRITE (I02, 90004) 02620800
266: WRITE (I02, 90020) IVPASS 02630800
267: WRITE (I02, 90022) IVFAIL 02640800
268: WRITE (I02, 90024) IVDELE 02650800
269: WRITE (I02, 90026) IVINSP 02660800
270: WRITE (I02, 90028) IVTOTN, IVTOTL 02670800
271: CBE** ********************** BBCSUM0 **********************************02680800
272: CBB** ********************** BBCFOOT0 **********************************02690800
273: C**** WRITE OUT REPORT FOOTINGS 02700800
274: C**** 02710800
275: WRITE (I02,90016) ZPROG, ZPROG 02720800
276: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02730800
277: WRITE (I02,90019) 02740800
278: CBE** ********************** BBCFOOT0 **********************************02750800
279: CBB** ********************** BBCFMT0A **********************************02760800
280: C**** FORMATS FOR TEST DETAIL LINES 02770800
281: C**** 02780800
282: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 02790800
283: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 02800800
284: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 02810800
285: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 02820800
286: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 02830800
287: 1I6,/,1H ,15X,10HCORRECT= ,I6) 02840800
288: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02850800
289: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 02860800
290: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02870800
291: 1A21,/,1H ,16X,10HCORRECT= ,A21) 02880800
292: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 02890800
293: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 02900800
294: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 02910800
295: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 02920800
296: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 02930800
297: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 02940800
298: 80050 FORMAT (1H ,48X,A31) 02950800
299: CBE** ********************** BBCFMT0A **********************************02960800
300: CBB** ********************** BBCFMAT1 **********************************02970800
301: C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 02980800
302: C**** 02990800
303: 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03000800
304: 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 03010800
305: 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 03020800
306: 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 03030800
307: 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 03040800
308: 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 03050800
309: 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 03060800
310: 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 03070800
311: 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03080800
312: 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 03090800
313: 21H(,F12.5,2H, ,F12.5,1H)) 03100800
314: CBE** ********************** BBCFMAT1 **********************************03110800
315: CBB** ********************** BBCFMT0B **********************************03120800
316: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03130800
317: C**** 03140800
318: 90002 FORMAT (1H1) 03150800
319: 90004 FORMAT (1H ) 03160800
320: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03170800
321: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03180800
322: 90008 FORMAT (1H ,21X,A13,A17) 03190800
323: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03200800
324: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03210800
325: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03220800
326: 1 7X,7HREMARKS,24X) 03230800
327: 90014 FORMAT (1H ,46H----------------------------------------------, 03240800
328: 1 33H---------------------------------) 03250800
329: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03260800
330: C**** 03270800
331: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03280800
332: C**** 03290800
333: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03300800
334: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03310800
335: 1 A13) 03320800
336: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03330800
337: C**** 03340800
338: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03350800
339: C**** 03360800
340: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03370800
341: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03380800
342: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03390800
343: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03400800
344: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03410800
345: CBE** ********************** BBCFMT0B **********************************03420800
346: C***** 03430800
347: C***** END OF TEST SEGMENT 151 03440800
348: STOP 03450800
349: END 03460800
350: 03470800
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.