33 SUBROUTINE w3fi74 (IGDS,ICOMP,GDS,LENGDS,NPTS,IGERR)
55 IF (igds(3) .EQ. 0 .OR. igds(3) .EQ. 2 .OR.
56 & igds(3) .EQ. 4 .OR. igds(3) .EQ. 5 .OR.
57 & igds(3) .EQ. 50 .OR. igds(3) .EQ. 201.OR.
58 & igds(3) .EQ. 202.OR. igds(3) .EQ. 203.OR.
59 & igds(3) .EQ. 204 )
THEN
64 IF (igds(3).EQ.0.AND.igds(1).EQ.0.AND.igds(2).NE.
68 ELSE IF (igds(3) .EQ. 1 .OR. igds(3) .EQ. 3 .OR.
69 & igds(3) .EQ. 13)
THEN
71 ELSE IF (igds(3) .EQ. 205)
THEN
81 gds(1) = char(mod(
lengds/65536,256))
82 gds(2) = char(mod(
lengds/ 256,256))
83 gds(3) = char(mod(
lengds ,256))
89 gds(4) = char(igds(1))
90 gds(5) = char(igds(2))
91 gds(6) = char(igds(3))
99 IF (igds(3).EQ.205)
THEN
100 gds( 7) = char(mod(igds(4)/256,256))
101 gds( 8) = char(mod(igds(4) ,256))
102 gds( 9) = char(mod(igds(5)/256,256))
103 gds(10) = char(mod(igds(5) ,256))
105 IF (lato .LT. 0)
THEN
107 lato = ior(lato,8388608)
109 gds(11) = char(mod(lato/65536,256))
110 gds(12) = char(mod(lato/ 256,256))
111 gds(13) = char(mod(lato ,256))
113 IF (lono .LT. 0)
THEN
115 lono = ior(lono,8388608)
117 gds(14) = char(mod(lono/65536,256))
118 gds(15) = char(mod(lono/ 256,256))
119 gds(16) = char(mod(lono ,256))
121 IF (latext .LT. 0)
THEN
123 latext = ior(latext,8388608)
125 gds(18) = char(mod(latext/65536,256))
126 gds(19) = char(mod(latext/ 256,256))
127 gds(20) = char(mod(latext ,256))
129 IF (lonext .LT. 0)
THEN
131 lonext = ior(lonext,8388608)
133 gds(21) = char(mod(lonext/65536,256))
134 gds(22) = char(mod(lonext/ 256,256))
135 gds(23) = char(mod(lonext ,256))
136 gds(24) = char(mod(igds(11)/256,256))
137 gds(25) = char(mod(igds(11) ,256))
138 gds(26) = char(mod(igds(12)/256,256))
139 gds(27) = char(mod(igds(12) ,256))
140 gds(28) = char(igds(13))
142 IF (lato .LT. 0)
THEN
144 lato = ior(lato,8388608)
146 gds(29) = char(mod(lato/65536,256))
147 gds(30) = char(mod(lato/ 256,256))
148 gds(31) = char(mod(lato ,256))
150 IF (lono .LT. 0)
THEN
152 lono = ior(lono,8388608)
154 gds(32) = char(mod(lono/65536,256))
155 gds(33) = char(mod(lono/ 256,256))
156 gds(34) = char(mod(lono ,256))
161 ELSEIF (igds(3).EQ.0.OR.igds(3).EQ.4.OR.
162 & igds(3).EQ.201.OR.igds(3).EQ.202.OR.
163 & igds(3).EQ.203.OR.igds(3).EQ.204)
THEN
164 gds( 7) = char(mod(igds(4)/256,256))
165 gds( 8) = char(mod(igds(4) ,256))
166 gds( 9) = char(mod(igds(5)/256,256))
167 gds(10) = char(mod(igds(5) ,256))
169 IF (lato .LT. 0)
THEN
171 lato = ior(lato,8388608)
173 gds(11) = char(mod(lato/65536,256))
174 gds(12) = char(mod(lato/ 256,256))
175 gds(13) = char(mod(lato ,256))
177 IF (lono .LT. 0)
THEN
179 lono = ior(lono,8388608)
181 gds(14) = char(mod(lono/65536,256))
182 gds(15) = char(mod(lono/ 256,256))
183 gds(16) = char(mod(lono ,256))
185 IF (latext .LT. 0)
THEN
187 latext = ior(latext,8388608)
189 gds(18) = char(mod(latext/65536,256))
190 gds(19) = char(mod(latext/ 256,256))
191 gds(20) = char(mod(latext ,256))
193 IF (lonext .LT. 0)
THEN
195 lonext = ior(lonext,8388608)
197 gds(21) = char(mod(lonext/65536,256))
198 gds(22) = char(mod(lonext/ 256,256))
199 gds(23) = char(mod(lonext ,256))
200 ires = iand(igds(8),128)
201 IF (igds(3).EQ.201.OR.igds(3).EQ.202.OR.
202 & igds(3).EQ.203.OR.igds(3).EQ.204)
THEN
203 gds(24) = char(mod(igds(11)/256,256))
204 gds(25) = char(mod(igds(11) ,256))
205 ELSE IF (ires.EQ.0)
THEN
209 gds(24) = char(mod(igds(12)/256,256))
210 gds(25) = char(mod(igds(12) ,256))
212 IF (igds(3).EQ.4)
THEN
213 gds(26) = char(mod(igds(11)/256,256))
214 gds(27) = char(mod(igds(11) ,256))
215 ELSE IF (igds(3).EQ.201.OR.igds(3).EQ.202.OR.
216 & igds(3).EQ.203.OR.igds(3).EQ.204)
THEN
217 gds(26) = char(mod(igds(12)/256,256))
218 gds(27) = char(mod(igds(12) ,256))
219 ELSE IF (ires.EQ.0)
THEN
223 gds(26) = char(mod(igds(11)/256,256))
224 gds(27) = char(mod(igds(11) ,256))
226 gds(28) = char(igds(13))
235 isum = isum + igds(i)
236 gds(j) = char(mod(igds(i)/256,256))
237 gds(j+1) = char(mod(igds(i) ,256))
244 ELSE IF (igds(3) .EQ. 1)
THEN
245 gds( 7) = char(mod(igds(4)/256,256))
246 gds( 8) = char(mod(igds(4) ,256))
247 gds( 9) = char(mod(igds(5)/256,256))
248 gds(10) = char(mod(igds(5) ,256))
250 IF (lato .LT. 0)
THEN
252 lato = ior(lato,8388608)
254 gds(11) = char(mod(lato/65536,256))
255 gds(12) = char(mod(lato/ 256,256))
256 gds(13) = char(mod(lato ,256))
258 IF (lono .LT. 0)
THEN
260 lono = ior(lono,8388608)
262 gds(14) = char(mod(lono/65536,256))
263 gds(15) = char(mod(lono/ 256,256))
264 gds(16) = char(mod(lono ,256))
266 IF (latext .LT. 0)
THEN
268 latext = ior(latext,8388608)
270 gds(18) = char(mod(latext/65536,256))
271 gds(19) = char(mod(latext/ 256,256))
272 gds(20) = char(mod(latext ,256))
274 IF (lonext .LT. 0)
THEN
276 lonext = ior(lonext,8388608)
278 gds(21) = char(mod(lonext/65536,256))
279 gds(22) = char(mod(lonext/ 256,256))
280 gds(23) = char(mod(lonext ,256))
281 gds(24) = char(mod(igds(13)/65536,256))
282 gds(25) = char(mod(igds(13)/ 256,256))
283 gds(26) = char(mod(igds(13) ,256))
285 gds(28) = char(igds(14))
286 gds(29) = char(mod(igds(12)/65536,256))
287 gds(30) = char(mod(igds(12)/ 256,256))
288 gds(31) = char(mod(igds(12) ,256))
289 gds(32) = char(mod(igds(11)/65536,256))
290 gds(33) = char(mod(igds(11)/ 256,256))
291 gds(34) = char(mod(igds(11) ,256))
301 ELSE IF (igds(3) .EQ. 3)
THEN
302 gds( 7) = char(mod(igds(4)/256,256))
303 gds( 8) = char(mod(igds(4) ,256))
304 gds( 9) = char(mod(igds(5)/256,256))
305 gds(10) = char(mod(igds(5) ,256))
307 IF (lato .LT. 0)
THEN
309 lato = ior(lato,8388608)
311 gds(11) = char(mod(lato/65536,256))
312 gds(12) = char(mod(lato/ 256,256))
313 gds(13) = char(mod(lato ,256))
315 IF (lono .LT. 0)
THEN
317 lono = ior(lono,8388608)
319 gds(14) = char(mod(lono/65536,256))
320 gds(15) = char(mod(lono/ 256,256))
321 gds(16) = char(mod(lono ,256))
323 IF (lonm .LT. 0)
THEN
325 lonm = ior(lonm,8388608)
327 gds(18) = char(mod(lonm/65536,256))
328 gds(19) = char(mod(lonm/ 256,256))
329 gds(20) = char(mod(lonm ,256))
330 gds(21) = char(mod(igds(10)/65536,256))
331 gds(22) = char(mod(igds(10)/ 256,256))
332 gds(23) = char(mod(igds(10) ,256))
333 gds(24) = char(mod(igds(11)/65536,256))
334 gds(25) = char(mod(igds(11)/ 256,256))
335 gds(26) = char(mod(igds(11) ,256))
336 gds(27) = char(igds(12))
337 gds(28) = char(igds(13))
338 gds(29) = char(mod(igds(15)/65536,256))
339 gds(30) = char(mod(igds(15)/ 256,256))
340 gds(31) = char(mod(igds(15) ,256))
341 gds(32) = char(mod(igds(16)/65536,256))
342 gds(33) = char(mod(igds(16)/ 256,256))
343 gds(34) = char(mod(igds(16) ,256))
344 gds(35) = char(mod(igds(17)/65536,256))
345 gds(36) = char(mod(igds(17)/ 256,256))
346 gds(37) = char(mod(igds(17) ,256))
347 gds(38) = char(mod(igds(18)/65536,256))
348 gds(39) = char(mod(igds(18)/ 256,256))
349 gds(40) = char(mod(igds(18) ,256))
353 ELSE IF (igds(3) .EQ. 5)
THEN
354 gds( 7) = char(mod(igds(4)/256,256))
355 gds( 8) = char(mod(igds(4) ,256))
356 gds( 9) = char(mod(igds(5)/256,256))
357 gds(10) = char(mod(igds(5) ,256))
359 IF (lato .LT. 0)
THEN
361 lato = ior(lato,8388608)
363 gds(11) = char(mod(lato/65536,256))
364 gds(12) = char(mod(lato/ 256,256))
365 gds(13) = char(mod(lato ,256))
367 IF (lono .LT. 0)
THEN
369 lono = ior(lono,8388608)
371 gds(14) = char(mod(lono/65536,256))
372 gds(15) = char(mod(lono/ 256,256))
373 gds(16) = char(mod(lono ,256))
375 IF (lonm .LT. 0)
THEN
377 lonm = ior(lonm,8388608)
379 gds(18) = char(mod(lonm/65536,256))
380 gds(19) = char(mod(lonm/ 256,256))
381 gds(20) = char(mod(lonm ,256))
382 gds(21) = char(mod(igds(10)/65536,256))
383 gds(22) = char(mod(igds(10)/ 256,256))
384 gds(23) = char(mod(igds(10) ,256))
385 gds(24) = char(mod(igds(11)/65536,256))
386 gds(25) = char(mod(igds(11)/ 256,256))
387 gds(26) = char(mod(igds(11) ,256))
388 gds(27) = char(igds(12))
389 gds(28) = char(igds(13))
401 IF (igds(3).EQ.0.AND.igds(1).EQ.0.AND.igds(2).NE.
405 npts = igds(4) * igds(5)
411 itemp = ishft(icomp,3)
412 gds(17) = char(ior(igds(8),itemp))