|
|
1.1 root 1: C***********************************************************************00010363
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 00020363
6: C***** FM363 X66MX - (171) 00030363
7: C***** 00040363
8: C***********************************************************************00050363
9: C***** GENERAL PURPOSE SUBSET REF00060363
10: C***** TEST THAT ALL INTRINSIC FUNCTIONS WOULD ACCEPT 15.3 00070363
11: C***** ANY EXPRESSION OF THE TYPE SPECIFIED IN THE (TABLE 5)00080363
12: C***** INTRINSIC FUNCTION TABLE - ANS REFS - 15.10 00090363
13: C***** 00100363
14: C***** GENERAL COMMENTS 00110363
15: C***** SEGMENTS XINT, XREAL, XAINT, XABS, XAMOD, 00120363
16: C***** XSIGN, XDIM, XMAX, XMIN ASSUMED WORKING 00130363
17: C***** 00140363
18: CBB** ********************** BBCCOMNT **********************************00150363
19: C**** 00160363
20: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00170363
21: C**** VERSION 2.0 00180363
22: C**** 00190363
23: C**** 00200363
24: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00210363
25: C**** GENERAL SERVICES ADMINISTRATION 00220363
26: C**** FEDERAL SOFTWARE TESTING CENTER 00230363
27: C**** 5203 LEESBURG PIKE, SUITE 1100 00240363
28: C**** FALLS CHURCH, VA. 22041 00250363
29: C**** 00260363
30: C**** (703) 756-6153 00270363
31: C**** 00280363
32: CBE** ********************** BBCCOMNT **********************************00290363
33: CBB** ********************** BBCINITA **********************************00300363
34: C**** SPECIFICATION STATEMENTS 00310363
35: C**** 00320363
36: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00330363
37: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00340363
38: CBE** ********************** BBCINITA **********************************00350363
39: CBB** ********************** BBCINITB **********************************00360363
40: C**** INITIALIZE SECTION 00370363
41: DATA ZVERS, ZVERSD, ZDATE 00380363
42: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00390363
43: DATA ZCOMPL, ZNAME, ZTAPE 00400363
44: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00410363
45: DATA ZPROJ, ZTAPED, ZPROG 00420363
46: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00430363
47: DATA REMRKS /' '/ 00440363
48: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00450363
49: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00460363
50: C**** 00470363
51: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00480363
52: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00490363
53: CZ03 ZPROG = 'PROGRAM NAME' 00500363
54: ZDATE = '07-Nov-85 ' *RP
55: ZCOMPL = 'CCI 5.2 ' *RP
56: ZPROJ = 'TC-85- -410' *RP
57: ZNAME = ' ' *RP
58: ZTAPE = ' ' *RP
59: ZTAPED = '850703 ' *RP
60: C 00570363
61: IVPASS = 0 00580363
62: IVFAIL = 0 00590363
63: IVDELE = 0 00600363
64: IVINSP = 0 00610363
65: IVTOTL = 0 00620363
66: IVTOTN = 0 00630363
67: ICZERO = 0 00640363
68: C 00650363
69: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00660363
70: I01 = 05 00670363
71: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00680363
72: I02 = 06 00690363
73: C 00700363
74: I01 = 5 00710363
75: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00720363
76: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00730363
77: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00740363
78: C 00750363
79: I02 = 6 00760363
80: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00770363
81: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00780363
82: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00790363
83: C 00800363
84: CBE** ********************** BBCINITB **********************************00810363
85: NUVI = I02 00820363
86: IVTOTL = 14 00830363
87: ZPROG = 'FM363' 00840363
88: CBB** ********************** BBCHED0A **********************************00850363
89: C**** 00860363
90: C**** WRITE REPORT TITLE 00870363
91: C**** 00880363
92: WRITE (I02, 90002) 00890363
93: WRITE (I02, 90006) 00900363
94: WRITE (I02, 90007) 00910363
95: WRITE (I02, 90008) ZVERS, ZVERSD 00920363
96: WRITE (I02, 90009) ZPROG, ZPROG 00930363
97: WRITE (I02, 90010) ZDATE, ZCOMPL 00940363
98: CBE** ********************** BBCHED0A **********************************00950363
99: C***** 00960363
100: C***** HEADER FOR SEGMENT 171 WRITTEN 00970363
101: WRITE (NUVI,17101) 00980363
102: 17101 FORMAT(1H ,// 2X,42HX66MX - (171) SUBSET INTRINSIC FUNCTIONS--//00990363
103: 1 10X,25HIN ARITHMETIC EXPRESSIONS 01000363
104: 2 //2X, 27H SUBSET REF. - 15.10, 6.1.4) 01010363
105: CBB** ********************** BBCHED0B **********************************01020363
106: C**** WRITE DETAIL REPORT HEADERS 01030363
107: C**** 01040363
108: WRITE (I02,90004) 01050363
109: WRITE (I02,90004) 01060363
110: WRITE (I02,90013) 01070363
111: WRITE (I02,90014) 01080363
112: WRITE (I02,90015) IVTOTL 01090363
113: CBE** ********************** BBCHED0B **********************************01100363
114: C***** 01110363
115: C***** TEST OF INTRINSIC FUNCTIONS IN EXPRESSIONS 01120363
116: C***** 01130363
117: CT001* TEST 1 01140363
118: IVTNUM = 1 01150363
119: RJBVS = 5.2 01160363
120: IJAVI = INT(RJBVS) + 3 01170363
121: IF (IJAVI - 8) 20010, 10010, 20010 01180363
122: 10010 IVPASS = IVPASS + 1 01190363
123: WRITE (NUVI, 80002) IVTNUM 01200363
124: GO TO 0011 01210363
125: 20010 IVFAIL = IVFAIL + 1 01220363
126: IVCORR = 8 01230363
127: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 01240363
128: 0011 CONTINUE 01250363
129: CT002* TEST 2 01260363
130: IVTNUM = 2 01270363
131: RJBVS = 4.8 01280363
132: IJAVI = IFIX(RJBVS) - 2 01290363
133: IF (IJAVI - 2) 20020, 10020, 20020 01300363
134: 10020 IVPASS = IVPASS + 1 01310363
135: WRITE (NUVI, 80002) IVTNUM 01320363
136: GO TO 0021 01330363
137: 20020 IVFAIL = IVFAIL + 1 01340363
138: IVCORR = 2 01350363
139: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 01360363
140: 0021 CONTINUE 01370363
141: CT003* TEST 3 01380363
142: IVTNUM = 3 01390363
143: RJBVS = 2.8 01400363
144: IJAVI = 50 * NINT(RJBVS) 01410363
145: IF (IJAVI - 150) 20030, 10030, 20030 01420363
146: 10030 IVPASS = IVPASS + 1 01430363
147: WRITE (NUVI, 80002) IVTNUM 01440363
148: GO TO 0031 01450363
149: 20030 IVFAIL = IVFAIL + 1 01460363
150: IVCORR = 150 01470363
151: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 01480363
152: 0031 CONTINUE 01490363
153: CT004* TEST 4 01500363
154: IVTNUM = 4 01510363
155: IJBVI = -4 01520363
156: IJAVI = IABS(IJBVI) / (-4) 01530363
157: IF (IJAVI + 1) 20040, 10040, 20040 01540363
158: 10040 IVPASS = IVPASS + 1 01550363
159: WRITE (NUVI, 80002) IVTNUM 01560363
160: GO TO 0041 01570363
161: 20040 IVFAIL = IVFAIL + 1 01580363
162: IVCORR = -1 01590363
163: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 01600363
164: 0041 CONTINUE 01610363
165: CT005* TEST 5 01620363
166: IVTNUM = 5 01630363
167: IJBVI = 7 01640363
168: IJDVI = 4 01650363
169: IJAVI = MOD(IJBVI, IJDVI) ** 2 01660363
170: IF (IJAVI - 9) 20050, 10050, 20050 01670363
171: 10050 IVPASS = IVPASS + 1 01680363
172: WRITE (NUVI, 80002) IVTNUM 01690363
173: GO TO 0051 01700363
174: 20050 IVFAIL = IVFAIL + 1 01710363
175: IVCORR = 9 01720363
176: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 01730363
177: 0051 CONTINUE 01740363
178: CT006* TEST 6 01750363
179: IVTNUM = 6 01760363
180: IJBVI = -3 01770363
181: IJDVI = 1 01780363
182: IJAVI = 2 ** ISIGN(IJBVI, IJDVI) 01790363
183: IF (IJAVI - 8) 20060, 10060, 20060 01800363
184: 10060 IVPASS = IVPASS + 1 01810363
185: WRITE (NUVI, 80002) IVTNUM 01820363
186: GO TO 0061 01830363
187: 20060 IVFAIL = IVFAIL + 1 01840363
188: IVCORR = 8 01850363
189: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 01860363
190: 0061 CONTINUE 01870363
191: CT007* TEST 7 01880363
192: IVTNUM = 7 01890363
193: IJBVI = 5 01900363
194: IJDVI = 2 01910363
195: IJEVI = -2 01920363
196: IJAVI = IDIM(IJBVI, IJDVI) * 2 + MAX0(IJEVI, IJDVI) - 7 01930363
197: IF (IJAVI - 1) 20070, 10070, 20070 01940363
198: 10070 IVPASS = IVPASS + 1 01950363
199: WRITE (NUVI, 80002) IVTNUM 01960363
200: GO TO 0071 01970363
201: 20070 IVFAIL = IVFAIL + 1 01980363
202: IVCORR = 1 01990363
203: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 02000363
204: 0071 CONTINUE 02010363
205: CT008* TEST 8 02020363
206: IVTNUM = 8 02030363
207: IJBVI = 2 02040363
208: IJDVI = 3 02050363
209: RJBVS = 2.2 02060363
210: RJDVS = 4.8 02070363
211: RJEVS = -2.2 02080363
212: RJFVS = -3.8 02090363
213: IJAVI = MIN0(IJBVI, IJDVI) * 2 - MAX1(RJBVS, RJDVS) / 2 02100363
214: 1 + MIN1(RJEVS, RJFVS) + 5 02110363
215: IF (IJAVI - 4) 20080, 10080, 20080 02120363
216: 10080 IVPASS = IVPASS + 1 02130363
217: WRITE (NUVI, 80002) IVTNUM 02140363
218: GO TO 0081 02150363
219: 20080 IVFAIL = IVFAIL + 1 02160363
220: IVCORR = 4 02170363
221: WRITE (NUVI, 80010) IVTNUM, IJAVI, IVCORR 02180363
222: 0081 CONTINUE 02190363
223: CT009* TEST 9 02200363
224: IVTNUM = 9 02210363
225: IJBVI = 2 02220363
226: RJAVS = FLOAT(IJBVI) + 3.5 02230363
227: IF (RJAVS - 5.4997) 20090, 10090, 40090 02240363
228: 40090 IF (RJAVS - 5.5003) 10090, 10090, 20090 02250363
229: 10090 IVPASS = IVPASS + 1 02260363
230: WRITE (NUVI, 80002) IVTNUM 02270363
231: GO TO 0091 02280363
232: 20090 IVFAIL = IVFAIL + 1 02290363
233: RVCORR = 5.5 02300363
234: WRITE (NUVI, 80012) IVTNUM, RJAVS, RVCORR 02310363
235: 0091 CONTINUE 02320363
236: CT010* TEST 10 02330363
237: IVTNUM = 10 02340363
238: IJBVI = 2 02350363
239: RJAVS = REAL(IJBVI) * 3.0 02360363
240: IF (RJAVS - 5.9997) 20100, 10100, 40100 02370363
241: 40100 IF (RJAVS - 6.0003) 10100, 10100, 20100 02380363
242: 10100 IVPASS = IVPASS + 1 02390363
243: WRITE (NUVI, 80002) IVTNUM 02400363
244: GO TO 0101 02410363
245: 20100 IVFAIL = IVFAIL + 1 02420363
246: RVCORR = 6.0 02430363
247: WRITE (NUVI, 80012) IVTNUM, RJAVS, RVCORR 02440363
248: 0101 CONTINUE 02450363
249: CT011* TEST 11 02460363
250: IVTNUM = 11 02470363
251: RJBVS = 4.5 02480363
252: RJAVS = AINT(RJBVS) ** 0.5 02490363
253: IF (RJAVS - 1.9999) 20110, 10110, 40110 02500363
254: 40110 IF (RJAVS - 2.0001) 10110, 10110, 20110 02510363
255: 10110 IVPASS = IVPASS + 1 02520363
256: WRITE (NUVI, 80002) IVTNUM 02530363
257: GO TO 0111 02540363
258: 20110 IVFAIL = IVFAIL + 1 02550363
259: RVCORR = 2.0 02560363
260: WRITE (NUVI, 80012) IVTNUM, RJAVS, RVCORR 02570363
261: 0111 CONTINUE 02580363
262: CT012* TEST 12 02590363
263: IVTNUM = 12 02600363
264: RJBVS = 2.8 02610363
265: RJDVS = 2.2 02620363
266: RJAVS = 1.5 * ANINT(RJBVS) + 6.6 / ABS(RJDVS) 02630363
267: IF (RJAVS - 7.4996 ) 20120, 10120, 40120 02640363
268: 40120 IF (RJAVS - 7.5004 ) 10120, 10120, 20120 02650363
269: 10120 IVPASS = IVPASS + 1 02660363
270: WRITE (NUVI, 80002) IVTNUM 02670363
271: GO TO 0121 02680363
272: 20120 IVFAIL = IVFAIL + 1 02690363
273: RVCORR = 7.5 02700363
274: WRITE (NUVI, 80012) IVTNUM, RJAVS, RVCORR 02710363
275: 0121 CONTINUE 02720363
276: CT013* TEST 13 02730363
277: IVTNUM = 13 02740363
278: RJBVS = 4.5 02750363
279: RJDVS = 2.2 02760363
280: IJBVI = -5 02770363
281: IJDVI = 5 02780363
282: RJAVS = (AMOD(RJBVS, RJDVS) + 1.4) * (ISIGN(IJBVI, IJDVI) - 3.0)02790*TI
283: IF (RJAVS - 2.9998) 20130, 10130, 40130 02800363
284: 40130 IF (RJAVS - 3.0002) 10130, 10130, 20130 02810363
285: 10130 IVPASS = IVPASS + 1 02820363
286: WRITE (NUVI, 80002) IVTNUM 02830363
287: GO TO 0131 02840363
288: 20130 IVFAIL = IVFAIL + 1 02850363
289: RVCORR = 3.0 02860363
290: WRITE (NUVI, 80012) IVTNUM, RJAVS, RVCORR 02870363
291: 0131 CONTINUE 02880363
292: CT014* TEST 14 02890363
293: IVTNUM = 14 02900363
294: RJBVS = 6.2 02910363
295: RJDVS = 5.2 02920363
296: IJBVI = 2 02930363
297: IJDVI = 3 02940363
298: RJEVS = 2.0 02950363
299: RJFVS = 3.0 02960363
300: RJAVS = (DIM(RJBVS, RJDVS) * AMAX0(IJBVI, IJDVI)) ** 02970363
301: 1 (AMIN0(IJBVI, IJDVI) - AMIN1(RJEVS, RJFVS)) 02980363
302: IF (RJAVS - 0.99995) 20140, 10140, 40140 02990363
303: 40140 IF (RJAVS - 1.0001) 10140, 10140, 20140 03000363
304: 10140 IVPASS = IVPASS + 1 03010363
305: WRITE (NUVI, 80002) IVTNUM 03020363
306: GO TO 0141 03030363
307: 20140 IVFAIL = IVFAIL + 1 03040363
308: RVCORR = 1.0 03050363
309: WRITE (NUVI, 80012) IVTNUM, RJAVS, RVCORR 03060363
310: 0141 CONTINUE 03070363
311: C***** 03080363
312: CBB** ********************** BBCSUM0 **********************************03090363
313: C**** WRITE OUT TEST SUMMARY 03100363
314: C**** 03110363
315: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 03120363
316: WRITE (I02, 90004) 03130363
317: WRITE (I02, 90014) 03140363
318: WRITE (I02, 90004) 03150363
319: WRITE (I02, 90020) IVPASS 03160363
320: WRITE (I02, 90022) IVFAIL 03170363
321: WRITE (I02, 90024) IVDELE 03180363
322: WRITE (I02, 90026) IVINSP 03190363
323: WRITE (I02, 90028) IVTOTN, IVTOTL 03200363
324: CBE** ********************** BBCSUM0 **********************************03210363
325: CBB** ********************** BBCFOOT0 **********************************03220363
326: C**** WRITE OUT REPORT FOOTINGS 03230363
327: C**** 03240363
328: WRITE (I02,90016) ZPROG, ZPROG 03250363
329: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 03260363
330: WRITE (I02,90019) 03270363
331: CBE** ********************** BBCFOOT0 **********************************03280363
332: CBB** ********************** BBCFMT0A **********************************03290363
333: C**** FORMATS FOR TEST DETAIL LINES 03300363
334: C**** 03310363
335: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 03320363
336: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 03330363
337: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 03340363
338: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 03350363
339: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 03360363
340: 1I6,/,1H ,15X,10HCORRECT= ,I6) 03370363
341: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03380363
342: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 03390363
343: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 03400363
344: 1A21,/,1H ,16X,10HCORRECT= ,A21) 03410363
345: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 03420363
346: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 03430363
347: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 03440363
348: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 03450363
349: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 03460363
350: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 03470363
351: 80050 FORMAT (1H ,48X,A31) 03480363
352: CBE** ********************** BBCFMT0A **********************************03490363
353: CBB** ********************** BBCFMT0B **********************************03500363
354: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03510363
355: C**** 03520363
356: 90002 FORMAT (1H1) 03530363
357: 90004 FORMAT (1H ) 03540363
358: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03550363
359: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03560363
360: 90008 FORMAT (1H ,21X,A13,A17) 03570363
361: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03580363
362: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03590363
363: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03600363
364: 1 7X,7HREMARKS,24X) 03610363
365: 90014 FORMAT (1H ,46H----------------------------------------------, 03620363
366: 1 33H---------------------------------) 03630363
367: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03640363
368: C**** 03650363
369: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03660363
370: C**** 03670363
371: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03680363
372: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03690363
373: 1 A13) 03700363
374: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03710363
375: C**** 03720363
376: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03730363
377: C**** 03740363
378: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03750363
379: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03760363
380: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03770363
381: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03780363
382: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03790363
383: CBE** ********************** BBCFMT0B **********************************03800363
384: C***** 03810363
385: C***** END OF TEST SEGMENT 171 03820363
386: STOP 03830363
387: END 03840363
388: 03850363
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.