|
|
1.1 root 1: PROGRAM FM710 00010710
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 00020710
6: C THIS ROUTINE TESTS SUBSCRIPT EXPRESSIONS AND ANS REF. 00030710
7: C CHARACTER SUBSTRINGS. 5.4.2, 5.4.300040710
8: C 5.7.1, 5.7.200050710
9: C 00060710
10: C THIS ROUTINE ASSUMES THE INTRINSIC FUNCTIONS 00070710
11: C INT AND IABS ARE WORKING. 00080710
12: C 00090710
13: CBB** ********************** BBCCOMNT **********************************00100710
14: C**** 00110710
15: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00120710
16: C**** VERSION 2.0 00130710
17: C**** 00140710
18: C**** 00150710
19: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00160710
20: C**** GENERAL SERVICES ADMINISTRATION 00170710
21: C**** FEDERAL SOFTWARE TESTING CENTER 00180710
22: C**** 5203 LEESBURG PIKE, SUITE 1100 00190710
23: C**** FALLS CHURCH, VA. 22041 00200710
24: C**** 00210710
25: C**** (703) 756-6153 00220710
26: C**** 00230710
27: CBE** ********************** BBCCOMNT **********************************00240710
28: IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L) 00250710
29: IMPLICIT CHARACTER*27 (C) 00260710
30: CBB** ********************** BBCINITA **********************************00270710
31: C**** SPECIFICATION STATEMENTS 00280710
32: C**** 00290710
33: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00300710
34: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00310710
35: CBE** ********************** BBCINITA **********************************00320710
36: C 00330710
37: DIMENSION I2N001(2,3), I2N002(3,5), I1N003(-1:8), I2N004(10,4) 00340710
38: CHARACTER*10 CVCOMP, CVCORR, CVN001, C2N001(2,4) 00350710
39: DATA I2N001 /1,2,3,4,5,6/ 00360710
40: DATA I2N002 /11,21,31,12,22,32,13,23,33,14,24,34,15,25,35/ 00370710
41: DATA I1N003 /1,2,3,4,5,6,7,8,9,10/ 00380710
42: DATA I2N004 / 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 00390710
43: 1 4,-2, 6,-3, 8,-4,10,-5, 2,-1, 00400710
44: 2 1, 3, 5, 7, 9, 2, 4, 6, 8, 10, 00410710
45: 3 -10,-9,-8,-7,-6,-5,-4,-3,-2,-1 / 00420710
46: DATA C2N001 /'11FIRSTELE','21SECONDXX','12THIRDXYZ','22FOURTHWW', 00430710
47: 1 '13FIFTHABC','23SIXTHIJK','14SEVENTHH','24EIGHTHUV'/ 00440710
48: C 00450710
49: C 00460710
50: CBB** ********************** BBCINITB **********************************00470710
51: C**** INITIALIZE SECTION 00480710
52: DATA ZVERS, ZVERSD, ZDATE 00490710
53: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00500710
54: DATA ZCOMPL, ZNAME, ZTAPE 00510710
55: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00520710
56: DATA ZPROJ, ZTAPED, ZPROG 00530710
57: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00540710
58: DATA REMRKS /' '/ 00550710
59: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00560710
60: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00570710
61: C**** 00580710
62: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00590710
63: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00600710
64: CZ03 ZPROG = 'PROGRAM NAME' 00610710
65: ZDATE = '07-Nov-85 ' *RP
66: ZCOMPL = 'CCI 5.2 ' *RP
67: ZPROJ = 'TC-85- -410' *RP
68: ZNAME = ' ' *RP
69: ZTAPE = ' ' *RP
70: ZTAPED = '850703 ' *RP
71: C 00680710
72: IVPASS = 0 00690710
73: IVFAIL = 0 00700710
74: IVDELE = 0 00710710
75: IVINSP = 0 00720710
76: IVTOTL = 0 00730710
77: IVTOTN = 0 00740710
78: ICZERO = 0 00750710
79: C 00760710
80: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00770710
81: I01 = 05 00780710
82: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00790710
83: I02 = 06 00800710
84: C 00810710
85: I01 = 5 00820710
86: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00830710
87: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00840710
88: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00850710
89: C 00860710
90: I02 = 6 00870710
91: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00880710
92: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00890710
93: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00900710
94: C 00910710
95: CBE** ********************** BBCINITB **********************************00920710
96: ZPROG='FM710' 00930710
97: IVTOTL = 19 00940710
98: CBB** ********************** BBCHED0A **********************************00950710
99: C**** 00960710
100: C**** WRITE REPORT TITLE 00970710
101: C**** 00980710
102: WRITE (I02, 90002) 00990710
103: WRITE (I02, 90006) 01000710
104: WRITE (I02, 90007) 01010710
105: WRITE (I02, 90008) ZVERS, ZVERSD 01020710
106: WRITE (I02, 90009) ZPROG, ZPROG 01030710
107: WRITE (I02, 90010) ZDATE, ZCOMPL 01040710
108: CBE** ********************** BBCHED0A **********************************01050710
109: CBB** ********************** BBCHED0B **********************************01060710
110: C**** WRITE DETAIL REPORT HEADERS 01070710
111: C**** 01080710
112: WRITE (I02,90004) 01090710
113: WRITE (I02,90004) 01100710
114: WRITE (I02,90013) 01110710
115: WRITE (I02,90014) 01120710
116: WRITE (I02,90015) IVTOTL 01130710
117: CBE** ********************** BBCHED0B **********************************01140710
118: C 01150710
119: C TESTS 1-2 - SUBSCRIPT EXPRESSION TO IDENTIFY VARIOUS 01160710
120: C ARRAY ELEMENTS 01170710
121: C 01180710
122: C 01190710
123: CT001* TEST 001 **** FCVS PROGRAM 710 **** 01200710
124: C 01210710
125: C TEST 001 ARRAY ELEMENT REFERENCE 01220710
126: C 01230710
127: IVTNUM = 1 01240710
128: IVCOMP = 0 01250710
129: IVCORR = 34 01260710
130: IVCOMP = I2N002(I2N001(1,2),I2N001(2,3)/2 + 1) 01270710
131: 40010 IF (IVCOMP - 34) 20010, 10010, 20010 01280710
132: 10010 IVPASS = IVPASS + 1 01290710
133: WRITE (I02,80002) IVTNUM 01300710
134: GO TO 0011 01310710
135: 20010 IVFAIL = IVFAIL + 1 01320710
136: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01330710
137: 0011 CONTINUE 01340710
138: C 01350710
139: CT002* TEST 002 **** FCVS PROGRAM 710 **** 01360710
140: C 01370710
141: C TEST 002 FUNCTION REFERENCE 01380710
142: C 01390710
143: IVTNUM = 2 01400710
144: RVD001 = 2.64 01410710
145: IVCOMP = 0 01420710
146: IVCORR = 25 01430710
147: IVCOMP = I2N002(INT(RVD001), 19 - IABS(-7)*2) 01440710
148: 40020 IF (IVCOMP - 25) 20020, 10020, 20020 01450710
149: 10020 IVPASS = IVPASS + 1 01460710
150: WRITE (I02,80002) IVTNUM 01470710
151: GO TO 0021 01480710
152: 20020 IVFAIL = IVFAIL + 1 01490710
153: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01500710
154: 0021 CONTINUE 01510710
155: C 01520710
156: C TESTS 3-7 - TEST SUBSCRIPT VALUE IN IDENTIFYING 01530710
157: C ARRAY ELEMENTS 01540710
158: C 01550710
159: CT003* TEST 003 **** FCVS PROGRAM 710 **** 01560710
160: C 01570710
161: C TEST 003 RANGE 01580710
162: C 01590710
163: IVTNUM = 3 01600710
164: WRITE (I02, 80004) IVTNUM 01610710
165: WRITE (I02, 80020) 01620710
166: WRITE (I02, 70030) (I1N003(IVN001), IVN001=5,8) 01630710
167: 70030 FORMAT (1H ,26X,4I4) 01640710
168: IVINSP = IVINSP + 1 01650710
169: WRITE (I02, 80022) 01660710
170: WRITE (I02, 70031) 01670710
171: 70031 FORMAT (1H ,26X,16H 7 8 9 10) 01680710
172: C 01690710
173: CT004* TEST 004 **** FCVS PROGRAM 710 **** 01700710
174: C 01710710
175: C TEST 004 SINGLE ELEMENT 01720710
176: C 01730710
177: IVTNUM = 4 01740710
178: IVCOMP = 0 01750710
179: IVCORR = 4 01760710
180: IVCOMP = I1N003(2) 01770710
181: 40040 IF (IVCOMP - 4) 20040, 10040, 20040 01780710
182: 10040 IVPASS = IVPASS + 1 01790710
183: WRITE (I02,80002) IVTNUM 01800710
184: GO TO 0041 01810710
185: 20040 IVFAIL = IVFAIL + 1 01820710
186: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01830710
187: 0041 CONTINUE 01840710
188: C 01850710
189: CT005* TEST 005 **** FCVS PROGRAM 710 **** 01860710
190: C 01870710
191: C TEST 005 EXPRESSION 01880710
192: C 01890710
193: IVTNUM = 5 01900710
194: IVN001 = -3 01910710
195: IVCOMP = 0 01920710
196: IVCORR = 1 01930710
197: IVCOMP = I1N003((IVN001+5)*3 - 7) 01940710
198: 40050 IF (IVCOMP - 1) 20050, 10050, 20050 01950710
199: 10050 IVPASS = IVPASS + 1 01960710
200: WRITE (I02,80002) IVTNUM 01970710
201: GO TO 0051 01980710
202: 20050 IVFAIL = IVFAIL + 1 01990710
203: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02000710
204: 0051 CONTINUE 02010710
205: C 02020710
206: CT006* TEST 006 **** FCVS PROGRAM 710 **** 02030710
207: C 02040710
208: C TEST 006 31ST ELEMENT IN 2 DIMENSIONAL, 40 ELEMENT ARRAY 02050710
209: C 02060710
210: IVTNUM = 6 02070710
211: IVCOMP = 0 02080710
212: IVCORR = -10 02090710
213: IVCOMP = I2N004(1,4) 02100710
214: 40060 IF (IVCOMP + 10) 20060, 10060, 20060 02110710
215: 10060 IVPASS = IVPASS + 1 02120710
216: WRITE (I02,80002) IVTNUM 02130710
217: GO TO 0061 02140710
218: 20060 IVFAIL = IVFAIL + 1 02150710
219: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02160710
220: 0061 CONTINUE 02170710
221: C 02180710
222: CT007* TEST 007 **** FCVS PROGRAM 710 **** 02190710
223: C 02200710
224: C TEST 007 4TH ELEMENT OF FIRST ARRAY EQUAL TO 02210710
225: C 11TH ELEMENT OF SECOND ARRAY 02220710
226: C 02230710
227: IVTNUM = 7 02240710
228: IVCOMP = 0 02250710
229: IVCORR = 1 02260710
230: IF (I1N003(2).EQ.I2N004(1,2)) IVCOMP = 1 02270710
231: 40070 IF (IVCOMP - 1) 20070, 10070, 20070 02280710
232: 10070 IVPASS = IVPASS + 1 02290710
233: WRITE (I02,80002) IVTNUM 02300710
234: GO TO 0071 02310710
235: 20070 IVFAIL = IVFAIL + 1 02320710
236: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02330710
237: 0071 CONTINUE 02340710
238: C 02350710
239: C TESTS 8-15 - CHARACTER SUBSTRING NAME 02360710
240: C 02370710
241: C 02380710
242: CT008* TEST 008 **** FCVS PROGRAM 710 **** 02390710
243: C 02400710
244: C TEST 008 USING LEFT AND RIGHT POSITION OF SUBSTRING 02410710
245: C 02420710
246: IVTNUM = 8 02430710
247: CVCOMP = ' ' 02440710
248: IVCOMP = 0 02450710
249: CVN001 = 'THIS IS IT' 02460710
250: CVCORR = 'HIS ' 02470710
251: CVCOMP = CVN001(2:4) 02480710
252: IF (CVCOMP .EQ. 'HIS ') IVCOMP = 1 02490710
253: IF (IVCOMP - 1) 20080, 10080, 20080 02500710
254: 10080 IVPASS = IVPASS + 1 02510710
255: WRITE (I02,80002) IVTNUM 02520710
256: GO TO 0081 02530710
257: 20080 IVFAIL = IVFAIL + 1 02540710
258: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02550710
259: 0081 CONTINUE 02560710
260: C 02570710
261: CT009* TEST 009 **** FCVS PROGRAM 710 **** 02580710
262: C 02590710
263: C TEST 009 LEFT POSITION OMITTED, VALUE OF 1 ASSUMED 02600710
264: C 02610710
265: IVTNUM = 9 02620710
266: CVCOMP = ' ' 02630710
267: IVCOMP = 0 02640710
268: CVCORR = 'THIS ' 02650710
269: CVCOMP = CVN001(:4) 02660710
270: IF (CVCOMP .EQ. 'THIS ') IVCOMP = 1 02670710
271: IF (IVCOMP - 1) 20090, 10090, 20090 02680710
272: 10090 IVPASS = IVPASS + 1 02690710
273: WRITE (I02,80002) IVTNUM 02700710
274: GO TO 0091 02710710
275: 20090 IVFAIL = IVFAIL + 1 02720710
276: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02730710
277: 0091 CONTINUE 02740710
278: C 02750710
279: CT010* TEST 010 **** FCVS PROGRAM 710 **** 02760710
280: C 02770710
281: C TEST 010 RIGHT POSITION OMITTED, RIGHT-HAND END OF STRING ASSUMED 02780710
282: C 02790710
283: IVTNUM = 10 02800710
284: CVCOMP = ' ' 02810710
285: IVCOMP = 0 02820710
286: CVCORR = 'S IS IT ' 02830710
287: CVCOMP = CVN001(4:) 02840710
288: IF (CVCOMP .EQ. 'S IS IT ') IVCOMP = 1 02850710
289: IF (IVCOMP - 1) 20100, 10100, 20100 02860710
290: 10100 IVPASS = IVPASS + 1 02870710
291: WRITE (I02,80002) IVTNUM 02880710
292: GO TO 0101 02890710
293: 20100 IVFAIL = IVFAIL + 1 02900710
294: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 02910710
295: 0101 CONTINUE 02920710
296: C 02930710
297: CT011* TEST 011 **** FCVS PROGRAM 710 **** 02940710
298: C 02950710
299: C TEST 011 EXTRACT SUBSTRING FROM ARRAY 02960710
300: C 02970710
301: IVTNUM = 11 02980710
302: CVCOMP = ' ' 02990710
303: IVCOMP = 0 03000710
304: CVCORR = '12THIR ' 03010710
305: CVCOMP = C2N001(1,2)(1:6) 03020710
306: IF (CVCOMP .EQ. '12THIR ') IVCOMP = 1 03030710
307: IF (IVCOMP - 1) 20110, 10110, 20110 03040710
308: 10110 IVPASS = IVPASS + 1 03050710
309: WRITE (I02,80002) IVTNUM 03060710
310: GO TO 0111 03070710
311: 20110 IVFAIL = IVFAIL + 1 03080710
312: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03090710
313: 0111 CONTINUE 03100710
314: C 03110710
315: CT012* TEST 012 **** FCVS PROGRAM 710 **** 03120710
316: C 03130710
317: C TEST 012 ENTIRE SUBSTRING 03140710
318: C 03150710
319: IVTNUM = 12 03160710
320: CVCOMP = ' ' 03170710
321: IVCOMP = 0 03180710
322: CVCORR = 'THIS IS IT' 03190710
323: CVCOMP = CVN001(:) 03200710
324: IF (CVCOMP .EQ. 'THIS IS IT') IVCOMP = 1 03210710
325: IF (IVCOMP - 1) 20120, 10120, 20120 03220710
326: 10120 IVPASS = IVPASS + 1 03230710
327: WRITE (I02,80002) IVTNUM 03240710
328: GO TO 0121 03250710
329: 20120 IVFAIL = IVFAIL + 1 03260710
330: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03270710
331: 0121 CONTINUE 03280710
332: C 03290710
333: CT013* TEST 013 **** FCVS PROGRAM 710 **** 03300710
334: C 03310710
335: C TEST 013 ENTIRE SUBSTRING FROM ARRAY 03320710
336: C 03330710
337: IVTNUM = 13 03340710
338: CVCOMP = ' ' 03350710
339: IVCOMP = 0 03360710
340: CVCORR = '23SIXTHIJK' 03370710
341: CVCOMP = C2N001(2,3)(:) 03380710
342: IF (CVCOMP .EQ. '23SIXTHIJK') IVCOMP = 1 03390710
343: IF (IVCOMP - 1) 20130, 10130, 20130 03400710
344: 10130 IVPASS = IVPASS + 1 03410710
345: WRITE (I02,80002) IVTNUM 03420710
346: GO TO 0131 03430710
347: 20130 IVFAIL = IVFAIL + 1 03440710
348: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03450710
349: 0131 CONTINUE 03460710
350: C 03470710
351: CT014* TEST 014 **** FCVS PROGRAM 710 **** 03480710
352: C 03490710
353: C RIGHT POSITION OMITTED USING ARRAY 03500710
354: C 03510710
355: IVTNUM = 14 03520710
356: CVCOMP = ' ' 03530710
357: IVCOMP = 0 03540710
358: CVCORR = 'EVENTHH ' 03550710
359: CVCOMP = C2N001(1,4)(4:) 03560710
360: IF (CVCOMP .EQ. 'EVENTHH ') IVCOMP = 1 03570710
361: IF (IVCOMP - 1) 20140, 10140, 20140 03580710
362: 10140 IVPASS = IVPASS + 1 03590710
363: WRITE (I02,80002) IVTNUM 03600710
364: GO TO 0141 03610710
365: 20140 IVFAIL = IVFAIL + 1 03620710
366: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03630710
367: 0141 CONTINUE 03640710
368: C 03650710
369: CT015* TEST 015 **** FCVS PROGRAM 710 **** 03660710
370: C 03670710
371: C LEFT POSITION OMITTED 03680710
372: C 03690710
373: IVTNUM = 15 03700710
374: CVCOMP = ' ' 03710710
375: IVCOMP = 0 03720710
376: CVCORR = '24EI ' 03730710
377: CVCOMP = C2N001(2,4)(:4) 03740710
378: IF (CVCOMP .EQ. '24EI ') IVCOMP = 1 03750710
379: IF (IVCOMP - 1) 20150, 10150, 20150 03760710
380: 10150 IVPASS = IVPASS + 1 03770710
381: WRITE (I02,80002) IVTNUM 03780710
382: GO TO 0151 03790710
383: 20150 IVFAIL = IVFAIL + 1 03800710
384: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 03810710
385: 0151 CONTINUE 03820710
386: C 03830710
387: C TESTS 16-19 - SUBSTRING EXPRESSION 03840710
388: C 03850710
389: C 03860710
390: CT016* TEST 016 **** FCVS PROGRAM 710 **** 03870710
391: C 03880710
392: C TEST 016 ARITHMETIC EXPRESSION 03890710
393: C 03900710
394: IVTNUM = 16 03910710
395: CVCOMP = ' ' 03920710
396: IVCOMP = 0 03930710
397: CVCORR = 'HIS IS IT ' 03940710
398: CVCOMP = CVN001(2:5*2) 03950710
399: IF (CVCOMP .EQ. 'HIS IS IT ') IVCOMP = 1 03960710
400: IF (IVCOMP - 1) 20160, 10160, 20160 03970710
401: 10160 IVPASS = IVPASS + 1 03980710
402: WRITE (I02,80002) IVTNUM 03990710
403: GO TO 0161 04000710
404: 20160 IVFAIL = IVFAIL + 1 04010710
405: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04020710
406: 0161 CONTINUE 04030710
407: C 04040710
408: CT017* TEST 017 **** FCVS PROGRAM 710 **** 04050710
409: C 04060710
410: C TEST 017 SUBSTRING EXPRESSION IN AN ASSIGNMENT STATEMENT 04070710
411: C 04080710
412: IVTNUM = 17 04090710
413: IVN001 = 5 04100710
414: IVN002 = 8 04110710
415: CVCOMP = ' ' 04120710
416: IVCOMP = 0 04130710
417: CVCORR = 'THISLIKEIT' 04140710
418: CVN001(IVN001:IVN002) = 'LIKE' 04150710
419: CVCOMP = CVN001 04160710
420: IF (CVCOMP .EQ. 'THISLIKEIT') IVCOMP = 1 04170710
421: IF (IVCOMP - 1) 20170, 10170, 20170 04180710
422: 10170 IVPASS = IVPASS + 1 04190710
423: WRITE (I02,80002) IVTNUM 04200710
424: GO TO 0171 04210710
425: 20170 IVFAIL = IVFAIL + 1 04220710
426: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04230710
427: 0171 CONTINUE 04240710
428: C 04250710
429: CT018* TEST 018 **** FCVS PROGRAM 710 **** 04260710
430: C 04270710
431: C TEST 018 SUBSTRING EXPRESSION CONTAINING ARRAY ELEMENT REFERENCE 04280710
432: C 04290710
433: IVTNUM = 18 04300710
434: CVCOMP = ' ' 04310710
435: IVCOMP = 0 04320710
436: CVCORR = 'HISLIKE ' 04330710
437: CVCOMP = CVN001(I2N001(2,1):I2N002(3,5)-27) 04340710
438: IF (CVCOMP .EQ. 'HISLIKE ') IVCOMP = 1 04350710
439: IF (IVCOMP - 1) 20180, 10180, 20180 04360710
440: 10180 IVPASS = IVPASS + 1 04370710
441: WRITE (I02,80002) IVTNUM 04380710
442: GO TO 0181 04390710
443: 20180 IVFAIL = IVFAIL + 1 04400710
444: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04410710
445: 0181 CONTINUE 04420710
446: C 04430710
447: CT019* TEST 019 **** FCVS PROGRAM 710 **** 04440710
448: C 04450710
449: C TEST 019 SUBSTRING EXPRESSION CONTAINING FUNCTION REFERENCES 04460710
450: C 04470710
451: IVTNUM = 19 04480710
452: RVD001 = 1.475 04490710
453: IVN001 = 1 04500710
454: CVCOMP = ' ' 04510710
455: IVCOMP = 0 04520710
456: CVCORR = 'IFTHABC ' 04530710
457: CVCOMP = C2N001(1,3)(INT(RVD001)+3 : (IVN001*5 + 7)/IABS(-6) + 8) 04540710
458: IF (CVCOMP .EQ. 'IFTHABC ') IVCOMP = 1 04550710
459: IF (IVCOMP - 1) 20190, 10190, 20190 04560710
460: 10190 IVPASS = IVPASS + 1 04570710
461: WRITE (I02,80002) IVTNUM 04580710
462: GO TO 0191 04590710
463: 20190 IVFAIL = IVFAIL + 1 04600710
464: WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR 04610710
465: 0191 CONTINUE 04620710
466: C 04630710
467: CBB** ********************** BBCSUM0 **********************************04640710
468: C**** WRITE OUT TEST SUMMARY 04650710
469: C**** 04660710
470: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 04670710
471: WRITE (I02, 90004) 04680710
472: WRITE (I02, 90014) 04690710
473: WRITE (I02, 90004) 04700710
474: WRITE (I02, 90020) IVPASS 04710710
475: WRITE (I02, 90022) IVFAIL 04720710
476: WRITE (I02, 90024) IVDELE 04730710
477: WRITE (I02, 90026) IVINSP 04740710
478: WRITE (I02, 90028) IVTOTN, IVTOTL 04750710
479: CBE** ********************** BBCSUM0 **********************************04760710
480: CBB** ********************** BBCFOOT0 **********************************04770710
481: C**** WRITE OUT REPORT FOOTINGS 04780710
482: C**** 04790710
483: WRITE (I02,90016) ZPROG, ZPROG 04800710
484: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 04810710
485: WRITE (I02,90019) 04820710
486: CBE** ********************** BBCFOOT0 **********************************04830710
487: 90001 FORMAT (1H ,56X,5HFM710) 04840710
488: 90000 FORMAT (1H ,50X,20HEND OF PROGRAM FM710) 04850710
489: CBB** ********************** BBCFMT0A **********************************04860710
490: C**** FORMATS FOR TEST DETAIL LINES 04870710
491: C**** 04880710
492: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 04890710
493: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 04900710
494: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 04910710
495: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 04920710
496: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 04930710
497: 1I6,/,1H ,15X,10HCORRECT= ,I6) 04940710
498: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 04950710
499: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 04960710
500: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 04970710
501: 1A21,/,1H ,16X,10HCORRECT= ,A21) 04980710
502: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 04990710
503: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 05000710
504: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 05010710
505: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 05020710
506: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 05030710
507: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 05040710
508: 80050 FORMAT (1H ,48X,A31) 05050710
509: CBE** ********************** BBCFMT0A **********************************05060710
510: CBB** ********************** BBCFMAT1 **********************************05070710
511: C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 05080710
512: C**** 05090710
513: 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 05100710
514: 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 05110710
515: 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 05120710
516: 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 05130710
517: 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 05140710
518: 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 05150710
519: 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 05160710
520: 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 05170710
521: 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 05180710
522: 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 05190710
523: 21H(,F12.5,2H, ,F12.5,1H)) 05200710
524: CBE** ********************** BBCFMAT1 **********************************05210710
525: CBB** ********************** BBCFMT0B **********************************05220710
526: C**** FORMAT STATEMENTS FOR PAGE HEADERS 05230710
527: C**** 05240710
528: 90002 FORMAT (1H1) 05250710
529: 90004 FORMAT (1H ) 05260710
530: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 05270710
531: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 05280710
532: 90008 FORMAT (1H ,21X,A13,A17) 05290710
533: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 05300710
534: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 05310710
535: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 05320710
536: 1 7X,7HREMARKS,24X) 05330710
537: 90014 FORMAT (1H ,46H----------------------------------------------, 05340710
538: 1 33H---------------------------------) 05350710
539: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 05360710
540: C**** 05370710
541: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 05380710
542: C**** 05390710
543: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 05400710
544: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 05410710
545: 1 A13) 05420710
546: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 05430710
547: C**** 05440710
548: C**** FORMAT STATEMENTS FOR RUN SUMMARY 05450710
549: C**** 05460710
550: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 05470710
551: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 05480710
552: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 05490710
553: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 05500710
554: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 05510710
555: CBE** ********************** BBCFMT0B **********************************05520710
556: END 05530710
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.