|
|
1.1 root 1: C COMMENT SECTION 00010109
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 00020109
6: C FM109 00030109
7: C 00040109
8: C THIS ROUTINE TESTS THE BASIC OPTIONS REGARDING THE SIMPLE 00050109
9: C FORMATTED WRITE STATEMENT OF FORM 00060109
10: C WRITE (U,F) OR 00070109
11: C WRITE (U,F) L 00080109
12: C WHERE U IS A LOGICAL UNIT NUMBER 00090109
13: C F IS A FORMAT STATEMENT LABEL, AND 00100109
14: C L IS A LIST OF INTEGER VARIABLES. 00110109
15: C THE FORMAT STATEMENT F CONTAINS NH HOLLERITH FIELD DESCRIPTORS, 00120109
16: C NX BLANK FIELD DESCRIPTORS AND IW NUMERIC FIELD DESCRIPTORS. 00130109
17: C 00140109
18: C THIS ROUTINE TESTS WHETHER THE FIRST CHARACTER OF A FORMAT 00150109
19: C RECORD FOR PRINTER OUTPUT DETERMINES VERTICAL SPACING AS FOLLOWS 00160109
20: C 1 - ADVANCE TO FIRST LINE OF NEXT PAGE 00170109
21: C BLANK - ONE LINE 00180109
22: C 0 - ADVANCE TWO LINES BEFORE PRINTING 00190109
23: C + - DO NOT ADVANCE BEFORE PRINTING - ADVANCE 0 00200109
24: C 00210109
25: C REFERENCES 00220109
26: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00230109
27: C X3.9-1978 00240109
28: C 00250109
29: C SECTION 8, SPECIFICATION STATEMENTS 00260109
30: C SECTION 9, DATA STATEMENT 00270109
31: C SECTION 11.10, DO STATEMENT 00280109
32: C SECTION 12, INPUT/OUTPUT STATEMENTS 00290109
33: C SECTION 12.8.2, INPUT/OUTPUT LIST 00300109
34: C SECTION 12.9.5.2, FORMATTED DATA TRANSFER 00310109
35: C SECTION 13, FORMAT STATEMENT 00320109
36: C SECTION 13.2.1, EDIT DESCRIPTORS 00330109
37: C 00340109
38: C ALL OF THE RESULTS OF THIS ROUTINE MUST BE VISUALLY CHECKED 00350109
39: C ON THE OUTPUT REPORT. THE USUAL TEST CODE FOR PASS, FAIL, OR 00360109
40: C DELETE DOES NOT APPLY TO THIS ROUTINE. IF ANY TEST IS TO BE 00370109
41: C DELETED, CHANGE THE OFFENDING WRITE OR FORMAT STATEMENT TO A 00380109
42: C COMMENT. THE PERSON RESPONSIBLE FOR CHECKING THE OUTPUT MUST ALSO00390109
43: C CHECK THE COMPILER LISTING TO SEE IF ANY STATEMENTS HAVE BEEN 00400109
44: C CHANGED TO COMMENTS. 00410109
45: C 00420109
46: C 00430109
47: C ********************************************************** 00440109
48: C 00450109
49: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00460109
50: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN NATIONAL STANDARD 00470109
51: C PROGRAMMING LANGUAGE FORTRAN X3.9-1978, HAS BEEN DEVELOPED BY THE 00480109
52: C FEDERAL COBOL COMPILER TESTING SERVICE. THE FORTRAN COMPILER 00490109
53: C VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT ROUTINES, THEIR RELATED00500109
54: C DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT ROUTINE IS A FORTRAN 00510109
55: C PROGRAM, SUBPROGRAM OR FUNCTION WHICH INCLUDES TESTS OF SPECIFIC 00520109
56: C LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING THE RESULT 00530109
57: C OF EXECUTING THESE TESTS. 00540109
58: C 00550109
59: C THIS PARTICULAR PROGRAM/SUBPROGRAM/FUNCTION CONTAINS FEATURES 00560109
60: C FOUND ONLY IN THE SUBSET AS DEFINED IN X3.9-1978. 00570109
61: C 00580109
62: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO - 00590109
63: C 00600109
64: C DEPARTMENT OF THE NAVY 00610109
65: C FEDERAL COBOL COMPILER TESTING SERVICE 00620109
66: C WASHINGTON, D.C. 20376 00630109
67: C 00640109
68: C ********************************************************** 00650109
69: C 00660109
70: C 00670109
71: C 00680109
72: C INITIALIZATION SECTION 00690109
73: C 00700109
74: C INITIALIZE CONSTANTS 00710109
75: C ************** 00720109
76: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00730109
77: I01 = 5 00740109
78: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00750109
79: I02 = 6 00760109
80: C SYSTEM ENVIRONMENT SECTION 00770109
81: C 00780109
82: I01 = 5 00790109
83: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00800109
84: C (UNIT NUMBER FOR CARD READER). 00810109
85: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD. 00820109
86: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00830109
87: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00840109
88: C 00850109
89: I02 = 6 00860109
90: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00870109
91: C (UNIT NUMBER FOR PRINTER). 00880109
92: CX021 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD. 00890109
93: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00900109
94: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00910109
95: C 00920109
96: IVPASS=0 00930109
97: IVFAIL=0 00940109
98: IVDELE=0 00950109
99: ICZERO=0 00960109
100: C 00970109
101: C WRITE PAGE HEADERS 00980109
102: WRITE (I02,90000) 00990109
103: WRITE (I02,90001) 01000109
104: WRITE (I02,90002) 01010109
105: WRITE (I02, 90002) 01020109
106: WRITE (I02,90003) 01030109
107: WRITE (I02,90002) 01040109
108: WRITE (I02,90004) 01050109
109: WRITE (I02,90002) 01060109
110: WRITE (I02,90011) 01070109
111: WRITE (I02,90002) 01080109
112: WRITE (I02,90002) 01090109
113: WRITE (I02,90006) 01100109
114: WRITE (I02,90002) 01110109
115: C 01120109
116: IVTNUM = 156 01130109
117: C **** TEST 156 **** 01140109
118: C TEST 156 - VERTICAL SPACING TEST 01150109
119: C 1 IN FIRST CHARACTER OF FORMATTED PRINT RECORD MEANS 01160109
120: C RECORD IS FIRST LINE AT TOP OF NEXT PAGE. 01170109
121: C 01180109
122: IF (ICZERO) 31560, 1560, 31560 01190109
123: 1560 CONTINUE 01200109
124: WRITE (I02,80001) IVTNUM 01210109
125: WRITE (I02,80331) 01220109
126: 80331 FORMAT (5X,22HLAST LINE ON THIS PAGE) 01230109
127: WRITE (I02,80330) 01240109
128: 80330 FORMAT (1H1,31H THIS IS FIRST LINE ON PAGE) 01250109
129: GO TO 1571 01260109
130: 31560 IVDELE = IVDELE + 1 01270109
131: WRITE (I02,80003) IVTNUM 01280109
132: 1571 CONTINUE 01290109
133: IVTNUM = 157 01300109
134: C 01310109
135: C **** TEST 157 **** 01320109
136: C TEST 157 - VERTICAL SPACING TEST 01330109
137: C PRINT BLANK LINES 01340109
138: C 01350109
139: C 01360109
140: IF (ICZERO) 31570, 1570, 31570 01370109
141: 1570 CONTINUE 01380109
142: WRITE (I02,90002) 01390109
143: WRITE (I02,80001) IVTNUM 01400109
144: WRITE (I02,80340) 01410109
145: 80340 FORMAT (1H , 10X) 01420109
146: WRITE (I02,80341) 01430109
147: 80341 FORMAT (41H THERE IS ONE BLANK LINE BEFORE THIS LINE) 01440109
148: WRITE (I02,80342) 01450109
149: WRITE (I02,80342) 01460109
150: 80342 FORMAT (11H ) 01470109
151: WRITE (I02,80343) 01480109
152: 80343 FORMAT (43H THERE ARE TWO BLANK LINES BEFORE THIS LINE) 01490109
153: WRITE (I02,80344) 01500109
154: WRITE (I02,80344) 01510109
155: WRITE (I02,80344) 01520109
156: 80344 FORMAT (11X) 01530109
157: WRITE (I02,80345) 01540109
158: 80345 FORMAT (45H THERE ARE THREE BLANK LINES BEFORE THIS LINE) 01550109
159: GO TO 1581 01560109
160: 31570 IVDELE = IVDELE + 1 01570109
161: WRITE (I02,80003) IVTNUM 01580109
162: 1581 CONTINUE 01590109
163: IVTNUM = 158 01600109
164: C 01610109
165: C **** TEST 158 **** 01620109
166: C TEST 158 - PRINT 54 CHARACTERS 01630109
167: C 01640109
168: C 01650109
169: IF (ICZERO) 31580, 1580, 31580 01660109
170: 1580 CONTINUE 01670109
171: WRITE (I02,90002) 01680109
172: WRITE (I02,80001)IVTNUM 01690109
173: WRITE (I02,80351) 01700109
174: 80351 FORMAT (33H NEXT LINE CONTAINS 54 CHARACTERS) 01710109
175: WRITE (I02,80350) 01720109
176: 80350 FORMAT(55H 123456789012345678901234567890123456789012345678901234)01730109
177: GO TO 1591 01740109
178: 31580 IVDELE = IVDELE + 1 01750109
179: WRITE (I02,80003) IVTNUM 01760109
180: 1591 CONTINUE 01770109
181: IVTNUM = 159 01780109
182: C 01790109
183: C **** TEST 159 **** 01800109
184: C TEST 159 - NUMERIC FIELD DESCRIPTOR I1 01810109
185: C 01820109
186: IF (ICZERO) 31590, 1590, 31590 01830109
187: 1590 CONTINUE 01840109
188: WRITE (I02,90002) 01850109
189: WRITE (I02,80001) IVTNUM 01860109
190: WRITE (I02,80361) 01870109
191: 80361 FORMAT (1H ,10X,38HTHIS TEST PRINTS 3 UNDER I1 DESCRIPTOR) 01880109
192: IVON01 = 3 01890109
193: WRITE (I02,80360) IVON01 01900109
194: 80360 FORMAT (1H ,10X,I1) 01910109
195: GO TO 1601 01920109
196: 31590 IVDELE = IVDELE + 1 01930109
197: WRITE (I02,80003) IVTNUM 01940109
198: 1601 CONTINUE 01950109
199: IVTNUM = 160 01960109
200: C 01970109
201: C **** TEST 160 **** 01980109
202: C TEST 160 - NUMERIC FIELD DESCRIPTOR I2 01990109
203: C 02000109
204: IF (ICZERO) 31600, 1600, 31600 02010109
205: 1600 CONTINUE 02020109
206: WRITE (I02,90002) 02030109
207: WRITE (I02,80001) IVTNUM 02040109
208: WRITE (I02,80371) 02050109
209: 80371 FORMAT (11X,39HTHIS TEST PRINTS 15 UNDER I2 DESCRIPTOR) 02060109
210: IVON01 = 15 02070109
211: WRITE (I02,80370) IVON01 02080109
212: 80370 FORMAT (1H ,10X,I2) 02090109
213: GO TO 1611 02100109
214: 31600 IVDELE = IVDELE + 1 02110109
215: WRITE (I02,80003) IVTNUM 02120109
216: 1611 CONTINUE 02130109
217: IVTNUM = 161 02140109
218: C 02150109
219: C **** TEST 161 **** 02160109
220: C TEST 161 - NUMERIC FIELD DESCRIPTOR I3 02170109
221: C 02180109
222: IF (ICZERO) 31610, 1610, 31610 02190109
223: 1610 CONTINUE 02200109
224: WRITE (I02,90002) 02210109
225: WRITE (I02,80001) IVTNUM 02220109
226: WRITE (I02,80381) 02230109
227: 80381 FORMAT (11X,40HTHIS TEST PRINTS 291 UNDER I3 DESCRIPTOR) 02240109
228: IVON01 = 291 02250109
229: WRITE (I02,80380) IVON01 02260109
230: 80380 FORMAT (11X,I3) 02270109
231: GO TO 1621 02280109
232: 31610 IVDELE = IVDELE + 1 02290109
233: WRITE (I02,80003) IVTNUM 02300109
234: 1621 CONTINUE 02310109
235: IVTNUM = 162 02320109
236: C 02330109
237: C **** TEST 162 **** 02340109
238: C TEST 162 - NUMERIC FIELD DESCRIPTOR I4 02350109
239: C 02360109
240: IF (ICZERO) 31620, 1620, 31620 02370109
241: 1620 CONTINUE 02380109
242: WRITE (I02,90002) 02390109
243: WRITE (I02,80001) IVTNUM 02400109
244: WRITE (I02,80391) 02410109
245: 80391 FORMAT (11X,41HTHIS TEST PRINTS 4321 UNDER I4 DESCRIPTOR) 02420109
246: IVON01 = 4321 02430109
247: WRITE (I02,80390) IVON01 02440109
248: 80390 FORMAT (11X,I4) 02450109
249: GO TO 1631 02460109
250: 31620 IVDELE = IVDELE + 1 02470109
251: WRITE (I02,80003) IVTNUM 02480109
252: 1631 CONTINUE 02490109
253: IVTNUM = 163 02500109
254: C 02510109
255: C **** TEST 163 **** 02520109
256: C TEST 163 - NUMERIC FIELD DESCRIPTOR I5 02530109
257: C 02540109
258: IF (ICZERO) 31630, 1630, 31630 02550109
259: 1630 CONTINUE 02560109
260: WRITE (I02,90002) 02570109
261: WRITE (I02,80001) IVTNUM 02580109
262: WRITE (I02,80401) 02590109
263: 80401 FORMAT (1H ,10X,42HTHIS TEST PRINTS 12345 UNDER I5 DESCRIPTOR) 02600109
264: IVON01 = 12345 02610109
265: WRITE (I02,80400) IVON01 02620109
266: 80400 FORMAT (1H ,10X,I5) 02630109
267: GO TO 1641 02640109
268: 31630 IVDELE = IVDELE + 1 02650109
269: WRITE (I02,80003) IVTNUM 02660109
270: 1641 CONTINUE 02670109
271: IVTNUM = 164 02680109
272: C 02690109
273: C **** TEST 164 **** 02700109
274: C TEST 164 - NUMERIC FIELD DESCRIPTORS, INTEGER CONVERSION 02710109
275: C 02720109
276: IF (ICZERO) 31640, 1640, 31640 02730109
277: 1640 CONTINUE 02740109
278: IVON01 = 1 02750109
279: IVON02 = 22 02760109
280: IVON03 = 333 02770109
281: IVON04 = 4444 02780109
282: IVON05 = 25555 02790109
283: WRITE (I02,90002) 02800109
284: WRITE (I02,80001) IVTNUM 02810109
285: WRITE (I02,80411) 02820109
286: 80411 FORMAT (3X,50HTHIS TEST PRINTS 1, 22, 333, 4444, AND 25555 UNDER) 02830109
287: WRITE (I02,80412) 02840109
288: 80412 FORMAT (10X,32H(10X,I1,3X,I2,3X,I3,3X,I4,3X,I5)) 02850109
289: WRITE (I02,80410) IVON01, IVON02, IVON03, IVON04, IVON05 02860109
290: 80410 FORMAT (10X,I1,3X,I2,3X,I3,3X,I4,3X,I5) 02870109
291: GO TO 1651 02880109
292: 31640 IVDELE = IVDELE + 1 02890109
293: WRITE (I02,80003) IVTNUM 02900109
294: 1651 CONTINUE 02910109
295: IVTNUM = 165 02920109
296: C 02930109
297: C **** TEST 165 **** 02940109
298: C TEST 165 - HOLLERITH, NUMERIC AND X FIELD DESCRIPTORS 02950109
299: C COMBINE HOLLERITH, NUMERIC AND X FIELD DESCRIPTORS IN 02960109
300: C ONE FORMAT STATEMENT 02970109
301: C 02980109
302: IF (ICZERO) 31650, 1650, 31650 02990109
303: 1650 CONTINUE 03000109
304: IVON01=113 03010109
305: IVON02=8 03020109
306: WRITE (I02,90002) 03030109
307: WRITE (I02,80001) IVTNUM 03040109
308: WRITE (I02,80421) 03050109
309: 80421 FORMAT (10X,28HNEXT TWO LINES ARE IDENTICAL) 03060109
310: WRITE (I02,80422) 03070109
311: 80422 FORMAT (35H IVON01 = 113 IVON02 = 8) 03080109
312: WRITE (I02,80420) IVON01, IVON02 03090109
313: 80420 FORMAT (6X,8HIVON01 =,I5,3X,8HIVON02 =,I5) 03100109
314: GO TO 1661 03110109
315: 31650 IVDELE = IVDELE + 1 03120109
316: WRITE (I02,80003) IVTNUM 03130109
317: 1661 CONTINUE 03140109
318: IVTNUM = 166 03150109
319: C 03160109
320: C **** TEST 166 **** 03170109
321: C TEST 166 - NUMERIC FIELD DESCRIPTOR I2 03180109
322: C PRINT NEGATIVE INTEGER 03190109
323: C 03200109
324: IF (ICZERO) 31660, 1660, 31660 03210109
325: 1660 CONTINUE 03220109
326: IVON01 = -1 03230109
327: WRITE (I02,90002) 03240109
328: WRITE (I02,80001) IVTNUM 03250109
329: WRITE (I02,80431) 03260109
330: 80431 FORMAT (11X,39HTHIS TEST PRINTS -1 UNDER I2 DESCRIPTOR) 03270109
331: WRITE (I02,80430) IVON01 03280109
332: 80430 FORMAT (11X,I2) 03290109
333: GO TO 1671 03300109
334: 31660 IVDELE = IVDELE + 1 03310109
335: WRITE (I02,80003) IVTNUM 03320109
336: 1671 CONTINUE 03330109
337: IVTNUM = 167 03340109
338: C 03350109
339: C **** TEST 167 **** 03360109
340: C TEST 167 - NUMERIC FIELD DESCRIPTOR I3 03370109
341: C PRINT NEGATIVE INTEGER 03380109
342: C 03390109
343: IF (ICZERO) 31670, 1670, 31670 03400109
344: 1670 CONTINUE 03410109
345: IVON01 = -22 03420109
346: WRITE (I02,90002) 03430109
347: WRITE (I02,80001) IVTNUM 03440109
348: WRITE (I02,80441) 03450109
349: 80441 FORMAT (11X,40HTHIS TEST PRINTS -22 UNDER I3 DESCRIPTOR) 03460109
350: WRITE (I02,80440) IVON01 03470109
351: 80440 FORMAT (11X,I3) 03480109
352: GO TO 1681 03490109
353: 31670 IVDELE = IVDELE + 1 03500109
354: WRITE (I02,80003) IVTNUM 03510109
355: 1681 CONTINUE 03520109
356: IVTNUM = 168 03530109
357: C 03540109
358: C **** TEST 168 **** 03550109
359: C TEST 168 - NUMERIC FIELD DESCRIPTOR I4 03560109
360: C PRINT NEGATIVE INTEGER 03570109
361: C 03580109
362: IF (ICZERO) 31680, 1680, 31680 03590109
363: 1680 CONTINUE 03600109
364: IVON01 = -333 03610109
365: WRITE (I02,90002) 03620109
366: WRITE (I02,80001) IVTNUM 03630109
367: WRITE (I02,80451) 03640109
368: 80451 FORMAT (11X,41HTHIS TEST PRINTS -333 UNDER I4 DESCRIPTOR) 03650109
369: WRITE (I02,80450) IVON01 03660109
370: 80450 FORMAT (11X,I4) 03670109
371: GO TO 1691 03680109
372: 31680 IVDELE = IVDELE + 1 03690109
373: WRITE (I02,80003) IVTNUM 03700109
374: 1691 CONTINUE 03710109
375: IVTNUM = 169 03720109
376: C 03730109
377: C **** TEST 169 **** 03740109
378: C TEST 169 - NUMERIC FIELD DESCRIPTOR I5 03750109
379: C PRINT NEGATIVE INTEGER 03760109
380: C 03770109
381: IF (ICZERO) 31690, 1690, 31690 03780109
382: 1690 CONTINUE 03790109
383: IVON01 = -4444 03800109
384: WRITE (I02,90002) 03810109
385: WRITE (I02,80001) IVTNUM 03820109
386: WRITE (I02,80461) 03830109
387: 80461 FORMAT (11X,42HTHIS TEST PRINTS -4444 UNDER I5 DESCRIPTOR) 03840109
388: WRITE (I02,80460) IVON01 03850109
389: 80460 FORMAT (11X,I5) 03860109
390: GO TO 1701 03870109
391: 31690 IVDELE = IVDELE + 1 03880109
392: WRITE (I02,80003) IVTNUM 03890109
393: 1701 CONTINUE 03900109
394: IVTNUM = 170 03910109
395: C 03920109
396: C **** TEST 170 **** 03930109
397: C TEST 170 - NUMERIC FIELD DESCRIPTOR I6 03940109
398: C PRINT NEGATIVE INTEGER 03950109
399: C 03960109
400: IF (ICZERO) 31700, 1700, 31700 03970109
401: 1700 CONTINUE 03980109
402: IVON01 = -15555 03990109
403: WRITE (I02,90002) 04000109
404: WRITE (I02,80001) IVTNUM 04010109
405: WRITE (I02,80471) 04020109
406: 80471 FORMAT (11X,43HTHIS TEST PRINTS -15555 UNDER DESCRIPTOR I6) 04030109
407: WRITE (I02,80470) IVON01 04040109
408: 80470 FORMAT (11X,I6) 04050109
409: GO TO 1711 04060109
410: 31700 IVDELE = IVDELE + 1 04070109
411: WRITE (I02,80003) IVTNUM 04080109
412: 1711 CONTINUE 04090109
413: IVTNUM = 171 04100109
414: C 04110109
415: C **** TEST 171 **** 04120109
416: C TEST 171 - NUMERIC FIELD DESCRIPTORS, INTEGER CONVERSION 04130109
417: C PRINT NEGATIVE INTEGERS 04140109
418: C 04150109
419: IF (ICZERO) 31710, 1710, 31710 04160109
420: 1710 CONTINUE 04170109
421: IVON01 = -9 04180109
422: IVON02 = -88 04190109
423: IVON03 = -777 04200109
424: IVON04 = -6666 04210109
425: IVON05 = -25555 04220109
426: WRITE (I02,90002) 04230109
427: WRITE (I02,80001) IVTNUM 04240109
428: WRITE (I02,80481) 04250109
429: 80481 FORMAT (8X,49HTHIS TEST PRINTS -9, -88, -777, -6666, AND -25555) 04260109
430: WRITE (I02,80482) 04270109
431: 80482 FORMAT (11X,43HUNDER FORMAT 10X,I2,3X,I3,3X,I4,3X,I5,3X,I6) 04280109
432: WRITE (I02,80480) IVON01,IVON02,IVON03,IVON04,IVON05 04290109
433: 80480 FORMAT (10X,I2,3X,I3,3X,I4,3X,I5,3X,I6) 04300109
434: GO TO 1721 04310109
435: 31710 IVDELE = IVDELE + 1 04320109
436: WRITE (I02,80003) IVTNUM 04330109
437: 1721 CONTINUE 04340109
438: IVTNUM = 172 04350109
439: C 04360109
440: C **** TEST 172 **** 04370109
441: C TEST 172 - NUMERIC FIELD DESCRIPTOR I5 04380109
442: C MIX POSITIVE AND NEGATIVE INTEGER OUTPUT IN ONE FORMAT 04390109
443: C STATEMENT ALL UNDER I5 DESCRIPTOR 04400109
444: C 04410109
445: IF (ICZERO) 31720, 1720, 31720 04420109
446: 1720 CONTINUE 04430109
447: IVON01 =5 04440109
448: IVON02 = -54 04450109
449: IVON03 = 543 04460109
450: IVON04 = -5432 04470109
451: IVON05=32000 04480109
452: WRITE (I02,90002) 04490109
453: WRITE (I02,80001) IVTNUM 04500109
454: WRITE (I02,80491) 04510109
455: 80491 FORMAT (18X,46HTHIS TEST PRINTS 5, -54, 543, -5432, AND 32000) 04520109
456: WRITE (I02,80492) 04530109
457: 80492 FORMAT (11X,33HUNDER I5 NUMERIC FIELD DESCRIPTOR) 04540109
458: WRITE (I02,80490) IVON01,IVON02,IVON03,IVON04,IVON05 04550109
459: 80490 FORMAT (11X,I5,3X,I5,3X,I5,3X,I5,3X,I5) 04560109
460: GO TO 1731 04570109
461: 31720 IVDELE = IVDELE + 1 04580109
462: WRITE (I02,80003) IVTNUM 04590109
463: 1731 CONTINUE 04600109
464: IVTNUM = 173 04610109
465: C 04620109
466: C **** TEST 173 **** 04630109
467: C TEST 173 - VERTICAL SPACING TEST USING THE 1H0 AS A DOUBLE 04640109
468: C SPACE BEFORE PRINT ( ADVANCE TWO LINES BEFORE WRITING ). THE 0 04650109
469: C AS A CARRIAGE CONTROL CHARACTER IS USED WITH THE BLANK CHARACTER 04660109
470: C TO GET AN ODD NUMBER OF LINES TO ADVANCE BEFORE WRITING. 04670109
471: C 04680109
472: IF (ICZERO) 31730, 1730, 31730 04690109
473: 1730 CONTINUE 04700109
474: WRITE (I02,90002) 04710109
475: WRITE (I02,80001) IVTNUM 04720109
476: WRITE (I02,81730) 04730109
477: 81730 FORMAT (1H , 10X) 04740109
478: WRITE (I02,81731) 04750109
479: 81731 FORMAT (41H THERE IS ONE BLANK LINE BEFORE THIS LINE) 04760109
480: WRITE ( I02, 81732 ) 04770109
481: 81732 FORMAT ( 1H0,10X) 04780109
482: WRITE ( I02, 81733 ) 04790109
483: 81733 FORMAT (43H THERE ARE TWO BLANK LINES BEFORE THIS LINE) 04800109
484: WRITE ( I02, 81730 ) 04810109
485: WRITE ( I02, 81732 ) 04820109
486: WRITE ( I02, 81735 ) 04830109
487: 81735 FORMAT (45H THERE ARE THREE BLANK LINES BEFORE THIS LINE) 04840109
488: WRITE ( I02, 81732 ) 04850109
489: WRITE ( I02, 81732 ) 04860109
490: WRITE ( I02, 81736 ) 04870109
491: 81736 FORMAT (45H THERE ARE FOUR BLANK LINES BEFORE THIS LINE) 04880109
492: GO TO 1741 04890109
493: 31730 IVDELE = IVDELE + 1 04900109
494: WRITE (I02,80003) IVTNUM 04910109
495: 1741 CONTINUE 04920109
496: IVTNUM = 174 04930109
497: C 04940109
498: C **** TEST 174 **** 04950109
499: C TEST 174 - VERTICAL SPACING TEST USING THE + CHARACTER TO 04960109
500: C SUPPRESS ADVANCING BEFORE THE PRINT AND THIS SHOULD CAUSE TWO AND 04970109
501: C THEN THREE SUCCESSIVE LINES TO OVERPRINT 04980109
502: C 04990109
503: IF (ICZERO) 31740, 1740, 31740 05000109
504: 1740 CONTINUE 05010109
505: WRITE ( I02, 90002 ) 05020109
506: WRITE ( I02, 80001 ) IVTNUM 05030109
507: WRITE ( I02, 81740 ) 05040109
508: 81740 FORMAT ( 1H ) 05050109
509: WRITE ( I02, 81741 ) 05060109
510: 81741 FORMAT ( 1H ,10X, 19H1ST LINE - AABBCCDD) 05070109
511: WRITE ( I02, 81742 ) 05080109
512: 81742 FORMAT ( 1H+, 25X, 30HWWXXYYZZ OVERPRINTS - 2ND LINE) 05090109
513: WRITE ( I02, 81743 ) 05100109
514: 81743 FORMAT ( /////1H ) 05110109
515: C SKIP DOWN A FEW LINES TO GET SET - OK AWAY WE GO.. 05120109
516: WRITE ( I02, 81740 ) 05130109
517: WRITE ( I02, 81744 ) 05140109
518: 81744 FORMAT ( 1H , 10X, 29H11 44 1ST LINE) 05150109
519: WRITE ( I02, 81745 ) 05160109
520: 81745 FORMAT ( 1H+, 10X, 20H 22 55 2ND) 05170109
521: WRITE ( I02, 81746 ) 05180109
522: 81746 FORMAT ( 1H+, 10X, 24H 33 66 3RD) 05190109
523: GO TO 1751 05200109
524: 31740 IVDELE = IVDELE + 1 05210109
525: WRITE (I02,80003) IVTNUM 05220109
526: 1751 CONTINUE 05230109
527: IVTNUM = 175 05240109
528: C 05250109
529: C **** TEST 175 **** 05260109
530: C TEST 175 - NUMERIC FIELD DESCRIPTOR F3.0 05270109
531: C 05280109
532: IF (ICZERO) 31750, 1750, 31750 05290109
533: 1750 CONTINUE 05300109
534: WRITE ( I02, 90002 ) 05310109
535: WRITE ( I02, 80001 ) IVTNUM 05320109
536: WRITE ( I02, 81751 ) 05330109
537: 81751 FORMAT (1H ,10X,42HTHIS TESTS PRINTS 3. UNDER F3.0 DESCRIPTOR) 05340109
538: RVON01 = 3. 05350109
539: WRITE ( I02, 81752 ) RVON01 05360109
540: 81752 FORMAT ( 1H ,10X, F3.0 ) 05370109
541: GO TO 1761 05380109
542: 31750 IVDELE = IVDELE + 1 05390109
543: WRITE (I02,80003) IVTNUM 05400109
544: 1761 CONTINUE 05410109
545: IVTNUM = 176 05420109
546: C 05430109
547: C **** TEST 176 **** 05440109
548: C TEST 176 - SIGNED NUMERIC FIELD DESCRIPTOR F4.0 05450109
549: C 05460109
550: IF (ICZERO) 31760, 1760, 31760 05470109
551: 1760 CONTINUE 05480109
552: WRITE ( I02, 90002 ) 05490109
553: WRITE ( I02, 80001 ) IVTNUM 05500109
554: WRITE ( I02, 81761 ) 05510109
555: 81761 FORMAT ( 1H ,10X,43HTHIS TEST PRINTS -15. WITH F4.0 DESCRIPTOR) 05520109
556: RVON01 = -15. 05530109
557: WRITE ( I02, 81762 ) RVON01 05540109
558: 81762 FORMAT ( 1H ,10X, F4.0) 05550109
559: GO TO 1771 05560109
560: 31760 IVDELE = IVDELE + 1 05570109
561: WRITE (I02,80003) IVTNUM 05580109
562: 1771 CONTINUE 05590109
563: IVTNUM = 177 05600109
564: C 05610109
565: C **** TEST 177 **** 05620109
566: C TEST 177 - SIGNED NUMERIC FIELD DESCRIPTOR E12.5 05630109
567: C 05640109
568: IF (ICZERO) 31770, 1770, 31770 05650109
569: 1770 CONTINUE 05660109
570: WRITE ( I02, 90002 ) 05670109
571: WRITE ( I02, 80001 ) IVTNUM 05680109
572: WRITE ( I02, 81771 ) 05690109
573: 81771 FORMAT ( 1H , 10X,41HTHIS TEST PRINTS -0.12345E+03 USING E12.5) 05700109
574: RVON01 = -123.45 05710109
575: WRITE ( I02, 81772 ) RVON01 05720109
576: 81772 FORMAT ( 1H , 10X, E12.5 ) 05730109
577: GO TO 1781 05740109
578: 31770 IVDELE = IVDELE + 1 05750109
579: WRITE (I02,80003) IVTNUM 05760109
580: 1781 CONTINUE 05770109
581: C 05780109
582: C WRITE PAGE FOOTINGS 05790109
583: 99999 CONTINUE 05800109
584: WRITE (I02,90002) 05810109
585: WRITE (I02,90006) 05820109
586: WRITE (I02,90002) 05830109
587: WRITE (I02,90007) 05840109
588: C 05850109
589: C TERMINATE ROUTINE EXECUTION 05860109
590: STOP 05870109
591: C 05880109
592: C FORMAT STATEMENTS FOR PAGE HEADERS 05890109
593: 90000 FORMAT (1H1) 05900109
594: 90002 FORMAT (1H ) 05910109
595: 90001 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 05920109
596: 90003 FORMAT (1H ,21X,11HVERSION 1.0) 05930109
597: 90004 FORMAT (1H ,10X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 05940109
598: 90005 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL, 5X,8HCOMPUTED,8X,7HCORRECT) 05950109
599: 90006 FORMAT (1H ,5X,46H----------------------------------------------) 05960109
600: 90011 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 05970109
601: C FORMAT STATEMENTS FOR THIS ROUTINE 05980109
602: 80001 FORMAT (10X,5HTEST ,I5) 05990109
603: 80003 FORMAT ( 1H ,4X,I5,7X,7HDELETED) 06000109
604: 90007 FORMAT (1H ,20X,20HEND OF PROGRAM FM109) 06010109
605: END 06020109
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.