18 SUBROUTINE w3fi74 (IGDS,ICOMP,GDS,LENGDS,NPTS,IGERR)
40 IF (igds(3) .EQ. 0 .OR. igds(3) .EQ. 2 .OR.
41 & igds(3) .EQ. 4 .OR. igds(3) .EQ. 5 .OR.
42 & igds(3) .EQ. 50 .OR. igds(3) .EQ. 201.OR.
43 & igds(3) .EQ. 202.OR. igds(3) .EQ. 203.OR.
44 & igds(3) .EQ. 204 )
THEN
49 IF (igds(3).EQ.0.AND.igds(1).EQ.0.AND.igds(2).NE.
53 ELSE IF (igds(3) .EQ. 1 .OR. igds(3) .EQ. 3 .OR.
54 & igds(3) .EQ. 13)
THEN
56 ELSE IF (igds(3) .EQ. 205)
THEN
66 gds(1) = char(mod(
lengds/65536,256))
67 gds(2) = char(mod(
lengds/ 256,256))
68 gds(3) = char(mod(
lengds ,256))
74 gds(4) = char(igds(1))
75 gds(5) = char(igds(2))
76 gds(6) = char(igds(3))
84 IF (igds(3).EQ.205)
THEN
85 gds( 7) = char(mod(igds(4)/256,256))
86 gds( 8) = char(mod(igds(4) ,256))
87 gds( 9) = char(mod(igds(5)/256,256))
88 gds(10) = char(mod(igds(5) ,256))
92 lato = ior(lato,8388608)
94 gds(11) = char(mod(lato/65536,256))
95 gds(12) = char(mod(lato/ 256,256))
96 gds(13) = char(mod(lato ,256))
100 lono = ior(lono,8388608)
102 gds(14) = char(mod(lono/65536,256))
103 gds(15) = char(mod(lono/ 256,256))
104 gds(16) = char(mod(lono ,256))
106 IF (latext .LT. 0)
THEN
108 latext = ior(latext,8388608)
110 gds(18) = char(mod(latext/65536,256))
111 gds(19) = char(mod(latext/ 256,256))
112 gds(20) = char(mod(latext ,256))
114 IF (lonext .LT. 0)
THEN
116 lonext = ior(lonext,8388608)
118 gds(21) = char(mod(lonext/65536,256))
119 gds(22) = char(mod(lonext/ 256,256))
120 gds(23) = char(mod(lonext ,256))
121 gds(24) = char(mod(igds(11)/256,256))
122 gds(25) = char(mod(igds(11) ,256))
123 gds(26) = char(mod(igds(12)/256,256))
124 gds(27) = char(mod(igds(12) ,256))
125 gds(28) = char(igds(13))
127 IF (lato .LT. 0)
THEN
129 lato = ior(lato,8388608)
131 gds(29) = char(mod(lato/65536,256))
132 gds(30) = char(mod(lato/ 256,256))
133 gds(31) = char(mod(lato ,256))
135 IF (lono .LT. 0)
THEN
137 lono = ior(lono,8388608)
139 gds(32) = char(mod(lono/65536,256))
140 gds(33) = char(mod(lono/ 256,256))
141 gds(34) = char(mod(lono ,256))
146 ELSEIF (igds(3).EQ.0.OR.igds(3).EQ.4.OR.
147 & igds(3).EQ.201.OR.igds(3).EQ.202.OR.
148 & igds(3).EQ.203.OR.igds(3).EQ.204)
THEN
149 gds( 7) = char(mod(igds(4)/256,256))
150 gds( 8) = char(mod(igds(4) ,256))
151 gds( 9) = char(mod(igds(5)/256,256))
152 gds(10) = char(mod(igds(5) ,256))
154 IF (lato .LT. 0)
THEN
156 lato = ior(lato,8388608)
158 gds(11) = char(mod(lato/65536,256))
159 gds(12) = char(mod(lato/ 256,256))
160 gds(13) = char(mod(lato ,256))
162 IF (lono .LT. 0)
THEN
164 lono = ior(lono,8388608)
166 gds(14) = char(mod(lono/65536,256))
167 gds(15) = char(mod(lono/ 256,256))
168 gds(16) = char(mod(lono ,256))
170 IF (latext .LT. 0)
THEN
172 latext = ior(latext,8388608)
174 gds(18) = char(mod(latext/65536,256))
175 gds(19) = char(mod(latext/ 256,256))
176 gds(20) = char(mod(latext ,256))
178 IF (lonext .LT. 0)
THEN
180 lonext = ior(lonext,8388608)
182 gds(21) = char(mod(lonext/65536,256))
183 gds(22) = char(mod(lonext/ 256,256))
184 gds(23) = char(mod(lonext ,256))
185 ires = iand(igds(8),128)
186 IF (igds(3).EQ.201.OR.igds(3).EQ.202.OR.
187 & igds(3).EQ.203.OR.igds(3).EQ.204)
THEN
188 gds(24) = char(mod(igds(11)/256,256))
189 gds(25) = char(mod(igds(11) ,256))
190 ELSE IF (ires.EQ.0)
THEN
194 gds(24) = char(mod(igds(12)/256,256))
195 gds(25) = char(mod(igds(12) ,256))
197 IF (igds(3).EQ.4)
THEN
198 gds(26) = char(mod(igds(11)/256,256))
199 gds(27) = char(mod(igds(11) ,256))
200 ELSE IF (igds(3).EQ.201.OR.igds(3).EQ.202.OR.
201 & igds(3).EQ.203.OR.igds(3).EQ.204)
THEN
202 gds(26) = char(mod(igds(12)/256,256))
203 gds(27) = char(mod(igds(12) ,256))
204 ELSE IF (ires.EQ.0)
THEN
208 gds(26) = char(mod(igds(11)/256,256))
209 gds(27) = char(mod(igds(11) ,256))
211 gds(28) = char(igds(13))
220 isum = isum + igds(i)
221 gds(j) = char(mod(igds(i)/256,256))
222 gds(j+1) = char(mod(igds(i) ,256))
229 ELSE IF (igds(3) .EQ. 1)
THEN
230 gds( 7) = char(mod(igds(4)/256,256))
231 gds( 8) = char(mod(igds(4) ,256))
232 gds( 9) = char(mod(igds(5)/256,256))
233 gds(10) = char(mod(igds(5) ,256))
235 IF (lato .LT. 0)
THEN
237 lato = ior(lato,8388608)
239 gds(11) = char(mod(lato/65536,256))
240 gds(12) = char(mod(lato/ 256,256))
241 gds(13) = char(mod(lato ,256))
243 IF (lono .LT. 0)
THEN
245 lono = ior(lono,8388608)
247 gds(14) = char(mod(lono/65536,256))
248 gds(15) = char(mod(lono/ 256,256))
249 gds(16) = char(mod(lono ,256))
251 IF (latext .LT. 0)
THEN
253 latext = ior(latext,8388608)
255 gds(18) = char(mod(latext/65536,256))
256 gds(19) = char(mod(latext/ 256,256))
257 gds(20) = char(mod(latext ,256))
259 IF (lonext .LT. 0)
THEN
261 lonext = ior(lonext,8388608)
263 gds(21) = char(mod(lonext/65536,256))
264 gds(22) = char(mod(lonext/ 256,256))
265 gds(23) = char(mod(lonext ,256))
266 gds(24) = char(mod(igds(13)/65536,256))
267 gds(25) = char(mod(igds(13)/ 256,256))
268 gds(26) = char(mod(igds(13) ,256))
270 gds(28) = char(igds(14))
271 gds(29) = char(mod(igds(12)/65536,256))
272 gds(30) = char(mod(igds(12)/ 256,256))
273 gds(31) = char(mod(igds(12) ,256))
274 gds(32) = char(mod(igds(11)/65536,256))
275 gds(33) = char(mod(igds(11)/ 256,256))
276 gds(34) = char(mod(igds(11) ,256))
286 ELSE IF (igds(3) .EQ. 3)
THEN
287 gds( 7) = char(mod(igds(4)/256,256))
288 gds( 8) = char(mod(igds(4) ,256))
289 gds( 9) = char(mod(igds(5)/256,256))
290 gds(10) = char(mod(igds(5) ,256))
292 IF (lato .LT. 0)
THEN
294 lato = ior(lato,8388608)
296 gds(11) = char(mod(lato/65536,256))
297 gds(12) = char(mod(lato/ 256,256))
298 gds(13) = char(mod(lato ,256))
300 IF (lono .LT. 0)
THEN
302 lono = ior(lono,8388608)
304 gds(14) = char(mod(lono/65536,256))
305 gds(15) = char(mod(lono/ 256,256))
306 gds(16) = char(mod(lono ,256))
308 IF (lonm .LT. 0)
THEN
310 lonm = ior(lonm,8388608)
312 gds(18) = char(mod(lonm/65536,256))
313 gds(19) = char(mod(lonm/ 256,256))
314 gds(20) = char(mod(lonm ,256))
315 gds(21) = char(mod(igds(10)/65536,256))
316 gds(22) = char(mod(igds(10)/ 256,256))
317 gds(23) = char(mod(igds(10) ,256))
318 gds(24) = char(mod(igds(11)/65536,256))
319 gds(25) = char(mod(igds(11)/ 256,256))
320 gds(26) = char(mod(igds(11) ,256))
321 gds(27) = char(igds(12))
322 gds(28) = char(igds(13))
323 gds(29) = char(mod(igds(15)/65536,256))
324 gds(30) = char(mod(igds(15)/ 256,256))
325 gds(31) = char(mod(igds(15) ,256))
326 gds(32) = char(mod(igds(16)/65536,256))
327 gds(33) = char(mod(igds(16)/ 256,256))
328 gds(34) = char(mod(igds(16) ,256))
329 gds(35) = char(mod(igds(17)/65536,256))
330 gds(36) = char(mod(igds(17)/ 256,256))
331 gds(37) = char(mod(igds(17) ,256))
332 gds(38) = char(mod(igds(18)/65536,256))
333 gds(39) = char(mod(igds(18)/ 256,256))
334 gds(40) = char(mod(igds(18) ,256))
338 ELSE IF (igds(3) .EQ. 5)
THEN
339 gds( 7) = char(mod(igds(4)/256,256))
340 gds( 8) = char(mod(igds(4) ,256))
341 gds( 9) = char(mod(igds(5)/256,256))
342 gds(10) = char(mod(igds(5) ,256))
344 IF (lato .LT. 0)
THEN
346 lato = ior(lato,8388608)
348 gds(11) = char(mod(lato/65536,256))
349 gds(12) = char(mod(lato/ 256,256))
350 gds(13) = char(mod(lato ,256))
352 IF (lono .LT. 0)
THEN
354 lono = ior(lono,8388608)
356 gds(14) = char(mod(lono/65536,256))
357 gds(15) = char(mod(lono/ 256,256))
358 gds(16) = char(mod(lono ,256))
360 IF (lonm .LT. 0)
THEN
362 lonm = ior(lonm,8388608)
364 gds(18) = char(mod(lonm/65536,256))
365 gds(19) = char(mod(lonm/ 256,256))
366 gds(20) = char(mod(lonm ,256))
367 gds(21) = char(mod(igds(10)/65536,256))
368 gds(22) = char(mod(igds(10)/ 256,256))
369 gds(23) = char(mod(igds(10) ,256))
370 gds(24) = char(mod(igds(11)/65536,256))
371 gds(25) = char(mod(igds(11)/ 256,256))
372 gds(26) = char(mod(igds(11) ,256))
373 gds(27) = char(igds(12))
374 gds(28) = char(igds(13))
386 IF (igds(3).EQ.0.AND.igds(1).EQ.0.AND.igds(2).NE.
390 npts = igds(4) * igds(5)
396 itemp = ishft(icomp,3)
397 gds(17) = char(ior(igds(8),itemp))