|
|
1.1 root 1: PROGRAM FM203 00010203
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 00020203
6: C 00030203
7: C THIS ROUTINE CONTINUES THE TESTING OF CHARACTER DATA TYPES 00040203
8: C WHICH WAS STARTED IN FM202. THE CHARACTER TYPE-STATEMENTS SPECIFY00050203
9: C CHARACTER VARIABLES AND ONE-DIMENSIONAL CHARACTER ARRAYS OF 00060203
10: C LENGTH ONE AND LENGTH TWO. THE TESTS IN THIS ROUTINE DETERMINE 00070203
11: C THAT THE FOLLOWING LANGUAGE FEATURES FUNCTION CORRECTLY. 00080203
12: C 00090203
13: C (1) CHARACTER ASSIGNMENT STATEMENTS OF THE FORM 00100203
14: C 00110203
15: C CHARACTER ARRAY ELEMENT = CHARACTER CONSTANT 00120203
16: C CHARACTER ARRAY ELEMENT = CHARACTER VARIABLE 00130203
17: C CHARACTER ARRAY ELEMENT = CHARACTER ARRAY ELEMENT 00140203
18: C CHARACTER VARIABLE = CHARACTER ARRAY ELEMENT 00150203
19: C 00160203
20: C WHERE THE ARRAY ELEMENTS, VARIABLES AND CONSTANTS ARE OF LENGTH 00170203
21: C ONE OR TWO. 00180203
22: C 00190203
23: C (2) CHARACTER RELATIONAL EXPRESSIONS OF THE FORM 00200203
24: C 00210203
25: C CHARACTER ARRAY ELEMENT RELOP CHARACTER CONSTANT 00220203
26: C CHARACTER ARRAY ELEMENT RELOP CHARACTER VARIABLE 00230203
27: C CHARACTER ARRAY ELEMENT RELOP CHARACTER ARRAY ELEMENT 00240203
28: C 00250203
29: C WHERE THE ARRAY ELEMENTS, VARIABLES AND CONSTANTS ARE OF LENGTH 00260203
30: C ONE OR TWO. 00270203
31: C 00280203
32: C (3) CHARACTER EXPRESSIONS ENCLOSED IN PARENTHESES. THE FORMS00290203
33: C TESTED ARE 00300203
34: C 00310203
35: C (CHARACTER CONSTANT) 00320203
36: C (CHARACTER VARIABLE) 00330203
37: C (CHARACTER ARRAY ELEMENT) 00340203
38: C ((CHARACTER ARRAY ELEMENT)) 00350203
39: C 00360203
40: C (4) CHARACTER RELATIONAL EXPRESSIONS OF THE FORM 00370203
41: C 00380203
42: C CHARACTER ARRAY ELEMENT .EQ. CHARACTER CONSTANT 00390203
43: C 00400203
44: C ARE USED IN THIS ROUTINE TO VERIFY THE CHARACTER ASSIGNMENT 00410203
45: C STATEMENTS. 00420203
46: C 00430203
47: C REFERENCES 00440203
48: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00450203
49: C X3.9-1978 00460203
50: C 00470203
51: C SECTION 4.8, CHARACTER TYPE 00480203
52: C SECTION 4.8.1, CHARACTER CONSTANT 00490203
53: C SECTION 6.2, CHARACTER EXPRESSIONS 00500203
54: C SECTION 6.3.4, CHARACTER RELATIONAL EXPRESSION 00510203
55: C SECTION 6.3.5, INTERPRETATION OF CHARACTER RELATIONAL 00520203
56: C EXPRESSIONS 00530203
57: C SECTION 8.4.2, CHARACTER TYPE-STATEMENT 00540203
58: C SECTION 10.4, CHARACTER ASSIGNMENT STATEMENT 00550203
59: C 00560203
60: C 00570203
61: C 00580203
62: C ******************************************************************00590203
63: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00600203
64: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN 00610203
65: C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE 00620203
66: C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT 00630203
67: C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT00640203
68: C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS 00650203
69: C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00660203
70: C THE RESULT OF EXECUTING THESE TESTS. 00670203
71: C 00680203
72: C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES 00690203
73: C FOUND IN THE SUBSET LEVEL OF THE STANDARD. 00700203
74: C 00710203
75: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00720203
76: C DEPARTMENT OF THE NAVY 00730203
77: C FEDERAL COBOL COMPILER TESTING SERVICE 00740203
78: C WASHINGTON, D.C. 20376 00750203
79: C 00760203
80: C ******************************************************************00770203
81: C 00780203
82: C 00790203
83: IMPLICIT LOGICAL (L) 00800203
84: IMPLICIT CHARACTER*14 (C) 00810203
85: C 00820203
86: CHARACTER CATN11(5), CVTN01, CATN12(5), CVTN02 00830203
87: CHARACTER*2 CATN13, CVTN03, CATN14(5), CVTN04 00840203
88: DIMENSION CATN13(5) 00850203
89: C 00860203
90: C 00870203
91: C 00880203
92: C INITIALIZATION SECTION. 00890203
93: C 00900203
94: C INITIALIZE CONSTANTS 00910203
95: C ******************** 00920203
96: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER 00930203
97: I01 = 5 00940203
98: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER 00950203
99: I02 = 6 00960203
100: C SYSTEM ENVIRONMENT SECTION 00970203
101: C 00980203
102: I01 = 5 00990203
103: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 01000203
104: C (UNIT NUMBER FOR CARD READER). 01010203
105: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD01020203
106: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01030203
107: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 01040203
108: C 01050203
109: I02 = 6 01060203
110: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 01070203
111: C (UNIT NUMBER FOR PRINTER). 01080203
112: CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.01090203
113: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 01100203
114: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 01110203
115: C 01120203
116: IVPASS = 0 01130203
117: IVFAIL = 0 01140203
118: IVDELE = 0 01150203
119: ICZERO = 0 01160203
120: C 01170203
121: C WRITE OUT PAGE HEADERS 01180203
122: C 01190203
123: WRITE (I02,90002) 01200203
124: WRITE (I02,90006) 01210203
125: WRITE (I02,90008) 01220203
126: WRITE (I02,90004) 01230203
127: WRITE (I02,90010) 01240203
128: WRITE (I02,90004) 01250203
129: WRITE (I02,90016) 01260203
130: WRITE (I02,90001) 01270203
131: WRITE (I02,90004) 01280203
132: WRITE (I02,90012) 01290203
133: WRITE (I02,90014) 01300203
134: WRITE (I02,90004) 01310203
135: C 01320203
136: C 01330203
137: C TEST 31 THROUGH TEST 33 VERIFY THAT THE CHARACTER ASSIGNMENT 01340203
138: C STATEMENT 01350203
139: C 01360203
140: C CHARACTER ARRAY ELEMENT (LEN 1) = CHARACTER CONSTANT (LEN 1) 01370203
141: C 01380203
142: C IS CORRECT. THE CHARACTER RELATIONAL EXPRESSION 01390203
143: C 01400203
144: C CHARACTER ARRAY ELEMENT (LEN 1) .EQ. CHARACTER CONSTANT (LEN 1) 01410203
145: C 01420203
146: C IS USED TO VERIFY THE ASSIGNMENT STATEMENT. BOTH OF THE ABOVE 01430203
147: C STATEMENT FORMS MUST MEET THE LANGUAGE SPECIFICATIONS FOR THESE 01440203
148: C TESTS TO PASS. 01450203
149: C 01460203
150: C THE TWO ARRAYS USED IN THESE TESTS ARE CATN11(5) AND CATN12(5)01470203
151: C THE ARRAYS ARE INITIALIZED TO A BLANK CHARACTER BY THE DO-LOOP 01480203
152: C 01490203
153: DO 312 I= 1,5 01500203
154: CATN11(I) = ' ' 01510203
155: CATN12(I) = ' ' 01520203
156: 312 CONTINUE 01530203
157: C 01540203
158: C **** FCVS PROGRAM 203 - TEST 031 **** 01550203
159: C 01560203
160: C 01570203
161: IVTNUM = 31 01580203
162: IF (ICZERO) 30310, 0310, 30310 01590203
163: 0310 CONTINUE 01600203
164: IVCOMP = 0 01610203
165: IVCORR = 1 01620203
166: CATN11(2) = 'V' 01630203
167: IF (CATN11(2) .EQ. 'V') IVCOMP = 1 01640203
168: 40310 IF (IVCOMP - 1) 20310,10310,20310 01650203
169: 30310 IVDELE = IVDELE + 1 01660203
170: WRITE (I02,80000) IVTNUM 01670203
171: IF (ICZERO) 10310, 0321, 20310 01680203
172: 10310 IVPASS = IVPASS + 1 01690203
173: WRITE (I02,80002) IVTNUM 01700203
174: GO TO 0321 01710203
175: 20310 IVFAIL = IVFAIL + 1 01720203
176: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01730203
177: 0321 CONTINUE 01740203
178: C 01750203
179: C **** FCVS PROGRAM 203 - TEST 032 **** 01760203
180: C 01770203
181: C 01780203
182: IVTNUM = 32 01790203
183: IF (ICZERO) 30320, 0320, 30320 01800203
184: 0320 CONTINUE 01810203
185: IVCOMP=0 01820203
186: IVCORR=1 01830203
187: CATN11(3) = '+' 01840203
188: IF (CATN11(3) .EQ. '+') IVCOMP = 1 01850203
189: 40320 IF (IVCOMP - 1) 20320,10320,20320 01860203
190: 30320 IVDELE = IVDELE + 1 01870203
191: WRITE (I02,80000) IVTNUM 01880203
192: IF (ICZERO) 10320, 0331, 20320 01890203
193: 10320 IVPASS = IVPASS + 1 01900203
194: WRITE (I02,80002) IVTNUM 01910203
195: GO TO 0331 01920203
196: 20320 IVFAIL = IVFAIL + 1 01930203
197: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01940203
198: 0331 CONTINUE 01950203
199: C 01960203
200: C **** FCVS PROGRAM 203 - TEST 033 **** 01970203
201: C 01980203
202: C 01990203
203: IVTNUM = 33 02000203
204: IF (ICZERO) 30330, 0330, 30330 02010203
205: 0330 CONTINUE 02020203
206: IVCOMP = 0 02030203
207: IVCORR = 1 02040203
208: CATN11 (4) = '7' 02050203
209: IF (CATN11 (4) .EQ. '7') IVCOMP = 1 02060203
210: 40330 IF (IVCOMP -1) 20330,10330,20330 02070203
211: 30330 IVDELE = IVDELE + 1 02080203
212: WRITE (I02,80000) IVTNUM 02090203
213: IF (ICZERO) 10330, 0341, 20330 02100203
214: 10330 IVPASS = IVPASS + 1 02110203
215: WRITE (I02,80002) IVTNUM 02120203
216: GO TO 0341 02130203
217: 20330 IVFAIL = IVFAIL + 1 02140203
218: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02150203
219: 0341 CONTINUE 02160203
220: C 02170203
221: C TEST 34 THROUGH TEST 36 VERIFY THAT THE CHARACTER ASSIGNMENT 02180203
222: C STATEMENTS 02190203
223: C 02200203
224: C CHARACTER VARIABLE (LEN 1) = CHARACTER CONSTANT (LEN 1) 02210203
225: C CHARACTER ARRAY ELEMENT (LEN1) = CHARACTER VARIABLE (LEN1) 02220203
226: C 02230203
227: C ARE CORRECT. THE CHARACTER RELATIONAL EXPRESSION 02240203
228: C 02250203
229: C CHARACTER ARRAY ELEMENT (LEN1) .EQ. CHAR. CONSTANT (LEN1) 02260203
230: C 02270203
231: C IS USED TO VERIFY THE RESULT OF THE ASSIGNMENT STATEMENTS. 02280203
232: C 02290203
233: C 02300203
234: C **** FCVS PROGRAM 203 - TEST 034 **** 02310203
235: C 02320203
236: C 02330203
237: IVTNUM = 34 02340203
238: IF (ICZERO) 30340, 0340, 30340 02350203
239: 0340 CONTINUE 02360203
240: IVCOMP = 0 02370203
241: IVCORR = 1 02380203
242: CVTN01 = 'V' 02390203
243: CATN12(2) = CVTN01 02400203
244: IF (CATN12(2) .EQ. 'V') IVCOMP = 1 02410203
245: 40340 IF (IVCOMP - 1) 20340,10340,20340 02420203
246: 30340 IVDELE = IVDELE + 1 02430203
247: WRITE (I02,80000) IVTNUM 02440203
248: IF (ICZERO) 10340, 0351, 20340 02450203
249: 10340 IVPASS = IVPASS + 1 02460203
250: WRITE (I02,80002) IVTNUM 02470203
251: GO TO 0351 02480203
252: 20340 IVFAIL = IVFAIL + 1 02490203
253: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02500203
254: 0351 CONTINUE 02510203
255: C 02520203
256: C **** FCVS PROGRAM 203 - TEST 035 **** 02530203
257: C 02540203
258: C 02550203
259: IVTNUM = 35 02560203
260: IF (ICZERO) 30350, 0350, 30350 02570203
261: 0350 CONTINUE 02580203
262: IVCOMP = 0 02590203
263: IVCORR = 1 02600203
264: CVTN01 = '+' 02610203
265: CATN12(3) = CVTN01 02620203
266: IF (CATN12(3) .EQ. '+') IVCOMP = 1 02630203
267: 40350 IF (IVCOMP - 1) 20350,10350,20350 02640203
268: 30350 IVDELE = IVDELE + 1 02650203
269: WRITE (I02,80000) IVTNUM 02660203
270: IF (ICZERO) 10350, 0361, 20350 02670203
271: 10350 IVPASS = IVPASS + 1 02680203
272: WRITE (I02,80002) IVTNUM 02690203
273: GO TO 0361 02700203
274: 20350 IVFAIL = IVFAIL + 1 02710203
275: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02720203
276: 0361 CONTINUE 02730203
277: C 02740203
278: C **** FCVS PROGRAM 203 - TEST 036 **** 02750203
279: C 02760203
280: C 02770203
281: IVTNUM = 36 02780203
282: IF (ICZERO) 30360, 0360, 30360 02790203
283: 0360 CONTINUE 02800203
284: IVCOMP = 0 02810203
285: IVCORR = 1 02820203
286: CVTN01 = '7' 02830203
287: CATN12(4) = CVTN01 02840203
288: IF (CATN12(4) .EQ. '7') IVCOMP = 1 02850203
289: 40360 IF (IVCOMP - 1) 20360,10360,20360 02860203
290: 30360 IVDELE = IVDELE + 1 02870203
291: WRITE (I02,80000) IVTNUM 02880203
292: IF (ICZERO) 10360, 0371, 20360 02890203
293: 10360 IVPASS = IVPASS + 1 02900203
294: WRITE (I02,80002) IVTNUM 02910203
295: GO TO 0371 02920203
296: 20360 IVFAIL = IVFAIL + 1 02930203
297: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02940203
298: 0371 CONTINUE 02950203
299: C 02960203
300: C TEST 37 THROUGH TEST 39 VERIFY THAT THE CHARACTER ASSIGNMENT 02970203
301: C STATEMENTS 02980203
302: C 02990203
303: C CHAR. ARRAY ELEMENT (LEN 1) = CHAR. CONSTANT (LEN 1) 03000203
304: C CHAR. ARRAY ELEMENT (LEN 1) = CHAR. ARRAY ELEMENT (LEN 1) 03010203
305: C 03020203
306: C ARE CORRECT. THE CHARACTER RELATIONAL EXPRESSION 03030203
307: C 03040203
308: C CHAR. ARRAY ELEMENT (LEN 1) .EQ. CHAR. CONSTANT (LEN 1) 03050203
309: C 03060203
310: C IS USED TO VERIFY THE RESULT OF THE ASSIGNMENT STATEMENTS. 03070203
311: C 03080203
312: C 03090203
313: C **** FCVS PROGRAM 203 - TEST 037 **** 03100203
314: C 03110203
315: C 03120203
316: IVTNUM = 37 03130203
317: IF (ICZERO) 30370, 0370, 30370 03140203
318: 0370 CONTINUE 03150203
319: IVCOMP = 1 03160203
320: IVCORR = 6 03170203
321: CATN11 (1) = 'V' 03180203
322: CATN12 (1) = CATN11 (1) 03190203
323: IF (CATN12(1) .EQ. 'V') IVCOMP=IVCOMP*2 03200203
324: IF (CATN11(1) .EQ. 'V') IVCOMP=IVCOMP*3 03210203
325: 40370 IF (IVCOMP-6) 20370,10370,20370 03220203
326: 30370 IVDELE = IVDELE + 1 03230203
327: WRITE (I02,80000) IVTNUM 03240203
328: IF (ICZERO) 10370, 0381, 20370 03250203
329: 10370 IVPASS = IVPASS + 1 03260203
330: WRITE (I02,80002) IVTNUM 03270203
331: GO TO 0381 03280203
332: 20370 IVFAIL = IVFAIL + 1 03290203
333: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03300203
334: 0381 CONTINUE 03310203
335: C 03320203
336: C **** FCVS PROGRAM 203 - TEST 038 **** 03330203
337: C 03340203
338: C 03350203
339: IVTNUM = 38 03360203
340: IF (ICZERO) 30380, 0380, 30380 03370203
341: 0380 CONTINUE 03380203
342: IVCOMP=1 03390203
343: IVCORR=6 03400203
344: CATN11(2) = '+' 03410203
345: CATN12(2) = CATN11(2) 03420203
346: IF (CATN12(2) .EQ. '+') IVCOMP=IVCOMP*2 03430203
347: IF (CATN11(2) .EQ. '+') IVCOMP=IVCOMP*3 03440203
348: 40380 IF (IVCOMP - 6) 20380,10380,20380 03450203
349: 30380 IVDELE = IVDELE + 1 03460203
350: WRITE (I02,80000) IVTNUM 03470203
351: IF (ICZERO) 10380, 0391, 20380 03480203
352: 10380 IVPASS = IVPASS + 1 03490203
353: WRITE (I02,80002) IVTNUM 03500203
354: GO TO 0391 03510203
355: 20380 IVFAIL = IVFAIL + 1 03520203
356: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03530203
357: 0391 CONTINUE 03540203
358: C 03550203
359: C **** FCVS PROGRAM 203 - TEST 039 **** 03560203
360: C 03570203
361: C 03580203
362: IVTNUM = 39 03590203
363: IF (ICZERO) 30390, 0390, 30390 03600203
364: 0390 CONTINUE 03610203
365: IVCOMP = 1 03620203
366: IVCORR = 6 03630203
367: CATN11 (3) = '7' 03640203
368: CATN12 (3) = CATN11 (3) 03650203
369: IF (CATN12(3) .EQ. '7') IVCOMP = IVCOMP * 2 03660203
370: IF (CATN11(3) .EQ. '7') IVCOMP = IVCOMP * 3 03670203
371: 40390 IF (IVCOMP - 6) 20390,10390,20390 03680203
372: 30390 IVDELE = IVDELE + 1 03690203
373: WRITE (I02,80000) IVTNUM 03700203
374: IF (ICZERO) 10390, 0401, 20390 03710203
375: 10390 IVPASS = IVPASS + 1 03720203
376: WRITE (I02,80002) IVTNUM 03730203
377: GO TO 0401 03740203
378: 20390 IVFAIL = IVFAIL + 1 03750203
379: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03760203
380: 0401 CONTINUE 03770203
381: C 03780203
382: C TEST 40 AND TEST 41 VERIFY THAT THE CHARACTER ASSIGNMENT 03790203
383: C STATEMENTS 03800203
384: C 03810203
385: C CHAR. ARRAY ELEMENT (LEN 1) = CHAR. CONSTANT (LEN 1) 03820203
386: C CHAR. VARIABLE (LEN 1) = CHAR. ARRAY ELEMENT (LEN 1) 03830203
387: C 03840203
388: C ARE CORRECT. 03850203
389: C 03860203
390: C 03870203
391: C **** FCVS PROGRAM 203 - TEST 040 **** 03880203
392: C 03890203
393: C 03900203
394: IVTNUM = 40 03910203
395: IF (ICZERO) 30400, 0400, 30400 03920203
396: 0400 CONTINUE 03930203
397: IVCOMP = 0 03940203
398: IVCORR = 1 03950203
399: CATN11(4) = 'X' 03960203
400: CVTN02 = CATN11 (4) 03970203
401: IF (CVTN02 .EQ. 'X') IVCOMP = 1 03980203
402: 40400 IF (IVCOMP - 1) 20400,10400,20400 03990203
403: 30400 IVDELE = IVDELE + 1 04000203
404: WRITE (I02,80000) IVTNUM 04010203
405: IF (ICZERO) 10400, 0411, 20400 04020203
406: 10400 IVPASS = IVPASS + 1 04030203
407: WRITE (I02,80002) IVTNUM 04040203
408: GO TO 0411 04050203
409: 20400 IVFAIL = IVFAIL + 1 04060203
410: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04070203
411: 0411 CONTINUE 04080203
412: C 04090203
413: C **** FCVS PROGRAM 203 - TEST 041 **** 04100203
414: C 04110203
415: C 04120203
416: IVTNUM = 41 04130203
417: IF (ICZERO) 30410, 0410, 30410 04140203
418: 0410 CONTINUE 04150203
419: IVCOMP = 0 04160203
420: IVCORR = 1 04170203
421: CATN11(3) = '-' 04180203
422: CVTN02 = CATN11(3) 04190203
423: IF (CVTN02 .EQ. '-') IVCOMP=1 04200203
424: 40410 IF (IVCOMP - 1) 20410,10410,20410 04210203
425: 30410 IVDELE = IVDELE + 1 04220203
426: WRITE (I02,80000) IVTNUM 04230203
427: IF (ICZERO) 10410, 0421, 20410 04240203
428: 10410 IVPASS = IVPASS + 1 04250203
429: WRITE (I02,80002) IVTNUM 04260203
430: GO TO 0421 04270203
431: 20410 IVFAIL = IVFAIL + 1 04280203
432: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04290203
433: 0421 CONTINUE 04300203
434: C 04310203
435: C TEST 42 THROUGH TEST 44 VERIFY THE RESULTS OF CHARACTER 04320203
436: C RELATIONAL EXPRESSIONS USING EACH OF THE SIX RELATIONAL OPERATORS.04330203
437: C THE CHARACTER DATA 'A' AND '1' ARE COMPARED IN THE EXPRESSION 04340203
438: C AND ARE INITIALIZED BY THE CHARACTER ASSIGNMENT STATEMENTS 04350203
439: C 04360203
440: CATN11 (4) = 'A' 04370203
441: CATN12 (3) = '1' 04380203
442: CVTN01 = 'A' 04390203
443: CVTN02 = '1' 04400203
444: C 04410203
445: C **** FCVS PROGRAM 203 - TEST 042 **** 04420203
446: C 04430203
447: C RELATIONAL OPERATORS .NE. AND .EQ. 04440203
448: C CHAR. ARRAY ELEMENT (LEN 1) RELOP CHAR. CONSTANT (LEN 1) 04450203
449: C 04460203
450: IVTNUM = 42 04470203
451: IF (ICZERO) 30420, 0420, 30420 04480203
452: 0420 CONTINUE 04490203
453: IVCOMP = 1 04500203
454: IVCORR = 3 04510203
455: IF (CATN11(4) .EQ. '1') IVCOMP=IVCOMP*2 04520203
456: IF ('A' .NE. CATN12(3)) IVCOMP=IVCOMP*3 04530203
457: 40420 IF (IVCOMP - 3) 20420,10420,20420 04540203
458: 30420 IVDELE = IVDELE + 1 04550203
459: WRITE (I02,80000) IVTNUM 04560203
460: IF (ICZERO) 10420, 0431, 20420 04570203
461: 10420 IVPASS = IVPASS + 1 04580203
462: WRITE (I02,80002) IVTNUM 04590203
463: GO TO 0431 04600203
464: 20420 IVFAIL = IVFAIL + 1 04610203
465: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04620203
466: 0431 CONTINUE 04630203
467: C 04640203
468: C **** FCVS PROGRAM 203 - TEST 043 **** 04650203
469: C 04660203
470: C RELATIONAL OPERATORS .LE. AND .GE. 04670203
471: C CHAR. ARRAY ELEMENT (LEN 1) RELOP CHAR. VARIABLE (LEN 1) 04680203
472: C 04690203
473: IVTNUM = 43 04700203
474: IF (ICZERO) 30430, 0430, 30430 04710203
475: 0430 CONTINUE 04720203
476: IVCOMP = 0 04730203
477: IVCORR = 1 04740203
478: IF (CATN11(4) .LE. CVTN02) IVCOMP=IVCOMP+1 04750203
479: IF (CVTN01 .GE. CATN12(3)) IVCOMP=IVCOMP+1 04760203
480: 40430 IF (IVCOMP - 1) 20430,10430,20430 04770203
481: 30430 IVDELE = IVDELE + 1 04780203
482: WRITE (I02,80000) IVTNUM 04790203
483: IF (ICZERO) 10430, 0441, 20430 04800203
484: 10430 IVPASS = IVPASS + 1 04810203
485: WRITE (I02,80002) IVTNUM 04820203
486: GO TO 0441 04830203
487: 20430 IVFAIL = IVFAIL + 1 04840203
488: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04850203
489: 0441 CONTINUE 04860203
490: C 04870203
491: C **** FCVS PROGRAM 203 - TEST 044 **** 04880203
492: C 04890203
493: C RELATIONAL OPERATORS .LT. AND .GT. 04900203
494: C CHAR. ARRAY ELEMENT (LEN 1) RELOP CHAR. ARRAY ELEMENT (LEN 1) 04910203
495: C 04920203
496: IVTNUM = 44 04930203
497: IF (ICZERO) 30440, 0440, 30440 04940203
498: 0440 CONTINUE 04950203
499: IVCOMP = 0 04960203
500: IVCORR = 1 04970203
501: IF (CATN11(4) .LT. CATN12(3)) IVCOMP=IVCOMP+1 04980203
502: IF (CATN11(4) .GT. CATN12(3)) IVCOMP=IVCOMP+1 04990203
503: 40440 IF (IVCOMP - 1) 20440,10440,20440 05000203
504: 30440 IVDELE = IVDELE + 1 05010203
505: WRITE (I02,80000) IVTNUM 05020203
506: IF (ICZERO) 10440, 0451, 20440 05030203
507: 10440 IVPASS = IVPASS + 1 05040203
508: WRITE (I02,80002) IVTNUM 05050203
509: GO TO 0451 05060203
510: 20440 IVFAIL = IVFAIL + 1 05070203
511: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05080203
512: 0451 CONTINUE 05090203
513: C 05100203
514: C **** FCVS PROGRAM 203 - TEST 045 **** 05110203
515: C 05120203
516: C TEST 45 VERIFIES THAT THE LAST ELEMENTS OF THE ARRAYS USED 05130203
517: C IN TEST 31 THROUGH TEST 44 WERE NOT AFFECTED BY THE SETTING 05140203
518: C OF OTHER CHARACTER ARRAY ELEMENTS. 05150203
519: C 05160203
520: IVTNUM = 45 05170203
521: IF (ICZERO) 30450, 0450, 30450 05180203
522: 0450 CONTINUE 05190203
523: IVCOMP = 1 05200203
524: IVCORR = 30 05210203
525: IF (CATN11(5) .EQ. ' ') IVCOMP=IVCOMP*2 05220203
526: IF (CATN12(5) .EQ. ' ') IVCOMP=IVCOMP*3 05230203
527: IF (CATN11(5) .EQ. CATN12(5)) IVCOMP=IVCOMP*5 05240203
528: 40450 IF (IVCOMP - 30) 20450,10450,20450 05250203
529: 30450 IVDELE = IVDELE + 1 05260203
530: WRITE (I02,80000) IVTNUM 05270203
531: IF (ICZERO) 10450, 0461, 20450 05280203
532: 10450 IVPASS = IVPASS + 1 05290203
533: WRITE (I02,80002) IVTNUM 05300203
534: GO TO 0461 05310203
535: 20450 IVFAIL = IVFAIL + 1 05320203
536: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05330203
537: 0461 CONTINUE 05340203
538: C 05350203
539: C TEST 46 THROUGH TEST 49 CONTAIN CHARACTER ARRAY ELEMENTS OF 05360203
540: C LENGTH TWO IN CHARACTER ASSIGNMENT STATEMENTS. THE CHARACTER 05370203
541: C RELATIONAL EXPRESSION 05380203
542: C 05390203
543: C CHAR. ARRAY ELEMENT (LEN 2) .EQ. CHAR. CONSTANT (LEN 2) 05400203
544: C 05410203
545: C IS USED TO VERIFY THE TEST RESULTS. 05420203
546: C 05430203
547: C THE TWO ARRAYS USED IN THESE TESTS ARE CATN13(5) AND CATN14(5)05440203
548: C THE ARRAYS ARE INITIALIZED TO TWO BLANK CHARACTERS BY THE DO-LOOP 05450203
549: C 05460203
550: DO 462 I=1,5 05470203
551: CATN13(I) = ' ' 05480203
552: CATN14(I) = ' ' 05490203
553: 462 CONTINUE 05500203
554: C 05510203
555: C **** FCVS PROGRAM 203 - TEST 046 **** 05520203
556: C 05530203
557: C CHAR. ARRAY ELEMENT (LEN 2) = CHAR. CONSTANT (LEN 2) 05540203
558: C 05550203
559: IVTNUM = 46 05560203
560: IF (ICZERO) 30460, 0460, 30460 05570203
561: 0460 CONTINUE 05580203
562: IVCOMP = 0 05590203
563: IVCORR = 1 05600203
564: CATN13(1) = 'AB' 05610203
565: IF (CATN13(1) .EQ. 'AB') IVCOMP = 1 05620203
566: 40460 IF (IVCOMP - 1) 20460,10460,20460 05630203
567: 30460 IVDELE = IVDELE + 1 05640203
568: WRITE (I02,80000) IVTNUM 05650203
569: IF (ICZERO) 10460, 0471, 20460 05660203
570: 10460 IVPASS = IVPASS + 1 05670203
571: WRITE (I02,80002) IVTNUM 05680203
572: GO TO 0471 05690203
573: 20460 IVFAIL = IVFAIL + 1 05700203
574: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05710203
575: 0471 CONTINUE 05720203
576: C 05730203
577: C **** FCVS PROGRAM 203 - TEST 047 **** 05740203
578: C 05750203
579: C CHAR. VARIABLE (LEN 2) = CHAR. CONSTANT (LEN 2) 05760203
580: C CHAR. ARRAY ELEMENT (LEN 2) = CHAR. VARIABLE (LEN 2) 05770203
581: C 05780203
582: IVTNUM = 47 05790203
583: IF (ICZERO) 30470, 0470, 30470 05800203
584: 0470 CONTINUE 05810203
585: IVCOMP = 0 05820203
586: IVCORR = 1 05830203
587: CVTN03 = '+-' 05840203
588: CATN13(2) = CVTN03 05850203
589: IF (CATN13(2) .EQ. '+-') IVCOMP=1 05860203
590: 40470 IF (IVCOMP - 1) 20470,10470,20470 05870203
591: 30470 IVDELE = IVDELE + 1 05880203
592: WRITE (I02,80000) IVTNUM 05890203
593: IF (ICZERO) 10470, 0481, 20470 05900203
594: 10470 IVPASS = IVPASS + 1 05910203
595: WRITE (I02,80002) IVTNUM 05920203
596: GO TO 0481 05930203
597: 20470 IVFAIL = IVFAIL + 1 05940203
598: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 05950203
599: 0481 CONTINUE 05960203
600: C 05970203
601: C **** FCVS PROGRAM 203 - TEST 048 **** 05980203
602: C 05990203
603: C CHAR. ARRAY ELEMENT (LEN 2) = CHAR. CONSTANT (LEN 2) 06000203
604: C CHAR. ARRAY ELEMENT (LEN 2) = CHAR. ARRAY ELEMENT (LEN 2) 06010203
605: C 06020203
606: IVTNUM = 48 06030203
607: IF (ICZERO) 30480, 0480, 30480 06040203
608: 0480 CONTINUE 06050203
609: IVCOMP = 0 06060203
610: IVCORR = 1 06070203
611: CATN13(4) = '24' 06080203
612: CATN13(3) = CATN13(4) 06090203
613: IF (CATN13(3) .EQ. '24') IVCOMP = 1 06100203
614: 40480 IF (IVCOMP - 1) 20480,10480,20480 06110203
615: 30480 IVDELE = IVDELE + 1 06120203
616: WRITE (I02,80000) IVTNUM 06130203
617: IF (ICZERO) 10480, 0491, 20480 06140203
618: 10480 IVPASS = IVPASS + 1 06150203
619: WRITE (I02,80002) IVTNUM 06160203
620: GO TO 0491 06170203
621: 20480 IVFAIL = IVFAIL + 1 06180203
622: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06190203
623: 0491 CONTINUE 06200203
624: C 06210203
625: C **** FCVS PROGRAM 203 - TEST 049 **** 06220203
626: C 06230203
627: C CHAR. ARRAY ELEMENT (LEN 2) = CHAR. CONSTANT (LEN 2) 06240203
628: C CHAR. VARIABLE (LEN 2) = CHAR. ARRAY ELEMENT (LEN 2) 06250203
629: C 06260203
630: IVTNUM = 49 06270203
631: IF (ICZERO) 30490, 0490, 30490 06280203
632: 0490 CONTINUE 06290203
633: IVCOMP = 0 06300203
634: IVCORR = 1 06310203
635: CATN14(1) = 'AB' 06320203
636: CVTN04 = CATN14(1) 06330203
637: IF (CVTN04 .EQ. 'AB') IVCOMP = 1 06340203
638: 40490 IF (IVCOMP - 1) 20490,10490,20490 06350203
639: 30490 IVDELE = IVDELE + 1 06360203
640: WRITE (I02,80000) IVTNUM 06370203
641: IF (ICZERO) 10490, 0501, 20490 06380203
642: 10490 IVPASS = IVPASS + 1 06390203
643: WRITE (I02,80002) IVTNUM 06400203
644: GO TO 0501 06410203
645: 20490 IVFAIL = IVFAIL + 1 06420203
646: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06430203
647: 0501 CONTINUE 06440203
648: C 06450203
649: C TEST 50 THROUGH TEST 52 VERIFY THE RESULTS OF CHARACTER 06460203
650: C RELATIONAL EXPRESSIONS USING EACH OF THE SIX RELATIONAL OPERATORS.06470203
651: C THE CHARACTER DATA 'ZA' AND 'Z1' ARE COMPARED IN THE EXPRESSION 06480203
652: C AND ARE INITIALIZED BY THE CHARACTER ASSIGNMENT STATEMENTS 06490203
653: C 06500203
654: CATN14(2) = 'ZA' 06510203
655: CATN14(3) = 'Z1' 06520203
656: CVTN03 = 'ZA' 06530203
657: CVTN04 = 'Z1' 06540203
658: C 06550203
659: C **** FCVS PROGRAM 203 - TEST 050 **** 06560203
660: C 06570203
661: C RELATIONAL OPERATORS .NE. AND .EQ. 06580203
662: C CHAR. ARRAY ELEMENT (LEN 2) RELOP CHAR. VARIABLE (LEN 2) 06590203
663: C 06600203
664: IVTNUM = 50 06610203
665: IF (ICZERO) 30500, 0500, 30500 06620203
666: 0500 CONTINUE 06630203
667: IVCOMP = 1 06640203
668: IVCORR = 3 06650203
669: IF (CATN14(2) .EQ. 'Z1') IVCOMP=IVCOMP*2 06660203
670: IF ('ZA' .NE. CATN14(3)) IVCOMP=IVCOMP*3 06670203
671: 40500 IF (IVCOMP - 3) 20500,10500,20500 06680203
672: 30500 IVDELE = IVDELE + 1 06690203
673: WRITE (I02,80000) IVTNUM 06700203
674: IF (ICZERO) 10500, 0511, 20500 06710203
675: 10500 IVPASS = IVPASS + 1 06720203
676: WRITE (I02,80002) IVTNUM 06730203
677: GO TO 0511 06740203
678: 20500 IVFAIL = IVFAIL + 1 06750203
679: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06760203
680: 0511 CONTINUE 06770203
681: C 06780203
682: C **** FCVS PROGRAM 203 - TEST 051 **** 06790203
683: C 06800203
684: C RELATIONAL OPERATORS .LE. AND .GE. 06810203
685: C CHAR. ARRAY ELEMENT (LEN 2) RELOP CHAR. VARIABLE (LEN 2) 06820203
686: C 06830203
687: IVTNUM = 51 06840203
688: IF (ICZERO) 30510, 0510, 30510 06850203
689: 0510 CONTINUE 06860203
690: IVCOMP = 0 06870203
691: IVCORR = 1 06880203
692: IF (CATN14(2) .LE. CVTN04) IVCOMP=IVCOMP+1 06890203
693: IF (CVTN03 .GE. CATN14(3)) IVCOMP=IVCOMP+1 06900203
694: 40510 IF (IVCOMP - 1) 20510,10510,20510 06910203
695: 30510 IVDELE = IVDELE + 1 06920203
696: WRITE (I02,80000) IVTNUM 06930203
697: IF (ICZERO) 10510, 0521, 20510 06940203
698: 10510 IVPASS = IVPASS + 1 06950203
699: WRITE (I02,80002) IVTNUM 06960203
700: GO TO 0521 06970203
701: 20510 IVFAIL = IVFAIL + 1 06980203
702: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 06990203
703: 0521 CONTINUE 07000203
704: C 07010203
705: C **** FCVS PROGRAM 203 - TEST 052 **** 07020203
706: C 07030203
707: C RELATIONAL OPERATORS .LT. AND .GT. 07040203
708: C CHAR. ARRAY ELEMENT (LEN 2) RELOP CHAR. ARRAY ELEMENT (LEN 2) 07050203
709: C 07060203
710: IVTNUM = 52 07070203
711: IF (ICZERO) 30520, 0520, 30520 07080203
712: 0520 CONTINUE 07090203
713: IVCOMP =0 07100203
714: IVCORR =1 07110203
715: IF (CATN14(2) .LT. CATN14(3)) IVCOMP=IVCOMP+1 07120203
716: IF (CATN14(2) .GT. CATN14(3)) IVCOMP=IVCOMP+1 07130203
717: 40520 IF (IVCOMP - 1) 20520,10520,20520 07140203
718: 30520 IVDELE = IVDELE + 1 07150203
719: WRITE (I02,80000) IVTNUM 07160203
720: IF (ICZERO) 10520, 0531, 20520 07170203
721: 10520 IVPASS = IVPASS + 1 07180203
722: WRITE (I02,80002) IVTNUM 07190203
723: GO TO 0531 07200203
724: 20520 IVFAIL = IVFAIL + 1 07210203
725: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07220203
726: 0531 CONTINUE 07230203
727: C 07240203
728: C **** FCVS PROGRAM 203 - TEST 053 **** 07250203
729: C 07260203
730: C TEST 53 VERIFIES THAT THE LAST ELEMENTS OF THE ARRAYS USED IN 07270203
731: C TEST 46 THROUGH TEST 52 WERE NOT AFFECTED BY THE SETTING OF OTHER 07280203
732: C CHARACTER ARRAY ELEMENTS. 07290203
733: C 07300203
734: IVTNUM = 53 07310203
735: IF (ICZERO) 30530, 0530, 30530 07320203
736: 0530 CONTINUE 07330203
737: IVCOMP = 1 07340203
738: IVCORR = 30 07350203
739: IF (CATN13(5) .EQ. ' ')IVCOMP=IVCOMP*2 07360203
740: IF (CATN14(5) .EQ. ' ') IVCOMP= IVCOMP * 3 07370203
741: IF (CATN14(5) .EQ. CATN13(5)) IVCOMP=IVCOMP*5 07380203
742: 40530 IF (IVCOMP - 30) 20530,10530,20530 07390203
743: 30530 IVDELE = IVDELE + 1 07400203
744: WRITE (I02,80000) IVTNUM 07410203
745: IF (ICZERO) 10530, 0541, 20530 07420203
746: 10530 IVPASS = IVPASS + 1 07430203
747: WRITE (I02,80002) IVTNUM 07440203
748: GO TO 0541 07450203
749: 20530 IVFAIL = IVFAIL + 1 07460203
750: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07470203
751: 0541 CONTINUE 07480203
752: C 07490203
753: C TEST 54 THROUGH TEST 60 VERIFY THAT A CHARACTER PRIMARY CAN 07500203
754: C BE ENCLOSED IN PARENTHESES. THE CHARACTER PRIMARIES FOR THE 07510203
755: C SUBSET ARE CHARACTER CONSTANT, CHARACTER VARIABLE, CHARACTER ARRAY07520203
756: C ELEMENT, AND CHARACTER EXPRESSION ENCLOSED IN PARENTHESES. THE 07530203
757: C FORM OF A CHARACTER EXPRESSION IS CHARACTER PRIMARY. 07540203
758: C 07550203
759: C 07560203
760: C **** FCVS PROGRAM 203 - TEST 054 **** 07570203
761: C 07580203
762: C CHARACTER ASSIGNMENT STATEMENT 07590203
763: C CHAR. VARIABLE = (CHARACTER CONSTANT) LENGTH 1 07600203
764: C 07610203
765: IVTNUM = 54 07620203
766: IF (ICZERO) 30540, 0540, 30540 07630203
767: 0540 CONTINUE 07640203
768: CVTN01 = ' ' 07650203
769: IVCOMP = 0 07660203
770: IVCORR = 1 07670203
771: CVTN01 = ('N') 07680203
772: IF (CVTN01 .EQ. 'N') IVCOMP = 1 07690203
773: 40540 IF (IVCOMP - 1) 20540,10540,20540 07700203
774: 30540 IVDELE = IVDELE + 1 07710203
775: WRITE (I02,80000) IVTNUM 07720203
776: IF (ICZERO) 10540, 0551, 20540 07730203
777: 10540 IVPASS = IVPASS + 1 07740203
778: WRITE (I02,80002) IVTNUM 07750203
779: GO TO 0551 07760203
780: 20540 IVFAIL = IVFAIL + 1 07770203
781: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 07780203
782: 0551 CONTINUE 07790203
783: C 07800203
784: C **** FCVS PROGRAM 203 - TEST 055 **** 07810203
785: C 07820203
786: C CHARACTER ASSIGNMENT STATEMENT 07830203
787: C CHAR. VARIABLE = (CHAR. VARIABLE) LENGTH 2 07840203
788: C 07850203
789: IVTNUM = 55 07860203
790: IF (ICZERO) 30550, 0550, 30550 07870203
791: 0550 CONTINUE 07880203
792: CVTN04 = ' ' 07890203
793: IVCOMP = 0 07900203
794: IVCORR = 1 07910203
795: CVTN03 = '/+' 07920203
796: CVTN04 = (CVTN03) 07930203
797: IF (CVTN04 .EQ. '/+') IVCOMP=1 07940203
798: 40550 IF (IVCOMP - 1) 20550,10550,20550 07950203
799: 30550 IVDELE = IVDELE + 1 07960203
800: WRITE (I02,80000) IVTNUM 07970203
801: IF (ICZERO) 10550, 0561, 20550 07980203
802: 10550 IVPASS = IVPASS + 1 07990203
803: WRITE (I02,80002) IVTNUM 08000203
804: GO TO 0561 08010203
805: 20550 IVFAIL = IVFAIL + 1 08020203
806: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08030203
807: 0561 CONTINUE 08040203
808: C 08050203
809: C **** FCVS PROGRAM 203 - TEST 056 **** 08060203
810: C 08070203
811: C CHARACTER ASSIGNMENT STATEMENT 08080203
812: C CHAR. VARIABLE = (CHAR. ARRAY ELEMENT) LENGTH 2 08090203
813: C 08100203
814: IVTNUM = 56 08110203
815: IF (ICZERO) 30560, 0560, 30560 08120203
816: 0560 CONTINUE 08130203
817: IVCOMP = 0 08140203
818: IVCORR = 1 08150203
819: CVTN04 = ' ' 08160203
820: CATN13(1) = 'BC' 08170203
821: CVTN04 = (CATN13(1)) 08180203
822: IF (CVTN04 .EQ. 'BC') IVCOMP = 1 08190203
823: 40560 IF (IVCOMP - 1) 20560,10560,20560 08200203
824: 30560 IVDELE = IVDELE + 1 08210203
825: WRITE (I02,80000) IVTNUM 08220203
826: IF (ICZERO) 10560, 0571, 20560 08230203
827: 10560 IVPASS = IVPASS + 1 08240203
828: WRITE (I02,80002) IVTNUM 08250203
829: GO TO 0571 08260203
830: 20560 IVFAIL = IVFAIL + 1 08270203
831: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08280203
832: 0571 CONTINUE 08290203
833: C 08300203
834: C **** FCVS PROGRAM 203 - TEST 057 **** 08310203
835: C 08320203
836: C CHARACTER ASSIGNMENT STATEMENT 08330203
837: C CHAR. VARIABLE = ((CHAR. ARRAY ELEMENT)) LENGTH 2 08340203
838: C 08350203
839: IVTNUM = 57 08360203
840: IF (ICZERO) 30570, 0570, 30570 08370203
841: 0570 CONTINUE 08380203
842: IVCOMP = 0 08390203
843: IVCORR = 1 08400203
844: CVTN04 = ' ' 08410203
845: CATN13(3) = 'BC' 08420203
846: CVTN04 = ((CATN13(3))) 08430203
847: IF (CVTN04 .EQ. 'BC') IVCOMP=1 08440203
848: 40570 IF (IVCOMP - 1) 20570,10570,20570 08450203
849: 30570 IVDELE = IVDELE + 1 08460203
850: WRITE (I02,80000) IVTNUM 08470203
851: IF (ICZERO) 10570, 0581, 20570 08480203
852: 10570 IVPASS = IVPASS + 1 08490203
853: WRITE (I02,80002) IVTNUM 08500203
854: GO TO 0581 08510203
855: 20570 IVFAIL = IVFAIL + 1 08520203
856: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08530203
857: 0581 CONTINUE 08540203
858: C 08550203
859: C **** FCVS PROGRAM 203 - TEST 058 **** 08560203
860: C 08570203
861: C RELATIONAL EXPRESSION, .NE. 08580203
862: C (CHAR. CONSTANT) .NE. (CHAR. VARIABLE) LENGTH 1 08590203
863: C 08600203
864: IVTNUM = 58 08610203
865: IF (ICZERO) 30580, 0580, 30580 08620203
866: 0580 CONTINUE 08630203
867: IVCOMP = 0 08640203
868: IVCORR = 1 08650203
869: CVTN01 = '6' 08660203
870: IF (('9') .NE. (CVTN01)) IVCOMP=1 08670203
871: 40580 IF (IVCOMP - 1) 20580,10580,20580 08680203
872: 30580 IVDELE = IVDELE + 1 08690203
873: WRITE (I02,80000) IVTNUM 08700203
874: IF (ICZERO) 10580, 0591, 20580 08710203
875: 10580 IVPASS = IVPASS + 1 08720203
876: WRITE (I02,80002) IVTNUM 08730203
877: GO TO 0591 08740203
878: 20580 IVFAIL = IVFAIL + 1 08750203
879: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 08760203
880: 0591 CONTINUE 08770203
881: C 08780203
882: C **** FCVS PROGRAM 203 - TEST 059 **** 08790203
883: C 08800203
884: C RELATIONAL EXPRESSION, .GE. 08810203
885: C (CHAR. VARIABLE) .GE. (CHAR. ARRAY ELEMENT) LENGTH 2 08820203
886: C 08830203
887: IVTNUM = 59 08840203
888: IF (ICZERO) 30590, 0590, 30590 08850203
889: 0590 CONTINUE 08860203
890: IVCOMP = 0 08870203
891: IVCORR = 1 08880203
892: CVTN03 = 'DE' 08890203
893: CATN13(5) = 'DE' 08900203
894: IF ((CVTN03) .GE. (CATN13(5))) IVCOMP=1 08910203
895: 40590 IF (IVCOMP - 1) 20590,10590,20590 08920203
896: 30590 IVDELE = IVDELE + 1 08930203
897: WRITE (I02,80000) IVTNUM 08940203
898: IF (ICZERO) 10590, 0601, 20590 08950203
899: 10590 IVPASS = IVPASS + 1 08960203
900: WRITE (I02,80002) IVTNUM 08970203
901: GO TO 0601 08980203
902: 20590 IVFAIL = IVFAIL + 1 08990203
903: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 09000203
904: 0601 CONTINUE 09010203
905: C 09020203
906: C **** FCVS PROGRAM 203 - TEST 060 **** 09030203
907: C 09040203
908: C RELATIONAL EXPRESSION, .LE. 09050203
909: C ((CHAR. ARRAY ELEMENT)) .LE. ((CHAR. ARRAY ELEMENT)) LEN 2 09060203
910: C 09070203
911: IVTNUM = 60 09080203
912: IF (ICZERO) 30600, 0600, 30600 09090203
913: 0600 CONTINUE 09100203
914: IVCOMP = 0 09110203
915: IVCORR = 1 09120203
916: CATN13(4) = 'MC' 09130203
917: CATN13(5) = 'MC' 09140203
918: IF (((CATN13(4))) .LE. ((CATN13(5)))) IVCOMP = 1 09150203
919: 40600 IF (IVCOMP - 1) 20600,10600,20600 09160203
920: 30600 IVDELE = IVDELE + 1 09170203
921: WRITE (I02,80000) IVTNUM 09180203
922: IF (ICZERO) 10600, 0611, 20600 09190203
923: 10600 IVPASS = IVPASS + 1 09200203
924: WRITE (I02,80002) IVTNUM 09210203
925: GO TO 0611 09220203
926: 20600 IVFAIL = IVFAIL + 1 09230203
927: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 09240203
928: 0611 CONTINUE 09250203
929: C 09260203
930: C 09270203
931: C WRITE OUT TEST SUMMARY 09280203
932: C 09290203
933: WRITE (I02,90004) 09300203
934: WRITE (I02,90014) 09310203
935: WRITE (I02,90004) 09320203
936: WRITE (I02,90000) 09330203
937: WRITE (I02,90004) 09340203
938: WRITE (I02,90020) IVFAIL 09350203
939: WRITE (I02,90022) IVPASS 09360203
940: WRITE (I02,90024) IVDELE 09370203
941: STOP 09380203
942: 90001 FORMAT (1H ,24X,5HFM203) 09390203
943: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM203) 09400203
944: C 09410203
945: C FORMATS FOR TEST DETAIL LINES 09420203
946: C 09430203
947: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 09440203
948: 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 09450203
949: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 09460203
950: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 09470203
951: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) 09480203
952: C 09490203
953: C FORMAT STATEMENTS FOR PAGE HEADERS 09500203
954: C 09510203
955: 90002 FORMAT (1H1) 09520203
956: 90004 FORMAT (1H ) 09530203
957: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 09540203
958: 90008 FORMAT (1H ,21X,11HVERSION 1.0) 09550203
959: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 09560203
960: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 09570203
961: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 09580203
962: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 09590203
963: C 09600203
964: C FORMAT STATEMENTS FOR RUN SUMMARY 09610203
965: C 09620203
966: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 09630203
967: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 09640203
968: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) 09650203
969: END 09660203
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.