17#include "../base/base_uses.f90"
23 INTEGER(kind=int_8),
PARAMETER :: mask_right(0:63) = &
24 (/0_int_8, 1_int_8, 3_int_8, 7_int_8, 15_int_8, 31_int_8, 63_int_8, 127_int_8, 255_int_8, 511_int_8, &
25 1023_int_8, 2047_int_8, 4095_int_8, 8191_int_8, 16383_int_8, 32767_int_8, 65535_int_8, 131071_int_8, &
26 262143_int_8, 524287_int_8, 1048575_int_8, 2097151_int_8, 4194303_int_8, 8388607_int_8, 16777215_int_8, &
27 33554431_int_8, 67108863_int_8, 134217727_int_8, 268435455_int_8, 536870911_int_8, 1073741823_int_8, &
28 2147483647_int_8, 4294967295_int_8, 8589934591_int_8, 17179869183_int_8, 34359738367_int_8, &
29 68719476735_int_8, 137438953471_int_8, 274877906943_int_8, 549755813887_int_8, 1099511627775_int_8, &
30 2199023255551_int_8, 4398046511103_int_8, 8796093022207_int_8, 17592186044415_int_8, &
31 35184372088831_int_8, 70368744177663_int_8, 140737488355327_int_8, 281474976710655_int_8, &
32 562949953421311_int_8, 1125899906842623_int_8, 2251799813685247_int_8, 4503599627370495_int_8, &
33 9007199254740991_int_8, 18014398509481983_int_8, 36028797018963967_int_8, 72057594037927935_int_8, &
34 144115188075855871_int_8, 288230376151711743_int_8, 576460752303423487_int_8, &
35 1152921504606846975_int_8, 2305843009213693951_int_8, 4611686018427387903_int_8, &
36 9223372036854775807_int_8/)
40 INTEGER(kind=int_8),
PARAMETER :: ugly_duck = ishft(1_int_8, 63)
41 INTEGER(kind=int_8),
PARAMETER :: mask_left(0:63) = &
42 (/0_int_8, ugly_duck, -4611686018427387904_int_8, -2305843009213693952_int_8, &
43 -1152921504606846976_int_8, -576460752303423488_int_8, -288230376151711744_int_8, &
44 -144115188075855872_int_8, -72057594037927936_int_8, -36028797018963968_int_8, &
45 -18014398509481984_int_8, -9007199254740992_int_8, -4503599627370496_int_8, -2251799813685248_int_8, &
46 -1125899906842624_int_8, -562949953421312_int_8, -281474976710656_int_8, -140737488355328_int_8, &
47 -70368744177664_int_8, -35184372088832_int_8, -17592186044416_int_8, -8796093022208_int_8, &
48 -4398046511104_int_8, -2199023255552_int_8, -1099511627776_int_8, -549755813888_int_8, &
49 -274877906944_int_8, -137438953472_int_8, -68719476736_int_8, -34359738368_int_8, -17179869184_int_8, &
50 -8589934592_int_8, -4294967296_int_8, -2147483648_int_8, -1073741824_int_8, -536870912_int_8, &
51 -268435456_int_8, -134217728_int_8, -67108864_int_8, -33554432_int_8, -16777216_int_8, &
52 -8388608_int_8, -4194304_int_8, -2097152_int_8, -1048576_int_8, -524288_int_8, -262144_int_8, &
53 -131072_int_8, -65536_int_8, -32768_int_8, -16384_int_8, -8192_int_8, -4096_int_8, -2048_int_8, &
54 -1024_int_8, -512_int_8, -256_int_8, -128_int_8, -64_int_8, -32_int_8, -16_int_8, -8_int_8, -4_int_8, &
67 SUBROUTINE ints2ints(Ndata, packed_data, full_data)
68 INTEGER,
INTENT(IN) :: Ndata
69 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
70 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
72 full_data(1:ndata) = packed_data(1:ndata)
86 SUBROUTINE bits2ints_generic(Nbits, Ndata, packed_data, full_data)
88 INTEGER,
INTENT(IN) :: Nbits, Ndata
89 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
90 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
92 INTEGER :: i_odd_bits, ibits_remaining, idata, ipack
93 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
100 pack_tmp = packed_data(ipack)
103 IF (nbits < 1) cpabort(
"This is a bug")
105 IF (nbits >= 64) cpabort(
"This is a bug")
109 IF (idata == ndata)
EXIT
111 IF (ibits_remaining >= nbits)
THEN
112 data_tmp = iand(pack_tmp, mask_right(nbits))
113 full_data(idata) = data_tmp
114 pack_tmp = ishft(pack_tmp, -nbits)
115 ibits_remaining = ibits_remaining - nbits
117 i_odd_bits = nbits - ibits_remaining
118 data_tmp = ishft(pack_tmp, i_odd_bits)
120 pack_tmp = packed_data(ipack)
122 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(i_odd_bits)))
123 pack_tmp = ishft(pack_tmp, -i_odd_bits)
124 ibits_remaining = 64 - i_odd_bits
128 END SUBROUTINE bits2ints_generic
137 SUBROUTINE ints2bits_generic(Nbits, Ndata, packed_data, full_data)
138 INTEGER,
INTENT(IN) :: Nbits, Ndata
139 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
140 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
142 INTEGER :: i_odd_bits, ibits_remaining, idata, ipack
143 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
153 IF (nbits < 1) cpabort(
"This is a bug")
155 IF (nbits >= 64) cpabort(
"This is a bug")
159 IF (idata == ndata)
EXIT
161 IF (ibits_remaining >= nbits)
THEN
162 data_tmp = full_data(idata)
163 data_tmp = ishft(data_tmp, 64 - nbits)
164 pack_tmp = ior(pack_tmp, data_tmp)
165 ibits_remaining = ibits_remaining - nbits
166 pack_tmp = ishft(pack_tmp, -min(nbits, ibits_remaining))
168 i_odd_bits = ibits_remaining
169 data_tmp = full_data(idata)
170 data_tmp = ishft(data_tmp, 64 - nbits)
171 data_tmp = iand(data_tmp, mask_left(i_odd_bits))
172 pack_tmp = ior(pack_tmp, data_tmp)
174 packed_data(ipack) = pack_tmp
175 data_tmp = full_data(idata)
176 pack_tmp = ishft(data_tmp, 64 - nbits + i_odd_bits)
177 ibits_remaining = 64 - nbits + i_odd_bits
178 pack_tmp = ishft(pack_tmp, -min(nbits, ibits_remaining))
183 pack_tmp = ishft(pack_tmp, -max(0, ibits_remaining - nbits))
185 packed_data(ipack) = pack_tmp
187 END SUBROUTINE ints2bits_generic
195 SUBROUTINE ints2bits_1(Ndata, packed_data, full_data)
196 INTEGER,
INTENT(IN) :: Ndata
197 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
198 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
200 INTEGER,
PARAMETER :: Nbits = 1
202 INTEGER :: idata, ipack, kdata, Ndata_rep
203 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
207 ndata_rep = (ndata/64)*64
208 DO kdata = 1, ndata_rep, 64
211 data_tmp = full_data(idata)
212 data_tmp = ishft(data_tmp, 63)
213 pack_tmp = ior(pack_tmp, data_tmp)
214 pack_tmp = ishft(pack_tmp, -1)
216 data_tmp = full_data(idata)
217 data_tmp = ishft(data_tmp, 63)
218 pack_tmp = ior(pack_tmp, data_tmp)
219 pack_tmp = ishft(pack_tmp, -1)
221 data_tmp = full_data(idata)
222 data_tmp = ishft(data_tmp, 63)
223 pack_tmp = ior(pack_tmp, data_tmp)
224 pack_tmp = ishft(pack_tmp, -1)
226 data_tmp = full_data(idata)
227 data_tmp = ishft(data_tmp, 63)
228 pack_tmp = ior(pack_tmp, data_tmp)
229 pack_tmp = ishft(pack_tmp, -1)
231 data_tmp = full_data(idata)
232 data_tmp = ishft(data_tmp, 63)
233 pack_tmp = ior(pack_tmp, data_tmp)
234 pack_tmp = ishft(pack_tmp, -1)
236 data_tmp = full_data(idata)
237 data_tmp = ishft(data_tmp, 63)
238 pack_tmp = ior(pack_tmp, data_tmp)
239 pack_tmp = ishft(pack_tmp, -1)
241 data_tmp = full_data(idata)
242 data_tmp = ishft(data_tmp, 63)
243 pack_tmp = ior(pack_tmp, data_tmp)
244 pack_tmp = ishft(pack_tmp, -1)
246 data_tmp = full_data(idata)
247 data_tmp = ishft(data_tmp, 63)
248 pack_tmp = ior(pack_tmp, data_tmp)
249 pack_tmp = ishft(pack_tmp, -1)
251 data_tmp = full_data(idata)
252 data_tmp = ishft(data_tmp, 63)
253 pack_tmp = ior(pack_tmp, data_tmp)
254 pack_tmp = ishft(pack_tmp, -1)
256 data_tmp = full_data(idata)
257 data_tmp = ishft(data_tmp, 63)
258 pack_tmp = ior(pack_tmp, data_tmp)
259 pack_tmp = ishft(pack_tmp, -1)
261 data_tmp = full_data(idata)
262 data_tmp = ishft(data_tmp, 63)
263 pack_tmp = ior(pack_tmp, data_tmp)
264 pack_tmp = ishft(pack_tmp, -1)
266 data_tmp = full_data(idata)
267 data_tmp = ishft(data_tmp, 63)
268 pack_tmp = ior(pack_tmp, data_tmp)
269 pack_tmp = ishft(pack_tmp, -1)
271 data_tmp = full_data(idata)
272 data_tmp = ishft(data_tmp, 63)
273 pack_tmp = ior(pack_tmp, data_tmp)
274 pack_tmp = ishft(pack_tmp, -1)
276 data_tmp = full_data(idata)
277 data_tmp = ishft(data_tmp, 63)
278 pack_tmp = ior(pack_tmp, data_tmp)
279 pack_tmp = ishft(pack_tmp, -1)
281 data_tmp = full_data(idata)
282 data_tmp = ishft(data_tmp, 63)
283 pack_tmp = ior(pack_tmp, data_tmp)
284 pack_tmp = ishft(pack_tmp, -1)
286 data_tmp = full_data(idata)
287 data_tmp = ishft(data_tmp, 63)
288 pack_tmp = ior(pack_tmp, data_tmp)
289 pack_tmp = ishft(pack_tmp, -1)
291 data_tmp = full_data(idata)
292 data_tmp = ishft(data_tmp, 63)
293 pack_tmp = ior(pack_tmp, data_tmp)
294 pack_tmp = ishft(pack_tmp, -1)
296 data_tmp = full_data(idata)
297 data_tmp = ishft(data_tmp, 63)
298 pack_tmp = ior(pack_tmp, data_tmp)
299 pack_tmp = ishft(pack_tmp, -1)
301 data_tmp = full_data(idata)
302 data_tmp = ishft(data_tmp, 63)
303 pack_tmp = ior(pack_tmp, data_tmp)
304 pack_tmp = ishft(pack_tmp, -1)
306 data_tmp = full_data(idata)
307 data_tmp = ishft(data_tmp, 63)
308 pack_tmp = ior(pack_tmp, data_tmp)
309 pack_tmp = ishft(pack_tmp, -1)
311 data_tmp = full_data(idata)
312 data_tmp = ishft(data_tmp, 63)
313 pack_tmp = ior(pack_tmp, data_tmp)
314 pack_tmp = ishft(pack_tmp, -1)
316 data_tmp = full_data(idata)
317 data_tmp = ishft(data_tmp, 63)
318 pack_tmp = ior(pack_tmp, data_tmp)
319 pack_tmp = ishft(pack_tmp, -1)
321 data_tmp = full_data(idata)
322 data_tmp = ishft(data_tmp, 63)
323 pack_tmp = ior(pack_tmp, data_tmp)
324 pack_tmp = ishft(pack_tmp, -1)
326 data_tmp = full_data(idata)
327 data_tmp = ishft(data_tmp, 63)
328 pack_tmp = ior(pack_tmp, data_tmp)
329 pack_tmp = ishft(pack_tmp, -1)
331 data_tmp = full_data(idata)
332 data_tmp = ishft(data_tmp, 63)
333 pack_tmp = ior(pack_tmp, data_tmp)
334 pack_tmp = ishft(pack_tmp, -1)
336 data_tmp = full_data(idata)
337 data_tmp = ishft(data_tmp, 63)
338 pack_tmp = ior(pack_tmp, data_tmp)
339 pack_tmp = ishft(pack_tmp, -1)
341 data_tmp = full_data(idata)
342 data_tmp = ishft(data_tmp, 63)
343 pack_tmp = ior(pack_tmp, data_tmp)
344 pack_tmp = ishft(pack_tmp, -1)
346 data_tmp = full_data(idata)
347 data_tmp = ishft(data_tmp, 63)
348 pack_tmp = ior(pack_tmp, data_tmp)
349 pack_tmp = ishft(pack_tmp, -1)
351 data_tmp = full_data(idata)
352 data_tmp = ishft(data_tmp, 63)
353 pack_tmp = ior(pack_tmp, data_tmp)
354 pack_tmp = ishft(pack_tmp, -1)
356 data_tmp = full_data(idata)
357 data_tmp = ishft(data_tmp, 63)
358 pack_tmp = ior(pack_tmp, data_tmp)
359 pack_tmp = ishft(pack_tmp, -1)
361 data_tmp = full_data(idata)
362 data_tmp = ishft(data_tmp, 63)
363 pack_tmp = ior(pack_tmp, data_tmp)
364 pack_tmp = ishft(pack_tmp, -1)
366 data_tmp = full_data(idata)
367 data_tmp = ishft(data_tmp, 63)
368 pack_tmp = ior(pack_tmp, data_tmp)
369 pack_tmp = ishft(pack_tmp, -1)
371 data_tmp = full_data(idata)
372 data_tmp = ishft(data_tmp, 63)
373 pack_tmp = ior(pack_tmp, data_tmp)
374 pack_tmp = ishft(pack_tmp, -1)
376 data_tmp = full_data(idata)
377 data_tmp = ishft(data_tmp, 63)
378 pack_tmp = ior(pack_tmp, data_tmp)
379 pack_tmp = ishft(pack_tmp, -1)
381 data_tmp = full_data(idata)
382 data_tmp = ishft(data_tmp, 63)
383 pack_tmp = ior(pack_tmp, data_tmp)
384 pack_tmp = ishft(pack_tmp, -1)
386 data_tmp = full_data(idata)
387 data_tmp = ishft(data_tmp, 63)
388 pack_tmp = ior(pack_tmp, data_tmp)
389 pack_tmp = ishft(pack_tmp, -1)
391 data_tmp = full_data(idata)
392 data_tmp = ishft(data_tmp, 63)
393 pack_tmp = ior(pack_tmp, data_tmp)
394 pack_tmp = ishft(pack_tmp, -1)
396 data_tmp = full_data(idata)
397 data_tmp = ishft(data_tmp, 63)
398 pack_tmp = ior(pack_tmp, data_tmp)
399 pack_tmp = ishft(pack_tmp, -1)
401 data_tmp = full_data(idata)
402 data_tmp = ishft(data_tmp, 63)
403 pack_tmp = ior(pack_tmp, data_tmp)
404 pack_tmp = ishft(pack_tmp, -1)
406 data_tmp = full_data(idata)
407 data_tmp = ishft(data_tmp, 63)
408 pack_tmp = ior(pack_tmp, data_tmp)
409 pack_tmp = ishft(pack_tmp, -1)
411 data_tmp = full_data(idata)
412 data_tmp = ishft(data_tmp, 63)
413 pack_tmp = ior(pack_tmp, data_tmp)
414 pack_tmp = ishft(pack_tmp, -1)
416 data_tmp = full_data(idata)
417 data_tmp = ishft(data_tmp, 63)
418 pack_tmp = ior(pack_tmp, data_tmp)
419 pack_tmp = ishft(pack_tmp, -1)
421 data_tmp = full_data(idata)
422 data_tmp = ishft(data_tmp, 63)
423 pack_tmp = ior(pack_tmp, data_tmp)
424 pack_tmp = ishft(pack_tmp, -1)
426 data_tmp = full_data(idata)
427 data_tmp = ishft(data_tmp, 63)
428 pack_tmp = ior(pack_tmp, data_tmp)
429 pack_tmp = ishft(pack_tmp, -1)
431 data_tmp = full_data(idata)
432 data_tmp = ishft(data_tmp, 63)
433 pack_tmp = ior(pack_tmp, data_tmp)
434 pack_tmp = ishft(pack_tmp, -1)
436 data_tmp = full_data(idata)
437 data_tmp = ishft(data_tmp, 63)
438 pack_tmp = ior(pack_tmp, data_tmp)
439 pack_tmp = ishft(pack_tmp, -1)
441 data_tmp = full_data(idata)
442 data_tmp = ishft(data_tmp, 63)
443 pack_tmp = ior(pack_tmp, data_tmp)
444 pack_tmp = ishft(pack_tmp, -1)
446 data_tmp = full_data(idata)
447 data_tmp = ishft(data_tmp, 63)
448 pack_tmp = ior(pack_tmp, data_tmp)
449 pack_tmp = ishft(pack_tmp, -1)
451 data_tmp = full_data(idata)
452 data_tmp = ishft(data_tmp, 63)
453 pack_tmp = ior(pack_tmp, data_tmp)
454 pack_tmp = ishft(pack_tmp, -1)
456 data_tmp = full_data(idata)
457 data_tmp = ishft(data_tmp, 63)
458 pack_tmp = ior(pack_tmp, data_tmp)
459 pack_tmp = ishft(pack_tmp, -1)
461 data_tmp = full_data(idata)
462 data_tmp = ishft(data_tmp, 63)
463 pack_tmp = ior(pack_tmp, data_tmp)
464 pack_tmp = ishft(pack_tmp, -1)
466 data_tmp = full_data(idata)
467 data_tmp = ishft(data_tmp, 63)
468 pack_tmp = ior(pack_tmp, data_tmp)
469 pack_tmp = ishft(pack_tmp, -1)
471 data_tmp = full_data(idata)
472 data_tmp = ishft(data_tmp, 63)
473 pack_tmp = ior(pack_tmp, data_tmp)
474 pack_tmp = ishft(pack_tmp, -1)
476 data_tmp = full_data(idata)
477 data_tmp = ishft(data_tmp, 63)
478 pack_tmp = ior(pack_tmp, data_tmp)
479 pack_tmp = ishft(pack_tmp, -1)
481 data_tmp = full_data(idata)
482 data_tmp = ishft(data_tmp, 63)
483 pack_tmp = ior(pack_tmp, data_tmp)
484 pack_tmp = ishft(pack_tmp, -1)
486 data_tmp = full_data(idata)
487 data_tmp = ishft(data_tmp, 63)
488 pack_tmp = ior(pack_tmp, data_tmp)
489 pack_tmp = ishft(pack_tmp, -1)
491 data_tmp = full_data(idata)
492 data_tmp = ishft(data_tmp, 63)
493 pack_tmp = ior(pack_tmp, data_tmp)
494 pack_tmp = ishft(pack_tmp, -1)
496 data_tmp = full_data(idata)
497 data_tmp = ishft(data_tmp, 63)
498 pack_tmp = ior(pack_tmp, data_tmp)
499 pack_tmp = ishft(pack_tmp, -1)
501 data_tmp = full_data(idata)
502 data_tmp = ishft(data_tmp, 63)
503 pack_tmp = ior(pack_tmp, data_tmp)
504 pack_tmp = ishft(pack_tmp, -1)
506 data_tmp = full_data(idata)
507 data_tmp = ishft(data_tmp, 63)
508 pack_tmp = ior(pack_tmp, data_tmp)
509 pack_tmp = ishft(pack_tmp, -1)
511 data_tmp = full_data(idata)
512 data_tmp = ishft(data_tmp, 63)
513 pack_tmp = ior(pack_tmp, data_tmp)
514 pack_tmp = ishft(pack_tmp, -1)
516 data_tmp = full_data(idata)
517 data_tmp = ishft(data_tmp, 63)
518 pack_tmp = ior(pack_tmp, data_tmp)
519 pack_tmp = ishft(pack_tmp, -1)
521 data_tmp = full_data(idata)
522 data_tmp = ishft(data_tmp, 63)
523 pack_tmp = ior(pack_tmp, data_tmp)
524 pack_tmp = ishft(pack_tmp, -1)
526 data_tmp = full_data(idata)
527 data_tmp = ishft(data_tmp, 63)
528 pack_tmp = ior(pack_tmp, data_tmp)
529 pack_tmp = ishft(pack_tmp, 0)
530 pack_tmp = ishft(pack_tmp, 0)
532 packed_data(ipack) = pack_tmp
534 IF (ndata_rep < ndata)
THEN
535 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
537 END SUBROUTINE ints2bits_1
545 SUBROUTINE bits2ints_1(Ndata, packed_data, full_data)
546 INTEGER,
INTENT(IN) :: Ndata
547 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
548 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
550 INTEGER,
PARAMETER :: Nbits = 1
552 INTEGER :: idata, ipack, kdata, Ndata_rep
553 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
558 ndata_rep = (ndata/64)*64
559 DO kdata = 1, ndata_rep, 64
561 data_tmp = ishft(pack_tmp, 1)
563 pack_tmp = packed_data(ipack)
564 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
565 pack_tmp = ishft(pack_tmp, -1)
567 data_tmp = iand(pack_tmp, mask_right(nbits))
568 full_data(idata) = data_tmp
569 pack_tmp = ishft(pack_tmp, -nbits)
571 data_tmp = iand(pack_tmp, mask_right(nbits))
572 full_data(idata) = data_tmp
573 pack_tmp = ishft(pack_tmp, -nbits)
575 data_tmp = iand(pack_tmp, mask_right(nbits))
576 full_data(idata) = data_tmp
577 pack_tmp = ishft(pack_tmp, -nbits)
579 data_tmp = iand(pack_tmp, mask_right(nbits))
580 full_data(idata) = data_tmp
581 pack_tmp = ishft(pack_tmp, -nbits)
583 data_tmp = iand(pack_tmp, mask_right(nbits))
584 full_data(idata) = data_tmp
585 pack_tmp = ishft(pack_tmp, -nbits)
587 data_tmp = iand(pack_tmp, mask_right(nbits))
588 full_data(idata) = data_tmp
589 pack_tmp = ishft(pack_tmp, -nbits)
591 data_tmp = iand(pack_tmp, mask_right(nbits))
592 full_data(idata) = data_tmp
593 pack_tmp = ishft(pack_tmp, -nbits)
595 data_tmp = iand(pack_tmp, mask_right(nbits))
596 full_data(idata) = data_tmp
597 pack_tmp = ishft(pack_tmp, -nbits)
599 data_tmp = iand(pack_tmp, mask_right(nbits))
600 full_data(idata) = data_tmp
601 pack_tmp = ishft(pack_tmp, -nbits)
603 data_tmp = iand(pack_tmp, mask_right(nbits))
604 full_data(idata) = data_tmp
605 pack_tmp = ishft(pack_tmp, -nbits)
607 data_tmp = iand(pack_tmp, mask_right(nbits))
608 full_data(idata) = data_tmp
609 pack_tmp = ishft(pack_tmp, -nbits)
611 data_tmp = iand(pack_tmp, mask_right(nbits))
612 full_data(idata) = data_tmp
613 pack_tmp = ishft(pack_tmp, -nbits)
615 data_tmp = iand(pack_tmp, mask_right(nbits))
616 full_data(idata) = data_tmp
617 pack_tmp = ishft(pack_tmp, -nbits)
619 data_tmp = iand(pack_tmp, mask_right(nbits))
620 full_data(idata) = data_tmp
621 pack_tmp = ishft(pack_tmp, -nbits)
623 data_tmp = iand(pack_tmp, mask_right(nbits))
624 full_data(idata) = data_tmp
625 pack_tmp = ishft(pack_tmp, -nbits)
627 data_tmp = iand(pack_tmp, mask_right(nbits))
628 full_data(idata) = data_tmp
629 pack_tmp = ishft(pack_tmp, -nbits)
631 data_tmp = iand(pack_tmp, mask_right(nbits))
632 full_data(idata) = data_tmp
633 pack_tmp = ishft(pack_tmp, -nbits)
635 data_tmp = iand(pack_tmp, mask_right(nbits))
636 full_data(idata) = data_tmp
637 pack_tmp = ishft(pack_tmp, -nbits)
639 data_tmp = iand(pack_tmp, mask_right(nbits))
640 full_data(idata) = data_tmp
641 pack_tmp = ishft(pack_tmp, -nbits)
643 data_tmp = iand(pack_tmp, mask_right(nbits))
644 full_data(idata) = data_tmp
645 pack_tmp = ishft(pack_tmp, -nbits)
647 data_tmp = iand(pack_tmp, mask_right(nbits))
648 full_data(idata) = data_tmp
649 pack_tmp = ishft(pack_tmp, -nbits)
651 data_tmp = iand(pack_tmp, mask_right(nbits))
652 full_data(idata) = data_tmp
653 pack_tmp = ishft(pack_tmp, -nbits)
655 data_tmp = iand(pack_tmp, mask_right(nbits))
656 full_data(idata) = data_tmp
657 pack_tmp = ishft(pack_tmp, -nbits)
659 data_tmp = iand(pack_tmp, mask_right(nbits))
660 full_data(idata) = data_tmp
661 pack_tmp = ishft(pack_tmp, -nbits)
663 data_tmp = iand(pack_tmp, mask_right(nbits))
664 full_data(idata) = data_tmp
665 pack_tmp = ishft(pack_tmp, -nbits)
667 data_tmp = iand(pack_tmp, mask_right(nbits))
668 full_data(idata) = data_tmp
669 pack_tmp = ishft(pack_tmp, -nbits)
671 data_tmp = iand(pack_tmp, mask_right(nbits))
672 full_data(idata) = data_tmp
673 pack_tmp = ishft(pack_tmp, -nbits)
675 data_tmp = iand(pack_tmp, mask_right(nbits))
676 full_data(idata) = data_tmp
677 pack_tmp = ishft(pack_tmp, -nbits)
679 data_tmp = iand(pack_tmp, mask_right(nbits))
680 full_data(idata) = data_tmp
681 pack_tmp = ishft(pack_tmp, -nbits)
683 data_tmp = iand(pack_tmp, mask_right(nbits))
684 full_data(idata) = data_tmp
685 pack_tmp = ishft(pack_tmp, -nbits)
687 data_tmp = iand(pack_tmp, mask_right(nbits))
688 full_data(idata) = data_tmp
689 pack_tmp = ishft(pack_tmp, -nbits)
691 data_tmp = iand(pack_tmp, mask_right(nbits))
692 full_data(idata) = data_tmp
693 pack_tmp = ishft(pack_tmp, -nbits)
695 data_tmp = iand(pack_tmp, mask_right(nbits))
696 full_data(idata) = data_tmp
697 pack_tmp = ishft(pack_tmp, -nbits)
699 data_tmp = iand(pack_tmp, mask_right(nbits))
700 full_data(idata) = data_tmp
701 pack_tmp = ishft(pack_tmp, -nbits)
703 data_tmp = iand(pack_tmp, mask_right(nbits))
704 full_data(idata) = data_tmp
705 pack_tmp = ishft(pack_tmp, -nbits)
707 data_tmp = iand(pack_tmp, mask_right(nbits))
708 full_data(idata) = data_tmp
709 pack_tmp = ishft(pack_tmp, -nbits)
711 data_tmp = iand(pack_tmp, mask_right(nbits))
712 full_data(idata) = data_tmp
713 pack_tmp = ishft(pack_tmp, -nbits)
715 data_tmp = iand(pack_tmp, mask_right(nbits))
716 full_data(idata) = data_tmp
717 pack_tmp = ishft(pack_tmp, -nbits)
719 data_tmp = iand(pack_tmp, mask_right(nbits))
720 full_data(idata) = data_tmp
721 pack_tmp = ishft(pack_tmp, -nbits)
723 data_tmp = iand(pack_tmp, mask_right(nbits))
724 full_data(idata) = data_tmp
725 pack_tmp = ishft(pack_tmp, -nbits)
727 data_tmp = iand(pack_tmp, mask_right(nbits))
728 full_data(idata) = data_tmp
729 pack_tmp = ishft(pack_tmp, -nbits)
731 data_tmp = iand(pack_tmp, mask_right(nbits))
732 full_data(idata) = data_tmp
733 pack_tmp = ishft(pack_tmp, -nbits)
735 data_tmp = iand(pack_tmp, mask_right(nbits))
736 full_data(idata) = data_tmp
737 pack_tmp = ishft(pack_tmp, -nbits)
739 data_tmp = iand(pack_tmp, mask_right(nbits))
740 full_data(idata) = data_tmp
741 pack_tmp = ishft(pack_tmp, -nbits)
743 data_tmp = iand(pack_tmp, mask_right(nbits))
744 full_data(idata) = data_tmp
745 pack_tmp = ishft(pack_tmp, -nbits)
747 data_tmp = iand(pack_tmp, mask_right(nbits))
748 full_data(idata) = data_tmp
749 pack_tmp = ishft(pack_tmp, -nbits)
751 data_tmp = iand(pack_tmp, mask_right(nbits))
752 full_data(idata) = data_tmp
753 pack_tmp = ishft(pack_tmp, -nbits)
755 data_tmp = iand(pack_tmp, mask_right(nbits))
756 full_data(idata) = data_tmp
757 pack_tmp = ishft(pack_tmp, -nbits)
759 data_tmp = iand(pack_tmp, mask_right(nbits))
760 full_data(idata) = data_tmp
761 pack_tmp = ishft(pack_tmp, -nbits)
763 data_tmp = iand(pack_tmp, mask_right(nbits))
764 full_data(idata) = data_tmp
765 pack_tmp = ishft(pack_tmp, -nbits)
767 data_tmp = iand(pack_tmp, mask_right(nbits))
768 full_data(idata) = data_tmp
769 pack_tmp = ishft(pack_tmp, -nbits)
771 data_tmp = iand(pack_tmp, mask_right(nbits))
772 full_data(idata) = data_tmp
773 pack_tmp = ishft(pack_tmp, -nbits)
775 data_tmp = iand(pack_tmp, mask_right(nbits))
776 full_data(idata) = data_tmp
777 pack_tmp = ishft(pack_tmp, -nbits)
779 data_tmp = iand(pack_tmp, mask_right(nbits))
780 full_data(idata) = data_tmp
781 pack_tmp = ishft(pack_tmp, -nbits)
783 data_tmp = iand(pack_tmp, mask_right(nbits))
784 full_data(idata) = data_tmp
785 pack_tmp = ishft(pack_tmp, -nbits)
787 data_tmp = iand(pack_tmp, mask_right(nbits))
788 full_data(idata) = data_tmp
789 pack_tmp = ishft(pack_tmp, -nbits)
791 data_tmp = iand(pack_tmp, mask_right(nbits))
792 full_data(idata) = data_tmp
793 pack_tmp = ishft(pack_tmp, -nbits)
795 data_tmp = iand(pack_tmp, mask_right(nbits))
796 full_data(idata) = data_tmp
797 pack_tmp = ishft(pack_tmp, -nbits)
799 data_tmp = iand(pack_tmp, mask_right(nbits))
800 full_data(idata) = data_tmp
801 pack_tmp = ishft(pack_tmp, -nbits)
803 data_tmp = iand(pack_tmp, mask_right(nbits))
804 full_data(idata) = data_tmp
805 pack_tmp = ishft(pack_tmp, -nbits)
807 data_tmp = iand(pack_tmp, mask_right(nbits))
808 full_data(idata) = data_tmp
809 pack_tmp = ishft(pack_tmp, -nbits)
811 data_tmp = iand(pack_tmp, mask_right(nbits))
812 full_data(idata) = data_tmp
813 pack_tmp = ishft(pack_tmp, -nbits)
815 data_tmp = iand(pack_tmp, mask_right(nbits))
816 full_data(idata) = data_tmp
817 pack_tmp = ishft(pack_tmp, -nbits)
819 IF (ndata_rep < ndata)
THEN
820 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
822 END SUBROUTINE bits2ints_1
830 SUBROUTINE ints2bits_2(Ndata, packed_data, full_data)
831 INTEGER,
INTENT(IN) :: Ndata
832 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
833 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
835 INTEGER,
PARAMETER :: Nbits = 2
837 INTEGER :: idata, ipack, kdata, Ndata_rep
838 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
842 ndata_rep = (ndata/64)*64
843 DO kdata = 1, ndata_rep, 64
846 data_tmp = full_data(idata)
847 data_tmp = ishft(data_tmp, 62)
848 pack_tmp = ior(pack_tmp, data_tmp)
849 pack_tmp = ishft(pack_tmp, -2)
851 data_tmp = full_data(idata)
852 data_tmp = ishft(data_tmp, 62)
853 pack_tmp = ior(pack_tmp, data_tmp)
854 pack_tmp = ishft(pack_tmp, -2)
856 data_tmp = full_data(idata)
857 data_tmp = ishft(data_tmp, 62)
858 pack_tmp = ior(pack_tmp, data_tmp)
859 pack_tmp = ishft(pack_tmp, -2)
861 data_tmp = full_data(idata)
862 data_tmp = ishft(data_tmp, 62)
863 pack_tmp = ior(pack_tmp, data_tmp)
864 pack_tmp = ishft(pack_tmp, -2)
866 data_tmp = full_data(idata)
867 data_tmp = ishft(data_tmp, 62)
868 pack_tmp = ior(pack_tmp, data_tmp)
869 pack_tmp = ishft(pack_tmp, -2)
871 data_tmp = full_data(idata)
872 data_tmp = ishft(data_tmp, 62)
873 pack_tmp = ior(pack_tmp, data_tmp)
874 pack_tmp = ishft(pack_tmp, -2)
876 data_tmp = full_data(idata)
877 data_tmp = ishft(data_tmp, 62)
878 pack_tmp = ior(pack_tmp, data_tmp)
879 pack_tmp = ishft(pack_tmp, -2)
881 data_tmp = full_data(idata)
882 data_tmp = ishft(data_tmp, 62)
883 pack_tmp = ior(pack_tmp, data_tmp)
884 pack_tmp = ishft(pack_tmp, -2)
886 data_tmp = full_data(idata)
887 data_tmp = ishft(data_tmp, 62)
888 pack_tmp = ior(pack_tmp, data_tmp)
889 pack_tmp = ishft(pack_tmp, -2)
891 data_tmp = full_data(idata)
892 data_tmp = ishft(data_tmp, 62)
893 pack_tmp = ior(pack_tmp, data_tmp)
894 pack_tmp = ishft(pack_tmp, -2)
896 data_tmp = full_data(idata)
897 data_tmp = ishft(data_tmp, 62)
898 pack_tmp = ior(pack_tmp, data_tmp)
899 pack_tmp = ishft(pack_tmp, -2)
901 data_tmp = full_data(idata)
902 data_tmp = ishft(data_tmp, 62)
903 pack_tmp = ior(pack_tmp, data_tmp)
904 pack_tmp = ishft(pack_tmp, -2)
906 data_tmp = full_data(idata)
907 data_tmp = ishft(data_tmp, 62)
908 pack_tmp = ior(pack_tmp, data_tmp)
909 pack_tmp = ishft(pack_tmp, -2)
911 data_tmp = full_data(idata)
912 data_tmp = ishft(data_tmp, 62)
913 pack_tmp = ior(pack_tmp, data_tmp)
914 pack_tmp = ishft(pack_tmp, -2)
916 data_tmp = full_data(idata)
917 data_tmp = ishft(data_tmp, 62)
918 pack_tmp = ior(pack_tmp, data_tmp)
919 pack_tmp = ishft(pack_tmp, -2)
921 data_tmp = full_data(idata)
922 data_tmp = ishft(data_tmp, 62)
923 pack_tmp = ior(pack_tmp, data_tmp)
924 pack_tmp = ishft(pack_tmp, -2)
926 data_tmp = full_data(idata)
927 data_tmp = ishft(data_tmp, 62)
928 pack_tmp = ior(pack_tmp, data_tmp)
929 pack_tmp = ishft(pack_tmp, -2)
931 data_tmp = full_data(idata)
932 data_tmp = ishft(data_tmp, 62)
933 pack_tmp = ior(pack_tmp, data_tmp)
934 pack_tmp = ishft(pack_tmp, -2)
936 data_tmp = full_data(idata)
937 data_tmp = ishft(data_tmp, 62)
938 pack_tmp = ior(pack_tmp, data_tmp)
939 pack_tmp = ishft(pack_tmp, -2)
941 data_tmp = full_data(idata)
942 data_tmp = ishft(data_tmp, 62)
943 pack_tmp = ior(pack_tmp, data_tmp)
944 pack_tmp = ishft(pack_tmp, -2)
946 data_tmp = full_data(idata)
947 data_tmp = ishft(data_tmp, 62)
948 pack_tmp = ior(pack_tmp, data_tmp)
949 pack_tmp = ishft(pack_tmp, -2)
951 data_tmp = full_data(idata)
952 data_tmp = ishft(data_tmp, 62)
953 pack_tmp = ior(pack_tmp, data_tmp)
954 pack_tmp = ishft(pack_tmp, -2)
956 data_tmp = full_data(idata)
957 data_tmp = ishft(data_tmp, 62)
958 pack_tmp = ior(pack_tmp, data_tmp)
959 pack_tmp = ishft(pack_tmp, -2)
961 data_tmp = full_data(idata)
962 data_tmp = ishft(data_tmp, 62)
963 pack_tmp = ior(pack_tmp, data_tmp)
964 pack_tmp = ishft(pack_tmp, -2)
966 data_tmp = full_data(idata)
967 data_tmp = ishft(data_tmp, 62)
968 pack_tmp = ior(pack_tmp, data_tmp)
969 pack_tmp = ishft(pack_tmp, -2)
971 data_tmp = full_data(idata)
972 data_tmp = ishft(data_tmp, 62)
973 pack_tmp = ior(pack_tmp, data_tmp)
974 pack_tmp = ishft(pack_tmp, -2)
976 data_tmp = full_data(idata)
977 data_tmp = ishft(data_tmp, 62)
978 pack_tmp = ior(pack_tmp, data_tmp)
979 pack_tmp = ishft(pack_tmp, -2)
981 data_tmp = full_data(idata)
982 data_tmp = ishft(data_tmp, 62)
983 pack_tmp = ior(pack_tmp, data_tmp)
984 pack_tmp = ishft(pack_tmp, -2)
986 data_tmp = full_data(idata)
987 data_tmp = ishft(data_tmp, 62)
988 pack_tmp = ior(pack_tmp, data_tmp)
989 pack_tmp = ishft(pack_tmp, -2)
991 data_tmp = full_data(idata)
992 data_tmp = ishft(data_tmp, 62)
993 pack_tmp = ior(pack_tmp, data_tmp)
994 pack_tmp = ishft(pack_tmp, -2)
996 data_tmp = full_data(idata)
997 data_tmp = ishft(data_tmp, 62)
998 pack_tmp = ior(pack_tmp, data_tmp)
999 pack_tmp = ishft(pack_tmp, -2)
1001 data_tmp = full_data(idata)
1002 data_tmp = ishft(data_tmp, 62)
1003 pack_tmp = ior(pack_tmp, data_tmp)
1004 pack_tmp = ishft(pack_tmp, 0)
1006 data_tmp = full_data(idata)
1007 data_tmp = ishft(data_tmp, 62)
1008 data_tmp = iand(data_tmp, mask_left(0))
1009 pack_tmp = ior(pack_tmp, data_tmp)
1011 packed_data(ipack) = pack_tmp
1012 data_tmp = full_data(idata)
1013 pack_tmp = ishft(data_tmp, 62)
1014 pack_tmp = ishft(pack_tmp, -2)
1016 data_tmp = full_data(idata)
1017 data_tmp = ishft(data_tmp, 62)
1018 pack_tmp = ior(pack_tmp, data_tmp)
1019 pack_tmp = ishft(pack_tmp, -2)
1021 data_tmp = full_data(idata)
1022 data_tmp = ishft(data_tmp, 62)
1023 pack_tmp = ior(pack_tmp, data_tmp)
1024 pack_tmp = ishft(pack_tmp, -2)
1026 data_tmp = full_data(idata)
1027 data_tmp = ishft(data_tmp, 62)
1028 pack_tmp = ior(pack_tmp, data_tmp)
1029 pack_tmp = ishft(pack_tmp, -2)
1031 data_tmp = full_data(idata)
1032 data_tmp = ishft(data_tmp, 62)
1033 pack_tmp = ior(pack_tmp, data_tmp)
1034 pack_tmp = ishft(pack_tmp, -2)
1036 data_tmp = full_data(idata)
1037 data_tmp = ishft(data_tmp, 62)
1038 pack_tmp = ior(pack_tmp, data_tmp)
1039 pack_tmp = ishft(pack_tmp, -2)
1041 data_tmp = full_data(idata)
1042 data_tmp = ishft(data_tmp, 62)
1043 pack_tmp = ior(pack_tmp, data_tmp)
1044 pack_tmp = ishft(pack_tmp, -2)
1046 data_tmp = full_data(idata)
1047 data_tmp = ishft(data_tmp, 62)
1048 pack_tmp = ior(pack_tmp, data_tmp)
1049 pack_tmp = ishft(pack_tmp, -2)
1051 data_tmp = full_data(idata)
1052 data_tmp = ishft(data_tmp, 62)
1053 pack_tmp = ior(pack_tmp, data_tmp)
1054 pack_tmp = ishft(pack_tmp, -2)
1056 data_tmp = full_data(idata)
1057 data_tmp = ishft(data_tmp, 62)
1058 pack_tmp = ior(pack_tmp, data_tmp)
1059 pack_tmp = ishft(pack_tmp, -2)
1061 data_tmp = full_data(idata)
1062 data_tmp = ishft(data_tmp, 62)
1063 pack_tmp = ior(pack_tmp, data_tmp)
1064 pack_tmp = ishft(pack_tmp, -2)
1066 data_tmp = full_data(idata)
1067 data_tmp = ishft(data_tmp, 62)
1068 pack_tmp = ior(pack_tmp, data_tmp)
1069 pack_tmp = ishft(pack_tmp, -2)
1071 data_tmp = full_data(idata)
1072 data_tmp = ishft(data_tmp, 62)
1073 pack_tmp = ior(pack_tmp, data_tmp)
1074 pack_tmp = ishft(pack_tmp, -2)
1076 data_tmp = full_data(idata)
1077 data_tmp = ishft(data_tmp, 62)
1078 pack_tmp = ior(pack_tmp, data_tmp)
1079 pack_tmp = ishft(pack_tmp, -2)
1081 data_tmp = full_data(idata)
1082 data_tmp = ishft(data_tmp, 62)
1083 pack_tmp = ior(pack_tmp, data_tmp)
1084 pack_tmp = ishft(pack_tmp, -2)
1086 data_tmp = full_data(idata)
1087 data_tmp = ishft(data_tmp, 62)
1088 pack_tmp = ior(pack_tmp, data_tmp)
1089 pack_tmp = ishft(pack_tmp, -2)
1091 data_tmp = full_data(idata)
1092 data_tmp = ishft(data_tmp, 62)
1093 pack_tmp = ior(pack_tmp, data_tmp)
1094 pack_tmp = ishft(pack_tmp, -2)
1096 data_tmp = full_data(idata)
1097 data_tmp = ishft(data_tmp, 62)
1098 pack_tmp = ior(pack_tmp, data_tmp)
1099 pack_tmp = ishft(pack_tmp, -2)
1101 data_tmp = full_data(idata)
1102 data_tmp = ishft(data_tmp, 62)
1103 pack_tmp = ior(pack_tmp, data_tmp)
1104 pack_tmp = ishft(pack_tmp, -2)
1106 data_tmp = full_data(idata)
1107 data_tmp = ishft(data_tmp, 62)
1108 pack_tmp = ior(pack_tmp, data_tmp)
1109 pack_tmp = ishft(pack_tmp, -2)
1111 data_tmp = full_data(idata)
1112 data_tmp = ishft(data_tmp, 62)
1113 pack_tmp = ior(pack_tmp, data_tmp)
1114 pack_tmp = ishft(pack_tmp, -2)
1116 data_tmp = full_data(idata)
1117 data_tmp = ishft(data_tmp, 62)
1118 pack_tmp = ior(pack_tmp, data_tmp)
1119 pack_tmp = ishft(pack_tmp, -2)
1121 data_tmp = full_data(idata)
1122 data_tmp = ishft(data_tmp, 62)
1123 pack_tmp = ior(pack_tmp, data_tmp)
1124 pack_tmp = ishft(pack_tmp, -2)
1126 data_tmp = full_data(idata)
1127 data_tmp = ishft(data_tmp, 62)
1128 pack_tmp = ior(pack_tmp, data_tmp)
1129 pack_tmp = ishft(pack_tmp, -2)
1131 data_tmp = full_data(idata)
1132 data_tmp = ishft(data_tmp, 62)
1133 pack_tmp = ior(pack_tmp, data_tmp)
1134 pack_tmp = ishft(pack_tmp, -2)
1136 data_tmp = full_data(idata)
1137 data_tmp = ishft(data_tmp, 62)
1138 pack_tmp = ior(pack_tmp, data_tmp)
1139 pack_tmp = ishft(pack_tmp, -2)
1141 data_tmp = full_data(idata)
1142 data_tmp = ishft(data_tmp, 62)
1143 pack_tmp = ior(pack_tmp, data_tmp)
1144 pack_tmp = ishft(pack_tmp, -2)
1146 data_tmp = full_data(idata)
1147 data_tmp = ishft(data_tmp, 62)
1148 pack_tmp = ior(pack_tmp, data_tmp)
1149 pack_tmp = ishft(pack_tmp, -2)
1151 data_tmp = full_data(idata)
1152 data_tmp = ishft(data_tmp, 62)
1153 pack_tmp = ior(pack_tmp, data_tmp)
1154 pack_tmp = ishft(pack_tmp, -2)
1156 data_tmp = full_data(idata)
1157 data_tmp = ishft(data_tmp, 62)
1158 pack_tmp = ior(pack_tmp, data_tmp)
1159 pack_tmp = ishft(pack_tmp, -2)
1161 data_tmp = full_data(idata)
1162 data_tmp = ishft(data_tmp, 62)
1163 pack_tmp = ior(pack_tmp, data_tmp)
1164 pack_tmp = ishft(pack_tmp, -2)
1166 data_tmp = full_data(idata)
1167 data_tmp = ishft(data_tmp, 62)
1168 pack_tmp = ior(pack_tmp, data_tmp)
1169 pack_tmp = ishft(pack_tmp, 0)
1170 pack_tmp = ishft(pack_tmp, 0)
1172 packed_data(ipack) = pack_tmp
1174 IF (ndata_rep < ndata)
THEN
1175 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
1177 END SUBROUTINE ints2bits_2
1185 SUBROUTINE bits2ints_2(Ndata, packed_data, full_data)
1186 INTEGER,
INTENT(IN) :: Ndata
1187 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
1188 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
1190 INTEGER,
PARAMETER :: Nbits = 2
1192 INTEGER :: idata, ipack, kdata, Ndata_rep
1193 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
1198 ndata_rep = (ndata/64)*64
1199 DO kdata = 1, ndata_rep, 64
1201 data_tmp = ishft(pack_tmp, 2)
1203 pack_tmp = packed_data(ipack)
1204 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
1205 pack_tmp = ishft(pack_tmp, -2)
1207 data_tmp = iand(pack_tmp, mask_right(nbits))
1208 full_data(idata) = data_tmp
1209 pack_tmp = ishft(pack_tmp, -nbits)
1211 data_tmp = iand(pack_tmp, mask_right(nbits))
1212 full_data(idata) = data_tmp
1213 pack_tmp = ishft(pack_tmp, -nbits)
1215 data_tmp = iand(pack_tmp, mask_right(nbits))
1216 full_data(idata) = data_tmp
1217 pack_tmp = ishft(pack_tmp, -nbits)
1219 data_tmp = iand(pack_tmp, mask_right(nbits))
1220 full_data(idata) = data_tmp
1221 pack_tmp = ishft(pack_tmp, -nbits)
1223 data_tmp = iand(pack_tmp, mask_right(nbits))
1224 full_data(idata) = data_tmp
1225 pack_tmp = ishft(pack_tmp, -nbits)
1227 data_tmp = iand(pack_tmp, mask_right(nbits))
1228 full_data(idata) = data_tmp
1229 pack_tmp = ishft(pack_tmp, -nbits)
1231 data_tmp = iand(pack_tmp, mask_right(nbits))
1232 full_data(idata) = data_tmp
1233 pack_tmp = ishft(pack_tmp, -nbits)
1235 data_tmp = iand(pack_tmp, mask_right(nbits))
1236 full_data(idata) = data_tmp
1237 pack_tmp = ishft(pack_tmp, -nbits)
1239 data_tmp = iand(pack_tmp, mask_right(nbits))
1240 full_data(idata) = data_tmp
1241 pack_tmp = ishft(pack_tmp, -nbits)
1243 data_tmp = iand(pack_tmp, mask_right(nbits))
1244 full_data(idata) = data_tmp
1245 pack_tmp = ishft(pack_tmp, -nbits)
1247 data_tmp = iand(pack_tmp, mask_right(nbits))
1248 full_data(idata) = data_tmp
1249 pack_tmp = ishft(pack_tmp, -nbits)
1251 data_tmp = iand(pack_tmp, mask_right(nbits))
1252 full_data(idata) = data_tmp
1253 pack_tmp = ishft(pack_tmp, -nbits)
1255 data_tmp = iand(pack_tmp, mask_right(nbits))
1256 full_data(idata) = data_tmp
1257 pack_tmp = ishft(pack_tmp, -nbits)
1259 data_tmp = iand(pack_tmp, mask_right(nbits))
1260 full_data(idata) = data_tmp
1261 pack_tmp = ishft(pack_tmp, -nbits)
1263 data_tmp = iand(pack_tmp, mask_right(nbits))
1264 full_data(idata) = data_tmp
1265 pack_tmp = ishft(pack_tmp, -nbits)
1267 data_tmp = iand(pack_tmp, mask_right(nbits))
1268 full_data(idata) = data_tmp
1269 pack_tmp = ishft(pack_tmp, -nbits)
1271 data_tmp = iand(pack_tmp, mask_right(nbits))
1272 full_data(idata) = data_tmp
1273 pack_tmp = ishft(pack_tmp, -nbits)
1275 data_tmp = iand(pack_tmp, mask_right(nbits))
1276 full_data(idata) = data_tmp
1277 pack_tmp = ishft(pack_tmp, -nbits)
1279 data_tmp = iand(pack_tmp, mask_right(nbits))
1280 full_data(idata) = data_tmp
1281 pack_tmp = ishft(pack_tmp, -nbits)
1283 data_tmp = iand(pack_tmp, mask_right(nbits))
1284 full_data(idata) = data_tmp
1285 pack_tmp = ishft(pack_tmp, -nbits)
1287 data_tmp = iand(pack_tmp, mask_right(nbits))
1288 full_data(idata) = data_tmp
1289 pack_tmp = ishft(pack_tmp, -nbits)
1291 data_tmp = iand(pack_tmp, mask_right(nbits))
1292 full_data(idata) = data_tmp
1293 pack_tmp = ishft(pack_tmp, -nbits)
1295 data_tmp = iand(pack_tmp, mask_right(nbits))
1296 full_data(idata) = data_tmp
1297 pack_tmp = ishft(pack_tmp, -nbits)
1299 data_tmp = iand(pack_tmp, mask_right(nbits))
1300 full_data(idata) = data_tmp
1301 pack_tmp = ishft(pack_tmp, -nbits)
1303 data_tmp = iand(pack_tmp, mask_right(nbits))
1304 full_data(idata) = data_tmp
1305 pack_tmp = ishft(pack_tmp, -nbits)
1307 data_tmp = iand(pack_tmp, mask_right(nbits))
1308 full_data(idata) = data_tmp
1309 pack_tmp = ishft(pack_tmp, -nbits)
1311 data_tmp = iand(pack_tmp, mask_right(nbits))
1312 full_data(idata) = data_tmp
1313 pack_tmp = ishft(pack_tmp, -nbits)
1315 data_tmp = iand(pack_tmp, mask_right(nbits))
1316 full_data(idata) = data_tmp
1317 pack_tmp = ishft(pack_tmp, -nbits)
1319 data_tmp = iand(pack_tmp, mask_right(nbits))
1320 full_data(idata) = data_tmp
1321 pack_tmp = ishft(pack_tmp, -nbits)
1323 data_tmp = iand(pack_tmp, mask_right(nbits))
1324 full_data(idata) = data_tmp
1325 pack_tmp = ishft(pack_tmp, -nbits)
1327 data_tmp = iand(pack_tmp, mask_right(nbits))
1328 full_data(idata) = data_tmp
1329 pack_tmp = ishft(pack_tmp, -nbits)
1331 data_tmp = ishft(pack_tmp, 2)
1333 pack_tmp = packed_data(ipack)
1334 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
1335 pack_tmp = ishft(pack_tmp, -2)
1337 data_tmp = iand(pack_tmp, mask_right(nbits))
1338 full_data(idata) = data_tmp
1339 pack_tmp = ishft(pack_tmp, -nbits)
1341 data_tmp = iand(pack_tmp, mask_right(nbits))
1342 full_data(idata) = data_tmp
1343 pack_tmp = ishft(pack_tmp, -nbits)
1345 data_tmp = iand(pack_tmp, mask_right(nbits))
1346 full_data(idata) = data_tmp
1347 pack_tmp = ishft(pack_tmp, -nbits)
1349 data_tmp = iand(pack_tmp, mask_right(nbits))
1350 full_data(idata) = data_tmp
1351 pack_tmp = ishft(pack_tmp, -nbits)
1353 data_tmp = iand(pack_tmp, mask_right(nbits))
1354 full_data(idata) = data_tmp
1355 pack_tmp = ishft(pack_tmp, -nbits)
1357 data_tmp = iand(pack_tmp, mask_right(nbits))
1358 full_data(idata) = data_tmp
1359 pack_tmp = ishft(pack_tmp, -nbits)
1361 data_tmp = iand(pack_tmp, mask_right(nbits))
1362 full_data(idata) = data_tmp
1363 pack_tmp = ishft(pack_tmp, -nbits)
1365 data_tmp = iand(pack_tmp, mask_right(nbits))
1366 full_data(idata) = data_tmp
1367 pack_tmp = ishft(pack_tmp, -nbits)
1369 data_tmp = iand(pack_tmp, mask_right(nbits))
1370 full_data(idata) = data_tmp
1371 pack_tmp = ishft(pack_tmp, -nbits)
1373 data_tmp = iand(pack_tmp, mask_right(nbits))
1374 full_data(idata) = data_tmp
1375 pack_tmp = ishft(pack_tmp, -nbits)
1377 data_tmp = iand(pack_tmp, mask_right(nbits))
1378 full_data(idata) = data_tmp
1379 pack_tmp = ishft(pack_tmp, -nbits)
1381 data_tmp = iand(pack_tmp, mask_right(nbits))
1382 full_data(idata) = data_tmp
1383 pack_tmp = ishft(pack_tmp, -nbits)
1385 data_tmp = iand(pack_tmp, mask_right(nbits))
1386 full_data(idata) = data_tmp
1387 pack_tmp = ishft(pack_tmp, -nbits)
1389 data_tmp = iand(pack_tmp, mask_right(nbits))
1390 full_data(idata) = data_tmp
1391 pack_tmp = ishft(pack_tmp, -nbits)
1393 data_tmp = iand(pack_tmp, mask_right(nbits))
1394 full_data(idata) = data_tmp
1395 pack_tmp = ishft(pack_tmp, -nbits)
1397 data_tmp = iand(pack_tmp, mask_right(nbits))
1398 full_data(idata) = data_tmp
1399 pack_tmp = ishft(pack_tmp, -nbits)
1401 data_tmp = iand(pack_tmp, mask_right(nbits))
1402 full_data(idata) = data_tmp
1403 pack_tmp = ishft(pack_tmp, -nbits)
1405 data_tmp = iand(pack_tmp, mask_right(nbits))
1406 full_data(idata) = data_tmp
1407 pack_tmp = ishft(pack_tmp, -nbits)
1409 data_tmp = iand(pack_tmp, mask_right(nbits))
1410 full_data(idata) = data_tmp
1411 pack_tmp = ishft(pack_tmp, -nbits)
1413 data_tmp = iand(pack_tmp, mask_right(nbits))
1414 full_data(idata) = data_tmp
1415 pack_tmp = ishft(pack_tmp, -nbits)
1417 data_tmp = iand(pack_tmp, mask_right(nbits))
1418 full_data(idata) = data_tmp
1419 pack_tmp = ishft(pack_tmp, -nbits)
1421 data_tmp = iand(pack_tmp, mask_right(nbits))
1422 full_data(idata) = data_tmp
1423 pack_tmp = ishft(pack_tmp, -nbits)
1425 data_tmp = iand(pack_tmp, mask_right(nbits))
1426 full_data(idata) = data_tmp
1427 pack_tmp = ishft(pack_tmp, -nbits)
1429 data_tmp = iand(pack_tmp, mask_right(nbits))
1430 full_data(idata) = data_tmp
1431 pack_tmp = ishft(pack_tmp, -nbits)
1433 data_tmp = iand(pack_tmp, mask_right(nbits))
1434 full_data(idata) = data_tmp
1435 pack_tmp = ishft(pack_tmp, -nbits)
1437 data_tmp = iand(pack_tmp, mask_right(nbits))
1438 full_data(idata) = data_tmp
1439 pack_tmp = ishft(pack_tmp, -nbits)
1441 data_tmp = iand(pack_tmp, mask_right(nbits))
1442 full_data(idata) = data_tmp
1443 pack_tmp = ishft(pack_tmp, -nbits)
1445 data_tmp = iand(pack_tmp, mask_right(nbits))
1446 full_data(idata) = data_tmp
1447 pack_tmp = ishft(pack_tmp, -nbits)
1449 data_tmp = iand(pack_tmp, mask_right(nbits))
1450 full_data(idata) = data_tmp
1451 pack_tmp = ishft(pack_tmp, -nbits)
1453 data_tmp = iand(pack_tmp, mask_right(nbits))
1454 full_data(idata) = data_tmp
1455 pack_tmp = ishft(pack_tmp, -nbits)
1457 data_tmp = iand(pack_tmp, mask_right(nbits))
1458 full_data(idata) = data_tmp
1459 pack_tmp = ishft(pack_tmp, -nbits)
1461 IF (ndata_rep < ndata)
THEN
1462 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
1464 END SUBROUTINE bits2ints_2
1472 SUBROUTINE ints2bits_3(Ndata, packed_data, full_data)
1473 INTEGER,
INTENT(IN) :: Ndata
1474 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
1475 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
1477 INTEGER,
PARAMETER :: Nbits = 3
1479 INTEGER :: idata, ipack, kdata, Ndata_rep
1480 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
1484 ndata_rep = (ndata/64)*64
1485 DO kdata = 1, ndata_rep, 64
1488 data_tmp = full_data(idata)
1489 data_tmp = ishft(data_tmp, 61)
1490 pack_tmp = ior(pack_tmp, data_tmp)
1491 pack_tmp = ishft(pack_tmp, -3)
1493 data_tmp = full_data(idata)
1494 data_tmp = ishft(data_tmp, 61)
1495 pack_tmp = ior(pack_tmp, data_tmp)
1496 pack_tmp = ishft(pack_tmp, -3)
1498 data_tmp = full_data(idata)
1499 data_tmp = ishft(data_tmp, 61)
1500 pack_tmp = ior(pack_tmp, data_tmp)
1501 pack_tmp = ishft(pack_tmp, -3)
1503 data_tmp = full_data(idata)
1504 data_tmp = ishft(data_tmp, 61)
1505 pack_tmp = ior(pack_tmp, data_tmp)
1506 pack_tmp = ishft(pack_tmp, -3)
1508 data_tmp = full_data(idata)
1509 data_tmp = ishft(data_tmp, 61)
1510 pack_tmp = ior(pack_tmp, data_tmp)
1511 pack_tmp = ishft(pack_tmp, -3)
1513 data_tmp = full_data(idata)
1514 data_tmp = ishft(data_tmp, 61)
1515 pack_tmp = ior(pack_tmp, data_tmp)
1516 pack_tmp = ishft(pack_tmp, -3)
1518 data_tmp = full_data(idata)
1519 data_tmp = ishft(data_tmp, 61)
1520 pack_tmp = ior(pack_tmp, data_tmp)
1521 pack_tmp = ishft(pack_tmp, -3)
1523 data_tmp = full_data(idata)
1524 data_tmp = ishft(data_tmp, 61)
1525 pack_tmp = ior(pack_tmp, data_tmp)
1526 pack_tmp = ishft(pack_tmp, -3)
1528 data_tmp = full_data(idata)
1529 data_tmp = ishft(data_tmp, 61)
1530 pack_tmp = ior(pack_tmp, data_tmp)
1531 pack_tmp = ishft(pack_tmp, -3)
1533 data_tmp = full_data(idata)
1534 data_tmp = ishft(data_tmp, 61)
1535 pack_tmp = ior(pack_tmp, data_tmp)
1536 pack_tmp = ishft(pack_tmp, -3)
1538 data_tmp = full_data(idata)
1539 data_tmp = ishft(data_tmp, 61)
1540 pack_tmp = ior(pack_tmp, data_tmp)
1541 pack_tmp = ishft(pack_tmp, -3)
1543 data_tmp = full_data(idata)
1544 data_tmp = ishft(data_tmp, 61)
1545 pack_tmp = ior(pack_tmp, data_tmp)
1546 pack_tmp = ishft(pack_tmp, -3)
1548 data_tmp = full_data(idata)
1549 data_tmp = ishft(data_tmp, 61)
1550 pack_tmp = ior(pack_tmp, data_tmp)
1551 pack_tmp = ishft(pack_tmp, -3)
1553 data_tmp = full_data(idata)
1554 data_tmp = ishft(data_tmp, 61)
1555 pack_tmp = ior(pack_tmp, data_tmp)
1556 pack_tmp = ishft(pack_tmp, -3)
1558 data_tmp = full_data(idata)
1559 data_tmp = ishft(data_tmp, 61)
1560 pack_tmp = ior(pack_tmp, data_tmp)
1561 pack_tmp = ishft(pack_tmp, -3)
1563 data_tmp = full_data(idata)
1564 data_tmp = ishft(data_tmp, 61)
1565 pack_tmp = ior(pack_tmp, data_tmp)
1566 pack_tmp = ishft(pack_tmp, -3)
1568 data_tmp = full_data(idata)
1569 data_tmp = ishft(data_tmp, 61)
1570 pack_tmp = ior(pack_tmp, data_tmp)
1571 pack_tmp = ishft(pack_tmp, -3)
1573 data_tmp = full_data(idata)
1574 data_tmp = ishft(data_tmp, 61)
1575 pack_tmp = ior(pack_tmp, data_tmp)
1576 pack_tmp = ishft(pack_tmp, -3)
1578 data_tmp = full_data(idata)
1579 data_tmp = ishft(data_tmp, 61)
1580 pack_tmp = ior(pack_tmp, data_tmp)
1581 pack_tmp = ishft(pack_tmp, -3)
1583 data_tmp = full_data(idata)
1584 data_tmp = ishft(data_tmp, 61)
1585 pack_tmp = ior(pack_tmp, data_tmp)
1586 pack_tmp = ishft(pack_tmp, -3)
1588 data_tmp = full_data(idata)
1589 data_tmp = ishft(data_tmp, 61)
1590 pack_tmp = ior(pack_tmp, data_tmp)
1591 pack_tmp = ishft(pack_tmp, -1)
1593 data_tmp = full_data(idata)
1594 data_tmp = ishft(data_tmp, 61)
1595 data_tmp = iand(data_tmp, mask_left(1))
1596 pack_tmp = ior(pack_tmp, data_tmp)
1598 packed_data(ipack) = pack_tmp
1599 data_tmp = full_data(idata)
1600 pack_tmp = ishft(data_tmp, 62)
1601 pack_tmp = ishft(pack_tmp, -3)
1603 data_tmp = full_data(idata)
1604 data_tmp = ishft(data_tmp, 61)
1605 pack_tmp = ior(pack_tmp, data_tmp)
1606 pack_tmp = ishft(pack_tmp, -3)
1608 data_tmp = full_data(idata)
1609 data_tmp = ishft(data_tmp, 61)
1610 pack_tmp = ior(pack_tmp, data_tmp)
1611 pack_tmp = ishft(pack_tmp, -3)
1613 data_tmp = full_data(idata)
1614 data_tmp = ishft(data_tmp, 61)
1615 pack_tmp = ior(pack_tmp, data_tmp)
1616 pack_tmp = ishft(pack_tmp, -3)
1618 data_tmp = full_data(idata)
1619 data_tmp = ishft(data_tmp, 61)
1620 pack_tmp = ior(pack_tmp, data_tmp)
1621 pack_tmp = ishft(pack_tmp, -3)
1623 data_tmp = full_data(idata)
1624 data_tmp = ishft(data_tmp, 61)
1625 pack_tmp = ior(pack_tmp, data_tmp)
1626 pack_tmp = ishft(pack_tmp, -3)
1628 data_tmp = full_data(idata)
1629 data_tmp = ishft(data_tmp, 61)
1630 pack_tmp = ior(pack_tmp, data_tmp)
1631 pack_tmp = ishft(pack_tmp, -3)
1633 data_tmp = full_data(idata)
1634 data_tmp = ishft(data_tmp, 61)
1635 pack_tmp = ior(pack_tmp, data_tmp)
1636 pack_tmp = ishft(pack_tmp, -3)
1638 data_tmp = full_data(idata)
1639 data_tmp = ishft(data_tmp, 61)
1640 pack_tmp = ior(pack_tmp, data_tmp)
1641 pack_tmp = ishft(pack_tmp, -3)
1643 data_tmp = full_data(idata)
1644 data_tmp = ishft(data_tmp, 61)
1645 pack_tmp = ior(pack_tmp, data_tmp)
1646 pack_tmp = ishft(pack_tmp, -3)
1648 data_tmp = full_data(idata)
1649 data_tmp = ishft(data_tmp, 61)
1650 pack_tmp = ior(pack_tmp, data_tmp)
1651 pack_tmp = ishft(pack_tmp, -3)
1653 data_tmp = full_data(idata)
1654 data_tmp = ishft(data_tmp, 61)
1655 pack_tmp = ior(pack_tmp, data_tmp)
1656 pack_tmp = ishft(pack_tmp, -3)
1658 data_tmp = full_data(idata)
1659 data_tmp = ishft(data_tmp, 61)
1660 pack_tmp = ior(pack_tmp, data_tmp)
1661 pack_tmp = ishft(pack_tmp, -3)
1663 data_tmp = full_data(idata)
1664 data_tmp = ishft(data_tmp, 61)
1665 pack_tmp = ior(pack_tmp, data_tmp)
1666 pack_tmp = ishft(pack_tmp, -3)
1668 data_tmp = full_data(idata)
1669 data_tmp = ishft(data_tmp, 61)
1670 pack_tmp = ior(pack_tmp, data_tmp)
1671 pack_tmp = ishft(pack_tmp, -3)
1673 data_tmp = full_data(idata)
1674 data_tmp = ishft(data_tmp, 61)
1675 pack_tmp = ior(pack_tmp, data_tmp)
1676 pack_tmp = ishft(pack_tmp, -3)
1678 data_tmp = full_data(idata)
1679 data_tmp = ishft(data_tmp, 61)
1680 pack_tmp = ior(pack_tmp, data_tmp)
1681 pack_tmp = ishft(pack_tmp, -3)
1683 data_tmp = full_data(idata)
1684 data_tmp = ishft(data_tmp, 61)
1685 pack_tmp = ior(pack_tmp, data_tmp)
1686 pack_tmp = ishft(pack_tmp, -3)
1688 data_tmp = full_data(idata)
1689 data_tmp = ishft(data_tmp, 61)
1690 pack_tmp = ior(pack_tmp, data_tmp)
1691 pack_tmp = ishft(pack_tmp, -3)
1693 data_tmp = full_data(idata)
1694 data_tmp = ishft(data_tmp, 61)
1695 pack_tmp = ior(pack_tmp, data_tmp)
1696 pack_tmp = ishft(pack_tmp, -3)
1698 data_tmp = full_data(idata)
1699 data_tmp = ishft(data_tmp, 61)
1700 pack_tmp = ior(pack_tmp, data_tmp)
1701 pack_tmp = ishft(pack_tmp, -2)
1703 data_tmp = full_data(idata)
1704 data_tmp = ishft(data_tmp, 61)
1705 data_tmp = iand(data_tmp, mask_left(2))
1706 pack_tmp = ior(pack_tmp, data_tmp)
1708 packed_data(ipack) = pack_tmp
1709 data_tmp = full_data(idata)
1710 pack_tmp = ishft(data_tmp, 63)
1711 pack_tmp = ishft(pack_tmp, -3)
1713 data_tmp = full_data(idata)
1714 data_tmp = ishft(data_tmp, 61)
1715 pack_tmp = ior(pack_tmp, data_tmp)
1716 pack_tmp = ishft(pack_tmp, -3)
1718 data_tmp = full_data(idata)
1719 data_tmp = ishft(data_tmp, 61)
1720 pack_tmp = ior(pack_tmp, data_tmp)
1721 pack_tmp = ishft(pack_tmp, -3)
1723 data_tmp = full_data(idata)
1724 data_tmp = ishft(data_tmp, 61)
1725 pack_tmp = ior(pack_tmp, data_tmp)
1726 pack_tmp = ishft(pack_tmp, -3)
1728 data_tmp = full_data(idata)
1729 data_tmp = ishft(data_tmp, 61)
1730 pack_tmp = ior(pack_tmp, data_tmp)
1731 pack_tmp = ishft(pack_tmp, -3)
1733 data_tmp = full_data(idata)
1734 data_tmp = ishft(data_tmp, 61)
1735 pack_tmp = ior(pack_tmp, data_tmp)
1736 pack_tmp = ishft(pack_tmp, -3)
1738 data_tmp = full_data(idata)
1739 data_tmp = ishft(data_tmp, 61)
1740 pack_tmp = ior(pack_tmp, data_tmp)
1741 pack_tmp = ishft(pack_tmp, -3)
1743 data_tmp = full_data(idata)
1744 data_tmp = ishft(data_tmp, 61)
1745 pack_tmp = ior(pack_tmp, data_tmp)
1746 pack_tmp = ishft(pack_tmp, -3)
1748 data_tmp = full_data(idata)
1749 data_tmp = ishft(data_tmp, 61)
1750 pack_tmp = ior(pack_tmp, data_tmp)
1751 pack_tmp = ishft(pack_tmp, -3)
1753 data_tmp = full_data(idata)
1754 data_tmp = ishft(data_tmp, 61)
1755 pack_tmp = ior(pack_tmp, data_tmp)
1756 pack_tmp = ishft(pack_tmp, -3)
1758 data_tmp = full_data(idata)
1759 data_tmp = ishft(data_tmp, 61)
1760 pack_tmp = ior(pack_tmp, data_tmp)
1761 pack_tmp = ishft(pack_tmp, -3)
1763 data_tmp = full_data(idata)
1764 data_tmp = ishft(data_tmp, 61)
1765 pack_tmp = ior(pack_tmp, data_tmp)
1766 pack_tmp = ishft(pack_tmp, -3)
1768 data_tmp = full_data(idata)
1769 data_tmp = ishft(data_tmp, 61)
1770 pack_tmp = ior(pack_tmp, data_tmp)
1771 pack_tmp = ishft(pack_tmp, -3)
1773 data_tmp = full_data(idata)
1774 data_tmp = ishft(data_tmp, 61)
1775 pack_tmp = ior(pack_tmp, data_tmp)
1776 pack_tmp = ishft(pack_tmp, -3)
1778 data_tmp = full_data(idata)
1779 data_tmp = ishft(data_tmp, 61)
1780 pack_tmp = ior(pack_tmp, data_tmp)
1781 pack_tmp = ishft(pack_tmp, -3)
1783 data_tmp = full_data(idata)
1784 data_tmp = ishft(data_tmp, 61)
1785 pack_tmp = ior(pack_tmp, data_tmp)
1786 pack_tmp = ishft(pack_tmp, -3)
1788 data_tmp = full_data(idata)
1789 data_tmp = ishft(data_tmp, 61)
1790 pack_tmp = ior(pack_tmp, data_tmp)
1791 pack_tmp = ishft(pack_tmp, -3)
1793 data_tmp = full_data(idata)
1794 data_tmp = ishft(data_tmp, 61)
1795 pack_tmp = ior(pack_tmp, data_tmp)
1796 pack_tmp = ishft(pack_tmp, -3)
1798 data_tmp = full_data(idata)
1799 data_tmp = ishft(data_tmp, 61)
1800 pack_tmp = ior(pack_tmp, data_tmp)
1801 pack_tmp = ishft(pack_tmp, -3)
1803 data_tmp = full_data(idata)
1804 data_tmp = ishft(data_tmp, 61)
1805 pack_tmp = ior(pack_tmp, data_tmp)
1806 pack_tmp = ishft(pack_tmp, -3)
1808 data_tmp = full_data(idata)
1809 data_tmp = ishft(data_tmp, 61)
1810 pack_tmp = ior(pack_tmp, data_tmp)
1811 pack_tmp = ishft(pack_tmp, -3)
1813 data_tmp = full_data(idata)
1814 data_tmp = ishft(data_tmp, 61)
1815 pack_tmp = ior(pack_tmp, data_tmp)
1816 pack_tmp = ishft(pack_tmp, 0)
1817 pack_tmp = ishft(pack_tmp, 0)
1819 packed_data(ipack) = pack_tmp
1821 IF (ndata_rep < ndata)
THEN
1822 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
1824 END SUBROUTINE ints2bits_3
1832 SUBROUTINE bits2ints_3(Ndata, packed_data, full_data)
1833 INTEGER,
INTENT(IN) :: Ndata
1834 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
1835 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
1837 INTEGER,
PARAMETER :: Nbits = 3
1839 INTEGER :: idata, ipack, kdata, Ndata_rep
1840 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
1845 ndata_rep = (ndata/64)*64
1846 DO kdata = 1, ndata_rep, 64
1848 data_tmp = ishft(pack_tmp, 3)
1850 pack_tmp = packed_data(ipack)
1851 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
1852 pack_tmp = ishft(pack_tmp, -3)
1854 data_tmp = iand(pack_tmp, mask_right(nbits))
1855 full_data(idata) = data_tmp
1856 pack_tmp = ishft(pack_tmp, -nbits)
1858 data_tmp = iand(pack_tmp, mask_right(nbits))
1859 full_data(idata) = data_tmp
1860 pack_tmp = ishft(pack_tmp, -nbits)
1862 data_tmp = iand(pack_tmp, mask_right(nbits))
1863 full_data(idata) = data_tmp
1864 pack_tmp = ishft(pack_tmp, -nbits)
1866 data_tmp = iand(pack_tmp, mask_right(nbits))
1867 full_data(idata) = data_tmp
1868 pack_tmp = ishft(pack_tmp, -nbits)
1870 data_tmp = iand(pack_tmp, mask_right(nbits))
1871 full_data(idata) = data_tmp
1872 pack_tmp = ishft(pack_tmp, -nbits)
1874 data_tmp = iand(pack_tmp, mask_right(nbits))
1875 full_data(idata) = data_tmp
1876 pack_tmp = ishft(pack_tmp, -nbits)
1878 data_tmp = iand(pack_tmp, mask_right(nbits))
1879 full_data(idata) = data_tmp
1880 pack_tmp = ishft(pack_tmp, -nbits)
1882 data_tmp = iand(pack_tmp, mask_right(nbits))
1883 full_data(idata) = data_tmp
1884 pack_tmp = ishft(pack_tmp, -nbits)
1886 data_tmp = iand(pack_tmp, mask_right(nbits))
1887 full_data(idata) = data_tmp
1888 pack_tmp = ishft(pack_tmp, -nbits)
1890 data_tmp = iand(pack_tmp, mask_right(nbits))
1891 full_data(idata) = data_tmp
1892 pack_tmp = ishft(pack_tmp, -nbits)
1894 data_tmp = iand(pack_tmp, mask_right(nbits))
1895 full_data(idata) = data_tmp
1896 pack_tmp = ishft(pack_tmp, -nbits)
1898 data_tmp = iand(pack_tmp, mask_right(nbits))
1899 full_data(idata) = data_tmp
1900 pack_tmp = ishft(pack_tmp, -nbits)
1902 data_tmp = iand(pack_tmp, mask_right(nbits))
1903 full_data(idata) = data_tmp
1904 pack_tmp = ishft(pack_tmp, -nbits)
1906 data_tmp = iand(pack_tmp, mask_right(nbits))
1907 full_data(idata) = data_tmp
1908 pack_tmp = ishft(pack_tmp, -nbits)
1910 data_tmp = iand(pack_tmp, mask_right(nbits))
1911 full_data(idata) = data_tmp
1912 pack_tmp = ishft(pack_tmp, -nbits)
1914 data_tmp = iand(pack_tmp, mask_right(nbits))
1915 full_data(idata) = data_tmp
1916 pack_tmp = ishft(pack_tmp, -nbits)
1918 data_tmp = iand(pack_tmp, mask_right(nbits))
1919 full_data(idata) = data_tmp
1920 pack_tmp = ishft(pack_tmp, -nbits)
1922 data_tmp = iand(pack_tmp, mask_right(nbits))
1923 full_data(idata) = data_tmp
1924 pack_tmp = ishft(pack_tmp, -nbits)
1926 data_tmp = iand(pack_tmp, mask_right(nbits))
1927 full_data(idata) = data_tmp
1928 pack_tmp = ishft(pack_tmp, -nbits)
1930 data_tmp = iand(pack_tmp, mask_right(nbits))
1931 full_data(idata) = data_tmp
1932 pack_tmp = ishft(pack_tmp, -nbits)
1934 data_tmp = ishft(pack_tmp, 2)
1936 pack_tmp = packed_data(ipack)
1937 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
1938 pack_tmp = ishft(pack_tmp, -2)
1940 data_tmp = iand(pack_tmp, mask_right(nbits))
1941 full_data(idata) = data_tmp
1942 pack_tmp = ishft(pack_tmp, -nbits)
1944 data_tmp = iand(pack_tmp, mask_right(nbits))
1945 full_data(idata) = data_tmp
1946 pack_tmp = ishft(pack_tmp, -nbits)
1948 data_tmp = iand(pack_tmp, mask_right(nbits))
1949 full_data(idata) = data_tmp
1950 pack_tmp = ishft(pack_tmp, -nbits)
1952 data_tmp = iand(pack_tmp, mask_right(nbits))
1953 full_data(idata) = data_tmp
1954 pack_tmp = ishft(pack_tmp, -nbits)
1956 data_tmp = iand(pack_tmp, mask_right(nbits))
1957 full_data(idata) = data_tmp
1958 pack_tmp = ishft(pack_tmp, -nbits)
1960 data_tmp = iand(pack_tmp, mask_right(nbits))
1961 full_data(idata) = data_tmp
1962 pack_tmp = ishft(pack_tmp, -nbits)
1964 data_tmp = iand(pack_tmp, mask_right(nbits))
1965 full_data(idata) = data_tmp
1966 pack_tmp = ishft(pack_tmp, -nbits)
1968 data_tmp = iand(pack_tmp, mask_right(nbits))
1969 full_data(idata) = data_tmp
1970 pack_tmp = ishft(pack_tmp, -nbits)
1972 data_tmp = iand(pack_tmp, mask_right(nbits))
1973 full_data(idata) = data_tmp
1974 pack_tmp = ishft(pack_tmp, -nbits)
1976 data_tmp = iand(pack_tmp, mask_right(nbits))
1977 full_data(idata) = data_tmp
1978 pack_tmp = ishft(pack_tmp, -nbits)
1980 data_tmp = iand(pack_tmp, mask_right(nbits))
1981 full_data(idata) = data_tmp
1982 pack_tmp = ishft(pack_tmp, -nbits)
1984 data_tmp = iand(pack_tmp, mask_right(nbits))
1985 full_data(idata) = data_tmp
1986 pack_tmp = ishft(pack_tmp, -nbits)
1988 data_tmp = iand(pack_tmp, mask_right(nbits))
1989 full_data(idata) = data_tmp
1990 pack_tmp = ishft(pack_tmp, -nbits)
1992 data_tmp = iand(pack_tmp, mask_right(nbits))
1993 full_data(idata) = data_tmp
1994 pack_tmp = ishft(pack_tmp, -nbits)
1996 data_tmp = iand(pack_tmp, mask_right(nbits))
1997 full_data(idata) = data_tmp
1998 pack_tmp = ishft(pack_tmp, -nbits)
2000 data_tmp = iand(pack_tmp, mask_right(nbits))
2001 full_data(idata) = data_tmp
2002 pack_tmp = ishft(pack_tmp, -nbits)
2004 data_tmp = iand(pack_tmp, mask_right(nbits))
2005 full_data(idata) = data_tmp
2006 pack_tmp = ishft(pack_tmp, -nbits)
2008 data_tmp = iand(pack_tmp, mask_right(nbits))
2009 full_data(idata) = data_tmp
2010 pack_tmp = ishft(pack_tmp, -nbits)
2012 data_tmp = iand(pack_tmp, mask_right(nbits))
2013 full_data(idata) = data_tmp
2014 pack_tmp = ishft(pack_tmp, -nbits)
2016 data_tmp = iand(pack_tmp, mask_right(nbits))
2017 full_data(idata) = data_tmp
2018 pack_tmp = ishft(pack_tmp, -nbits)
2020 data_tmp = ishft(pack_tmp, 1)
2022 pack_tmp = packed_data(ipack)
2023 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
2024 pack_tmp = ishft(pack_tmp, -1)
2026 data_tmp = iand(pack_tmp, mask_right(nbits))
2027 full_data(idata) = data_tmp
2028 pack_tmp = ishft(pack_tmp, -nbits)
2030 data_tmp = iand(pack_tmp, mask_right(nbits))
2031 full_data(idata) = data_tmp
2032 pack_tmp = ishft(pack_tmp, -nbits)
2034 data_tmp = iand(pack_tmp, mask_right(nbits))
2035 full_data(idata) = data_tmp
2036 pack_tmp = ishft(pack_tmp, -nbits)
2038 data_tmp = iand(pack_tmp, mask_right(nbits))
2039 full_data(idata) = data_tmp
2040 pack_tmp = ishft(pack_tmp, -nbits)
2042 data_tmp = iand(pack_tmp, mask_right(nbits))
2043 full_data(idata) = data_tmp
2044 pack_tmp = ishft(pack_tmp, -nbits)
2046 data_tmp = iand(pack_tmp, mask_right(nbits))
2047 full_data(idata) = data_tmp
2048 pack_tmp = ishft(pack_tmp, -nbits)
2050 data_tmp = iand(pack_tmp, mask_right(nbits))
2051 full_data(idata) = data_tmp
2052 pack_tmp = ishft(pack_tmp, -nbits)
2054 data_tmp = iand(pack_tmp, mask_right(nbits))
2055 full_data(idata) = data_tmp
2056 pack_tmp = ishft(pack_tmp, -nbits)
2058 data_tmp = iand(pack_tmp, mask_right(nbits))
2059 full_data(idata) = data_tmp
2060 pack_tmp = ishft(pack_tmp, -nbits)
2062 data_tmp = iand(pack_tmp, mask_right(nbits))
2063 full_data(idata) = data_tmp
2064 pack_tmp = ishft(pack_tmp, -nbits)
2066 data_tmp = iand(pack_tmp, mask_right(nbits))
2067 full_data(idata) = data_tmp
2068 pack_tmp = ishft(pack_tmp, -nbits)
2070 data_tmp = iand(pack_tmp, mask_right(nbits))
2071 full_data(idata) = data_tmp
2072 pack_tmp = ishft(pack_tmp, -nbits)
2074 data_tmp = iand(pack_tmp, mask_right(nbits))
2075 full_data(idata) = data_tmp
2076 pack_tmp = ishft(pack_tmp, -nbits)
2078 data_tmp = iand(pack_tmp, mask_right(nbits))
2079 full_data(idata) = data_tmp
2080 pack_tmp = ishft(pack_tmp, -nbits)
2082 data_tmp = iand(pack_tmp, mask_right(nbits))
2083 full_data(idata) = data_tmp
2084 pack_tmp = ishft(pack_tmp, -nbits)
2086 data_tmp = iand(pack_tmp, mask_right(nbits))
2087 full_data(idata) = data_tmp
2088 pack_tmp = ishft(pack_tmp, -nbits)
2090 data_tmp = iand(pack_tmp, mask_right(nbits))
2091 full_data(idata) = data_tmp
2092 pack_tmp = ishft(pack_tmp, -nbits)
2094 data_tmp = iand(pack_tmp, mask_right(nbits))
2095 full_data(idata) = data_tmp
2096 pack_tmp = ishft(pack_tmp, -nbits)
2098 data_tmp = iand(pack_tmp, mask_right(nbits))
2099 full_data(idata) = data_tmp
2100 pack_tmp = ishft(pack_tmp, -nbits)
2102 data_tmp = iand(pack_tmp, mask_right(nbits))
2103 full_data(idata) = data_tmp
2104 pack_tmp = ishft(pack_tmp, -nbits)
2106 data_tmp = iand(pack_tmp, mask_right(nbits))
2107 full_data(idata) = data_tmp
2108 pack_tmp = ishft(pack_tmp, -nbits)
2110 IF (ndata_rep < ndata)
THEN
2111 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
2113 END SUBROUTINE bits2ints_3
2121 SUBROUTINE ints2bits_4(Ndata, packed_data, full_data)
2122 INTEGER,
INTENT(IN) :: Ndata
2123 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
2124 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
2126 INTEGER,
PARAMETER :: Nbits = 4
2128 INTEGER :: idata, ipack, kdata, Ndata_rep
2129 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
2133 ndata_rep = (ndata/64)*64
2134 DO kdata = 1, ndata_rep, 64
2137 data_tmp = full_data(idata)
2138 data_tmp = ishft(data_tmp, 60)
2139 pack_tmp = ior(pack_tmp, data_tmp)
2140 pack_tmp = ishft(pack_tmp, -4)
2142 data_tmp = full_data(idata)
2143 data_tmp = ishft(data_tmp, 60)
2144 pack_tmp = ior(pack_tmp, data_tmp)
2145 pack_tmp = ishft(pack_tmp, -4)
2147 data_tmp = full_data(idata)
2148 data_tmp = ishft(data_tmp, 60)
2149 pack_tmp = ior(pack_tmp, data_tmp)
2150 pack_tmp = ishft(pack_tmp, -4)
2152 data_tmp = full_data(idata)
2153 data_tmp = ishft(data_tmp, 60)
2154 pack_tmp = ior(pack_tmp, data_tmp)
2155 pack_tmp = ishft(pack_tmp, -4)
2157 data_tmp = full_data(idata)
2158 data_tmp = ishft(data_tmp, 60)
2159 pack_tmp = ior(pack_tmp, data_tmp)
2160 pack_tmp = ishft(pack_tmp, -4)
2162 data_tmp = full_data(idata)
2163 data_tmp = ishft(data_tmp, 60)
2164 pack_tmp = ior(pack_tmp, data_tmp)
2165 pack_tmp = ishft(pack_tmp, -4)
2167 data_tmp = full_data(idata)
2168 data_tmp = ishft(data_tmp, 60)
2169 pack_tmp = ior(pack_tmp, data_tmp)
2170 pack_tmp = ishft(pack_tmp, -4)
2172 data_tmp = full_data(idata)
2173 data_tmp = ishft(data_tmp, 60)
2174 pack_tmp = ior(pack_tmp, data_tmp)
2175 pack_tmp = ishft(pack_tmp, -4)
2177 data_tmp = full_data(idata)
2178 data_tmp = ishft(data_tmp, 60)
2179 pack_tmp = ior(pack_tmp, data_tmp)
2180 pack_tmp = ishft(pack_tmp, -4)
2182 data_tmp = full_data(idata)
2183 data_tmp = ishft(data_tmp, 60)
2184 pack_tmp = ior(pack_tmp, data_tmp)
2185 pack_tmp = ishft(pack_tmp, -4)
2187 data_tmp = full_data(idata)
2188 data_tmp = ishft(data_tmp, 60)
2189 pack_tmp = ior(pack_tmp, data_tmp)
2190 pack_tmp = ishft(pack_tmp, -4)
2192 data_tmp = full_data(idata)
2193 data_tmp = ishft(data_tmp, 60)
2194 pack_tmp = ior(pack_tmp, data_tmp)
2195 pack_tmp = ishft(pack_tmp, -4)
2197 data_tmp = full_data(idata)
2198 data_tmp = ishft(data_tmp, 60)
2199 pack_tmp = ior(pack_tmp, data_tmp)
2200 pack_tmp = ishft(pack_tmp, -4)
2202 data_tmp = full_data(idata)
2203 data_tmp = ishft(data_tmp, 60)
2204 pack_tmp = ior(pack_tmp, data_tmp)
2205 pack_tmp = ishft(pack_tmp, -4)
2207 data_tmp = full_data(idata)
2208 data_tmp = ishft(data_tmp, 60)
2209 pack_tmp = ior(pack_tmp, data_tmp)
2210 pack_tmp = ishft(pack_tmp, -4)
2212 data_tmp = full_data(idata)
2213 data_tmp = ishft(data_tmp, 60)
2214 pack_tmp = ior(pack_tmp, data_tmp)
2215 pack_tmp = ishft(pack_tmp, 0)
2217 data_tmp = full_data(idata)
2218 data_tmp = ishft(data_tmp, 60)
2219 data_tmp = iand(data_tmp, mask_left(0))
2220 pack_tmp = ior(pack_tmp, data_tmp)
2222 packed_data(ipack) = pack_tmp
2223 data_tmp = full_data(idata)
2224 pack_tmp = ishft(data_tmp, 60)
2225 pack_tmp = ishft(pack_tmp, -4)
2227 data_tmp = full_data(idata)
2228 data_tmp = ishft(data_tmp, 60)
2229 pack_tmp = ior(pack_tmp, data_tmp)
2230 pack_tmp = ishft(pack_tmp, -4)
2232 data_tmp = full_data(idata)
2233 data_tmp = ishft(data_tmp, 60)
2234 pack_tmp = ior(pack_tmp, data_tmp)
2235 pack_tmp = ishft(pack_tmp, -4)
2237 data_tmp = full_data(idata)
2238 data_tmp = ishft(data_tmp, 60)
2239 pack_tmp = ior(pack_tmp, data_tmp)
2240 pack_tmp = ishft(pack_tmp, -4)
2242 data_tmp = full_data(idata)
2243 data_tmp = ishft(data_tmp, 60)
2244 pack_tmp = ior(pack_tmp, data_tmp)
2245 pack_tmp = ishft(pack_tmp, -4)
2247 data_tmp = full_data(idata)
2248 data_tmp = ishft(data_tmp, 60)
2249 pack_tmp = ior(pack_tmp, data_tmp)
2250 pack_tmp = ishft(pack_tmp, -4)
2252 data_tmp = full_data(idata)
2253 data_tmp = ishft(data_tmp, 60)
2254 pack_tmp = ior(pack_tmp, data_tmp)
2255 pack_tmp = ishft(pack_tmp, -4)
2257 data_tmp = full_data(idata)
2258 data_tmp = ishft(data_tmp, 60)
2259 pack_tmp = ior(pack_tmp, data_tmp)
2260 pack_tmp = ishft(pack_tmp, -4)
2262 data_tmp = full_data(idata)
2263 data_tmp = ishft(data_tmp, 60)
2264 pack_tmp = ior(pack_tmp, data_tmp)
2265 pack_tmp = ishft(pack_tmp, -4)
2267 data_tmp = full_data(idata)
2268 data_tmp = ishft(data_tmp, 60)
2269 pack_tmp = ior(pack_tmp, data_tmp)
2270 pack_tmp = ishft(pack_tmp, -4)
2272 data_tmp = full_data(idata)
2273 data_tmp = ishft(data_tmp, 60)
2274 pack_tmp = ior(pack_tmp, data_tmp)
2275 pack_tmp = ishft(pack_tmp, -4)
2277 data_tmp = full_data(idata)
2278 data_tmp = ishft(data_tmp, 60)
2279 pack_tmp = ior(pack_tmp, data_tmp)
2280 pack_tmp = ishft(pack_tmp, -4)
2282 data_tmp = full_data(idata)
2283 data_tmp = ishft(data_tmp, 60)
2284 pack_tmp = ior(pack_tmp, data_tmp)
2285 pack_tmp = ishft(pack_tmp, -4)
2287 data_tmp = full_data(idata)
2288 data_tmp = ishft(data_tmp, 60)
2289 pack_tmp = ior(pack_tmp, data_tmp)
2290 pack_tmp = ishft(pack_tmp, -4)
2292 data_tmp = full_data(idata)
2293 data_tmp = ishft(data_tmp, 60)
2294 pack_tmp = ior(pack_tmp, data_tmp)
2295 pack_tmp = ishft(pack_tmp, -4)
2297 data_tmp = full_data(idata)
2298 data_tmp = ishft(data_tmp, 60)
2299 pack_tmp = ior(pack_tmp, data_tmp)
2300 pack_tmp = ishft(pack_tmp, 0)
2302 data_tmp = full_data(idata)
2303 data_tmp = ishft(data_tmp, 60)
2304 data_tmp = iand(data_tmp, mask_left(0))
2305 pack_tmp = ior(pack_tmp, data_tmp)
2307 packed_data(ipack) = pack_tmp
2308 data_tmp = full_data(idata)
2309 pack_tmp = ishft(data_tmp, 60)
2310 pack_tmp = ishft(pack_tmp, -4)
2312 data_tmp = full_data(idata)
2313 data_tmp = ishft(data_tmp, 60)
2314 pack_tmp = ior(pack_tmp, data_tmp)
2315 pack_tmp = ishft(pack_tmp, -4)
2317 data_tmp = full_data(idata)
2318 data_tmp = ishft(data_tmp, 60)
2319 pack_tmp = ior(pack_tmp, data_tmp)
2320 pack_tmp = ishft(pack_tmp, -4)
2322 data_tmp = full_data(idata)
2323 data_tmp = ishft(data_tmp, 60)
2324 pack_tmp = ior(pack_tmp, data_tmp)
2325 pack_tmp = ishft(pack_tmp, -4)
2327 data_tmp = full_data(idata)
2328 data_tmp = ishft(data_tmp, 60)
2329 pack_tmp = ior(pack_tmp, data_tmp)
2330 pack_tmp = ishft(pack_tmp, -4)
2332 data_tmp = full_data(idata)
2333 data_tmp = ishft(data_tmp, 60)
2334 pack_tmp = ior(pack_tmp, data_tmp)
2335 pack_tmp = ishft(pack_tmp, -4)
2337 data_tmp = full_data(idata)
2338 data_tmp = ishft(data_tmp, 60)
2339 pack_tmp = ior(pack_tmp, data_tmp)
2340 pack_tmp = ishft(pack_tmp, -4)
2342 data_tmp = full_data(idata)
2343 data_tmp = ishft(data_tmp, 60)
2344 pack_tmp = ior(pack_tmp, data_tmp)
2345 pack_tmp = ishft(pack_tmp, -4)
2347 data_tmp = full_data(idata)
2348 data_tmp = ishft(data_tmp, 60)
2349 pack_tmp = ior(pack_tmp, data_tmp)
2350 pack_tmp = ishft(pack_tmp, -4)
2352 data_tmp = full_data(idata)
2353 data_tmp = ishft(data_tmp, 60)
2354 pack_tmp = ior(pack_tmp, data_tmp)
2355 pack_tmp = ishft(pack_tmp, -4)
2357 data_tmp = full_data(idata)
2358 data_tmp = ishft(data_tmp, 60)
2359 pack_tmp = ior(pack_tmp, data_tmp)
2360 pack_tmp = ishft(pack_tmp, -4)
2362 data_tmp = full_data(idata)
2363 data_tmp = ishft(data_tmp, 60)
2364 pack_tmp = ior(pack_tmp, data_tmp)
2365 pack_tmp = ishft(pack_tmp, -4)
2367 data_tmp = full_data(idata)
2368 data_tmp = ishft(data_tmp, 60)
2369 pack_tmp = ior(pack_tmp, data_tmp)
2370 pack_tmp = ishft(pack_tmp, -4)
2372 data_tmp = full_data(idata)
2373 data_tmp = ishft(data_tmp, 60)
2374 pack_tmp = ior(pack_tmp, data_tmp)
2375 pack_tmp = ishft(pack_tmp, -4)
2377 data_tmp = full_data(idata)
2378 data_tmp = ishft(data_tmp, 60)
2379 pack_tmp = ior(pack_tmp, data_tmp)
2380 pack_tmp = ishft(pack_tmp, -4)
2382 data_tmp = full_data(idata)
2383 data_tmp = ishft(data_tmp, 60)
2384 pack_tmp = ior(pack_tmp, data_tmp)
2385 pack_tmp = ishft(pack_tmp, 0)
2387 data_tmp = full_data(idata)
2388 data_tmp = ishft(data_tmp, 60)
2389 data_tmp = iand(data_tmp, mask_left(0))
2390 pack_tmp = ior(pack_tmp, data_tmp)
2392 packed_data(ipack) = pack_tmp
2393 data_tmp = full_data(idata)
2394 pack_tmp = ishft(data_tmp, 60)
2395 pack_tmp = ishft(pack_tmp, -4)
2397 data_tmp = full_data(idata)
2398 data_tmp = ishft(data_tmp, 60)
2399 pack_tmp = ior(pack_tmp, data_tmp)
2400 pack_tmp = ishft(pack_tmp, -4)
2402 data_tmp = full_data(idata)
2403 data_tmp = ishft(data_tmp, 60)
2404 pack_tmp = ior(pack_tmp, data_tmp)
2405 pack_tmp = ishft(pack_tmp, -4)
2407 data_tmp = full_data(idata)
2408 data_tmp = ishft(data_tmp, 60)
2409 pack_tmp = ior(pack_tmp, data_tmp)
2410 pack_tmp = ishft(pack_tmp, -4)
2412 data_tmp = full_data(idata)
2413 data_tmp = ishft(data_tmp, 60)
2414 pack_tmp = ior(pack_tmp, data_tmp)
2415 pack_tmp = ishft(pack_tmp, -4)
2417 data_tmp = full_data(idata)
2418 data_tmp = ishft(data_tmp, 60)
2419 pack_tmp = ior(pack_tmp, data_tmp)
2420 pack_tmp = ishft(pack_tmp, -4)
2422 data_tmp = full_data(idata)
2423 data_tmp = ishft(data_tmp, 60)
2424 pack_tmp = ior(pack_tmp, data_tmp)
2425 pack_tmp = ishft(pack_tmp, -4)
2427 data_tmp = full_data(idata)
2428 data_tmp = ishft(data_tmp, 60)
2429 pack_tmp = ior(pack_tmp, data_tmp)
2430 pack_tmp = ishft(pack_tmp, -4)
2432 data_tmp = full_data(idata)
2433 data_tmp = ishft(data_tmp, 60)
2434 pack_tmp = ior(pack_tmp, data_tmp)
2435 pack_tmp = ishft(pack_tmp, -4)
2437 data_tmp = full_data(idata)
2438 data_tmp = ishft(data_tmp, 60)
2439 pack_tmp = ior(pack_tmp, data_tmp)
2440 pack_tmp = ishft(pack_tmp, -4)
2442 data_tmp = full_data(idata)
2443 data_tmp = ishft(data_tmp, 60)
2444 pack_tmp = ior(pack_tmp, data_tmp)
2445 pack_tmp = ishft(pack_tmp, -4)
2447 data_tmp = full_data(idata)
2448 data_tmp = ishft(data_tmp, 60)
2449 pack_tmp = ior(pack_tmp, data_tmp)
2450 pack_tmp = ishft(pack_tmp, -4)
2452 data_tmp = full_data(idata)
2453 data_tmp = ishft(data_tmp, 60)
2454 pack_tmp = ior(pack_tmp, data_tmp)
2455 pack_tmp = ishft(pack_tmp, -4)
2457 data_tmp = full_data(idata)
2458 data_tmp = ishft(data_tmp, 60)
2459 pack_tmp = ior(pack_tmp, data_tmp)
2460 pack_tmp = ishft(pack_tmp, -4)
2462 data_tmp = full_data(idata)
2463 data_tmp = ishft(data_tmp, 60)
2464 pack_tmp = ior(pack_tmp, data_tmp)
2465 pack_tmp = ishft(pack_tmp, -4)
2467 data_tmp = full_data(idata)
2468 data_tmp = ishft(data_tmp, 60)
2469 pack_tmp = ior(pack_tmp, data_tmp)
2470 pack_tmp = ishft(pack_tmp, 0)
2471 pack_tmp = ishft(pack_tmp, 0)
2473 packed_data(ipack) = pack_tmp
2475 IF (ndata_rep < ndata)
THEN
2476 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
2478 END SUBROUTINE ints2bits_4
2486 SUBROUTINE bits2ints_4(Ndata, packed_data, full_data)
2487 INTEGER,
INTENT(IN) :: Ndata
2488 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
2489 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
2491 INTEGER,
PARAMETER :: Nbits = 4
2493 INTEGER :: idata, ipack, kdata, Ndata_rep
2494 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
2499 ndata_rep = (ndata/64)*64
2500 DO kdata = 1, ndata_rep, 64
2502 data_tmp = ishft(pack_tmp, 4)
2504 pack_tmp = packed_data(ipack)
2505 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
2506 pack_tmp = ishft(pack_tmp, -4)
2508 data_tmp = iand(pack_tmp, mask_right(nbits))
2509 full_data(idata) = data_tmp
2510 pack_tmp = ishft(pack_tmp, -nbits)
2512 data_tmp = iand(pack_tmp, mask_right(nbits))
2513 full_data(idata) = data_tmp
2514 pack_tmp = ishft(pack_tmp, -nbits)
2516 data_tmp = iand(pack_tmp, mask_right(nbits))
2517 full_data(idata) = data_tmp
2518 pack_tmp = ishft(pack_tmp, -nbits)
2520 data_tmp = iand(pack_tmp, mask_right(nbits))
2521 full_data(idata) = data_tmp
2522 pack_tmp = ishft(pack_tmp, -nbits)
2524 data_tmp = iand(pack_tmp, mask_right(nbits))
2525 full_data(idata) = data_tmp
2526 pack_tmp = ishft(pack_tmp, -nbits)
2528 data_tmp = iand(pack_tmp, mask_right(nbits))
2529 full_data(idata) = data_tmp
2530 pack_tmp = ishft(pack_tmp, -nbits)
2532 data_tmp = iand(pack_tmp, mask_right(nbits))
2533 full_data(idata) = data_tmp
2534 pack_tmp = ishft(pack_tmp, -nbits)
2536 data_tmp = iand(pack_tmp, mask_right(nbits))
2537 full_data(idata) = data_tmp
2538 pack_tmp = ishft(pack_tmp, -nbits)
2540 data_tmp = iand(pack_tmp, mask_right(nbits))
2541 full_data(idata) = data_tmp
2542 pack_tmp = ishft(pack_tmp, -nbits)
2544 data_tmp = iand(pack_tmp, mask_right(nbits))
2545 full_data(idata) = data_tmp
2546 pack_tmp = ishft(pack_tmp, -nbits)
2548 data_tmp = iand(pack_tmp, mask_right(nbits))
2549 full_data(idata) = data_tmp
2550 pack_tmp = ishft(pack_tmp, -nbits)
2552 data_tmp = iand(pack_tmp, mask_right(nbits))
2553 full_data(idata) = data_tmp
2554 pack_tmp = ishft(pack_tmp, -nbits)
2556 data_tmp = iand(pack_tmp, mask_right(nbits))
2557 full_data(idata) = data_tmp
2558 pack_tmp = ishft(pack_tmp, -nbits)
2560 data_tmp = iand(pack_tmp, mask_right(nbits))
2561 full_data(idata) = data_tmp
2562 pack_tmp = ishft(pack_tmp, -nbits)
2564 data_tmp = iand(pack_tmp, mask_right(nbits))
2565 full_data(idata) = data_tmp
2566 pack_tmp = ishft(pack_tmp, -nbits)
2568 data_tmp = ishft(pack_tmp, 4)
2570 pack_tmp = packed_data(ipack)
2571 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
2572 pack_tmp = ishft(pack_tmp, -4)
2574 data_tmp = iand(pack_tmp, mask_right(nbits))
2575 full_data(idata) = data_tmp
2576 pack_tmp = ishft(pack_tmp, -nbits)
2578 data_tmp = iand(pack_tmp, mask_right(nbits))
2579 full_data(idata) = data_tmp
2580 pack_tmp = ishft(pack_tmp, -nbits)
2582 data_tmp = iand(pack_tmp, mask_right(nbits))
2583 full_data(idata) = data_tmp
2584 pack_tmp = ishft(pack_tmp, -nbits)
2586 data_tmp = iand(pack_tmp, mask_right(nbits))
2587 full_data(idata) = data_tmp
2588 pack_tmp = ishft(pack_tmp, -nbits)
2590 data_tmp = iand(pack_tmp, mask_right(nbits))
2591 full_data(idata) = data_tmp
2592 pack_tmp = ishft(pack_tmp, -nbits)
2594 data_tmp = iand(pack_tmp, mask_right(nbits))
2595 full_data(idata) = data_tmp
2596 pack_tmp = ishft(pack_tmp, -nbits)
2598 data_tmp = iand(pack_tmp, mask_right(nbits))
2599 full_data(idata) = data_tmp
2600 pack_tmp = ishft(pack_tmp, -nbits)
2602 data_tmp = iand(pack_tmp, mask_right(nbits))
2603 full_data(idata) = data_tmp
2604 pack_tmp = ishft(pack_tmp, -nbits)
2606 data_tmp = iand(pack_tmp, mask_right(nbits))
2607 full_data(idata) = data_tmp
2608 pack_tmp = ishft(pack_tmp, -nbits)
2610 data_tmp = iand(pack_tmp, mask_right(nbits))
2611 full_data(idata) = data_tmp
2612 pack_tmp = ishft(pack_tmp, -nbits)
2614 data_tmp = iand(pack_tmp, mask_right(nbits))
2615 full_data(idata) = data_tmp
2616 pack_tmp = ishft(pack_tmp, -nbits)
2618 data_tmp = iand(pack_tmp, mask_right(nbits))
2619 full_data(idata) = data_tmp
2620 pack_tmp = ishft(pack_tmp, -nbits)
2622 data_tmp = iand(pack_tmp, mask_right(nbits))
2623 full_data(idata) = data_tmp
2624 pack_tmp = ishft(pack_tmp, -nbits)
2626 data_tmp = iand(pack_tmp, mask_right(nbits))
2627 full_data(idata) = data_tmp
2628 pack_tmp = ishft(pack_tmp, -nbits)
2630 data_tmp = iand(pack_tmp, mask_right(nbits))
2631 full_data(idata) = data_tmp
2632 pack_tmp = ishft(pack_tmp, -nbits)
2634 data_tmp = ishft(pack_tmp, 4)
2636 pack_tmp = packed_data(ipack)
2637 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
2638 pack_tmp = ishft(pack_tmp, -4)
2640 data_tmp = iand(pack_tmp, mask_right(nbits))
2641 full_data(idata) = data_tmp
2642 pack_tmp = ishft(pack_tmp, -nbits)
2644 data_tmp = iand(pack_tmp, mask_right(nbits))
2645 full_data(idata) = data_tmp
2646 pack_tmp = ishft(pack_tmp, -nbits)
2648 data_tmp = iand(pack_tmp, mask_right(nbits))
2649 full_data(idata) = data_tmp
2650 pack_tmp = ishft(pack_tmp, -nbits)
2652 data_tmp = iand(pack_tmp, mask_right(nbits))
2653 full_data(idata) = data_tmp
2654 pack_tmp = ishft(pack_tmp, -nbits)
2656 data_tmp = iand(pack_tmp, mask_right(nbits))
2657 full_data(idata) = data_tmp
2658 pack_tmp = ishft(pack_tmp, -nbits)
2660 data_tmp = iand(pack_tmp, mask_right(nbits))
2661 full_data(idata) = data_tmp
2662 pack_tmp = ishft(pack_tmp, -nbits)
2664 data_tmp = iand(pack_tmp, mask_right(nbits))
2665 full_data(idata) = data_tmp
2666 pack_tmp = ishft(pack_tmp, -nbits)
2668 data_tmp = iand(pack_tmp, mask_right(nbits))
2669 full_data(idata) = data_tmp
2670 pack_tmp = ishft(pack_tmp, -nbits)
2672 data_tmp = iand(pack_tmp, mask_right(nbits))
2673 full_data(idata) = data_tmp
2674 pack_tmp = ishft(pack_tmp, -nbits)
2676 data_tmp = iand(pack_tmp, mask_right(nbits))
2677 full_data(idata) = data_tmp
2678 pack_tmp = ishft(pack_tmp, -nbits)
2680 data_tmp = iand(pack_tmp, mask_right(nbits))
2681 full_data(idata) = data_tmp
2682 pack_tmp = ishft(pack_tmp, -nbits)
2684 data_tmp = iand(pack_tmp, mask_right(nbits))
2685 full_data(idata) = data_tmp
2686 pack_tmp = ishft(pack_tmp, -nbits)
2688 data_tmp = iand(pack_tmp, mask_right(nbits))
2689 full_data(idata) = data_tmp
2690 pack_tmp = ishft(pack_tmp, -nbits)
2692 data_tmp = iand(pack_tmp, mask_right(nbits))
2693 full_data(idata) = data_tmp
2694 pack_tmp = ishft(pack_tmp, -nbits)
2696 data_tmp = iand(pack_tmp, mask_right(nbits))
2697 full_data(idata) = data_tmp
2698 pack_tmp = ishft(pack_tmp, -nbits)
2700 data_tmp = ishft(pack_tmp, 4)
2702 pack_tmp = packed_data(ipack)
2703 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
2704 pack_tmp = ishft(pack_tmp, -4)
2706 data_tmp = iand(pack_tmp, mask_right(nbits))
2707 full_data(idata) = data_tmp
2708 pack_tmp = ishft(pack_tmp, -nbits)
2710 data_tmp = iand(pack_tmp, mask_right(nbits))
2711 full_data(idata) = data_tmp
2712 pack_tmp = ishft(pack_tmp, -nbits)
2714 data_tmp = iand(pack_tmp, mask_right(nbits))
2715 full_data(idata) = data_tmp
2716 pack_tmp = ishft(pack_tmp, -nbits)
2718 data_tmp = iand(pack_tmp, mask_right(nbits))
2719 full_data(idata) = data_tmp
2720 pack_tmp = ishft(pack_tmp, -nbits)
2722 data_tmp = iand(pack_tmp, mask_right(nbits))
2723 full_data(idata) = data_tmp
2724 pack_tmp = ishft(pack_tmp, -nbits)
2726 data_tmp = iand(pack_tmp, mask_right(nbits))
2727 full_data(idata) = data_tmp
2728 pack_tmp = ishft(pack_tmp, -nbits)
2730 data_tmp = iand(pack_tmp, mask_right(nbits))
2731 full_data(idata) = data_tmp
2732 pack_tmp = ishft(pack_tmp, -nbits)
2734 data_tmp = iand(pack_tmp, mask_right(nbits))
2735 full_data(idata) = data_tmp
2736 pack_tmp = ishft(pack_tmp, -nbits)
2738 data_tmp = iand(pack_tmp, mask_right(nbits))
2739 full_data(idata) = data_tmp
2740 pack_tmp = ishft(pack_tmp, -nbits)
2742 data_tmp = iand(pack_tmp, mask_right(nbits))
2743 full_data(idata) = data_tmp
2744 pack_tmp = ishft(pack_tmp, -nbits)
2746 data_tmp = iand(pack_tmp, mask_right(nbits))
2747 full_data(idata) = data_tmp
2748 pack_tmp = ishft(pack_tmp, -nbits)
2750 data_tmp = iand(pack_tmp, mask_right(nbits))
2751 full_data(idata) = data_tmp
2752 pack_tmp = ishft(pack_tmp, -nbits)
2754 data_tmp = iand(pack_tmp, mask_right(nbits))
2755 full_data(idata) = data_tmp
2756 pack_tmp = ishft(pack_tmp, -nbits)
2758 data_tmp = iand(pack_tmp, mask_right(nbits))
2759 full_data(idata) = data_tmp
2760 pack_tmp = ishft(pack_tmp, -nbits)
2762 data_tmp = iand(pack_tmp, mask_right(nbits))
2763 full_data(idata) = data_tmp
2764 pack_tmp = ishft(pack_tmp, -nbits)
2766 IF (ndata_rep < ndata)
THEN
2767 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
2769 END SUBROUTINE bits2ints_4
2777 SUBROUTINE ints2bits_5(Ndata, packed_data, full_data)
2778 INTEGER,
INTENT(IN) :: Ndata
2779 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
2780 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
2782 INTEGER,
PARAMETER :: Nbits = 5
2784 INTEGER :: idata, ipack, kdata, Ndata_rep
2785 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
2789 ndata_rep = (ndata/64)*64
2790 DO kdata = 1, ndata_rep, 64
2793 data_tmp = full_data(idata)
2794 data_tmp = ishft(data_tmp, 59)
2795 pack_tmp = ior(pack_tmp, data_tmp)
2796 pack_tmp = ishft(pack_tmp, -5)
2798 data_tmp = full_data(idata)
2799 data_tmp = ishft(data_tmp, 59)
2800 pack_tmp = ior(pack_tmp, data_tmp)
2801 pack_tmp = ishft(pack_tmp, -5)
2803 data_tmp = full_data(idata)
2804 data_tmp = ishft(data_tmp, 59)
2805 pack_tmp = ior(pack_tmp, data_tmp)
2806 pack_tmp = ishft(pack_tmp, -5)
2808 data_tmp = full_data(idata)
2809 data_tmp = ishft(data_tmp, 59)
2810 pack_tmp = ior(pack_tmp, data_tmp)
2811 pack_tmp = ishft(pack_tmp, -5)
2813 data_tmp = full_data(idata)
2814 data_tmp = ishft(data_tmp, 59)
2815 pack_tmp = ior(pack_tmp, data_tmp)
2816 pack_tmp = ishft(pack_tmp, -5)
2818 data_tmp = full_data(idata)
2819 data_tmp = ishft(data_tmp, 59)
2820 pack_tmp = ior(pack_tmp, data_tmp)
2821 pack_tmp = ishft(pack_tmp, -5)
2823 data_tmp = full_data(idata)
2824 data_tmp = ishft(data_tmp, 59)
2825 pack_tmp = ior(pack_tmp, data_tmp)
2826 pack_tmp = ishft(pack_tmp, -5)
2828 data_tmp = full_data(idata)
2829 data_tmp = ishft(data_tmp, 59)
2830 pack_tmp = ior(pack_tmp, data_tmp)
2831 pack_tmp = ishft(pack_tmp, -5)
2833 data_tmp = full_data(idata)
2834 data_tmp = ishft(data_tmp, 59)
2835 pack_tmp = ior(pack_tmp, data_tmp)
2836 pack_tmp = ishft(pack_tmp, -5)
2838 data_tmp = full_data(idata)
2839 data_tmp = ishft(data_tmp, 59)
2840 pack_tmp = ior(pack_tmp, data_tmp)
2841 pack_tmp = ishft(pack_tmp, -5)
2843 data_tmp = full_data(idata)
2844 data_tmp = ishft(data_tmp, 59)
2845 pack_tmp = ior(pack_tmp, data_tmp)
2846 pack_tmp = ishft(pack_tmp, -5)
2848 data_tmp = full_data(idata)
2849 data_tmp = ishft(data_tmp, 59)
2850 pack_tmp = ior(pack_tmp, data_tmp)
2851 pack_tmp = ishft(pack_tmp, -4)
2853 data_tmp = full_data(idata)
2854 data_tmp = ishft(data_tmp, 59)
2855 data_tmp = iand(data_tmp, mask_left(4))
2856 pack_tmp = ior(pack_tmp, data_tmp)
2858 packed_data(ipack) = pack_tmp
2859 data_tmp = full_data(idata)
2860 pack_tmp = ishft(data_tmp, 63)
2861 pack_tmp = ishft(pack_tmp, -5)
2863 data_tmp = full_data(idata)
2864 data_tmp = ishft(data_tmp, 59)
2865 pack_tmp = ior(pack_tmp, data_tmp)
2866 pack_tmp = ishft(pack_tmp, -5)
2868 data_tmp = full_data(idata)
2869 data_tmp = ishft(data_tmp, 59)
2870 pack_tmp = ior(pack_tmp, data_tmp)
2871 pack_tmp = ishft(pack_tmp, -5)
2873 data_tmp = full_data(idata)
2874 data_tmp = ishft(data_tmp, 59)
2875 pack_tmp = ior(pack_tmp, data_tmp)
2876 pack_tmp = ishft(pack_tmp, -5)
2878 data_tmp = full_data(idata)
2879 data_tmp = ishft(data_tmp, 59)
2880 pack_tmp = ior(pack_tmp, data_tmp)
2881 pack_tmp = ishft(pack_tmp, -5)
2883 data_tmp = full_data(idata)
2884 data_tmp = ishft(data_tmp, 59)
2885 pack_tmp = ior(pack_tmp, data_tmp)
2886 pack_tmp = ishft(pack_tmp, -5)
2888 data_tmp = full_data(idata)
2889 data_tmp = ishft(data_tmp, 59)
2890 pack_tmp = ior(pack_tmp, data_tmp)
2891 pack_tmp = ishft(pack_tmp, -5)
2893 data_tmp = full_data(idata)
2894 data_tmp = ishft(data_tmp, 59)
2895 pack_tmp = ior(pack_tmp, data_tmp)
2896 pack_tmp = ishft(pack_tmp, -5)
2898 data_tmp = full_data(idata)
2899 data_tmp = ishft(data_tmp, 59)
2900 pack_tmp = ior(pack_tmp, data_tmp)
2901 pack_tmp = ishft(pack_tmp, -5)
2903 data_tmp = full_data(idata)
2904 data_tmp = ishft(data_tmp, 59)
2905 pack_tmp = ior(pack_tmp, data_tmp)
2906 pack_tmp = ishft(pack_tmp, -5)
2908 data_tmp = full_data(idata)
2909 data_tmp = ishft(data_tmp, 59)
2910 pack_tmp = ior(pack_tmp, data_tmp)
2911 pack_tmp = ishft(pack_tmp, -5)
2913 data_tmp = full_data(idata)
2914 data_tmp = ishft(data_tmp, 59)
2915 pack_tmp = ior(pack_tmp, data_tmp)
2916 pack_tmp = ishft(pack_tmp, -5)
2918 data_tmp = full_data(idata)
2919 data_tmp = ishft(data_tmp, 59)
2920 pack_tmp = ior(pack_tmp, data_tmp)
2921 pack_tmp = ishft(pack_tmp, -3)
2923 data_tmp = full_data(idata)
2924 data_tmp = ishft(data_tmp, 59)
2925 data_tmp = iand(data_tmp, mask_left(3))
2926 pack_tmp = ior(pack_tmp, data_tmp)
2928 packed_data(ipack) = pack_tmp
2929 data_tmp = full_data(idata)
2930 pack_tmp = ishft(data_tmp, 62)
2931 pack_tmp = ishft(pack_tmp, -5)
2933 data_tmp = full_data(idata)
2934 data_tmp = ishft(data_tmp, 59)
2935 pack_tmp = ior(pack_tmp, data_tmp)
2936 pack_tmp = ishft(pack_tmp, -5)
2938 data_tmp = full_data(idata)
2939 data_tmp = ishft(data_tmp, 59)
2940 pack_tmp = ior(pack_tmp, data_tmp)
2941 pack_tmp = ishft(pack_tmp, -5)
2943 data_tmp = full_data(idata)
2944 data_tmp = ishft(data_tmp, 59)
2945 pack_tmp = ior(pack_tmp, data_tmp)
2946 pack_tmp = ishft(pack_tmp, -5)
2948 data_tmp = full_data(idata)
2949 data_tmp = ishft(data_tmp, 59)
2950 pack_tmp = ior(pack_tmp, data_tmp)
2951 pack_tmp = ishft(pack_tmp, -5)
2953 data_tmp = full_data(idata)
2954 data_tmp = ishft(data_tmp, 59)
2955 pack_tmp = ior(pack_tmp, data_tmp)
2956 pack_tmp = ishft(pack_tmp, -5)
2958 data_tmp = full_data(idata)
2959 data_tmp = ishft(data_tmp, 59)
2960 pack_tmp = ior(pack_tmp, data_tmp)
2961 pack_tmp = ishft(pack_tmp, -5)
2963 data_tmp = full_data(idata)
2964 data_tmp = ishft(data_tmp, 59)
2965 pack_tmp = ior(pack_tmp, data_tmp)
2966 pack_tmp = ishft(pack_tmp, -5)
2968 data_tmp = full_data(idata)
2969 data_tmp = ishft(data_tmp, 59)
2970 pack_tmp = ior(pack_tmp, data_tmp)
2971 pack_tmp = ishft(pack_tmp, -5)
2973 data_tmp = full_data(idata)
2974 data_tmp = ishft(data_tmp, 59)
2975 pack_tmp = ior(pack_tmp, data_tmp)
2976 pack_tmp = ishft(pack_tmp, -5)
2978 data_tmp = full_data(idata)
2979 data_tmp = ishft(data_tmp, 59)
2980 pack_tmp = ior(pack_tmp, data_tmp)
2981 pack_tmp = ishft(pack_tmp, -5)
2983 data_tmp = full_data(idata)
2984 data_tmp = ishft(data_tmp, 59)
2985 pack_tmp = ior(pack_tmp, data_tmp)
2986 pack_tmp = ishft(pack_tmp, -5)
2988 data_tmp = full_data(idata)
2989 data_tmp = ishft(data_tmp, 59)
2990 pack_tmp = ior(pack_tmp, data_tmp)
2991 pack_tmp = ishft(pack_tmp, -2)
2993 data_tmp = full_data(idata)
2994 data_tmp = ishft(data_tmp, 59)
2995 data_tmp = iand(data_tmp, mask_left(2))
2996 pack_tmp = ior(pack_tmp, data_tmp)
2998 packed_data(ipack) = pack_tmp
2999 data_tmp = full_data(idata)
3000 pack_tmp = ishft(data_tmp, 61)
3001 pack_tmp = ishft(pack_tmp, -5)
3003 data_tmp = full_data(idata)
3004 data_tmp = ishft(data_tmp, 59)
3005 pack_tmp = ior(pack_tmp, data_tmp)
3006 pack_tmp = ishft(pack_tmp, -5)
3008 data_tmp = full_data(idata)
3009 data_tmp = ishft(data_tmp, 59)
3010 pack_tmp = ior(pack_tmp, data_tmp)
3011 pack_tmp = ishft(pack_tmp, -5)
3013 data_tmp = full_data(idata)
3014 data_tmp = ishft(data_tmp, 59)
3015 pack_tmp = ior(pack_tmp, data_tmp)
3016 pack_tmp = ishft(pack_tmp, -5)
3018 data_tmp = full_data(idata)
3019 data_tmp = ishft(data_tmp, 59)
3020 pack_tmp = ior(pack_tmp, data_tmp)
3021 pack_tmp = ishft(pack_tmp, -5)
3023 data_tmp = full_data(idata)
3024 data_tmp = ishft(data_tmp, 59)
3025 pack_tmp = ior(pack_tmp, data_tmp)
3026 pack_tmp = ishft(pack_tmp, -5)
3028 data_tmp = full_data(idata)
3029 data_tmp = ishft(data_tmp, 59)
3030 pack_tmp = ior(pack_tmp, data_tmp)
3031 pack_tmp = ishft(pack_tmp, -5)
3033 data_tmp = full_data(idata)
3034 data_tmp = ishft(data_tmp, 59)
3035 pack_tmp = ior(pack_tmp, data_tmp)
3036 pack_tmp = ishft(pack_tmp, -5)
3038 data_tmp = full_data(idata)
3039 data_tmp = ishft(data_tmp, 59)
3040 pack_tmp = ior(pack_tmp, data_tmp)
3041 pack_tmp = ishft(pack_tmp, -5)
3043 data_tmp = full_data(idata)
3044 data_tmp = ishft(data_tmp, 59)
3045 pack_tmp = ior(pack_tmp, data_tmp)
3046 pack_tmp = ishft(pack_tmp, -5)
3048 data_tmp = full_data(idata)
3049 data_tmp = ishft(data_tmp, 59)
3050 pack_tmp = ior(pack_tmp, data_tmp)
3051 pack_tmp = ishft(pack_tmp, -5)
3053 data_tmp = full_data(idata)
3054 data_tmp = ishft(data_tmp, 59)
3055 pack_tmp = ior(pack_tmp, data_tmp)
3056 pack_tmp = ishft(pack_tmp, -5)
3058 data_tmp = full_data(idata)
3059 data_tmp = ishft(data_tmp, 59)
3060 pack_tmp = ior(pack_tmp, data_tmp)
3061 pack_tmp = ishft(pack_tmp, -1)
3063 data_tmp = full_data(idata)
3064 data_tmp = ishft(data_tmp, 59)
3065 data_tmp = iand(data_tmp, mask_left(1))
3066 pack_tmp = ior(pack_tmp, data_tmp)
3068 packed_data(ipack) = pack_tmp
3069 data_tmp = full_data(idata)
3070 pack_tmp = ishft(data_tmp, 60)
3071 pack_tmp = ishft(pack_tmp, -5)
3073 data_tmp = full_data(idata)
3074 data_tmp = ishft(data_tmp, 59)
3075 pack_tmp = ior(pack_tmp, data_tmp)
3076 pack_tmp = ishft(pack_tmp, -5)
3078 data_tmp = full_data(idata)
3079 data_tmp = ishft(data_tmp, 59)
3080 pack_tmp = ior(pack_tmp, data_tmp)
3081 pack_tmp = ishft(pack_tmp, -5)
3083 data_tmp = full_data(idata)
3084 data_tmp = ishft(data_tmp, 59)
3085 pack_tmp = ior(pack_tmp, data_tmp)
3086 pack_tmp = ishft(pack_tmp, -5)
3088 data_tmp = full_data(idata)
3089 data_tmp = ishft(data_tmp, 59)
3090 pack_tmp = ior(pack_tmp, data_tmp)
3091 pack_tmp = ishft(pack_tmp, -5)
3093 data_tmp = full_data(idata)
3094 data_tmp = ishft(data_tmp, 59)
3095 pack_tmp = ior(pack_tmp, data_tmp)
3096 pack_tmp = ishft(pack_tmp, -5)
3098 data_tmp = full_data(idata)
3099 data_tmp = ishft(data_tmp, 59)
3100 pack_tmp = ior(pack_tmp, data_tmp)
3101 pack_tmp = ishft(pack_tmp, -5)
3103 data_tmp = full_data(idata)
3104 data_tmp = ishft(data_tmp, 59)
3105 pack_tmp = ior(pack_tmp, data_tmp)
3106 pack_tmp = ishft(pack_tmp, -5)
3108 data_tmp = full_data(idata)
3109 data_tmp = ishft(data_tmp, 59)
3110 pack_tmp = ior(pack_tmp, data_tmp)
3111 pack_tmp = ishft(pack_tmp, -5)
3113 data_tmp = full_data(idata)
3114 data_tmp = ishft(data_tmp, 59)
3115 pack_tmp = ior(pack_tmp, data_tmp)
3116 pack_tmp = ishft(pack_tmp, -5)
3118 data_tmp = full_data(idata)
3119 data_tmp = ishft(data_tmp, 59)
3120 pack_tmp = ior(pack_tmp, data_tmp)
3121 pack_tmp = ishft(pack_tmp, -5)
3123 data_tmp = full_data(idata)
3124 data_tmp = ishft(data_tmp, 59)
3125 pack_tmp = ior(pack_tmp, data_tmp)
3126 pack_tmp = ishft(pack_tmp, -5)
3128 data_tmp = full_data(idata)
3129 data_tmp = ishft(data_tmp, 59)
3130 pack_tmp = ior(pack_tmp, data_tmp)
3131 pack_tmp = ishft(pack_tmp, 0)
3132 pack_tmp = ishft(pack_tmp, 0)
3134 packed_data(ipack) = pack_tmp
3136 IF (ndata_rep < ndata)
THEN
3137 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
3139 END SUBROUTINE ints2bits_5
3147 SUBROUTINE bits2ints_5(Ndata, packed_data, full_data)
3148 INTEGER,
INTENT(IN) :: Ndata
3149 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
3150 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
3152 INTEGER,
PARAMETER :: Nbits = 5
3154 INTEGER :: idata, ipack, kdata, Ndata_rep
3155 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
3160 ndata_rep = (ndata/64)*64
3161 DO kdata = 1, ndata_rep, 64
3163 data_tmp = ishft(pack_tmp, 5)
3165 pack_tmp = packed_data(ipack)
3166 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
3167 pack_tmp = ishft(pack_tmp, -5)
3169 data_tmp = iand(pack_tmp, mask_right(nbits))
3170 full_data(idata) = data_tmp
3171 pack_tmp = ishft(pack_tmp, -nbits)
3173 data_tmp = iand(pack_tmp, mask_right(nbits))
3174 full_data(idata) = data_tmp
3175 pack_tmp = ishft(pack_tmp, -nbits)
3177 data_tmp = iand(pack_tmp, mask_right(nbits))
3178 full_data(idata) = data_tmp
3179 pack_tmp = ishft(pack_tmp, -nbits)
3181 data_tmp = iand(pack_tmp, mask_right(nbits))
3182 full_data(idata) = data_tmp
3183 pack_tmp = ishft(pack_tmp, -nbits)
3185 data_tmp = iand(pack_tmp, mask_right(nbits))
3186 full_data(idata) = data_tmp
3187 pack_tmp = ishft(pack_tmp, -nbits)
3189 data_tmp = iand(pack_tmp, mask_right(nbits))
3190 full_data(idata) = data_tmp
3191 pack_tmp = ishft(pack_tmp, -nbits)
3193 data_tmp = iand(pack_tmp, mask_right(nbits))
3194 full_data(idata) = data_tmp
3195 pack_tmp = ishft(pack_tmp, -nbits)
3197 data_tmp = iand(pack_tmp, mask_right(nbits))
3198 full_data(idata) = data_tmp
3199 pack_tmp = ishft(pack_tmp, -nbits)
3201 data_tmp = iand(pack_tmp, mask_right(nbits))
3202 full_data(idata) = data_tmp
3203 pack_tmp = ishft(pack_tmp, -nbits)
3205 data_tmp = iand(pack_tmp, mask_right(nbits))
3206 full_data(idata) = data_tmp
3207 pack_tmp = ishft(pack_tmp, -nbits)
3209 data_tmp = iand(pack_tmp, mask_right(nbits))
3210 full_data(idata) = data_tmp
3211 pack_tmp = ishft(pack_tmp, -nbits)
3213 data_tmp = ishft(pack_tmp, 1)
3215 pack_tmp = packed_data(ipack)
3216 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
3217 pack_tmp = ishft(pack_tmp, -1)
3219 data_tmp = iand(pack_tmp, mask_right(nbits))
3220 full_data(idata) = data_tmp
3221 pack_tmp = ishft(pack_tmp, -nbits)
3223 data_tmp = iand(pack_tmp, mask_right(nbits))
3224 full_data(idata) = data_tmp
3225 pack_tmp = ishft(pack_tmp, -nbits)
3227 data_tmp = iand(pack_tmp, mask_right(nbits))
3228 full_data(idata) = data_tmp
3229 pack_tmp = ishft(pack_tmp, -nbits)
3231 data_tmp = iand(pack_tmp, mask_right(nbits))
3232 full_data(idata) = data_tmp
3233 pack_tmp = ishft(pack_tmp, -nbits)
3235 data_tmp = iand(pack_tmp, mask_right(nbits))
3236 full_data(idata) = data_tmp
3237 pack_tmp = ishft(pack_tmp, -nbits)
3239 data_tmp = iand(pack_tmp, mask_right(nbits))
3240 full_data(idata) = data_tmp
3241 pack_tmp = ishft(pack_tmp, -nbits)
3243 data_tmp = iand(pack_tmp, mask_right(nbits))
3244 full_data(idata) = data_tmp
3245 pack_tmp = ishft(pack_tmp, -nbits)
3247 data_tmp = iand(pack_tmp, mask_right(nbits))
3248 full_data(idata) = data_tmp
3249 pack_tmp = ishft(pack_tmp, -nbits)
3251 data_tmp = iand(pack_tmp, mask_right(nbits))
3252 full_data(idata) = data_tmp
3253 pack_tmp = ishft(pack_tmp, -nbits)
3255 data_tmp = iand(pack_tmp, mask_right(nbits))
3256 full_data(idata) = data_tmp
3257 pack_tmp = ishft(pack_tmp, -nbits)
3259 data_tmp = iand(pack_tmp, mask_right(nbits))
3260 full_data(idata) = data_tmp
3261 pack_tmp = ishft(pack_tmp, -nbits)
3263 data_tmp = iand(pack_tmp, mask_right(nbits))
3264 full_data(idata) = data_tmp
3265 pack_tmp = ishft(pack_tmp, -nbits)
3267 data_tmp = ishft(pack_tmp, 2)
3269 pack_tmp = packed_data(ipack)
3270 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
3271 pack_tmp = ishft(pack_tmp, -2)
3273 data_tmp = iand(pack_tmp, mask_right(nbits))
3274 full_data(idata) = data_tmp
3275 pack_tmp = ishft(pack_tmp, -nbits)
3277 data_tmp = iand(pack_tmp, mask_right(nbits))
3278 full_data(idata) = data_tmp
3279 pack_tmp = ishft(pack_tmp, -nbits)
3281 data_tmp = iand(pack_tmp, mask_right(nbits))
3282 full_data(idata) = data_tmp
3283 pack_tmp = ishft(pack_tmp, -nbits)
3285 data_tmp = iand(pack_tmp, mask_right(nbits))
3286 full_data(idata) = data_tmp
3287 pack_tmp = ishft(pack_tmp, -nbits)
3289 data_tmp = iand(pack_tmp, mask_right(nbits))
3290 full_data(idata) = data_tmp
3291 pack_tmp = ishft(pack_tmp, -nbits)
3293 data_tmp = iand(pack_tmp, mask_right(nbits))
3294 full_data(idata) = data_tmp
3295 pack_tmp = ishft(pack_tmp, -nbits)
3297 data_tmp = iand(pack_tmp, mask_right(nbits))
3298 full_data(idata) = data_tmp
3299 pack_tmp = ishft(pack_tmp, -nbits)
3301 data_tmp = iand(pack_tmp, mask_right(nbits))
3302 full_data(idata) = data_tmp
3303 pack_tmp = ishft(pack_tmp, -nbits)
3305 data_tmp = iand(pack_tmp, mask_right(nbits))
3306 full_data(idata) = data_tmp
3307 pack_tmp = ishft(pack_tmp, -nbits)
3309 data_tmp = iand(pack_tmp, mask_right(nbits))
3310 full_data(idata) = data_tmp
3311 pack_tmp = ishft(pack_tmp, -nbits)
3313 data_tmp = iand(pack_tmp, mask_right(nbits))
3314 full_data(idata) = data_tmp
3315 pack_tmp = ishft(pack_tmp, -nbits)
3317 data_tmp = iand(pack_tmp, mask_right(nbits))
3318 full_data(idata) = data_tmp
3319 pack_tmp = ishft(pack_tmp, -nbits)
3321 data_tmp = ishft(pack_tmp, 3)
3323 pack_tmp = packed_data(ipack)
3324 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
3325 pack_tmp = ishft(pack_tmp, -3)
3327 data_tmp = iand(pack_tmp, mask_right(nbits))
3328 full_data(idata) = data_tmp
3329 pack_tmp = ishft(pack_tmp, -nbits)
3331 data_tmp = iand(pack_tmp, mask_right(nbits))
3332 full_data(idata) = data_tmp
3333 pack_tmp = ishft(pack_tmp, -nbits)
3335 data_tmp = iand(pack_tmp, mask_right(nbits))
3336 full_data(idata) = data_tmp
3337 pack_tmp = ishft(pack_tmp, -nbits)
3339 data_tmp = iand(pack_tmp, mask_right(nbits))
3340 full_data(idata) = data_tmp
3341 pack_tmp = ishft(pack_tmp, -nbits)
3343 data_tmp = iand(pack_tmp, mask_right(nbits))
3344 full_data(idata) = data_tmp
3345 pack_tmp = ishft(pack_tmp, -nbits)
3347 data_tmp = iand(pack_tmp, mask_right(nbits))
3348 full_data(idata) = data_tmp
3349 pack_tmp = ishft(pack_tmp, -nbits)
3351 data_tmp = iand(pack_tmp, mask_right(nbits))
3352 full_data(idata) = data_tmp
3353 pack_tmp = ishft(pack_tmp, -nbits)
3355 data_tmp = iand(pack_tmp, mask_right(nbits))
3356 full_data(idata) = data_tmp
3357 pack_tmp = ishft(pack_tmp, -nbits)
3359 data_tmp = iand(pack_tmp, mask_right(nbits))
3360 full_data(idata) = data_tmp
3361 pack_tmp = ishft(pack_tmp, -nbits)
3363 data_tmp = iand(pack_tmp, mask_right(nbits))
3364 full_data(idata) = data_tmp
3365 pack_tmp = ishft(pack_tmp, -nbits)
3367 data_tmp = iand(pack_tmp, mask_right(nbits))
3368 full_data(idata) = data_tmp
3369 pack_tmp = ishft(pack_tmp, -nbits)
3371 data_tmp = iand(pack_tmp, mask_right(nbits))
3372 full_data(idata) = data_tmp
3373 pack_tmp = ishft(pack_tmp, -nbits)
3375 data_tmp = ishft(pack_tmp, 4)
3377 pack_tmp = packed_data(ipack)
3378 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
3379 pack_tmp = ishft(pack_tmp, -4)
3381 data_tmp = iand(pack_tmp, mask_right(nbits))
3382 full_data(idata) = data_tmp
3383 pack_tmp = ishft(pack_tmp, -nbits)
3385 data_tmp = iand(pack_tmp, mask_right(nbits))
3386 full_data(idata) = data_tmp
3387 pack_tmp = ishft(pack_tmp, -nbits)
3389 data_tmp = iand(pack_tmp, mask_right(nbits))
3390 full_data(idata) = data_tmp
3391 pack_tmp = ishft(pack_tmp, -nbits)
3393 data_tmp = iand(pack_tmp, mask_right(nbits))
3394 full_data(idata) = data_tmp
3395 pack_tmp = ishft(pack_tmp, -nbits)
3397 data_tmp = iand(pack_tmp, mask_right(nbits))
3398 full_data(idata) = data_tmp
3399 pack_tmp = ishft(pack_tmp, -nbits)
3401 data_tmp = iand(pack_tmp, mask_right(nbits))
3402 full_data(idata) = data_tmp
3403 pack_tmp = ishft(pack_tmp, -nbits)
3405 data_tmp = iand(pack_tmp, mask_right(nbits))
3406 full_data(idata) = data_tmp
3407 pack_tmp = ishft(pack_tmp, -nbits)
3409 data_tmp = iand(pack_tmp, mask_right(nbits))
3410 full_data(idata) = data_tmp
3411 pack_tmp = ishft(pack_tmp, -nbits)
3413 data_tmp = iand(pack_tmp, mask_right(nbits))
3414 full_data(idata) = data_tmp
3415 pack_tmp = ishft(pack_tmp, -nbits)
3417 data_tmp = iand(pack_tmp, mask_right(nbits))
3418 full_data(idata) = data_tmp
3419 pack_tmp = ishft(pack_tmp, -nbits)
3421 data_tmp = iand(pack_tmp, mask_right(nbits))
3422 full_data(idata) = data_tmp
3423 pack_tmp = ishft(pack_tmp, -nbits)
3425 data_tmp = iand(pack_tmp, mask_right(nbits))
3426 full_data(idata) = data_tmp
3427 pack_tmp = ishft(pack_tmp, -nbits)
3429 IF (ndata_rep < ndata)
THEN
3430 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
3432 END SUBROUTINE bits2ints_5
3440 SUBROUTINE ints2bits_6(Ndata, packed_data, full_data)
3441 INTEGER,
INTENT(IN) :: Ndata
3442 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
3443 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
3445 INTEGER,
PARAMETER :: Nbits = 6
3447 INTEGER :: idata, ipack, kdata, Ndata_rep
3448 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
3452 ndata_rep = (ndata/64)*64
3453 DO kdata = 1, ndata_rep, 64
3456 data_tmp = full_data(idata)
3457 data_tmp = ishft(data_tmp, 58)
3458 pack_tmp = ior(pack_tmp, data_tmp)
3459 pack_tmp = ishft(pack_tmp, -6)
3461 data_tmp = full_data(idata)
3462 data_tmp = ishft(data_tmp, 58)
3463 pack_tmp = ior(pack_tmp, data_tmp)
3464 pack_tmp = ishft(pack_tmp, -6)
3466 data_tmp = full_data(idata)
3467 data_tmp = ishft(data_tmp, 58)
3468 pack_tmp = ior(pack_tmp, data_tmp)
3469 pack_tmp = ishft(pack_tmp, -6)
3471 data_tmp = full_data(idata)
3472 data_tmp = ishft(data_tmp, 58)
3473 pack_tmp = ior(pack_tmp, data_tmp)
3474 pack_tmp = ishft(pack_tmp, -6)
3476 data_tmp = full_data(idata)
3477 data_tmp = ishft(data_tmp, 58)
3478 pack_tmp = ior(pack_tmp, data_tmp)
3479 pack_tmp = ishft(pack_tmp, -6)
3481 data_tmp = full_data(idata)
3482 data_tmp = ishft(data_tmp, 58)
3483 pack_tmp = ior(pack_tmp, data_tmp)
3484 pack_tmp = ishft(pack_tmp, -6)
3486 data_tmp = full_data(idata)
3487 data_tmp = ishft(data_tmp, 58)
3488 pack_tmp = ior(pack_tmp, data_tmp)
3489 pack_tmp = ishft(pack_tmp, -6)
3491 data_tmp = full_data(idata)
3492 data_tmp = ishft(data_tmp, 58)
3493 pack_tmp = ior(pack_tmp, data_tmp)
3494 pack_tmp = ishft(pack_tmp, -6)
3496 data_tmp = full_data(idata)
3497 data_tmp = ishft(data_tmp, 58)
3498 pack_tmp = ior(pack_tmp, data_tmp)
3499 pack_tmp = ishft(pack_tmp, -6)
3501 data_tmp = full_data(idata)
3502 data_tmp = ishft(data_tmp, 58)
3503 pack_tmp = ior(pack_tmp, data_tmp)
3504 pack_tmp = ishft(pack_tmp, -4)
3506 data_tmp = full_data(idata)
3507 data_tmp = ishft(data_tmp, 58)
3508 data_tmp = iand(data_tmp, mask_left(4))
3509 pack_tmp = ior(pack_tmp, data_tmp)
3511 packed_data(ipack) = pack_tmp
3512 data_tmp = full_data(idata)
3513 pack_tmp = ishft(data_tmp, 62)
3514 pack_tmp = ishft(pack_tmp, -6)
3516 data_tmp = full_data(idata)
3517 data_tmp = ishft(data_tmp, 58)
3518 pack_tmp = ior(pack_tmp, data_tmp)
3519 pack_tmp = ishft(pack_tmp, -6)
3521 data_tmp = full_data(idata)
3522 data_tmp = ishft(data_tmp, 58)
3523 pack_tmp = ior(pack_tmp, data_tmp)
3524 pack_tmp = ishft(pack_tmp, -6)
3526 data_tmp = full_data(idata)
3527 data_tmp = ishft(data_tmp, 58)
3528 pack_tmp = ior(pack_tmp, data_tmp)
3529 pack_tmp = ishft(pack_tmp, -6)
3531 data_tmp = full_data(idata)
3532 data_tmp = ishft(data_tmp, 58)
3533 pack_tmp = ior(pack_tmp, data_tmp)
3534 pack_tmp = ishft(pack_tmp, -6)
3536 data_tmp = full_data(idata)
3537 data_tmp = ishft(data_tmp, 58)
3538 pack_tmp = ior(pack_tmp, data_tmp)
3539 pack_tmp = ishft(pack_tmp, -6)
3541 data_tmp = full_data(idata)
3542 data_tmp = ishft(data_tmp, 58)
3543 pack_tmp = ior(pack_tmp, data_tmp)
3544 pack_tmp = ishft(pack_tmp, -6)
3546 data_tmp = full_data(idata)
3547 data_tmp = ishft(data_tmp, 58)
3548 pack_tmp = ior(pack_tmp, data_tmp)
3549 pack_tmp = ishft(pack_tmp, -6)
3551 data_tmp = full_data(idata)
3552 data_tmp = ishft(data_tmp, 58)
3553 pack_tmp = ior(pack_tmp, data_tmp)
3554 pack_tmp = ishft(pack_tmp, -6)
3556 data_tmp = full_data(idata)
3557 data_tmp = ishft(data_tmp, 58)
3558 pack_tmp = ior(pack_tmp, data_tmp)
3559 pack_tmp = ishft(pack_tmp, -6)
3561 data_tmp = full_data(idata)
3562 data_tmp = ishft(data_tmp, 58)
3563 pack_tmp = ior(pack_tmp, data_tmp)
3564 pack_tmp = ishft(pack_tmp, -2)
3566 data_tmp = full_data(idata)
3567 data_tmp = ishft(data_tmp, 58)
3568 data_tmp = iand(data_tmp, mask_left(2))
3569 pack_tmp = ior(pack_tmp, data_tmp)
3571 packed_data(ipack) = pack_tmp
3572 data_tmp = full_data(idata)
3573 pack_tmp = ishft(data_tmp, 60)
3574 pack_tmp = ishft(pack_tmp, -6)
3576 data_tmp = full_data(idata)
3577 data_tmp = ishft(data_tmp, 58)
3578 pack_tmp = ior(pack_tmp, data_tmp)
3579 pack_tmp = ishft(pack_tmp, -6)
3581 data_tmp = full_data(idata)
3582 data_tmp = ishft(data_tmp, 58)
3583 pack_tmp = ior(pack_tmp, data_tmp)
3584 pack_tmp = ishft(pack_tmp, -6)
3586 data_tmp = full_data(idata)
3587 data_tmp = ishft(data_tmp, 58)
3588 pack_tmp = ior(pack_tmp, data_tmp)
3589 pack_tmp = ishft(pack_tmp, -6)
3591 data_tmp = full_data(idata)
3592 data_tmp = ishft(data_tmp, 58)
3593 pack_tmp = ior(pack_tmp, data_tmp)
3594 pack_tmp = ishft(pack_tmp, -6)
3596 data_tmp = full_data(idata)
3597 data_tmp = ishft(data_tmp, 58)
3598 pack_tmp = ior(pack_tmp, data_tmp)
3599 pack_tmp = ishft(pack_tmp, -6)
3601 data_tmp = full_data(idata)
3602 data_tmp = ishft(data_tmp, 58)
3603 pack_tmp = ior(pack_tmp, data_tmp)
3604 pack_tmp = ishft(pack_tmp, -6)
3606 data_tmp = full_data(idata)
3607 data_tmp = ishft(data_tmp, 58)
3608 pack_tmp = ior(pack_tmp, data_tmp)
3609 pack_tmp = ishft(pack_tmp, -6)
3611 data_tmp = full_data(idata)
3612 data_tmp = ishft(data_tmp, 58)
3613 pack_tmp = ior(pack_tmp, data_tmp)
3614 pack_tmp = ishft(pack_tmp, -6)
3616 data_tmp = full_data(idata)
3617 data_tmp = ishft(data_tmp, 58)
3618 pack_tmp = ior(pack_tmp, data_tmp)
3619 pack_tmp = ishft(pack_tmp, -6)
3621 data_tmp = full_data(idata)
3622 data_tmp = ishft(data_tmp, 58)
3623 pack_tmp = ior(pack_tmp, data_tmp)
3624 pack_tmp = ishft(pack_tmp, 0)
3626 data_tmp = full_data(idata)
3627 data_tmp = ishft(data_tmp, 58)
3628 data_tmp = iand(data_tmp, mask_left(0))
3629 pack_tmp = ior(pack_tmp, data_tmp)
3631 packed_data(ipack) = pack_tmp
3632 data_tmp = full_data(idata)
3633 pack_tmp = ishft(data_tmp, 58)
3634 pack_tmp = ishft(pack_tmp, -6)
3636 data_tmp = full_data(idata)
3637 data_tmp = ishft(data_tmp, 58)
3638 pack_tmp = ior(pack_tmp, data_tmp)
3639 pack_tmp = ishft(pack_tmp, -6)
3641 data_tmp = full_data(idata)
3642 data_tmp = ishft(data_tmp, 58)
3643 pack_tmp = ior(pack_tmp, data_tmp)
3644 pack_tmp = ishft(pack_tmp, -6)
3646 data_tmp = full_data(idata)
3647 data_tmp = ishft(data_tmp, 58)
3648 pack_tmp = ior(pack_tmp, data_tmp)
3649 pack_tmp = ishft(pack_tmp, -6)
3651 data_tmp = full_data(idata)
3652 data_tmp = ishft(data_tmp, 58)
3653 pack_tmp = ior(pack_tmp, data_tmp)
3654 pack_tmp = ishft(pack_tmp, -6)
3656 data_tmp = full_data(idata)
3657 data_tmp = ishft(data_tmp, 58)
3658 pack_tmp = ior(pack_tmp, data_tmp)
3659 pack_tmp = ishft(pack_tmp, -6)
3661 data_tmp = full_data(idata)
3662 data_tmp = ishft(data_tmp, 58)
3663 pack_tmp = ior(pack_tmp, data_tmp)
3664 pack_tmp = ishft(pack_tmp, -6)
3666 data_tmp = full_data(idata)
3667 data_tmp = ishft(data_tmp, 58)
3668 pack_tmp = ior(pack_tmp, data_tmp)
3669 pack_tmp = ishft(pack_tmp, -6)
3671 data_tmp = full_data(idata)
3672 data_tmp = ishft(data_tmp, 58)
3673 pack_tmp = ior(pack_tmp, data_tmp)
3674 pack_tmp = ishft(pack_tmp, -6)
3676 data_tmp = full_data(idata)
3677 data_tmp = ishft(data_tmp, 58)
3678 pack_tmp = ior(pack_tmp, data_tmp)
3679 pack_tmp = ishft(pack_tmp, -4)
3681 data_tmp = full_data(idata)
3682 data_tmp = ishft(data_tmp, 58)
3683 data_tmp = iand(data_tmp, mask_left(4))
3684 pack_tmp = ior(pack_tmp, data_tmp)
3686 packed_data(ipack) = pack_tmp
3687 data_tmp = full_data(idata)
3688 pack_tmp = ishft(data_tmp, 62)
3689 pack_tmp = ishft(pack_tmp, -6)
3691 data_tmp = full_data(idata)
3692 data_tmp = ishft(data_tmp, 58)
3693 pack_tmp = ior(pack_tmp, data_tmp)
3694 pack_tmp = ishft(pack_tmp, -6)
3696 data_tmp = full_data(idata)
3697 data_tmp = ishft(data_tmp, 58)
3698 pack_tmp = ior(pack_tmp, data_tmp)
3699 pack_tmp = ishft(pack_tmp, -6)
3701 data_tmp = full_data(idata)
3702 data_tmp = ishft(data_tmp, 58)
3703 pack_tmp = ior(pack_tmp, data_tmp)
3704 pack_tmp = ishft(pack_tmp, -6)
3706 data_tmp = full_data(idata)
3707 data_tmp = ishft(data_tmp, 58)
3708 pack_tmp = ior(pack_tmp, data_tmp)
3709 pack_tmp = ishft(pack_tmp, -6)
3711 data_tmp = full_data(idata)
3712 data_tmp = ishft(data_tmp, 58)
3713 pack_tmp = ior(pack_tmp, data_tmp)
3714 pack_tmp = ishft(pack_tmp, -6)
3716 data_tmp = full_data(idata)
3717 data_tmp = ishft(data_tmp, 58)
3718 pack_tmp = ior(pack_tmp, data_tmp)
3719 pack_tmp = ishft(pack_tmp, -6)
3721 data_tmp = full_data(idata)
3722 data_tmp = ishft(data_tmp, 58)
3723 pack_tmp = ior(pack_tmp, data_tmp)
3724 pack_tmp = ishft(pack_tmp, -6)
3726 data_tmp = full_data(idata)
3727 data_tmp = ishft(data_tmp, 58)
3728 pack_tmp = ior(pack_tmp, data_tmp)
3729 pack_tmp = ishft(pack_tmp, -6)
3731 data_tmp = full_data(idata)
3732 data_tmp = ishft(data_tmp, 58)
3733 pack_tmp = ior(pack_tmp, data_tmp)
3734 pack_tmp = ishft(pack_tmp, -6)
3736 data_tmp = full_data(idata)
3737 data_tmp = ishft(data_tmp, 58)
3738 pack_tmp = ior(pack_tmp, data_tmp)
3739 pack_tmp = ishft(pack_tmp, -2)
3741 data_tmp = full_data(idata)
3742 data_tmp = ishft(data_tmp, 58)
3743 data_tmp = iand(data_tmp, mask_left(2))
3744 pack_tmp = ior(pack_tmp, data_tmp)
3746 packed_data(ipack) = pack_tmp
3747 data_tmp = full_data(idata)
3748 pack_tmp = ishft(data_tmp, 60)
3749 pack_tmp = ishft(pack_tmp, -6)
3751 data_tmp = full_data(idata)
3752 data_tmp = ishft(data_tmp, 58)
3753 pack_tmp = ior(pack_tmp, data_tmp)
3754 pack_tmp = ishft(pack_tmp, -6)
3756 data_tmp = full_data(idata)
3757 data_tmp = ishft(data_tmp, 58)
3758 pack_tmp = ior(pack_tmp, data_tmp)
3759 pack_tmp = ishft(pack_tmp, -6)
3761 data_tmp = full_data(idata)
3762 data_tmp = ishft(data_tmp, 58)
3763 pack_tmp = ior(pack_tmp, data_tmp)
3764 pack_tmp = ishft(pack_tmp, -6)
3766 data_tmp = full_data(idata)
3767 data_tmp = ishft(data_tmp, 58)
3768 pack_tmp = ior(pack_tmp, data_tmp)
3769 pack_tmp = ishft(pack_tmp, -6)
3771 data_tmp = full_data(idata)
3772 data_tmp = ishft(data_tmp, 58)
3773 pack_tmp = ior(pack_tmp, data_tmp)
3774 pack_tmp = ishft(pack_tmp, -6)
3776 data_tmp = full_data(idata)
3777 data_tmp = ishft(data_tmp, 58)
3778 pack_tmp = ior(pack_tmp, data_tmp)
3779 pack_tmp = ishft(pack_tmp, -6)
3781 data_tmp = full_data(idata)
3782 data_tmp = ishft(data_tmp, 58)
3783 pack_tmp = ior(pack_tmp, data_tmp)
3784 pack_tmp = ishft(pack_tmp, -6)
3786 data_tmp = full_data(idata)
3787 data_tmp = ishft(data_tmp, 58)
3788 pack_tmp = ior(pack_tmp, data_tmp)
3789 pack_tmp = ishft(pack_tmp, -6)
3791 data_tmp = full_data(idata)
3792 data_tmp = ishft(data_tmp, 58)
3793 pack_tmp = ior(pack_tmp, data_tmp)
3794 pack_tmp = ishft(pack_tmp, -6)
3796 data_tmp = full_data(idata)
3797 data_tmp = ishft(data_tmp, 58)
3798 pack_tmp = ior(pack_tmp, data_tmp)
3799 pack_tmp = ishft(pack_tmp, 0)
3800 pack_tmp = ishft(pack_tmp, 0)
3802 packed_data(ipack) = pack_tmp
3804 IF (ndata_rep < ndata)
THEN
3805 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
3807 END SUBROUTINE ints2bits_6
3815 SUBROUTINE bits2ints_6(Ndata, packed_data, full_data)
3816 INTEGER,
INTENT(IN) :: Ndata
3817 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
3818 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
3820 INTEGER,
PARAMETER :: Nbits = 6
3822 INTEGER :: idata, ipack, kdata, Ndata_rep
3823 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
3828 ndata_rep = (ndata/64)*64
3829 DO kdata = 1, ndata_rep, 64
3831 data_tmp = ishft(pack_tmp, 6)
3833 pack_tmp = packed_data(ipack)
3834 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
3835 pack_tmp = ishft(pack_tmp, -6)
3837 data_tmp = iand(pack_tmp, mask_right(nbits))
3838 full_data(idata) = data_tmp
3839 pack_tmp = ishft(pack_tmp, -nbits)
3841 data_tmp = iand(pack_tmp, mask_right(nbits))
3842 full_data(idata) = data_tmp
3843 pack_tmp = ishft(pack_tmp, -nbits)
3845 data_tmp = iand(pack_tmp, mask_right(nbits))
3846 full_data(idata) = data_tmp
3847 pack_tmp = ishft(pack_tmp, -nbits)
3849 data_tmp = iand(pack_tmp, mask_right(nbits))
3850 full_data(idata) = data_tmp
3851 pack_tmp = ishft(pack_tmp, -nbits)
3853 data_tmp = iand(pack_tmp, mask_right(nbits))
3854 full_data(idata) = data_tmp
3855 pack_tmp = ishft(pack_tmp, -nbits)
3857 data_tmp = iand(pack_tmp, mask_right(nbits))
3858 full_data(idata) = data_tmp
3859 pack_tmp = ishft(pack_tmp, -nbits)
3861 data_tmp = iand(pack_tmp, mask_right(nbits))
3862 full_data(idata) = data_tmp
3863 pack_tmp = ishft(pack_tmp, -nbits)
3865 data_tmp = iand(pack_tmp, mask_right(nbits))
3866 full_data(idata) = data_tmp
3867 pack_tmp = ishft(pack_tmp, -nbits)
3869 data_tmp = iand(pack_tmp, mask_right(nbits))
3870 full_data(idata) = data_tmp
3871 pack_tmp = ishft(pack_tmp, -nbits)
3873 data_tmp = ishft(pack_tmp, 2)
3875 pack_tmp = packed_data(ipack)
3876 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
3877 pack_tmp = ishft(pack_tmp, -2)
3879 data_tmp = iand(pack_tmp, mask_right(nbits))
3880 full_data(idata) = data_tmp
3881 pack_tmp = ishft(pack_tmp, -nbits)
3883 data_tmp = iand(pack_tmp, mask_right(nbits))
3884 full_data(idata) = data_tmp
3885 pack_tmp = ishft(pack_tmp, -nbits)
3887 data_tmp = iand(pack_tmp, mask_right(nbits))
3888 full_data(idata) = data_tmp
3889 pack_tmp = ishft(pack_tmp, -nbits)
3891 data_tmp = iand(pack_tmp, mask_right(nbits))
3892 full_data(idata) = data_tmp
3893 pack_tmp = ishft(pack_tmp, -nbits)
3895 data_tmp = iand(pack_tmp, mask_right(nbits))
3896 full_data(idata) = data_tmp
3897 pack_tmp = ishft(pack_tmp, -nbits)
3899 data_tmp = iand(pack_tmp, mask_right(nbits))
3900 full_data(idata) = data_tmp
3901 pack_tmp = ishft(pack_tmp, -nbits)
3903 data_tmp = iand(pack_tmp, mask_right(nbits))
3904 full_data(idata) = data_tmp
3905 pack_tmp = ishft(pack_tmp, -nbits)
3907 data_tmp = iand(pack_tmp, mask_right(nbits))
3908 full_data(idata) = data_tmp
3909 pack_tmp = ishft(pack_tmp, -nbits)
3911 data_tmp = iand(pack_tmp, mask_right(nbits))
3912 full_data(idata) = data_tmp
3913 pack_tmp = ishft(pack_tmp, -nbits)
3915 data_tmp = iand(pack_tmp, mask_right(nbits))
3916 full_data(idata) = data_tmp
3917 pack_tmp = ishft(pack_tmp, -nbits)
3919 data_tmp = ishft(pack_tmp, 4)
3921 pack_tmp = packed_data(ipack)
3922 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
3923 pack_tmp = ishft(pack_tmp, -4)
3925 data_tmp = iand(pack_tmp, mask_right(nbits))
3926 full_data(idata) = data_tmp
3927 pack_tmp = ishft(pack_tmp, -nbits)
3929 data_tmp = iand(pack_tmp, mask_right(nbits))
3930 full_data(idata) = data_tmp
3931 pack_tmp = ishft(pack_tmp, -nbits)
3933 data_tmp = iand(pack_tmp, mask_right(nbits))
3934 full_data(idata) = data_tmp
3935 pack_tmp = ishft(pack_tmp, -nbits)
3937 data_tmp = iand(pack_tmp, mask_right(nbits))
3938 full_data(idata) = data_tmp
3939 pack_tmp = ishft(pack_tmp, -nbits)
3941 data_tmp = iand(pack_tmp, mask_right(nbits))
3942 full_data(idata) = data_tmp
3943 pack_tmp = ishft(pack_tmp, -nbits)
3945 data_tmp = iand(pack_tmp, mask_right(nbits))
3946 full_data(idata) = data_tmp
3947 pack_tmp = ishft(pack_tmp, -nbits)
3949 data_tmp = iand(pack_tmp, mask_right(nbits))
3950 full_data(idata) = data_tmp
3951 pack_tmp = ishft(pack_tmp, -nbits)
3953 data_tmp = iand(pack_tmp, mask_right(nbits))
3954 full_data(idata) = data_tmp
3955 pack_tmp = ishft(pack_tmp, -nbits)
3957 data_tmp = iand(pack_tmp, mask_right(nbits))
3958 full_data(idata) = data_tmp
3959 pack_tmp = ishft(pack_tmp, -nbits)
3961 data_tmp = iand(pack_tmp, mask_right(nbits))
3962 full_data(idata) = data_tmp
3963 pack_tmp = ishft(pack_tmp, -nbits)
3965 data_tmp = ishft(pack_tmp, 6)
3967 pack_tmp = packed_data(ipack)
3968 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
3969 pack_tmp = ishft(pack_tmp, -6)
3971 data_tmp = iand(pack_tmp, mask_right(nbits))
3972 full_data(idata) = data_tmp
3973 pack_tmp = ishft(pack_tmp, -nbits)
3975 data_tmp = iand(pack_tmp, mask_right(nbits))
3976 full_data(idata) = data_tmp
3977 pack_tmp = ishft(pack_tmp, -nbits)
3979 data_tmp = iand(pack_tmp, mask_right(nbits))
3980 full_data(idata) = data_tmp
3981 pack_tmp = ishft(pack_tmp, -nbits)
3983 data_tmp = iand(pack_tmp, mask_right(nbits))
3984 full_data(idata) = data_tmp
3985 pack_tmp = ishft(pack_tmp, -nbits)
3987 data_tmp = iand(pack_tmp, mask_right(nbits))
3988 full_data(idata) = data_tmp
3989 pack_tmp = ishft(pack_tmp, -nbits)
3991 data_tmp = iand(pack_tmp, mask_right(nbits))
3992 full_data(idata) = data_tmp
3993 pack_tmp = ishft(pack_tmp, -nbits)
3995 data_tmp = iand(pack_tmp, mask_right(nbits))
3996 full_data(idata) = data_tmp
3997 pack_tmp = ishft(pack_tmp, -nbits)
3999 data_tmp = iand(pack_tmp, mask_right(nbits))
4000 full_data(idata) = data_tmp
4001 pack_tmp = ishft(pack_tmp, -nbits)
4003 data_tmp = iand(pack_tmp, mask_right(nbits))
4004 full_data(idata) = data_tmp
4005 pack_tmp = ishft(pack_tmp, -nbits)
4007 data_tmp = ishft(pack_tmp, 2)
4009 pack_tmp = packed_data(ipack)
4010 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
4011 pack_tmp = ishft(pack_tmp, -2)
4013 data_tmp = iand(pack_tmp, mask_right(nbits))
4014 full_data(idata) = data_tmp
4015 pack_tmp = ishft(pack_tmp, -nbits)
4017 data_tmp = iand(pack_tmp, mask_right(nbits))
4018 full_data(idata) = data_tmp
4019 pack_tmp = ishft(pack_tmp, -nbits)
4021 data_tmp = iand(pack_tmp, mask_right(nbits))
4022 full_data(idata) = data_tmp
4023 pack_tmp = ishft(pack_tmp, -nbits)
4025 data_tmp = iand(pack_tmp, mask_right(nbits))
4026 full_data(idata) = data_tmp
4027 pack_tmp = ishft(pack_tmp, -nbits)
4029 data_tmp = iand(pack_tmp, mask_right(nbits))
4030 full_data(idata) = data_tmp
4031 pack_tmp = ishft(pack_tmp, -nbits)
4033 data_tmp = iand(pack_tmp, mask_right(nbits))
4034 full_data(idata) = data_tmp
4035 pack_tmp = ishft(pack_tmp, -nbits)
4037 data_tmp = iand(pack_tmp, mask_right(nbits))
4038 full_data(idata) = data_tmp
4039 pack_tmp = ishft(pack_tmp, -nbits)
4041 data_tmp = iand(pack_tmp, mask_right(nbits))
4042 full_data(idata) = data_tmp
4043 pack_tmp = ishft(pack_tmp, -nbits)
4045 data_tmp = iand(pack_tmp, mask_right(nbits))
4046 full_data(idata) = data_tmp
4047 pack_tmp = ishft(pack_tmp, -nbits)
4049 data_tmp = iand(pack_tmp, mask_right(nbits))
4050 full_data(idata) = data_tmp
4051 pack_tmp = ishft(pack_tmp, -nbits)
4053 data_tmp = ishft(pack_tmp, 4)
4055 pack_tmp = packed_data(ipack)
4056 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
4057 pack_tmp = ishft(pack_tmp, -4)
4059 data_tmp = iand(pack_tmp, mask_right(nbits))
4060 full_data(idata) = data_tmp
4061 pack_tmp = ishft(pack_tmp, -nbits)
4063 data_tmp = iand(pack_tmp, mask_right(nbits))
4064 full_data(idata) = data_tmp
4065 pack_tmp = ishft(pack_tmp, -nbits)
4067 data_tmp = iand(pack_tmp, mask_right(nbits))
4068 full_data(idata) = data_tmp
4069 pack_tmp = ishft(pack_tmp, -nbits)
4071 data_tmp = iand(pack_tmp, mask_right(nbits))
4072 full_data(idata) = data_tmp
4073 pack_tmp = ishft(pack_tmp, -nbits)
4075 data_tmp = iand(pack_tmp, mask_right(nbits))
4076 full_data(idata) = data_tmp
4077 pack_tmp = ishft(pack_tmp, -nbits)
4079 data_tmp = iand(pack_tmp, mask_right(nbits))
4080 full_data(idata) = data_tmp
4081 pack_tmp = ishft(pack_tmp, -nbits)
4083 data_tmp = iand(pack_tmp, mask_right(nbits))
4084 full_data(idata) = data_tmp
4085 pack_tmp = ishft(pack_tmp, -nbits)
4087 data_tmp = iand(pack_tmp, mask_right(nbits))
4088 full_data(idata) = data_tmp
4089 pack_tmp = ishft(pack_tmp, -nbits)
4091 data_tmp = iand(pack_tmp, mask_right(nbits))
4092 full_data(idata) = data_tmp
4093 pack_tmp = ishft(pack_tmp, -nbits)
4095 data_tmp = iand(pack_tmp, mask_right(nbits))
4096 full_data(idata) = data_tmp
4097 pack_tmp = ishft(pack_tmp, -nbits)
4099 IF (ndata_rep < ndata)
THEN
4100 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
4102 END SUBROUTINE bits2ints_6
4110 SUBROUTINE ints2bits_7(Ndata, packed_data, full_data)
4111 INTEGER,
INTENT(IN) :: Ndata
4112 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
4113 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
4115 INTEGER,
PARAMETER :: Nbits = 7
4117 INTEGER :: idata, ipack, kdata, Ndata_rep
4118 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
4122 ndata_rep = (ndata/64)*64
4123 DO kdata = 1, ndata_rep, 64
4126 data_tmp = full_data(idata)
4127 data_tmp = ishft(data_tmp, 57)
4128 pack_tmp = ior(pack_tmp, data_tmp)
4129 pack_tmp = ishft(pack_tmp, -7)
4131 data_tmp = full_data(idata)
4132 data_tmp = ishft(data_tmp, 57)
4133 pack_tmp = ior(pack_tmp, data_tmp)
4134 pack_tmp = ishft(pack_tmp, -7)
4136 data_tmp = full_data(idata)
4137 data_tmp = ishft(data_tmp, 57)
4138 pack_tmp = ior(pack_tmp, data_tmp)
4139 pack_tmp = ishft(pack_tmp, -7)
4141 data_tmp = full_data(idata)
4142 data_tmp = ishft(data_tmp, 57)
4143 pack_tmp = ior(pack_tmp, data_tmp)
4144 pack_tmp = ishft(pack_tmp, -7)
4146 data_tmp = full_data(idata)
4147 data_tmp = ishft(data_tmp, 57)
4148 pack_tmp = ior(pack_tmp, data_tmp)
4149 pack_tmp = ishft(pack_tmp, -7)
4151 data_tmp = full_data(idata)
4152 data_tmp = ishft(data_tmp, 57)
4153 pack_tmp = ior(pack_tmp, data_tmp)
4154 pack_tmp = ishft(pack_tmp, -7)
4156 data_tmp = full_data(idata)
4157 data_tmp = ishft(data_tmp, 57)
4158 pack_tmp = ior(pack_tmp, data_tmp)
4159 pack_tmp = ishft(pack_tmp, -7)
4161 data_tmp = full_data(idata)
4162 data_tmp = ishft(data_tmp, 57)
4163 pack_tmp = ior(pack_tmp, data_tmp)
4164 pack_tmp = ishft(pack_tmp, -7)
4166 data_tmp = full_data(idata)
4167 data_tmp = ishft(data_tmp, 57)
4168 pack_tmp = ior(pack_tmp, data_tmp)
4169 pack_tmp = ishft(pack_tmp, -1)
4171 data_tmp = full_data(idata)
4172 data_tmp = ishft(data_tmp, 57)
4173 data_tmp = iand(data_tmp, mask_left(1))
4174 pack_tmp = ior(pack_tmp, data_tmp)
4176 packed_data(ipack) = pack_tmp
4177 data_tmp = full_data(idata)
4178 pack_tmp = ishft(data_tmp, 58)
4179 pack_tmp = ishft(pack_tmp, -7)
4181 data_tmp = full_data(idata)
4182 data_tmp = ishft(data_tmp, 57)
4183 pack_tmp = ior(pack_tmp, data_tmp)
4184 pack_tmp = ishft(pack_tmp, -7)
4186 data_tmp = full_data(idata)
4187 data_tmp = ishft(data_tmp, 57)
4188 pack_tmp = ior(pack_tmp, data_tmp)
4189 pack_tmp = ishft(pack_tmp, -7)
4191 data_tmp = full_data(idata)
4192 data_tmp = ishft(data_tmp, 57)
4193 pack_tmp = ior(pack_tmp, data_tmp)
4194 pack_tmp = ishft(pack_tmp, -7)
4196 data_tmp = full_data(idata)
4197 data_tmp = ishft(data_tmp, 57)
4198 pack_tmp = ior(pack_tmp, data_tmp)
4199 pack_tmp = ishft(pack_tmp, -7)
4201 data_tmp = full_data(idata)
4202 data_tmp = ishft(data_tmp, 57)
4203 pack_tmp = ior(pack_tmp, data_tmp)
4204 pack_tmp = ishft(pack_tmp, -7)
4206 data_tmp = full_data(idata)
4207 data_tmp = ishft(data_tmp, 57)
4208 pack_tmp = ior(pack_tmp, data_tmp)
4209 pack_tmp = ishft(pack_tmp, -7)
4211 data_tmp = full_data(idata)
4212 data_tmp = ishft(data_tmp, 57)
4213 pack_tmp = ior(pack_tmp, data_tmp)
4214 pack_tmp = ishft(pack_tmp, -7)
4216 data_tmp = full_data(idata)
4217 data_tmp = ishft(data_tmp, 57)
4218 pack_tmp = ior(pack_tmp, data_tmp)
4219 pack_tmp = ishft(pack_tmp, -2)
4221 data_tmp = full_data(idata)
4222 data_tmp = ishft(data_tmp, 57)
4223 data_tmp = iand(data_tmp, mask_left(2))
4224 pack_tmp = ior(pack_tmp, data_tmp)
4226 packed_data(ipack) = pack_tmp
4227 data_tmp = full_data(idata)
4228 pack_tmp = ishft(data_tmp, 59)
4229 pack_tmp = ishft(pack_tmp, -7)
4231 data_tmp = full_data(idata)
4232 data_tmp = ishft(data_tmp, 57)
4233 pack_tmp = ior(pack_tmp, data_tmp)
4234 pack_tmp = ishft(pack_tmp, -7)
4236 data_tmp = full_data(idata)
4237 data_tmp = ishft(data_tmp, 57)
4238 pack_tmp = ior(pack_tmp, data_tmp)
4239 pack_tmp = ishft(pack_tmp, -7)
4241 data_tmp = full_data(idata)
4242 data_tmp = ishft(data_tmp, 57)
4243 pack_tmp = ior(pack_tmp, data_tmp)
4244 pack_tmp = ishft(pack_tmp, -7)
4246 data_tmp = full_data(idata)
4247 data_tmp = ishft(data_tmp, 57)
4248 pack_tmp = ior(pack_tmp, data_tmp)
4249 pack_tmp = ishft(pack_tmp, -7)
4251 data_tmp = full_data(idata)
4252 data_tmp = ishft(data_tmp, 57)
4253 pack_tmp = ior(pack_tmp, data_tmp)
4254 pack_tmp = ishft(pack_tmp, -7)
4256 data_tmp = full_data(idata)
4257 data_tmp = ishft(data_tmp, 57)
4258 pack_tmp = ior(pack_tmp, data_tmp)
4259 pack_tmp = ishft(pack_tmp, -7)
4261 data_tmp = full_data(idata)
4262 data_tmp = ishft(data_tmp, 57)
4263 pack_tmp = ior(pack_tmp, data_tmp)
4264 pack_tmp = ishft(pack_tmp, -7)
4266 data_tmp = full_data(idata)
4267 data_tmp = ishft(data_tmp, 57)
4268 pack_tmp = ior(pack_tmp, data_tmp)
4269 pack_tmp = ishft(pack_tmp, -3)
4271 data_tmp = full_data(idata)
4272 data_tmp = ishft(data_tmp, 57)
4273 data_tmp = iand(data_tmp, mask_left(3))
4274 pack_tmp = ior(pack_tmp, data_tmp)
4276 packed_data(ipack) = pack_tmp
4277 data_tmp = full_data(idata)
4278 pack_tmp = ishft(data_tmp, 60)
4279 pack_tmp = ishft(pack_tmp, -7)
4281 data_tmp = full_data(idata)
4282 data_tmp = ishft(data_tmp, 57)
4283 pack_tmp = ior(pack_tmp, data_tmp)
4284 pack_tmp = ishft(pack_tmp, -7)
4286 data_tmp = full_data(idata)
4287 data_tmp = ishft(data_tmp, 57)
4288 pack_tmp = ior(pack_tmp, data_tmp)
4289 pack_tmp = ishft(pack_tmp, -7)
4291 data_tmp = full_data(idata)
4292 data_tmp = ishft(data_tmp, 57)
4293 pack_tmp = ior(pack_tmp, data_tmp)
4294 pack_tmp = ishft(pack_tmp, -7)
4296 data_tmp = full_data(idata)
4297 data_tmp = ishft(data_tmp, 57)
4298 pack_tmp = ior(pack_tmp, data_tmp)
4299 pack_tmp = ishft(pack_tmp, -7)
4301 data_tmp = full_data(idata)
4302 data_tmp = ishft(data_tmp, 57)
4303 pack_tmp = ior(pack_tmp, data_tmp)
4304 pack_tmp = ishft(pack_tmp, -7)
4306 data_tmp = full_data(idata)
4307 data_tmp = ishft(data_tmp, 57)
4308 pack_tmp = ior(pack_tmp, data_tmp)
4309 pack_tmp = ishft(pack_tmp, -7)
4311 data_tmp = full_data(idata)
4312 data_tmp = ishft(data_tmp, 57)
4313 pack_tmp = ior(pack_tmp, data_tmp)
4314 pack_tmp = ishft(pack_tmp, -7)
4316 data_tmp = full_data(idata)
4317 data_tmp = ishft(data_tmp, 57)
4318 pack_tmp = ior(pack_tmp, data_tmp)
4319 pack_tmp = ishft(pack_tmp, -4)
4321 data_tmp = full_data(idata)
4322 data_tmp = ishft(data_tmp, 57)
4323 data_tmp = iand(data_tmp, mask_left(4))
4324 pack_tmp = ior(pack_tmp, data_tmp)
4326 packed_data(ipack) = pack_tmp
4327 data_tmp = full_data(idata)
4328 pack_tmp = ishft(data_tmp, 61)
4329 pack_tmp = ishft(pack_tmp, -7)
4331 data_tmp = full_data(idata)
4332 data_tmp = ishft(data_tmp, 57)
4333 pack_tmp = ior(pack_tmp, data_tmp)
4334 pack_tmp = ishft(pack_tmp, -7)
4336 data_tmp = full_data(idata)
4337 data_tmp = ishft(data_tmp, 57)
4338 pack_tmp = ior(pack_tmp, data_tmp)
4339 pack_tmp = ishft(pack_tmp, -7)
4341 data_tmp = full_data(idata)
4342 data_tmp = ishft(data_tmp, 57)
4343 pack_tmp = ior(pack_tmp, data_tmp)
4344 pack_tmp = ishft(pack_tmp, -7)
4346 data_tmp = full_data(idata)
4347 data_tmp = ishft(data_tmp, 57)
4348 pack_tmp = ior(pack_tmp, data_tmp)
4349 pack_tmp = ishft(pack_tmp, -7)
4351 data_tmp = full_data(idata)
4352 data_tmp = ishft(data_tmp, 57)
4353 pack_tmp = ior(pack_tmp, data_tmp)
4354 pack_tmp = ishft(pack_tmp, -7)
4356 data_tmp = full_data(idata)
4357 data_tmp = ishft(data_tmp, 57)
4358 pack_tmp = ior(pack_tmp, data_tmp)
4359 pack_tmp = ishft(pack_tmp, -7)
4361 data_tmp = full_data(idata)
4362 data_tmp = ishft(data_tmp, 57)
4363 pack_tmp = ior(pack_tmp, data_tmp)
4364 pack_tmp = ishft(pack_tmp, -7)
4366 data_tmp = full_data(idata)
4367 data_tmp = ishft(data_tmp, 57)
4368 pack_tmp = ior(pack_tmp, data_tmp)
4369 pack_tmp = ishft(pack_tmp, -5)
4371 data_tmp = full_data(idata)
4372 data_tmp = ishft(data_tmp, 57)
4373 data_tmp = iand(data_tmp, mask_left(5))
4374 pack_tmp = ior(pack_tmp, data_tmp)
4376 packed_data(ipack) = pack_tmp
4377 data_tmp = full_data(idata)
4378 pack_tmp = ishft(data_tmp, 62)
4379 pack_tmp = ishft(pack_tmp, -7)
4381 data_tmp = full_data(idata)
4382 data_tmp = ishft(data_tmp, 57)
4383 pack_tmp = ior(pack_tmp, data_tmp)
4384 pack_tmp = ishft(pack_tmp, -7)
4386 data_tmp = full_data(idata)
4387 data_tmp = ishft(data_tmp, 57)
4388 pack_tmp = ior(pack_tmp, data_tmp)
4389 pack_tmp = ishft(pack_tmp, -7)
4391 data_tmp = full_data(idata)
4392 data_tmp = ishft(data_tmp, 57)
4393 pack_tmp = ior(pack_tmp, data_tmp)
4394 pack_tmp = ishft(pack_tmp, -7)
4396 data_tmp = full_data(idata)
4397 data_tmp = ishft(data_tmp, 57)
4398 pack_tmp = ior(pack_tmp, data_tmp)
4399 pack_tmp = ishft(pack_tmp, -7)
4401 data_tmp = full_data(idata)
4402 data_tmp = ishft(data_tmp, 57)
4403 pack_tmp = ior(pack_tmp, data_tmp)
4404 pack_tmp = ishft(pack_tmp, -7)
4406 data_tmp = full_data(idata)
4407 data_tmp = ishft(data_tmp, 57)
4408 pack_tmp = ior(pack_tmp, data_tmp)
4409 pack_tmp = ishft(pack_tmp, -7)
4411 data_tmp = full_data(idata)
4412 data_tmp = ishft(data_tmp, 57)
4413 pack_tmp = ior(pack_tmp, data_tmp)
4414 pack_tmp = ishft(pack_tmp, -7)
4416 data_tmp = full_data(idata)
4417 data_tmp = ishft(data_tmp, 57)
4418 pack_tmp = ior(pack_tmp, data_tmp)
4419 pack_tmp = ishft(pack_tmp, -6)
4421 data_tmp = full_data(idata)
4422 data_tmp = ishft(data_tmp, 57)
4423 data_tmp = iand(data_tmp, mask_left(6))
4424 pack_tmp = ior(pack_tmp, data_tmp)
4426 packed_data(ipack) = pack_tmp
4427 data_tmp = full_data(idata)
4428 pack_tmp = ishft(data_tmp, 63)
4429 pack_tmp = ishft(pack_tmp, -7)
4431 data_tmp = full_data(idata)
4432 data_tmp = ishft(data_tmp, 57)
4433 pack_tmp = ior(pack_tmp, data_tmp)
4434 pack_tmp = ishft(pack_tmp, -7)
4436 data_tmp = full_data(idata)
4437 data_tmp = ishft(data_tmp, 57)
4438 pack_tmp = ior(pack_tmp, data_tmp)
4439 pack_tmp = ishft(pack_tmp, -7)
4441 data_tmp = full_data(idata)
4442 data_tmp = ishft(data_tmp, 57)
4443 pack_tmp = ior(pack_tmp, data_tmp)
4444 pack_tmp = ishft(pack_tmp, -7)
4446 data_tmp = full_data(idata)
4447 data_tmp = ishft(data_tmp, 57)
4448 pack_tmp = ior(pack_tmp, data_tmp)
4449 pack_tmp = ishft(pack_tmp, -7)
4451 data_tmp = full_data(idata)
4452 data_tmp = ishft(data_tmp, 57)
4453 pack_tmp = ior(pack_tmp, data_tmp)
4454 pack_tmp = ishft(pack_tmp, -7)
4456 data_tmp = full_data(idata)
4457 data_tmp = ishft(data_tmp, 57)
4458 pack_tmp = ior(pack_tmp, data_tmp)
4459 pack_tmp = ishft(pack_tmp, -7)
4461 data_tmp = full_data(idata)
4462 data_tmp = ishft(data_tmp, 57)
4463 pack_tmp = ior(pack_tmp, data_tmp)
4464 pack_tmp = ishft(pack_tmp, -7)
4466 data_tmp = full_data(idata)
4467 data_tmp = ishft(data_tmp, 57)
4468 pack_tmp = ior(pack_tmp, data_tmp)
4469 pack_tmp = ishft(pack_tmp, -7)
4471 data_tmp = full_data(idata)
4472 data_tmp = ishft(data_tmp, 57)
4473 pack_tmp = ior(pack_tmp, data_tmp)
4474 pack_tmp = ishft(pack_tmp, 0)
4475 pack_tmp = ishft(pack_tmp, 0)
4477 packed_data(ipack) = pack_tmp
4479 IF (ndata_rep < ndata)
THEN
4480 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
4482 END SUBROUTINE ints2bits_7
4490 SUBROUTINE bits2ints_7(Ndata, packed_data, full_data)
4491 INTEGER,
INTENT(IN) :: Ndata
4492 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
4493 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
4495 INTEGER,
PARAMETER :: Nbits = 7
4497 INTEGER :: idata, ipack, kdata, Ndata_rep
4498 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
4503 ndata_rep = (ndata/64)*64
4504 DO kdata = 1, ndata_rep, 64
4506 data_tmp = ishft(pack_tmp, 7)
4508 pack_tmp = packed_data(ipack)
4509 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
4510 pack_tmp = ishft(pack_tmp, -7)
4512 data_tmp = iand(pack_tmp, mask_right(nbits))
4513 full_data(idata) = data_tmp
4514 pack_tmp = ishft(pack_tmp, -nbits)
4516 data_tmp = iand(pack_tmp, mask_right(nbits))
4517 full_data(idata) = data_tmp
4518 pack_tmp = ishft(pack_tmp, -nbits)
4520 data_tmp = iand(pack_tmp, mask_right(nbits))
4521 full_data(idata) = data_tmp
4522 pack_tmp = ishft(pack_tmp, -nbits)
4524 data_tmp = iand(pack_tmp, mask_right(nbits))
4525 full_data(idata) = data_tmp
4526 pack_tmp = ishft(pack_tmp, -nbits)
4528 data_tmp = iand(pack_tmp, mask_right(nbits))
4529 full_data(idata) = data_tmp
4530 pack_tmp = ishft(pack_tmp, -nbits)
4532 data_tmp = iand(pack_tmp, mask_right(nbits))
4533 full_data(idata) = data_tmp
4534 pack_tmp = ishft(pack_tmp, -nbits)
4536 data_tmp = iand(pack_tmp, mask_right(nbits))
4537 full_data(idata) = data_tmp
4538 pack_tmp = ishft(pack_tmp, -nbits)
4540 data_tmp = iand(pack_tmp, mask_right(nbits))
4541 full_data(idata) = data_tmp
4542 pack_tmp = ishft(pack_tmp, -nbits)
4544 data_tmp = ishft(pack_tmp, 6)
4546 pack_tmp = packed_data(ipack)
4547 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
4548 pack_tmp = ishft(pack_tmp, -6)
4550 data_tmp = iand(pack_tmp, mask_right(nbits))
4551 full_data(idata) = data_tmp
4552 pack_tmp = ishft(pack_tmp, -nbits)
4554 data_tmp = iand(pack_tmp, mask_right(nbits))
4555 full_data(idata) = data_tmp
4556 pack_tmp = ishft(pack_tmp, -nbits)
4558 data_tmp = iand(pack_tmp, mask_right(nbits))
4559 full_data(idata) = data_tmp
4560 pack_tmp = ishft(pack_tmp, -nbits)
4562 data_tmp = iand(pack_tmp, mask_right(nbits))
4563 full_data(idata) = data_tmp
4564 pack_tmp = ishft(pack_tmp, -nbits)
4566 data_tmp = iand(pack_tmp, mask_right(nbits))
4567 full_data(idata) = data_tmp
4568 pack_tmp = ishft(pack_tmp, -nbits)
4570 data_tmp = iand(pack_tmp, mask_right(nbits))
4571 full_data(idata) = data_tmp
4572 pack_tmp = ishft(pack_tmp, -nbits)
4574 data_tmp = iand(pack_tmp, mask_right(nbits))
4575 full_data(idata) = data_tmp
4576 pack_tmp = ishft(pack_tmp, -nbits)
4578 data_tmp = iand(pack_tmp, mask_right(nbits))
4579 full_data(idata) = data_tmp
4580 pack_tmp = ishft(pack_tmp, -nbits)
4582 data_tmp = ishft(pack_tmp, 5)
4584 pack_tmp = packed_data(ipack)
4585 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
4586 pack_tmp = ishft(pack_tmp, -5)
4588 data_tmp = iand(pack_tmp, mask_right(nbits))
4589 full_data(idata) = data_tmp
4590 pack_tmp = ishft(pack_tmp, -nbits)
4592 data_tmp = iand(pack_tmp, mask_right(nbits))
4593 full_data(idata) = data_tmp
4594 pack_tmp = ishft(pack_tmp, -nbits)
4596 data_tmp = iand(pack_tmp, mask_right(nbits))
4597 full_data(idata) = data_tmp
4598 pack_tmp = ishft(pack_tmp, -nbits)
4600 data_tmp = iand(pack_tmp, mask_right(nbits))
4601 full_data(idata) = data_tmp
4602 pack_tmp = ishft(pack_tmp, -nbits)
4604 data_tmp = iand(pack_tmp, mask_right(nbits))
4605 full_data(idata) = data_tmp
4606 pack_tmp = ishft(pack_tmp, -nbits)
4608 data_tmp = iand(pack_tmp, mask_right(nbits))
4609 full_data(idata) = data_tmp
4610 pack_tmp = ishft(pack_tmp, -nbits)
4612 data_tmp = iand(pack_tmp, mask_right(nbits))
4613 full_data(idata) = data_tmp
4614 pack_tmp = ishft(pack_tmp, -nbits)
4616 data_tmp = iand(pack_tmp, mask_right(nbits))
4617 full_data(idata) = data_tmp
4618 pack_tmp = ishft(pack_tmp, -nbits)
4620 data_tmp = ishft(pack_tmp, 4)
4622 pack_tmp = packed_data(ipack)
4623 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
4624 pack_tmp = ishft(pack_tmp, -4)
4626 data_tmp = iand(pack_tmp, mask_right(nbits))
4627 full_data(idata) = data_tmp
4628 pack_tmp = ishft(pack_tmp, -nbits)
4630 data_tmp = iand(pack_tmp, mask_right(nbits))
4631 full_data(idata) = data_tmp
4632 pack_tmp = ishft(pack_tmp, -nbits)
4634 data_tmp = iand(pack_tmp, mask_right(nbits))
4635 full_data(idata) = data_tmp
4636 pack_tmp = ishft(pack_tmp, -nbits)
4638 data_tmp = iand(pack_tmp, mask_right(nbits))
4639 full_data(idata) = data_tmp
4640 pack_tmp = ishft(pack_tmp, -nbits)
4642 data_tmp = iand(pack_tmp, mask_right(nbits))
4643 full_data(idata) = data_tmp
4644 pack_tmp = ishft(pack_tmp, -nbits)
4646 data_tmp = iand(pack_tmp, mask_right(nbits))
4647 full_data(idata) = data_tmp
4648 pack_tmp = ishft(pack_tmp, -nbits)
4650 data_tmp = iand(pack_tmp, mask_right(nbits))
4651 full_data(idata) = data_tmp
4652 pack_tmp = ishft(pack_tmp, -nbits)
4654 data_tmp = iand(pack_tmp, mask_right(nbits))
4655 full_data(idata) = data_tmp
4656 pack_tmp = ishft(pack_tmp, -nbits)
4658 data_tmp = ishft(pack_tmp, 3)
4660 pack_tmp = packed_data(ipack)
4661 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
4662 pack_tmp = ishft(pack_tmp, -3)
4664 data_tmp = iand(pack_tmp, mask_right(nbits))
4665 full_data(idata) = data_tmp
4666 pack_tmp = ishft(pack_tmp, -nbits)
4668 data_tmp = iand(pack_tmp, mask_right(nbits))
4669 full_data(idata) = data_tmp
4670 pack_tmp = ishft(pack_tmp, -nbits)
4672 data_tmp = iand(pack_tmp, mask_right(nbits))
4673 full_data(idata) = data_tmp
4674 pack_tmp = ishft(pack_tmp, -nbits)
4676 data_tmp = iand(pack_tmp, mask_right(nbits))
4677 full_data(idata) = data_tmp
4678 pack_tmp = ishft(pack_tmp, -nbits)
4680 data_tmp = iand(pack_tmp, mask_right(nbits))
4681 full_data(idata) = data_tmp
4682 pack_tmp = ishft(pack_tmp, -nbits)
4684 data_tmp = iand(pack_tmp, mask_right(nbits))
4685 full_data(idata) = data_tmp
4686 pack_tmp = ishft(pack_tmp, -nbits)
4688 data_tmp = iand(pack_tmp, mask_right(nbits))
4689 full_data(idata) = data_tmp
4690 pack_tmp = ishft(pack_tmp, -nbits)
4692 data_tmp = iand(pack_tmp, mask_right(nbits))
4693 full_data(idata) = data_tmp
4694 pack_tmp = ishft(pack_tmp, -nbits)
4696 data_tmp = ishft(pack_tmp, 2)
4698 pack_tmp = packed_data(ipack)
4699 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
4700 pack_tmp = ishft(pack_tmp, -2)
4702 data_tmp = iand(pack_tmp, mask_right(nbits))
4703 full_data(idata) = data_tmp
4704 pack_tmp = ishft(pack_tmp, -nbits)
4706 data_tmp = iand(pack_tmp, mask_right(nbits))
4707 full_data(idata) = data_tmp
4708 pack_tmp = ishft(pack_tmp, -nbits)
4710 data_tmp = iand(pack_tmp, mask_right(nbits))
4711 full_data(idata) = data_tmp
4712 pack_tmp = ishft(pack_tmp, -nbits)
4714 data_tmp = iand(pack_tmp, mask_right(nbits))
4715 full_data(idata) = data_tmp
4716 pack_tmp = ishft(pack_tmp, -nbits)
4718 data_tmp = iand(pack_tmp, mask_right(nbits))
4719 full_data(idata) = data_tmp
4720 pack_tmp = ishft(pack_tmp, -nbits)
4722 data_tmp = iand(pack_tmp, mask_right(nbits))
4723 full_data(idata) = data_tmp
4724 pack_tmp = ishft(pack_tmp, -nbits)
4726 data_tmp = iand(pack_tmp, mask_right(nbits))
4727 full_data(idata) = data_tmp
4728 pack_tmp = ishft(pack_tmp, -nbits)
4730 data_tmp = iand(pack_tmp, mask_right(nbits))
4731 full_data(idata) = data_tmp
4732 pack_tmp = ishft(pack_tmp, -nbits)
4734 data_tmp = ishft(pack_tmp, 1)
4736 pack_tmp = packed_data(ipack)
4737 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
4738 pack_tmp = ishft(pack_tmp, -1)
4740 data_tmp = iand(pack_tmp, mask_right(nbits))
4741 full_data(idata) = data_tmp
4742 pack_tmp = ishft(pack_tmp, -nbits)
4744 data_tmp = iand(pack_tmp, mask_right(nbits))
4745 full_data(idata) = data_tmp
4746 pack_tmp = ishft(pack_tmp, -nbits)
4748 data_tmp = iand(pack_tmp, mask_right(nbits))
4749 full_data(idata) = data_tmp
4750 pack_tmp = ishft(pack_tmp, -nbits)
4752 data_tmp = iand(pack_tmp, mask_right(nbits))
4753 full_data(idata) = data_tmp
4754 pack_tmp = ishft(pack_tmp, -nbits)
4756 data_tmp = iand(pack_tmp, mask_right(nbits))
4757 full_data(idata) = data_tmp
4758 pack_tmp = ishft(pack_tmp, -nbits)
4760 data_tmp = iand(pack_tmp, mask_right(nbits))
4761 full_data(idata) = data_tmp
4762 pack_tmp = ishft(pack_tmp, -nbits)
4764 data_tmp = iand(pack_tmp, mask_right(nbits))
4765 full_data(idata) = data_tmp
4766 pack_tmp = ishft(pack_tmp, -nbits)
4768 data_tmp = iand(pack_tmp, mask_right(nbits))
4769 full_data(idata) = data_tmp
4770 pack_tmp = ishft(pack_tmp, -nbits)
4772 data_tmp = iand(pack_tmp, mask_right(nbits))
4773 full_data(idata) = data_tmp
4774 pack_tmp = ishft(pack_tmp, -nbits)
4776 IF (ndata_rep < ndata)
THEN
4777 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
4779 END SUBROUTINE bits2ints_7
4787 SUBROUTINE ints2bits_8(Ndata, packed_data, full_data)
4788 INTEGER,
INTENT(IN) :: Ndata
4789 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
4790 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
4792 INTEGER,
PARAMETER :: Nbits = 8
4794 INTEGER :: idata, ipack, kdata, Ndata_rep
4795 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
4799 ndata_rep = (ndata/64)*64
4800 DO kdata = 1, ndata_rep, 64
4803 data_tmp = full_data(idata)
4804 data_tmp = ishft(data_tmp, 56)
4805 pack_tmp = ior(pack_tmp, data_tmp)
4806 pack_tmp = ishft(pack_tmp, -8)
4808 data_tmp = full_data(idata)
4809 data_tmp = ishft(data_tmp, 56)
4810 pack_tmp = ior(pack_tmp, data_tmp)
4811 pack_tmp = ishft(pack_tmp, -8)
4813 data_tmp = full_data(idata)
4814 data_tmp = ishft(data_tmp, 56)
4815 pack_tmp = ior(pack_tmp, data_tmp)
4816 pack_tmp = ishft(pack_tmp, -8)
4818 data_tmp = full_data(idata)
4819 data_tmp = ishft(data_tmp, 56)
4820 pack_tmp = ior(pack_tmp, data_tmp)
4821 pack_tmp = ishft(pack_tmp, -8)
4823 data_tmp = full_data(idata)
4824 data_tmp = ishft(data_tmp, 56)
4825 pack_tmp = ior(pack_tmp, data_tmp)
4826 pack_tmp = ishft(pack_tmp, -8)
4828 data_tmp = full_data(idata)
4829 data_tmp = ishft(data_tmp, 56)
4830 pack_tmp = ior(pack_tmp, data_tmp)
4831 pack_tmp = ishft(pack_tmp, -8)
4833 data_tmp = full_data(idata)
4834 data_tmp = ishft(data_tmp, 56)
4835 pack_tmp = ior(pack_tmp, data_tmp)
4836 pack_tmp = ishft(pack_tmp, -8)
4838 data_tmp = full_data(idata)
4839 data_tmp = ishft(data_tmp, 56)
4840 pack_tmp = ior(pack_tmp, data_tmp)
4841 pack_tmp = ishft(pack_tmp, 0)
4843 data_tmp = full_data(idata)
4844 data_tmp = ishft(data_tmp, 56)
4845 data_tmp = iand(data_tmp, mask_left(0))
4846 pack_tmp = ior(pack_tmp, data_tmp)
4848 packed_data(ipack) = pack_tmp
4849 data_tmp = full_data(idata)
4850 pack_tmp = ishft(data_tmp, 56)
4851 pack_tmp = ishft(pack_tmp, -8)
4853 data_tmp = full_data(idata)
4854 data_tmp = ishft(data_tmp, 56)
4855 pack_tmp = ior(pack_tmp, data_tmp)
4856 pack_tmp = ishft(pack_tmp, -8)
4858 data_tmp = full_data(idata)
4859 data_tmp = ishft(data_tmp, 56)
4860 pack_tmp = ior(pack_tmp, data_tmp)
4861 pack_tmp = ishft(pack_tmp, -8)
4863 data_tmp = full_data(idata)
4864 data_tmp = ishft(data_tmp, 56)
4865 pack_tmp = ior(pack_tmp, data_tmp)
4866 pack_tmp = ishft(pack_tmp, -8)
4868 data_tmp = full_data(idata)
4869 data_tmp = ishft(data_tmp, 56)
4870 pack_tmp = ior(pack_tmp, data_tmp)
4871 pack_tmp = ishft(pack_tmp, -8)
4873 data_tmp = full_data(idata)
4874 data_tmp = ishft(data_tmp, 56)
4875 pack_tmp = ior(pack_tmp, data_tmp)
4876 pack_tmp = ishft(pack_tmp, -8)
4878 data_tmp = full_data(idata)
4879 data_tmp = ishft(data_tmp, 56)
4880 pack_tmp = ior(pack_tmp, data_tmp)
4881 pack_tmp = ishft(pack_tmp, -8)
4883 data_tmp = full_data(idata)
4884 data_tmp = ishft(data_tmp, 56)
4885 pack_tmp = ior(pack_tmp, data_tmp)
4886 pack_tmp = ishft(pack_tmp, 0)
4888 data_tmp = full_data(idata)
4889 data_tmp = ishft(data_tmp, 56)
4890 data_tmp = iand(data_tmp, mask_left(0))
4891 pack_tmp = ior(pack_tmp, data_tmp)
4893 packed_data(ipack) = pack_tmp
4894 data_tmp = full_data(idata)
4895 pack_tmp = ishft(data_tmp, 56)
4896 pack_tmp = ishft(pack_tmp, -8)
4898 data_tmp = full_data(idata)
4899 data_tmp = ishft(data_tmp, 56)
4900 pack_tmp = ior(pack_tmp, data_tmp)
4901 pack_tmp = ishft(pack_tmp, -8)
4903 data_tmp = full_data(idata)
4904 data_tmp = ishft(data_tmp, 56)
4905 pack_tmp = ior(pack_tmp, data_tmp)
4906 pack_tmp = ishft(pack_tmp, -8)
4908 data_tmp = full_data(idata)
4909 data_tmp = ishft(data_tmp, 56)
4910 pack_tmp = ior(pack_tmp, data_tmp)
4911 pack_tmp = ishft(pack_tmp, -8)
4913 data_tmp = full_data(idata)
4914 data_tmp = ishft(data_tmp, 56)
4915 pack_tmp = ior(pack_tmp, data_tmp)
4916 pack_tmp = ishft(pack_tmp, -8)
4918 data_tmp = full_data(idata)
4919 data_tmp = ishft(data_tmp, 56)
4920 pack_tmp = ior(pack_tmp, data_tmp)
4921 pack_tmp = ishft(pack_tmp, -8)
4923 data_tmp = full_data(idata)
4924 data_tmp = ishft(data_tmp, 56)
4925 pack_tmp = ior(pack_tmp, data_tmp)
4926 pack_tmp = ishft(pack_tmp, -8)
4928 data_tmp = full_data(idata)
4929 data_tmp = ishft(data_tmp, 56)
4930 pack_tmp = ior(pack_tmp, data_tmp)
4931 pack_tmp = ishft(pack_tmp, 0)
4933 data_tmp = full_data(idata)
4934 data_tmp = ishft(data_tmp, 56)
4935 data_tmp = iand(data_tmp, mask_left(0))
4936 pack_tmp = ior(pack_tmp, data_tmp)
4938 packed_data(ipack) = pack_tmp
4939 data_tmp = full_data(idata)
4940 pack_tmp = ishft(data_tmp, 56)
4941 pack_tmp = ishft(pack_tmp, -8)
4943 data_tmp = full_data(idata)
4944 data_tmp = ishft(data_tmp, 56)
4945 pack_tmp = ior(pack_tmp, data_tmp)
4946 pack_tmp = ishft(pack_tmp, -8)
4948 data_tmp = full_data(idata)
4949 data_tmp = ishft(data_tmp, 56)
4950 pack_tmp = ior(pack_tmp, data_tmp)
4951 pack_tmp = ishft(pack_tmp, -8)
4953 data_tmp = full_data(idata)
4954 data_tmp = ishft(data_tmp, 56)
4955 pack_tmp = ior(pack_tmp, data_tmp)
4956 pack_tmp = ishft(pack_tmp, -8)
4958 data_tmp = full_data(idata)
4959 data_tmp = ishft(data_tmp, 56)
4960 pack_tmp = ior(pack_tmp, data_tmp)
4961 pack_tmp = ishft(pack_tmp, -8)
4963 data_tmp = full_data(idata)
4964 data_tmp = ishft(data_tmp, 56)
4965 pack_tmp = ior(pack_tmp, data_tmp)
4966 pack_tmp = ishft(pack_tmp, -8)
4968 data_tmp = full_data(idata)
4969 data_tmp = ishft(data_tmp, 56)
4970 pack_tmp = ior(pack_tmp, data_tmp)
4971 pack_tmp = ishft(pack_tmp, -8)
4973 data_tmp = full_data(idata)
4974 data_tmp = ishft(data_tmp, 56)
4975 pack_tmp = ior(pack_tmp, data_tmp)
4976 pack_tmp = ishft(pack_tmp, 0)
4978 data_tmp = full_data(idata)
4979 data_tmp = ishft(data_tmp, 56)
4980 data_tmp = iand(data_tmp, mask_left(0))
4981 pack_tmp = ior(pack_tmp, data_tmp)
4983 packed_data(ipack) = pack_tmp
4984 data_tmp = full_data(idata)
4985 pack_tmp = ishft(data_tmp, 56)
4986 pack_tmp = ishft(pack_tmp, -8)
4988 data_tmp = full_data(idata)
4989 data_tmp = ishft(data_tmp, 56)
4990 pack_tmp = ior(pack_tmp, data_tmp)
4991 pack_tmp = ishft(pack_tmp, -8)
4993 data_tmp = full_data(idata)
4994 data_tmp = ishft(data_tmp, 56)
4995 pack_tmp = ior(pack_tmp, data_tmp)
4996 pack_tmp = ishft(pack_tmp, -8)
4998 data_tmp = full_data(idata)
4999 data_tmp = ishft(data_tmp, 56)
5000 pack_tmp = ior(pack_tmp, data_tmp)
5001 pack_tmp = ishft(pack_tmp, -8)
5003 data_tmp = full_data(idata)
5004 data_tmp = ishft(data_tmp, 56)
5005 pack_tmp = ior(pack_tmp, data_tmp)
5006 pack_tmp = ishft(pack_tmp, -8)
5008 data_tmp = full_data(idata)
5009 data_tmp = ishft(data_tmp, 56)
5010 pack_tmp = ior(pack_tmp, data_tmp)
5011 pack_tmp = ishft(pack_tmp, -8)
5013 data_tmp = full_data(idata)
5014 data_tmp = ishft(data_tmp, 56)
5015 pack_tmp = ior(pack_tmp, data_tmp)
5016 pack_tmp = ishft(pack_tmp, -8)
5018 data_tmp = full_data(idata)
5019 data_tmp = ishft(data_tmp, 56)
5020 pack_tmp = ior(pack_tmp, data_tmp)
5021 pack_tmp = ishft(pack_tmp, 0)
5023 data_tmp = full_data(idata)
5024 data_tmp = ishft(data_tmp, 56)
5025 data_tmp = iand(data_tmp, mask_left(0))
5026 pack_tmp = ior(pack_tmp, data_tmp)
5028 packed_data(ipack) = pack_tmp
5029 data_tmp = full_data(idata)
5030 pack_tmp = ishft(data_tmp, 56)
5031 pack_tmp = ishft(pack_tmp, -8)
5033 data_tmp = full_data(idata)
5034 data_tmp = ishft(data_tmp, 56)
5035 pack_tmp = ior(pack_tmp, data_tmp)
5036 pack_tmp = ishft(pack_tmp, -8)
5038 data_tmp = full_data(idata)
5039 data_tmp = ishft(data_tmp, 56)
5040 pack_tmp = ior(pack_tmp, data_tmp)
5041 pack_tmp = ishft(pack_tmp, -8)
5043 data_tmp = full_data(idata)
5044 data_tmp = ishft(data_tmp, 56)
5045 pack_tmp = ior(pack_tmp, data_tmp)
5046 pack_tmp = ishft(pack_tmp, -8)
5048 data_tmp = full_data(idata)
5049 data_tmp = ishft(data_tmp, 56)
5050 pack_tmp = ior(pack_tmp, data_tmp)
5051 pack_tmp = ishft(pack_tmp, -8)
5053 data_tmp = full_data(idata)
5054 data_tmp = ishft(data_tmp, 56)
5055 pack_tmp = ior(pack_tmp, data_tmp)
5056 pack_tmp = ishft(pack_tmp, -8)
5058 data_tmp = full_data(idata)
5059 data_tmp = ishft(data_tmp, 56)
5060 pack_tmp = ior(pack_tmp, data_tmp)
5061 pack_tmp = ishft(pack_tmp, -8)
5063 data_tmp = full_data(idata)
5064 data_tmp = ishft(data_tmp, 56)
5065 pack_tmp = ior(pack_tmp, data_tmp)
5066 pack_tmp = ishft(pack_tmp, 0)
5068 data_tmp = full_data(idata)
5069 data_tmp = ishft(data_tmp, 56)
5070 data_tmp = iand(data_tmp, mask_left(0))
5071 pack_tmp = ior(pack_tmp, data_tmp)
5073 packed_data(ipack) = pack_tmp
5074 data_tmp = full_data(idata)
5075 pack_tmp = ishft(data_tmp, 56)
5076 pack_tmp = ishft(pack_tmp, -8)
5078 data_tmp = full_data(idata)
5079 data_tmp = ishft(data_tmp, 56)
5080 pack_tmp = ior(pack_tmp, data_tmp)
5081 pack_tmp = ishft(pack_tmp, -8)
5083 data_tmp = full_data(idata)
5084 data_tmp = ishft(data_tmp, 56)
5085 pack_tmp = ior(pack_tmp, data_tmp)
5086 pack_tmp = ishft(pack_tmp, -8)
5088 data_tmp = full_data(idata)
5089 data_tmp = ishft(data_tmp, 56)
5090 pack_tmp = ior(pack_tmp, data_tmp)
5091 pack_tmp = ishft(pack_tmp, -8)
5093 data_tmp = full_data(idata)
5094 data_tmp = ishft(data_tmp, 56)
5095 pack_tmp = ior(pack_tmp, data_tmp)
5096 pack_tmp = ishft(pack_tmp, -8)
5098 data_tmp = full_data(idata)
5099 data_tmp = ishft(data_tmp, 56)
5100 pack_tmp = ior(pack_tmp, data_tmp)
5101 pack_tmp = ishft(pack_tmp, -8)
5103 data_tmp = full_data(idata)
5104 data_tmp = ishft(data_tmp, 56)
5105 pack_tmp = ior(pack_tmp, data_tmp)
5106 pack_tmp = ishft(pack_tmp, -8)
5108 data_tmp = full_data(idata)
5109 data_tmp = ishft(data_tmp, 56)
5110 pack_tmp = ior(pack_tmp, data_tmp)
5111 pack_tmp = ishft(pack_tmp, 0)
5113 data_tmp = full_data(idata)
5114 data_tmp = ishft(data_tmp, 56)
5115 data_tmp = iand(data_tmp, mask_left(0))
5116 pack_tmp = ior(pack_tmp, data_tmp)
5118 packed_data(ipack) = pack_tmp
5119 data_tmp = full_data(idata)
5120 pack_tmp = ishft(data_tmp, 56)
5121 pack_tmp = ishft(pack_tmp, -8)
5123 data_tmp = full_data(idata)
5124 data_tmp = ishft(data_tmp, 56)
5125 pack_tmp = ior(pack_tmp, data_tmp)
5126 pack_tmp = ishft(pack_tmp, -8)
5128 data_tmp = full_data(idata)
5129 data_tmp = ishft(data_tmp, 56)
5130 pack_tmp = ior(pack_tmp, data_tmp)
5131 pack_tmp = ishft(pack_tmp, -8)
5133 data_tmp = full_data(idata)
5134 data_tmp = ishft(data_tmp, 56)
5135 pack_tmp = ior(pack_tmp, data_tmp)
5136 pack_tmp = ishft(pack_tmp, -8)
5138 data_tmp = full_data(idata)
5139 data_tmp = ishft(data_tmp, 56)
5140 pack_tmp = ior(pack_tmp, data_tmp)
5141 pack_tmp = ishft(pack_tmp, -8)
5143 data_tmp = full_data(idata)
5144 data_tmp = ishft(data_tmp, 56)
5145 pack_tmp = ior(pack_tmp, data_tmp)
5146 pack_tmp = ishft(pack_tmp, -8)
5148 data_tmp = full_data(idata)
5149 data_tmp = ishft(data_tmp, 56)
5150 pack_tmp = ior(pack_tmp, data_tmp)
5151 pack_tmp = ishft(pack_tmp, -8)
5153 data_tmp = full_data(idata)
5154 data_tmp = ishft(data_tmp, 56)
5155 pack_tmp = ior(pack_tmp, data_tmp)
5156 pack_tmp = ishft(pack_tmp, 0)
5157 pack_tmp = ishft(pack_tmp, 0)
5159 packed_data(ipack) = pack_tmp
5161 IF (ndata_rep < ndata)
THEN
5162 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
5164 END SUBROUTINE ints2bits_8
5172 SUBROUTINE bits2ints_8(Ndata, packed_data, full_data)
5173 INTEGER,
INTENT(IN) :: Ndata
5174 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
5175 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
5177 INTEGER,
PARAMETER :: Nbits = 8
5179 INTEGER :: idata, ipack, kdata, Ndata_rep
5180 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
5185 ndata_rep = (ndata/64)*64
5186 DO kdata = 1, ndata_rep, 64
5188 data_tmp = ishft(pack_tmp, 8)
5190 pack_tmp = packed_data(ipack)
5191 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5192 pack_tmp = ishft(pack_tmp, -8)
5194 data_tmp = iand(pack_tmp, mask_right(nbits))
5195 full_data(idata) = data_tmp
5196 pack_tmp = ishft(pack_tmp, -nbits)
5198 data_tmp = iand(pack_tmp, mask_right(nbits))
5199 full_data(idata) = data_tmp
5200 pack_tmp = ishft(pack_tmp, -nbits)
5202 data_tmp = iand(pack_tmp, mask_right(nbits))
5203 full_data(idata) = data_tmp
5204 pack_tmp = ishft(pack_tmp, -nbits)
5206 data_tmp = iand(pack_tmp, mask_right(nbits))
5207 full_data(idata) = data_tmp
5208 pack_tmp = ishft(pack_tmp, -nbits)
5210 data_tmp = iand(pack_tmp, mask_right(nbits))
5211 full_data(idata) = data_tmp
5212 pack_tmp = ishft(pack_tmp, -nbits)
5214 data_tmp = iand(pack_tmp, mask_right(nbits))
5215 full_data(idata) = data_tmp
5216 pack_tmp = ishft(pack_tmp, -nbits)
5218 data_tmp = iand(pack_tmp, mask_right(nbits))
5219 full_data(idata) = data_tmp
5220 pack_tmp = ishft(pack_tmp, -nbits)
5222 data_tmp = ishft(pack_tmp, 8)
5224 pack_tmp = packed_data(ipack)
5225 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5226 pack_tmp = ishft(pack_tmp, -8)
5228 data_tmp = iand(pack_tmp, mask_right(nbits))
5229 full_data(idata) = data_tmp
5230 pack_tmp = ishft(pack_tmp, -nbits)
5232 data_tmp = iand(pack_tmp, mask_right(nbits))
5233 full_data(idata) = data_tmp
5234 pack_tmp = ishft(pack_tmp, -nbits)
5236 data_tmp = iand(pack_tmp, mask_right(nbits))
5237 full_data(idata) = data_tmp
5238 pack_tmp = ishft(pack_tmp, -nbits)
5240 data_tmp = iand(pack_tmp, mask_right(nbits))
5241 full_data(idata) = data_tmp
5242 pack_tmp = ishft(pack_tmp, -nbits)
5244 data_tmp = iand(pack_tmp, mask_right(nbits))
5245 full_data(idata) = data_tmp
5246 pack_tmp = ishft(pack_tmp, -nbits)
5248 data_tmp = iand(pack_tmp, mask_right(nbits))
5249 full_data(idata) = data_tmp
5250 pack_tmp = ishft(pack_tmp, -nbits)
5252 data_tmp = iand(pack_tmp, mask_right(nbits))
5253 full_data(idata) = data_tmp
5254 pack_tmp = ishft(pack_tmp, -nbits)
5256 data_tmp = ishft(pack_tmp, 8)
5258 pack_tmp = packed_data(ipack)
5259 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5260 pack_tmp = ishft(pack_tmp, -8)
5262 data_tmp = iand(pack_tmp, mask_right(nbits))
5263 full_data(idata) = data_tmp
5264 pack_tmp = ishft(pack_tmp, -nbits)
5266 data_tmp = iand(pack_tmp, mask_right(nbits))
5267 full_data(idata) = data_tmp
5268 pack_tmp = ishft(pack_tmp, -nbits)
5270 data_tmp = iand(pack_tmp, mask_right(nbits))
5271 full_data(idata) = data_tmp
5272 pack_tmp = ishft(pack_tmp, -nbits)
5274 data_tmp = iand(pack_tmp, mask_right(nbits))
5275 full_data(idata) = data_tmp
5276 pack_tmp = ishft(pack_tmp, -nbits)
5278 data_tmp = iand(pack_tmp, mask_right(nbits))
5279 full_data(idata) = data_tmp
5280 pack_tmp = ishft(pack_tmp, -nbits)
5282 data_tmp = iand(pack_tmp, mask_right(nbits))
5283 full_data(idata) = data_tmp
5284 pack_tmp = ishft(pack_tmp, -nbits)
5286 data_tmp = iand(pack_tmp, mask_right(nbits))
5287 full_data(idata) = data_tmp
5288 pack_tmp = ishft(pack_tmp, -nbits)
5290 data_tmp = ishft(pack_tmp, 8)
5292 pack_tmp = packed_data(ipack)
5293 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5294 pack_tmp = ishft(pack_tmp, -8)
5296 data_tmp = iand(pack_tmp, mask_right(nbits))
5297 full_data(idata) = data_tmp
5298 pack_tmp = ishft(pack_tmp, -nbits)
5300 data_tmp = iand(pack_tmp, mask_right(nbits))
5301 full_data(idata) = data_tmp
5302 pack_tmp = ishft(pack_tmp, -nbits)
5304 data_tmp = iand(pack_tmp, mask_right(nbits))
5305 full_data(idata) = data_tmp
5306 pack_tmp = ishft(pack_tmp, -nbits)
5308 data_tmp = iand(pack_tmp, mask_right(nbits))
5309 full_data(idata) = data_tmp
5310 pack_tmp = ishft(pack_tmp, -nbits)
5312 data_tmp = iand(pack_tmp, mask_right(nbits))
5313 full_data(idata) = data_tmp
5314 pack_tmp = ishft(pack_tmp, -nbits)
5316 data_tmp = iand(pack_tmp, mask_right(nbits))
5317 full_data(idata) = data_tmp
5318 pack_tmp = ishft(pack_tmp, -nbits)
5320 data_tmp = iand(pack_tmp, mask_right(nbits))
5321 full_data(idata) = data_tmp
5322 pack_tmp = ishft(pack_tmp, -nbits)
5324 data_tmp = ishft(pack_tmp, 8)
5326 pack_tmp = packed_data(ipack)
5327 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5328 pack_tmp = ishft(pack_tmp, -8)
5330 data_tmp = iand(pack_tmp, mask_right(nbits))
5331 full_data(idata) = data_tmp
5332 pack_tmp = ishft(pack_tmp, -nbits)
5334 data_tmp = iand(pack_tmp, mask_right(nbits))
5335 full_data(idata) = data_tmp
5336 pack_tmp = ishft(pack_tmp, -nbits)
5338 data_tmp = iand(pack_tmp, mask_right(nbits))
5339 full_data(idata) = data_tmp
5340 pack_tmp = ishft(pack_tmp, -nbits)
5342 data_tmp = iand(pack_tmp, mask_right(nbits))
5343 full_data(idata) = data_tmp
5344 pack_tmp = ishft(pack_tmp, -nbits)
5346 data_tmp = iand(pack_tmp, mask_right(nbits))
5347 full_data(idata) = data_tmp
5348 pack_tmp = ishft(pack_tmp, -nbits)
5350 data_tmp = iand(pack_tmp, mask_right(nbits))
5351 full_data(idata) = data_tmp
5352 pack_tmp = ishft(pack_tmp, -nbits)
5354 data_tmp = iand(pack_tmp, mask_right(nbits))
5355 full_data(idata) = data_tmp
5356 pack_tmp = ishft(pack_tmp, -nbits)
5358 data_tmp = ishft(pack_tmp, 8)
5360 pack_tmp = packed_data(ipack)
5361 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5362 pack_tmp = ishft(pack_tmp, -8)
5364 data_tmp = iand(pack_tmp, mask_right(nbits))
5365 full_data(idata) = data_tmp
5366 pack_tmp = ishft(pack_tmp, -nbits)
5368 data_tmp = iand(pack_tmp, mask_right(nbits))
5369 full_data(idata) = data_tmp
5370 pack_tmp = ishft(pack_tmp, -nbits)
5372 data_tmp = iand(pack_tmp, mask_right(nbits))
5373 full_data(idata) = data_tmp
5374 pack_tmp = ishft(pack_tmp, -nbits)
5376 data_tmp = iand(pack_tmp, mask_right(nbits))
5377 full_data(idata) = data_tmp
5378 pack_tmp = ishft(pack_tmp, -nbits)
5380 data_tmp = iand(pack_tmp, mask_right(nbits))
5381 full_data(idata) = data_tmp
5382 pack_tmp = ishft(pack_tmp, -nbits)
5384 data_tmp = iand(pack_tmp, mask_right(nbits))
5385 full_data(idata) = data_tmp
5386 pack_tmp = ishft(pack_tmp, -nbits)
5388 data_tmp = iand(pack_tmp, mask_right(nbits))
5389 full_data(idata) = data_tmp
5390 pack_tmp = ishft(pack_tmp, -nbits)
5392 data_tmp = ishft(pack_tmp, 8)
5394 pack_tmp = packed_data(ipack)
5395 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5396 pack_tmp = ishft(pack_tmp, -8)
5398 data_tmp = iand(pack_tmp, mask_right(nbits))
5399 full_data(idata) = data_tmp
5400 pack_tmp = ishft(pack_tmp, -nbits)
5402 data_tmp = iand(pack_tmp, mask_right(nbits))
5403 full_data(idata) = data_tmp
5404 pack_tmp = ishft(pack_tmp, -nbits)
5406 data_tmp = iand(pack_tmp, mask_right(nbits))
5407 full_data(idata) = data_tmp
5408 pack_tmp = ishft(pack_tmp, -nbits)
5410 data_tmp = iand(pack_tmp, mask_right(nbits))
5411 full_data(idata) = data_tmp
5412 pack_tmp = ishft(pack_tmp, -nbits)
5414 data_tmp = iand(pack_tmp, mask_right(nbits))
5415 full_data(idata) = data_tmp
5416 pack_tmp = ishft(pack_tmp, -nbits)
5418 data_tmp = iand(pack_tmp, mask_right(nbits))
5419 full_data(idata) = data_tmp
5420 pack_tmp = ishft(pack_tmp, -nbits)
5422 data_tmp = iand(pack_tmp, mask_right(nbits))
5423 full_data(idata) = data_tmp
5424 pack_tmp = ishft(pack_tmp, -nbits)
5426 data_tmp = ishft(pack_tmp, 8)
5428 pack_tmp = packed_data(ipack)
5429 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5430 pack_tmp = ishft(pack_tmp, -8)
5432 data_tmp = iand(pack_tmp, mask_right(nbits))
5433 full_data(idata) = data_tmp
5434 pack_tmp = ishft(pack_tmp, -nbits)
5436 data_tmp = iand(pack_tmp, mask_right(nbits))
5437 full_data(idata) = data_tmp
5438 pack_tmp = ishft(pack_tmp, -nbits)
5440 data_tmp = iand(pack_tmp, mask_right(nbits))
5441 full_data(idata) = data_tmp
5442 pack_tmp = ishft(pack_tmp, -nbits)
5444 data_tmp = iand(pack_tmp, mask_right(nbits))
5445 full_data(idata) = data_tmp
5446 pack_tmp = ishft(pack_tmp, -nbits)
5448 data_tmp = iand(pack_tmp, mask_right(nbits))
5449 full_data(idata) = data_tmp
5450 pack_tmp = ishft(pack_tmp, -nbits)
5452 data_tmp = iand(pack_tmp, mask_right(nbits))
5453 full_data(idata) = data_tmp
5454 pack_tmp = ishft(pack_tmp, -nbits)
5456 data_tmp = iand(pack_tmp, mask_right(nbits))
5457 full_data(idata) = data_tmp
5458 pack_tmp = ishft(pack_tmp, -nbits)
5460 IF (ndata_rep < ndata)
THEN
5461 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
5463 END SUBROUTINE bits2ints_8
5471 SUBROUTINE ints2bits_9(Ndata, packed_data, full_data)
5472 INTEGER,
INTENT(IN) :: Ndata
5473 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
5474 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
5476 INTEGER,
PARAMETER :: Nbits = 9
5478 INTEGER :: idata, ipack, kdata, Ndata_rep
5479 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
5483 ndata_rep = (ndata/64)*64
5484 DO kdata = 1, ndata_rep, 64
5487 data_tmp = full_data(idata)
5488 data_tmp = ishft(data_tmp, 55)
5489 pack_tmp = ior(pack_tmp, data_tmp)
5490 pack_tmp = ishft(pack_tmp, -9)
5492 data_tmp = full_data(idata)
5493 data_tmp = ishft(data_tmp, 55)
5494 pack_tmp = ior(pack_tmp, data_tmp)
5495 pack_tmp = ishft(pack_tmp, -9)
5497 data_tmp = full_data(idata)
5498 data_tmp = ishft(data_tmp, 55)
5499 pack_tmp = ior(pack_tmp, data_tmp)
5500 pack_tmp = ishft(pack_tmp, -9)
5502 data_tmp = full_data(idata)
5503 data_tmp = ishft(data_tmp, 55)
5504 pack_tmp = ior(pack_tmp, data_tmp)
5505 pack_tmp = ishft(pack_tmp, -9)
5507 data_tmp = full_data(idata)
5508 data_tmp = ishft(data_tmp, 55)
5509 pack_tmp = ior(pack_tmp, data_tmp)
5510 pack_tmp = ishft(pack_tmp, -9)
5512 data_tmp = full_data(idata)
5513 data_tmp = ishft(data_tmp, 55)
5514 pack_tmp = ior(pack_tmp, data_tmp)
5515 pack_tmp = ishft(pack_tmp, -9)
5517 data_tmp = full_data(idata)
5518 data_tmp = ishft(data_tmp, 55)
5519 pack_tmp = ior(pack_tmp, data_tmp)
5520 pack_tmp = ishft(pack_tmp, -1)
5522 data_tmp = full_data(idata)
5523 data_tmp = ishft(data_tmp, 55)
5524 data_tmp = iand(data_tmp, mask_left(1))
5525 pack_tmp = ior(pack_tmp, data_tmp)
5527 packed_data(ipack) = pack_tmp
5528 data_tmp = full_data(idata)
5529 pack_tmp = ishft(data_tmp, 56)
5530 pack_tmp = ishft(pack_tmp, -9)
5532 data_tmp = full_data(idata)
5533 data_tmp = ishft(data_tmp, 55)
5534 pack_tmp = ior(pack_tmp, data_tmp)
5535 pack_tmp = ishft(pack_tmp, -9)
5537 data_tmp = full_data(idata)
5538 data_tmp = ishft(data_tmp, 55)
5539 pack_tmp = ior(pack_tmp, data_tmp)
5540 pack_tmp = ishft(pack_tmp, -9)
5542 data_tmp = full_data(idata)
5543 data_tmp = ishft(data_tmp, 55)
5544 pack_tmp = ior(pack_tmp, data_tmp)
5545 pack_tmp = ishft(pack_tmp, -9)
5547 data_tmp = full_data(idata)
5548 data_tmp = ishft(data_tmp, 55)
5549 pack_tmp = ior(pack_tmp, data_tmp)
5550 pack_tmp = ishft(pack_tmp, -9)
5552 data_tmp = full_data(idata)
5553 data_tmp = ishft(data_tmp, 55)
5554 pack_tmp = ior(pack_tmp, data_tmp)
5555 pack_tmp = ishft(pack_tmp, -9)
5557 data_tmp = full_data(idata)
5558 data_tmp = ishft(data_tmp, 55)
5559 pack_tmp = ior(pack_tmp, data_tmp)
5560 pack_tmp = ishft(pack_tmp, -2)
5562 data_tmp = full_data(idata)
5563 data_tmp = ishft(data_tmp, 55)
5564 data_tmp = iand(data_tmp, mask_left(2))
5565 pack_tmp = ior(pack_tmp, data_tmp)
5567 packed_data(ipack) = pack_tmp
5568 data_tmp = full_data(idata)
5569 pack_tmp = ishft(data_tmp, 57)
5570 pack_tmp = ishft(pack_tmp, -9)
5572 data_tmp = full_data(idata)
5573 data_tmp = ishft(data_tmp, 55)
5574 pack_tmp = ior(pack_tmp, data_tmp)
5575 pack_tmp = ishft(pack_tmp, -9)
5577 data_tmp = full_data(idata)
5578 data_tmp = ishft(data_tmp, 55)
5579 pack_tmp = ior(pack_tmp, data_tmp)
5580 pack_tmp = ishft(pack_tmp, -9)
5582 data_tmp = full_data(idata)
5583 data_tmp = ishft(data_tmp, 55)
5584 pack_tmp = ior(pack_tmp, data_tmp)
5585 pack_tmp = ishft(pack_tmp, -9)
5587 data_tmp = full_data(idata)
5588 data_tmp = ishft(data_tmp, 55)
5589 pack_tmp = ior(pack_tmp, data_tmp)
5590 pack_tmp = ishft(pack_tmp, -9)
5592 data_tmp = full_data(idata)
5593 data_tmp = ishft(data_tmp, 55)
5594 pack_tmp = ior(pack_tmp, data_tmp)
5595 pack_tmp = ishft(pack_tmp, -9)
5597 data_tmp = full_data(idata)
5598 data_tmp = ishft(data_tmp, 55)
5599 pack_tmp = ior(pack_tmp, data_tmp)
5600 pack_tmp = ishft(pack_tmp, -3)
5602 data_tmp = full_data(idata)
5603 data_tmp = ishft(data_tmp, 55)
5604 data_tmp = iand(data_tmp, mask_left(3))
5605 pack_tmp = ior(pack_tmp, data_tmp)
5607 packed_data(ipack) = pack_tmp
5608 data_tmp = full_data(idata)
5609 pack_tmp = ishft(data_tmp, 58)
5610 pack_tmp = ishft(pack_tmp, -9)
5612 data_tmp = full_data(idata)
5613 data_tmp = ishft(data_tmp, 55)
5614 pack_tmp = ior(pack_tmp, data_tmp)
5615 pack_tmp = ishft(pack_tmp, -9)
5617 data_tmp = full_data(idata)
5618 data_tmp = ishft(data_tmp, 55)
5619 pack_tmp = ior(pack_tmp, data_tmp)
5620 pack_tmp = ishft(pack_tmp, -9)
5622 data_tmp = full_data(idata)
5623 data_tmp = ishft(data_tmp, 55)
5624 pack_tmp = ior(pack_tmp, data_tmp)
5625 pack_tmp = ishft(pack_tmp, -9)
5627 data_tmp = full_data(idata)
5628 data_tmp = ishft(data_tmp, 55)
5629 pack_tmp = ior(pack_tmp, data_tmp)
5630 pack_tmp = ishft(pack_tmp, -9)
5632 data_tmp = full_data(idata)
5633 data_tmp = ishft(data_tmp, 55)
5634 pack_tmp = ior(pack_tmp, data_tmp)
5635 pack_tmp = ishft(pack_tmp, -9)
5637 data_tmp = full_data(idata)
5638 data_tmp = ishft(data_tmp, 55)
5639 pack_tmp = ior(pack_tmp, data_tmp)
5640 pack_tmp = ishft(pack_tmp, -4)
5642 data_tmp = full_data(idata)
5643 data_tmp = ishft(data_tmp, 55)
5644 data_tmp = iand(data_tmp, mask_left(4))
5645 pack_tmp = ior(pack_tmp, data_tmp)
5647 packed_data(ipack) = pack_tmp
5648 data_tmp = full_data(idata)
5649 pack_tmp = ishft(data_tmp, 59)
5650 pack_tmp = ishft(pack_tmp, -9)
5652 data_tmp = full_data(idata)
5653 data_tmp = ishft(data_tmp, 55)
5654 pack_tmp = ior(pack_tmp, data_tmp)
5655 pack_tmp = ishft(pack_tmp, -9)
5657 data_tmp = full_data(idata)
5658 data_tmp = ishft(data_tmp, 55)
5659 pack_tmp = ior(pack_tmp, data_tmp)
5660 pack_tmp = ishft(pack_tmp, -9)
5662 data_tmp = full_data(idata)
5663 data_tmp = ishft(data_tmp, 55)
5664 pack_tmp = ior(pack_tmp, data_tmp)
5665 pack_tmp = ishft(pack_tmp, -9)
5667 data_tmp = full_data(idata)
5668 data_tmp = ishft(data_tmp, 55)
5669 pack_tmp = ior(pack_tmp, data_tmp)
5670 pack_tmp = ishft(pack_tmp, -9)
5672 data_tmp = full_data(idata)
5673 data_tmp = ishft(data_tmp, 55)
5674 pack_tmp = ior(pack_tmp, data_tmp)
5675 pack_tmp = ishft(pack_tmp, -9)
5677 data_tmp = full_data(idata)
5678 data_tmp = ishft(data_tmp, 55)
5679 pack_tmp = ior(pack_tmp, data_tmp)
5680 pack_tmp = ishft(pack_tmp, -5)
5682 data_tmp = full_data(idata)
5683 data_tmp = ishft(data_tmp, 55)
5684 data_tmp = iand(data_tmp, mask_left(5))
5685 pack_tmp = ior(pack_tmp, data_tmp)
5687 packed_data(ipack) = pack_tmp
5688 data_tmp = full_data(idata)
5689 pack_tmp = ishft(data_tmp, 60)
5690 pack_tmp = ishft(pack_tmp, -9)
5692 data_tmp = full_data(idata)
5693 data_tmp = ishft(data_tmp, 55)
5694 pack_tmp = ior(pack_tmp, data_tmp)
5695 pack_tmp = ishft(pack_tmp, -9)
5697 data_tmp = full_data(idata)
5698 data_tmp = ishft(data_tmp, 55)
5699 pack_tmp = ior(pack_tmp, data_tmp)
5700 pack_tmp = ishft(pack_tmp, -9)
5702 data_tmp = full_data(idata)
5703 data_tmp = ishft(data_tmp, 55)
5704 pack_tmp = ior(pack_tmp, data_tmp)
5705 pack_tmp = ishft(pack_tmp, -9)
5707 data_tmp = full_data(idata)
5708 data_tmp = ishft(data_tmp, 55)
5709 pack_tmp = ior(pack_tmp, data_tmp)
5710 pack_tmp = ishft(pack_tmp, -9)
5712 data_tmp = full_data(idata)
5713 data_tmp = ishft(data_tmp, 55)
5714 pack_tmp = ior(pack_tmp, data_tmp)
5715 pack_tmp = ishft(pack_tmp, -9)
5717 data_tmp = full_data(idata)
5718 data_tmp = ishft(data_tmp, 55)
5719 pack_tmp = ior(pack_tmp, data_tmp)
5720 pack_tmp = ishft(pack_tmp, -6)
5722 data_tmp = full_data(idata)
5723 data_tmp = ishft(data_tmp, 55)
5724 data_tmp = iand(data_tmp, mask_left(6))
5725 pack_tmp = ior(pack_tmp, data_tmp)
5727 packed_data(ipack) = pack_tmp
5728 data_tmp = full_data(idata)
5729 pack_tmp = ishft(data_tmp, 61)
5730 pack_tmp = ishft(pack_tmp, -9)
5732 data_tmp = full_data(idata)
5733 data_tmp = ishft(data_tmp, 55)
5734 pack_tmp = ior(pack_tmp, data_tmp)
5735 pack_tmp = ishft(pack_tmp, -9)
5737 data_tmp = full_data(idata)
5738 data_tmp = ishft(data_tmp, 55)
5739 pack_tmp = ior(pack_tmp, data_tmp)
5740 pack_tmp = ishft(pack_tmp, -9)
5742 data_tmp = full_data(idata)
5743 data_tmp = ishft(data_tmp, 55)
5744 pack_tmp = ior(pack_tmp, data_tmp)
5745 pack_tmp = ishft(pack_tmp, -9)
5747 data_tmp = full_data(idata)
5748 data_tmp = ishft(data_tmp, 55)
5749 pack_tmp = ior(pack_tmp, data_tmp)
5750 pack_tmp = ishft(pack_tmp, -9)
5752 data_tmp = full_data(idata)
5753 data_tmp = ishft(data_tmp, 55)
5754 pack_tmp = ior(pack_tmp, data_tmp)
5755 pack_tmp = ishft(pack_tmp, -9)
5757 data_tmp = full_data(idata)
5758 data_tmp = ishft(data_tmp, 55)
5759 pack_tmp = ior(pack_tmp, data_tmp)
5760 pack_tmp = ishft(pack_tmp, -7)
5762 data_tmp = full_data(idata)
5763 data_tmp = ishft(data_tmp, 55)
5764 data_tmp = iand(data_tmp, mask_left(7))
5765 pack_tmp = ior(pack_tmp, data_tmp)
5767 packed_data(ipack) = pack_tmp
5768 data_tmp = full_data(idata)
5769 pack_tmp = ishft(data_tmp, 62)
5770 pack_tmp = ishft(pack_tmp, -9)
5772 data_tmp = full_data(idata)
5773 data_tmp = ishft(data_tmp, 55)
5774 pack_tmp = ior(pack_tmp, data_tmp)
5775 pack_tmp = ishft(pack_tmp, -9)
5777 data_tmp = full_data(idata)
5778 data_tmp = ishft(data_tmp, 55)
5779 pack_tmp = ior(pack_tmp, data_tmp)
5780 pack_tmp = ishft(pack_tmp, -9)
5782 data_tmp = full_data(idata)
5783 data_tmp = ishft(data_tmp, 55)
5784 pack_tmp = ior(pack_tmp, data_tmp)
5785 pack_tmp = ishft(pack_tmp, -9)
5787 data_tmp = full_data(idata)
5788 data_tmp = ishft(data_tmp, 55)
5789 pack_tmp = ior(pack_tmp, data_tmp)
5790 pack_tmp = ishft(pack_tmp, -9)
5792 data_tmp = full_data(idata)
5793 data_tmp = ishft(data_tmp, 55)
5794 pack_tmp = ior(pack_tmp, data_tmp)
5795 pack_tmp = ishft(pack_tmp, -9)
5797 data_tmp = full_data(idata)
5798 data_tmp = ishft(data_tmp, 55)
5799 pack_tmp = ior(pack_tmp, data_tmp)
5800 pack_tmp = ishft(pack_tmp, -8)
5802 data_tmp = full_data(idata)
5803 data_tmp = ishft(data_tmp, 55)
5804 data_tmp = iand(data_tmp, mask_left(8))
5805 pack_tmp = ior(pack_tmp, data_tmp)
5807 packed_data(ipack) = pack_tmp
5808 data_tmp = full_data(idata)
5809 pack_tmp = ishft(data_tmp, 63)
5810 pack_tmp = ishft(pack_tmp, -9)
5812 data_tmp = full_data(idata)
5813 data_tmp = ishft(data_tmp, 55)
5814 pack_tmp = ior(pack_tmp, data_tmp)
5815 pack_tmp = ishft(pack_tmp, -9)
5817 data_tmp = full_data(idata)
5818 data_tmp = ishft(data_tmp, 55)
5819 pack_tmp = ior(pack_tmp, data_tmp)
5820 pack_tmp = ishft(pack_tmp, -9)
5822 data_tmp = full_data(idata)
5823 data_tmp = ishft(data_tmp, 55)
5824 pack_tmp = ior(pack_tmp, data_tmp)
5825 pack_tmp = ishft(pack_tmp, -9)
5827 data_tmp = full_data(idata)
5828 data_tmp = ishft(data_tmp, 55)
5829 pack_tmp = ior(pack_tmp, data_tmp)
5830 pack_tmp = ishft(pack_tmp, -9)
5832 data_tmp = full_data(idata)
5833 data_tmp = ishft(data_tmp, 55)
5834 pack_tmp = ior(pack_tmp, data_tmp)
5835 pack_tmp = ishft(pack_tmp, -9)
5837 data_tmp = full_data(idata)
5838 data_tmp = ishft(data_tmp, 55)
5839 pack_tmp = ior(pack_tmp, data_tmp)
5840 pack_tmp = ishft(pack_tmp, -9)
5842 data_tmp = full_data(idata)
5843 data_tmp = ishft(data_tmp, 55)
5844 pack_tmp = ior(pack_tmp, data_tmp)
5845 pack_tmp = ishft(pack_tmp, 0)
5846 pack_tmp = ishft(pack_tmp, 0)
5848 packed_data(ipack) = pack_tmp
5850 IF (ndata_rep < ndata)
THEN
5851 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
5853 END SUBROUTINE ints2bits_9
5861 SUBROUTINE bits2ints_9(Ndata, packed_data, full_data)
5862 INTEGER,
INTENT(IN) :: Ndata
5863 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
5864 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
5866 INTEGER,
PARAMETER :: Nbits = 9
5868 INTEGER :: idata, ipack, kdata, Ndata_rep
5869 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
5874 ndata_rep = (ndata/64)*64
5875 DO kdata = 1, ndata_rep, 64
5877 data_tmp = ishft(pack_tmp, 9)
5879 pack_tmp = packed_data(ipack)
5880 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
5881 pack_tmp = ishft(pack_tmp, -9)
5883 data_tmp = iand(pack_tmp, mask_right(nbits))
5884 full_data(idata) = data_tmp
5885 pack_tmp = ishft(pack_tmp, -nbits)
5887 data_tmp = iand(pack_tmp, mask_right(nbits))
5888 full_data(idata) = data_tmp
5889 pack_tmp = ishft(pack_tmp, -nbits)
5891 data_tmp = iand(pack_tmp, mask_right(nbits))
5892 full_data(idata) = data_tmp
5893 pack_tmp = ishft(pack_tmp, -nbits)
5895 data_tmp = iand(pack_tmp, mask_right(nbits))
5896 full_data(idata) = data_tmp
5897 pack_tmp = ishft(pack_tmp, -nbits)
5899 data_tmp = iand(pack_tmp, mask_right(nbits))
5900 full_data(idata) = data_tmp
5901 pack_tmp = ishft(pack_tmp, -nbits)
5903 data_tmp = iand(pack_tmp, mask_right(nbits))
5904 full_data(idata) = data_tmp
5905 pack_tmp = ishft(pack_tmp, -nbits)
5907 data_tmp = ishft(pack_tmp, 8)
5909 pack_tmp = packed_data(ipack)
5910 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
5911 pack_tmp = ishft(pack_tmp, -8)
5913 data_tmp = iand(pack_tmp, mask_right(nbits))
5914 full_data(idata) = data_tmp
5915 pack_tmp = ishft(pack_tmp, -nbits)
5917 data_tmp = iand(pack_tmp, mask_right(nbits))
5918 full_data(idata) = data_tmp
5919 pack_tmp = ishft(pack_tmp, -nbits)
5921 data_tmp = iand(pack_tmp, mask_right(nbits))
5922 full_data(idata) = data_tmp
5923 pack_tmp = ishft(pack_tmp, -nbits)
5925 data_tmp = iand(pack_tmp, mask_right(nbits))
5926 full_data(idata) = data_tmp
5927 pack_tmp = ishft(pack_tmp, -nbits)
5929 data_tmp = iand(pack_tmp, mask_right(nbits))
5930 full_data(idata) = data_tmp
5931 pack_tmp = ishft(pack_tmp, -nbits)
5933 data_tmp = iand(pack_tmp, mask_right(nbits))
5934 full_data(idata) = data_tmp
5935 pack_tmp = ishft(pack_tmp, -nbits)
5937 data_tmp = ishft(pack_tmp, 7)
5939 pack_tmp = packed_data(ipack)
5940 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
5941 pack_tmp = ishft(pack_tmp, -7)
5943 data_tmp = iand(pack_tmp, mask_right(nbits))
5944 full_data(idata) = data_tmp
5945 pack_tmp = ishft(pack_tmp, -nbits)
5947 data_tmp = iand(pack_tmp, mask_right(nbits))
5948 full_data(idata) = data_tmp
5949 pack_tmp = ishft(pack_tmp, -nbits)
5951 data_tmp = iand(pack_tmp, mask_right(nbits))
5952 full_data(idata) = data_tmp
5953 pack_tmp = ishft(pack_tmp, -nbits)
5955 data_tmp = iand(pack_tmp, mask_right(nbits))
5956 full_data(idata) = data_tmp
5957 pack_tmp = ishft(pack_tmp, -nbits)
5959 data_tmp = iand(pack_tmp, mask_right(nbits))
5960 full_data(idata) = data_tmp
5961 pack_tmp = ishft(pack_tmp, -nbits)
5963 data_tmp = iand(pack_tmp, mask_right(nbits))
5964 full_data(idata) = data_tmp
5965 pack_tmp = ishft(pack_tmp, -nbits)
5967 data_tmp = ishft(pack_tmp, 6)
5969 pack_tmp = packed_data(ipack)
5970 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
5971 pack_tmp = ishft(pack_tmp, -6)
5973 data_tmp = iand(pack_tmp, mask_right(nbits))
5974 full_data(idata) = data_tmp
5975 pack_tmp = ishft(pack_tmp, -nbits)
5977 data_tmp = iand(pack_tmp, mask_right(nbits))
5978 full_data(idata) = data_tmp
5979 pack_tmp = ishft(pack_tmp, -nbits)
5981 data_tmp = iand(pack_tmp, mask_right(nbits))
5982 full_data(idata) = data_tmp
5983 pack_tmp = ishft(pack_tmp, -nbits)
5985 data_tmp = iand(pack_tmp, mask_right(nbits))
5986 full_data(idata) = data_tmp
5987 pack_tmp = ishft(pack_tmp, -nbits)
5989 data_tmp = iand(pack_tmp, mask_right(nbits))
5990 full_data(idata) = data_tmp
5991 pack_tmp = ishft(pack_tmp, -nbits)
5993 data_tmp = iand(pack_tmp, mask_right(nbits))
5994 full_data(idata) = data_tmp
5995 pack_tmp = ishft(pack_tmp, -nbits)
5997 data_tmp = ishft(pack_tmp, 5)
5999 pack_tmp = packed_data(ipack)
6000 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
6001 pack_tmp = ishft(pack_tmp, -5)
6003 data_tmp = iand(pack_tmp, mask_right(nbits))
6004 full_data(idata) = data_tmp
6005 pack_tmp = ishft(pack_tmp, -nbits)
6007 data_tmp = iand(pack_tmp, mask_right(nbits))
6008 full_data(idata) = data_tmp
6009 pack_tmp = ishft(pack_tmp, -nbits)
6011 data_tmp = iand(pack_tmp, mask_right(nbits))
6012 full_data(idata) = data_tmp
6013 pack_tmp = ishft(pack_tmp, -nbits)
6015 data_tmp = iand(pack_tmp, mask_right(nbits))
6016 full_data(idata) = data_tmp
6017 pack_tmp = ishft(pack_tmp, -nbits)
6019 data_tmp = iand(pack_tmp, mask_right(nbits))
6020 full_data(idata) = data_tmp
6021 pack_tmp = ishft(pack_tmp, -nbits)
6023 data_tmp = iand(pack_tmp, mask_right(nbits))
6024 full_data(idata) = data_tmp
6025 pack_tmp = ishft(pack_tmp, -nbits)
6027 data_tmp = ishft(pack_tmp, 4)
6029 pack_tmp = packed_data(ipack)
6030 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
6031 pack_tmp = ishft(pack_tmp, -4)
6033 data_tmp = iand(pack_tmp, mask_right(nbits))
6034 full_data(idata) = data_tmp
6035 pack_tmp = ishft(pack_tmp, -nbits)
6037 data_tmp = iand(pack_tmp, mask_right(nbits))
6038 full_data(idata) = data_tmp
6039 pack_tmp = ishft(pack_tmp, -nbits)
6041 data_tmp = iand(pack_tmp, mask_right(nbits))
6042 full_data(idata) = data_tmp
6043 pack_tmp = ishft(pack_tmp, -nbits)
6045 data_tmp = iand(pack_tmp, mask_right(nbits))
6046 full_data(idata) = data_tmp
6047 pack_tmp = ishft(pack_tmp, -nbits)
6049 data_tmp = iand(pack_tmp, mask_right(nbits))
6050 full_data(idata) = data_tmp
6051 pack_tmp = ishft(pack_tmp, -nbits)
6053 data_tmp = iand(pack_tmp, mask_right(nbits))
6054 full_data(idata) = data_tmp
6055 pack_tmp = ishft(pack_tmp, -nbits)
6057 data_tmp = ishft(pack_tmp, 3)
6059 pack_tmp = packed_data(ipack)
6060 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
6061 pack_tmp = ishft(pack_tmp, -3)
6063 data_tmp = iand(pack_tmp, mask_right(nbits))
6064 full_data(idata) = data_tmp
6065 pack_tmp = ishft(pack_tmp, -nbits)
6067 data_tmp = iand(pack_tmp, mask_right(nbits))
6068 full_data(idata) = data_tmp
6069 pack_tmp = ishft(pack_tmp, -nbits)
6071 data_tmp = iand(pack_tmp, mask_right(nbits))
6072 full_data(idata) = data_tmp
6073 pack_tmp = ishft(pack_tmp, -nbits)
6075 data_tmp = iand(pack_tmp, mask_right(nbits))
6076 full_data(idata) = data_tmp
6077 pack_tmp = ishft(pack_tmp, -nbits)
6079 data_tmp = iand(pack_tmp, mask_right(nbits))
6080 full_data(idata) = data_tmp
6081 pack_tmp = ishft(pack_tmp, -nbits)
6083 data_tmp = iand(pack_tmp, mask_right(nbits))
6084 full_data(idata) = data_tmp
6085 pack_tmp = ishft(pack_tmp, -nbits)
6087 data_tmp = ishft(pack_tmp, 2)
6089 pack_tmp = packed_data(ipack)
6090 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
6091 pack_tmp = ishft(pack_tmp, -2)
6093 data_tmp = iand(pack_tmp, mask_right(nbits))
6094 full_data(idata) = data_tmp
6095 pack_tmp = ishft(pack_tmp, -nbits)
6097 data_tmp = iand(pack_tmp, mask_right(nbits))
6098 full_data(idata) = data_tmp
6099 pack_tmp = ishft(pack_tmp, -nbits)
6101 data_tmp = iand(pack_tmp, mask_right(nbits))
6102 full_data(idata) = data_tmp
6103 pack_tmp = ishft(pack_tmp, -nbits)
6105 data_tmp = iand(pack_tmp, mask_right(nbits))
6106 full_data(idata) = data_tmp
6107 pack_tmp = ishft(pack_tmp, -nbits)
6109 data_tmp = iand(pack_tmp, mask_right(nbits))
6110 full_data(idata) = data_tmp
6111 pack_tmp = ishft(pack_tmp, -nbits)
6113 data_tmp = iand(pack_tmp, mask_right(nbits))
6114 full_data(idata) = data_tmp
6115 pack_tmp = ishft(pack_tmp, -nbits)
6117 data_tmp = ishft(pack_tmp, 1)
6119 pack_tmp = packed_data(ipack)
6120 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
6121 pack_tmp = ishft(pack_tmp, -1)
6123 data_tmp = iand(pack_tmp, mask_right(nbits))
6124 full_data(idata) = data_tmp
6125 pack_tmp = ishft(pack_tmp, -nbits)
6127 data_tmp = iand(pack_tmp, mask_right(nbits))
6128 full_data(idata) = data_tmp
6129 pack_tmp = ishft(pack_tmp, -nbits)
6131 data_tmp = iand(pack_tmp, mask_right(nbits))
6132 full_data(idata) = data_tmp
6133 pack_tmp = ishft(pack_tmp, -nbits)
6135 data_tmp = iand(pack_tmp, mask_right(nbits))
6136 full_data(idata) = data_tmp
6137 pack_tmp = ishft(pack_tmp, -nbits)
6139 data_tmp = iand(pack_tmp, mask_right(nbits))
6140 full_data(idata) = data_tmp
6141 pack_tmp = ishft(pack_tmp, -nbits)
6143 data_tmp = iand(pack_tmp, mask_right(nbits))
6144 full_data(idata) = data_tmp
6145 pack_tmp = ishft(pack_tmp, -nbits)
6147 data_tmp = iand(pack_tmp, mask_right(nbits))
6148 full_data(idata) = data_tmp
6149 pack_tmp = ishft(pack_tmp, -nbits)
6151 IF (ndata_rep < ndata)
THEN
6152 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
6154 END SUBROUTINE bits2ints_9
6162 SUBROUTINE ints2bits_10(Ndata, packed_data, full_data)
6163 INTEGER,
INTENT(IN) :: Ndata
6164 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
6165 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
6167 INTEGER,
PARAMETER :: Nbits = 10
6169 INTEGER :: idata, ipack, kdata, Ndata_rep
6170 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
6174 ndata_rep = (ndata/64)*64
6175 DO kdata = 1, ndata_rep, 64
6178 data_tmp = full_data(idata)
6179 data_tmp = ishft(data_tmp, 54)
6180 pack_tmp = ior(pack_tmp, data_tmp)
6181 pack_tmp = ishft(pack_tmp, -10)
6183 data_tmp = full_data(idata)
6184 data_tmp = ishft(data_tmp, 54)
6185 pack_tmp = ior(pack_tmp, data_tmp)
6186 pack_tmp = ishft(pack_tmp, -10)
6188 data_tmp = full_data(idata)
6189 data_tmp = ishft(data_tmp, 54)
6190 pack_tmp = ior(pack_tmp, data_tmp)
6191 pack_tmp = ishft(pack_tmp, -10)
6193 data_tmp = full_data(idata)
6194 data_tmp = ishft(data_tmp, 54)
6195 pack_tmp = ior(pack_tmp, data_tmp)
6196 pack_tmp = ishft(pack_tmp, -10)
6198 data_tmp = full_data(idata)
6199 data_tmp = ishft(data_tmp, 54)
6200 pack_tmp = ior(pack_tmp, data_tmp)
6201 pack_tmp = ishft(pack_tmp, -10)
6203 data_tmp = full_data(idata)
6204 data_tmp = ishft(data_tmp, 54)
6205 pack_tmp = ior(pack_tmp, data_tmp)
6206 pack_tmp = ishft(pack_tmp, -4)
6208 data_tmp = full_data(idata)
6209 data_tmp = ishft(data_tmp, 54)
6210 data_tmp = iand(data_tmp, mask_left(4))
6211 pack_tmp = ior(pack_tmp, data_tmp)
6213 packed_data(ipack) = pack_tmp
6214 data_tmp = full_data(idata)
6215 pack_tmp = ishft(data_tmp, 58)
6216 pack_tmp = ishft(pack_tmp, -10)
6218 data_tmp = full_data(idata)
6219 data_tmp = ishft(data_tmp, 54)
6220 pack_tmp = ior(pack_tmp, data_tmp)
6221 pack_tmp = ishft(pack_tmp, -10)
6223 data_tmp = full_data(idata)
6224 data_tmp = ishft(data_tmp, 54)
6225 pack_tmp = ior(pack_tmp, data_tmp)
6226 pack_tmp = ishft(pack_tmp, -10)
6228 data_tmp = full_data(idata)
6229 data_tmp = ishft(data_tmp, 54)
6230 pack_tmp = ior(pack_tmp, data_tmp)
6231 pack_tmp = ishft(pack_tmp, -10)
6233 data_tmp = full_data(idata)
6234 data_tmp = ishft(data_tmp, 54)
6235 pack_tmp = ior(pack_tmp, data_tmp)
6236 pack_tmp = ishft(pack_tmp, -10)
6238 data_tmp = full_data(idata)
6239 data_tmp = ishft(data_tmp, 54)
6240 pack_tmp = ior(pack_tmp, data_tmp)
6241 pack_tmp = ishft(pack_tmp, -8)
6243 data_tmp = full_data(idata)
6244 data_tmp = ishft(data_tmp, 54)
6245 data_tmp = iand(data_tmp, mask_left(8))
6246 pack_tmp = ior(pack_tmp, data_tmp)
6248 packed_data(ipack) = pack_tmp
6249 data_tmp = full_data(idata)
6250 pack_tmp = ishft(data_tmp, 62)
6251 pack_tmp = ishft(pack_tmp, -10)
6253 data_tmp = full_data(idata)
6254 data_tmp = ishft(data_tmp, 54)
6255 pack_tmp = ior(pack_tmp, data_tmp)
6256 pack_tmp = ishft(pack_tmp, -10)
6258 data_tmp = full_data(idata)
6259 data_tmp = ishft(data_tmp, 54)
6260 pack_tmp = ior(pack_tmp, data_tmp)
6261 pack_tmp = ishft(pack_tmp, -10)
6263 data_tmp = full_data(idata)
6264 data_tmp = ishft(data_tmp, 54)
6265 pack_tmp = ior(pack_tmp, data_tmp)
6266 pack_tmp = ishft(pack_tmp, -10)
6268 data_tmp = full_data(idata)
6269 data_tmp = ishft(data_tmp, 54)
6270 pack_tmp = ior(pack_tmp, data_tmp)
6271 pack_tmp = ishft(pack_tmp, -10)
6273 data_tmp = full_data(idata)
6274 data_tmp = ishft(data_tmp, 54)
6275 pack_tmp = ior(pack_tmp, data_tmp)
6276 pack_tmp = ishft(pack_tmp, -10)
6278 data_tmp = full_data(idata)
6279 data_tmp = ishft(data_tmp, 54)
6280 pack_tmp = ior(pack_tmp, data_tmp)
6281 pack_tmp = ishft(pack_tmp, -2)
6283 data_tmp = full_data(idata)
6284 data_tmp = ishft(data_tmp, 54)
6285 data_tmp = iand(data_tmp, mask_left(2))
6286 pack_tmp = ior(pack_tmp, data_tmp)
6288 packed_data(ipack) = pack_tmp
6289 data_tmp = full_data(idata)
6290 pack_tmp = ishft(data_tmp, 56)
6291 pack_tmp = ishft(pack_tmp, -10)
6293 data_tmp = full_data(idata)
6294 data_tmp = ishft(data_tmp, 54)
6295 pack_tmp = ior(pack_tmp, data_tmp)
6296 pack_tmp = ishft(pack_tmp, -10)
6298 data_tmp = full_data(idata)
6299 data_tmp = ishft(data_tmp, 54)
6300 pack_tmp = ior(pack_tmp, data_tmp)
6301 pack_tmp = ishft(pack_tmp, -10)
6303 data_tmp = full_data(idata)
6304 data_tmp = ishft(data_tmp, 54)
6305 pack_tmp = ior(pack_tmp, data_tmp)
6306 pack_tmp = ishft(pack_tmp, -10)
6308 data_tmp = full_data(idata)
6309 data_tmp = ishft(data_tmp, 54)
6310 pack_tmp = ior(pack_tmp, data_tmp)
6311 pack_tmp = ishft(pack_tmp, -10)
6313 data_tmp = full_data(idata)
6314 data_tmp = ishft(data_tmp, 54)
6315 pack_tmp = ior(pack_tmp, data_tmp)
6316 pack_tmp = ishft(pack_tmp, -6)
6318 data_tmp = full_data(idata)
6319 data_tmp = ishft(data_tmp, 54)
6320 data_tmp = iand(data_tmp, mask_left(6))
6321 pack_tmp = ior(pack_tmp, data_tmp)
6323 packed_data(ipack) = pack_tmp
6324 data_tmp = full_data(idata)
6325 pack_tmp = ishft(data_tmp, 60)
6326 pack_tmp = ishft(pack_tmp, -10)
6328 data_tmp = full_data(idata)
6329 data_tmp = ishft(data_tmp, 54)
6330 pack_tmp = ior(pack_tmp, data_tmp)
6331 pack_tmp = ishft(pack_tmp, -10)
6333 data_tmp = full_data(idata)
6334 data_tmp = ishft(data_tmp, 54)
6335 pack_tmp = ior(pack_tmp, data_tmp)
6336 pack_tmp = ishft(pack_tmp, -10)
6338 data_tmp = full_data(idata)
6339 data_tmp = ishft(data_tmp, 54)
6340 pack_tmp = ior(pack_tmp, data_tmp)
6341 pack_tmp = ishft(pack_tmp, -10)
6343 data_tmp = full_data(idata)
6344 data_tmp = ishft(data_tmp, 54)
6345 pack_tmp = ior(pack_tmp, data_tmp)
6346 pack_tmp = ishft(pack_tmp, -10)
6348 data_tmp = full_data(idata)
6349 data_tmp = ishft(data_tmp, 54)
6350 pack_tmp = ior(pack_tmp, data_tmp)
6351 pack_tmp = ishft(pack_tmp, -10)
6353 data_tmp = full_data(idata)
6354 data_tmp = ishft(data_tmp, 54)
6355 pack_tmp = ior(pack_tmp, data_tmp)
6356 pack_tmp = ishft(pack_tmp, 0)
6358 data_tmp = full_data(idata)
6359 data_tmp = ishft(data_tmp, 54)
6360 data_tmp = iand(data_tmp, mask_left(0))
6361 pack_tmp = ior(pack_tmp, data_tmp)
6363 packed_data(ipack) = pack_tmp
6364 data_tmp = full_data(idata)
6365 pack_tmp = ishft(data_tmp, 54)
6366 pack_tmp = ishft(pack_tmp, -10)
6368 data_tmp = full_data(idata)
6369 data_tmp = ishft(data_tmp, 54)
6370 pack_tmp = ior(pack_tmp, data_tmp)
6371 pack_tmp = ishft(pack_tmp, -10)
6373 data_tmp = full_data(idata)
6374 data_tmp = ishft(data_tmp, 54)
6375 pack_tmp = ior(pack_tmp, data_tmp)
6376 pack_tmp = ishft(pack_tmp, -10)
6378 data_tmp = full_data(idata)
6379 data_tmp = ishft(data_tmp, 54)
6380 pack_tmp = ior(pack_tmp, data_tmp)
6381 pack_tmp = ishft(pack_tmp, -10)
6383 data_tmp = full_data(idata)
6384 data_tmp = ishft(data_tmp, 54)
6385 pack_tmp = ior(pack_tmp, data_tmp)
6386 pack_tmp = ishft(pack_tmp, -10)
6388 data_tmp = full_data(idata)
6389 data_tmp = ishft(data_tmp, 54)
6390 pack_tmp = ior(pack_tmp, data_tmp)
6391 pack_tmp = ishft(pack_tmp, -4)
6393 data_tmp = full_data(idata)
6394 data_tmp = ishft(data_tmp, 54)
6395 data_tmp = iand(data_tmp, mask_left(4))
6396 pack_tmp = ior(pack_tmp, data_tmp)
6398 packed_data(ipack) = pack_tmp
6399 data_tmp = full_data(idata)
6400 pack_tmp = ishft(data_tmp, 58)
6401 pack_tmp = ishft(pack_tmp, -10)
6403 data_tmp = full_data(idata)
6404 data_tmp = ishft(data_tmp, 54)
6405 pack_tmp = ior(pack_tmp, data_tmp)
6406 pack_tmp = ishft(pack_tmp, -10)
6408 data_tmp = full_data(idata)
6409 data_tmp = ishft(data_tmp, 54)
6410 pack_tmp = ior(pack_tmp, data_tmp)
6411 pack_tmp = ishft(pack_tmp, -10)
6413 data_tmp = full_data(idata)
6414 data_tmp = ishft(data_tmp, 54)
6415 pack_tmp = ior(pack_tmp, data_tmp)
6416 pack_tmp = ishft(pack_tmp, -10)
6418 data_tmp = full_data(idata)
6419 data_tmp = ishft(data_tmp, 54)
6420 pack_tmp = ior(pack_tmp, data_tmp)
6421 pack_tmp = ishft(pack_tmp, -10)
6423 data_tmp = full_data(idata)
6424 data_tmp = ishft(data_tmp, 54)
6425 pack_tmp = ior(pack_tmp, data_tmp)
6426 pack_tmp = ishft(pack_tmp, -8)
6428 data_tmp = full_data(idata)
6429 data_tmp = ishft(data_tmp, 54)
6430 data_tmp = iand(data_tmp, mask_left(8))
6431 pack_tmp = ior(pack_tmp, data_tmp)
6433 packed_data(ipack) = pack_tmp
6434 data_tmp = full_data(idata)
6435 pack_tmp = ishft(data_tmp, 62)
6436 pack_tmp = ishft(pack_tmp, -10)
6438 data_tmp = full_data(idata)
6439 data_tmp = ishft(data_tmp, 54)
6440 pack_tmp = ior(pack_tmp, data_tmp)
6441 pack_tmp = ishft(pack_tmp, -10)
6443 data_tmp = full_data(idata)
6444 data_tmp = ishft(data_tmp, 54)
6445 pack_tmp = ior(pack_tmp, data_tmp)
6446 pack_tmp = ishft(pack_tmp, -10)
6448 data_tmp = full_data(idata)
6449 data_tmp = ishft(data_tmp, 54)
6450 pack_tmp = ior(pack_tmp, data_tmp)
6451 pack_tmp = ishft(pack_tmp, -10)
6453 data_tmp = full_data(idata)
6454 data_tmp = ishft(data_tmp, 54)
6455 pack_tmp = ior(pack_tmp, data_tmp)
6456 pack_tmp = ishft(pack_tmp, -10)
6458 data_tmp = full_data(idata)
6459 data_tmp = ishft(data_tmp, 54)
6460 pack_tmp = ior(pack_tmp, data_tmp)
6461 pack_tmp = ishft(pack_tmp, -10)
6463 data_tmp = full_data(idata)
6464 data_tmp = ishft(data_tmp, 54)
6465 pack_tmp = ior(pack_tmp, data_tmp)
6466 pack_tmp = ishft(pack_tmp, -2)
6468 data_tmp = full_data(idata)
6469 data_tmp = ishft(data_tmp, 54)
6470 data_tmp = iand(data_tmp, mask_left(2))
6471 pack_tmp = ior(pack_tmp, data_tmp)
6473 packed_data(ipack) = pack_tmp
6474 data_tmp = full_data(idata)
6475 pack_tmp = ishft(data_tmp, 56)
6476 pack_tmp = ishft(pack_tmp, -10)
6478 data_tmp = full_data(idata)
6479 data_tmp = ishft(data_tmp, 54)
6480 pack_tmp = ior(pack_tmp, data_tmp)
6481 pack_tmp = ishft(pack_tmp, -10)
6483 data_tmp = full_data(idata)
6484 data_tmp = ishft(data_tmp, 54)
6485 pack_tmp = ior(pack_tmp, data_tmp)
6486 pack_tmp = ishft(pack_tmp, -10)
6488 data_tmp = full_data(idata)
6489 data_tmp = ishft(data_tmp, 54)
6490 pack_tmp = ior(pack_tmp, data_tmp)
6491 pack_tmp = ishft(pack_tmp, -10)
6493 data_tmp = full_data(idata)
6494 data_tmp = ishft(data_tmp, 54)
6495 pack_tmp = ior(pack_tmp, data_tmp)
6496 pack_tmp = ishft(pack_tmp, -10)
6498 data_tmp = full_data(idata)
6499 data_tmp = ishft(data_tmp, 54)
6500 pack_tmp = ior(pack_tmp, data_tmp)
6501 pack_tmp = ishft(pack_tmp, -6)
6503 data_tmp = full_data(idata)
6504 data_tmp = ishft(data_tmp, 54)
6505 data_tmp = iand(data_tmp, mask_left(6))
6506 pack_tmp = ior(pack_tmp, data_tmp)
6508 packed_data(ipack) = pack_tmp
6509 data_tmp = full_data(idata)
6510 pack_tmp = ishft(data_tmp, 60)
6511 pack_tmp = ishft(pack_tmp, -10)
6513 data_tmp = full_data(idata)
6514 data_tmp = ishft(data_tmp, 54)
6515 pack_tmp = ior(pack_tmp, data_tmp)
6516 pack_tmp = ishft(pack_tmp, -10)
6518 data_tmp = full_data(idata)
6519 data_tmp = ishft(data_tmp, 54)
6520 pack_tmp = ior(pack_tmp, data_tmp)
6521 pack_tmp = ishft(pack_tmp, -10)
6523 data_tmp = full_data(idata)
6524 data_tmp = ishft(data_tmp, 54)
6525 pack_tmp = ior(pack_tmp, data_tmp)
6526 pack_tmp = ishft(pack_tmp, -10)
6528 data_tmp = full_data(idata)
6529 data_tmp = ishft(data_tmp, 54)
6530 pack_tmp = ior(pack_tmp, data_tmp)
6531 pack_tmp = ishft(pack_tmp, -10)
6533 data_tmp = full_data(idata)
6534 data_tmp = ishft(data_tmp, 54)
6535 pack_tmp = ior(pack_tmp, data_tmp)
6536 pack_tmp = ishft(pack_tmp, -10)
6538 data_tmp = full_data(idata)
6539 data_tmp = ishft(data_tmp, 54)
6540 pack_tmp = ior(pack_tmp, data_tmp)
6541 pack_tmp = ishft(pack_tmp, 0)
6542 pack_tmp = ishft(pack_tmp, 0)
6544 packed_data(ipack) = pack_tmp
6546 IF (ndata_rep < ndata)
THEN
6547 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
6549 END SUBROUTINE ints2bits_10
6557 SUBROUTINE bits2ints_10(Ndata, packed_data, full_data)
6558 INTEGER,
INTENT(IN) :: Ndata
6559 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
6560 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
6562 INTEGER,
PARAMETER :: Nbits = 10
6564 INTEGER :: idata, ipack, kdata, Ndata_rep
6565 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
6570 ndata_rep = (ndata/64)*64
6571 DO kdata = 1, ndata_rep, 64
6573 data_tmp = ishft(pack_tmp, 10)
6575 pack_tmp = packed_data(ipack)
6576 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
6577 pack_tmp = ishft(pack_tmp, -10)
6579 data_tmp = iand(pack_tmp, mask_right(nbits))
6580 full_data(idata) = data_tmp
6581 pack_tmp = ishft(pack_tmp, -nbits)
6583 data_tmp = iand(pack_tmp, mask_right(nbits))
6584 full_data(idata) = data_tmp
6585 pack_tmp = ishft(pack_tmp, -nbits)
6587 data_tmp = iand(pack_tmp, mask_right(nbits))
6588 full_data(idata) = data_tmp
6589 pack_tmp = ishft(pack_tmp, -nbits)
6591 data_tmp = iand(pack_tmp, mask_right(nbits))
6592 full_data(idata) = data_tmp
6593 pack_tmp = ishft(pack_tmp, -nbits)
6595 data_tmp = iand(pack_tmp, mask_right(nbits))
6596 full_data(idata) = data_tmp
6597 pack_tmp = ishft(pack_tmp, -nbits)
6599 data_tmp = ishft(pack_tmp, 6)
6601 pack_tmp = packed_data(ipack)
6602 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
6603 pack_tmp = ishft(pack_tmp, -6)
6605 data_tmp = iand(pack_tmp, mask_right(nbits))
6606 full_data(idata) = data_tmp
6607 pack_tmp = ishft(pack_tmp, -nbits)
6609 data_tmp = iand(pack_tmp, mask_right(nbits))
6610 full_data(idata) = data_tmp
6611 pack_tmp = ishft(pack_tmp, -nbits)
6613 data_tmp = iand(pack_tmp, mask_right(nbits))
6614 full_data(idata) = data_tmp
6615 pack_tmp = ishft(pack_tmp, -nbits)
6617 data_tmp = iand(pack_tmp, mask_right(nbits))
6618 full_data(idata) = data_tmp
6619 pack_tmp = ishft(pack_tmp, -nbits)
6621 data_tmp = iand(pack_tmp, mask_right(nbits))
6622 full_data(idata) = data_tmp
6623 pack_tmp = ishft(pack_tmp, -nbits)
6625 data_tmp = ishft(pack_tmp, 2)
6627 pack_tmp = packed_data(ipack)
6628 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
6629 pack_tmp = ishft(pack_tmp, -2)
6631 data_tmp = iand(pack_tmp, mask_right(nbits))
6632 full_data(idata) = data_tmp
6633 pack_tmp = ishft(pack_tmp, -nbits)
6635 data_tmp = iand(pack_tmp, mask_right(nbits))
6636 full_data(idata) = data_tmp
6637 pack_tmp = ishft(pack_tmp, -nbits)
6639 data_tmp = iand(pack_tmp, mask_right(nbits))
6640 full_data(idata) = data_tmp
6641 pack_tmp = ishft(pack_tmp, -nbits)
6643 data_tmp = iand(pack_tmp, mask_right(nbits))
6644 full_data(idata) = data_tmp
6645 pack_tmp = ishft(pack_tmp, -nbits)
6647 data_tmp = iand(pack_tmp, mask_right(nbits))
6648 full_data(idata) = data_tmp
6649 pack_tmp = ishft(pack_tmp, -nbits)
6651 data_tmp = iand(pack_tmp, mask_right(nbits))
6652 full_data(idata) = data_tmp
6653 pack_tmp = ishft(pack_tmp, -nbits)
6655 data_tmp = ishft(pack_tmp, 8)
6657 pack_tmp = packed_data(ipack)
6658 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
6659 pack_tmp = ishft(pack_tmp, -8)
6661 data_tmp = iand(pack_tmp, mask_right(nbits))
6662 full_data(idata) = data_tmp
6663 pack_tmp = ishft(pack_tmp, -nbits)
6665 data_tmp = iand(pack_tmp, mask_right(nbits))
6666 full_data(idata) = data_tmp
6667 pack_tmp = ishft(pack_tmp, -nbits)
6669 data_tmp = iand(pack_tmp, mask_right(nbits))
6670 full_data(idata) = data_tmp
6671 pack_tmp = ishft(pack_tmp, -nbits)
6673 data_tmp = iand(pack_tmp, mask_right(nbits))
6674 full_data(idata) = data_tmp
6675 pack_tmp = ishft(pack_tmp, -nbits)
6677 data_tmp = iand(pack_tmp, mask_right(nbits))
6678 full_data(idata) = data_tmp
6679 pack_tmp = ishft(pack_tmp, -nbits)
6681 data_tmp = ishft(pack_tmp, 4)
6683 pack_tmp = packed_data(ipack)
6684 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
6685 pack_tmp = ishft(pack_tmp, -4)
6687 data_tmp = iand(pack_tmp, mask_right(nbits))
6688 full_data(idata) = data_tmp
6689 pack_tmp = ishft(pack_tmp, -nbits)
6691 data_tmp = iand(pack_tmp, mask_right(nbits))
6692 full_data(idata) = data_tmp
6693 pack_tmp = ishft(pack_tmp, -nbits)
6695 data_tmp = iand(pack_tmp, mask_right(nbits))
6696 full_data(idata) = data_tmp
6697 pack_tmp = ishft(pack_tmp, -nbits)
6699 data_tmp = iand(pack_tmp, mask_right(nbits))
6700 full_data(idata) = data_tmp
6701 pack_tmp = ishft(pack_tmp, -nbits)
6703 data_tmp = iand(pack_tmp, mask_right(nbits))
6704 full_data(idata) = data_tmp
6705 pack_tmp = ishft(pack_tmp, -nbits)
6707 data_tmp = iand(pack_tmp, mask_right(nbits))
6708 full_data(idata) = data_tmp
6709 pack_tmp = ishft(pack_tmp, -nbits)
6711 data_tmp = ishft(pack_tmp, 10)
6713 pack_tmp = packed_data(ipack)
6714 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
6715 pack_tmp = ishft(pack_tmp, -10)
6717 data_tmp = iand(pack_tmp, mask_right(nbits))
6718 full_data(idata) = data_tmp
6719 pack_tmp = ishft(pack_tmp, -nbits)
6721 data_tmp = iand(pack_tmp, mask_right(nbits))
6722 full_data(idata) = data_tmp
6723 pack_tmp = ishft(pack_tmp, -nbits)
6725 data_tmp = iand(pack_tmp, mask_right(nbits))
6726 full_data(idata) = data_tmp
6727 pack_tmp = ishft(pack_tmp, -nbits)
6729 data_tmp = iand(pack_tmp, mask_right(nbits))
6730 full_data(idata) = data_tmp
6731 pack_tmp = ishft(pack_tmp, -nbits)
6733 data_tmp = iand(pack_tmp, mask_right(nbits))
6734 full_data(idata) = data_tmp
6735 pack_tmp = ishft(pack_tmp, -nbits)
6737 data_tmp = ishft(pack_tmp, 6)
6739 pack_tmp = packed_data(ipack)
6740 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
6741 pack_tmp = ishft(pack_tmp, -6)
6743 data_tmp = iand(pack_tmp, mask_right(nbits))
6744 full_data(idata) = data_tmp
6745 pack_tmp = ishft(pack_tmp, -nbits)
6747 data_tmp = iand(pack_tmp, mask_right(nbits))
6748 full_data(idata) = data_tmp
6749 pack_tmp = ishft(pack_tmp, -nbits)
6751 data_tmp = iand(pack_tmp, mask_right(nbits))
6752 full_data(idata) = data_tmp
6753 pack_tmp = ishft(pack_tmp, -nbits)
6755 data_tmp = iand(pack_tmp, mask_right(nbits))
6756 full_data(idata) = data_tmp
6757 pack_tmp = ishft(pack_tmp, -nbits)
6759 data_tmp = iand(pack_tmp, mask_right(nbits))
6760 full_data(idata) = data_tmp
6761 pack_tmp = ishft(pack_tmp, -nbits)
6763 data_tmp = ishft(pack_tmp, 2)
6765 pack_tmp = packed_data(ipack)
6766 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
6767 pack_tmp = ishft(pack_tmp, -2)
6769 data_tmp = iand(pack_tmp, mask_right(nbits))
6770 full_data(idata) = data_tmp
6771 pack_tmp = ishft(pack_tmp, -nbits)
6773 data_tmp = iand(pack_tmp, mask_right(nbits))
6774 full_data(idata) = data_tmp
6775 pack_tmp = ishft(pack_tmp, -nbits)
6777 data_tmp = iand(pack_tmp, mask_right(nbits))
6778 full_data(idata) = data_tmp
6779 pack_tmp = ishft(pack_tmp, -nbits)
6781 data_tmp = iand(pack_tmp, mask_right(nbits))
6782 full_data(idata) = data_tmp
6783 pack_tmp = ishft(pack_tmp, -nbits)
6785 data_tmp = iand(pack_tmp, mask_right(nbits))
6786 full_data(idata) = data_tmp
6787 pack_tmp = ishft(pack_tmp, -nbits)
6789 data_tmp = iand(pack_tmp, mask_right(nbits))
6790 full_data(idata) = data_tmp
6791 pack_tmp = ishft(pack_tmp, -nbits)
6793 data_tmp = ishft(pack_tmp, 8)
6795 pack_tmp = packed_data(ipack)
6796 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
6797 pack_tmp = ishft(pack_tmp, -8)
6799 data_tmp = iand(pack_tmp, mask_right(nbits))
6800 full_data(idata) = data_tmp
6801 pack_tmp = ishft(pack_tmp, -nbits)
6803 data_tmp = iand(pack_tmp, mask_right(nbits))
6804 full_data(idata) = data_tmp
6805 pack_tmp = ishft(pack_tmp, -nbits)
6807 data_tmp = iand(pack_tmp, mask_right(nbits))
6808 full_data(idata) = data_tmp
6809 pack_tmp = ishft(pack_tmp, -nbits)
6811 data_tmp = iand(pack_tmp, mask_right(nbits))
6812 full_data(idata) = data_tmp
6813 pack_tmp = ishft(pack_tmp, -nbits)
6815 data_tmp = iand(pack_tmp, mask_right(nbits))
6816 full_data(idata) = data_tmp
6817 pack_tmp = ishft(pack_tmp, -nbits)
6819 data_tmp = ishft(pack_tmp, 4)
6821 pack_tmp = packed_data(ipack)
6822 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
6823 pack_tmp = ishft(pack_tmp, -4)
6825 data_tmp = iand(pack_tmp, mask_right(nbits))
6826 full_data(idata) = data_tmp
6827 pack_tmp = ishft(pack_tmp, -nbits)
6829 data_tmp = iand(pack_tmp, mask_right(nbits))
6830 full_data(idata) = data_tmp
6831 pack_tmp = ishft(pack_tmp, -nbits)
6833 data_tmp = iand(pack_tmp, mask_right(nbits))
6834 full_data(idata) = data_tmp
6835 pack_tmp = ishft(pack_tmp, -nbits)
6837 data_tmp = iand(pack_tmp, mask_right(nbits))
6838 full_data(idata) = data_tmp
6839 pack_tmp = ishft(pack_tmp, -nbits)
6841 data_tmp = iand(pack_tmp, mask_right(nbits))
6842 full_data(idata) = data_tmp
6843 pack_tmp = ishft(pack_tmp, -nbits)
6845 data_tmp = iand(pack_tmp, mask_right(nbits))
6846 full_data(idata) = data_tmp
6847 pack_tmp = ishft(pack_tmp, -nbits)
6849 IF (ndata_rep < ndata)
THEN
6850 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
6852 END SUBROUTINE bits2ints_10
6860 SUBROUTINE ints2bits_11(Ndata, packed_data, full_data)
6861 INTEGER,
INTENT(IN) :: Ndata
6862 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
6863 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
6865 INTEGER,
PARAMETER :: Nbits = 11
6867 INTEGER :: idata, ipack, kdata, Ndata_rep
6868 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
6872 ndata_rep = (ndata/64)*64
6873 DO kdata = 1, ndata_rep, 64
6876 data_tmp = full_data(idata)
6877 data_tmp = ishft(data_tmp, 53)
6878 pack_tmp = ior(pack_tmp, data_tmp)
6879 pack_tmp = ishft(pack_tmp, -11)
6881 data_tmp = full_data(idata)
6882 data_tmp = ishft(data_tmp, 53)
6883 pack_tmp = ior(pack_tmp, data_tmp)
6884 pack_tmp = ishft(pack_tmp, -11)
6886 data_tmp = full_data(idata)
6887 data_tmp = ishft(data_tmp, 53)
6888 pack_tmp = ior(pack_tmp, data_tmp)
6889 pack_tmp = ishft(pack_tmp, -11)
6891 data_tmp = full_data(idata)
6892 data_tmp = ishft(data_tmp, 53)
6893 pack_tmp = ior(pack_tmp, data_tmp)
6894 pack_tmp = ishft(pack_tmp, -11)
6896 data_tmp = full_data(idata)
6897 data_tmp = ishft(data_tmp, 53)
6898 pack_tmp = ior(pack_tmp, data_tmp)
6899 pack_tmp = ishft(pack_tmp, -9)
6901 data_tmp = full_data(idata)
6902 data_tmp = ishft(data_tmp, 53)
6903 data_tmp = iand(data_tmp, mask_left(9))
6904 pack_tmp = ior(pack_tmp, data_tmp)
6906 packed_data(ipack) = pack_tmp
6907 data_tmp = full_data(idata)
6908 pack_tmp = ishft(data_tmp, 62)
6909 pack_tmp = ishft(pack_tmp, -11)
6911 data_tmp = full_data(idata)
6912 data_tmp = ishft(data_tmp, 53)
6913 pack_tmp = ior(pack_tmp, data_tmp)
6914 pack_tmp = ishft(pack_tmp, -11)
6916 data_tmp = full_data(idata)
6917 data_tmp = ishft(data_tmp, 53)
6918 pack_tmp = ior(pack_tmp, data_tmp)
6919 pack_tmp = ishft(pack_tmp, -11)
6921 data_tmp = full_data(idata)
6922 data_tmp = ishft(data_tmp, 53)
6923 pack_tmp = ior(pack_tmp, data_tmp)
6924 pack_tmp = ishft(pack_tmp, -11)
6926 data_tmp = full_data(idata)
6927 data_tmp = ishft(data_tmp, 53)
6928 pack_tmp = ior(pack_tmp, data_tmp)
6929 pack_tmp = ishft(pack_tmp, -11)
6931 data_tmp = full_data(idata)
6932 data_tmp = ishft(data_tmp, 53)
6933 pack_tmp = ior(pack_tmp, data_tmp)
6934 pack_tmp = ishft(pack_tmp, -7)
6936 data_tmp = full_data(idata)
6937 data_tmp = ishft(data_tmp, 53)
6938 data_tmp = iand(data_tmp, mask_left(7))
6939 pack_tmp = ior(pack_tmp, data_tmp)
6941 packed_data(ipack) = pack_tmp
6942 data_tmp = full_data(idata)
6943 pack_tmp = ishft(data_tmp, 60)
6944 pack_tmp = ishft(pack_tmp, -11)
6946 data_tmp = full_data(idata)
6947 data_tmp = ishft(data_tmp, 53)
6948 pack_tmp = ior(pack_tmp, data_tmp)
6949 pack_tmp = ishft(pack_tmp, -11)
6951 data_tmp = full_data(idata)
6952 data_tmp = ishft(data_tmp, 53)
6953 pack_tmp = ior(pack_tmp, data_tmp)
6954 pack_tmp = ishft(pack_tmp, -11)
6956 data_tmp = full_data(idata)
6957 data_tmp = ishft(data_tmp, 53)
6958 pack_tmp = ior(pack_tmp, data_tmp)
6959 pack_tmp = ishft(pack_tmp, -11)
6961 data_tmp = full_data(idata)
6962 data_tmp = ishft(data_tmp, 53)
6963 pack_tmp = ior(pack_tmp, data_tmp)
6964 pack_tmp = ishft(pack_tmp, -11)
6966 data_tmp = full_data(idata)
6967 data_tmp = ishft(data_tmp, 53)
6968 pack_tmp = ior(pack_tmp, data_tmp)
6969 pack_tmp = ishft(pack_tmp, -5)
6971 data_tmp = full_data(idata)
6972 data_tmp = ishft(data_tmp, 53)
6973 data_tmp = iand(data_tmp, mask_left(5))
6974 pack_tmp = ior(pack_tmp, data_tmp)
6976 packed_data(ipack) = pack_tmp
6977 data_tmp = full_data(idata)
6978 pack_tmp = ishft(data_tmp, 58)
6979 pack_tmp = ishft(pack_tmp, -11)
6981 data_tmp = full_data(idata)
6982 data_tmp = ishft(data_tmp, 53)
6983 pack_tmp = ior(pack_tmp, data_tmp)
6984 pack_tmp = ishft(pack_tmp, -11)
6986 data_tmp = full_data(idata)
6987 data_tmp = ishft(data_tmp, 53)
6988 pack_tmp = ior(pack_tmp, data_tmp)
6989 pack_tmp = ishft(pack_tmp, -11)
6991 data_tmp = full_data(idata)
6992 data_tmp = ishft(data_tmp, 53)
6993 pack_tmp = ior(pack_tmp, data_tmp)
6994 pack_tmp = ishft(pack_tmp, -11)
6996 data_tmp = full_data(idata)
6997 data_tmp = ishft(data_tmp, 53)
6998 pack_tmp = ior(pack_tmp, data_tmp)
6999 pack_tmp = ishft(pack_tmp, -11)
7001 data_tmp = full_data(idata)
7002 data_tmp = ishft(data_tmp, 53)
7003 pack_tmp = ior(pack_tmp, data_tmp)
7004 pack_tmp = ishft(pack_tmp, -3)
7006 data_tmp = full_data(idata)
7007 data_tmp = ishft(data_tmp, 53)
7008 data_tmp = iand(data_tmp, mask_left(3))
7009 pack_tmp = ior(pack_tmp, data_tmp)
7011 packed_data(ipack) = pack_tmp
7012 data_tmp = full_data(idata)
7013 pack_tmp = ishft(data_tmp, 56)
7014 pack_tmp = ishft(pack_tmp, -11)
7016 data_tmp = full_data(idata)
7017 data_tmp = ishft(data_tmp, 53)
7018 pack_tmp = ior(pack_tmp, data_tmp)
7019 pack_tmp = ishft(pack_tmp, -11)
7021 data_tmp = full_data(idata)
7022 data_tmp = ishft(data_tmp, 53)
7023 pack_tmp = ior(pack_tmp, data_tmp)
7024 pack_tmp = ishft(pack_tmp, -11)
7026 data_tmp = full_data(idata)
7027 data_tmp = ishft(data_tmp, 53)
7028 pack_tmp = ior(pack_tmp, data_tmp)
7029 pack_tmp = ishft(pack_tmp, -11)
7031 data_tmp = full_data(idata)
7032 data_tmp = ishft(data_tmp, 53)
7033 pack_tmp = ior(pack_tmp, data_tmp)
7034 pack_tmp = ishft(pack_tmp, -11)
7036 data_tmp = full_data(idata)
7037 data_tmp = ishft(data_tmp, 53)
7038 pack_tmp = ior(pack_tmp, data_tmp)
7039 pack_tmp = ishft(pack_tmp, -1)
7041 data_tmp = full_data(idata)
7042 data_tmp = ishft(data_tmp, 53)
7043 data_tmp = iand(data_tmp, mask_left(1))
7044 pack_tmp = ior(pack_tmp, data_tmp)
7046 packed_data(ipack) = pack_tmp
7047 data_tmp = full_data(idata)
7048 pack_tmp = ishft(data_tmp, 54)
7049 pack_tmp = ishft(pack_tmp, -11)
7051 data_tmp = full_data(idata)
7052 data_tmp = ishft(data_tmp, 53)
7053 pack_tmp = ior(pack_tmp, data_tmp)
7054 pack_tmp = ishft(pack_tmp, -11)
7056 data_tmp = full_data(idata)
7057 data_tmp = ishft(data_tmp, 53)
7058 pack_tmp = ior(pack_tmp, data_tmp)
7059 pack_tmp = ishft(pack_tmp, -11)
7061 data_tmp = full_data(idata)
7062 data_tmp = ishft(data_tmp, 53)
7063 pack_tmp = ior(pack_tmp, data_tmp)
7064 pack_tmp = ishft(pack_tmp, -11)
7066 data_tmp = full_data(idata)
7067 data_tmp = ishft(data_tmp, 53)
7068 pack_tmp = ior(pack_tmp, data_tmp)
7069 pack_tmp = ishft(pack_tmp, -10)
7071 data_tmp = full_data(idata)
7072 data_tmp = ishft(data_tmp, 53)
7073 data_tmp = iand(data_tmp, mask_left(10))
7074 pack_tmp = ior(pack_tmp, data_tmp)
7076 packed_data(ipack) = pack_tmp
7077 data_tmp = full_data(idata)
7078 pack_tmp = ishft(data_tmp, 63)
7079 pack_tmp = ishft(pack_tmp, -11)
7081 data_tmp = full_data(idata)
7082 data_tmp = ishft(data_tmp, 53)
7083 pack_tmp = ior(pack_tmp, data_tmp)
7084 pack_tmp = ishft(pack_tmp, -11)
7086 data_tmp = full_data(idata)
7087 data_tmp = ishft(data_tmp, 53)
7088 pack_tmp = ior(pack_tmp, data_tmp)
7089 pack_tmp = ishft(pack_tmp, -11)
7091 data_tmp = full_data(idata)
7092 data_tmp = ishft(data_tmp, 53)
7093 pack_tmp = ior(pack_tmp, data_tmp)
7094 pack_tmp = ishft(pack_tmp, -11)
7096 data_tmp = full_data(idata)
7097 data_tmp = ishft(data_tmp, 53)
7098 pack_tmp = ior(pack_tmp, data_tmp)
7099 pack_tmp = ishft(pack_tmp, -11)
7101 data_tmp = full_data(idata)
7102 data_tmp = ishft(data_tmp, 53)
7103 pack_tmp = ior(pack_tmp, data_tmp)
7104 pack_tmp = ishft(pack_tmp, -8)
7106 data_tmp = full_data(idata)
7107 data_tmp = ishft(data_tmp, 53)
7108 data_tmp = iand(data_tmp, mask_left(8))
7109 pack_tmp = ior(pack_tmp, data_tmp)
7111 packed_data(ipack) = pack_tmp
7112 data_tmp = full_data(idata)
7113 pack_tmp = ishft(data_tmp, 61)
7114 pack_tmp = ishft(pack_tmp, -11)
7116 data_tmp = full_data(idata)
7117 data_tmp = ishft(data_tmp, 53)
7118 pack_tmp = ior(pack_tmp, data_tmp)
7119 pack_tmp = ishft(pack_tmp, -11)
7121 data_tmp = full_data(idata)
7122 data_tmp = ishft(data_tmp, 53)
7123 pack_tmp = ior(pack_tmp, data_tmp)
7124 pack_tmp = ishft(pack_tmp, -11)
7126 data_tmp = full_data(idata)
7127 data_tmp = ishft(data_tmp, 53)
7128 pack_tmp = ior(pack_tmp, data_tmp)
7129 pack_tmp = ishft(pack_tmp, -11)
7131 data_tmp = full_data(idata)
7132 data_tmp = ishft(data_tmp, 53)
7133 pack_tmp = ior(pack_tmp, data_tmp)
7134 pack_tmp = ishft(pack_tmp, -11)
7136 data_tmp = full_data(idata)
7137 data_tmp = ishft(data_tmp, 53)
7138 pack_tmp = ior(pack_tmp, data_tmp)
7139 pack_tmp = ishft(pack_tmp, -6)
7141 data_tmp = full_data(idata)
7142 data_tmp = ishft(data_tmp, 53)
7143 data_tmp = iand(data_tmp, mask_left(6))
7144 pack_tmp = ior(pack_tmp, data_tmp)
7146 packed_data(ipack) = pack_tmp
7147 data_tmp = full_data(idata)
7148 pack_tmp = ishft(data_tmp, 59)
7149 pack_tmp = ishft(pack_tmp, -11)
7151 data_tmp = full_data(idata)
7152 data_tmp = ishft(data_tmp, 53)
7153 pack_tmp = ior(pack_tmp, data_tmp)
7154 pack_tmp = ishft(pack_tmp, -11)
7156 data_tmp = full_data(idata)
7157 data_tmp = ishft(data_tmp, 53)
7158 pack_tmp = ior(pack_tmp, data_tmp)
7159 pack_tmp = ishft(pack_tmp, -11)
7161 data_tmp = full_data(idata)
7162 data_tmp = ishft(data_tmp, 53)
7163 pack_tmp = ior(pack_tmp, data_tmp)
7164 pack_tmp = ishft(pack_tmp, -11)
7166 data_tmp = full_data(idata)
7167 data_tmp = ishft(data_tmp, 53)
7168 pack_tmp = ior(pack_tmp, data_tmp)
7169 pack_tmp = ishft(pack_tmp, -11)
7171 data_tmp = full_data(idata)
7172 data_tmp = ishft(data_tmp, 53)
7173 pack_tmp = ior(pack_tmp, data_tmp)
7174 pack_tmp = ishft(pack_tmp, -4)
7176 data_tmp = full_data(idata)
7177 data_tmp = ishft(data_tmp, 53)
7178 data_tmp = iand(data_tmp, mask_left(4))
7179 pack_tmp = ior(pack_tmp, data_tmp)
7181 packed_data(ipack) = pack_tmp
7182 data_tmp = full_data(idata)
7183 pack_tmp = ishft(data_tmp, 57)
7184 pack_tmp = ishft(pack_tmp, -11)
7186 data_tmp = full_data(idata)
7187 data_tmp = ishft(data_tmp, 53)
7188 pack_tmp = ior(pack_tmp, data_tmp)
7189 pack_tmp = ishft(pack_tmp, -11)
7191 data_tmp = full_data(idata)
7192 data_tmp = ishft(data_tmp, 53)
7193 pack_tmp = ior(pack_tmp, data_tmp)
7194 pack_tmp = ishft(pack_tmp, -11)
7196 data_tmp = full_data(idata)
7197 data_tmp = ishft(data_tmp, 53)
7198 pack_tmp = ior(pack_tmp, data_tmp)
7199 pack_tmp = ishft(pack_tmp, -11)
7201 data_tmp = full_data(idata)
7202 data_tmp = ishft(data_tmp, 53)
7203 pack_tmp = ior(pack_tmp, data_tmp)
7204 pack_tmp = ishft(pack_tmp, -11)
7206 data_tmp = full_data(idata)
7207 data_tmp = ishft(data_tmp, 53)
7208 pack_tmp = ior(pack_tmp, data_tmp)
7209 pack_tmp = ishft(pack_tmp, -2)
7211 data_tmp = full_data(idata)
7212 data_tmp = ishft(data_tmp, 53)
7213 data_tmp = iand(data_tmp, mask_left(2))
7214 pack_tmp = ior(pack_tmp, data_tmp)
7216 packed_data(ipack) = pack_tmp
7217 data_tmp = full_data(idata)
7218 pack_tmp = ishft(data_tmp, 55)
7219 pack_tmp = ishft(pack_tmp, -11)
7221 data_tmp = full_data(idata)
7222 data_tmp = ishft(data_tmp, 53)
7223 pack_tmp = ior(pack_tmp, data_tmp)
7224 pack_tmp = ishft(pack_tmp, -11)
7226 data_tmp = full_data(idata)
7227 data_tmp = ishft(data_tmp, 53)
7228 pack_tmp = ior(pack_tmp, data_tmp)
7229 pack_tmp = ishft(pack_tmp, -11)
7231 data_tmp = full_data(idata)
7232 data_tmp = ishft(data_tmp, 53)
7233 pack_tmp = ior(pack_tmp, data_tmp)
7234 pack_tmp = ishft(pack_tmp, -11)
7236 data_tmp = full_data(idata)
7237 data_tmp = ishft(data_tmp, 53)
7238 pack_tmp = ior(pack_tmp, data_tmp)
7239 pack_tmp = ishft(pack_tmp, -11)
7241 data_tmp = full_data(idata)
7242 data_tmp = ishft(data_tmp, 53)
7243 pack_tmp = ior(pack_tmp, data_tmp)
7244 pack_tmp = ishft(pack_tmp, 0)
7245 pack_tmp = ishft(pack_tmp, 0)
7247 packed_data(ipack) = pack_tmp
7249 IF (ndata_rep < ndata)
THEN
7250 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
7252 END SUBROUTINE ints2bits_11
7260 SUBROUTINE bits2ints_11(Ndata, packed_data, full_data)
7261 INTEGER,
INTENT(IN) :: Ndata
7262 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
7263 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
7265 INTEGER,
PARAMETER :: Nbits = 11
7267 INTEGER :: idata, ipack, kdata, Ndata_rep
7268 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
7273 ndata_rep = (ndata/64)*64
7274 DO kdata = 1, ndata_rep, 64
7276 data_tmp = ishft(pack_tmp, 11)
7278 pack_tmp = packed_data(ipack)
7279 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
7280 pack_tmp = ishft(pack_tmp, -11)
7282 data_tmp = iand(pack_tmp, mask_right(nbits))
7283 full_data(idata) = data_tmp
7284 pack_tmp = ishft(pack_tmp, -nbits)
7286 data_tmp = iand(pack_tmp, mask_right(nbits))
7287 full_data(idata) = data_tmp
7288 pack_tmp = ishft(pack_tmp, -nbits)
7290 data_tmp = iand(pack_tmp, mask_right(nbits))
7291 full_data(idata) = data_tmp
7292 pack_tmp = ishft(pack_tmp, -nbits)
7294 data_tmp = iand(pack_tmp, mask_right(nbits))
7295 full_data(idata) = data_tmp
7296 pack_tmp = ishft(pack_tmp, -nbits)
7298 data_tmp = ishft(pack_tmp, 2)
7300 pack_tmp = packed_data(ipack)
7301 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
7302 pack_tmp = ishft(pack_tmp, -2)
7304 data_tmp = iand(pack_tmp, mask_right(nbits))
7305 full_data(idata) = data_tmp
7306 pack_tmp = ishft(pack_tmp, -nbits)
7308 data_tmp = iand(pack_tmp, mask_right(nbits))
7309 full_data(idata) = data_tmp
7310 pack_tmp = ishft(pack_tmp, -nbits)
7312 data_tmp = iand(pack_tmp, mask_right(nbits))
7313 full_data(idata) = data_tmp
7314 pack_tmp = ishft(pack_tmp, -nbits)
7316 data_tmp = iand(pack_tmp, mask_right(nbits))
7317 full_data(idata) = data_tmp
7318 pack_tmp = ishft(pack_tmp, -nbits)
7320 data_tmp = iand(pack_tmp, mask_right(nbits))
7321 full_data(idata) = data_tmp
7322 pack_tmp = ishft(pack_tmp, -nbits)
7324 data_tmp = ishft(pack_tmp, 4)
7326 pack_tmp = packed_data(ipack)
7327 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
7328 pack_tmp = ishft(pack_tmp, -4)
7330 data_tmp = iand(pack_tmp, mask_right(nbits))
7331 full_data(idata) = data_tmp
7332 pack_tmp = ishft(pack_tmp, -nbits)
7334 data_tmp = iand(pack_tmp, mask_right(nbits))
7335 full_data(idata) = data_tmp
7336 pack_tmp = ishft(pack_tmp, -nbits)
7338 data_tmp = iand(pack_tmp, mask_right(nbits))
7339 full_data(idata) = data_tmp
7340 pack_tmp = ishft(pack_tmp, -nbits)
7342 data_tmp = iand(pack_tmp, mask_right(nbits))
7343 full_data(idata) = data_tmp
7344 pack_tmp = ishft(pack_tmp, -nbits)
7346 data_tmp = iand(pack_tmp, mask_right(nbits))
7347 full_data(idata) = data_tmp
7348 pack_tmp = ishft(pack_tmp, -nbits)
7350 data_tmp = ishft(pack_tmp, 6)
7352 pack_tmp = packed_data(ipack)
7353 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
7354 pack_tmp = ishft(pack_tmp, -6)
7356 data_tmp = iand(pack_tmp, mask_right(nbits))
7357 full_data(idata) = data_tmp
7358 pack_tmp = ishft(pack_tmp, -nbits)
7360 data_tmp = iand(pack_tmp, mask_right(nbits))
7361 full_data(idata) = data_tmp
7362 pack_tmp = ishft(pack_tmp, -nbits)
7364 data_tmp = iand(pack_tmp, mask_right(nbits))
7365 full_data(idata) = data_tmp
7366 pack_tmp = ishft(pack_tmp, -nbits)
7368 data_tmp = iand(pack_tmp, mask_right(nbits))
7369 full_data(idata) = data_tmp
7370 pack_tmp = ishft(pack_tmp, -nbits)
7372 data_tmp = iand(pack_tmp, mask_right(nbits))
7373 full_data(idata) = data_tmp
7374 pack_tmp = ishft(pack_tmp, -nbits)
7376 data_tmp = ishft(pack_tmp, 8)
7378 pack_tmp = packed_data(ipack)
7379 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
7380 pack_tmp = ishft(pack_tmp, -8)
7382 data_tmp = iand(pack_tmp, mask_right(nbits))
7383 full_data(idata) = data_tmp
7384 pack_tmp = ishft(pack_tmp, -nbits)
7386 data_tmp = iand(pack_tmp, mask_right(nbits))
7387 full_data(idata) = data_tmp
7388 pack_tmp = ishft(pack_tmp, -nbits)
7390 data_tmp = iand(pack_tmp, mask_right(nbits))
7391 full_data(idata) = data_tmp
7392 pack_tmp = ishft(pack_tmp, -nbits)
7394 data_tmp = iand(pack_tmp, mask_right(nbits))
7395 full_data(idata) = data_tmp
7396 pack_tmp = ishft(pack_tmp, -nbits)
7398 data_tmp = iand(pack_tmp, mask_right(nbits))
7399 full_data(idata) = data_tmp
7400 pack_tmp = ishft(pack_tmp, -nbits)
7402 data_tmp = ishft(pack_tmp, 10)
7404 pack_tmp = packed_data(ipack)
7405 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
7406 pack_tmp = ishft(pack_tmp, -10)
7408 data_tmp = iand(pack_tmp, mask_right(nbits))
7409 full_data(idata) = data_tmp
7410 pack_tmp = ishft(pack_tmp, -nbits)
7412 data_tmp = iand(pack_tmp, mask_right(nbits))
7413 full_data(idata) = data_tmp
7414 pack_tmp = ishft(pack_tmp, -nbits)
7416 data_tmp = iand(pack_tmp, mask_right(nbits))
7417 full_data(idata) = data_tmp
7418 pack_tmp = ishft(pack_tmp, -nbits)
7420 data_tmp = iand(pack_tmp, mask_right(nbits))
7421 full_data(idata) = data_tmp
7422 pack_tmp = ishft(pack_tmp, -nbits)
7424 data_tmp = ishft(pack_tmp, 1)
7426 pack_tmp = packed_data(ipack)
7427 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
7428 pack_tmp = ishft(pack_tmp, -1)
7430 data_tmp = iand(pack_tmp, mask_right(nbits))
7431 full_data(idata) = data_tmp
7432 pack_tmp = ishft(pack_tmp, -nbits)
7434 data_tmp = iand(pack_tmp, mask_right(nbits))
7435 full_data(idata) = data_tmp
7436 pack_tmp = ishft(pack_tmp, -nbits)
7438 data_tmp = iand(pack_tmp, mask_right(nbits))
7439 full_data(idata) = data_tmp
7440 pack_tmp = ishft(pack_tmp, -nbits)
7442 data_tmp = iand(pack_tmp, mask_right(nbits))
7443 full_data(idata) = data_tmp
7444 pack_tmp = ishft(pack_tmp, -nbits)
7446 data_tmp = iand(pack_tmp, mask_right(nbits))
7447 full_data(idata) = data_tmp
7448 pack_tmp = ishft(pack_tmp, -nbits)
7450 data_tmp = ishft(pack_tmp, 3)
7452 pack_tmp = packed_data(ipack)
7453 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
7454 pack_tmp = ishft(pack_tmp, -3)
7456 data_tmp = iand(pack_tmp, mask_right(nbits))
7457 full_data(idata) = data_tmp
7458 pack_tmp = ishft(pack_tmp, -nbits)
7460 data_tmp = iand(pack_tmp, mask_right(nbits))
7461 full_data(idata) = data_tmp
7462 pack_tmp = ishft(pack_tmp, -nbits)
7464 data_tmp = iand(pack_tmp, mask_right(nbits))
7465 full_data(idata) = data_tmp
7466 pack_tmp = ishft(pack_tmp, -nbits)
7468 data_tmp = iand(pack_tmp, mask_right(nbits))
7469 full_data(idata) = data_tmp
7470 pack_tmp = ishft(pack_tmp, -nbits)
7472 data_tmp = iand(pack_tmp, mask_right(nbits))
7473 full_data(idata) = data_tmp
7474 pack_tmp = ishft(pack_tmp, -nbits)
7476 data_tmp = ishft(pack_tmp, 5)
7478 pack_tmp = packed_data(ipack)
7479 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
7480 pack_tmp = ishft(pack_tmp, -5)
7482 data_tmp = iand(pack_tmp, mask_right(nbits))
7483 full_data(idata) = data_tmp
7484 pack_tmp = ishft(pack_tmp, -nbits)
7486 data_tmp = iand(pack_tmp, mask_right(nbits))
7487 full_data(idata) = data_tmp
7488 pack_tmp = ishft(pack_tmp, -nbits)
7490 data_tmp = iand(pack_tmp, mask_right(nbits))
7491 full_data(idata) = data_tmp
7492 pack_tmp = ishft(pack_tmp, -nbits)
7494 data_tmp = iand(pack_tmp, mask_right(nbits))
7495 full_data(idata) = data_tmp
7496 pack_tmp = ishft(pack_tmp, -nbits)
7498 data_tmp = iand(pack_tmp, mask_right(nbits))
7499 full_data(idata) = data_tmp
7500 pack_tmp = ishft(pack_tmp, -nbits)
7502 data_tmp = ishft(pack_tmp, 7)
7504 pack_tmp = packed_data(ipack)
7505 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
7506 pack_tmp = ishft(pack_tmp, -7)
7508 data_tmp = iand(pack_tmp, mask_right(nbits))
7509 full_data(idata) = data_tmp
7510 pack_tmp = ishft(pack_tmp, -nbits)
7512 data_tmp = iand(pack_tmp, mask_right(nbits))
7513 full_data(idata) = data_tmp
7514 pack_tmp = ishft(pack_tmp, -nbits)
7516 data_tmp = iand(pack_tmp, mask_right(nbits))
7517 full_data(idata) = data_tmp
7518 pack_tmp = ishft(pack_tmp, -nbits)
7520 data_tmp = iand(pack_tmp, mask_right(nbits))
7521 full_data(idata) = data_tmp
7522 pack_tmp = ishft(pack_tmp, -nbits)
7524 data_tmp = iand(pack_tmp, mask_right(nbits))
7525 full_data(idata) = data_tmp
7526 pack_tmp = ishft(pack_tmp, -nbits)
7528 data_tmp = ishft(pack_tmp, 9)
7530 pack_tmp = packed_data(ipack)
7531 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
7532 pack_tmp = ishft(pack_tmp, -9)
7534 data_tmp = iand(pack_tmp, mask_right(nbits))
7535 full_data(idata) = data_tmp
7536 pack_tmp = ishft(pack_tmp, -nbits)
7538 data_tmp = iand(pack_tmp, mask_right(nbits))
7539 full_data(idata) = data_tmp
7540 pack_tmp = ishft(pack_tmp, -nbits)
7542 data_tmp = iand(pack_tmp, mask_right(nbits))
7543 full_data(idata) = data_tmp
7544 pack_tmp = ishft(pack_tmp, -nbits)
7546 data_tmp = iand(pack_tmp, mask_right(nbits))
7547 full_data(idata) = data_tmp
7548 pack_tmp = ishft(pack_tmp, -nbits)
7550 data_tmp = iand(pack_tmp, mask_right(nbits))
7551 full_data(idata) = data_tmp
7552 pack_tmp = ishft(pack_tmp, -nbits)
7554 IF (ndata_rep < ndata)
THEN
7555 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
7557 END SUBROUTINE bits2ints_11
7565 SUBROUTINE ints2bits_12(Ndata, packed_data, full_data)
7566 INTEGER,
INTENT(IN) :: Ndata
7567 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
7568 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
7570 INTEGER,
PARAMETER :: Nbits = 12
7572 INTEGER :: idata, ipack, kdata, Ndata_rep
7573 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
7577 ndata_rep = (ndata/64)*64
7578 DO kdata = 1, ndata_rep, 64
7581 data_tmp = full_data(idata)
7582 data_tmp = ishft(data_tmp, 52)
7583 pack_tmp = ior(pack_tmp, data_tmp)
7584 pack_tmp = ishft(pack_tmp, -12)
7586 data_tmp = full_data(idata)
7587 data_tmp = ishft(data_tmp, 52)
7588 pack_tmp = ior(pack_tmp, data_tmp)
7589 pack_tmp = ishft(pack_tmp, -12)
7591 data_tmp = full_data(idata)
7592 data_tmp = ishft(data_tmp, 52)
7593 pack_tmp = ior(pack_tmp, data_tmp)
7594 pack_tmp = ishft(pack_tmp, -12)
7596 data_tmp = full_data(idata)
7597 data_tmp = ishft(data_tmp, 52)
7598 pack_tmp = ior(pack_tmp, data_tmp)
7599 pack_tmp = ishft(pack_tmp, -12)
7601 data_tmp = full_data(idata)
7602 data_tmp = ishft(data_tmp, 52)
7603 pack_tmp = ior(pack_tmp, data_tmp)
7604 pack_tmp = ishft(pack_tmp, -4)
7606 data_tmp = full_data(idata)
7607 data_tmp = ishft(data_tmp, 52)
7608 data_tmp = iand(data_tmp, mask_left(4))
7609 pack_tmp = ior(pack_tmp, data_tmp)
7611 packed_data(ipack) = pack_tmp
7612 data_tmp = full_data(idata)
7613 pack_tmp = ishft(data_tmp, 56)
7614 pack_tmp = ishft(pack_tmp, -12)
7616 data_tmp = full_data(idata)
7617 data_tmp = ishft(data_tmp, 52)
7618 pack_tmp = ior(pack_tmp, data_tmp)
7619 pack_tmp = ishft(pack_tmp, -12)
7621 data_tmp = full_data(idata)
7622 data_tmp = ishft(data_tmp, 52)
7623 pack_tmp = ior(pack_tmp, data_tmp)
7624 pack_tmp = ishft(pack_tmp, -12)
7626 data_tmp = full_data(idata)
7627 data_tmp = ishft(data_tmp, 52)
7628 pack_tmp = ior(pack_tmp, data_tmp)
7629 pack_tmp = ishft(pack_tmp, -12)
7631 data_tmp = full_data(idata)
7632 data_tmp = ishft(data_tmp, 52)
7633 pack_tmp = ior(pack_tmp, data_tmp)
7634 pack_tmp = ishft(pack_tmp, -8)
7636 data_tmp = full_data(idata)
7637 data_tmp = ishft(data_tmp, 52)
7638 data_tmp = iand(data_tmp, mask_left(8))
7639 pack_tmp = ior(pack_tmp, data_tmp)
7641 packed_data(ipack) = pack_tmp
7642 data_tmp = full_data(idata)
7643 pack_tmp = ishft(data_tmp, 60)
7644 pack_tmp = ishft(pack_tmp, -12)
7646 data_tmp = full_data(idata)
7647 data_tmp = ishft(data_tmp, 52)
7648 pack_tmp = ior(pack_tmp, data_tmp)
7649 pack_tmp = ishft(pack_tmp, -12)
7651 data_tmp = full_data(idata)
7652 data_tmp = ishft(data_tmp, 52)
7653 pack_tmp = ior(pack_tmp, data_tmp)
7654 pack_tmp = ishft(pack_tmp, -12)
7656 data_tmp = full_data(idata)
7657 data_tmp = ishft(data_tmp, 52)
7658 pack_tmp = ior(pack_tmp, data_tmp)
7659 pack_tmp = ishft(pack_tmp, -12)
7661 data_tmp = full_data(idata)
7662 data_tmp = ishft(data_tmp, 52)
7663 pack_tmp = ior(pack_tmp, data_tmp)
7664 pack_tmp = ishft(pack_tmp, -12)
7666 data_tmp = full_data(idata)
7667 data_tmp = ishft(data_tmp, 52)
7668 pack_tmp = ior(pack_tmp, data_tmp)
7669 pack_tmp = ishft(pack_tmp, 0)
7671 data_tmp = full_data(idata)
7672 data_tmp = ishft(data_tmp, 52)
7673 data_tmp = iand(data_tmp, mask_left(0))
7674 pack_tmp = ior(pack_tmp, data_tmp)
7676 packed_data(ipack) = pack_tmp
7677 data_tmp = full_data(idata)
7678 pack_tmp = ishft(data_tmp, 52)
7679 pack_tmp = ishft(pack_tmp, -12)
7681 data_tmp = full_data(idata)
7682 data_tmp = ishft(data_tmp, 52)
7683 pack_tmp = ior(pack_tmp, data_tmp)
7684 pack_tmp = ishft(pack_tmp, -12)
7686 data_tmp = full_data(idata)
7687 data_tmp = ishft(data_tmp, 52)
7688 pack_tmp = ior(pack_tmp, data_tmp)
7689 pack_tmp = ishft(pack_tmp, -12)
7691 data_tmp = full_data(idata)
7692 data_tmp = ishft(data_tmp, 52)
7693 pack_tmp = ior(pack_tmp, data_tmp)
7694 pack_tmp = ishft(pack_tmp, -12)
7696 data_tmp = full_data(idata)
7697 data_tmp = ishft(data_tmp, 52)
7698 pack_tmp = ior(pack_tmp, data_tmp)
7699 pack_tmp = ishft(pack_tmp, -4)
7701 data_tmp = full_data(idata)
7702 data_tmp = ishft(data_tmp, 52)
7703 data_tmp = iand(data_tmp, mask_left(4))
7704 pack_tmp = ior(pack_tmp, data_tmp)
7706 packed_data(ipack) = pack_tmp
7707 data_tmp = full_data(idata)
7708 pack_tmp = ishft(data_tmp, 56)
7709 pack_tmp = ishft(pack_tmp, -12)
7711 data_tmp = full_data(idata)
7712 data_tmp = ishft(data_tmp, 52)
7713 pack_tmp = ior(pack_tmp, data_tmp)
7714 pack_tmp = ishft(pack_tmp, -12)
7716 data_tmp = full_data(idata)
7717 data_tmp = ishft(data_tmp, 52)
7718 pack_tmp = ior(pack_tmp, data_tmp)
7719 pack_tmp = ishft(pack_tmp, -12)
7721 data_tmp = full_data(idata)
7722 data_tmp = ishft(data_tmp, 52)
7723 pack_tmp = ior(pack_tmp, data_tmp)
7724 pack_tmp = ishft(pack_tmp, -12)
7726 data_tmp = full_data(idata)
7727 data_tmp = ishft(data_tmp, 52)
7728 pack_tmp = ior(pack_tmp, data_tmp)
7729 pack_tmp = ishft(pack_tmp, -8)
7731 data_tmp = full_data(idata)
7732 data_tmp = ishft(data_tmp, 52)
7733 data_tmp = iand(data_tmp, mask_left(8))
7734 pack_tmp = ior(pack_tmp, data_tmp)
7736 packed_data(ipack) = pack_tmp
7737 data_tmp = full_data(idata)
7738 pack_tmp = ishft(data_tmp, 60)
7739 pack_tmp = ishft(pack_tmp, -12)
7741 data_tmp = full_data(idata)
7742 data_tmp = ishft(data_tmp, 52)
7743 pack_tmp = ior(pack_tmp, data_tmp)
7744 pack_tmp = ishft(pack_tmp, -12)
7746 data_tmp = full_data(idata)
7747 data_tmp = ishft(data_tmp, 52)
7748 pack_tmp = ior(pack_tmp, data_tmp)
7749 pack_tmp = ishft(pack_tmp, -12)
7751 data_tmp = full_data(idata)
7752 data_tmp = ishft(data_tmp, 52)
7753 pack_tmp = ior(pack_tmp, data_tmp)
7754 pack_tmp = ishft(pack_tmp, -12)
7756 data_tmp = full_data(idata)
7757 data_tmp = ishft(data_tmp, 52)
7758 pack_tmp = ior(pack_tmp, data_tmp)
7759 pack_tmp = ishft(pack_tmp, -12)
7761 data_tmp = full_data(idata)
7762 data_tmp = ishft(data_tmp, 52)
7763 pack_tmp = ior(pack_tmp, data_tmp)
7764 pack_tmp = ishft(pack_tmp, 0)
7766 data_tmp = full_data(idata)
7767 data_tmp = ishft(data_tmp, 52)
7768 data_tmp = iand(data_tmp, mask_left(0))
7769 pack_tmp = ior(pack_tmp, data_tmp)
7771 packed_data(ipack) = pack_tmp
7772 data_tmp = full_data(idata)
7773 pack_tmp = ishft(data_tmp, 52)
7774 pack_tmp = ishft(pack_tmp, -12)
7776 data_tmp = full_data(idata)
7777 data_tmp = ishft(data_tmp, 52)
7778 pack_tmp = ior(pack_tmp, data_tmp)
7779 pack_tmp = ishft(pack_tmp, -12)
7781 data_tmp = full_data(idata)
7782 data_tmp = ishft(data_tmp, 52)
7783 pack_tmp = ior(pack_tmp, data_tmp)
7784 pack_tmp = ishft(pack_tmp, -12)
7786 data_tmp = full_data(idata)
7787 data_tmp = ishft(data_tmp, 52)
7788 pack_tmp = ior(pack_tmp, data_tmp)
7789 pack_tmp = ishft(pack_tmp, -12)
7791 data_tmp = full_data(idata)
7792 data_tmp = ishft(data_tmp, 52)
7793 pack_tmp = ior(pack_tmp, data_tmp)
7794 pack_tmp = ishft(pack_tmp, -4)
7796 data_tmp = full_data(idata)
7797 data_tmp = ishft(data_tmp, 52)
7798 data_tmp = iand(data_tmp, mask_left(4))
7799 pack_tmp = ior(pack_tmp, data_tmp)
7801 packed_data(ipack) = pack_tmp
7802 data_tmp = full_data(idata)
7803 pack_tmp = ishft(data_tmp, 56)
7804 pack_tmp = ishft(pack_tmp, -12)
7806 data_tmp = full_data(idata)
7807 data_tmp = ishft(data_tmp, 52)
7808 pack_tmp = ior(pack_tmp, data_tmp)
7809 pack_tmp = ishft(pack_tmp, -12)
7811 data_tmp = full_data(idata)
7812 data_tmp = ishft(data_tmp, 52)
7813 pack_tmp = ior(pack_tmp, data_tmp)
7814 pack_tmp = ishft(pack_tmp, -12)
7816 data_tmp = full_data(idata)
7817 data_tmp = ishft(data_tmp, 52)
7818 pack_tmp = ior(pack_tmp, data_tmp)
7819 pack_tmp = ishft(pack_tmp, -12)
7821 data_tmp = full_data(idata)
7822 data_tmp = ishft(data_tmp, 52)
7823 pack_tmp = ior(pack_tmp, data_tmp)
7824 pack_tmp = ishft(pack_tmp, -8)
7826 data_tmp = full_data(idata)
7827 data_tmp = ishft(data_tmp, 52)
7828 data_tmp = iand(data_tmp, mask_left(8))
7829 pack_tmp = ior(pack_tmp, data_tmp)
7831 packed_data(ipack) = pack_tmp
7832 data_tmp = full_data(idata)
7833 pack_tmp = ishft(data_tmp, 60)
7834 pack_tmp = ishft(pack_tmp, -12)
7836 data_tmp = full_data(idata)
7837 data_tmp = ishft(data_tmp, 52)
7838 pack_tmp = ior(pack_tmp, data_tmp)
7839 pack_tmp = ishft(pack_tmp, -12)
7841 data_tmp = full_data(idata)
7842 data_tmp = ishft(data_tmp, 52)
7843 pack_tmp = ior(pack_tmp, data_tmp)
7844 pack_tmp = ishft(pack_tmp, -12)
7846 data_tmp = full_data(idata)
7847 data_tmp = ishft(data_tmp, 52)
7848 pack_tmp = ior(pack_tmp, data_tmp)
7849 pack_tmp = ishft(pack_tmp, -12)
7851 data_tmp = full_data(idata)
7852 data_tmp = ishft(data_tmp, 52)
7853 pack_tmp = ior(pack_tmp, data_tmp)
7854 pack_tmp = ishft(pack_tmp, -12)
7856 data_tmp = full_data(idata)
7857 data_tmp = ishft(data_tmp, 52)
7858 pack_tmp = ior(pack_tmp, data_tmp)
7859 pack_tmp = ishft(pack_tmp, 0)
7861 data_tmp = full_data(idata)
7862 data_tmp = ishft(data_tmp, 52)
7863 data_tmp = iand(data_tmp, mask_left(0))
7864 pack_tmp = ior(pack_tmp, data_tmp)
7866 packed_data(ipack) = pack_tmp
7867 data_tmp = full_data(idata)
7868 pack_tmp = ishft(data_tmp, 52)
7869 pack_tmp = ishft(pack_tmp, -12)
7871 data_tmp = full_data(idata)
7872 data_tmp = ishft(data_tmp, 52)
7873 pack_tmp = ior(pack_tmp, data_tmp)
7874 pack_tmp = ishft(pack_tmp, -12)
7876 data_tmp = full_data(idata)
7877 data_tmp = ishft(data_tmp, 52)
7878 pack_tmp = ior(pack_tmp, data_tmp)
7879 pack_tmp = ishft(pack_tmp, -12)
7881 data_tmp = full_data(idata)
7882 data_tmp = ishft(data_tmp, 52)
7883 pack_tmp = ior(pack_tmp, data_tmp)
7884 pack_tmp = ishft(pack_tmp, -12)
7886 data_tmp = full_data(idata)
7887 data_tmp = ishft(data_tmp, 52)
7888 pack_tmp = ior(pack_tmp, data_tmp)
7889 pack_tmp = ishft(pack_tmp, -4)
7891 data_tmp = full_data(idata)
7892 data_tmp = ishft(data_tmp, 52)
7893 data_tmp = iand(data_tmp, mask_left(4))
7894 pack_tmp = ior(pack_tmp, data_tmp)
7896 packed_data(ipack) = pack_tmp
7897 data_tmp = full_data(idata)
7898 pack_tmp = ishft(data_tmp, 56)
7899 pack_tmp = ishft(pack_tmp, -12)
7901 data_tmp = full_data(idata)
7902 data_tmp = ishft(data_tmp, 52)
7903 pack_tmp = ior(pack_tmp, data_tmp)
7904 pack_tmp = ishft(pack_tmp, -12)
7906 data_tmp = full_data(idata)
7907 data_tmp = ishft(data_tmp, 52)
7908 pack_tmp = ior(pack_tmp, data_tmp)
7909 pack_tmp = ishft(pack_tmp, -12)
7911 data_tmp = full_data(idata)
7912 data_tmp = ishft(data_tmp, 52)
7913 pack_tmp = ior(pack_tmp, data_tmp)
7914 pack_tmp = ishft(pack_tmp, -12)
7916 data_tmp = full_data(idata)
7917 data_tmp = ishft(data_tmp, 52)
7918 pack_tmp = ior(pack_tmp, data_tmp)
7919 pack_tmp = ishft(pack_tmp, -8)
7921 data_tmp = full_data(idata)
7922 data_tmp = ishft(data_tmp, 52)
7923 data_tmp = iand(data_tmp, mask_left(8))
7924 pack_tmp = ior(pack_tmp, data_tmp)
7926 packed_data(ipack) = pack_tmp
7927 data_tmp = full_data(idata)
7928 pack_tmp = ishft(data_tmp, 60)
7929 pack_tmp = ishft(pack_tmp, -12)
7931 data_tmp = full_data(idata)
7932 data_tmp = ishft(data_tmp, 52)
7933 pack_tmp = ior(pack_tmp, data_tmp)
7934 pack_tmp = ishft(pack_tmp, -12)
7936 data_tmp = full_data(idata)
7937 data_tmp = ishft(data_tmp, 52)
7938 pack_tmp = ior(pack_tmp, data_tmp)
7939 pack_tmp = ishft(pack_tmp, -12)
7941 data_tmp = full_data(idata)
7942 data_tmp = ishft(data_tmp, 52)
7943 pack_tmp = ior(pack_tmp, data_tmp)
7944 pack_tmp = ishft(pack_tmp, -12)
7946 data_tmp = full_data(idata)
7947 data_tmp = ishft(data_tmp, 52)
7948 pack_tmp = ior(pack_tmp, data_tmp)
7949 pack_tmp = ishft(pack_tmp, -12)
7951 data_tmp = full_data(idata)
7952 data_tmp = ishft(data_tmp, 52)
7953 pack_tmp = ior(pack_tmp, data_tmp)
7954 pack_tmp = ishft(pack_tmp, 0)
7955 pack_tmp = ishft(pack_tmp, 0)
7957 packed_data(ipack) = pack_tmp
7959 IF (ndata_rep < ndata)
THEN
7960 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
7962 END SUBROUTINE ints2bits_12
7970 SUBROUTINE bits2ints_12(Ndata, packed_data, full_data)
7971 INTEGER,
INTENT(IN) :: Ndata
7972 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
7973 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
7975 INTEGER,
PARAMETER :: Nbits = 12
7977 INTEGER :: idata, ipack, kdata, Ndata_rep
7978 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
7983 ndata_rep = (ndata/64)*64
7984 DO kdata = 1, ndata_rep, 64
7986 data_tmp = ishft(pack_tmp, 12)
7988 pack_tmp = packed_data(ipack)
7989 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
7990 pack_tmp = ishft(pack_tmp, -12)
7992 data_tmp = iand(pack_tmp, mask_right(nbits))
7993 full_data(idata) = data_tmp
7994 pack_tmp = ishft(pack_tmp, -nbits)
7996 data_tmp = iand(pack_tmp, mask_right(nbits))
7997 full_data(idata) = data_tmp
7998 pack_tmp = ishft(pack_tmp, -nbits)
8000 data_tmp = iand(pack_tmp, mask_right(nbits))
8001 full_data(idata) = data_tmp
8002 pack_tmp = ishft(pack_tmp, -nbits)
8004 data_tmp = iand(pack_tmp, mask_right(nbits))
8005 full_data(idata) = data_tmp
8006 pack_tmp = ishft(pack_tmp, -nbits)
8008 data_tmp = ishft(pack_tmp, 8)
8010 pack_tmp = packed_data(ipack)
8011 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
8012 pack_tmp = ishft(pack_tmp, -8)
8014 data_tmp = iand(pack_tmp, mask_right(nbits))
8015 full_data(idata) = data_tmp
8016 pack_tmp = ishft(pack_tmp, -nbits)
8018 data_tmp = iand(pack_tmp, mask_right(nbits))
8019 full_data(idata) = data_tmp
8020 pack_tmp = ishft(pack_tmp, -nbits)
8022 data_tmp = iand(pack_tmp, mask_right(nbits))
8023 full_data(idata) = data_tmp
8024 pack_tmp = ishft(pack_tmp, -nbits)
8026 data_tmp = iand(pack_tmp, mask_right(nbits))
8027 full_data(idata) = data_tmp
8028 pack_tmp = ishft(pack_tmp, -nbits)
8030 data_tmp = ishft(pack_tmp, 4)
8032 pack_tmp = packed_data(ipack)
8033 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
8034 pack_tmp = ishft(pack_tmp, -4)
8036 data_tmp = iand(pack_tmp, mask_right(nbits))
8037 full_data(idata) = data_tmp
8038 pack_tmp = ishft(pack_tmp, -nbits)
8040 data_tmp = iand(pack_tmp, mask_right(nbits))
8041 full_data(idata) = data_tmp
8042 pack_tmp = ishft(pack_tmp, -nbits)
8044 data_tmp = iand(pack_tmp, mask_right(nbits))
8045 full_data(idata) = data_tmp
8046 pack_tmp = ishft(pack_tmp, -nbits)
8048 data_tmp = iand(pack_tmp, mask_right(nbits))
8049 full_data(idata) = data_tmp
8050 pack_tmp = ishft(pack_tmp, -nbits)
8052 data_tmp = iand(pack_tmp, mask_right(nbits))
8053 full_data(idata) = data_tmp
8054 pack_tmp = ishft(pack_tmp, -nbits)
8056 data_tmp = ishft(pack_tmp, 12)
8058 pack_tmp = packed_data(ipack)
8059 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
8060 pack_tmp = ishft(pack_tmp, -12)
8062 data_tmp = iand(pack_tmp, mask_right(nbits))
8063 full_data(idata) = data_tmp
8064 pack_tmp = ishft(pack_tmp, -nbits)
8066 data_tmp = iand(pack_tmp, mask_right(nbits))
8067 full_data(idata) = data_tmp
8068 pack_tmp = ishft(pack_tmp, -nbits)
8070 data_tmp = iand(pack_tmp, mask_right(nbits))
8071 full_data(idata) = data_tmp
8072 pack_tmp = ishft(pack_tmp, -nbits)
8074 data_tmp = iand(pack_tmp, mask_right(nbits))
8075 full_data(idata) = data_tmp
8076 pack_tmp = ishft(pack_tmp, -nbits)
8078 data_tmp = ishft(pack_tmp, 8)
8080 pack_tmp = packed_data(ipack)
8081 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
8082 pack_tmp = ishft(pack_tmp, -8)
8084 data_tmp = iand(pack_tmp, mask_right(nbits))
8085 full_data(idata) = data_tmp
8086 pack_tmp = ishft(pack_tmp, -nbits)
8088 data_tmp = iand(pack_tmp, mask_right(nbits))
8089 full_data(idata) = data_tmp
8090 pack_tmp = ishft(pack_tmp, -nbits)
8092 data_tmp = iand(pack_tmp, mask_right(nbits))
8093 full_data(idata) = data_tmp
8094 pack_tmp = ishft(pack_tmp, -nbits)
8096 data_tmp = iand(pack_tmp, mask_right(nbits))
8097 full_data(idata) = data_tmp
8098 pack_tmp = ishft(pack_tmp, -nbits)
8100 data_tmp = ishft(pack_tmp, 4)
8102 pack_tmp = packed_data(ipack)
8103 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
8104 pack_tmp = ishft(pack_tmp, -4)
8106 data_tmp = iand(pack_tmp, mask_right(nbits))
8107 full_data(idata) = data_tmp
8108 pack_tmp = ishft(pack_tmp, -nbits)
8110 data_tmp = iand(pack_tmp, mask_right(nbits))
8111 full_data(idata) = data_tmp
8112 pack_tmp = ishft(pack_tmp, -nbits)
8114 data_tmp = iand(pack_tmp, mask_right(nbits))
8115 full_data(idata) = data_tmp
8116 pack_tmp = ishft(pack_tmp, -nbits)
8118 data_tmp = iand(pack_tmp, mask_right(nbits))
8119 full_data(idata) = data_tmp
8120 pack_tmp = ishft(pack_tmp, -nbits)
8122 data_tmp = iand(pack_tmp, mask_right(nbits))
8123 full_data(idata) = data_tmp
8124 pack_tmp = ishft(pack_tmp, -nbits)
8126 data_tmp = ishft(pack_tmp, 12)
8128 pack_tmp = packed_data(ipack)
8129 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
8130 pack_tmp = ishft(pack_tmp, -12)
8132 data_tmp = iand(pack_tmp, mask_right(nbits))
8133 full_data(idata) = data_tmp
8134 pack_tmp = ishft(pack_tmp, -nbits)
8136 data_tmp = iand(pack_tmp, mask_right(nbits))
8137 full_data(idata) = data_tmp
8138 pack_tmp = ishft(pack_tmp, -nbits)
8140 data_tmp = iand(pack_tmp, mask_right(nbits))
8141 full_data(idata) = data_tmp
8142 pack_tmp = ishft(pack_tmp, -nbits)
8144 data_tmp = iand(pack_tmp, mask_right(nbits))
8145 full_data(idata) = data_tmp
8146 pack_tmp = ishft(pack_tmp, -nbits)
8148 data_tmp = ishft(pack_tmp, 8)
8150 pack_tmp = packed_data(ipack)
8151 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
8152 pack_tmp = ishft(pack_tmp, -8)
8154 data_tmp = iand(pack_tmp, mask_right(nbits))
8155 full_data(idata) = data_tmp
8156 pack_tmp = ishft(pack_tmp, -nbits)
8158 data_tmp = iand(pack_tmp, mask_right(nbits))
8159 full_data(idata) = data_tmp
8160 pack_tmp = ishft(pack_tmp, -nbits)
8162 data_tmp = iand(pack_tmp, mask_right(nbits))
8163 full_data(idata) = data_tmp
8164 pack_tmp = ishft(pack_tmp, -nbits)
8166 data_tmp = iand(pack_tmp, mask_right(nbits))
8167 full_data(idata) = data_tmp
8168 pack_tmp = ishft(pack_tmp, -nbits)
8170 data_tmp = ishft(pack_tmp, 4)
8172 pack_tmp = packed_data(ipack)
8173 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
8174 pack_tmp = ishft(pack_tmp, -4)
8176 data_tmp = iand(pack_tmp, mask_right(nbits))
8177 full_data(idata) = data_tmp
8178 pack_tmp = ishft(pack_tmp, -nbits)
8180 data_tmp = iand(pack_tmp, mask_right(nbits))
8181 full_data(idata) = data_tmp
8182 pack_tmp = ishft(pack_tmp, -nbits)
8184 data_tmp = iand(pack_tmp, mask_right(nbits))
8185 full_data(idata) = data_tmp
8186 pack_tmp = ishft(pack_tmp, -nbits)
8188 data_tmp = iand(pack_tmp, mask_right(nbits))
8189 full_data(idata) = data_tmp
8190 pack_tmp = ishft(pack_tmp, -nbits)
8192 data_tmp = iand(pack_tmp, mask_right(nbits))
8193 full_data(idata) = data_tmp
8194 pack_tmp = ishft(pack_tmp, -nbits)
8196 data_tmp = ishft(pack_tmp, 12)
8198 pack_tmp = packed_data(ipack)
8199 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
8200 pack_tmp = ishft(pack_tmp, -12)
8202 data_tmp = iand(pack_tmp, mask_right(nbits))
8203 full_data(idata) = data_tmp
8204 pack_tmp = ishft(pack_tmp, -nbits)
8206 data_tmp = iand(pack_tmp, mask_right(nbits))
8207 full_data(idata) = data_tmp
8208 pack_tmp = ishft(pack_tmp, -nbits)
8210 data_tmp = iand(pack_tmp, mask_right(nbits))
8211 full_data(idata) = data_tmp
8212 pack_tmp = ishft(pack_tmp, -nbits)
8214 data_tmp = iand(pack_tmp, mask_right(nbits))
8215 full_data(idata) = data_tmp
8216 pack_tmp = ishft(pack_tmp, -nbits)
8218 data_tmp = ishft(pack_tmp, 8)
8220 pack_tmp = packed_data(ipack)
8221 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
8222 pack_tmp = ishft(pack_tmp, -8)
8224 data_tmp = iand(pack_tmp, mask_right(nbits))
8225 full_data(idata) = data_tmp
8226 pack_tmp = ishft(pack_tmp, -nbits)
8228 data_tmp = iand(pack_tmp, mask_right(nbits))
8229 full_data(idata) = data_tmp
8230 pack_tmp = ishft(pack_tmp, -nbits)
8232 data_tmp = iand(pack_tmp, mask_right(nbits))
8233 full_data(idata) = data_tmp
8234 pack_tmp = ishft(pack_tmp, -nbits)
8236 data_tmp = iand(pack_tmp, mask_right(nbits))
8237 full_data(idata) = data_tmp
8238 pack_tmp = ishft(pack_tmp, -nbits)
8240 data_tmp = ishft(pack_tmp, 4)
8242 pack_tmp = packed_data(ipack)
8243 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
8244 pack_tmp = ishft(pack_tmp, -4)
8246 data_tmp = iand(pack_tmp, mask_right(nbits))
8247 full_data(idata) = data_tmp
8248 pack_tmp = ishft(pack_tmp, -nbits)
8250 data_tmp = iand(pack_tmp, mask_right(nbits))
8251 full_data(idata) = data_tmp
8252 pack_tmp = ishft(pack_tmp, -nbits)
8254 data_tmp = iand(pack_tmp, mask_right(nbits))
8255 full_data(idata) = data_tmp
8256 pack_tmp = ishft(pack_tmp, -nbits)
8258 data_tmp = iand(pack_tmp, mask_right(nbits))
8259 full_data(idata) = data_tmp
8260 pack_tmp = ishft(pack_tmp, -nbits)
8262 data_tmp = iand(pack_tmp, mask_right(nbits))
8263 full_data(idata) = data_tmp
8264 pack_tmp = ishft(pack_tmp, -nbits)
8266 IF (ndata_rep < ndata)
THEN
8267 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
8269 END SUBROUTINE bits2ints_12
8277 SUBROUTINE ints2bits_13(Ndata, packed_data, full_data)
8278 INTEGER,
INTENT(IN) :: Ndata
8279 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
8280 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
8282 INTEGER,
PARAMETER :: Nbits = 13
8284 INTEGER :: idata, ipack, kdata, Ndata_rep
8285 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
8289 ndata_rep = (ndata/64)*64
8290 DO kdata = 1, ndata_rep, 64
8293 data_tmp = full_data(idata)
8294 data_tmp = ishft(data_tmp, 51)
8295 pack_tmp = ior(pack_tmp, data_tmp)
8296 pack_tmp = ishft(pack_tmp, -13)
8298 data_tmp = full_data(idata)
8299 data_tmp = ishft(data_tmp, 51)
8300 pack_tmp = ior(pack_tmp, data_tmp)
8301 pack_tmp = ishft(pack_tmp, -13)
8303 data_tmp = full_data(idata)
8304 data_tmp = ishft(data_tmp, 51)
8305 pack_tmp = ior(pack_tmp, data_tmp)
8306 pack_tmp = ishft(pack_tmp, -13)
8308 data_tmp = full_data(idata)
8309 data_tmp = ishft(data_tmp, 51)
8310 pack_tmp = ior(pack_tmp, data_tmp)
8311 pack_tmp = ishft(pack_tmp, -12)
8313 data_tmp = full_data(idata)
8314 data_tmp = ishft(data_tmp, 51)
8315 data_tmp = iand(data_tmp, mask_left(12))
8316 pack_tmp = ior(pack_tmp, data_tmp)
8318 packed_data(ipack) = pack_tmp
8319 data_tmp = full_data(idata)
8320 pack_tmp = ishft(data_tmp, 63)
8321 pack_tmp = ishft(pack_tmp, -13)
8323 data_tmp = full_data(idata)
8324 data_tmp = ishft(data_tmp, 51)
8325 pack_tmp = ior(pack_tmp, data_tmp)
8326 pack_tmp = ishft(pack_tmp, -13)
8328 data_tmp = full_data(idata)
8329 data_tmp = ishft(data_tmp, 51)
8330 pack_tmp = ior(pack_tmp, data_tmp)
8331 pack_tmp = ishft(pack_tmp, -13)
8333 data_tmp = full_data(idata)
8334 data_tmp = ishft(data_tmp, 51)
8335 pack_tmp = ior(pack_tmp, data_tmp)
8336 pack_tmp = ishft(pack_tmp, -13)
8338 data_tmp = full_data(idata)
8339 data_tmp = ishft(data_tmp, 51)
8340 pack_tmp = ior(pack_tmp, data_tmp)
8341 pack_tmp = ishft(pack_tmp, -11)
8343 data_tmp = full_data(idata)
8344 data_tmp = ishft(data_tmp, 51)
8345 data_tmp = iand(data_tmp, mask_left(11))
8346 pack_tmp = ior(pack_tmp, data_tmp)
8348 packed_data(ipack) = pack_tmp
8349 data_tmp = full_data(idata)
8350 pack_tmp = ishft(data_tmp, 62)
8351 pack_tmp = ishft(pack_tmp, -13)
8353 data_tmp = full_data(idata)
8354 data_tmp = ishft(data_tmp, 51)
8355 pack_tmp = ior(pack_tmp, data_tmp)
8356 pack_tmp = ishft(pack_tmp, -13)
8358 data_tmp = full_data(idata)
8359 data_tmp = ishft(data_tmp, 51)
8360 pack_tmp = ior(pack_tmp, data_tmp)
8361 pack_tmp = ishft(pack_tmp, -13)
8363 data_tmp = full_data(idata)
8364 data_tmp = ishft(data_tmp, 51)
8365 pack_tmp = ior(pack_tmp, data_tmp)
8366 pack_tmp = ishft(pack_tmp, -13)
8368 data_tmp = full_data(idata)
8369 data_tmp = ishft(data_tmp, 51)
8370 pack_tmp = ior(pack_tmp, data_tmp)
8371 pack_tmp = ishft(pack_tmp, -10)
8373 data_tmp = full_data(idata)
8374 data_tmp = ishft(data_tmp, 51)
8375 data_tmp = iand(data_tmp, mask_left(10))
8376 pack_tmp = ior(pack_tmp, data_tmp)
8378 packed_data(ipack) = pack_tmp
8379 data_tmp = full_data(idata)
8380 pack_tmp = ishft(data_tmp, 61)
8381 pack_tmp = ishft(pack_tmp, -13)
8383 data_tmp = full_data(idata)
8384 data_tmp = ishft(data_tmp, 51)
8385 pack_tmp = ior(pack_tmp, data_tmp)
8386 pack_tmp = ishft(pack_tmp, -13)
8388 data_tmp = full_data(idata)
8389 data_tmp = ishft(data_tmp, 51)
8390 pack_tmp = ior(pack_tmp, data_tmp)
8391 pack_tmp = ishft(pack_tmp, -13)
8393 data_tmp = full_data(idata)
8394 data_tmp = ishft(data_tmp, 51)
8395 pack_tmp = ior(pack_tmp, data_tmp)
8396 pack_tmp = ishft(pack_tmp, -13)
8398 data_tmp = full_data(idata)
8399 data_tmp = ishft(data_tmp, 51)
8400 pack_tmp = ior(pack_tmp, data_tmp)
8401 pack_tmp = ishft(pack_tmp, -9)
8403 data_tmp = full_data(idata)
8404 data_tmp = ishft(data_tmp, 51)
8405 data_tmp = iand(data_tmp, mask_left(9))
8406 pack_tmp = ior(pack_tmp, data_tmp)
8408 packed_data(ipack) = pack_tmp
8409 data_tmp = full_data(idata)
8410 pack_tmp = ishft(data_tmp, 60)
8411 pack_tmp = ishft(pack_tmp, -13)
8413 data_tmp = full_data(idata)
8414 data_tmp = ishft(data_tmp, 51)
8415 pack_tmp = ior(pack_tmp, data_tmp)
8416 pack_tmp = ishft(pack_tmp, -13)
8418 data_tmp = full_data(idata)
8419 data_tmp = ishft(data_tmp, 51)
8420 pack_tmp = ior(pack_tmp, data_tmp)
8421 pack_tmp = ishft(pack_tmp, -13)
8423 data_tmp = full_data(idata)
8424 data_tmp = ishft(data_tmp, 51)
8425 pack_tmp = ior(pack_tmp, data_tmp)
8426 pack_tmp = ishft(pack_tmp, -13)
8428 data_tmp = full_data(idata)
8429 data_tmp = ishft(data_tmp, 51)
8430 pack_tmp = ior(pack_tmp, data_tmp)
8431 pack_tmp = ishft(pack_tmp, -8)
8433 data_tmp = full_data(idata)
8434 data_tmp = ishft(data_tmp, 51)
8435 data_tmp = iand(data_tmp, mask_left(8))
8436 pack_tmp = ior(pack_tmp, data_tmp)
8438 packed_data(ipack) = pack_tmp
8439 data_tmp = full_data(idata)
8440 pack_tmp = ishft(data_tmp, 59)
8441 pack_tmp = ishft(pack_tmp, -13)
8443 data_tmp = full_data(idata)
8444 data_tmp = ishft(data_tmp, 51)
8445 pack_tmp = ior(pack_tmp, data_tmp)
8446 pack_tmp = ishft(pack_tmp, -13)
8448 data_tmp = full_data(idata)
8449 data_tmp = ishft(data_tmp, 51)
8450 pack_tmp = ior(pack_tmp, data_tmp)
8451 pack_tmp = ishft(pack_tmp, -13)
8453 data_tmp = full_data(idata)
8454 data_tmp = ishft(data_tmp, 51)
8455 pack_tmp = ior(pack_tmp, data_tmp)
8456 pack_tmp = ishft(pack_tmp, -13)
8458 data_tmp = full_data(idata)
8459 data_tmp = ishft(data_tmp, 51)
8460 pack_tmp = ior(pack_tmp, data_tmp)
8461 pack_tmp = ishft(pack_tmp, -7)
8463 data_tmp = full_data(idata)
8464 data_tmp = ishft(data_tmp, 51)
8465 data_tmp = iand(data_tmp, mask_left(7))
8466 pack_tmp = ior(pack_tmp, data_tmp)
8468 packed_data(ipack) = pack_tmp
8469 data_tmp = full_data(idata)
8470 pack_tmp = ishft(data_tmp, 58)
8471 pack_tmp = ishft(pack_tmp, -13)
8473 data_tmp = full_data(idata)
8474 data_tmp = ishft(data_tmp, 51)
8475 pack_tmp = ior(pack_tmp, data_tmp)
8476 pack_tmp = ishft(pack_tmp, -13)
8478 data_tmp = full_data(idata)
8479 data_tmp = ishft(data_tmp, 51)
8480 pack_tmp = ior(pack_tmp, data_tmp)
8481 pack_tmp = ishft(pack_tmp, -13)
8483 data_tmp = full_data(idata)
8484 data_tmp = ishft(data_tmp, 51)
8485 pack_tmp = ior(pack_tmp, data_tmp)
8486 pack_tmp = ishft(pack_tmp, -13)
8488 data_tmp = full_data(idata)
8489 data_tmp = ishft(data_tmp, 51)
8490 pack_tmp = ior(pack_tmp, data_tmp)
8491 pack_tmp = ishft(pack_tmp, -6)
8493 data_tmp = full_data(idata)
8494 data_tmp = ishft(data_tmp, 51)
8495 data_tmp = iand(data_tmp, mask_left(6))
8496 pack_tmp = ior(pack_tmp, data_tmp)
8498 packed_data(ipack) = pack_tmp
8499 data_tmp = full_data(idata)
8500 pack_tmp = ishft(data_tmp, 57)
8501 pack_tmp = ishft(pack_tmp, -13)
8503 data_tmp = full_data(idata)
8504 data_tmp = ishft(data_tmp, 51)
8505 pack_tmp = ior(pack_tmp, data_tmp)
8506 pack_tmp = ishft(pack_tmp, -13)
8508 data_tmp = full_data(idata)
8509 data_tmp = ishft(data_tmp, 51)
8510 pack_tmp = ior(pack_tmp, data_tmp)
8511 pack_tmp = ishft(pack_tmp, -13)
8513 data_tmp = full_data(idata)
8514 data_tmp = ishft(data_tmp, 51)
8515 pack_tmp = ior(pack_tmp, data_tmp)
8516 pack_tmp = ishft(pack_tmp, -13)
8518 data_tmp = full_data(idata)
8519 data_tmp = ishft(data_tmp, 51)
8520 pack_tmp = ior(pack_tmp, data_tmp)
8521 pack_tmp = ishft(pack_tmp, -5)
8523 data_tmp = full_data(idata)
8524 data_tmp = ishft(data_tmp, 51)
8525 data_tmp = iand(data_tmp, mask_left(5))
8526 pack_tmp = ior(pack_tmp, data_tmp)
8528 packed_data(ipack) = pack_tmp
8529 data_tmp = full_data(idata)
8530 pack_tmp = ishft(data_tmp, 56)
8531 pack_tmp = ishft(pack_tmp, -13)
8533 data_tmp = full_data(idata)
8534 data_tmp = ishft(data_tmp, 51)
8535 pack_tmp = ior(pack_tmp, data_tmp)
8536 pack_tmp = ishft(pack_tmp, -13)
8538 data_tmp = full_data(idata)
8539 data_tmp = ishft(data_tmp, 51)
8540 pack_tmp = ior(pack_tmp, data_tmp)
8541 pack_tmp = ishft(pack_tmp, -13)
8543 data_tmp = full_data(idata)
8544 data_tmp = ishft(data_tmp, 51)
8545 pack_tmp = ior(pack_tmp, data_tmp)
8546 pack_tmp = ishft(pack_tmp, -13)
8548 data_tmp = full_data(idata)
8549 data_tmp = ishft(data_tmp, 51)
8550 pack_tmp = ior(pack_tmp, data_tmp)
8551 pack_tmp = ishft(pack_tmp, -4)
8553 data_tmp = full_data(idata)
8554 data_tmp = ishft(data_tmp, 51)
8555 data_tmp = iand(data_tmp, mask_left(4))
8556 pack_tmp = ior(pack_tmp, data_tmp)
8558 packed_data(ipack) = pack_tmp
8559 data_tmp = full_data(idata)
8560 pack_tmp = ishft(data_tmp, 55)
8561 pack_tmp = ishft(pack_tmp, -13)
8563 data_tmp = full_data(idata)
8564 data_tmp = ishft(data_tmp, 51)
8565 pack_tmp = ior(pack_tmp, data_tmp)
8566 pack_tmp = ishft(pack_tmp, -13)
8568 data_tmp = full_data(idata)
8569 data_tmp = ishft(data_tmp, 51)
8570 pack_tmp = ior(pack_tmp, data_tmp)
8571 pack_tmp = ishft(pack_tmp, -13)
8573 data_tmp = full_data(idata)
8574 data_tmp = ishft(data_tmp, 51)
8575 pack_tmp = ior(pack_tmp, data_tmp)
8576 pack_tmp = ishft(pack_tmp, -13)
8578 data_tmp = full_data(idata)
8579 data_tmp = ishft(data_tmp, 51)
8580 pack_tmp = ior(pack_tmp, data_tmp)
8581 pack_tmp = ishft(pack_tmp, -3)
8583 data_tmp = full_data(idata)
8584 data_tmp = ishft(data_tmp, 51)
8585 data_tmp = iand(data_tmp, mask_left(3))
8586 pack_tmp = ior(pack_tmp, data_tmp)
8588 packed_data(ipack) = pack_tmp
8589 data_tmp = full_data(idata)
8590 pack_tmp = ishft(data_tmp, 54)
8591 pack_tmp = ishft(pack_tmp, -13)
8593 data_tmp = full_data(idata)
8594 data_tmp = ishft(data_tmp, 51)
8595 pack_tmp = ior(pack_tmp, data_tmp)
8596 pack_tmp = ishft(pack_tmp, -13)
8598 data_tmp = full_data(idata)
8599 data_tmp = ishft(data_tmp, 51)
8600 pack_tmp = ior(pack_tmp, data_tmp)
8601 pack_tmp = ishft(pack_tmp, -13)
8603 data_tmp = full_data(idata)
8604 data_tmp = ishft(data_tmp, 51)
8605 pack_tmp = ior(pack_tmp, data_tmp)
8606 pack_tmp = ishft(pack_tmp, -13)
8608 data_tmp = full_data(idata)
8609 data_tmp = ishft(data_tmp, 51)
8610 pack_tmp = ior(pack_tmp, data_tmp)
8611 pack_tmp = ishft(pack_tmp, -2)
8613 data_tmp = full_data(idata)
8614 data_tmp = ishft(data_tmp, 51)
8615 data_tmp = iand(data_tmp, mask_left(2))
8616 pack_tmp = ior(pack_tmp, data_tmp)
8618 packed_data(ipack) = pack_tmp
8619 data_tmp = full_data(idata)
8620 pack_tmp = ishft(data_tmp, 53)
8621 pack_tmp = ishft(pack_tmp, -13)
8623 data_tmp = full_data(idata)
8624 data_tmp = ishft(data_tmp, 51)
8625 pack_tmp = ior(pack_tmp, data_tmp)
8626 pack_tmp = ishft(pack_tmp, -13)
8628 data_tmp = full_data(idata)
8629 data_tmp = ishft(data_tmp, 51)
8630 pack_tmp = ior(pack_tmp, data_tmp)
8631 pack_tmp = ishft(pack_tmp, -13)
8633 data_tmp = full_data(idata)
8634 data_tmp = ishft(data_tmp, 51)
8635 pack_tmp = ior(pack_tmp, data_tmp)
8636 pack_tmp = ishft(pack_tmp, -13)
8638 data_tmp = full_data(idata)
8639 data_tmp = ishft(data_tmp, 51)
8640 pack_tmp = ior(pack_tmp, data_tmp)
8641 pack_tmp = ishft(pack_tmp, -1)
8643 data_tmp = full_data(idata)
8644 data_tmp = ishft(data_tmp, 51)
8645 data_tmp = iand(data_tmp, mask_left(1))
8646 pack_tmp = ior(pack_tmp, data_tmp)
8648 packed_data(ipack) = pack_tmp
8649 data_tmp = full_data(idata)
8650 pack_tmp = ishft(data_tmp, 52)
8651 pack_tmp = ishft(pack_tmp, -13)
8653 data_tmp = full_data(idata)
8654 data_tmp = ishft(data_tmp, 51)
8655 pack_tmp = ior(pack_tmp, data_tmp)
8656 pack_tmp = ishft(pack_tmp, -13)
8658 data_tmp = full_data(idata)
8659 data_tmp = ishft(data_tmp, 51)
8660 pack_tmp = ior(pack_tmp, data_tmp)
8661 pack_tmp = ishft(pack_tmp, -13)
8663 data_tmp = full_data(idata)
8664 data_tmp = ishft(data_tmp, 51)
8665 pack_tmp = ior(pack_tmp, data_tmp)
8666 pack_tmp = ishft(pack_tmp, -13)
8668 data_tmp = full_data(idata)
8669 data_tmp = ishft(data_tmp, 51)
8670 pack_tmp = ior(pack_tmp, data_tmp)
8671 pack_tmp = ishft(pack_tmp, 0)
8672 pack_tmp = ishft(pack_tmp, 0)
8674 packed_data(ipack) = pack_tmp
8676 IF (ndata_rep < ndata)
THEN
8677 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
8679 END SUBROUTINE ints2bits_13
8687 SUBROUTINE bits2ints_13(Ndata, packed_data, full_data)
8688 INTEGER,
INTENT(IN) :: Ndata
8689 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
8690 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
8692 INTEGER,
PARAMETER :: Nbits = 13
8694 INTEGER :: idata, ipack, kdata, Ndata_rep
8695 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
8700 ndata_rep = (ndata/64)*64
8701 DO kdata = 1, ndata_rep, 64
8703 data_tmp = ishft(pack_tmp, 13)
8705 pack_tmp = packed_data(ipack)
8706 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
8707 pack_tmp = ishft(pack_tmp, -13)
8709 data_tmp = iand(pack_tmp, mask_right(nbits))
8710 full_data(idata) = data_tmp
8711 pack_tmp = ishft(pack_tmp, -nbits)
8713 data_tmp = iand(pack_tmp, mask_right(nbits))
8714 full_data(idata) = data_tmp
8715 pack_tmp = ishft(pack_tmp, -nbits)
8717 data_tmp = iand(pack_tmp, mask_right(nbits))
8718 full_data(idata) = data_tmp
8719 pack_tmp = ishft(pack_tmp, -nbits)
8721 data_tmp = ishft(pack_tmp, 1)
8723 pack_tmp = packed_data(ipack)
8724 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
8725 pack_tmp = ishft(pack_tmp, -1)
8727 data_tmp = iand(pack_tmp, mask_right(nbits))
8728 full_data(idata) = data_tmp
8729 pack_tmp = ishft(pack_tmp, -nbits)
8731 data_tmp = iand(pack_tmp, mask_right(nbits))
8732 full_data(idata) = data_tmp
8733 pack_tmp = ishft(pack_tmp, -nbits)
8735 data_tmp = iand(pack_tmp, mask_right(nbits))
8736 full_data(idata) = data_tmp
8737 pack_tmp = ishft(pack_tmp, -nbits)
8739 data_tmp = iand(pack_tmp, mask_right(nbits))
8740 full_data(idata) = data_tmp
8741 pack_tmp = ishft(pack_tmp, -nbits)
8743 data_tmp = ishft(pack_tmp, 2)
8745 pack_tmp = packed_data(ipack)
8746 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
8747 pack_tmp = ishft(pack_tmp, -2)
8749 data_tmp = iand(pack_tmp, mask_right(nbits))
8750 full_data(idata) = data_tmp
8751 pack_tmp = ishft(pack_tmp, -nbits)
8753 data_tmp = iand(pack_tmp, mask_right(nbits))
8754 full_data(idata) = data_tmp
8755 pack_tmp = ishft(pack_tmp, -nbits)
8757 data_tmp = iand(pack_tmp, mask_right(nbits))
8758 full_data(idata) = data_tmp
8759 pack_tmp = ishft(pack_tmp, -nbits)
8761 data_tmp = iand(pack_tmp, mask_right(nbits))
8762 full_data(idata) = data_tmp
8763 pack_tmp = ishft(pack_tmp, -nbits)
8765 data_tmp = ishft(pack_tmp, 3)
8767 pack_tmp = packed_data(ipack)
8768 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
8769 pack_tmp = ishft(pack_tmp, -3)
8771 data_tmp = iand(pack_tmp, mask_right(nbits))
8772 full_data(idata) = data_tmp
8773 pack_tmp = ishft(pack_tmp, -nbits)
8775 data_tmp = iand(pack_tmp, mask_right(nbits))
8776 full_data(idata) = data_tmp
8777 pack_tmp = ishft(pack_tmp, -nbits)
8779 data_tmp = iand(pack_tmp, mask_right(nbits))
8780 full_data(idata) = data_tmp
8781 pack_tmp = ishft(pack_tmp, -nbits)
8783 data_tmp = iand(pack_tmp, mask_right(nbits))
8784 full_data(idata) = data_tmp
8785 pack_tmp = ishft(pack_tmp, -nbits)
8787 data_tmp = ishft(pack_tmp, 4)
8789 pack_tmp = packed_data(ipack)
8790 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
8791 pack_tmp = ishft(pack_tmp, -4)
8793 data_tmp = iand(pack_tmp, mask_right(nbits))
8794 full_data(idata) = data_tmp
8795 pack_tmp = ishft(pack_tmp, -nbits)
8797 data_tmp = iand(pack_tmp, mask_right(nbits))
8798 full_data(idata) = data_tmp
8799 pack_tmp = ishft(pack_tmp, -nbits)
8801 data_tmp = iand(pack_tmp, mask_right(nbits))
8802 full_data(idata) = data_tmp
8803 pack_tmp = ishft(pack_tmp, -nbits)
8805 data_tmp = iand(pack_tmp, mask_right(nbits))
8806 full_data(idata) = data_tmp
8807 pack_tmp = ishft(pack_tmp, -nbits)
8809 data_tmp = ishft(pack_tmp, 5)
8811 pack_tmp = packed_data(ipack)
8812 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
8813 pack_tmp = ishft(pack_tmp, -5)
8815 data_tmp = iand(pack_tmp, mask_right(nbits))
8816 full_data(idata) = data_tmp
8817 pack_tmp = ishft(pack_tmp, -nbits)
8819 data_tmp = iand(pack_tmp, mask_right(nbits))
8820 full_data(idata) = data_tmp
8821 pack_tmp = ishft(pack_tmp, -nbits)
8823 data_tmp = iand(pack_tmp, mask_right(nbits))
8824 full_data(idata) = data_tmp
8825 pack_tmp = ishft(pack_tmp, -nbits)
8827 data_tmp = iand(pack_tmp, mask_right(nbits))
8828 full_data(idata) = data_tmp
8829 pack_tmp = ishft(pack_tmp, -nbits)
8831 data_tmp = ishft(pack_tmp, 6)
8833 pack_tmp = packed_data(ipack)
8834 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
8835 pack_tmp = ishft(pack_tmp, -6)
8837 data_tmp = iand(pack_tmp, mask_right(nbits))
8838 full_data(idata) = data_tmp
8839 pack_tmp = ishft(pack_tmp, -nbits)
8841 data_tmp = iand(pack_tmp, mask_right(nbits))
8842 full_data(idata) = data_tmp
8843 pack_tmp = ishft(pack_tmp, -nbits)
8845 data_tmp = iand(pack_tmp, mask_right(nbits))
8846 full_data(idata) = data_tmp
8847 pack_tmp = ishft(pack_tmp, -nbits)
8849 data_tmp = iand(pack_tmp, mask_right(nbits))
8850 full_data(idata) = data_tmp
8851 pack_tmp = ishft(pack_tmp, -nbits)
8853 data_tmp = ishft(pack_tmp, 7)
8855 pack_tmp = packed_data(ipack)
8856 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
8857 pack_tmp = ishft(pack_tmp, -7)
8859 data_tmp = iand(pack_tmp, mask_right(nbits))
8860 full_data(idata) = data_tmp
8861 pack_tmp = ishft(pack_tmp, -nbits)
8863 data_tmp = iand(pack_tmp, mask_right(nbits))
8864 full_data(idata) = data_tmp
8865 pack_tmp = ishft(pack_tmp, -nbits)
8867 data_tmp = iand(pack_tmp, mask_right(nbits))
8868 full_data(idata) = data_tmp
8869 pack_tmp = ishft(pack_tmp, -nbits)
8871 data_tmp = iand(pack_tmp, mask_right(nbits))
8872 full_data(idata) = data_tmp
8873 pack_tmp = ishft(pack_tmp, -nbits)
8875 data_tmp = ishft(pack_tmp, 8)
8877 pack_tmp = packed_data(ipack)
8878 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
8879 pack_tmp = ishft(pack_tmp, -8)
8881 data_tmp = iand(pack_tmp, mask_right(nbits))
8882 full_data(idata) = data_tmp
8883 pack_tmp = ishft(pack_tmp, -nbits)
8885 data_tmp = iand(pack_tmp, mask_right(nbits))
8886 full_data(idata) = data_tmp
8887 pack_tmp = ishft(pack_tmp, -nbits)
8889 data_tmp = iand(pack_tmp, mask_right(nbits))
8890 full_data(idata) = data_tmp
8891 pack_tmp = ishft(pack_tmp, -nbits)
8893 data_tmp = iand(pack_tmp, mask_right(nbits))
8894 full_data(idata) = data_tmp
8895 pack_tmp = ishft(pack_tmp, -nbits)
8897 data_tmp = ishft(pack_tmp, 9)
8899 pack_tmp = packed_data(ipack)
8900 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
8901 pack_tmp = ishft(pack_tmp, -9)
8903 data_tmp = iand(pack_tmp, mask_right(nbits))
8904 full_data(idata) = data_tmp
8905 pack_tmp = ishft(pack_tmp, -nbits)
8907 data_tmp = iand(pack_tmp, mask_right(nbits))
8908 full_data(idata) = data_tmp
8909 pack_tmp = ishft(pack_tmp, -nbits)
8911 data_tmp = iand(pack_tmp, mask_right(nbits))
8912 full_data(idata) = data_tmp
8913 pack_tmp = ishft(pack_tmp, -nbits)
8915 data_tmp = iand(pack_tmp, mask_right(nbits))
8916 full_data(idata) = data_tmp
8917 pack_tmp = ishft(pack_tmp, -nbits)
8919 data_tmp = ishft(pack_tmp, 10)
8921 pack_tmp = packed_data(ipack)
8922 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
8923 pack_tmp = ishft(pack_tmp, -10)
8925 data_tmp = iand(pack_tmp, mask_right(nbits))
8926 full_data(idata) = data_tmp
8927 pack_tmp = ishft(pack_tmp, -nbits)
8929 data_tmp = iand(pack_tmp, mask_right(nbits))
8930 full_data(idata) = data_tmp
8931 pack_tmp = ishft(pack_tmp, -nbits)
8933 data_tmp = iand(pack_tmp, mask_right(nbits))
8934 full_data(idata) = data_tmp
8935 pack_tmp = ishft(pack_tmp, -nbits)
8937 data_tmp = iand(pack_tmp, mask_right(nbits))
8938 full_data(idata) = data_tmp
8939 pack_tmp = ishft(pack_tmp, -nbits)
8941 data_tmp = ishft(pack_tmp, 11)
8943 pack_tmp = packed_data(ipack)
8944 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
8945 pack_tmp = ishft(pack_tmp, -11)
8947 data_tmp = iand(pack_tmp, mask_right(nbits))
8948 full_data(idata) = data_tmp
8949 pack_tmp = ishft(pack_tmp, -nbits)
8951 data_tmp = iand(pack_tmp, mask_right(nbits))
8952 full_data(idata) = data_tmp
8953 pack_tmp = ishft(pack_tmp, -nbits)
8955 data_tmp = iand(pack_tmp, mask_right(nbits))
8956 full_data(idata) = data_tmp
8957 pack_tmp = ishft(pack_tmp, -nbits)
8959 data_tmp = iand(pack_tmp, mask_right(nbits))
8960 full_data(idata) = data_tmp
8961 pack_tmp = ishft(pack_tmp, -nbits)
8963 data_tmp = ishft(pack_tmp, 12)
8965 pack_tmp = packed_data(ipack)
8966 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
8967 pack_tmp = ishft(pack_tmp, -12)
8969 data_tmp = iand(pack_tmp, mask_right(nbits))
8970 full_data(idata) = data_tmp
8971 pack_tmp = ishft(pack_tmp, -nbits)
8973 data_tmp = iand(pack_tmp, mask_right(nbits))
8974 full_data(idata) = data_tmp
8975 pack_tmp = ishft(pack_tmp, -nbits)
8977 data_tmp = iand(pack_tmp, mask_right(nbits))
8978 full_data(idata) = data_tmp
8979 pack_tmp = ishft(pack_tmp, -nbits)
8981 data_tmp = iand(pack_tmp, mask_right(nbits))
8982 full_data(idata) = data_tmp
8983 pack_tmp = ishft(pack_tmp, -nbits)
8985 IF (ndata_rep < ndata)
THEN
8986 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
8988 END SUBROUTINE bits2ints_13
8996 SUBROUTINE ints2bits_14(Ndata, packed_data, full_data)
8997 INTEGER,
INTENT(IN) :: Ndata
8998 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
8999 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
9001 INTEGER,
PARAMETER :: Nbits = 14
9003 INTEGER :: idata, ipack, kdata, Ndata_rep
9004 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
9008 ndata_rep = (ndata/64)*64
9009 DO kdata = 1, ndata_rep, 64
9012 data_tmp = full_data(idata)
9013 data_tmp = ishft(data_tmp, 50)
9014 pack_tmp = ior(pack_tmp, data_tmp)
9015 pack_tmp = ishft(pack_tmp, -14)
9017 data_tmp = full_data(idata)
9018 data_tmp = ishft(data_tmp, 50)
9019 pack_tmp = ior(pack_tmp, data_tmp)
9020 pack_tmp = ishft(pack_tmp, -14)
9022 data_tmp = full_data(idata)
9023 data_tmp = ishft(data_tmp, 50)
9024 pack_tmp = ior(pack_tmp, data_tmp)
9025 pack_tmp = ishft(pack_tmp, -14)
9027 data_tmp = full_data(idata)
9028 data_tmp = ishft(data_tmp, 50)
9029 pack_tmp = ior(pack_tmp, data_tmp)
9030 pack_tmp = ishft(pack_tmp, -8)
9032 data_tmp = full_data(idata)
9033 data_tmp = ishft(data_tmp, 50)
9034 data_tmp = iand(data_tmp, mask_left(8))
9035 pack_tmp = ior(pack_tmp, data_tmp)
9037 packed_data(ipack) = pack_tmp
9038 data_tmp = full_data(idata)
9039 pack_tmp = ishft(data_tmp, 58)
9040 pack_tmp = ishft(pack_tmp, -14)
9042 data_tmp = full_data(idata)
9043 data_tmp = ishft(data_tmp, 50)
9044 pack_tmp = ior(pack_tmp, data_tmp)
9045 pack_tmp = ishft(pack_tmp, -14)
9047 data_tmp = full_data(idata)
9048 data_tmp = ishft(data_tmp, 50)
9049 pack_tmp = ior(pack_tmp, data_tmp)
9050 pack_tmp = ishft(pack_tmp, -14)
9052 data_tmp = full_data(idata)
9053 data_tmp = ishft(data_tmp, 50)
9054 pack_tmp = ior(pack_tmp, data_tmp)
9055 pack_tmp = ishft(pack_tmp, -14)
9057 data_tmp = full_data(idata)
9058 data_tmp = ishft(data_tmp, 50)
9059 pack_tmp = ior(pack_tmp, data_tmp)
9060 pack_tmp = ishft(pack_tmp, -2)
9062 data_tmp = full_data(idata)
9063 data_tmp = ishft(data_tmp, 50)
9064 data_tmp = iand(data_tmp, mask_left(2))
9065 pack_tmp = ior(pack_tmp, data_tmp)
9067 packed_data(ipack) = pack_tmp
9068 data_tmp = full_data(idata)
9069 pack_tmp = ishft(data_tmp, 52)
9070 pack_tmp = ishft(pack_tmp, -14)
9072 data_tmp = full_data(idata)
9073 data_tmp = ishft(data_tmp, 50)
9074 pack_tmp = ior(pack_tmp, data_tmp)
9075 pack_tmp = ishft(pack_tmp, -14)
9077 data_tmp = full_data(idata)
9078 data_tmp = ishft(data_tmp, 50)
9079 pack_tmp = ior(pack_tmp, data_tmp)
9080 pack_tmp = ishft(pack_tmp, -14)
9082 data_tmp = full_data(idata)
9083 data_tmp = ishft(data_tmp, 50)
9084 pack_tmp = ior(pack_tmp, data_tmp)
9085 pack_tmp = ishft(pack_tmp, -10)
9087 data_tmp = full_data(idata)
9088 data_tmp = ishft(data_tmp, 50)
9089 data_tmp = iand(data_tmp, mask_left(10))
9090 pack_tmp = ior(pack_tmp, data_tmp)
9092 packed_data(ipack) = pack_tmp
9093 data_tmp = full_data(idata)
9094 pack_tmp = ishft(data_tmp, 60)
9095 pack_tmp = ishft(pack_tmp, -14)
9097 data_tmp = full_data(idata)
9098 data_tmp = ishft(data_tmp, 50)
9099 pack_tmp = ior(pack_tmp, data_tmp)
9100 pack_tmp = ishft(pack_tmp, -14)
9102 data_tmp = full_data(idata)
9103 data_tmp = ishft(data_tmp, 50)
9104 pack_tmp = ior(pack_tmp, data_tmp)
9105 pack_tmp = ishft(pack_tmp, -14)
9107 data_tmp = full_data(idata)
9108 data_tmp = ishft(data_tmp, 50)
9109 pack_tmp = ior(pack_tmp, data_tmp)
9110 pack_tmp = ishft(pack_tmp, -14)
9112 data_tmp = full_data(idata)
9113 data_tmp = ishft(data_tmp, 50)
9114 pack_tmp = ior(pack_tmp, data_tmp)
9115 pack_tmp = ishft(pack_tmp, -4)
9117 data_tmp = full_data(idata)
9118 data_tmp = ishft(data_tmp, 50)
9119 data_tmp = iand(data_tmp, mask_left(4))
9120 pack_tmp = ior(pack_tmp, data_tmp)
9122 packed_data(ipack) = pack_tmp
9123 data_tmp = full_data(idata)
9124 pack_tmp = ishft(data_tmp, 54)
9125 pack_tmp = ishft(pack_tmp, -14)
9127 data_tmp = full_data(idata)
9128 data_tmp = ishft(data_tmp, 50)
9129 pack_tmp = ior(pack_tmp, data_tmp)
9130 pack_tmp = ishft(pack_tmp, -14)
9132 data_tmp = full_data(idata)
9133 data_tmp = ishft(data_tmp, 50)
9134 pack_tmp = ior(pack_tmp, data_tmp)
9135 pack_tmp = ishft(pack_tmp, -14)
9137 data_tmp = full_data(idata)
9138 data_tmp = ishft(data_tmp, 50)
9139 pack_tmp = ior(pack_tmp, data_tmp)
9140 pack_tmp = ishft(pack_tmp, -12)
9142 data_tmp = full_data(idata)
9143 data_tmp = ishft(data_tmp, 50)
9144 data_tmp = iand(data_tmp, mask_left(12))
9145 pack_tmp = ior(pack_tmp, data_tmp)
9147 packed_data(ipack) = pack_tmp
9148 data_tmp = full_data(idata)
9149 pack_tmp = ishft(data_tmp, 62)
9150 pack_tmp = ishft(pack_tmp, -14)
9152 data_tmp = full_data(idata)
9153 data_tmp = ishft(data_tmp, 50)
9154 pack_tmp = ior(pack_tmp, data_tmp)
9155 pack_tmp = ishft(pack_tmp, -14)
9157 data_tmp = full_data(idata)
9158 data_tmp = ishft(data_tmp, 50)
9159 pack_tmp = ior(pack_tmp, data_tmp)
9160 pack_tmp = ishft(pack_tmp, -14)
9162 data_tmp = full_data(idata)
9163 data_tmp = ishft(data_tmp, 50)
9164 pack_tmp = ior(pack_tmp, data_tmp)
9165 pack_tmp = ishft(pack_tmp, -14)
9167 data_tmp = full_data(idata)
9168 data_tmp = ishft(data_tmp, 50)
9169 pack_tmp = ior(pack_tmp, data_tmp)
9170 pack_tmp = ishft(pack_tmp, -6)
9172 data_tmp = full_data(idata)
9173 data_tmp = ishft(data_tmp, 50)
9174 data_tmp = iand(data_tmp, mask_left(6))
9175 pack_tmp = ior(pack_tmp, data_tmp)
9177 packed_data(ipack) = pack_tmp
9178 data_tmp = full_data(idata)
9179 pack_tmp = ishft(data_tmp, 56)
9180 pack_tmp = ishft(pack_tmp, -14)
9182 data_tmp = full_data(idata)
9183 data_tmp = ishft(data_tmp, 50)
9184 pack_tmp = ior(pack_tmp, data_tmp)
9185 pack_tmp = ishft(pack_tmp, -14)
9187 data_tmp = full_data(idata)
9188 data_tmp = ishft(data_tmp, 50)
9189 pack_tmp = ior(pack_tmp, data_tmp)
9190 pack_tmp = ishft(pack_tmp, -14)
9192 data_tmp = full_data(idata)
9193 data_tmp = ishft(data_tmp, 50)
9194 pack_tmp = ior(pack_tmp, data_tmp)
9195 pack_tmp = ishft(pack_tmp, -14)
9197 data_tmp = full_data(idata)
9198 data_tmp = ishft(data_tmp, 50)
9199 pack_tmp = ior(pack_tmp, data_tmp)
9200 pack_tmp = ishft(pack_tmp, 0)
9202 data_tmp = full_data(idata)
9203 data_tmp = ishft(data_tmp, 50)
9204 data_tmp = iand(data_tmp, mask_left(0))
9205 pack_tmp = ior(pack_tmp, data_tmp)
9207 packed_data(ipack) = pack_tmp
9208 data_tmp = full_data(idata)
9209 pack_tmp = ishft(data_tmp, 50)
9210 pack_tmp = ishft(pack_tmp, -14)
9212 data_tmp = full_data(idata)
9213 data_tmp = ishft(data_tmp, 50)
9214 pack_tmp = ior(pack_tmp, data_tmp)
9215 pack_tmp = ishft(pack_tmp, -14)
9217 data_tmp = full_data(idata)
9218 data_tmp = ishft(data_tmp, 50)
9219 pack_tmp = ior(pack_tmp, data_tmp)
9220 pack_tmp = ishft(pack_tmp, -14)
9222 data_tmp = full_data(idata)
9223 data_tmp = ishft(data_tmp, 50)
9224 pack_tmp = ior(pack_tmp, data_tmp)
9225 pack_tmp = ishft(pack_tmp, -8)
9227 data_tmp = full_data(idata)
9228 data_tmp = ishft(data_tmp, 50)
9229 data_tmp = iand(data_tmp, mask_left(8))
9230 pack_tmp = ior(pack_tmp, data_tmp)
9232 packed_data(ipack) = pack_tmp
9233 data_tmp = full_data(idata)
9234 pack_tmp = ishft(data_tmp, 58)
9235 pack_tmp = ishft(pack_tmp, -14)
9237 data_tmp = full_data(idata)
9238 data_tmp = ishft(data_tmp, 50)
9239 pack_tmp = ior(pack_tmp, data_tmp)
9240 pack_tmp = ishft(pack_tmp, -14)
9242 data_tmp = full_data(idata)
9243 data_tmp = ishft(data_tmp, 50)
9244 pack_tmp = ior(pack_tmp, data_tmp)
9245 pack_tmp = ishft(pack_tmp, -14)
9247 data_tmp = full_data(idata)
9248 data_tmp = ishft(data_tmp, 50)
9249 pack_tmp = ior(pack_tmp, data_tmp)
9250 pack_tmp = ishft(pack_tmp, -14)
9252 data_tmp = full_data(idata)
9253 data_tmp = ishft(data_tmp, 50)
9254 pack_tmp = ior(pack_tmp, data_tmp)
9255 pack_tmp = ishft(pack_tmp, -2)
9257 data_tmp = full_data(idata)
9258 data_tmp = ishft(data_tmp, 50)
9259 data_tmp = iand(data_tmp, mask_left(2))
9260 pack_tmp = ior(pack_tmp, data_tmp)
9262 packed_data(ipack) = pack_tmp
9263 data_tmp = full_data(idata)
9264 pack_tmp = ishft(data_tmp, 52)
9265 pack_tmp = ishft(pack_tmp, -14)
9267 data_tmp = full_data(idata)
9268 data_tmp = ishft(data_tmp, 50)
9269 pack_tmp = ior(pack_tmp, data_tmp)
9270 pack_tmp = ishft(pack_tmp, -14)
9272 data_tmp = full_data(idata)
9273 data_tmp = ishft(data_tmp, 50)
9274 pack_tmp = ior(pack_tmp, data_tmp)
9275 pack_tmp = ishft(pack_tmp, -14)
9277 data_tmp = full_data(idata)
9278 data_tmp = ishft(data_tmp, 50)
9279 pack_tmp = ior(pack_tmp, data_tmp)
9280 pack_tmp = ishft(pack_tmp, -10)
9282 data_tmp = full_data(idata)
9283 data_tmp = ishft(data_tmp, 50)
9284 data_tmp = iand(data_tmp, mask_left(10))
9285 pack_tmp = ior(pack_tmp, data_tmp)
9287 packed_data(ipack) = pack_tmp
9288 data_tmp = full_data(idata)
9289 pack_tmp = ishft(data_tmp, 60)
9290 pack_tmp = ishft(pack_tmp, -14)
9292 data_tmp = full_data(idata)
9293 data_tmp = ishft(data_tmp, 50)
9294 pack_tmp = ior(pack_tmp, data_tmp)
9295 pack_tmp = ishft(pack_tmp, -14)
9297 data_tmp = full_data(idata)
9298 data_tmp = ishft(data_tmp, 50)
9299 pack_tmp = ior(pack_tmp, data_tmp)
9300 pack_tmp = ishft(pack_tmp, -14)
9302 data_tmp = full_data(idata)
9303 data_tmp = ishft(data_tmp, 50)
9304 pack_tmp = ior(pack_tmp, data_tmp)
9305 pack_tmp = ishft(pack_tmp, -14)
9307 data_tmp = full_data(idata)
9308 data_tmp = ishft(data_tmp, 50)
9309 pack_tmp = ior(pack_tmp, data_tmp)
9310 pack_tmp = ishft(pack_tmp, -4)
9312 data_tmp = full_data(idata)
9313 data_tmp = ishft(data_tmp, 50)
9314 data_tmp = iand(data_tmp, mask_left(4))
9315 pack_tmp = ior(pack_tmp, data_tmp)
9317 packed_data(ipack) = pack_tmp
9318 data_tmp = full_data(idata)
9319 pack_tmp = ishft(data_tmp, 54)
9320 pack_tmp = ishft(pack_tmp, -14)
9322 data_tmp = full_data(idata)
9323 data_tmp = ishft(data_tmp, 50)
9324 pack_tmp = ior(pack_tmp, data_tmp)
9325 pack_tmp = ishft(pack_tmp, -14)
9327 data_tmp = full_data(idata)
9328 data_tmp = ishft(data_tmp, 50)
9329 pack_tmp = ior(pack_tmp, data_tmp)
9330 pack_tmp = ishft(pack_tmp, -14)
9332 data_tmp = full_data(idata)
9333 data_tmp = ishft(data_tmp, 50)
9334 pack_tmp = ior(pack_tmp, data_tmp)
9335 pack_tmp = ishft(pack_tmp, -12)
9337 data_tmp = full_data(idata)
9338 data_tmp = ishft(data_tmp, 50)
9339 data_tmp = iand(data_tmp, mask_left(12))
9340 pack_tmp = ior(pack_tmp, data_tmp)
9342 packed_data(ipack) = pack_tmp
9343 data_tmp = full_data(idata)
9344 pack_tmp = ishft(data_tmp, 62)
9345 pack_tmp = ishft(pack_tmp, -14)
9347 data_tmp = full_data(idata)
9348 data_tmp = ishft(data_tmp, 50)
9349 pack_tmp = ior(pack_tmp, data_tmp)
9350 pack_tmp = ishft(pack_tmp, -14)
9352 data_tmp = full_data(idata)
9353 data_tmp = ishft(data_tmp, 50)
9354 pack_tmp = ior(pack_tmp, data_tmp)
9355 pack_tmp = ishft(pack_tmp, -14)
9357 data_tmp = full_data(idata)
9358 data_tmp = ishft(data_tmp, 50)
9359 pack_tmp = ior(pack_tmp, data_tmp)
9360 pack_tmp = ishft(pack_tmp, -14)
9362 data_tmp = full_data(idata)
9363 data_tmp = ishft(data_tmp, 50)
9364 pack_tmp = ior(pack_tmp, data_tmp)
9365 pack_tmp = ishft(pack_tmp, -6)
9367 data_tmp = full_data(idata)
9368 data_tmp = ishft(data_tmp, 50)
9369 data_tmp = iand(data_tmp, mask_left(6))
9370 pack_tmp = ior(pack_tmp, data_tmp)
9372 packed_data(ipack) = pack_tmp
9373 data_tmp = full_data(idata)
9374 pack_tmp = ishft(data_tmp, 56)
9375 pack_tmp = ishft(pack_tmp, -14)
9377 data_tmp = full_data(idata)
9378 data_tmp = ishft(data_tmp, 50)
9379 pack_tmp = ior(pack_tmp, data_tmp)
9380 pack_tmp = ishft(pack_tmp, -14)
9382 data_tmp = full_data(idata)
9383 data_tmp = ishft(data_tmp, 50)
9384 pack_tmp = ior(pack_tmp, data_tmp)
9385 pack_tmp = ishft(pack_tmp, -14)
9387 data_tmp = full_data(idata)
9388 data_tmp = ishft(data_tmp, 50)
9389 pack_tmp = ior(pack_tmp, data_tmp)
9390 pack_tmp = ishft(pack_tmp, -14)
9392 data_tmp = full_data(idata)
9393 data_tmp = ishft(data_tmp, 50)
9394 pack_tmp = ior(pack_tmp, data_tmp)
9395 pack_tmp = ishft(pack_tmp, 0)
9396 pack_tmp = ishft(pack_tmp, 0)
9398 packed_data(ipack) = pack_tmp
9400 IF (ndata_rep < ndata)
THEN
9401 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
9403 END SUBROUTINE ints2bits_14
9411 SUBROUTINE bits2ints_14(Ndata, packed_data, full_data)
9412 INTEGER,
INTENT(IN) :: Ndata
9413 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
9414 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
9416 INTEGER,
PARAMETER :: Nbits = 14
9418 INTEGER :: idata, ipack, kdata, Ndata_rep
9419 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
9424 ndata_rep = (ndata/64)*64
9425 DO kdata = 1, ndata_rep, 64
9427 data_tmp = ishft(pack_tmp, 14)
9429 pack_tmp = packed_data(ipack)
9430 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
9431 pack_tmp = ishft(pack_tmp, -14)
9433 data_tmp = iand(pack_tmp, mask_right(nbits))
9434 full_data(idata) = data_tmp
9435 pack_tmp = ishft(pack_tmp, -nbits)
9437 data_tmp = iand(pack_tmp, mask_right(nbits))
9438 full_data(idata) = data_tmp
9439 pack_tmp = ishft(pack_tmp, -nbits)
9441 data_tmp = iand(pack_tmp, mask_right(nbits))
9442 full_data(idata) = data_tmp
9443 pack_tmp = ishft(pack_tmp, -nbits)
9445 data_tmp = ishft(pack_tmp, 6)
9447 pack_tmp = packed_data(ipack)
9448 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
9449 pack_tmp = ishft(pack_tmp, -6)
9451 data_tmp = iand(pack_tmp, mask_right(nbits))
9452 full_data(idata) = data_tmp
9453 pack_tmp = ishft(pack_tmp, -nbits)
9455 data_tmp = iand(pack_tmp, mask_right(nbits))
9456 full_data(idata) = data_tmp
9457 pack_tmp = ishft(pack_tmp, -nbits)
9459 data_tmp = iand(pack_tmp, mask_right(nbits))
9460 full_data(idata) = data_tmp
9461 pack_tmp = ishft(pack_tmp, -nbits)
9463 data_tmp = iand(pack_tmp, mask_right(nbits))
9464 full_data(idata) = data_tmp
9465 pack_tmp = ishft(pack_tmp, -nbits)
9467 data_tmp = ishft(pack_tmp, 12)
9469 pack_tmp = packed_data(ipack)
9470 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
9471 pack_tmp = ishft(pack_tmp, -12)
9473 data_tmp = iand(pack_tmp, mask_right(nbits))
9474 full_data(idata) = data_tmp
9475 pack_tmp = ishft(pack_tmp, -nbits)
9477 data_tmp = iand(pack_tmp, mask_right(nbits))
9478 full_data(idata) = data_tmp
9479 pack_tmp = ishft(pack_tmp, -nbits)
9481 data_tmp = iand(pack_tmp, mask_right(nbits))
9482 full_data(idata) = data_tmp
9483 pack_tmp = ishft(pack_tmp, -nbits)
9485 data_tmp = ishft(pack_tmp, 4)
9487 pack_tmp = packed_data(ipack)
9488 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
9489 pack_tmp = ishft(pack_tmp, -4)
9491 data_tmp = iand(pack_tmp, mask_right(nbits))
9492 full_data(idata) = data_tmp
9493 pack_tmp = ishft(pack_tmp, -nbits)
9495 data_tmp = iand(pack_tmp, mask_right(nbits))
9496 full_data(idata) = data_tmp
9497 pack_tmp = ishft(pack_tmp, -nbits)
9499 data_tmp = iand(pack_tmp, mask_right(nbits))
9500 full_data(idata) = data_tmp
9501 pack_tmp = ishft(pack_tmp, -nbits)
9503 data_tmp = iand(pack_tmp, mask_right(nbits))
9504 full_data(idata) = data_tmp
9505 pack_tmp = ishft(pack_tmp, -nbits)
9507 data_tmp = ishft(pack_tmp, 10)
9509 pack_tmp = packed_data(ipack)
9510 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
9511 pack_tmp = ishft(pack_tmp, -10)
9513 data_tmp = iand(pack_tmp, mask_right(nbits))
9514 full_data(idata) = data_tmp
9515 pack_tmp = ishft(pack_tmp, -nbits)
9517 data_tmp = iand(pack_tmp, mask_right(nbits))
9518 full_data(idata) = data_tmp
9519 pack_tmp = ishft(pack_tmp, -nbits)
9521 data_tmp = iand(pack_tmp, mask_right(nbits))
9522 full_data(idata) = data_tmp
9523 pack_tmp = ishft(pack_tmp, -nbits)
9525 data_tmp = ishft(pack_tmp, 2)
9527 pack_tmp = packed_data(ipack)
9528 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
9529 pack_tmp = ishft(pack_tmp, -2)
9531 data_tmp = iand(pack_tmp, mask_right(nbits))
9532 full_data(idata) = data_tmp
9533 pack_tmp = ishft(pack_tmp, -nbits)
9535 data_tmp = iand(pack_tmp, mask_right(nbits))
9536 full_data(idata) = data_tmp
9537 pack_tmp = ishft(pack_tmp, -nbits)
9539 data_tmp = iand(pack_tmp, mask_right(nbits))
9540 full_data(idata) = data_tmp
9541 pack_tmp = ishft(pack_tmp, -nbits)
9543 data_tmp = iand(pack_tmp, mask_right(nbits))
9544 full_data(idata) = data_tmp
9545 pack_tmp = ishft(pack_tmp, -nbits)
9547 data_tmp = ishft(pack_tmp, 8)
9549 pack_tmp = packed_data(ipack)
9550 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
9551 pack_tmp = ishft(pack_tmp, -8)
9553 data_tmp = iand(pack_tmp, mask_right(nbits))
9554 full_data(idata) = data_tmp
9555 pack_tmp = ishft(pack_tmp, -nbits)
9557 data_tmp = iand(pack_tmp, mask_right(nbits))
9558 full_data(idata) = data_tmp
9559 pack_tmp = ishft(pack_tmp, -nbits)
9561 data_tmp = iand(pack_tmp, mask_right(nbits))
9562 full_data(idata) = data_tmp
9563 pack_tmp = ishft(pack_tmp, -nbits)
9565 data_tmp = iand(pack_tmp, mask_right(nbits))
9566 full_data(idata) = data_tmp
9567 pack_tmp = ishft(pack_tmp, -nbits)
9569 data_tmp = ishft(pack_tmp, 14)
9571 pack_tmp = packed_data(ipack)
9572 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
9573 pack_tmp = ishft(pack_tmp, -14)
9575 data_tmp = iand(pack_tmp, mask_right(nbits))
9576 full_data(idata) = data_tmp
9577 pack_tmp = ishft(pack_tmp, -nbits)
9579 data_tmp = iand(pack_tmp, mask_right(nbits))
9580 full_data(idata) = data_tmp
9581 pack_tmp = ishft(pack_tmp, -nbits)
9583 data_tmp = iand(pack_tmp, mask_right(nbits))
9584 full_data(idata) = data_tmp
9585 pack_tmp = ishft(pack_tmp, -nbits)
9587 data_tmp = ishft(pack_tmp, 6)
9589 pack_tmp = packed_data(ipack)
9590 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
9591 pack_tmp = ishft(pack_tmp, -6)
9593 data_tmp = iand(pack_tmp, mask_right(nbits))
9594 full_data(idata) = data_tmp
9595 pack_tmp = ishft(pack_tmp, -nbits)
9597 data_tmp = iand(pack_tmp, mask_right(nbits))
9598 full_data(idata) = data_tmp
9599 pack_tmp = ishft(pack_tmp, -nbits)
9601 data_tmp = iand(pack_tmp, mask_right(nbits))
9602 full_data(idata) = data_tmp
9603 pack_tmp = ishft(pack_tmp, -nbits)
9605 data_tmp = iand(pack_tmp, mask_right(nbits))
9606 full_data(idata) = data_tmp
9607 pack_tmp = ishft(pack_tmp, -nbits)
9609 data_tmp = ishft(pack_tmp, 12)
9611 pack_tmp = packed_data(ipack)
9612 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
9613 pack_tmp = ishft(pack_tmp, -12)
9615 data_tmp = iand(pack_tmp, mask_right(nbits))
9616 full_data(idata) = data_tmp
9617 pack_tmp = ishft(pack_tmp, -nbits)
9619 data_tmp = iand(pack_tmp, mask_right(nbits))
9620 full_data(idata) = data_tmp
9621 pack_tmp = ishft(pack_tmp, -nbits)
9623 data_tmp = iand(pack_tmp, mask_right(nbits))
9624 full_data(idata) = data_tmp
9625 pack_tmp = ishft(pack_tmp, -nbits)
9627 data_tmp = ishft(pack_tmp, 4)
9629 pack_tmp = packed_data(ipack)
9630 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
9631 pack_tmp = ishft(pack_tmp, -4)
9633 data_tmp = iand(pack_tmp, mask_right(nbits))
9634 full_data(idata) = data_tmp
9635 pack_tmp = ishft(pack_tmp, -nbits)
9637 data_tmp = iand(pack_tmp, mask_right(nbits))
9638 full_data(idata) = data_tmp
9639 pack_tmp = ishft(pack_tmp, -nbits)
9641 data_tmp = iand(pack_tmp, mask_right(nbits))
9642 full_data(idata) = data_tmp
9643 pack_tmp = ishft(pack_tmp, -nbits)
9645 data_tmp = iand(pack_tmp, mask_right(nbits))
9646 full_data(idata) = data_tmp
9647 pack_tmp = ishft(pack_tmp, -nbits)
9649 data_tmp = ishft(pack_tmp, 10)
9651 pack_tmp = packed_data(ipack)
9652 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
9653 pack_tmp = ishft(pack_tmp, -10)
9655 data_tmp = iand(pack_tmp, mask_right(nbits))
9656 full_data(idata) = data_tmp
9657 pack_tmp = ishft(pack_tmp, -nbits)
9659 data_tmp = iand(pack_tmp, mask_right(nbits))
9660 full_data(idata) = data_tmp
9661 pack_tmp = ishft(pack_tmp, -nbits)
9663 data_tmp = iand(pack_tmp, mask_right(nbits))
9664 full_data(idata) = data_tmp
9665 pack_tmp = ishft(pack_tmp, -nbits)
9667 data_tmp = ishft(pack_tmp, 2)
9669 pack_tmp = packed_data(ipack)
9670 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
9671 pack_tmp = ishft(pack_tmp, -2)
9673 data_tmp = iand(pack_tmp, mask_right(nbits))
9674 full_data(idata) = data_tmp
9675 pack_tmp = ishft(pack_tmp, -nbits)
9677 data_tmp = iand(pack_tmp, mask_right(nbits))
9678 full_data(idata) = data_tmp
9679 pack_tmp = ishft(pack_tmp, -nbits)
9681 data_tmp = iand(pack_tmp, mask_right(nbits))
9682 full_data(idata) = data_tmp
9683 pack_tmp = ishft(pack_tmp, -nbits)
9685 data_tmp = iand(pack_tmp, mask_right(nbits))
9686 full_data(idata) = data_tmp
9687 pack_tmp = ishft(pack_tmp, -nbits)
9689 data_tmp = ishft(pack_tmp, 8)
9691 pack_tmp = packed_data(ipack)
9692 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
9693 pack_tmp = ishft(pack_tmp, -8)
9695 data_tmp = iand(pack_tmp, mask_right(nbits))
9696 full_data(idata) = data_tmp
9697 pack_tmp = ishft(pack_tmp, -nbits)
9699 data_tmp = iand(pack_tmp, mask_right(nbits))
9700 full_data(idata) = data_tmp
9701 pack_tmp = ishft(pack_tmp, -nbits)
9703 data_tmp = iand(pack_tmp, mask_right(nbits))
9704 full_data(idata) = data_tmp
9705 pack_tmp = ishft(pack_tmp, -nbits)
9707 data_tmp = iand(pack_tmp, mask_right(nbits))
9708 full_data(idata) = data_tmp
9709 pack_tmp = ishft(pack_tmp, -nbits)
9711 IF (ndata_rep < ndata)
THEN
9712 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
9714 END SUBROUTINE bits2ints_14
9722 SUBROUTINE ints2bits_15(Ndata, packed_data, full_data)
9723 INTEGER,
INTENT(IN) :: Ndata
9724 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
9725 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
9727 INTEGER,
PARAMETER :: Nbits = 15
9729 INTEGER :: idata, ipack, kdata, Ndata_rep
9730 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
9734 ndata_rep = (ndata/64)*64
9735 DO kdata = 1, ndata_rep, 64
9738 data_tmp = full_data(idata)
9739 data_tmp = ishft(data_tmp, 49)
9740 pack_tmp = ior(pack_tmp, data_tmp)
9741 pack_tmp = ishft(pack_tmp, -15)
9743 data_tmp = full_data(idata)
9744 data_tmp = ishft(data_tmp, 49)
9745 pack_tmp = ior(pack_tmp, data_tmp)
9746 pack_tmp = ishft(pack_tmp, -15)
9748 data_tmp = full_data(idata)
9749 data_tmp = ishft(data_tmp, 49)
9750 pack_tmp = ior(pack_tmp, data_tmp)
9751 pack_tmp = ishft(pack_tmp, -15)
9753 data_tmp = full_data(idata)
9754 data_tmp = ishft(data_tmp, 49)
9755 pack_tmp = ior(pack_tmp, data_tmp)
9756 pack_tmp = ishft(pack_tmp, -4)
9758 data_tmp = full_data(idata)
9759 data_tmp = ishft(data_tmp, 49)
9760 data_tmp = iand(data_tmp, mask_left(4))
9761 pack_tmp = ior(pack_tmp, data_tmp)
9763 packed_data(ipack) = pack_tmp
9764 data_tmp = full_data(idata)
9765 pack_tmp = ishft(data_tmp, 53)
9766 pack_tmp = ishft(pack_tmp, -15)
9768 data_tmp = full_data(idata)
9769 data_tmp = ishft(data_tmp, 49)
9770 pack_tmp = ior(pack_tmp, data_tmp)
9771 pack_tmp = ishft(pack_tmp, -15)
9773 data_tmp = full_data(idata)
9774 data_tmp = ishft(data_tmp, 49)
9775 pack_tmp = ior(pack_tmp, data_tmp)
9776 pack_tmp = ishft(pack_tmp, -15)
9778 data_tmp = full_data(idata)
9779 data_tmp = ishft(data_tmp, 49)
9780 pack_tmp = ior(pack_tmp, data_tmp)
9781 pack_tmp = ishft(pack_tmp, -8)
9783 data_tmp = full_data(idata)
9784 data_tmp = ishft(data_tmp, 49)
9785 data_tmp = iand(data_tmp, mask_left(8))
9786 pack_tmp = ior(pack_tmp, data_tmp)
9788 packed_data(ipack) = pack_tmp
9789 data_tmp = full_data(idata)
9790 pack_tmp = ishft(data_tmp, 57)
9791 pack_tmp = ishft(pack_tmp, -15)
9793 data_tmp = full_data(idata)
9794 data_tmp = ishft(data_tmp, 49)
9795 pack_tmp = ior(pack_tmp, data_tmp)
9796 pack_tmp = ishft(pack_tmp, -15)
9798 data_tmp = full_data(idata)
9799 data_tmp = ishft(data_tmp, 49)
9800 pack_tmp = ior(pack_tmp, data_tmp)
9801 pack_tmp = ishft(pack_tmp, -15)
9803 data_tmp = full_data(idata)
9804 data_tmp = ishft(data_tmp, 49)
9805 pack_tmp = ior(pack_tmp, data_tmp)
9806 pack_tmp = ishft(pack_tmp, -12)
9808 data_tmp = full_data(idata)
9809 data_tmp = ishft(data_tmp, 49)
9810 data_tmp = iand(data_tmp, mask_left(12))
9811 pack_tmp = ior(pack_tmp, data_tmp)
9813 packed_data(ipack) = pack_tmp
9814 data_tmp = full_data(idata)
9815 pack_tmp = ishft(data_tmp, 61)
9816 pack_tmp = ishft(pack_tmp, -15)
9818 data_tmp = full_data(idata)
9819 data_tmp = ishft(data_tmp, 49)
9820 pack_tmp = ior(pack_tmp, data_tmp)
9821 pack_tmp = ishft(pack_tmp, -15)
9823 data_tmp = full_data(idata)
9824 data_tmp = ishft(data_tmp, 49)
9825 pack_tmp = ior(pack_tmp, data_tmp)
9826 pack_tmp = ishft(pack_tmp, -15)
9828 data_tmp = full_data(idata)
9829 data_tmp = ishft(data_tmp, 49)
9830 pack_tmp = ior(pack_tmp, data_tmp)
9831 pack_tmp = ishft(pack_tmp, -15)
9833 data_tmp = full_data(idata)
9834 data_tmp = ishft(data_tmp, 49)
9835 pack_tmp = ior(pack_tmp, data_tmp)
9836 pack_tmp = ishft(pack_tmp, -1)
9838 data_tmp = full_data(idata)
9839 data_tmp = ishft(data_tmp, 49)
9840 data_tmp = iand(data_tmp, mask_left(1))
9841 pack_tmp = ior(pack_tmp, data_tmp)
9843 packed_data(ipack) = pack_tmp
9844 data_tmp = full_data(idata)
9845 pack_tmp = ishft(data_tmp, 50)
9846 pack_tmp = ishft(pack_tmp, -15)
9848 data_tmp = full_data(idata)
9849 data_tmp = ishft(data_tmp, 49)
9850 pack_tmp = ior(pack_tmp, data_tmp)
9851 pack_tmp = ishft(pack_tmp, -15)
9853 data_tmp = full_data(idata)
9854 data_tmp = ishft(data_tmp, 49)
9855 pack_tmp = ior(pack_tmp, data_tmp)
9856 pack_tmp = ishft(pack_tmp, -15)
9858 data_tmp = full_data(idata)
9859 data_tmp = ishft(data_tmp, 49)
9860 pack_tmp = ior(pack_tmp, data_tmp)
9861 pack_tmp = ishft(pack_tmp, -5)
9863 data_tmp = full_data(idata)
9864 data_tmp = ishft(data_tmp, 49)
9865 data_tmp = iand(data_tmp, mask_left(5))
9866 pack_tmp = ior(pack_tmp, data_tmp)
9868 packed_data(ipack) = pack_tmp
9869 data_tmp = full_data(idata)
9870 pack_tmp = ishft(data_tmp, 54)
9871 pack_tmp = ishft(pack_tmp, -15)
9873 data_tmp = full_data(idata)
9874 data_tmp = ishft(data_tmp, 49)
9875 pack_tmp = ior(pack_tmp, data_tmp)
9876 pack_tmp = ishft(pack_tmp, -15)
9878 data_tmp = full_data(idata)
9879 data_tmp = ishft(data_tmp, 49)
9880 pack_tmp = ior(pack_tmp, data_tmp)
9881 pack_tmp = ishft(pack_tmp, -15)
9883 data_tmp = full_data(idata)
9884 data_tmp = ishft(data_tmp, 49)
9885 pack_tmp = ior(pack_tmp, data_tmp)
9886 pack_tmp = ishft(pack_tmp, -9)
9888 data_tmp = full_data(idata)
9889 data_tmp = ishft(data_tmp, 49)
9890 data_tmp = iand(data_tmp, mask_left(9))
9891 pack_tmp = ior(pack_tmp, data_tmp)
9893 packed_data(ipack) = pack_tmp
9894 data_tmp = full_data(idata)
9895 pack_tmp = ishft(data_tmp, 58)
9896 pack_tmp = ishft(pack_tmp, -15)
9898 data_tmp = full_data(idata)
9899 data_tmp = ishft(data_tmp, 49)
9900 pack_tmp = ior(pack_tmp, data_tmp)
9901 pack_tmp = ishft(pack_tmp, -15)
9903 data_tmp = full_data(idata)
9904 data_tmp = ishft(data_tmp, 49)
9905 pack_tmp = ior(pack_tmp, data_tmp)
9906 pack_tmp = ishft(pack_tmp, -15)
9908 data_tmp = full_data(idata)
9909 data_tmp = ishft(data_tmp, 49)
9910 pack_tmp = ior(pack_tmp, data_tmp)
9911 pack_tmp = ishft(pack_tmp, -13)
9913 data_tmp = full_data(idata)
9914 data_tmp = ishft(data_tmp, 49)
9915 data_tmp = iand(data_tmp, mask_left(13))
9916 pack_tmp = ior(pack_tmp, data_tmp)
9918 packed_data(ipack) = pack_tmp
9919 data_tmp = full_data(idata)
9920 pack_tmp = ishft(data_tmp, 62)
9921 pack_tmp = ishft(pack_tmp, -15)
9923 data_tmp = full_data(idata)
9924 data_tmp = ishft(data_tmp, 49)
9925 pack_tmp = ior(pack_tmp, data_tmp)
9926 pack_tmp = ishft(pack_tmp, -15)
9928 data_tmp = full_data(idata)
9929 data_tmp = ishft(data_tmp, 49)
9930 pack_tmp = ior(pack_tmp, data_tmp)
9931 pack_tmp = ishft(pack_tmp, -15)
9933 data_tmp = full_data(idata)
9934 data_tmp = ishft(data_tmp, 49)
9935 pack_tmp = ior(pack_tmp, data_tmp)
9936 pack_tmp = ishft(pack_tmp, -15)
9938 data_tmp = full_data(idata)
9939 data_tmp = ishft(data_tmp, 49)
9940 pack_tmp = ior(pack_tmp, data_tmp)
9941 pack_tmp = ishft(pack_tmp, -2)
9943 data_tmp = full_data(idata)
9944 data_tmp = ishft(data_tmp, 49)
9945 data_tmp = iand(data_tmp, mask_left(2))
9946 pack_tmp = ior(pack_tmp, data_tmp)
9948 packed_data(ipack) = pack_tmp
9949 data_tmp = full_data(idata)
9950 pack_tmp = ishft(data_tmp, 51)
9951 pack_tmp = ishft(pack_tmp, -15)
9953 data_tmp = full_data(idata)
9954 data_tmp = ishft(data_tmp, 49)
9955 pack_tmp = ior(pack_tmp, data_tmp)
9956 pack_tmp = ishft(pack_tmp, -15)
9958 data_tmp = full_data(idata)
9959 data_tmp = ishft(data_tmp, 49)
9960 pack_tmp = ior(pack_tmp, data_tmp)
9961 pack_tmp = ishft(pack_tmp, -15)
9963 data_tmp = full_data(idata)
9964 data_tmp = ishft(data_tmp, 49)
9965 pack_tmp = ior(pack_tmp, data_tmp)
9966 pack_tmp = ishft(pack_tmp, -6)
9968 data_tmp = full_data(idata)
9969 data_tmp = ishft(data_tmp, 49)
9970 data_tmp = iand(data_tmp, mask_left(6))
9971 pack_tmp = ior(pack_tmp, data_tmp)
9973 packed_data(ipack) = pack_tmp
9974 data_tmp = full_data(idata)
9975 pack_tmp = ishft(data_tmp, 55)
9976 pack_tmp = ishft(pack_tmp, -15)
9978 data_tmp = full_data(idata)
9979 data_tmp = ishft(data_tmp, 49)
9980 pack_tmp = ior(pack_tmp, data_tmp)
9981 pack_tmp = ishft(pack_tmp, -15)
9983 data_tmp = full_data(idata)
9984 data_tmp = ishft(data_tmp, 49)
9985 pack_tmp = ior(pack_tmp, data_tmp)
9986 pack_tmp = ishft(pack_tmp, -15)
9988 data_tmp = full_data(idata)
9989 data_tmp = ishft(data_tmp, 49)
9990 pack_tmp = ior(pack_tmp, data_tmp)
9991 pack_tmp = ishft(pack_tmp, -10)
9993 data_tmp = full_data(idata)
9994 data_tmp = ishft(data_tmp, 49)
9995 data_tmp = iand(data_tmp, mask_left(10))
9996 pack_tmp = ior(pack_tmp, data_tmp)
9998 packed_data(ipack) = pack_tmp
9999 data_tmp = full_data(idata)
10000 pack_tmp = ishft(data_tmp, 59)
10001 pack_tmp = ishft(pack_tmp, -15)
10003 data_tmp = full_data(idata)
10004 data_tmp = ishft(data_tmp, 49)
10005 pack_tmp = ior(pack_tmp, data_tmp)
10006 pack_tmp = ishft(pack_tmp, -15)
10008 data_tmp = full_data(idata)
10009 data_tmp = ishft(data_tmp, 49)
10010 pack_tmp = ior(pack_tmp, data_tmp)
10011 pack_tmp = ishft(pack_tmp, -15)
10013 data_tmp = full_data(idata)
10014 data_tmp = ishft(data_tmp, 49)
10015 pack_tmp = ior(pack_tmp, data_tmp)
10016 pack_tmp = ishft(pack_tmp, -14)
10018 data_tmp = full_data(idata)
10019 data_tmp = ishft(data_tmp, 49)
10020 data_tmp = iand(data_tmp, mask_left(14))
10021 pack_tmp = ior(pack_tmp, data_tmp)
10023 packed_data(ipack) = pack_tmp
10024 data_tmp = full_data(idata)
10025 pack_tmp = ishft(data_tmp, 63)
10026 pack_tmp = ishft(pack_tmp, -15)
10028 data_tmp = full_data(idata)
10029 data_tmp = ishft(data_tmp, 49)
10030 pack_tmp = ior(pack_tmp, data_tmp)
10031 pack_tmp = ishft(pack_tmp, -15)
10033 data_tmp = full_data(idata)
10034 data_tmp = ishft(data_tmp, 49)
10035 pack_tmp = ior(pack_tmp, data_tmp)
10036 pack_tmp = ishft(pack_tmp, -15)
10038 data_tmp = full_data(idata)
10039 data_tmp = ishft(data_tmp, 49)
10040 pack_tmp = ior(pack_tmp, data_tmp)
10041 pack_tmp = ishft(pack_tmp, -15)
10043 data_tmp = full_data(idata)
10044 data_tmp = ishft(data_tmp, 49)
10045 pack_tmp = ior(pack_tmp, data_tmp)
10046 pack_tmp = ishft(pack_tmp, -3)
10048 data_tmp = full_data(idata)
10049 data_tmp = ishft(data_tmp, 49)
10050 data_tmp = iand(data_tmp, mask_left(3))
10051 pack_tmp = ior(pack_tmp, data_tmp)
10053 packed_data(ipack) = pack_tmp
10054 data_tmp = full_data(idata)
10055 pack_tmp = ishft(data_tmp, 52)
10056 pack_tmp = ishft(pack_tmp, -15)
10058 data_tmp = full_data(idata)
10059 data_tmp = ishft(data_tmp, 49)
10060 pack_tmp = ior(pack_tmp, data_tmp)
10061 pack_tmp = ishft(pack_tmp, -15)
10063 data_tmp = full_data(idata)
10064 data_tmp = ishft(data_tmp, 49)
10065 pack_tmp = ior(pack_tmp, data_tmp)
10066 pack_tmp = ishft(pack_tmp, -15)
10068 data_tmp = full_data(idata)
10069 data_tmp = ishft(data_tmp, 49)
10070 pack_tmp = ior(pack_tmp, data_tmp)
10071 pack_tmp = ishft(pack_tmp, -7)
10073 data_tmp = full_data(idata)
10074 data_tmp = ishft(data_tmp, 49)
10075 data_tmp = iand(data_tmp, mask_left(7))
10076 pack_tmp = ior(pack_tmp, data_tmp)
10078 packed_data(ipack) = pack_tmp
10079 data_tmp = full_data(idata)
10080 pack_tmp = ishft(data_tmp, 56)
10081 pack_tmp = ishft(pack_tmp, -15)
10083 data_tmp = full_data(idata)
10084 data_tmp = ishft(data_tmp, 49)
10085 pack_tmp = ior(pack_tmp, data_tmp)
10086 pack_tmp = ishft(pack_tmp, -15)
10088 data_tmp = full_data(idata)
10089 data_tmp = ishft(data_tmp, 49)
10090 pack_tmp = ior(pack_tmp, data_tmp)
10091 pack_tmp = ishft(pack_tmp, -15)
10093 data_tmp = full_data(idata)
10094 data_tmp = ishft(data_tmp, 49)
10095 pack_tmp = ior(pack_tmp, data_tmp)
10096 pack_tmp = ishft(pack_tmp, -11)
10098 data_tmp = full_data(idata)
10099 data_tmp = ishft(data_tmp, 49)
10100 data_tmp = iand(data_tmp, mask_left(11))
10101 pack_tmp = ior(pack_tmp, data_tmp)
10103 packed_data(ipack) = pack_tmp
10104 data_tmp = full_data(idata)
10105 pack_tmp = ishft(data_tmp, 60)
10106 pack_tmp = ishft(pack_tmp, -15)
10108 data_tmp = full_data(idata)
10109 data_tmp = ishft(data_tmp, 49)
10110 pack_tmp = ior(pack_tmp, data_tmp)
10111 pack_tmp = ishft(pack_tmp, -15)
10113 data_tmp = full_data(idata)
10114 data_tmp = ishft(data_tmp, 49)
10115 pack_tmp = ior(pack_tmp, data_tmp)
10116 pack_tmp = ishft(pack_tmp, -15)
10118 data_tmp = full_data(idata)
10119 data_tmp = ishft(data_tmp, 49)
10120 pack_tmp = ior(pack_tmp, data_tmp)
10121 pack_tmp = ishft(pack_tmp, -15)
10123 data_tmp = full_data(idata)
10124 data_tmp = ishft(data_tmp, 49)
10125 pack_tmp = ior(pack_tmp, data_tmp)
10126 pack_tmp = ishft(pack_tmp, 0)
10127 pack_tmp = ishft(pack_tmp, 0)
10129 packed_data(ipack) = pack_tmp
10131 IF (ndata_rep < ndata)
THEN
10132 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
10134 END SUBROUTINE ints2bits_15
10142 SUBROUTINE bits2ints_15(Ndata, packed_data, full_data)
10143 INTEGER,
INTENT(IN) :: Ndata
10144 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
10145 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
10147 INTEGER,
PARAMETER :: Nbits = 15
10149 INTEGER :: idata, ipack, kdata, Ndata_rep
10150 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
10155 ndata_rep = (ndata/64)*64
10156 DO kdata = 1, ndata_rep, 64
10158 data_tmp = ishft(pack_tmp, 15)
10160 pack_tmp = packed_data(ipack)
10161 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
10162 pack_tmp = ishft(pack_tmp, -15)
10164 data_tmp = iand(pack_tmp, mask_right(nbits))
10165 full_data(idata) = data_tmp
10166 pack_tmp = ishft(pack_tmp, -nbits)
10168 data_tmp = iand(pack_tmp, mask_right(nbits))
10169 full_data(idata) = data_tmp
10170 pack_tmp = ishft(pack_tmp, -nbits)
10172 data_tmp = iand(pack_tmp, mask_right(nbits))
10173 full_data(idata) = data_tmp
10174 pack_tmp = ishft(pack_tmp, -nbits)
10176 data_tmp = ishft(pack_tmp, 11)
10178 pack_tmp = packed_data(ipack)
10179 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
10180 pack_tmp = ishft(pack_tmp, -11)
10182 data_tmp = iand(pack_tmp, mask_right(nbits))
10183 full_data(idata) = data_tmp
10184 pack_tmp = ishft(pack_tmp, -nbits)
10186 data_tmp = iand(pack_tmp, mask_right(nbits))
10187 full_data(idata) = data_tmp
10188 pack_tmp = ishft(pack_tmp, -nbits)
10190 data_tmp = iand(pack_tmp, mask_right(nbits))
10191 full_data(idata) = data_tmp
10192 pack_tmp = ishft(pack_tmp, -nbits)
10194 data_tmp = ishft(pack_tmp, 7)
10196 pack_tmp = packed_data(ipack)
10197 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
10198 pack_tmp = ishft(pack_tmp, -7)
10200 data_tmp = iand(pack_tmp, mask_right(nbits))
10201 full_data(idata) = data_tmp
10202 pack_tmp = ishft(pack_tmp, -nbits)
10204 data_tmp = iand(pack_tmp, mask_right(nbits))
10205 full_data(idata) = data_tmp
10206 pack_tmp = ishft(pack_tmp, -nbits)
10208 data_tmp = iand(pack_tmp, mask_right(nbits))
10209 full_data(idata) = data_tmp
10210 pack_tmp = ishft(pack_tmp, -nbits)
10212 data_tmp = ishft(pack_tmp, 3)
10214 pack_tmp = packed_data(ipack)
10215 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
10216 pack_tmp = ishft(pack_tmp, -3)
10218 data_tmp = iand(pack_tmp, mask_right(nbits))
10219 full_data(idata) = data_tmp
10220 pack_tmp = ishft(pack_tmp, -nbits)
10222 data_tmp = iand(pack_tmp, mask_right(nbits))
10223 full_data(idata) = data_tmp
10224 pack_tmp = ishft(pack_tmp, -nbits)
10226 data_tmp = iand(pack_tmp, mask_right(nbits))
10227 full_data(idata) = data_tmp
10228 pack_tmp = ishft(pack_tmp, -nbits)
10230 data_tmp = iand(pack_tmp, mask_right(nbits))
10231 full_data(idata) = data_tmp
10232 pack_tmp = ishft(pack_tmp, -nbits)
10234 data_tmp = ishft(pack_tmp, 14)
10236 pack_tmp = packed_data(ipack)
10237 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
10238 pack_tmp = ishft(pack_tmp, -14)
10240 data_tmp = iand(pack_tmp, mask_right(nbits))
10241 full_data(idata) = data_tmp
10242 pack_tmp = ishft(pack_tmp, -nbits)
10244 data_tmp = iand(pack_tmp, mask_right(nbits))
10245 full_data(idata) = data_tmp
10246 pack_tmp = ishft(pack_tmp, -nbits)
10248 data_tmp = iand(pack_tmp, mask_right(nbits))
10249 full_data(idata) = data_tmp
10250 pack_tmp = ishft(pack_tmp, -nbits)
10252 data_tmp = ishft(pack_tmp, 10)
10254 pack_tmp = packed_data(ipack)
10255 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
10256 pack_tmp = ishft(pack_tmp, -10)
10258 data_tmp = iand(pack_tmp, mask_right(nbits))
10259 full_data(idata) = data_tmp
10260 pack_tmp = ishft(pack_tmp, -nbits)
10262 data_tmp = iand(pack_tmp, mask_right(nbits))
10263 full_data(idata) = data_tmp
10264 pack_tmp = ishft(pack_tmp, -nbits)
10266 data_tmp = iand(pack_tmp, mask_right(nbits))
10267 full_data(idata) = data_tmp
10268 pack_tmp = ishft(pack_tmp, -nbits)
10270 data_tmp = ishft(pack_tmp, 6)
10272 pack_tmp = packed_data(ipack)
10273 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
10274 pack_tmp = ishft(pack_tmp, -6)
10276 data_tmp = iand(pack_tmp, mask_right(nbits))
10277 full_data(idata) = data_tmp
10278 pack_tmp = ishft(pack_tmp, -nbits)
10280 data_tmp = iand(pack_tmp, mask_right(nbits))
10281 full_data(idata) = data_tmp
10282 pack_tmp = ishft(pack_tmp, -nbits)
10284 data_tmp = iand(pack_tmp, mask_right(nbits))
10285 full_data(idata) = data_tmp
10286 pack_tmp = ishft(pack_tmp, -nbits)
10288 data_tmp = ishft(pack_tmp, 2)
10290 pack_tmp = packed_data(ipack)
10291 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
10292 pack_tmp = ishft(pack_tmp, -2)
10294 data_tmp = iand(pack_tmp, mask_right(nbits))
10295 full_data(idata) = data_tmp
10296 pack_tmp = ishft(pack_tmp, -nbits)
10298 data_tmp = iand(pack_tmp, mask_right(nbits))
10299 full_data(idata) = data_tmp
10300 pack_tmp = ishft(pack_tmp, -nbits)
10302 data_tmp = iand(pack_tmp, mask_right(nbits))
10303 full_data(idata) = data_tmp
10304 pack_tmp = ishft(pack_tmp, -nbits)
10306 data_tmp = iand(pack_tmp, mask_right(nbits))
10307 full_data(idata) = data_tmp
10308 pack_tmp = ishft(pack_tmp, -nbits)
10310 data_tmp = ishft(pack_tmp, 13)
10312 pack_tmp = packed_data(ipack)
10313 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
10314 pack_tmp = ishft(pack_tmp, -13)
10316 data_tmp = iand(pack_tmp, mask_right(nbits))
10317 full_data(idata) = data_tmp
10318 pack_tmp = ishft(pack_tmp, -nbits)
10320 data_tmp = iand(pack_tmp, mask_right(nbits))
10321 full_data(idata) = data_tmp
10322 pack_tmp = ishft(pack_tmp, -nbits)
10324 data_tmp = iand(pack_tmp, mask_right(nbits))
10325 full_data(idata) = data_tmp
10326 pack_tmp = ishft(pack_tmp, -nbits)
10328 data_tmp = ishft(pack_tmp, 9)
10330 pack_tmp = packed_data(ipack)
10331 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
10332 pack_tmp = ishft(pack_tmp, -9)
10334 data_tmp = iand(pack_tmp, mask_right(nbits))
10335 full_data(idata) = data_tmp
10336 pack_tmp = ishft(pack_tmp, -nbits)
10338 data_tmp = iand(pack_tmp, mask_right(nbits))
10339 full_data(idata) = data_tmp
10340 pack_tmp = ishft(pack_tmp, -nbits)
10342 data_tmp = iand(pack_tmp, mask_right(nbits))
10343 full_data(idata) = data_tmp
10344 pack_tmp = ishft(pack_tmp, -nbits)
10346 data_tmp = ishft(pack_tmp, 5)
10348 pack_tmp = packed_data(ipack)
10349 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
10350 pack_tmp = ishft(pack_tmp, -5)
10352 data_tmp = iand(pack_tmp, mask_right(nbits))
10353 full_data(idata) = data_tmp
10354 pack_tmp = ishft(pack_tmp, -nbits)
10356 data_tmp = iand(pack_tmp, mask_right(nbits))
10357 full_data(idata) = data_tmp
10358 pack_tmp = ishft(pack_tmp, -nbits)
10360 data_tmp = iand(pack_tmp, mask_right(nbits))
10361 full_data(idata) = data_tmp
10362 pack_tmp = ishft(pack_tmp, -nbits)
10364 data_tmp = ishft(pack_tmp, 1)
10366 pack_tmp = packed_data(ipack)
10367 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
10368 pack_tmp = ishft(pack_tmp, -1)
10370 data_tmp = iand(pack_tmp, mask_right(nbits))
10371 full_data(idata) = data_tmp
10372 pack_tmp = ishft(pack_tmp, -nbits)
10374 data_tmp = iand(pack_tmp, mask_right(nbits))
10375 full_data(idata) = data_tmp
10376 pack_tmp = ishft(pack_tmp, -nbits)
10378 data_tmp = iand(pack_tmp, mask_right(nbits))
10379 full_data(idata) = data_tmp
10380 pack_tmp = ishft(pack_tmp, -nbits)
10382 data_tmp = iand(pack_tmp, mask_right(nbits))
10383 full_data(idata) = data_tmp
10384 pack_tmp = ishft(pack_tmp, -nbits)
10386 data_tmp = ishft(pack_tmp, 12)
10388 pack_tmp = packed_data(ipack)
10389 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
10390 pack_tmp = ishft(pack_tmp, -12)
10392 data_tmp = iand(pack_tmp, mask_right(nbits))
10393 full_data(idata) = data_tmp
10394 pack_tmp = ishft(pack_tmp, -nbits)
10396 data_tmp = iand(pack_tmp, mask_right(nbits))
10397 full_data(idata) = data_tmp
10398 pack_tmp = ishft(pack_tmp, -nbits)
10400 data_tmp = iand(pack_tmp, mask_right(nbits))
10401 full_data(idata) = data_tmp
10402 pack_tmp = ishft(pack_tmp, -nbits)
10404 data_tmp = ishft(pack_tmp, 8)
10406 pack_tmp = packed_data(ipack)
10407 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
10408 pack_tmp = ishft(pack_tmp, -8)
10410 data_tmp = iand(pack_tmp, mask_right(nbits))
10411 full_data(idata) = data_tmp
10412 pack_tmp = ishft(pack_tmp, -nbits)
10414 data_tmp = iand(pack_tmp, mask_right(nbits))
10415 full_data(idata) = data_tmp
10416 pack_tmp = ishft(pack_tmp, -nbits)
10418 data_tmp = iand(pack_tmp, mask_right(nbits))
10419 full_data(idata) = data_tmp
10420 pack_tmp = ishft(pack_tmp, -nbits)
10422 data_tmp = ishft(pack_tmp, 4)
10424 pack_tmp = packed_data(ipack)
10425 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
10426 pack_tmp = ishft(pack_tmp, -4)
10428 data_tmp = iand(pack_tmp, mask_right(nbits))
10429 full_data(idata) = data_tmp
10430 pack_tmp = ishft(pack_tmp, -nbits)
10432 data_tmp = iand(pack_tmp, mask_right(nbits))
10433 full_data(idata) = data_tmp
10434 pack_tmp = ishft(pack_tmp, -nbits)
10436 data_tmp = iand(pack_tmp, mask_right(nbits))
10437 full_data(idata) = data_tmp
10438 pack_tmp = ishft(pack_tmp, -nbits)
10440 data_tmp = iand(pack_tmp, mask_right(nbits))
10441 full_data(idata) = data_tmp
10442 pack_tmp = ishft(pack_tmp, -nbits)
10444 IF (ndata_rep < ndata)
THEN
10445 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
10447 END SUBROUTINE bits2ints_15
10455 SUBROUTINE ints2bits_16(Ndata, packed_data, full_data)
10456 INTEGER,
INTENT(IN) :: Ndata
10457 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
10458 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
10460 INTEGER,
PARAMETER :: Nbits = 16
10462 INTEGER :: idata, ipack, kdata, Ndata_rep
10463 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
10467 ndata_rep = (ndata/64)*64
10468 DO kdata = 1, ndata_rep, 64
10471 data_tmp = full_data(idata)
10472 data_tmp = ishft(data_tmp, 48)
10473 pack_tmp = ior(pack_tmp, data_tmp)
10474 pack_tmp = ishft(pack_tmp, -16)
10476 data_tmp = full_data(idata)
10477 data_tmp = ishft(data_tmp, 48)
10478 pack_tmp = ior(pack_tmp, data_tmp)
10479 pack_tmp = ishft(pack_tmp, -16)
10481 data_tmp = full_data(idata)
10482 data_tmp = ishft(data_tmp, 48)
10483 pack_tmp = ior(pack_tmp, data_tmp)
10484 pack_tmp = ishft(pack_tmp, -16)
10486 data_tmp = full_data(idata)
10487 data_tmp = ishft(data_tmp, 48)
10488 pack_tmp = ior(pack_tmp, data_tmp)
10489 pack_tmp = ishft(pack_tmp, 0)
10491 data_tmp = full_data(idata)
10492 data_tmp = ishft(data_tmp, 48)
10493 data_tmp = iand(data_tmp, mask_left(0))
10494 pack_tmp = ior(pack_tmp, data_tmp)
10496 packed_data(ipack) = pack_tmp
10497 data_tmp = full_data(idata)
10498 pack_tmp = ishft(data_tmp, 48)
10499 pack_tmp = ishft(pack_tmp, -16)
10501 data_tmp = full_data(idata)
10502 data_tmp = ishft(data_tmp, 48)
10503 pack_tmp = ior(pack_tmp, data_tmp)
10504 pack_tmp = ishft(pack_tmp, -16)
10506 data_tmp = full_data(idata)
10507 data_tmp = ishft(data_tmp, 48)
10508 pack_tmp = ior(pack_tmp, data_tmp)
10509 pack_tmp = ishft(pack_tmp, -16)
10511 data_tmp = full_data(idata)
10512 data_tmp = ishft(data_tmp, 48)
10513 pack_tmp = ior(pack_tmp, data_tmp)
10514 pack_tmp = ishft(pack_tmp, 0)
10516 data_tmp = full_data(idata)
10517 data_tmp = ishft(data_tmp, 48)
10518 data_tmp = iand(data_tmp, mask_left(0))
10519 pack_tmp = ior(pack_tmp, data_tmp)
10521 packed_data(ipack) = pack_tmp
10522 data_tmp = full_data(idata)
10523 pack_tmp = ishft(data_tmp, 48)
10524 pack_tmp = ishft(pack_tmp, -16)
10526 data_tmp = full_data(idata)
10527 data_tmp = ishft(data_tmp, 48)
10528 pack_tmp = ior(pack_tmp, data_tmp)
10529 pack_tmp = ishft(pack_tmp, -16)
10531 data_tmp = full_data(idata)
10532 data_tmp = ishft(data_tmp, 48)
10533 pack_tmp = ior(pack_tmp, data_tmp)
10534 pack_tmp = ishft(pack_tmp, -16)
10536 data_tmp = full_data(idata)
10537 data_tmp = ishft(data_tmp, 48)
10538 pack_tmp = ior(pack_tmp, data_tmp)
10539 pack_tmp = ishft(pack_tmp, 0)
10541 data_tmp = full_data(idata)
10542 data_tmp = ishft(data_tmp, 48)
10543 data_tmp = iand(data_tmp, mask_left(0))
10544 pack_tmp = ior(pack_tmp, data_tmp)
10546 packed_data(ipack) = pack_tmp
10547 data_tmp = full_data(idata)
10548 pack_tmp = ishft(data_tmp, 48)
10549 pack_tmp = ishft(pack_tmp, -16)
10551 data_tmp = full_data(idata)
10552 data_tmp = ishft(data_tmp, 48)
10553 pack_tmp = ior(pack_tmp, data_tmp)
10554 pack_tmp = ishft(pack_tmp, -16)
10556 data_tmp = full_data(idata)
10557 data_tmp = ishft(data_tmp, 48)
10558 pack_tmp = ior(pack_tmp, data_tmp)
10559 pack_tmp = ishft(pack_tmp, -16)
10561 data_tmp = full_data(idata)
10562 data_tmp = ishft(data_tmp, 48)
10563 pack_tmp = ior(pack_tmp, data_tmp)
10564 pack_tmp = ishft(pack_tmp, 0)
10566 data_tmp = full_data(idata)
10567 data_tmp = ishft(data_tmp, 48)
10568 data_tmp = iand(data_tmp, mask_left(0))
10569 pack_tmp = ior(pack_tmp, data_tmp)
10571 packed_data(ipack) = pack_tmp
10572 data_tmp = full_data(idata)
10573 pack_tmp = ishft(data_tmp, 48)
10574 pack_tmp = ishft(pack_tmp, -16)
10576 data_tmp = full_data(idata)
10577 data_tmp = ishft(data_tmp, 48)
10578 pack_tmp = ior(pack_tmp, data_tmp)
10579 pack_tmp = ishft(pack_tmp, -16)
10581 data_tmp = full_data(idata)
10582 data_tmp = ishft(data_tmp, 48)
10583 pack_tmp = ior(pack_tmp, data_tmp)
10584 pack_tmp = ishft(pack_tmp, -16)
10586 data_tmp = full_data(idata)
10587 data_tmp = ishft(data_tmp, 48)
10588 pack_tmp = ior(pack_tmp, data_tmp)
10589 pack_tmp = ishft(pack_tmp, 0)
10591 data_tmp = full_data(idata)
10592 data_tmp = ishft(data_tmp, 48)
10593 data_tmp = iand(data_tmp, mask_left(0))
10594 pack_tmp = ior(pack_tmp, data_tmp)
10596 packed_data(ipack) = pack_tmp
10597 data_tmp = full_data(idata)
10598 pack_tmp = ishft(data_tmp, 48)
10599 pack_tmp = ishft(pack_tmp, -16)
10601 data_tmp = full_data(idata)
10602 data_tmp = ishft(data_tmp, 48)
10603 pack_tmp = ior(pack_tmp, data_tmp)
10604 pack_tmp = ishft(pack_tmp, -16)
10606 data_tmp = full_data(idata)
10607 data_tmp = ishft(data_tmp, 48)
10608 pack_tmp = ior(pack_tmp, data_tmp)
10609 pack_tmp = ishft(pack_tmp, -16)
10611 data_tmp = full_data(idata)
10612 data_tmp = ishft(data_tmp, 48)
10613 pack_tmp = ior(pack_tmp, data_tmp)
10614 pack_tmp = ishft(pack_tmp, 0)
10616 data_tmp = full_data(idata)
10617 data_tmp = ishft(data_tmp, 48)
10618 data_tmp = iand(data_tmp, mask_left(0))
10619 pack_tmp = ior(pack_tmp, data_tmp)
10621 packed_data(ipack) = pack_tmp
10622 data_tmp = full_data(idata)
10623 pack_tmp = ishft(data_tmp, 48)
10624 pack_tmp = ishft(pack_tmp, -16)
10626 data_tmp = full_data(idata)
10627 data_tmp = ishft(data_tmp, 48)
10628 pack_tmp = ior(pack_tmp, data_tmp)
10629 pack_tmp = ishft(pack_tmp, -16)
10631 data_tmp = full_data(idata)
10632 data_tmp = ishft(data_tmp, 48)
10633 pack_tmp = ior(pack_tmp, data_tmp)
10634 pack_tmp = ishft(pack_tmp, -16)
10636 data_tmp = full_data(idata)
10637 data_tmp = ishft(data_tmp, 48)
10638 pack_tmp = ior(pack_tmp, data_tmp)
10639 pack_tmp = ishft(pack_tmp, 0)
10641 data_tmp = full_data(idata)
10642 data_tmp = ishft(data_tmp, 48)
10643 data_tmp = iand(data_tmp, mask_left(0))
10644 pack_tmp = ior(pack_tmp, data_tmp)
10646 packed_data(ipack) = pack_tmp
10647 data_tmp = full_data(idata)
10648 pack_tmp = ishft(data_tmp, 48)
10649 pack_tmp = ishft(pack_tmp, -16)
10651 data_tmp = full_data(idata)
10652 data_tmp = ishft(data_tmp, 48)
10653 pack_tmp = ior(pack_tmp, data_tmp)
10654 pack_tmp = ishft(pack_tmp, -16)
10656 data_tmp = full_data(idata)
10657 data_tmp = ishft(data_tmp, 48)
10658 pack_tmp = ior(pack_tmp, data_tmp)
10659 pack_tmp = ishft(pack_tmp, -16)
10661 data_tmp = full_data(idata)
10662 data_tmp = ishft(data_tmp, 48)
10663 pack_tmp = ior(pack_tmp, data_tmp)
10664 pack_tmp = ishft(pack_tmp, 0)
10666 data_tmp = full_data(idata)
10667 data_tmp = ishft(data_tmp, 48)
10668 data_tmp = iand(data_tmp, mask_left(0))
10669 pack_tmp = ior(pack_tmp, data_tmp)
10671 packed_data(ipack) = pack_tmp
10672 data_tmp = full_data(idata)
10673 pack_tmp = ishft(data_tmp, 48)
10674 pack_tmp = ishft(pack_tmp, -16)
10676 data_tmp = full_data(idata)
10677 data_tmp = ishft(data_tmp, 48)
10678 pack_tmp = ior(pack_tmp, data_tmp)
10679 pack_tmp = ishft(pack_tmp, -16)
10681 data_tmp = full_data(idata)
10682 data_tmp = ishft(data_tmp, 48)
10683 pack_tmp = ior(pack_tmp, data_tmp)
10684 pack_tmp = ishft(pack_tmp, -16)
10686 data_tmp = full_data(idata)
10687 data_tmp = ishft(data_tmp, 48)
10688 pack_tmp = ior(pack_tmp, data_tmp)
10689 pack_tmp = ishft(pack_tmp, 0)
10691 data_tmp = full_data(idata)
10692 data_tmp = ishft(data_tmp, 48)
10693 data_tmp = iand(data_tmp, mask_left(0))
10694 pack_tmp = ior(pack_tmp, data_tmp)
10696 packed_data(ipack) = pack_tmp
10697 data_tmp = full_data(idata)
10698 pack_tmp = ishft(data_tmp, 48)
10699 pack_tmp = ishft(pack_tmp, -16)
10701 data_tmp = full_data(idata)
10702 data_tmp = ishft(data_tmp, 48)
10703 pack_tmp = ior(pack_tmp, data_tmp)
10704 pack_tmp = ishft(pack_tmp, -16)
10706 data_tmp = full_data(idata)
10707 data_tmp = ishft(data_tmp, 48)
10708 pack_tmp = ior(pack_tmp, data_tmp)
10709 pack_tmp = ishft(pack_tmp, -16)
10711 data_tmp = full_data(idata)
10712 data_tmp = ishft(data_tmp, 48)
10713 pack_tmp = ior(pack_tmp, data_tmp)
10714 pack_tmp = ishft(pack_tmp, 0)
10716 data_tmp = full_data(idata)
10717 data_tmp = ishft(data_tmp, 48)
10718 data_tmp = iand(data_tmp, mask_left(0))
10719 pack_tmp = ior(pack_tmp, data_tmp)
10721 packed_data(ipack) = pack_tmp
10722 data_tmp = full_data(idata)
10723 pack_tmp = ishft(data_tmp, 48)
10724 pack_tmp = ishft(pack_tmp, -16)
10726 data_tmp = full_data(idata)
10727 data_tmp = ishft(data_tmp, 48)
10728 pack_tmp = ior(pack_tmp, data_tmp)
10729 pack_tmp = ishft(pack_tmp, -16)
10731 data_tmp = full_data(idata)
10732 data_tmp = ishft(data_tmp, 48)
10733 pack_tmp = ior(pack_tmp, data_tmp)
10734 pack_tmp = ishft(pack_tmp, -16)
10736 data_tmp = full_data(idata)
10737 data_tmp = ishft(data_tmp, 48)
10738 pack_tmp = ior(pack_tmp, data_tmp)
10739 pack_tmp = ishft(pack_tmp, 0)
10741 data_tmp = full_data(idata)
10742 data_tmp = ishft(data_tmp, 48)
10743 data_tmp = iand(data_tmp, mask_left(0))
10744 pack_tmp = ior(pack_tmp, data_tmp)
10746 packed_data(ipack) = pack_tmp
10747 data_tmp = full_data(idata)
10748 pack_tmp = ishft(data_tmp, 48)
10749 pack_tmp = ishft(pack_tmp, -16)
10751 data_tmp = full_data(idata)
10752 data_tmp = ishft(data_tmp, 48)
10753 pack_tmp = ior(pack_tmp, data_tmp)
10754 pack_tmp = ishft(pack_tmp, -16)
10756 data_tmp = full_data(idata)
10757 data_tmp = ishft(data_tmp, 48)
10758 pack_tmp = ior(pack_tmp, data_tmp)
10759 pack_tmp = ishft(pack_tmp, -16)
10761 data_tmp = full_data(idata)
10762 data_tmp = ishft(data_tmp, 48)
10763 pack_tmp = ior(pack_tmp, data_tmp)
10764 pack_tmp = ishft(pack_tmp, 0)
10766 data_tmp = full_data(idata)
10767 data_tmp = ishft(data_tmp, 48)
10768 data_tmp = iand(data_tmp, mask_left(0))
10769 pack_tmp = ior(pack_tmp, data_tmp)
10771 packed_data(ipack) = pack_tmp
10772 data_tmp = full_data(idata)
10773 pack_tmp = ishft(data_tmp, 48)
10774 pack_tmp = ishft(pack_tmp, -16)
10776 data_tmp = full_data(idata)
10777 data_tmp = ishft(data_tmp, 48)
10778 pack_tmp = ior(pack_tmp, data_tmp)
10779 pack_tmp = ishft(pack_tmp, -16)
10781 data_tmp = full_data(idata)
10782 data_tmp = ishft(data_tmp, 48)
10783 pack_tmp = ior(pack_tmp, data_tmp)
10784 pack_tmp = ishft(pack_tmp, -16)
10786 data_tmp = full_data(idata)
10787 data_tmp = ishft(data_tmp, 48)
10788 pack_tmp = ior(pack_tmp, data_tmp)
10789 pack_tmp = ishft(pack_tmp, 0)
10791 data_tmp = full_data(idata)
10792 data_tmp = ishft(data_tmp, 48)
10793 data_tmp = iand(data_tmp, mask_left(0))
10794 pack_tmp = ior(pack_tmp, data_tmp)
10796 packed_data(ipack) = pack_tmp
10797 data_tmp = full_data(idata)
10798 pack_tmp = ishft(data_tmp, 48)
10799 pack_tmp = ishft(pack_tmp, -16)
10801 data_tmp = full_data(idata)
10802 data_tmp = ishft(data_tmp, 48)
10803 pack_tmp = ior(pack_tmp, data_tmp)
10804 pack_tmp = ishft(pack_tmp, -16)
10806 data_tmp = full_data(idata)
10807 data_tmp = ishft(data_tmp, 48)
10808 pack_tmp = ior(pack_tmp, data_tmp)
10809 pack_tmp = ishft(pack_tmp, -16)
10811 data_tmp = full_data(idata)
10812 data_tmp = ishft(data_tmp, 48)
10813 pack_tmp = ior(pack_tmp, data_tmp)
10814 pack_tmp = ishft(pack_tmp, 0)
10816 data_tmp = full_data(idata)
10817 data_tmp = ishft(data_tmp, 48)
10818 data_tmp = iand(data_tmp, mask_left(0))
10819 pack_tmp = ior(pack_tmp, data_tmp)
10821 packed_data(ipack) = pack_tmp
10822 data_tmp = full_data(idata)
10823 pack_tmp = ishft(data_tmp, 48)
10824 pack_tmp = ishft(pack_tmp, -16)
10826 data_tmp = full_data(idata)
10827 data_tmp = ishft(data_tmp, 48)
10828 pack_tmp = ior(pack_tmp, data_tmp)
10829 pack_tmp = ishft(pack_tmp, -16)
10831 data_tmp = full_data(idata)
10832 data_tmp = ishft(data_tmp, 48)
10833 pack_tmp = ior(pack_tmp, data_tmp)
10834 pack_tmp = ishft(pack_tmp, -16)
10836 data_tmp = full_data(idata)
10837 data_tmp = ishft(data_tmp, 48)
10838 pack_tmp = ior(pack_tmp, data_tmp)
10839 pack_tmp = ishft(pack_tmp, 0)
10841 data_tmp = full_data(idata)
10842 data_tmp = ishft(data_tmp, 48)
10843 data_tmp = iand(data_tmp, mask_left(0))
10844 pack_tmp = ior(pack_tmp, data_tmp)
10846 packed_data(ipack) = pack_tmp
10847 data_tmp = full_data(idata)
10848 pack_tmp = ishft(data_tmp, 48)
10849 pack_tmp = ishft(pack_tmp, -16)
10851 data_tmp = full_data(idata)
10852 data_tmp = ishft(data_tmp, 48)
10853 pack_tmp = ior(pack_tmp, data_tmp)
10854 pack_tmp = ishft(pack_tmp, -16)
10856 data_tmp = full_data(idata)
10857 data_tmp = ishft(data_tmp, 48)
10858 pack_tmp = ior(pack_tmp, data_tmp)
10859 pack_tmp = ishft(pack_tmp, -16)
10861 data_tmp = full_data(idata)
10862 data_tmp = ishft(data_tmp, 48)
10863 pack_tmp = ior(pack_tmp, data_tmp)
10864 pack_tmp = ishft(pack_tmp, 0)
10865 pack_tmp = ishft(pack_tmp, 0)
10867 packed_data(ipack) = pack_tmp
10869 IF (ndata_rep < ndata)
THEN
10870 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
10872 END SUBROUTINE ints2bits_16
10880 SUBROUTINE bits2ints_16(Ndata, packed_data, full_data)
10881 INTEGER,
INTENT(IN) :: Ndata
10882 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
10883 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
10885 INTEGER,
PARAMETER :: Nbits = 16
10887 INTEGER :: idata, ipack, kdata, Ndata_rep
10888 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
10893 ndata_rep = (ndata/64)*64
10894 DO kdata = 1, ndata_rep, 64
10896 data_tmp = ishft(pack_tmp, 16)
10898 pack_tmp = packed_data(ipack)
10899 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
10900 pack_tmp = ishft(pack_tmp, -16)
10902 data_tmp = iand(pack_tmp, mask_right(nbits))
10903 full_data(idata) = data_tmp
10904 pack_tmp = ishft(pack_tmp, -nbits)
10906 data_tmp = iand(pack_tmp, mask_right(nbits))
10907 full_data(idata) = data_tmp
10908 pack_tmp = ishft(pack_tmp, -nbits)
10910 data_tmp = iand(pack_tmp, mask_right(nbits))
10911 full_data(idata) = data_tmp
10912 pack_tmp = ishft(pack_tmp, -nbits)
10914 data_tmp = ishft(pack_tmp, 16)
10916 pack_tmp = packed_data(ipack)
10917 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
10918 pack_tmp = ishft(pack_tmp, -16)
10920 data_tmp = iand(pack_tmp, mask_right(nbits))
10921 full_data(idata) = data_tmp
10922 pack_tmp = ishft(pack_tmp, -nbits)
10924 data_tmp = iand(pack_tmp, mask_right(nbits))
10925 full_data(idata) = data_tmp
10926 pack_tmp = ishft(pack_tmp, -nbits)
10928 data_tmp = iand(pack_tmp, mask_right(nbits))
10929 full_data(idata) = data_tmp
10930 pack_tmp = ishft(pack_tmp, -nbits)
10932 data_tmp = ishft(pack_tmp, 16)
10934 pack_tmp = packed_data(ipack)
10935 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
10936 pack_tmp = ishft(pack_tmp, -16)
10938 data_tmp = iand(pack_tmp, mask_right(nbits))
10939 full_data(idata) = data_tmp
10940 pack_tmp = ishft(pack_tmp, -nbits)
10942 data_tmp = iand(pack_tmp, mask_right(nbits))
10943 full_data(idata) = data_tmp
10944 pack_tmp = ishft(pack_tmp, -nbits)
10946 data_tmp = iand(pack_tmp, mask_right(nbits))
10947 full_data(idata) = data_tmp
10948 pack_tmp = ishft(pack_tmp, -nbits)
10950 data_tmp = ishft(pack_tmp, 16)
10952 pack_tmp = packed_data(ipack)
10953 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
10954 pack_tmp = ishft(pack_tmp, -16)
10956 data_tmp = iand(pack_tmp, mask_right(nbits))
10957 full_data(idata) = data_tmp
10958 pack_tmp = ishft(pack_tmp, -nbits)
10960 data_tmp = iand(pack_tmp, mask_right(nbits))
10961 full_data(idata) = data_tmp
10962 pack_tmp = ishft(pack_tmp, -nbits)
10964 data_tmp = iand(pack_tmp, mask_right(nbits))
10965 full_data(idata) = data_tmp
10966 pack_tmp = ishft(pack_tmp, -nbits)
10968 data_tmp = ishft(pack_tmp, 16)
10970 pack_tmp = packed_data(ipack)
10971 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
10972 pack_tmp = ishft(pack_tmp, -16)
10974 data_tmp = iand(pack_tmp, mask_right(nbits))
10975 full_data(idata) = data_tmp
10976 pack_tmp = ishft(pack_tmp, -nbits)
10978 data_tmp = iand(pack_tmp, mask_right(nbits))
10979 full_data(idata) = data_tmp
10980 pack_tmp = ishft(pack_tmp, -nbits)
10982 data_tmp = iand(pack_tmp, mask_right(nbits))
10983 full_data(idata) = data_tmp
10984 pack_tmp = ishft(pack_tmp, -nbits)
10986 data_tmp = ishft(pack_tmp, 16)
10988 pack_tmp = packed_data(ipack)
10989 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
10990 pack_tmp = ishft(pack_tmp, -16)
10992 data_tmp = iand(pack_tmp, mask_right(nbits))
10993 full_data(idata) = data_tmp
10994 pack_tmp = ishft(pack_tmp, -nbits)
10996 data_tmp = iand(pack_tmp, mask_right(nbits))
10997 full_data(idata) = data_tmp
10998 pack_tmp = ishft(pack_tmp, -nbits)
11000 data_tmp = iand(pack_tmp, mask_right(nbits))
11001 full_data(idata) = data_tmp
11002 pack_tmp = ishft(pack_tmp, -nbits)
11004 data_tmp = ishft(pack_tmp, 16)
11006 pack_tmp = packed_data(ipack)
11007 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11008 pack_tmp = ishft(pack_tmp, -16)
11010 data_tmp = iand(pack_tmp, mask_right(nbits))
11011 full_data(idata) = data_tmp
11012 pack_tmp = ishft(pack_tmp, -nbits)
11014 data_tmp = iand(pack_tmp, mask_right(nbits))
11015 full_data(idata) = data_tmp
11016 pack_tmp = ishft(pack_tmp, -nbits)
11018 data_tmp = iand(pack_tmp, mask_right(nbits))
11019 full_data(idata) = data_tmp
11020 pack_tmp = ishft(pack_tmp, -nbits)
11022 data_tmp = ishft(pack_tmp, 16)
11024 pack_tmp = packed_data(ipack)
11025 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11026 pack_tmp = ishft(pack_tmp, -16)
11028 data_tmp = iand(pack_tmp, mask_right(nbits))
11029 full_data(idata) = data_tmp
11030 pack_tmp = ishft(pack_tmp, -nbits)
11032 data_tmp = iand(pack_tmp, mask_right(nbits))
11033 full_data(idata) = data_tmp
11034 pack_tmp = ishft(pack_tmp, -nbits)
11036 data_tmp = iand(pack_tmp, mask_right(nbits))
11037 full_data(idata) = data_tmp
11038 pack_tmp = ishft(pack_tmp, -nbits)
11040 data_tmp = ishft(pack_tmp, 16)
11042 pack_tmp = packed_data(ipack)
11043 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11044 pack_tmp = ishft(pack_tmp, -16)
11046 data_tmp = iand(pack_tmp, mask_right(nbits))
11047 full_data(idata) = data_tmp
11048 pack_tmp = ishft(pack_tmp, -nbits)
11050 data_tmp = iand(pack_tmp, mask_right(nbits))
11051 full_data(idata) = data_tmp
11052 pack_tmp = ishft(pack_tmp, -nbits)
11054 data_tmp = iand(pack_tmp, mask_right(nbits))
11055 full_data(idata) = data_tmp
11056 pack_tmp = ishft(pack_tmp, -nbits)
11058 data_tmp = ishft(pack_tmp, 16)
11060 pack_tmp = packed_data(ipack)
11061 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11062 pack_tmp = ishft(pack_tmp, -16)
11064 data_tmp = iand(pack_tmp, mask_right(nbits))
11065 full_data(idata) = data_tmp
11066 pack_tmp = ishft(pack_tmp, -nbits)
11068 data_tmp = iand(pack_tmp, mask_right(nbits))
11069 full_data(idata) = data_tmp
11070 pack_tmp = ishft(pack_tmp, -nbits)
11072 data_tmp = iand(pack_tmp, mask_right(nbits))
11073 full_data(idata) = data_tmp
11074 pack_tmp = ishft(pack_tmp, -nbits)
11076 data_tmp = ishft(pack_tmp, 16)
11078 pack_tmp = packed_data(ipack)
11079 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11080 pack_tmp = ishft(pack_tmp, -16)
11082 data_tmp = iand(pack_tmp, mask_right(nbits))
11083 full_data(idata) = data_tmp
11084 pack_tmp = ishft(pack_tmp, -nbits)
11086 data_tmp = iand(pack_tmp, mask_right(nbits))
11087 full_data(idata) = data_tmp
11088 pack_tmp = ishft(pack_tmp, -nbits)
11090 data_tmp = iand(pack_tmp, mask_right(nbits))
11091 full_data(idata) = data_tmp
11092 pack_tmp = ishft(pack_tmp, -nbits)
11094 data_tmp = ishft(pack_tmp, 16)
11096 pack_tmp = packed_data(ipack)
11097 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11098 pack_tmp = ishft(pack_tmp, -16)
11100 data_tmp = iand(pack_tmp, mask_right(nbits))
11101 full_data(idata) = data_tmp
11102 pack_tmp = ishft(pack_tmp, -nbits)
11104 data_tmp = iand(pack_tmp, mask_right(nbits))
11105 full_data(idata) = data_tmp
11106 pack_tmp = ishft(pack_tmp, -nbits)
11108 data_tmp = iand(pack_tmp, mask_right(nbits))
11109 full_data(idata) = data_tmp
11110 pack_tmp = ishft(pack_tmp, -nbits)
11112 data_tmp = ishft(pack_tmp, 16)
11114 pack_tmp = packed_data(ipack)
11115 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11116 pack_tmp = ishft(pack_tmp, -16)
11118 data_tmp = iand(pack_tmp, mask_right(nbits))
11119 full_data(idata) = data_tmp
11120 pack_tmp = ishft(pack_tmp, -nbits)
11122 data_tmp = iand(pack_tmp, mask_right(nbits))
11123 full_data(idata) = data_tmp
11124 pack_tmp = ishft(pack_tmp, -nbits)
11126 data_tmp = iand(pack_tmp, mask_right(nbits))
11127 full_data(idata) = data_tmp
11128 pack_tmp = ishft(pack_tmp, -nbits)
11130 data_tmp = ishft(pack_tmp, 16)
11132 pack_tmp = packed_data(ipack)
11133 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11134 pack_tmp = ishft(pack_tmp, -16)
11136 data_tmp = iand(pack_tmp, mask_right(nbits))
11137 full_data(idata) = data_tmp
11138 pack_tmp = ishft(pack_tmp, -nbits)
11140 data_tmp = iand(pack_tmp, mask_right(nbits))
11141 full_data(idata) = data_tmp
11142 pack_tmp = ishft(pack_tmp, -nbits)
11144 data_tmp = iand(pack_tmp, mask_right(nbits))
11145 full_data(idata) = data_tmp
11146 pack_tmp = ishft(pack_tmp, -nbits)
11148 data_tmp = ishft(pack_tmp, 16)
11150 pack_tmp = packed_data(ipack)
11151 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11152 pack_tmp = ishft(pack_tmp, -16)
11154 data_tmp = iand(pack_tmp, mask_right(nbits))
11155 full_data(idata) = data_tmp
11156 pack_tmp = ishft(pack_tmp, -nbits)
11158 data_tmp = iand(pack_tmp, mask_right(nbits))
11159 full_data(idata) = data_tmp
11160 pack_tmp = ishft(pack_tmp, -nbits)
11162 data_tmp = iand(pack_tmp, mask_right(nbits))
11163 full_data(idata) = data_tmp
11164 pack_tmp = ishft(pack_tmp, -nbits)
11166 data_tmp = ishft(pack_tmp, 16)
11168 pack_tmp = packed_data(ipack)
11169 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11170 pack_tmp = ishft(pack_tmp, -16)
11172 data_tmp = iand(pack_tmp, mask_right(nbits))
11173 full_data(idata) = data_tmp
11174 pack_tmp = ishft(pack_tmp, -nbits)
11176 data_tmp = iand(pack_tmp, mask_right(nbits))
11177 full_data(idata) = data_tmp
11178 pack_tmp = ishft(pack_tmp, -nbits)
11180 data_tmp = iand(pack_tmp, mask_right(nbits))
11181 full_data(idata) = data_tmp
11182 pack_tmp = ishft(pack_tmp, -nbits)
11184 IF (ndata_rep < ndata)
THEN
11185 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
11187 END SUBROUTINE bits2ints_16
11195 SUBROUTINE ints2bits_17(Ndata, packed_data, full_data)
11196 INTEGER,
INTENT(IN) :: Ndata
11197 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
11198 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
11200 INTEGER,
PARAMETER :: Nbits = 17
11202 INTEGER :: idata, ipack, kdata, Ndata_rep
11203 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
11207 ndata_rep = (ndata/64)*64
11208 DO kdata = 1, ndata_rep, 64
11211 data_tmp = full_data(idata)
11212 data_tmp = ishft(data_tmp, 47)
11213 pack_tmp = ior(pack_tmp, data_tmp)
11214 pack_tmp = ishft(pack_tmp, -17)
11216 data_tmp = full_data(idata)
11217 data_tmp = ishft(data_tmp, 47)
11218 pack_tmp = ior(pack_tmp, data_tmp)
11219 pack_tmp = ishft(pack_tmp, -17)
11221 data_tmp = full_data(idata)
11222 data_tmp = ishft(data_tmp, 47)
11223 pack_tmp = ior(pack_tmp, data_tmp)
11224 pack_tmp = ishft(pack_tmp, -13)
11226 data_tmp = full_data(idata)
11227 data_tmp = ishft(data_tmp, 47)
11228 data_tmp = iand(data_tmp, mask_left(13))
11229 pack_tmp = ior(pack_tmp, data_tmp)
11231 packed_data(ipack) = pack_tmp
11232 data_tmp = full_data(idata)
11233 pack_tmp = ishft(data_tmp, 60)
11234 pack_tmp = ishft(pack_tmp, -17)
11236 data_tmp = full_data(idata)
11237 data_tmp = ishft(data_tmp, 47)
11238 pack_tmp = ior(pack_tmp, data_tmp)
11239 pack_tmp = ishft(pack_tmp, -17)
11241 data_tmp = full_data(idata)
11242 data_tmp = ishft(data_tmp, 47)
11243 pack_tmp = ior(pack_tmp, data_tmp)
11244 pack_tmp = ishft(pack_tmp, -17)
11246 data_tmp = full_data(idata)
11247 data_tmp = ishft(data_tmp, 47)
11248 pack_tmp = ior(pack_tmp, data_tmp)
11249 pack_tmp = ishft(pack_tmp, -9)
11251 data_tmp = full_data(idata)
11252 data_tmp = ishft(data_tmp, 47)
11253 data_tmp = iand(data_tmp, mask_left(9))
11254 pack_tmp = ior(pack_tmp, data_tmp)
11256 packed_data(ipack) = pack_tmp
11257 data_tmp = full_data(idata)
11258 pack_tmp = ishft(data_tmp, 56)
11259 pack_tmp = ishft(pack_tmp, -17)
11261 data_tmp = full_data(idata)
11262 data_tmp = ishft(data_tmp, 47)
11263 pack_tmp = ior(pack_tmp, data_tmp)
11264 pack_tmp = ishft(pack_tmp, -17)
11266 data_tmp = full_data(idata)
11267 data_tmp = ishft(data_tmp, 47)
11268 pack_tmp = ior(pack_tmp, data_tmp)
11269 pack_tmp = ishft(pack_tmp, -17)
11271 data_tmp = full_data(idata)
11272 data_tmp = ishft(data_tmp, 47)
11273 pack_tmp = ior(pack_tmp, data_tmp)
11274 pack_tmp = ishft(pack_tmp, -5)
11276 data_tmp = full_data(idata)
11277 data_tmp = ishft(data_tmp, 47)
11278 data_tmp = iand(data_tmp, mask_left(5))
11279 pack_tmp = ior(pack_tmp, data_tmp)
11281 packed_data(ipack) = pack_tmp
11282 data_tmp = full_data(idata)
11283 pack_tmp = ishft(data_tmp, 52)
11284 pack_tmp = ishft(pack_tmp, -17)
11286 data_tmp = full_data(idata)
11287 data_tmp = ishft(data_tmp, 47)
11288 pack_tmp = ior(pack_tmp, data_tmp)
11289 pack_tmp = ishft(pack_tmp, -17)
11291 data_tmp = full_data(idata)
11292 data_tmp = ishft(data_tmp, 47)
11293 pack_tmp = ior(pack_tmp, data_tmp)
11294 pack_tmp = ishft(pack_tmp, -17)
11296 data_tmp = full_data(idata)
11297 data_tmp = ishft(data_tmp, 47)
11298 pack_tmp = ior(pack_tmp, data_tmp)
11299 pack_tmp = ishft(pack_tmp, -1)
11301 data_tmp = full_data(idata)
11302 data_tmp = ishft(data_tmp, 47)
11303 data_tmp = iand(data_tmp, mask_left(1))
11304 pack_tmp = ior(pack_tmp, data_tmp)
11306 packed_data(ipack) = pack_tmp
11307 data_tmp = full_data(idata)
11308 pack_tmp = ishft(data_tmp, 48)
11309 pack_tmp = ishft(pack_tmp, -17)
11311 data_tmp = full_data(idata)
11312 data_tmp = ishft(data_tmp, 47)
11313 pack_tmp = ior(pack_tmp, data_tmp)
11314 pack_tmp = ishft(pack_tmp, -17)
11316 data_tmp = full_data(idata)
11317 data_tmp = ishft(data_tmp, 47)
11318 pack_tmp = ior(pack_tmp, data_tmp)
11319 pack_tmp = ishft(pack_tmp, -14)
11321 data_tmp = full_data(idata)
11322 data_tmp = ishft(data_tmp, 47)
11323 data_tmp = iand(data_tmp, mask_left(14))
11324 pack_tmp = ior(pack_tmp, data_tmp)
11326 packed_data(ipack) = pack_tmp
11327 data_tmp = full_data(idata)
11328 pack_tmp = ishft(data_tmp, 61)
11329 pack_tmp = ishft(pack_tmp, -17)
11331 data_tmp = full_data(idata)
11332 data_tmp = ishft(data_tmp, 47)
11333 pack_tmp = ior(pack_tmp, data_tmp)
11334 pack_tmp = ishft(pack_tmp, -17)
11336 data_tmp = full_data(idata)
11337 data_tmp = ishft(data_tmp, 47)
11338 pack_tmp = ior(pack_tmp, data_tmp)
11339 pack_tmp = ishft(pack_tmp, -17)
11341 data_tmp = full_data(idata)
11342 data_tmp = ishft(data_tmp, 47)
11343 pack_tmp = ior(pack_tmp, data_tmp)
11344 pack_tmp = ishft(pack_tmp, -10)
11346 data_tmp = full_data(idata)
11347 data_tmp = ishft(data_tmp, 47)
11348 data_tmp = iand(data_tmp, mask_left(10))
11349 pack_tmp = ior(pack_tmp, data_tmp)
11351 packed_data(ipack) = pack_tmp
11352 data_tmp = full_data(idata)
11353 pack_tmp = ishft(data_tmp, 57)
11354 pack_tmp = ishft(pack_tmp, -17)
11356 data_tmp = full_data(idata)
11357 data_tmp = ishft(data_tmp, 47)
11358 pack_tmp = ior(pack_tmp, data_tmp)
11359 pack_tmp = ishft(pack_tmp, -17)
11361 data_tmp = full_data(idata)
11362 data_tmp = ishft(data_tmp, 47)
11363 pack_tmp = ior(pack_tmp, data_tmp)
11364 pack_tmp = ishft(pack_tmp, -17)
11366 data_tmp = full_data(idata)
11367 data_tmp = ishft(data_tmp, 47)
11368 pack_tmp = ior(pack_tmp, data_tmp)
11369 pack_tmp = ishft(pack_tmp, -6)
11371 data_tmp = full_data(idata)
11372 data_tmp = ishft(data_tmp, 47)
11373 data_tmp = iand(data_tmp, mask_left(6))
11374 pack_tmp = ior(pack_tmp, data_tmp)
11376 packed_data(ipack) = pack_tmp
11377 data_tmp = full_data(idata)
11378 pack_tmp = ishft(data_tmp, 53)
11379 pack_tmp = ishft(pack_tmp, -17)
11381 data_tmp = full_data(idata)
11382 data_tmp = ishft(data_tmp, 47)
11383 pack_tmp = ior(pack_tmp, data_tmp)
11384 pack_tmp = ishft(pack_tmp, -17)
11386 data_tmp = full_data(idata)
11387 data_tmp = ishft(data_tmp, 47)
11388 pack_tmp = ior(pack_tmp, data_tmp)
11389 pack_tmp = ishft(pack_tmp, -17)
11391 data_tmp = full_data(idata)
11392 data_tmp = ishft(data_tmp, 47)
11393 pack_tmp = ior(pack_tmp, data_tmp)
11394 pack_tmp = ishft(pack_tmp, -2)
11396 data_tmp = full_data(idata)
11397 data_tmp = ishft(data_tmp, 47)
11398 data_tmp = iand(data_tmp, mask_left(2))
11399 pack_tmp = ior(pack_tmp, data_tmp)
11401 packed_data(ipack) = pack_tmp
11402 data_tmp = full_data(idata)
11403 pack_tmp = ishft(data_tmp, 49)
11404 pack_tmp = ishft(pack_tmp, -17)
11406 data_tmp = full_data(idata)
11407 data_tmp = ishft(data_tmp, 47)
11408 pack_tmp = ior(pack_tmp, data_tmp)
11409 pack_tmp = ishft(pack_tmp, -17)
11411 data_tmp = full_data(idata)
11412 data_tmp = ishft(data_tmp, 47)
11413 pack_tmp = ior(pack_tmp, data_tmp)
11414 pack_tmp = ishft(pack_tmp, -15)
11416 data_tmp = full_data(idata)
11417 data_tmp = ishft(data_tmp, 47)
11418 data_tmp = iand(data_tmp, mask_left(15))
11419 pack_tmp = ior(pack_tmp, data_tmp)
11421 packed_data(ipack) = pack_tmp
11422 data_tmp = full_data(idata)
11423 pack_tmp = ishft(data_tmp, 62)
11424 pack_tmp = ishft(pack_tmp, -17)
11426 data_tmp = full_data(idata)
11427 data_tmp = ishft(data_tmp, 47)
11428 pack_tmp = ior(pack_tmp, data_tmp)
11429 pack_tmp = ishft(pack_tmp, -17)
11431 data_tmp = full_data(idata)
11432 data_tmp = ishft(data_tmp, 47)
11433 pack_tmp = ior(pack_tmp, data_tmp)
11434 pack_tmp = ishft(pack_tmp, -17)
11436 data_tmp = full_data(idata)
11437 data_tmp = ishft(data_tmp, 47)
11438 pack_tmp = ior(pack_tmp, data_tmp)
11439 pack_tmp = ishft(pack_tmp, -11)
11441 data_tmp = full_data(idata)
11442 data_tmp = ishft(data_tmp, 47)
11443 data_tmp = iand(data_tmp, mask_left(11))
11444 pack_tmp = ior(pack_tmp, data_tmp)
11446 packed_data(ipack) = pack_tmp
11447 data_tmp = full_data(idata)
11448 pack_tmp = ishft(data_tmp, 58)
11449 pack_tmp = ishft(pack_tmp, -17)
11451 data_tmp = full_data(idata)
11452 data_tmp = ishft(data_tmp, 47)
11453 pack_tmp = ior(pack_tmp, data_tmp)
11454 pack_tmp = ishft(pack_tmp, -17)
11456 data_tmp = full_data(idata)
11457 data_tmp = ishft(data_tmp, 47)
11458 pack_tmp = ior(pack_tmp, data_tmp)
11459 pack_tmp = ishft(pack_tmp, -17)
11461 data_tmp = full_data(idata)
11462 data_tmp = ishft(data_tmp, 47)
11463 pack_tmp = ior(pack_tmp, data_tmp)
11464 pack_tmp = ishft(pack_tmp, -7)
11466 data_tmp = full_data(idata)
11467 data_tmp = ishft(data_tmp, 47)
11468 data_tmp = iand(data_tmp, mask_left(7))
11469 pack_tmp = ior(pack_tmp, data_tmp)
11471 packed_data(ipack) = pack_tmp
11472 data_tmp = full_data(idata)
11473 pack_tmp = ishft(data_tmp, 54)
11474 pack_tmp = ishft(pack_tmp, -17)
11476 data_tmp = full_data(idata)
11477 data_tmp = ishft(data_tmp, 47)
11478 pack_tmp = ior(pack_tmp, data_tmp)
11479 pack_tmp = ishft(pack_tmp, -17)
11481 data_tmp = full_data(idata)
11482 data_tmp = ishft(data_tmp, 47)
11483 pack_tmp = ior(pack_tmp, data_tmp)
11484 pack_tmp = ishft(pack_tmp, -17)
11486 data_tmp = full_data(idata)
11487 data_tmp = ishft(data_tmp, 47)
11488 pack_tmp = ior(pack_tmp, data_tmp)
11489 pack_tmp = ishft(pack_tmp, -3)
11491 data_tmp = full_data(idata)
11492 data_tmp = ishft(data_tmp, 47)
11493 data_tmp = iand(data_tmp, mask_left(3))
11494 pack_tmp = ior(pack_tmp, data_tmp)
11496 packed_data(ipack) = pack_tmp
11497 data_tmp = full_data(idata)
11498 pack_tmp = ishft(data_tmp, 50)
11499 pack_tmp = ishft(pack_tmp, -17)
11501 data_tmp = full_data(idata)
11502 data_tmp = ishft(data_tmp, 47)
11503 pack_tmp = ior(pack_tmp, data_tmp)
11504 pack_tmp = ishft(pack_tmp, -17)
11506 data_tmp = full_data(idata)
11507 data_tmp = ishft(data_tmp, 47)
11508 pack_tmp = ior(pack_tmp, data_tmp)
11509 pack_tmp = ishft(pack_tmp, -16)
11511 data_tmp = full_data(idata)
11512 data_tmp = ishft(data_tmp, 47)
11513 data_tmp = iand(data_tmp, mask_left(16))
11514 pack_tmp = ior(pack_tmp, data_tmp)
11516 packed_data(ipack) = pack_tmp
11517 data_tmp = full_data(idata)
11518 pack_tmp = ishft(data_tmp, 63)
11519 pack_tmp = ishft(pack_tmp, -17)
11521 data_tmp = full_data(idata)
11522 data_tmp = ishft(data_tmp, 47)
11523 pack_tmp = ior(pack_tmp, data_tmp)
11524 pack_tmp = ishft(pack_tmp, -17)
11526 data_tmp = full_data(idata)
11527 data_tmp = ishft(data_tmp, 47)
11528 pack_tmp = ior(pack_tmp, data_tmp)
11529 pack_tmp = ishft(pack_tmp, -17)
11531 data_tmp = full_data(idata)
11532 data_tmp = ishft(data_tmp, 47)
11533 pack_tmp = ior(pack_tmp, data_tmp)
11534 pack_tmp = ishft(pack_tmp, -12)
11536 data_tmp = full_data(idata)
11537 data_tmp = ishft(data_tmp, 47)
11538 data_tmp = iand(data_tmp, mask_left(12))
11539 pack_tmp = ior(pack_tmp, data_tmp)
11541 packed_data(ipack) = pack_tmp
11542 data_tmp = full_data(idata)
11543 pack_tmp = ishft(data_tmp, 59)
11544 pack_tmp = ishft(pack_tmp, -17)
11546 data_tmp = full_data(idata)
11547 data_tmp = ishft(data_tmp, 47)
11548 pack_tmp = ior(pack_tmp, data_tmp)
11549 pack_tmp = ishft(pack_tmp, -17)
11551 data_tmp = full_data(idata)
11552 data_tmp = ishft(data_tmp, 47)
11553 pack_tmp = ior(pack_tmp, data_tmp)
11554 pack_tmp = ishft(pack_tmp, -17)
11556 data_tmp = full_data(idata)
11557 data_tmp = ishft(data_tmp, 47)
11558 pack_tmp = ior(pack_tmp, data_tmp)
11559 pack_tmp = ishft(pack_tmp, -8)
11561 data_tmp = full_data(idata)
11562 data_tmp = ishft(data_tmp, 47)
11563 data_tmp = iand(data_tmp, mask_left(8))
11564 pack_tmp = ior(pack_tmp, data_tmp)
11566 packed_data(ipack) = pack_tmp
11567 data_tmp = full_data(idata)
11568 pack_tmp = ishft(data_tmp, 55)
11569 pack_tmp = ishft(pack_tmp, -17)
11571 data_tmp = full_data(idata)
11572 data_tmp = ishft(data_tmp, 47)
11573 pack_tmp = ior(pack_tmp, data_tmp)
11574 pack_tmp = ishft(pack_tmp, -17)
11576 data_tmp = full_data(idata)
11577 data_tmp = ishft(data_tmp, 47)
11578 pack_tmp = ior(pack_tmp, data_tmp)
11579 pack_tmp = ishft(pack_tmp, -17)
11581 data_tmp = full_data(idata)
11582 data_tmp = ishft(data_tmp, 47)
11583 pack_tmp = ior(pack_tmp, data_tmp)
11584 pack_tmp = ishft(pack_tmp, -4)
11586 data_tmp = full_data(idata)
11587 data_tmp = ishft(data_tmp, 47)
11588 data_tmp = iand(data_tmp, mask_left(4))
11589 pack_tmp = ior(pack_tmp, data_tmp)
11591 packed_data(ipack) = pack_tmp
11592 data_tmp = full_data(idata)
11593 pack_tmp = ishft(data_tmp, 51)
11594 pack_tmp = ishft(pack_tmp, -17)
11596 data_tmp = full_data(idata)
11597 data_tmp = ishft(data_tmp, 47)
11598 pack_tmp = ior(pack_tmp, data_tmp)
11599 pack_tmp = ishft(pack_tmp, -17)
11601 data_tmp = full_data(idata)
11602 data_tmp = ishft(data_tmp, 47)
11603 pack_tmp = ior(pack_tmp, data_tmp)
11604 pack_tmp = ishft(pack_tmp, -17)
11606 data_tmp = full_data(idata)
11607 data_tmp = ishft(data_tmp, 47)
11608 pack_tmp = ior(pack_tmp, data_tmp)
11609 pack_tmp = ishft(pack_tmp, 0)
11610 pack_tmp = ishft(pack_tmp, 0)
11612 packed_data(ipack) = pack_tmp
11614 IF (ndata_rep < ndata)
THEN
11615 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
11617 END SUBROUTINE ints2bits_17
11625 SUBROUTINE bits2ints_17(Ndata, packed_data, full_data)
11626 INTEGER,
INTENT(IN) :: Ndata
11627 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
11628 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
11630 INTEGER,
PARAMETER :: Nbits = 17
11632 INTEGER :: idata, ipack, kdata, Ndata_rep
11633 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
11638 ndata_rep = (ndata/64)*64
11639 DO kdata = 1, ndata_rep, 64
11641 data_tmp = ishft(pack_tmp, 17)
11643 pack_tmp = packed_data(ipack)
11644 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
11645 pack_tmp = ishft(pack_tmp, -17)
11647 data_tmp = iand(pack_tmp, mask_right(nbits))
11648 full_data(idata) = data_tmp
11649 pack_tmp = ishft(pack_tmp, -nbits)
11651 data_tmp = iand(pack_tmp, mask_right(nbits))
11652 full_data(idata) = data_tmp
11653 pack_tmp = ishft(pack_tmp, -nbits)
11655 data_tmp = ishft(pack_tmp, 4)
11657 pack_tmp = packed_data(ipack)
11658 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
11659 pack_tmp = ishft(pack_tmp, -4)
11661 data_tmp = iand(pack_tmp, mask_right(nbits))
11662 full_data(idata) = data_tmp
11663 pack_tmp = ishft(pack_tmp, -nbits)
11665 data_tmp = iand(pack_tmp, mask_right(nbits))
11666 full_data(idata) = data_tmp
11667 pack_tmp = ishft(pack_tmp, -nbits)
11669 data_tmp = iand(pack_tmp, mask_right(nbits))
11670 full_data(idata) = data_tmp
11671 pack_tmp = ishft(pack_tmp, -nbits)
11673 data_tmp = ishft(pack_tmp, 8)
11675 pack_tmp = packed_data(ipack)
11676 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
11677 pack_tmp = ishft(pack_tmp, -8)
11679 data_tmp = iand(pack_tmp, mask_right(nbits))
11680 full_data(idata) = data_tmp
11681 pack_tmp = ishft(pack_tmp, -nbits)
11683 data_tmp = iand(pack_tmp, mask_right(nbits))
11684 full_data(idata) = data_tmp
11685 pack_tmp = ishft(pack_tmp, -nbits)
11687 data_tmp = iand(pack_tmp, mask_right(nbits))
11688 full_data(idata) = data_tmp
11689 pack_tmp = ishft(pack_tmp, -nbits)
11691 data_tmp = ishft(pack_tmp, 12)
11693 pack_tmp = packed_data(ipack)
11694 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
11695 pack_tmp = ishft(pack_tmp, -12)
11697 data_tmp = iand(pack_tmp, mask_right(nbits))
11698 full_data(idata) = data_tmp
11699 pack_tmp = ishft(pack_tmp, -nbits)
11701 data_tmp = iand(pack_tmp, mask_right(nbits))
11702 full_data(idata) = data_tmp
11703 pack_tmp = ishft(pack_tmp, -nbits)
11705 data_tmp = iand(pack_tmp, mask_right(nbits))
11706 full_data(idata) = data_tmp
11707 pack_tmp = ishft(pack_tmp, -nbits)
11709 data_tmp = ishft(pack_tmp, 16)
11711 pack_tmp = packed_data(ipack)
11712 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
11713 pack_tmp = ishft(pack_tmp, -16)
11715 data_tmp = iand(pack_tmp, mask_right(nbits))
11716 full_data(idata) = data_tmp
11717 pack_tmp = ishft(pack_tmp, -nbits)
11719 data_tmp = iand(pack_tmp, mask_right(nbits))
11720 full_data(idata) = data_tmp
11721 pack_tmp = ishft(pack_tmp, -nbits)
11723 data_tmp = ishft(pack_tmp, 3)
11725 pack_tmp = packed_data(ipack)
11726 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
11727 pack_tmp = ishft(pack_tmp, -3)
11729 data_tmp = iand(pack_tmp, mask_right(nbits))
11730 full_data(idata) = data_tmp
11731 pack_tmp = ishft(pack_tmp, -nbits)
11733 data_tmp = iand(pack_tmp, mask_right(nbits))
11734 full_data(idata) = data_tmp
11735 pack_tmp = ishft(pack_tmp, -nbits)
11737 data_tmp = iand(pack_tmp, mask_right(nbits))
11738 full_data(idata) = data_tmp
11739 pack_tmp = ishft(pack_tmp, -nbits)
11741 data_tmp = ishft(pack_tmp, 7)
11743 pack_tmp = packed_data(ipack)
11744 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
11745 pack_tmp = ishft(pack_tmp, -7)
11747 data_tmp = iand(pack_tmp, mask_right(nbits))
11748 full_data(idata) = data_tmp
11749 pack_tmp = ishft(pack_tmp, -nbits)
11751 data_tmp = iand(pack_tmp, mask_right(nbits))
11752 full_data(idata) = data_tmp
11753 pack_tmp = ishft(pack_tmp, -nbits)
11755 data_tmp = iand(pack_tmp, mask_right(nbits))
11756 full_data(idata) = data_tmp
11757 pack_tmp = ishft(pack_tmp, -nbits)
11759 data_tmp = ishft(pack_tmp, 11)
11761 pack_tmp = packed_data(ipack)
11762 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
11763 pack_tmp = ishft(pack_tmp, -11)
11765 data_tmp = iand(pack_tmp, mask_right(nbits))
11766 full_data(idata) = data_tmp
11767 pack_tmp = ishft(pack_tmp, -nbits)
11769 data_tmp = iand(pack_tmp, mask_right(nbits))
11770 full_data(idata) = data_tmp
11771 pack_tmp = ishft(pack_tmp, -nbits)
11773 data_tmp = iand(pack_tmp, mask_right(nbits))
11774 full_data(idata) = data_tmp
11775 pack_tmp = ishft(pack_tmp, -nbits)
11777 data_tmp = ishft(pack_tmp, 15)
11779 pack_tmp = packed_data(ipack)
11780 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
11781 pack_tmp = ishft(pack_tmp, -15)
11783 data_tmp = iand(pack_tmp, mask_right(nbits))
11784 full_data(idata) = data_tmp
11785 pack_tmp = ishft(pack_tmp, -nbits)
11787 data_tmp = iand(pack_tmp, mask_right(nbits))
11788 full_data(idata) = data_tmp
11789 pack_tmp = ishft(pack_tmp, -nbits)
11791 data_tmp = ishft(pack_tmp, 2)
11793 pack_tmp = packed_data(ipack)
11794 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
11795 pack_tmp = ishft(pack_tmp, -2)
11797 data_tmp = iand(pack_tmp, mask_right(nbits))
11798 full_data(idata) = data_tmp
11799 pack_tmp = ishft(pack_tmp, -nbits)
11801 data_tmp = iand(pack_tmp, mask_right(nbits))
11802 full_data(idata) = data_tmp
11803 pack_tmp = ishft(pack_tmp, -nbits)
11805 data_tmp = iand(pack_tmp, mask_right(nbits))
11806 full_data(idata) = data_tmp
11807 pack_tmp = ishft(pack_tmp, -nbits)
11809 data_tmp = ishft(pack_tmp, 6)
11811 pack_tmp = packed_data(ipack)
11812 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
11813 pack_tmp = ishft(pack_tmp, -6)
11815 data_tmp = iand(pack_tmp, mask_right(nbits))
11816 full_data(idata) = data_tmp
11817 pack_tmp = ishft(pack_tmp, -nbits)
11819 data_tmp = iand(pack_tmp, mask_right(nbits))
11820 full_data(idata) = data_tmp
11821 pack_tmp = ishft(pack_tmp, -nbits)
11823 data_tmp = iand(pack_tmp, mask_right(nbits))
11824 full_data(idata) = data_tmp
11825 pack_tmp = ishft(pack_tmp, -nbits)
11827 data_tmp = ishft(pack_tmp, 10)
11829 pack_tmp = packed_data(ipack)
11830 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
11831 pack_tmp = ishft(pack_tmp, -10)
11833 data_tmp = iand(pack_tmp, mask_right(nbits))
11834 full_data(idata) = data_tmp
11835 pack_tmp = ishft(pack_tmp, -nbits)
11837 data_tmp = iand(pack_tmp, mask_right(nbits))
11838 full_data(idata) = data_tmp
11839 pack_tmp = ishft(pack_tmp, -nbits)
11841 data_tmp = iand(pack_tmp, mask_right(nbits))
11842 full_data(idata) = data_tmp
11843 pack_tmp = ishft(pack_tmp, -nbits)
11845 data_tmp = ishft(pack_tmp, 14)
11847 pack_tmp = packed_data(ipack)
11848 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
11849 pack_tmp = ishft(pack_tmp, -14)
11851 data_tmp = iand(pack_tmp, mask_right(nbits))
11852 full_data(idata) = data_tmp
11853 pack_tmp = ishft(pack_tmp, -nbits)
11855 data_tmp = iand(pack_tmp, mask_right(nbits))
11856 full_data(idata) = data_tmp
11857 pack_tmp = ishft(pack_tmp, -nbits)
11859 data_tmp = ishft(pack_tmp, 1)
11861 pack_tmp = packed_data(ipack)
11862 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
11863 pack_tmp = ishft(pack_tmp, -1)
11865 data_tmp = iand(pack_tmp, mask_right(nbits))
11866 full_data(idata) = data_tmp
11867 pack_tmp = ishft(pack_tmp, -nbits)
11869 data_tmp = iand(pack_tmp, mask_right(nbits))
11870 full_data(idata) = data_tmp
11871 pack_tmp = ishft(pack_tmp, -nbits)
11873 data_tmp = iand(pack_tmp, mask_right(nbits))
11874 full_data(idata) = data_tmp
11875 pack_tmp = ishft(pack_tmp, -nbits)
11877 data_tmp = ishft(pack_tmp, 5)
11879 pack_tmp = packed_data(ipack)
11880 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
11881 pack_tmp = ishft(pack_tmp, -5)
11883 data_tmp = iand(pack_tmp, mask_right(nbits))
11884 full_data(idata) = data_tmp
11885 pack_tmp = ishft(pack_tmp, -nbits)
11887 data_tmp = iand(pack_tmp, mask_right(nbits))
11888 full_data(idata) = data_tmp
11889 pack_tmp = ishft(pack_tmp, -nbits)
11891 data_tmp = iand(pack_tmp, mask_right(nbits))
11892 full_data(idata) = data_tmp
11893 pack_tmp = ishft(pack_tmp, -nbits)
11895 data_tmp = ishft(pack_tmp, 9)
11897 pack_tmp = packed_data(ipack)
11898 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
11899 pack_tmp = ishft(pack_tmp, -9)
11901 data_tmp = iand(pack_tmp, mask_right(nbits))
11902 full_data(idata) = data_tmp
11903 pack_tmp = ishft(pack_tmp, -nbits)
11905 data_tmp = iand(pack_tmp, mask_right(nbits))
11906 full_data(idata) = data_tmp
11907 pack_tmp = ishft(pack_tmp, -nbits)
11909 data_tmp = iand(pack_tmp, mask_right(nbits))
11910 full_data(idata) = data_tmp
11911 pack_tmp = ishft(pack_tmp, -nbits)
11913 data_tmp = ishft(pack_tmp, 13)
11915 pack_tmp = packed_data(ipack)
11916 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
11917 pack_tmp = ishft(pack_tmp, -13)
11919 data_tmp = iand(pack_tmp, mask_right(nbits))
11920 full_data(idata) = data_tmp
11921 pack_tmp = ishft(pack_tmp, -nbits)
11923 data_tmp = iand(pack_tmp, mask_right(nbits))
11924 full_data(idata) = data_tmp
11925 pack_tmp = ishft(pack_tmp, -nbits)
11927 data_tmp = iand(pack_tmp, mask_right(nbits))
11928 full_data(idata) = data_tmp
11929 pack_tmp = ishft(pack_tmp, -nbits)
11931 IF (ndata_rep < ndata)
THEN
11932 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
11934 END SUBROUTINE bits2ints_17
11942 SUBROUTINE ints2bits_18(Ndata, packed_data, full_data)
11943 INTEGER,
INTENT(IN) :: Ndata
11944 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
11945 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
11947 INTEGER,
PARAMETER :: Nbits = 18
11949 INTEGER :: idata, ipack, kdata, Ndata_rep
11950 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
11954 ndata_rep = (ndata/64)*64
11955 DO kdata = 1, ndata_rep, 64
11958 data_tmp = full_data(idata)
11959 data_tmp = ishft(data_tmp, 46)
11960 pack_tmp = ior(pack_tmp, data_tmp)
11961 pack_tmp = ishft(pack_tmp, -18)
11963 data_tmp = full_data(idata)
11964 data_tmp = ishft(data_tmp, 46)
11965 pack_tmp = ior(pack_tmp, data_tmp)
11966 pack_tmp = ishft(pack_tmp, -18)
11968 data_tmp = full_data(idata)
11969 data_tmp = ishft(data_tmp, 46)
11970 pack_tmp = ior(pack_tmp, data_tmp)
11971 pack_tmp = ishft(pack_tmp, -10)
11973 data_tmp = full_data(idata)
11974 data_tmp = ishft(data_tmp, 46)
11975 data_tmp = iand(data_tmp, mask_left(10))
11976 pack_tmp = ior(pack_tmp, data_tmp)
11978 packed_data(ipack) = pack_tmp
11979 data_tmp = full_data(idata)
11980 pack_tmp = ishft(data_tmp, 56)
11981 pack_tmp = ishft(pack_tmp, -18)
11983 data_tmp = full_data(idata)
11984 data_tmp = ishft(data_tmp, 46)
11985 pack_tmp = ior(pack_tmp, data_tmp)
11986 pack_tmp = ishft(pack_tmp, -18)
11988 data_tmp = full_data(idata)
11989 data_tmp = ishft(data_tmp, 46)
11990 pack_tmp = ior(pack_tmp, data_tmp)
11991 pack_tmp = ishft(pack_tmp, -18)
11993 data_tmp = full_data(idata)
11994 data_tmp = ishft(data_tmp, 46)
11995 pack_tmp = ior(pack_tmp, data_tmp)
11996 pack_tmp = ishft(pack_tmp, -2)
11998 data_tmp = full_data(idata)
11999 data_tmp = ishft(data_tmp, 46)
12000 data_tmp = iand(data_tmp, mask_left(2))
12001 pack_tmp = ior(pack_tmp, data_tmp)
12003 packed_data(ipack) = pack_tmp
12004 data_tmp = full_data(idata)
12005 pack_tmp = ishft(data_tmp, 48)
12006 pack_tmp = ishft(pack_tmp, -18)
12008 data_tmp = full_data(idata)
12009 data_tmp = ishft(data_tmp, 46)
12010 pack_tmp = ior(pack_tmp, data_tmp)
12011 pack_tmp = ishft(pack_tmp, -18)
12013 data_tmp = full_data(idata)
12014 data_tmp = ishft(data_tmp, 46)
12015 pack_tmp = ior(pack_tmp, data_tmp)
12016 pack_tmp = ishft(pack_tmp, -12)
12018 data_tmp = full_data(idata)
12019 data_tmp = ishft(data_tmp, 46)
12020 data_tmp = iand(data_tmp, mask_left(12))
12021 pack_tmp = ior(pack_tmp, data_tmp)
12023 packed_data(ipack) = pack_tmp
12024 data_tmp = full_data(idata)
12025 pack_tmp = ishft(data_tmp, 58)
12026 pack_tmp = ishft(pack_tmp, -18)
12028 data_tmp = full_data(idata)
12029 data_tmp = ishft(data_tmp, 46)
12030 pack_tmp = ior(pack_tmp, data_tmp)
12031 pack_tmp = ishft(pack_tmp, -18)
12033 data_tmp = full_data(idata)
12034 data_tmp = ishft(data_tmp, 46)
12035 pack_tmp = ior(pack_tmp, data_tmp)
12036 pack_tmp = ishft(pack_tmp, -18)
12038 data_tmp = full_data(idata)
12039 data_tmp = ishft(data_tmp, 46)
12040 pack_tmp = ior(pack_tmp, data_tmp)
12041 pack_tmp = ishft(pack_tmp, -4)
12043 data_tmp = full_data(idata)
12044 data_tmp = ishft(data_tmp, 46)
12045 data_tmp = iand(data_tmp, mask_left(4))
12046 pack_tmp = ior(pack_tmp, data_tmp)
12048 packed_data(ipack) = pack_tmp
12049 data_tmp = full_data(idata)
12050 pack_tmp = ishft(data_tmp, 50)
12051 pack_tmp = ishft(pack_tmp, -18)
12053 data_tmp = full_data(idata)
12054 data_tmp = ishft(data_tmp, 46)
12055 pack_tmp = ior(pack_tmp, data_tmp)
12056 pack_tmp = ishft(pack_tmp, -18)
12058 data_tmp = full_data(idata)
12059 data_tmp = ishft(data_tmp, 46)
12060 pack_tmp = ior(pack_tmp, data_tmp)
12061 pack_tmp = ishft(pack_tmp, -14)
12063 data_tmp = full_data(idata)
12064 data_tmp = ishft(data_tmp, 46)
12065 data_tmp = iand(data_tmp, mask_left(14))
12066 pack_tmp = ior(pack_tmp, data_tmp)
12068 packed_data(ipack) = pack_tmp
12069 data_tmp = full_data(idata)
12070 pack_tmp = ishft(data_tmp, 60)
12071 pack_tmp = ishft(pack_tmp, -18)
12073 data_tmp = full_data(idata)
12074 data_tmp = ishft(data_tmp, 46)
12075 pack_tmp = ior(pack_tmp, data_tmp)
12076 pack_tmp = ishft(pack_tmp, -18)
12078 data_tmp = full_data(idata)
12079 data_tmp = ishft(data_tmp, 46)
12080 pack_tmp = ior(pack_tmp, data_tmp)
12081 pack_tmp = ishft(pack_tmp, -18)
12083 data_tmp = full_data(idata)
12084 data_tmp = ishft(data_tmp, 46)
12085 pack_tmp = ior(pack_tmp, data_tmp)
12086 pack_tmp = ishft(pack_tmp, -6)
12088 data_tmp = full_data(idata)
12089 data_tmp = ishft(data_tmp, 46)
12090 data_tmp = iand(data_tmp, mask_left(6))
12091 pack_tmp = ior(pack_tmp, data_tmp)
12093 packed_data(ipack) = pack_tmp
12094 data_tmp = full_data(idata)
12095 pack_tmp = ishft(data_tmp, 52)
12096 pack_tmp = ishft(pack_tmp, -18)
12098 data_tmp = full_data(idata)
12099 data_tmp = ishft(data_tmp, 46)
12100 pack_tmp = ior(pack_tmp, data_tmp)
12101 pack_tmp = ishft(pack_tmp, -18)
12103 data_tmp = full_data(idata)
12104 data_tmp = ishft(data_tmp, 46)
12105 pack_tmp = ior(pack_tmp, data_tmp)
12106 pack_tmp = ishft(pack_tmp, -16)
12108 data_tmp = full_data(idata)
12109 data_tmp = ishft(data_tmp, 46)
12110 data_tmp = iand(data_tmp, mask_left(16))
12111 pack_tmp = ior(pack_tmp, data_tmp)
12113 packed_data(ipack) = pack_tmp
12114 data_tmp = full_data(idata)
12115 pack_tmp = ishft(data_tmp, 62)
12116 pack_tmp = ishft(pack_tmp, -18)
12118 data_tmp = full_data(idata)
12119 data_tmp = ishft(data_tmp, 46)
12120 pack_tmp = ior(pack_tmp, data_tmp)
12121 pack_tmp = ishft(pack_tmp, -18)
12123 data_tmp = full_data(idata)
12124 data_tmp = ishft(data_tmp, 46)
12125 pack_tmp = ior(pack_tmp, data_tmp)
12126 pack_tmp = ishft(pack_tmp, -18)
12128 data_tmp = full_data(idata)
12129 data_tmp = ishft(data_tmp, 46)
12130 pack_tmp = ior(pack_tmp, data_tmp)
12131 pack_tmp = ishft(pack_tmp, -8)
12133 data_tmp = full_data(idata)
12134 data_tmp = ishft(data_tmp, 46)
12135 data_tmp = iand(data_tmp, mask_left(8))
12136 pack_tmp = ior(pack_tmp, data_tmp)
12138 packed_data(ipack) = pack_tmp
12139 data_tmp = full_data(idata)
12140 pack_tmp = ishft(data_tmp, 54)
12141 pack_tmp = ishft(pack_tmp, -18)
12143 data_tmp = full_data(idata)
12144 data_tmp = ishft(data_tmp, 46)
12145 pack_tmp = ior(pack_tmp, data_tmp)
12146 pack_tmp = ishft(pack_tmp, -18)
12148 data_tmp = full_data(idata)
12149 data_tmp = ishft(data_tmp, 46)
12150 pack_tmp = ior(pack_tmp, data_tmp)
12151 pack_tmp = ishft(pack_tmp, -18)
12153 data_tmp = full_data(idata)
12154 data_tmp = ishft(data_tmp, 46)
12155 pack_tmp = ior(pack_tmp, data_tmp)
12156 pack_tmp = ishft(pack_tmp, 0)
12158 data_tmp = full_data(idata)
12159 data_tmp = ishft(data_tmp, 46)
12160 data_tmp = iand(data_tmp, mask_left(0))
12161 pack_tmp = ior(pack_tmp, data_tmp)
12163 packed_data(ipack) = pack_tmp
12164 data_tmp = full_data(idata)
12165 pack_tmp = ishft(data_tmp, 46)
12166 pack_tmp = ishft(pack_tmp, -18)
12168 data_tmp = full_data(idata)
12169 data_tmp = ishft(data_tmp, 46)
12170 pack_tmp = ior(pack_tmp, data_tmp)
12171 pack_tmp = ishft(pack_tmp, -18)
12173 data_tmp = full_data(idata)
12174 data_tmp = ishft(data_tmp, 46)
12175 pack_tmp = ior(pack_tmp, data_tmp)
12176 pack_tmp = ishft(pack_tmp, -10)
12178 data_tmp = full_data(idata)
12179 data_tmp = ishft(data_tmp, 46)
12180 data_tmp = iand(data_tmp, mask_left(10))
12181 pack_tmp = ior(pack_tmp, data_tmp)
12183 packed_data(ipack) = pack_tmp
12184 data_tmp = full_data(idata)
12185 pack_tmp = ishft(data_tmp, 56)
12186 pack_tmp = ishft(pack_tmp, -18)
12188 data_tmp = full_data(idata)
12189 data_tmp = ishft(data_tmp, 46)
12190 pack_tmp = ior(pack_tmp, data_tmp)
12191 pack_tmp = ishft(pack_tmp, -18)
12193 data_tmp = full_data(idata)
12194 data_tmp = ishft(data_tmp, 46)
12195 pack_tmp = ior(pack_tmp, data_tmp)
12196 pack_tmp = ishft(pack_tmp, -18)
12198 data_tmp = full_data(idata)
12199 data_tmp = ishft(data_tmp, 46)
12200 pack_tmp = ior(pack_tmp, data_tmp)
12201 pack_tmp = ishft(pack_tmp, -2)
12203 data_tmp = full_data(idata)
12204 data_tmp = ishft(data_tmp, 46)
12205 data_tmp = iand(data_tmp, mask_left(2))
12206 pack_tmp = ior(pack_tmp, data_tmp)
12208 packed_data(ipack) = pack_tmp
12209 data_tmp = full_data(idata)
12210 pack_tmp = ishft(data_tmp, 48)
12211 pack_tmp = ishft(pack_tmp, -18)
12213 data_tmp = full_data(idata)
12214 data_tmp = ishft(data_tmp, 46)
12215 pack_tmp = ior(pack_tmp, data_tmp)
12216 pack_tmp = ishft(pack_tmp, -18)
12218 data_tmp = full_data(idata)
12219 data_tmp = ishft(data_tmp, 46)
12220 pack_tmp = ior(pack_tmp, data_tmp)
12221 pack_tmp = ishft(pack_tmp, -12)
12223 data_tmp = full_data(idata)
12224 data_tmp = ishft(data_tmp, 46)
12225 data_tmp = iand(data_tmp, mask_left(12))
12226 pack_tmp = ior(pack_tmp, data_tmp)
12228 packed_data(ipack) = pack_tmp
12229 data_tmp = full_data(idata)
12230 pack_tmp = ishft(data_tmp, 58)
12231 pack_tmp = ishft(pack_tmp, -18)
12233 data_tmp = full_data(idata)
12234 data_tmp = ishft(data_tmp, 46)
12235 pack_tmp = ior(pack_tmp, data_tmp)
12236 pack_tmp = ishft(pack_tmp, -18)
12238 data_tmp = full_data(idata)
12239 data_tmp = ishft(data_tmp, 46)
12240 pack_tmp = ior(pack_tmp, data_tmp)
12241 pack_tmp = ishft(pack_tmp, -18)
12243 data_tmp = full_data(idata)
12244 data_tmp = ishft(data_tmp, 46)
12245 pack_tmp = ior(pack_tmp, data_tmp)
12246 pack_tmp = ishft(pack_tmp, -4)
12248 data_tmp = full_data(idata)
12249 data_tmp = ishft(data_tmp, 46)
12250 data_tmp = iand(data_tmp, mask_left(4))
12251 pack_tmp = ior(pack_tmp, data_tmp)
12253 packed_data(ipack) = pack_tmp
12254 data_tmp = full_data(idata)
12255 pack_tmp = ishft(data_tmp, 50)
12256 pack_tmp = ishft(pack_tmp, -18)
12258 data_tmp = full_data(idata)
12259 data_tmp = ishft(data_tmp, 46)
12260 pack_tmp = ior(pack_tmp, data_tmp)
12261 pack_tmp = ishft(pack_tmp, -18)
12263 data_tmp = full_data(idata)
12264 data_tmp = ishft(data_tmp, 46)
12265 pack_tmp = ior(pack_tmp, data_tmp)
12266 pack_tmp = ishft(pack_tmp, -14)
12268 data_tmp = full_data(idata)
12269 data_tmp = ishft(data_tmp, 46)
12270 data_tmp = iand(data_tmp, mask_left(14))
12271 pack_tmp = ior(pack_tmp, data_tmp)
12273 packed_data(ipack) = pack_tmp
12274 data_tmp = full_data(idata)
12275 pack_tmp = ishft(data_tmp, 60)
12276 pack_tmp = ishft(pack_tmp, -18)
12278 data_tmp = full_data(idata)
12279 data_tmp = ishft(data_tmp, 46)
12280 pack_tmp = ior(pack_tmp, data_tmp)
12281 pack_tmp = ishft(pack_tmp, -18)
12283 data_tmp = full_data(idata)
12284 data_tmp = ishft(data_tmp, 46)
12285 pack_tmp = ior(pack_tmp, data_tmp)
12286 pack_tmp = ishft(pack_tmp, -18)
12288 data_tmp = full_data(idata)
12289 data_tmp = ishft(data_tmp, 46)
12290 pack_tmp = ior(pack_tmp, data_tmp)
12291 pack_tmp = ishft(pack_tmp, -6)
12293 data_tmp = full_data(idata)
12294 data_tmp = ishft(data_tmp, 46)
12295 data_tmp = iand(data_tmp, mask_left(6))
12296 pack_tmp = ior(pack_tmp, data_tmp)
12298 packed_data(ipack) = pack_tmp
12299 data_tmp = full_data(idata)
12300 pack_tmp = ishft(data_tmp, 52)
12301 pack_tmp = ishft(pack_tmp, -18)
12303 data_tmp = full_data(idata)
12304 data_tmp = ishft(data_tmp, 46)
12305 pack_tmp = ior(pack_tmp, data_tmp)
12306 pack_tmp = ishft(pack_tmp, -18)
12308 data_tmp = full_data(idata)
12309 data_tmp = ishft(data_tmp, 46)
12310 pack_tmp = ior(pack_tmp, data_tmp)
12311 pack_tmp = ishft(pack_tmp, -16)
12313 data_tmp = full_data(idata)
12314 data_tmp = ishft(data_tmp, 46)
12315 data_tmp = iand(data_tmp, mask_left(16))
12316 pack_tmp = ior(pack_tmp, data_tmp)
12318 packed_data(ipack) = pack_tmp
12319 data_tmp = full_data(idata)
12320 pack_tmp = ishft(data_tmp, 62)
12321 pack_tmp = ishft(pack_tmp, -18)
12323 data_tmp = full_data(idata)
12324 data_tmp = ishft(data_tmp, 46)
12325 pack_tmp = ior(pack_tmp, data_tmp)
12326 pack_tmp = ishft(pack_tmp, -18)
12328 data_tmp = full_data(idata)
12329 data_tmp = ishft(data_tmp, 46)
12330 pack_tmp = ior(pack_tmp, data_tmp)
12331 pack_tmp = ishft(pack_tmp, -18)
12333 data_tmp = full_data(idata)
12334 data_tmp = ishft(data_tmp, 46)
12335 pack_tmp = ior(pack_tmp, data_tmp)
12336 pack_tmp = ishft(pack_tmp, -8)
12338 data_tmp = full_data(idata)
12339 data_tmp = ishft(data_tmp, 46)
12340 data_tmp = iand(data_tmp, mask_left(8))
12341 pack_tmp = ior(pack_tmp, data_tmp)
12343 packed_data(ipack) = pack_tmp
12344 data_tmp = full_data(idata)
12345 pack_tmp = ishft(data_tmp, 54)
12346 pack_tmp = ishft(pack_tmp, -18)
12348 data_tmp = full_data(idata)
12349 data_tmp = ishft(data_tmp, 46)
12350 pack_tmp = ior(pack_tmp, data_tmp)
12351 pack_tmp = ishft(pack_tmp, -18)
12353 data_tmp = full_data(idata)
12354 data_tmp = ishft(data_tmp, 46)
12355 pack_tmp = ior(pack_tmp, data_tmp)
12356 pack_tmp = ishft(pack_tmp, -18)
12358 data_tmp = full_data(idata)
12359 data_tmp = ishft(data_tmp, 46)
12360 pack_tmp = ior(pack_tmp, data_tmp)
12361 pack_tmp = ishft(pack_tmp, 0)
12362 pack_tmp = ishft(pack_tmp, 0)
12364 packed_data(ipack) = pack_tmp
12366 IF (ndata_rep < ndata)
THEN
12367 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
12369 END SUBROUTINE ints2bits_18
12377 SUBROUTINE bits2ints_18(Ndata, packed_data, full_data)
12378 INTEGER,
INTENT(IN) :: Ndata
12379 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
12380 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
12382 INTEGER,
PARAMETER :: Nbits = 18
12384 INTEGER :: idata, ipack, kdata, Ndata_rep
12385 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
12390 ndata_rep = (ndata/64)*64
12391 DO kdata = 1, ndata_rep, 64
12393 data_tmp = ishft(pack_tmp, 18)
12395 pack_tmp = packed_data(ipack)
12396 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
12397 pack_tmp = ishft(pack_tmp, -18)
12399 data_tmp = iand(pack_tmp, mask_right(nbits))
12400 full_data(idata) = data_tmp
12401 pack_tmp = ishft(pack_tmp, -nbits)
12403 data_tmp = iand(pack_tmp, mask_right(nbits))
12404 full_data(idata) = data_tmp
12405 pack_tmp = ishft(pack_tmp, -nbits)
12407 data_tmp = ishft(pack_tmp, 8)
12409 pack_tmp = packed_data(ipack)
12410 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
12411 pack_tmp = ishft(pack_tmp, -8)
12413 data_tmp = iand(pack_tmp, mask_right(nbits))
12414 full_data(idata) = data_tmp
12415 pack_tmp = ishft(pack_tmp, -nbits)
12417 data_tmp = iand(pack_tmp, mask_right(nbits))
12418 full_data(idata) = data_tmp
12419 pack_tmp = ishft(pack_tmp, -nbits)
12421 data_tmp = iand(pack_tmp, mask_right(nbits))
12422 full_data(idata) = data_tmp
12423 pack_tmp = ishft(pack_tmp, -nbits)
12425 data_tmp = ishft(pack_tmp, 16)
12427 pack_tmp = packed_data(ipack)
12428 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
12429 pack_tmp = ishft(pack_tmp, -16)
12431 data_tmp = iand(pack_tmp, mask_right(nbits))
12432 full_data(idata) = data_tmp
12433 pack_tmp = ishft(pack_tmp, -nbits)
12435 data_tmp = iand(pack_tmp, mask_right(nbits))
12436 full_data(idata) = data_tmp
12437 pack_tmp = ishft(pack_tmp, -nbits)
12439 data_tmp = ishft(pack_tmp, 6)
12441 pack_tmp = packed_data(ipack)
12442 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
12443 pack_tmp = ishft(pack_tmp, -6)
12445 data_tmp = iand(pack_tmp, mask_right(nbits))
12446 full_data(idata) = data_tmp
12447 pack_tmp = ishft(pack_tmp, -nbits)
12449 data_tmp = iand(pack_tmp, mask_right(nbits))
12450 full_data(idata) = data_tmp
12451 pack_tmp = ishft(pack_tmp, -nbits)
12453 data_tmp = iand(pack_tmp, mask_right(nbits))
12454 full_data(idata) = data_tmp
12455 pack_tmp = ishft(pack_tmp, -nbits)
12457 data_tmp = ishft(pack_tmp, 14)
12459 pack_tmp = packed_data(ipack)
12460 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
12461 pack_tmp = ishft(pack_tmp, -14)
12463 data_tmp = iand(pack_tmp, mask_right(nbits))
12464 full_data(idata) = data_tmp
12465 pack_tmp = ishft(pack_tmp, -nbits)
12467 data_tmp = iand(pack_tmp, mask_right(nbits))
12468 full_data(idata) = data_tmp
12469 pack_tmp = ishft(pack_tmp, -nbits)
12471 data_tmp = ishft(pack_tmp, 4)
12473 pack_tmp = packed_data(ipack)
12474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
12475 pack_tmp = ishft(pack_tmp, -4)
12477 data_tmp = iand(pack_tmp, mask_right(nbits))
12478 full_data(idata) = data_tmp
12479 pack_tmp = ishft(pack_tmp, -nbits)
12481 data_tmp = iand(pack_tmp, mask_right(nbits))
12482 full_data(idata) = data_tmp
12483 pack_tmp = ishft(pack_tmp, -nbits)
12485 data_tmp = iand(pack_tmp, mask_right(nbits))
12486 full_data(idata) = data_tmp
12487 pack_tmp = ishft(pack_tmp, -nbits)
12489 data_tmp = ishft(pack_tmp, 12)
12491 pack_tmp = packed_data(ipack)
12492 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
12493 pack_tmp = ishft(pack_tmp, -12)
12495 data_tmp = iand(pack_tmp, mask_right(nbits))
12496 full_data(idata) = data_tmp
12497 pack_tmp = ishft(pack_tmp, -nbits)
12499 data_tmp = iand(pack_tmp, mask_right(nbits))
12500 full_data(idata) = data_tmp
12501 pack_tmp = ishft(pack_tmp, -nbits)
12503 data_tmp = ishft(pack_tmp, 2)
12505 pack_tmp = packed_data(ipack)
12506 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
12507 pack_tmp = ishft(pack_tmp, -2)
12509 data_tmp = iand(pack_tmp, mask_right(nbits))
12510 full_data(idata) = data_tmp
12511 pack_tmp = ishft(pack_tmp, -nbits)
12513 data_tmp = iand(pack_tmp, mask_right(nbits))
12514 full_data(idata) = data_tmp
12515 pack_tmp = ishft(pack_tmp, -nbits)
12517 data_tmp = iand(pack_tmp, mask_right(nbits))
12518 full_data(idata) = data_tmp
12519 pack_tmp = ishft(pack_tmp, -nbits)
12521 data_tmp = ishft(pack_tmp, 10)
12523 pack_tmp = packed_data(ipack)
12524 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
12525 pack_tmp = ishft(pack_tmp, -10)
12527 data_tmp = iand(pack_tmp, mask_right(nbits))
12528 full_data(idata) = data_tmp
12529 pack_tmp = ishft(pack_tmp, -nbits)
12531 data_tmp = iand(pack_tmp, mask_right(nbits))
12532 full_data(idata) = data_tmp
12533 pack_tmp = ishft(pack_tmp, -nbits)
12535 data_tmp = iand(pack_tmp, mask_right(nbits))
12536 full_data(idata) = data_tmp
12537 pack_tmp = ishft(pack_tmp, -nbits)
12539 data_tmp = ishft(pack_tmp, 18)
12541 pack_tmp = packed_data(ipack)
12542 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
12543 pack_tmp = ishft(pack_tmp, -18)
12545 data_tmp = iand(pack_tmp, mask_right(nbits))
12546 full_data(idata) = data_tmp
12547 pack_tmp = ishft(pack_tmp, -nbits)
12549 data_tmp = iand(pack_tmp, mask_right(nbits))
12550 full_data(idata) = data_tmp
12551 pack_tmp = ishft(pack_tmp, -nbits)
12553 data_tmp = ishft(pack_tmp, 8)
12555 pack_tmp = packed_data(ipack)
12556 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
12557 pack_tmp = ishft(pack_tmp, -8)
12559 data_tmp = iand(pack_tmp, mask_right(nbits))
12560 full_data(idata) = data_tmp
12561 pack_tmp = ishft(pack_tmp, -nbits)
12563 data_tmp = iand(pack_tmp, mask_right(nbits))
12564 full_data(idata) = data_tmp
12565 pack_tmp = ishft(pack_tmp, -nbits)
12567 data_tmp = iand(pack_tmp, mask_right(nbits))
12568 full_data(idata) = data_tmp
12569 pack_tmp = ishft(pack_tmp, -nbits)
12571 data_tmp = ishft(pack_tmp, 16)
12573 pack_tmp = packed_data(ipack)
12574 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
12575 pack_tmp = ishft(pack_tmp, -16)
12577 data_tmp = iand(pack_tmp, mask_right(nbits))
12578 full_data(idata) = data_tmp
12579 pack_tmp = ishft(pack_tmp, -nbits)
12581 data_tmp = iand(pack_tmp, mask_right(nbits))
12582 full_data(idata) = data_tmp
12583 pack_tmp = ishft(pack_tmp, -nbits)
12585 data_tmp = ishft(pack_tmp, 6)
12587 pack_tmp = packed_data(ipack)
12588 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
12589 pack_tmp = ishft(pack_tmp, -6)
12591 data_tmp = iand(pack_tmp, mask_right(nbits))
12592 full_data(idata) = data_tmp
12593 pack_tmp = ishft(pack_tmp, -nbits)
12595 data_tmp = iand(pack_tmp, mask_right(nbits))
12596 full_data(idata) = data_tmp
12597 pack_tmp = ishft(pack_tmp, -nbits)
12599 data_tmp = iand(pack_tmp, mask_right(nbits))
12600 full_data(idata) = data_tmp
12601 pack_tmp = ishft(pack_tmp, -nbits)
12603 data_tmp = ishft(pack_tmp, 14)
12605 pack_tmp = packed_data(ipack)
12606 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
12607 pack_tmp = ishft(pack_tmp, -14)
12609 data_tmp = iand(pack_tmp, mask_right(nbits))
12610 full_data(idata) = data_tmp
12611 pack_tmp = ishft(pack_tmp, -nbits)
12613 data_tmp = iand(pack_tmp, mask_right(nbits))
12614 full_data(idata) = data_tmp
12615 pack_tmp = ishft(pack_tmp, -nbits)
12617 data_tmp = ishft(pack_tmp, 4)
12619 pack_tmp = packed_data(ipack)
12620 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
12621 pack_tmp = ishft(pack_tmp, -4)
12623 data_tmp = iand(pack_tmp, mask_right(nbits))
12624 full_data(idata) = data_tmp
12625 pack_tmp = ishft(pack_tmp, -nbits)
12627 data_tmp = iand(pack_tmp, mask_right(nbits))
12628 full_data(idata) = data_tmp
12629 pack_tmp = ishft(pack_tmp, -nbits)
12631 data_tmp = iand(pack_tmp, mask_right(nbits))
12632 full_data(idata) = data_tmp
12633 pack_tmp = ishft(pack_tmp, -nbits)
12635 data_tmp = ishft(pack_tmp, 12)
12637 pack_tmp = packed_data(ipack)
12638 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
12639 pack_tmp = ishft(pack_tmp, -12)
12641 data_tmp = iand(pack_tmp, mask_right(nbits))
12642 full_data(idata) = data_tmp
12643 pack_tmp = ishft(pack_tmp, -nbits)
12645 data_tmp = iand(pack_tmp, mask_right(nbits))
12646 full_data(idata) = data_tmp
12647 pack_tmp = ishft(pack_tmp, -nbits)
12649 data_tmp = ishft(pack_tmp, 2)
12651 pack_tmp = packed_data(ipack)
12652 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
12653 pack_tmp = ishft(pack_tmp, -2)
12655 data_tmp = iand(pack_tmp, mask_right(nbits))
12656 full_data(idata) = data_tmp
12657 pack_tmp = ishft(pack_tmp, -nbits)
12659 data_tmp = iand(pack_tmp, mask_right(nbits))
12660 full_data(idata) = data_tmp
12661 pack_tmp = ishft(pack_tmp, -nbits)
12663 data_tmp = iand(pack_tmp, mask_right(nbits))
12664 full_data(idata) = data_tmp
12665 pack_tmp = ishft(pack_tmp, -nbits)
12667 data_tmp = ishft(pack_tmp, 10)
12669 pack_tmp = packed_data(ipack)
12670 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
12671 pack_tmp = ishft(pack_tmp, -10)
12673 data_tmp = iand(pack_tmp, mask_right(nbits))
12674 full_data(idata) = data_tmp
12675 pack_tmp = ishft(pack_tmp, -nbits)
12677 data_tmp = iand(pack_tmp, mask_right(nbits))
12678 full_data(idata) = data_tmp
12679 pack_tmp = ishft(pack_tmp, -nbits)
12681 data_tmp = iand(pack_tmp, mask_right(nbits))
12682 full_data(idata) = data_tmp
12683 pack_tmp = ishft(pack_tmp, -nbits)
12685 IF (ndata_rep < ndata)
THEN
12686 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
12688 END SUBROUTINE bits2ints_18
12696 SUBROUTINE ints2bits_19(Ndata, packed_data, full_data)
12697 INTEGER,
INTENT(IN) :: Ndata
12698 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
12699 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
12701 INTEGER,
PARAMETER :: Nbits = 19
12703 INTEGER :: idata, ipack, kdata, Ndata_rep
12704 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
12708 ndata_rep = (ndata/64)*64
12709 DO kdata = 1, ndata_rep, 64
12712 data_tmp = full_data(idata)
12713 data_tmp = ishft(data_tmp, 45)
12714 pack_tmp = ior(pack_tmp, data_tmp)
12715 pack_tmp = ishft(pack_tmp, -19)
12717 data_tmp = full_data(idata)
12718 data_tmp = ishft(data_tmp, 45)
12719 pack_tmp = ior(pack_tmp, data_tmp)
12720 pack_tmp = ishft(pack_tmp, -19)
12722 data_tmp = full_data(idata)
12723 data_tmp = ishft(data_tmp, 45)
12724 pack_tmp = ior(pack_tmp, data_tmp)
12725 pack_tmp = ishft(pack_tmp, -7)
12727 data_tmp = full_data(idata)
12728 data_tmp = ishft(data_tmp, 45)
12729 data_tmp = iand(data_tmp, mask_left(7))
12730 pack_tmp = ior(pack_tmp, data_tmp)
12732 packed_data(ipack) = pack_tmp
12733 data_tmp = full_data(idata)
12734 pack_tmp = ishft(data_tmp, 52)
12735 pack_tmp = ishft(pack_tmp, -19)
12737 data_tmp = full_data(idata)
12738 data_tmp = ishft(data_tmp, 45)
12739 pack_tmp = ior(pack_tmp, data_tmp)
12740 pack_tmp = ishft(pack_tmp, -19)
12742 data_tmp = full_data(idata)
12743 data_tmp = ishft(data_tmp, 45)
12744 pack_tmp = ior(pack_tmp, data_tmp)
12745 pack_tmp = ishft(pack_tmp, -14)
12747 data_tmp = full_data(idata)
12748 data_tmp = ishft(data_tmp, 45)
12749 data_tmp = iand(data_tmp, mask_left(14))
12750 pack_tmp = ior(pack_tmp, data_tmp)
12752 packed_data(ipack) = pack_tmp
12753 data_tmp = full_data(idata)
12754 pack_tmp = ishft(data_tmp, 59)
12755 pack_tmp = ishft(pack_tmp, -19)
12757 data_tmp = full_data(idata)
12758 data_tmp = ishft(data_tmp, 45)
12759 pack_tmp = ior(pack_tmp, data_tmp)
12760 pack_tmp = ishft(pack_tmp, -19)
12762 data_tmp = full_data(idata)
12763 data_tmp = ishft(data_tmp, 45)
12764 pack_tmp = ior(pack_tmp, data_tmp)
12765 pack_tmp = ishft(pack_tmp, -19)
12767 data_tmp = full_data(idata)
12768 data_tmp = ishft(data_tmp, 45)
12769 pack_tmp = ior(pack_tmp, data_tmp)
12770 pack_tmp = ishft(pack_tmp, -2)
12772 data_tmp = full_data(idata)
12773 data_tmp = ishft(data_tmp, 45)
12774 data_tmp = iand(data_tmp, mask_left(2))
12775 pack_tmp = ior(pack_tmp, data_tmp)
12777 packed_data(ipack) = pack_tmp
12778 data_tmp = full_data(idata)
12779 pack_tmp = ishft(data_tmp, 47)
12780 pack_tmp = ishft(pack_tmp, -19)
12782 data_tmp = full_data(idata)
12783 data_tmp = ishft(data_tmp, 45)
12784 pack_tmp = ior(pack_tmp, data_tmp)
12785 pack_tmp = ishft(pack_tmp, -19)
12787 data_tmp = full_data(idata)
12788 data_tmp = ishft(data_tmp, 45)
12789 pack_tmp = ior(pack_tmp, data_tmp)
12790 pack_tmp = ishft(pack_tmp, -9)
12792 data_tmp = full_data(idata)
12793 data_tmp = ishft(data_tmp, 45)
12794 data_tmp = iand(data_tmp, mask_left(9))
12795 pack_tmp = ior(pack_tmp, data_tmp)
12797 packed_data(ipack) = pack_tmp
12798 data_tmp = full_data(idata)
12799 pack_tmp = ishft(data_tmp, 54)
12800 pack_tmp = ishft(pack_tmp, -19)
12802 data_tmp = full_data(idata)
12803 data_tmp = ishft(data_tmp, 45)
12804 pack_tmp = ior(pack_tmp, data_tmp)
12805 pack_tmp = ishft(pack_tmp, -19)
12807 data_tmp = full_data(idata)
12808 data_tmp = ishft(data_tmp, 45)
12809 pack_tmp = ior(pack_tmp, data_tmp)
12810 pack_tmp = ishft(pack_tmp, -16)
12812 data_tmp = full_data(idata)
12813 data_tmp = ishft(data_tmp, 45)
12814 data_tmp = iand(data_tmp, mask_left(16))
12815 pack_tmp = ior(pack_tmp, data_tmp)
12817 packed_data(ipack) = pack_tmp
12818 data_tmp = full_data(idata)
12819 pack_tmp = ishft(data_tmp, 61)
12820 pack_tmp = ishft(pack_tmp, -19)
12822 data_tmp = full_data(idata)
12823 data_tmp = ishft(data_tmp, 45)
12824 pack_tmp = ior(pack_tmp, data_tmp)
12825 pack_tmp = ishft(pack_tmp, -19)
12827 data_tmp = full_data(idata)
12828 data_tmp = ishft(data_tmp, 45)
12829 pack_tmp = ior(pack_tmp, data_tmp)
12830 pack_tmp = ishft(pack_tmp, -19)
12832 data_tmp = full_data(idata)
12833 data_tmp = ishft(data_tmp, 45)
12834 pack_tmp = ior(pack_tmp, data_tmp)
12835 pack_tmp = ishft(pack_tmp, -4)
12837 data_tmp = full_data(idata)
12838 data_tmp = ishft(data_tmp, 45)
12839 data_tmp = iand(data_tmp, mask_left(4))
12840 pack_tmp = ior(pack_tmp, data_tmp)
12842 packed_data(ipack) = pack_tmp
12843 data_tmp = full_data(idata)
12844 pack_tmp = ishft(data_tmp, 49)
12845 pack_tmp = ishft(pack_tmp, -19)
12847 data_tmp = full_data(idata)
12848 data_tmp = ishft(data_tmp, 45)
12849 pack_tmp = ior(pack_tmp, data_tmp)
12850 pack_tmp = ishft(pack_tmp, -19)
12852 data_tmp = full_data(idata)
12853 data_tmp = ishft(data_tmp, 45)
12854 pack_tmp = ior(pack_tmp, data_tmp)
12855 pack_tmp = ishft(pack_tmp, -11)
12857 data_tmp = full_data(idata)
12858 data_tmp = ishft(data_tmp, 45)
12859 data_tmp = iand(data_tmp, mask_left(11))
12860 pack_tmp = ior(pack_tmp, data_tmp)
12862 packed_data(ipack) = pack_tmp
12863 data_tmp = full_data(idata)
12864 pack_tmp = ishft(data_tmp, 56)
12865 pack_tmp = ishft(pack_tmp, -19)
12867 data_tmp = full_data(idata)
12868 data_tmp = ishft(data_tmp, 45)
12869 pack_tmp = ior(pack_tmp, data_tmp)
12870 pack_tmp = ishft(pack_tmp, -19)
12872 data_tmp = full_data(idata)
12873 data_tmp = ishft(data_tmp, 45)
12874 pack_tmp = ior(pack_tmp, data_tmp)
12875 pack_tmp = ishft(pack_tmp, -18)
12877 data_tmp = full_data(idata)
12878 data_tmp = ishft(data_tmp, 45)
12879 data_tmp = iand(data_tmp, mask_left(18))
12880 pack_tmp = ior(pack_tmp, data_tmp)
12882 packed_data(ipack) = pack_tmp
12883 data_tmp = full_data(idata)
12884 pack_tmp = ishft(data_tmp, 63)
12885 pack_tmp = ishft(pack_tmp, -19)
12887 data_tmp = full_data(idata)
12888 data_tmp = ishft(data_tmp, 45)
12889 pack_tmp = ior(pack_tmp, data_tmp)
12890 pack_tmp = ishft(pack_tmp, -19)
12892 data_tmp = full_data(idata)
12893 data_tmp = ishft(data_tmp, 45)
12894 pack_tmp = ior(pack_tmp, data_tmp)
12895 pack_tmp = ishft(pack_tmp, -19)
12897 data_tmp = full_data(idata)
12898 data_tmp = ishft(data_tmp, 45)
12899 pack_tmp = ior(pack_tmp, data_tmp)
12900 pack_tmp = ishft(pack_tmp, -6)
12902 data_tmp = full_data(idata)
12903 data_tmp = ishft(data_tmp, 45)
12904 data_tmp = iand(data_tmp, mask_left(6))
12905 pack_tmp = ior(pack_tmp, data_tmp)
12907 packed_data(ipack) = pack_tmp
12908 data_tmp = full_data(idata)
12909 pack_tmp = ishft(data_tmp, 51)
12910 pack_tmp = ishft(pack_tmp, -19)
12912 data_tmp = full_data(idata)
12913 data_tmp = ishft(data_tmp, 45)
12914 pack_tmp = ior(pack_tmp, data_tmp)
12915 pack_tmp = ishft(pack_tmp, -19)
12917 data_tmp = full_data(idata)
12918 data_tmp = ishft(data_tmp, 45)
12919 pack_tmp = ior(pack_tmp, data_tmp)
12920 pack_tmp = ishft(pack_tmp, -13)
12922 data_tmp = full_data(idata)
12923 data_tmp = ishft(data_tmp, 45)
12924 data_tmp = iand(data_tmp, mask_left(13))
12925 pack_tmp = ior(pack_tmp, data_tmp)
12927 packed_data(ipack) = pack_tmp
12928 data_tmp = full_data(idata)
12929 pack_tmp = ishft(data_tmp, 58)
12930 pack_tmp = ishft(pack_tmp, -19)
12932 data_tmp = full_data(idata)
12933 data_tmp = ishft(data_tmp, 45)
12934 pack_tmp = ior(pack_tmp, data_tmp)
12935 pack_tmp = ishft(pack_tmp, -19)
12937 data_tmp = full_data(idata)
12938 data_tmp = ishft(data_tmp, 45)
12939 pack_tmp = ior(pack_tmp, data_tmp)
12940 pack_tmp = ishft(pack_tmp, -19)
12942 data_tmp = full_data(idata)
12943 data_tmp = ishft(data_tmp, 45)
12944 pack_tmp = ior(pack_tmp, data_tmp)
12945 pack_tmp = ishft(pack_tmp, -1)
12947 data_tmp = full_data(idata)
12948 data_tmp = ishft(data_tmp, 45)
12949 data_tmp = iand(data_tmp, mask_left(1))
12950 pack_tmp = ior(pack_tmp, data_tmp)
12952 packed_data(ipack) = pack_tmp
12953 data_tmp = full_data(idata)
12954 pack_tmp = ishft(data_tmp, 46)
12955 pack_tmp = ishft(pack_tmp, -19)
12957 data_tmp = full_data(idata)
12958 data_tmp = ishft(data_tmp, 45)
12959 pack_tmp = ior(pack_tmp, data_tmp)
12960 pack_tmp = ishft(pack_tmp, -19)
12962 data_tmp = full_data(idata)
12963 data_tmp = ishft(data_tmp, 45)
12964 pack_tmp = ior(pack_tmp, data_tmp)
12965 pack_tmp = ishft(pack_tmp, -8)
12967 data_tmp = full_data(idata)
12968 data_tmp = ishft(data_tmp, 45)
12969 data_tmp = iand(data_tmp, mask_left(8))
12970 pack_tmp = ior(pack_tmp, data_tmp)
12972 packed_data(ipack) = pack_tmp
12973 data_tmp = full_data(idata)
12974 pack_tmp = ishft(data_tmp, 53)
12975 pack_tmp = ishft(pack_tmp, -19)
12977 data_tmp = full_data(idata)
12978 data_tmp = ishft(data_tmp, 45)
12979 pack_tmp = ior(pack_tmp, data_tmp)
12980 pack_tmp = ishft(pack_tmp, -19)
12982 data_tmp = full_data(idata)
12983 data_tmp = ishft(data_tmp, 45)
12984 pack_tmp = ior(pack_tmp, data_tmp)
12985 pack_tmp = ishft(pack_tmp, -15)
12987 data_tmp = full_data(idata)
12988 data_tmp = ishft(data_tmp, 45)
12989 data_tmp = iand(data_tmp, mask_left(15))
12990 pack_tmp = ior(pack_tmp, data_tmp)
12992 packed_data(ipack) = pack_tmp
12993 data_tmp = full_data(idata)
12994 pack_tmp = ishft(data_tmp, 60)
12995 pack_tmp = ishft(pack_tmp, -19)
12997 data_tmp = full_data(idata)
12998 data_tmp = ishft(data_tmp, 45)
12999 pack_tmp = ior(pack_tmp, data_tmp)
13000 pack_tmp = ishft(pack_tmp, -19)
13002 data_tmp = full_data(idata)
13003 data_tmp = ishft(data_tmp, 45)
13004 pack_tmp = ior(pack_tmp, data_tmp)
13005 pack_tmp = ishft(pack_tmp, -19)
13007 data_tmp = full_data(idata)
13008 data_tmp = ishft(data_tmp, 45)
13009 pack_tmp = ior(pack_tmp, data_tmp)
13010 pack_tmp = ishft(pack_tmp, -3)
13012 data_tmp = full_data(idata)
13013 data_tmp = ishft(data_tmp, 45)
13014 data_tmp = iand(data_tmp, mask_left(3))
13015 pack_tmp = ior(pack_tmp, data_tmp)
13017 packed_data(ipack) = pack_tmp
13018 data_tmp = full_data(idata)
13019 pack_tmp = ishft(data_tmp, 48)
13020 pack_tmp = ishft(pack_tmp, -19)
13022 data_tmp = full_data(idata)
13023 data_tmp = ishft(data_tmp, 45)
13024 pack_tmp = ior(pack_tmp, data_tmp)
13025 pack_tmp = ishft(pack_tmp, -19)
13027 data_tmp = full_data(idata)
13028 data_tmp = ishft(data_tmp, 45)
13029 pack_tmp = ior(pack_tmp, data_tmp)
13030 pack_tmp = ishft(pack_tmp, -10)
13032 data_tmp = full_data(idata)
13033 data_tmp = ishft(data_tmp, 45)
13034 data_tmp = iand(data_tmp, mask_left(10))
13035 pack_tmp = ior(pack_tmp, data_tmp)
13037 packed_data(ipack) = pack_tmp
13038 data_tmp = full_data(idata)
13039 pack_tmp = ishft(data_tmp, 55)
13040 pack_tmp = ishft(pack_tmp, -19)
13042 data_tmp = full_data(idata)
13043 data_tmp = ishft(data_tmp, 45)
13044 pack_tmp = ior(pack_tmp, data_tmp)
13045 pack_tmp = ishft(pack_tmp, -19)
13047 data_tmp = full_data(idata)
13048 data_tmp = ishft(data_tmp, 45)
13049 pack_tmp = ior(pack_tmp, data_tmp)
13050 pack_tmp = ishft(pack_tmp, -17)
13052 data_tmp = full_data(idata)
13053 data_tmp = ishft(data_tmp, 45)
13054 data_tmp = iand(data_tmp, mask_left(17))
13055 pack_tmp = ior(pack_tmp, data_tmp)
13057 packed_data(ipack) = pack_tmp
13058 data_tmp = full_data(idata)
13059 pack_tmp = ishft(data_tmp, 62)
13060 pack_tmp = ishft(pack_tmp, -19)
13062 data_tmp = full_data(idata)
13063 data_tmp = ishft(data_tmp, 45)
13064 pack_tmp = ior(pack_tmp, data_tmp)
13065 pack_tmp = ishft(pack_tmp, -19)
13067 data_tmp = full_data(idata)
13068 data_tmp = ishft(data_tmp, 45)
13069 pack_tmp = ior(pack_tmp, data_tmp)
13070 pack_tmp = ishft(pack_tmp, -19)
13072 data_tmp = full_data(idata)
13073 data_tmp = ishft(data_tmp, 45)
13074 pack_tmp = ior(pack_tmp, data_tmp)
13075 pack_tmp = ishft(pack_tmp, -5)
13077 data_tmp = full_data(idata)
13078 data_tmp = ishft(data_tmp, 45)
13079 data_tmp = iand(data_tmp, mask_left(5))
13080 pack_tmp = ior(pack_tmp, data_tmp)
13082 packed_data(ipack) = pack_tmp
13083 data_tmp = full_data(idata)
13084 pack_tmp = ishft(data_tmp, 50)
13085 pack_tmp = ishft(pack_tmp, -19)
13087 data_tmp = full_data(idata)
13088 data_tmp = ishft(data_tmp, 45)
13089 pack_tmp = ior(pack_tmp, data_tmp)
13090 pack_tmp = ishft(pack_tmp, -19)
13092 data_tmp = full_data(idata)
13093 data_tmp = ishft(data_tmp, 45)
13094 pack_tmp = ior(pack_tmp, data_tmp)
13095 pack_tmp = ishft(pack_tmp, -12)
13097 data_tmp = full_data(idata)
13098 data_tmp = ishft(data_tmp, 45)
13099 data_tmp = iand(data_tmp, mask_left(12))
13100 pack_tmp = ior(pack_tmp, data_tmp)
13102 packed_data(ipack) = pack_tmp
13103 data_tmp = full_data(idata)
13104 pack_tmp = ishft(data_tmp, 57)
13105 pack_tmp = ishft(pack_tmp, -19)
13107 data_tmp = full_data(idata)
13108 data_tmp = ishft(data_tmp, 45)
13109 pack_tmp = ior(pack_tmp, data_tmp)
13110 pack_tmp = ishft(pack_tmp, -19)
13112 data_tmp = full_data(idata)
13113 data_tmp = ishft(data_tmp, 45)
13114 pack_tmp = ior(pack_tmp, data_tmp)
13115 pack_tmp = ishft(pack_tmp, -19)
13117 data_tmp = full_data(idata)
13118 data_tmp = ishft(data_tmp, 45)
13119 pack_tmp = ior(pack_tmp, data_tmp)
13120 pack_tmp = ishft(pack_tmp, 0)
13121 pack_tmp = ishft(pack_tmp, 0)
13123 packed_data(ipack) = pack_tmp
13125 IF (ndata_rep < ndata)
THEN
13126 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
13128 END SUBROUTINE ints2bits_19
13136 SUBROUTINE bits2ints_19(Ndata, packed_data, full_data)
13137 INTEGER,
INTENT(IN) :: Ndata
13138 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
13139 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
13141 INTEGER,
PARAMETER :: Nbits = 19
13143 INTEGER :: idata, ipack, kdata, Ndata_rep
13144 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
13149 ndata_rep = (ndata/64)*64
13150 DO kdata = 1, ndata_rep, 64
13152 data_tmp = ishft(pack_tmp, 19)
13154 pack_tmp = packed_data(ipack)
13155 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
13156 pack_tmp = ishft(pack_tmp, -19)
13158 data_tmp = iand(pack_tmp, mask_right(nbits))
13159 full_data(idata) = data_tmp
13160 pack_tmp = ishft(pack_tmp, -nbits)
13162 data_tmp = iand(pack_tmp, mask_right(nbits))
13163 full_data(idata) = data_tmp
13164 pack_tmp = ishft(pack_tmp, -nbits)
13166 data_tmp = ishft(pack_tmp, 12)
13168 pack_tmp = packed_data(ipack)
13169 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
13170 pack_tmp = ishft(pack_tmp, -12)
13172 data_tmp = iand(pack_tmp, mask_right(nbits))
13173 full_data(idata) = data_tmp
13174 pack_tmp = ishft(pack_tmp, -nbits)
13176 data_tmp = iand(pack_tmp, mask_right(nbits))
13177 full_data(idata) = data_tmp
13178 pack_tmp = ishft(pack_tmp, -nbits)
13180 data_tmp = ishft(pack_tmp, 5)
13182 pack_tmp = packed_data(ipack)
13183 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
13184 pack_tmp = ishft(pack_tmp, -5)
13186 data_tmp = iand(pack_tmp, mask_right(nbits))
13187 full_data(idata) = data_tmp
13188 pack_tmp = ishft(pack_tmp, -nbits)
13190 data_tmp = iand(pack_tmp, mask_right(nbits))
13191 full_data(idata) = data_tmp
13192 pack_tmp = ishft(pack_tmp, -nbits)
13194 data_tmp = iand(pack_tmp, mask_right(nbits))
13195 full_data(idata) = data_tmp
13196 pack_tmp = ishft(pack_tmp, -nbits)
13198 data_tmp = ishft(pack_tmp, 17)
13200 pack_tmp = packed_data(ipack)
13201 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
13202 pack_tmp = ishft(pack_tmp, -17)
13204 data_tmp = iand(pack_tmp, mask_right(nbits))
13205 full_data(idata) = data_tmp
13206 pack_tmp = ishft(pack_tmp, -nbits)
13208 data_tmp = iand(pack_tmp, mask_right(nbits))
13209 full_data(idata) = data_tmp
13210 pack_tmp = ishft(pack_tmp, -nbits)
13212 data_tmp = ishft(pack_tmp, 10)
13214 pack_tmp = packed_data(ipack)
13215 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
13216 pack_tmp = ishft(pack_tmp, -10)
13218 data_tmp = iand(pack_tmp, mask_right(nbits))
13219 full_data(idata) = data_tmp
13220 pack_tmp = ishft(pack_tmp, -nbits)
13222 data_tmp = iand(pack_tmp, mask_right(nbits))
13223 full_data(idata) = data_tmp
13224 pack_tmp = ishft(pack_tmp, -nbits)
13226 data_tmp = ishft(pack_tmp, 3)
13228 pack_tmp = packed_data(ipack)
13229 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
13230 pack_tmp = ishft(pack_tmp, -3)
13232 data_tmp = iand(pack_tmp, mask_right(nbits))
13233 full_data(idata) = data_tmp
13234 pack_tmp = ishft(pack_tmp, -nbits)
13236 data_tmp = iand(pack_tmp, mask_right(nbits))
13237 full_data(idata) = data_tmp
13238 pack_tmp = ishft(pack_tmp, -nbits)
13240 data_tmp = iand(pack_tmp, mask_right(nbits))
13241 full_data(idata) = data_tmp
13242 pack_tmp = ishft(pack_tmp, -nbits)
13244 data_tmp = ishft(pack_tmp, 15)
13246 pack_tmp = packed_data(ipack)
13247 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
13248 pack_tmp = ishft(pack_tmp, -15)
13250 data_tmp = iand(pack_tmp, mask_right(nbits))
13251 full_data(idata) = data_tmp
13252 pack_tmp = ishft(pack_tmp, -nbits)
13254 data_tmp = iand(pack_tmp, mask_right(nbits))
13255 full_data(idata) = data_tmp
13256 pack_tmp = ishft(pack_tmp, -nbits)
13258 data_tmp = ishft(pack_tmp, 8)
13260 pack_tmp = packed_data(ipack)
13261 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
13262 pack_tmp = ishft(pack_tmp, -8)
13264 data_tmp = iand(pack_tmp, mask_right(nbits))
13265 full_data(idata) = data_tmp
13266 pack_tmp = ishft(pack_tmp, -nbits)
13268 data_tmp = iand(pack_tmp, mask_right(nbits))
13269 full_data(idata) = data_tmp
13270 pack_tmp = ishft(pack_tmp, -nbits)
13272 data_tmp = ishft(pack_tmp, 1)
13274 pack_tmp = packed_data(ipack)
13275 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
13276 pack_tmp = ishft(pack_tmp, -1)
13278 data_tmp = iand(pack_tmp, mask_right(nbits))
13279 full_data(idata) = data_tmp
13280 pack_tmp = ishft(pack_tmp, -nbits)
13282 data_tmp = iand(pack_tmp, mask_right(nbits))
13283 full_data(idata) = data_tmp
13284 pack_tmp = ishft(pack_tmp, -nbits)
13286 data_tmp = iand(pack_tmp, mask_right(nbits))
13287 full_data(idata) = data_tmp
13288 pack_tmp = ishft(pack_tmp, -nbits)
13290 data_tmp = ishft(pack_tmp, 13)
13292 pack_tmp = packed_data(ipack)
13293 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
13294 pack_tmp = ishft(pack_tmp, -13)
13296 data_tmp = iand(pack_tmp, mask_right(nbits))
13297 full_data(idata) = data_tmp
13298 pack_tmp = ishft(pack_tmp, -nbits)
13300 data_tmp = iand(pack_tmp, mask_right(nbits))
13301 full_data(idata) = data_tmp
13302 pack_tmp = ishft(pack_tmp, -nbits)
13304 data_tmp = ishft(pack_tmp, 6)
13306 pack_tmp = packed_data(ipack)
13307 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
13308 pack_tmp = ishft(pack_tmp, -6)
13310 data_tmp = iand(pack_tmp, mask_right(nbits))
13311 full_data(idata) = data_tmp
13312 pack_tmp = ishft(pack_tmp, -nbits)
13314 data_tmp = iand(pack_tmp, mask_right(nbits))
13315 full_data(idata) = data_tmp
13316 pack_tmp = ishft(pack_tmp, -nbits)
13318 data_tmp = iand(pack_tmp, mask_right(nbits))
13319 full_data(idata) = data_tmp
13320 pack_tmp = ishft(pack_tmp, -nbits)
13322 data_tmp = ishft(pack_tmp, 18)
13324 pack_tmp = packed_data(ipack)
13325 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
13326 pack_tmp = ishft(pack_tmp, -18)
13328 data_tmp = iand(pack_tmp, mask_right(nbits))
13329 full_data(idata) = data_tmp
13330 pack_tmp = ishft(pack_tmp, -nbits)
13332 data_tmp = iand(pack_tmp, mask_right(nbits))
13333 full_data(idata) = data_tmp
13334 pack_tmp = ishft(pack_tmp, -nbits)
13336 data_tmp = ishft(pack_tmp, 11)
13338 pack_tmp = packed_data(ipack)
13339 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
13340 pack_tmp = ishft(pack_tmp, -11)
13342 data_tmp = iand(pack_tmp, mask_right(nbits))
13343 full_data(idata) = data_tmp
13344 pack_tmp = ishft(pack_tmp, -nbits)
13346 data_tmp = iand(pack_tmp, mask_right(nbits))
13347 full_data(idata) = data_tmp
13348 pack_tmp = ishft(pack_tmp, -nbits)
13350 data_tmp = ishft(pack_tmp, 4)
13352 pack_tmp = packed_data(ipack)
13353 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
13354 pack_tmp = ishft(pack_tmp, -4)
13356 data_tmp = iand(pack_tmp, mask_right(nbits))
13357 full_data(idata) = data_tmp
13358 pack_tmp = ishft(pack_tmp, -nbits)
13360 data_tmp = iand(pack_tmp, mask_right(nbits))
13361 full_data(idata) = data_tmp
13362 pack_tmp = ishft(pack_tmp, -nbits)
13364 data_tmp = iand(pack_tmp, mask_right(nbits))
13365 full_data(idata) = data_tmp
13366 pack_tmp = ishft(pack_tmp, -nbits)
13368 data_tmp = ishft(pack_tmp, 16)
13370 pack_tmp = packed_data(ipack)
13371 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
13372 pack_tmp = ishft(pack_tmp, -16)
13374 data_tmp = iand(pack_tmp, mask_right(nbits))
13375 full_data(idata) = data_tmp
13376 pack_tmp = ishft(pack_tmp, -nbits)
13378 data_tmp = iand(pack_tmp, mask_right(nbits))
13379 full_data(idata) = data_tmp
13380 pack_tmp = ishft(pack_tmp, -nbits)
13382 data_tmp = ishft(pack_tmp, 9)
13384 pack_tmp = packed_data(ipack)
13385 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
13386 pack_tmp = ishft(pack_tmp, -9)
13388 data_tmp = iand(pack_tmp, mask_right(nbits))
13389 full_data(idata) = data_tmp
13390 pack_tmp = ishft(pack_tmp, -nbits)
13392 data_tmp = iand(pack_tmp, mask_right(nbits))
13393 full_data(idata) = data_tmp
13394 pack_tmp = ishft(pack_tmp, -nbits)
13396 data_tmp = ishft(pack_tmp, 2)
13398 pack_tmp = packed_data(ipack)
13399 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
13400 pack_tmp = ishft(pack_tmp, -2)
13402 data_tmp = iand(pack_tmp, mask_right(nbits))
13403 full_data(idata) = data_tmp
13404 pack_tmp = ishft(pack_tmp, -nbits)
13406 data_tmp = iand(pack_tmp, mask_right(nbits))
13407 full_data(idata) = data_tmp
13408 pack_tmp = ishft(pack_tmp, -nbits)
13410 data_tmp = iand(pack_tmp, mask_right(nbits))
13411 full_data(idata) = data_tmp
13412 pack_tmp = ishft(pack_tmp, -nbits)
13414 data_tmp = ishft(pack_tmp, 14)
13416 pack_tmp = packed_data(ipack)
13417 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
13418 pack_tmp = ishft(pack_tmp, -14)
13420 data_tmp = iand(pack_tmp, mask_right(nbits))
13421 full_data(idata) = data_tmp
13422 pack_tmp = ishft(pack_tmp, -nbits)
13424 data_tmp = iand(pack_tmp, mask_right(nbits))
13425 full_data(idata) = data_tmp
13426 pack_tmp = ishft(pack_tmp, -nbits)
13428 data_tmp = ishft(pack_tmp, 7)
13430 pack_tmp = packed_data(ipack)
13431 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
13432 pack_tmp = ishft(pack_tmp, -7)
13434 data_tmp = iand(pack_tmp, mask_right(nbits))
13435 full_data(idata) = data_tmp
13436 pack_tmp = ishft(pack_tmp, -nbits)
13438 data_tmp = iand(pack_tmp, mask_right(nbits))
13439 full_data(idata) = data_tmp
13440 pack_tmp = ishft(pack_tmp, -nbits)
13442 data_tmp = iand(pack_tmp, mask_right(nbits))
13443 full_data(idata) = data_tmp
13444 pack_tmp = ishft(pack_tmp, -nbits)
13446 IF (ndata_rep < ndata)
THEN
13447 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
13449 END SUBROUTINE bits2ints_19
13457 SUBROUTINE ints2bits_20(Ndata, packed_data, full_data)
13458 INTEGER,
INTENT(IN) :: Ndata
13459 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
13460 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
13462 INTEGER,
PARAMETER :: Nbits = 20
13464 INTEGER :: idata, ipack, kdata, Ndata_rep
13465 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
13469 ndata_rep = (ndata/64)*64
13470 DO kdata = 1, ndata_rep, 64
13473 data_tmp = full_data(idata)
13474 data_tmp = ishft(data_tmp, 44)
13475 pack_tmp = ior(pack_tmp, data_tmp)
13476 pack_tmp = ishft(pack_tmp, -20)
13478 data_tmp = full_data(idata)
13479 data_tmp = ishft(data_tmp, 44)
13480 pack_tmp = ior(pack_tmp, data_tmp)
13481 pack_tmp = ishft(pack_tmp, -20)
13483 data_tmp = full_data(idata)
13484 data_tmp = ishft(data_tmp, 44)
13485 pack_tmp = ior(pack_tmp, data_tmp)
13486 pack_tmp = ishft(pack_tmp, -4)
13488 data_tmp = full_data(idata)
13489 data_tmp = ishft(data_tmp, 44)
13490 data_tmp = iand(data_tmp, mask_left(4))
13491 pack_tmp = ior(pack_tmp, data_tmp)
13493 packed_data(ipack) = pack_tmp
13494 data_tmp = full_data(idata)
13495 pack_tmp = ishft(data_tmp, 48)
13496 pack_tmp = ishft(pack_tmp, -20)
13498 data_tmp = full_data(idata)
13499 data_tmp = ishft(data_tmp, 44)
13500 pack_tmp = ior(pack_tmp, data_tmp)
13501 pack_tmp = ishft(pack_tmp, -20)
13503 data_tmp = full_data(idata)
13504 data_tmp = ishft(data_tmp, 44)
13505 pack_tmp = ior(pack_tmp, data_tmp)
13506 pack_tmp = ishft(pack_tmp, -8)
13508 data_tmp = full_data(idata)
13509 data_tmp = ishft(data_tmp, 44)
13510 data_tmp = iand(data_tmp, mask_left(8))
13511 pack_tmp = ior(pack_tmp, data_tmp)
13513 packed_data(ipack) = pack_tmp
13514 data_tmp = full_data(idata)
13515 pack_tmp = ishft(data_tmp, 52)
13516 pack_tmp = ishft(pack_tmp, -20)
13518 data_tmp = full_data(idata)
13519 data_tmp = ishft(data_tmp, 44)
13520 pack_tmp = ior(pack_tmp, data_tmp)
13521 pack_tmp = ishft(pack_tmp, -20)
13523 data_tmp = full_data(idata)
13524 data_tmp = ishft(data_tmp, 44)
13525 pack_tmp = ior(pack_tmp, data_tmp)
13526 pack_tmp = ishft(pack_tmp, -12)
13528 data_tmp = full_data(idata)
13529 data_tmp = ishft(data_tmp, 44)
13530 data_tmp = iand(data_tmp, mask_left(12))
13531 pack_tmp = ior(pack_tmp, data_tmp)
13533 packed_data(ipack) = pack_tmp
13534 data_tmp = full_data(idata)
13535 pack_tmp = ishft(data_tmp, 56)
13536 pack_tmp = ishft(pack_tmp, -20)
13538 data_tmp = full_data(idata)
13539 data_tmp = ishft(data_tmp, 44)
13540 pack_tmp = ior(pack_tmp, data_tmp)
13541 pack_tmp = ishft(pack_tmp, -20)
13543 data_tmp = full_data(idata)
13544 data_tmp = ishft(data_tmp, 44)
13545 pack_tmp = ior(pack_tmp, data_tmp)
13546 pack_tmp = ishft(pack_tmp, -16)
13548 data_tmp = full_data(idata)
13549 data_tmp = ishft(data_tmp, 44)
13550 data_tmp = iand(data_tmp, mask_left(16))
13551 pack_tmp = ior(pack_tmp, data_tmp)
13553 packed_data(ipack) = pack_tmp
13554 data_tmp = full_data(idata)
13555 pack_tmp = ishft(data_tmp, 60)
13556 pack_tmp = ishft(pack_tmp, -20)
13558 data_tmp = full_data(idata)
13559 data_tmp = ishft(data_tmp, 44)
13560 pack_tmp = ior(pack_tmp, data_tmp)
13561 pack_tmp = ishft(pack_tmp, -20)
13563 data_tmp = full_data(idata)
13564 data_tmp = ishft(data_tmp, 44)
13565 pack_tmp = ior(pack_tmp, data_tmp)
13566 pack_tmp = ishft(pack_tmp, -20)
13568 data_tmp = full_data(idata)
13569 data_tmp = ishft(data_tmp, 44)
13570 pack_tmp = ior(pack_tmp, data_tmp)
13571 pack_tmp = ishft(pack_tmp, 0)
13573 data_tmp = full_data(idata)
13574 data_tmp = ishft(data_tmp, 44)
13575 data_tmp = iand(data_tmp, mask_left(0))
13576 pack_tmp = ior(pack_tmp, data_tmp)
13578 packed_data(ipack) = pack_tmp
13579 data_tmp = full_data(idata)
13580 pack_tmp = ishft(data_tmp, 44)
13581 pack_tmp = ishft(pack_tmp, -20)
13583 data_tmp = full_data(idata)
13584 data_tmp = ishft(data_tmp, 44)
13585 pack_tmp = ior(pack_tmp, data_tmp)
13586 pack_tmp = ishft(pack_tmp, -20)
13588 data_tmp = full_data(idata)
13589 data_tmp = ishft(data_tmp, 44)
13590 pack_tmp = ior(pack_tmp, data_tmp)
13591 pack_tmp = ishft(pack_tmp, -4)
13593 data_tmp = full_data(idata)
13594 data_tmp = ishft(data_tmp, 44)
13595 data_tmp = iand(data_tmp, mask_left(4))
13596 pack_tmp = ior(pack_tmp, data_tmp)
13598 packed_data(ipack) = pack_tmp
13599 data_tmp = full_data(idata)
13600 pack_tmp = ishft(data_tmp, 48)
13601 pack_tmp = ishft(pack_tmp, -20)
13603 data_tmp = full_data(idata)
13604 data_tmp = ishft(data_tmp, 44)
13605 pack_tmp = ior(pack_tmp, data_tmp)
13606 pack_tmp = ishft(pack_tmp, -20)
13608 data_tmp = full_data(idata)
13609 data_tmp = ishft(data_tmp, 44)
13610 pack_tmp = ior(pack_tmp, data_tmp)
13611 pack_tmp = ishft(pack_tmp, -8)
13613 data_tmp = full_data(idata)
13614 data_tmp = ishft(data_tmp, 44)
13615 data_tmp = iand(data_tmp, mask_left(8))
13616 pack_tmp = ior(pack_tmp, data_tmp)
13618 packed_data(ipack) = pack_tmp
13619 data_tmp = full_data(idata)
13620 pack_tmp = ishft(data_tmp, 52)
13621 pack_tmp = ishft(pack_tmp, -20)
13623 data_tmp = full_data(idata)
13624 data_tmp = ishft(data_tmp, 44)
13625 pack_tmp = ior(pack_tmp, data_tmp)
13626 pack_tmp = ishft(pack_tmp, -20)
13628 data_tmp = full_data(idata)
13629 data_tmp = ishft(data_tmp, 44)
13630 pack_tmp = ior(pack_tmp, data_tmp)
13631 pack_tmp = ishft(pack_tmp, -12)
13633 data_tmp = full_data(idata)
13634 data_tmp = ishft(data_tmp, 44)
13635 data_tmp = iand(data_tmp, mask_left(12))
13636 pack_tmp = ior(pack_tmp, data_tmp)
13638 packed_data(ipack) = pack_tmp
13639 data_tmp = full_data(idata)
13640 pack_tmp = ishft(data_tmp, 56)
13641 pack_tmp = ishft(pack_tmp, -20)
13643 data_tmp = full_data(idata)
13644 data_tmp = ishft(data_tmp, 44)
13645 pack_tmp = ior(pack_tmp, data_tmp)
13646 pack_tmp = ishft(pack_tmp, -20)
13648 data_tmp = full_data(idata)
13649 data_tmp = ishft(data_tmp, 44)
13650 pack_tmp = ior(pack_tmp, data_tmp)
13651 pack_tmp = ishft(pack_tmp, -16)
13653 data_tmp = full_data(idata)
13654 data_tmp = ishft(data_tmp, 44)
13655 data_tmp = iand(data_tmp, mask_left(16))
13656 pack_tmp = ior(pack_tmp, data_tmp)
13658 packed_data(ipack) = pack_tmp
13659 data_tmp = full_data(idata)
13660 pack_tmp = ishft(data_tmp, 60)
13661 pack_tmp = ishft(pack_tmp, -20)
13663 data_tmp = full_data(idata)
13664 data_tmp = ishft(data_tmp, 44)
13665 pack_tmp = ior(pack_tmp, data_tmp)
13666 pack_tmp = ishft(pack_tmp, -20)
13668 data_tmp = full_data(idata)
13669 data_tmp = ishft(data_tmp, 44)
13670 pack_tmp = ior(pack_tmp, data_tmp)
13671 pack_tmp = ishft(pack_tmp, -20)
13673 data_tmp = full_data(idata)
13674 data_tmp = ishft(data_tmp, 44)
13675 pack_tmp = ior(pack_tmp, data_tmp)
13676 pack_tmp = ishft(pack_tmp, 0)
13678 data_tmp = full_data(idata)
13679 data_tmp = ishft(data_tmp, 44)
13680 data_tmp = iand(data_tmp, mask_left(0))
13681 pack_tmp = ior(pack_tmp, data_tmp)
13683 packed_data(ipack) = pack_tmp
13684 data_tmp = full_data(idata)
13685 pack_tmp = ishft(data_tmp, 44)
13686 pack_tmp = ishft(pack_tmp, -20)
13688 data_tmp = full_data(idata)
13689 data_tmp = ishft(data_tmp, 44)
13690 pack_tmp = ior(pack_tmp, data_tmp)
13691 pack_tmp = ishft(pack_tmp, -20)
13693 data_tmp = full_data(idata)
13694 data_tmp = ishft(data_tmp, 44)
13695 pack_tmp = ior(pack_tmp, data_tmp)
13696 pack_tmp = ishft(pack_tmp, -4)
13698 data_tmp = full_data(idata)
13699 data_tmp = ishft(data_tmp, 44)
13700 data_tmp = iand(data_tmp, mask_left(4))
13701 pack_tmp = ior(pack_tmp, data_tmp)
13703 packed_data(ipack) = pack_tmp
13704 data_tmp = full_data(idata)
13705 pack_tmp = ishft(data_tmp, 48)
13706 pack_tmp = ishft(pack_tmp, -20)
13708 data_tmp = full_data(idata)
13709 data_tmp = ishft(data_tmp, 44)
13710 pack_tmp = ior(pack_tmp, data_tmp)
13711 pack_tmp = ishft(pack_tmp, -20)
13713 data_tmp = full_data(idata)
13714 data_tmp = ishft(data_tmp, 44)
13715 pack_tmp = ior(pack_tmp, data_tmp)
13716 pack_tmp = ishft(pack_tmp, -8)
13718 data_tmp = full_data(idata)
13719 data_tmp = ishft(data_tmp, 44)
13720 data_tmp = iand(data_tmp, mask_left(8))
13721 pack_tmp = ior(pack_tmp, data_tmp)
13723 packed_data(ipack) = pack_tmp
13724 data_tmp = full_data(idata)
13725 pack_tmp = ishft(data_tmp, 52)
13726 pack_tmp = ishft(pack_tmp, -20)
13728 data_tmp = full_data(idata)
13729 data_tmp = ishft(data_tmp, 44)
13730 pack_tmp = ior(pack_tmp, data_tmp)
13731 pack_tmp = ishft(pack_tmp, -20)
13733 data_tmp = full_data(idata)
13734 data_tmp = ishft(data_tmp, 44)
13735 pack_tmp = ior(pack_tmp, data_tmp)
13736 pack_tmp = ishft(pack_tmp, -12)
13738 data_tmp = full_data(idata)
13739 data_tmp = ishft(data_tmp, 44)
13740 data_tmp = iand(data_tmp, mask_left(12))
13741 pack_tmp = ior(pack_tmp, data_tmp)
13743 packed_data(ipack) = pack_tmp
13744 data_tmp = full_data(idata)
13745 pack_tmp = ishft(data_tmp, 56)
13746 pack_tmp = ishft(pack_tmp, -20)
13748 data_tmp = full_data(idata)
13749 data_tmp = ishft(data_tmp, 44)
13750 pack_tmp = ior(pack_tmp, data_tmp)
13751 pack_tmp = ishft(pack_tmp, -20)
13753 data_tmp = full_data(idata)
13754 data_tmp = ishft(data_tmp, 44)
13755 pack_tmp = ior(pack_tmp, data_tmp)
13756 pack_tmp = ishft(pack_tmp, -16)
13758 data_tmp = full_data(idata)
13759 data_tmp = ishft(data_tmp, 44)
13760 data_tmp = iand(data_tmp, mask_left(16))
13761 pack_tmp = ior(pack_tmp, data_tmp)
13763 packed_data(ipack) = pack_tmp
13764 data_tmp = full_data(idata)
13765 pack_tmp = ishft(data_tmp, 60)
13766 pack_tmp = ishft(pack_tmp, -20)
13768 data_tmp = full_data(idata)
13769 data_tmp = ishft(data_tmp, 44)
13770 pack_tmp = ior(pack_tmp, data_tmp)
13771 pack_tmp = ishft(pack_tmp, -20)
13773 data_tmp = full_data(idata)
13774 data_tmp = ishft(data_tmp, 44)
13775 pack_tmp = ior(pack_tmp, data_tmp)
13776 pack_tmp = ishft(pack_tmp, -20)
13778 data_tmp = full_data(idata)
13779 data_tmp = ishft(data_tmp, 44)
13780 pack_tmp = ior(pack_tmp, data_tmp)
13781 pack_tmp = ishft(pack_tmp, 0)
13783 data_tmp = full_data(idata)
13784 data_tmp = ishft(data_tmp, 44)
13785 data_tmp = iand(data_tmp, mask_left(0))
13786 pack_tmp = ior(pack_tmp, data_tmp)
13788 packed_data(ipack) = pack_tmp
13789 data_tmp = full_data(idata)
13790 pack_tmp = ishft(data_tmp, 44)
13791 pack_tmp = ishft(pack_tmp, -20)
13793 data_tmp = full_data(idata)
13794 data_tmp = ishft(data_tmp, 44)
13795 pack_tmp = ior(pack_tmp, data_tmp)
13796 pack_tmp = ishft(pack_tmp, -20)
13798 data_tmp = full_data(idata)
13799 data_tmp = ishft(data_tmp, 44)
13800 pack_tmp = ior(pack_tmp, data_tmp)
13801 pack_tmp = ishft(pack_tmp, -4)
13803 data_tmp = full_data(idata)
13804 data_tmp = ishft(data_tmp, 44)
13805 data_tmp = iand(data_tmp, mask_left(4))
13806 pack_tmp = ior(pack_tmp, data_tmp)
13808 packed_data(ipack) = pack_tmp
13809 data_tmp = full_data(idata)
13810 pack_tmp = ishft(data_tmp, 48)
13811 pack_tmp = ishft(pack_tmp, -20)
13813 data_tmp = full_data(idata)
13814 data_tmp = ishft(data_tmp, 44)
13815 pack_tmp = ior(pack_tmp, data_tmp)
13816 pack_tmp = ishft(pack_tmp, -20)
13818 data_tmp = full_data(idata)
13819 data_tmp = ishft(data_tmp, 44)
13820 pack_tmp = ior(pack_tmp, data_tmp)
13821 pack_tmp = ishft(pack_tmp, -8)
13823 data_tmp = full_data(idata)
13824 data_tmp = ishft(data_tmp, 44)
13825 data_tmp = iand(data_tmp, mask_left(8))
13826 pack_tmp = ior(pack_tmp, data_tmp)
13828 packed_data(ipack) = pack_tmp
13829 data_tmp = full_data(idata)
13830 pack_tmp = ishft(data_tmp, 52)
13831 pack_tmp = ishft(pack_tmp, -20)
13833 data_tmp = full_data(idata)
13834 data_tmp = ishft(data_tmp, 44)
13835 pack_tmp = ior(pack_tmp, data_tmp)
13836 pack_tmp = ishft(pack_tmp, -20)
13838 data_tmp = full_data(idata)
13839 data_tmp = ishft(data_tmp, 44)
13840 pack_tmp = ior(pack_tmp, data_tmp)
13841 pack_tmp = ishft(pack_tmp, -12)
13843 data_tmp = full_data(idata)
13844 data_tmp = ishft(data_tmp, 44)
13845 data_tmp = iand(data_tmp, mask_left(12))
13846 pack_tmp = ior(pack_tmp, data_tmp)
13848 packed_data(ipack) = pack_tmp
13849 data_tmp = full_data(idata)
13850 pack_tmp = ishft(data_tmp, 56)
13851 pack_tmp = ishft(pack_tmp, -20)
13853 data_tmp = full_data(idata)
13854 data_tmp = ishft(data_tmp, 44)
13855 pack_tmp = ior(pack_tmp, data_tmp)
13856 pack_tmp = ishft(pack_tmp, -20)
13858 data_tmp = full_data(idata)
13859 data_tmp = ishft(data_tmp, 44)
13860 pack_tmp = ior(pack_tmp, data_tmp)
13861 pack_tmp = ishft(pack_tmp, -16)
13863 data_tmp = full_data(idata)
13864 data_tmp = ishft(data_tmp, 44)
13865 data_tmp = iand(data_tmp, mask_left(16))
13866 pack_tmp = ior(pack_tmp, data_tmp)
13868 packed_data(ipack) = pack_tmp
13869 data_tmp = full_data(idata)
13870 pack_tmp = ishft(data_tmp, 60)
13871 pack_tmp = ishft(pack_tmp, -20)
13873 data_tmp = full_data(idata)
13874 data_tmp = ishft(data_tmp, 44)
13875 pack_tmp = ior(pack_tmp, data_tmp)
13876 pack_tmp = ishft(pack_tmp, -20)
13878 data_tmp = full_data(idata)
13879 data_tmp = ishft(data_tmp, 44)
13880 pack_tmp = ior(pack_tmp, data_tmp)
13881 pack_tmp = ishft(pack_tmp, -20)
13883 data_tmp = full_data(idata)
13884 data_tmp = ishft(data_tmp, 44)
13885 pack_tmp = ior(pack_tmp, data_tmp)
13886 pack_tmp = ishft(pack_tmp, 0)
13887 pack_tmp = ishft(pack_tmp, 0)
13889 packed_data(ipack) = pack_tmp
13891 IF (ndata_rep < ndata)
THEN
13892 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
13894 END SUBROUTINE ints2bits_20
13902 SUBROUTINE bits2ints_20(Ndata, packed_data, full_data)
13903 INTEGER,
INTENT(IN) :: Ndata
13904 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
13905 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
13907 INTEGER,
PARAMETER :: Nbits = 20
13909 INTEGER :: idata, ipack, kdata, Ndata_rep
13910 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
13915 ndata_rep = (ndata/64)*64
13916 DO kdata = 1, ndata_rep, 64
13918 data_tmp = ishft(pack_tmp, 20)
13920 pack_tmp = packed_data(ipack)
13921 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
13922 pack_tmp = ishft(pack_tmp, -20)
13924 data_tmp = iand(pack_tmp, mask_right(nbits))
13925 full_data(idata) = data_tmp
13926 pack_tmp = ishft(pack_tmp, -nbits)
13928 data_tmp = iand(pack_tmp, mask_right(nbits))
13929 full_data(idata) = data_tmp
13930 pack_tmp = ishft(pack_tmp, -nbits)
13932 data_tmp = ishft(pack_tmp, 16)
13934 pack_tmp = packed_data(ipack)
13935 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
13936 pack_tmp = ishft(pack_tmp, -16)
13938 data_tmp = iand(pack_tmp, mask_right(nbits))
13939 full_data(idata) = data_tmp
13940 pack_tmp = ishft(pack_tmp, -nbits)
13942 data_tmp = iand(pack_tmp, mask_right(nbits))
13943 full_data(idata) = data_tmp
13944 pack_tmp = ishft(pack_tmp, -nbits)
13946 data_tmp = ishft(pack_tmp, 12)
13948 pack_tmp = packed_data(ipack)
13949 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
13950 pack_tmp = ishft(pack_tmp, -12)
13952 data_tmp = iand(pack_tmp, mask_right(nbits))
13953 full_data(idata) = data_tmp
13954 pack_tmp = ishft(pack_tmp, -nbits)
13956 data_tmp = iand(pack_tmp, mask_right(nbits))
13957 full_data(idata) = data_tmp
13958 pack_tmp = ishft(pack_tmp, -nbits)
13960 data_tmp = ishft(pack_tmp, 8)
13962 pack_tmp = packed_data(ipack)
13963 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
13964 pack_tmp = ishft(pack_tmp, -8)
13966 data_tmp = iand(pack_tmp, mask_right(nbits))
13967 full_data(idata) = data_tmp
13968 pack_tmp = ishft(pack_tmp, -nbits)
13970 data_tmp = iand(pack_tmp, mask_right(nbits))
13971 full_data(idata) = data_tmp
13972 pack_tmp = ishft(pack_tmp, -nbits)
13974 data_tmp = ishft(pack_tmp, 4)
13976 pack_tmp = packed_data(ipack)
13977 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
13978 pack_tmp = ishft(pack_tmp, -4)
13980 data_tmp = iand(pack_tmp, mask_right(nbits))
13981 full_data(idata) = data_tmp
13982 pack_tmp = ishft(pack_tmp, -nbits)
13984 data_tmp = iand(pack_tmp, mask_right(nbits))
13985 full_data(idata) = data_tmp
13986 pack_tmp = ishft(pack_tmp, -nbits)
13988 data_tmp = iand(pack_tmp, mask_right(nbits))
13989 full_data(idata) = data_tmp
13990 pack_tmp = ishft(pack_tmp, -nbits)
13992 data_tmp = ishft(pack_tmp, 20)
13994 pack_tmp = packed_data(ipack)
13995 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
13996 pack_tmp = ishft(pack_tmp, -20)
13998 data_tmp = iand(pack_tmp, mask_right(nbits))
13999 full_data(idata) = data_tmp
14000 pack_tmp = ishft(pack_tmp, -nbits)
14002 data_tmp = iand(pack_tmp, mask_right(nbits))
14003 full_data(idata) = data_tmp
14004 pack_tmp = ishft(pack_tmp, -nbits)
14006 data_tmp = ishft(pack_tmp, 16)
14008 pack_tmp = packed_data(ipack)
14009 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
14010 pack_tmp = ishft(pack_tmp, -16)
14012 data_tmp = iand(pack_tmp, mask_right(nbits))
14013 full_data(idata) = data_tmp
14014 pack_tmp = ishft(pack_tmp, -nbits)
14016 data_tmp = iand(pack_tmp, mask_right(nbits))
14017 full_data(idata) = data_tmp
14018 pack_tmp = ishft(pack_tmp, -nbits)
14020 data_tmp = ishft(pack_tmp, 12)
14022 pack_tmp = packed_data(ipack)
14023 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
14024 pack_tmp = ishft(pack_tmp, -12)
14026 data_tmp = iand(pack_tmp, mask_right(nbits))
14027 full_data(idata) = data_tmp
14028 pack_tmp = ishft(pack_tmp, -nbits)
14030 data_tmp = iand(pack_tmp, mask_right(nbits))
14031 full_data(idata) = data_tmp
14032 pack_tmp = ishft(pack_tmp, -nbits)
14034 data_tmp = ishft(pack_tmp, 8)
14036 pack_tmp = packed_data(ipack)
14037 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
14038 pack_tmp = ishft(pack_tmp, -8)
14040 data_tmp = iand(pack_tmp, mask_right(nbits))
14041 full_data(idata) = data_tmp
14042 pack_tmp = ishft(pack_tmp, -nbits)
14044 data_tmp = iand(pack_tmp, mask_right(nbits))
14045 full_data(idata) = data_tmp
14046 pack_tmp = ishft(pack_tmp, -nbits)
14048 data_tmp = ishft(pack_tmp, 4)
14050 pack_tmp = packed_data(ipack)
14051 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
14052 pack_tmp = ishft(pack_tmp, -4)
14054 data_tmp = iand(pack_tmp, mask_right(nbits))
14055 full_data(idata) = data_tmp
14056 pack_tmp = ishft(pack_tmp, -nbits)
14058 data_tmp = iand(pack_tmp, mask_right(nbits))
14059 full_data(idata) = data_tmp
14060 pack_tmp = ishft(pack_tmp, -nbits)
14062 data_tmp = iand(pack_tmp, mask_right(nbits))
14063 full_data(idata) = data_tmp
14064 pack_tmp = ishft(pack_tmp, -nbits)
14066 data_tmp = ishft(pack_tmp, 20)
14068 pack_tmp = packed_data(ipack)
14069 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
14070 pack_tmp = ishft(pack_tmp, -20)
14072 data_tmp = iand(pack_tmp, mask_right(nbits))
14073 full_data(idata) = data_tmp
14074 pack_tmp = ishft(pack_tmp, -nbits)
14076 data_tmp = iand(pack_tmp, mask_right(nbits))
14077 full_data(idata) = data_tmp
14078 pack_tmp = ishft(pack_tmp, -nbits)
14080 data_tmp = ishft(pack_tmp, 16)
14082 pack_tmp = packed_data(ipack)
14083 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
14084 pack_tmp = ishft(pack_tmp, -16)
14086 data_tmp = iand(pack_tmp, mask_right(nbits))
14087 full_data(idata) = data_tmp
14088 pack_tmp = ishft(pack_tmp, -nbits)
14090 data_tmp = iand(pack_tmp, mask_right(nbits))
14091 full_data(idata) = data_tmp
14092 pack_tmp = ishft(pack_tmp, -nbits)
14094 data_tmp = ishft(pack_tmp, 12)
14096 pack_tmp = packed_data(ipack)
14097 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
14098 pack_tmp = ishft(pack_tmp, -12)
14100 data_tmp = iand(pack_tmp, mask_right(nbits))
14101 full_data(idata) = data_tmp
14102 pack_tmp = ishft(pack_tmp, -nbits)
14104 data_tmp = iand(pack_tmp, mask_right(nbits))
14105 full_data(idata) = data_tmp
14106 pack_tmp = ishft(pack_tmp, -nbits)
14108 data_tmp = ishft(pack_tmp, 8)
14110 pack_tmp = packed_data(ipack)
14111 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
14112 pack_tmp = ishft(pack_tmp, -8)
14114 data_tmp = iand(pack_tmp, mask_right(nbits))
14115 full_data(idata) = data_tmp
14116 pack_tmp = ishft(pack_tmp, -nbits)
14118 data_tmp = iand(pack_tmp, mask_right(nbits))
14119 full_data(idata) = data_tmp
14120 pack_tmp = ishft(pack_tmp, -nbits)
14122 data_tmp = ishft(pack_tmp, 4)
14124 pack_tmp = packed_data(ipack)
14125 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
14126 pack_tmp = ishft(pack_tmp, -4)
14128 data_tmp = iand(pack_tmp, mask_right(nbits))
14129 full_data(idata) = data_tmp
14130 pack_tmp = ishft(pack_tmp, -nbits)
14132 data_tmp = iand(pack_tmp, mask_right(nbits))
14133 full_data(idata) = data_tmp
14134 pack_tmp = ishft(pack_tmp, -nbits)
14136 data_tmp = iand(pack_tmp, mask_right(nbits))
14137 full_data(idata) = data_tmp
14138 pack_tmp = ishft(pack_tmp, -nbits)
14140 data_tmp = ishft(pack_tmp, 20)
14142 pack_tmp = packed_data(ipack)
14143 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
14144 pack_tmp = ishft(pack_tmp, -20)
14146 data_tmp = iand(pack_tmp, mask_right(nbits))
14147 full_data(idata) = data_tmp
14148 pack_tmp = ishft(pack_tmp, -nbits)
14150 data_tmp = iand(pack_tmp, mask_right(nbits))
14151 full_data(idata) = data_tmp
14152 pack_tmp = ishft(pack_tmp, -nbits)
14154 data_tmp = ishft(pack_tmp, 16)
14156 pack_tmp = packed_data(ipack)
14157 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
14158 pack_tmp = ishft(pack_tmp, -16)
14160 data_tmp = iand(pack_tmp, mask_right(nbits))
14161 full_data(idata) = data_tmp
14162 pack_tmp = ishft(pack_tmp, -nbits)
14164 data_tmp = iand(pack_tmp, mask_right(nbits))
14165 full_data(idata) = data_tmp
14166 pack_tmp = ishft(pack_tmp, -nbits)
14168 data_tmp = ishft(pack_tmp, 12)
14170 pack_tmp = packed_data(ipack)
14171 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
14172 pack_tmp = ishft(pack_tmp, -12)
14174 data_tmp = iand(pack_tmp, mask_right(nbits))
14175 full_data(idata) = data_tmp
14176 pack_tmp = ishft(pack_tmp, -nbits)
14178 data_tmp = iand(pack_tmp, mask_right(nbits))
14179 full_data(idata) = data_tmp
14180 pack_tmp = ishft(pack_tmp, -nbits)
14182 data_tmp = ishft(pack_tmp, 8)
14184 pack_tmp = packed_data(ipack)
14185 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
14186 pack_tmp = ishft(pack_tmp, -8)
14188 data_tmp = iand(pack_tmp, mask_right(nbits))
14189 full_data(idata) = data_tmp
14190 pack_tmp = ishft(pack_tmp, -nbits)
14192 data_tmp = iand(pack_tmp, mask_right(nbits))
14193 full_data(idata) = data_tmp
14194 pack_tmp = ishft(pack_tmp, -nbits)
14196 data_tmp = ishft(pack_tmp, 4)
14198 pack_tmp = packed_data(ipack)
14199 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
14200 pack_tmp = ishft(pack_tmp, -4)
14202 data_tmp = iand(pack_tmp, mask_right(nbits))
14203 full_data(idata) = data_tmp
14204 pack_tmp = ishft(pack_tmp, -nbits)
14206 data_tmp = iand(pack_tmp, mask_right(nbits))
14207 full_data(idata) = data_tmp
14208 pack_tmp = ishft(pack_tmp, -nbits)
14210 data_tmp = iand(pack_tmp, mask_right(nbits))
14211 full_data(idata) = data_tmp
14212 pack_tmp = ishft(pack_tmp, -nbits)
14214 IF (ndata_rep < ndata)
THEN
14215 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
14217 END SUBROUTINE bits2ints_20
14225 SUBROUTINE ints2bits_21(Ndata, packed_data, full_data)
14226 INTEGER,
INTENT(IN) :: Ndata
14227 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
14228 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
14230 INTEGER,
PARAMETER :: Nbits = 21
14232 INTEGER :: idata, ipack, kdata, Ndata_rep
14233 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
14237 ndata_rep = (ndata/64)*64
14238 DO kdata = 1, ndata_rep, 64
14241 data_tmp = full_data(idata)
14242 data_tmp = ishft(data_tmp, 43)
14243 pack_tmp = ior(pack_tmp, data_tmp)
14244 pack_tmp = ishft(pack_tmp, -21)
14246 data_tmp = full_data(idata)
14247 data_tmp = ishft(data_tmp, 43)
14248 pack_tmp = ior(pack_tmp, data_tmp)
14249 pack_tmp = ishft(pack_tmp, -21)
14251 data_tmp = full_data(idata)
14252 data_tmp = ishft(data_tmp, 43)
14253 pack_tmp = ior(pack_tmp, data_tmp)
14254 pack_tmp = ishft(pack_tmp, -1)
14256 data_tmp = full_data(idata)
14257 data_tmp = ishft(data_tmp, 43)
14258 data_tmp = iand(data_tmp, mask_left(1))
14259 pack_tmp = ior(pack_tmp, data_tmp)
14261 packed_data(ipack) = pack_tmp
14262 data_tmp = full_data(idata)
14263 pack_tmp = ishft(data_tmp, 44)
14264 pack_tmp = ishft(pack_tmp, -21)
14266 data_tmp = full_data(idata)
14267 data_tmp = ishft(data_tmp, 43)
14268 pack_tmp = ior(pack_tmp, data_tmp)
14269 pack_tmp = ishft(pack_tmp, -21)
14271 data_tmp = full_data(idata)
14272 data_tmp = ishft(data_tmp, 43)
14273 pack_tmp = ior(pack_tmp, data_tmp)
14274 pack_tmp = ishft(pack_tmp, -2)
14276 data_tmp = full_data(idata)
14277 data_tmp = ishft(data_tmp, 43)
14278 data_tmp = iand(data_tmp, mask_left(2))
14279 pack_tmp = ior(pack_tmp, data_tmp)
14281 packed_data(ipack) = pack_tmp
14282 data_tmp = full_data(idata)
14283 pack_tmp = ishft(data_tmp, 45)
14284 pack_tmp = ishft(pack_tmp, -21)
14286 data_tmp = full_data(idata)
14287 data_tmp = ishft(data_tmp, 43)
14288 pack_tmp = ior(pack_tmp, data_tmp)
14289 pack_tmp = ishft(pack_tmp, -21)
14291 data_tmp = full_data(idata)
14292 data_tmp = ishft(data_tmp, 43)
14293 pack_tmp = ior(pack_tmp, data_tmp)
14294 pack_tmp = ishft(pack_tmp, -3)
14296 data_tmp = full_data(idata)
14297 data_tmp = ishft(data_tmp, 43)
14298 data_tmp = iand(data_tmp, mask_left(3))
14299 pack_tmp = ior(pack_tmp, data_tmp)
14301 packed_data(ipack) = pack_tmp
14302 data_tmp = full_data(idata)
14303 pack_tmp = ishft(data_tmp, 46)
14304 pack_tmp = ishft(pack_tmp, -21)
14306 data_tmp = full_data(idata)
14307 data_tmp = ishft(data_tmp, 43)
14308 pack_tmp = ior(pack_tmp, data_tmp)
14309 pack_tmp = ishft(pack_tmp, -21)
14311 data_tmp = full_data(idata)
14312 data_tmp = ishft(data_tmp, 43)
14313 pack_tmp = ior(pack_tmp, data_tmp)
14314 pack_tmp = ishft(pack_tmp, -4)
14316 data_tmp = full_data(idata)
14317 data_tmp = ishft(data_tmp, 43)
14318 data_tmp = iand(data_tmp, mask_left(4))
14319 pack_tmp = ior(pack_tmp, data_tmp)
14321 packed_data(ipack) = pack_tmp
14322 data_tmp = full_data(idata)
14323 pack_tmp = ishft(data_tmp, 47)
14324 pack_tmp = ishft(pack_tmp, -21)
14326 data_tmp = full_data(idata)
14327 data_tmp = ishft(data_tmp, 43)
14328 pack_tmp = ior(pack_tmp, data_tmp)
14329 pack_tmp = ishft(pack_tmp, -21)
14331 data_tmp = full_data(idata)
14332 data_tmp = ishft(data_tmp, 43)
14333 pack_tmp = ior(pack_tmp, data_tmp)
14334 pack_tmp = ishft(pack_tmp, -5)
14336 data_tmp = full_data(idata)
14337 data_tmp = ishft(data_tmp, 43)
14338 data_tmp = iand(data_tmp, mask_left(5))
14339 pack_tmp = ior(pack_tmp, data_tmp)
14341 packed_data(ipack) = pack_tmp
14342 data_tmp = full_data(idata)
14343 pack_tmp = ishft(data_tmp, 48)
14344 pack_tmp = ishft(pack_tmp, -21)
14346 data_tmp = full_data(idata)
14347 data_tmp = ishft(data_tmp, 43)
14348 pack_tmp = ior(pack_tmp, data_tmp)
14349 pack_tmp = ishft(pack_tmp, -21)
14351 data_tmp = full_data(idata)
14352 data_tmp = ishft(data_tmp, 43)
14353 pack_tmp = ior(pack_tmp, data_tmp)
14354 pack_tmp = ishft(pack_tmp, -6)
14356 data_tmp = full_data(idata)
14357 data_tmp = ishft(data_tmp, 43)
14358 data_tmp = iand(data_tmp, mask_left(6))
14359 pack_tmp = ior(pack_tmp, data_tmp)
14361 packed_data(ipack) = pack_tmp
14362 data_tmp = full_data(idata)
14363 pack_tmp = ishft(data_tmp, 49)
14364 pack_tmp = ishft(pack_tmp, -21)
14366 data_tmp = full_data(idata)
14367 data_tmp = ishft(data_tmp, 43)
14368 pack_tmp = ior(pack_tmp, data_tmp)
14369 pack_tmp = ishft(pack_tmp, -21)
14371 data_tmp = full_data(idata)
14372 data_tmp = ishft(data_tmp, 43)
14373 pack_tmp = ior(pack_tmp, data_tmp)
14374 pack_tmp = ishft(pack_tmp, -7)
14376 data_tmp = full_data(idata)
14377 data_tmp = ishft(data_tmp, 43)
14378 data_tmp = iand(data_tmp, mask_left(7))
14379 pack_tmp = ior(pack_tmp, data_tmp)
14381 packed_data(ipack) = pack_tmp
14382 data_tmp = full_data(idata)
14383 pack_tmp = ishft(data_tmp, 50)
14384 pack_tmp = ishft(pack_tmp, -21)
14386 data_tmp = full_data(idata)
14387 data_tmp = ishft(data_tmp, 43)
14388 pack_tmp = ior(pack_tmp, data_tmp)
14389 pack_tmp = ishft(pack_tmp, -21)
14391 data_tmp = full_data(idata)
14392 data_tmp = ishft(data_tmp, 43)
14393 pack_tmp = ior(pack_tmp, data_tmp)
14394 pack_tmp = ishft(pack_tmp, -8)
14396 data_tmp = full_data(idata)
14397 data_tmp = ishft(data_tmp, 43)
14398 data_tmp = iand(data_tmp, mask_left(8))
14399 pack_tmp = ior(pack_tmp, data_tmp)
14401 packed_data(ipack) = pack_tmp
14402 data_tmp = full_data(idata)
14403 pack_tmp = ishft(data_tmp, 51)
14404 pack_tmp = ishft(pack_tmp, -21)
14406 data_tmp = full_data(idata)
14407 data_tmp = ishft(data_tmp, 43)
14408 pack_tmp = ior(pack_tmp, data_tmp)
14409 pack_tmp = ishft(pack_tmp, -21)
14411 data_tmp = full_data(idata)
14412 data_tmp = ishft(data_tmp, 43)
14413 pack_tmp = ior(pack_tmp, data_tmp)
14414 pack_tmp = ishft(pack_tmp, -9)
14416 data_tmp = full_data(idata)
14417 data_tmp = ishft(data_tmp, 43)
14418 data_tmp = iand(data_tmp, mask_left(9))
14419 pack_tmp = ior(pack_tmp, data_tmp)
14421 packed_data(ipack) = pack_tmp
14422 data_tmp = full_data(idata)
14423 pack_tmp = ishft(data_tmp, 52)
14424 pack_tmp = ishft(pack_tmp, -21)
14426 data_tmp = full_data(idata)
14427 data_tmp = ishft(data_tmp, 43)
14428 pack_tmp = ior(pack_tmp, data_tmp)
14429 pack_tmp = ishft(pack_tmp, -21)
14431 data_tmp = full_data(idata)
14432 data_tmp = ishft(data_tmp, 43)
14433 pack_tmp = ior(pack_tmp, data_tmp)
14434 pack_tmp = ishft(pack_tmp, -10)
14436 data_tmp = full_data(idata)
14437 data_tmp = ishft(data_tmp, 43)
14438 data_tmp = iand(data_tmp, mask_left(10))
14439 pack_tmp = ior(pack_tmp, data_tmp)
14441 packed_data(ipack) = pack_tmp
14442 data_tmp = full_data(idata)
14443 pack_tmp = ishft(data_tmp, 53)
14444 pack_tmp = ishft(pack_tmp, -21)
14446 data_tmp = full_data(idata)
14447 data_tmp = ishft(data_tmp, 43)
14448 pack_tmp = ior(pack_tmp, data_tmp)
14449 pack_tmp = ishft(pack_tmp, -21)
14451 data_tmp = full_data(idata)
14452 data_tmp = ishft(data_tmp, 43)
14453 pack_tmp = ior(pack_tmp, data_tmp)
14454 pack_tmp = ishft(pack_tmp, -11)
14456 data_tmp = full_data(idata)
14457 data_tmp = ishft(data_tmp, 43)
14458 data_tmp = iand(data_tmp, mask_left(11))
14459 pack_tmp = ior(pack_tmp, data_tmp)
14461 packed_data(ipack) = pack_tmp
14462 data_tmp = full_data(idata)
14463 pack_tmp = ishft(data_tmp, 54)
14464 pack_tmp = ishft(pack_tmp, -21)
14466 data_tmp = full_data(idata)
14467 data_tmp = ishft(data_tmp, 43)
14468 pack_tmp = ior(pack_tmp, data_tmp)
14469 pack_tmp = ishft(pack_tmp, -21)
14471 data_tmp = full_data(idata)
14472 data_tmp = ishft(data_tmp, 43)
14473 pack_tmp = ior(pack_tmp, data_tmp)
14474 pack_tmp = ishft(pack_tmp, -12)
14476 data_tmp = full_data(idata)
14477 data_tmp = ishft(data_tmp, 43)
14478 data_tmp = iand(data_tmp, mask_left(12))
14479 pack_tmp = ior(pack_tmp, data_tmp)
14481 packed_data(ipack) = pack_tmp
14482 data_tmp = full_data(idata)
14483 pack_tmp = ishft(data_tmp, 55)
14484 pack_tmp = ishft(pack_tmp, -21)
14486 data_tmp = full_data(idata)
14487 data_tmp = ishft(data_tmp, 43)
14488 pack_tmp = ior(pack_tmp, data_tmp)
14489 pack_tmp = ishft(pack_tmp, -21)
14491 data_tmp = full_data(idata)
14492 data_tmp = ishft(data_tmp, 43)
14493 pack_tmp = ior(pack_tmp, data_tmp)
14494 pack_tmp = ishft(pack_tmp, -13)
14496 data_tmp = full_data(idata)
14497 data_tmp = ishft(data_tmp, 43)
14498 data_tmp = iand(data_tmp, mask_left(13))
14499 pack_tmp = ior(pack_tmp, data_tmp)
14501 packed_data(ipack) = pack_tmp
14502 data_tmp = full_data(idata)
14503 pack_tmp = ishft(data_tmp, 56)
14504 pack_tmp = ishft(pack_tmp, -21)
14506 data_tmp = full_data(idata)
14507 data_tmp = ishft(data_tmp, 43)
14508 pack_tmp = ior(pack_tmp, data_tmp)
14509 pack_tmp = ishft(pack_tmp, -21)
14511 data_tmp = full_data(idata)
14512 data_tmp = ishft(data_tmp, 43)
14513 pack_tmp = ior(pack_tmp, data_tmp)
14514 pack_tmp = ishft(pack_tmp, -14)
14516 data_tmp = full_data(idata)
14517 data_tmp = ishft(data_tmp, 43)
14518 data_tmp = iand(data_tmp, mask_left(14))
14519 pack_tmp = ior(pack_tmp, data_tmp)
14521 packed_data(ipack) = pack_tmp
14522 data_tmp = full_data(idata)
14523 pack_tmp = ishft(data_tmp, 57)
14524 pack_tmp = ishft(pack_tmp, -21)
14526 data_tmp = full_data(idata)
14527 data_tmp = ishft(data_tmp, 43)
14528 pack_tmp = ior(pack_tmp, data_tmp)
14529 pack_tmp = ishft(pack_tmp, -21)
14531 data_tmp = full_data(idata)
14532 data_tmp = ishft(data_tmp, 43)
14533 pack_tmp = ior(pack_tmp, data_tmp)
14534 pack_tmp = ishft(pack_tmp, -15)
14536 data_tmp = full_data(idata)
14537 data_tmp = ishft(data_tmp, 43)
14538 data_tmp = iand(data_tmp, mask_left(15))
14539 pack_tmp = ior(pack_tmp, data_tmp)
14541 packed_data(ipack) = pack_tmp
14542 data_tmp = full_data(idata)
14543 pack_tmp = ishft(data_tmp, 58)
14544 pack_tmp = ishft(pack_tmp, -21)
14546 data_tmp = full_data(idata)
14547 data_tmp = ishft(data_tmp, 43)
14548 pack_tmp = ior(pack_tmp, data_tmp)
14549 pack_tmp = ishft(pack_tmp, -21)
14551 data_tmp = full_data(idata)
14552 data_tmp = ishft(data_tmp, 43)
14553 pack_tmp = ior(pack_tmp, data_tmp)
14554 pack_tmp = ishft(pack_tmp, -16)
14556 data_tmp = full_data(idata)
14557 data_tmp = ishft(data_tmp, 43)
14558 data_tmp = iand(data_tmp, mask_left(16))
14559 pack_tmp = ior(pack_tmp, data_tmp)
14561 packed_data(ipack) = pack_tmp
14562 data_tmp = full_data(idata)
14563 pack_tmp = ishft(data_tmp, 59)
14564 pack_tmp = ishft(pack_tmp, -21)
14566 data_tmp = full_data(idata)
14567 data_tmp = ishft(data_tmp, 43)
14568 pack_tmp = ior(pack_tmp, data_tmp)
14569 pack_tmp = ishft(pack_tmp, -21)
14571 data_tmp = full_data(idata)
14572 data_tmp = ishft(data_tmp, 43)
14573 pack_tmp = ior(pack_tmp, data_tmp)
14574 pack_tmp = ishft(pack_tmp, -17)
14576 data_tmp = full_data(idata)
14577 data_tmp = ishft(data_tmp, 43)
14578 data_tmp = iand(data_tmp, mask_left(17))
14579 pack_tmp = ior(pack_tmp, data_tmp)
14581 packed_data(ipack) = pack_tmp
14582 data_tmp = full_data(idata)
14583 pack_tmp = ishft(data_tmp, 60)
14584 pack_tmp = ishft(pack_tmp, -21)
14586 data_tmp = full_data(idata)
14587 data_tmp = ishft(data_tmp, 43)
14588 pack_tmp = ior(pack_tmp, data_tmp)
14589 pack_tmp = ishft(pack_tmp, -21)
14591 data_tmp = full_data(idata)
14592 data_tmp = ishft(data_tmp, 43)
14593 pack_tmp = ior(pack_tmp, data_tmp)
14594 pack_tmp = ishft(pack_tmp, -18)
14596 data_tmp = full_data(idata)
14597 data_tmp = ishft(data_tmp, 43)
14598 data_tmp = iand(data_tmp, mask_left(18))
14599 pack_tmp = ior(pack_tmp, data_tmp)
14601 packed_data(ipack) = pack_tmp
14602 data_tmp = full_data(idata)
14603 pack_tmp = ishft(data_tmp, 61)
14604 pack_tmp = ishft(pack_tmp, -21)
14606 data_tmp = full_data(idata)
14607 data_tmp = ishft(data_tmp, 43)
14608 pack_tmp = ior(pack_tmp, data_tmp)
14609 pack_tmp = ishft(pack_tmp, -21)
14611 data_tmp = full_data(idata)
14612 data_tmp = ishft(data_tmp, 43)
14613 pack_tmp = ior(pack_tmp, data_tmp)
14614 pack_tmp = ishft(pack_tmp, -19)
14616 data_tmp = full_data(idata)
14617 data_tmp = ishft(data_tmp, 43)
14618 data_tmp = iand(data_tmp, mask_left(19))
14619 pack_tmp = ior(pack_tmp, data_tmp)
14621 packed_data(ipack) = pack_tmp
14622 data_tmp = full_data(idata)
14623 pack_tmp = ishft(data_tmp, 62)
14624 pack_tmp = ishft(pack_tmp, -21)
14626 data_tmp = full_data(idata)
14627 data_tmp = ishft(data_tmp, 43)
14628 pack_tmp = ior(pack_tmp, data_tmp)
14629 pack_tmp = ishft(pack_tmp, -21)
14631 data_tmp = full_data(idata)
14632 data_tmp = ishft(data_tmp, 43)
14633 pack_tmp = ior(pack_tmp, data_tmp)
14634 pack_tmp = ishft(pack_tmp, -20)
14636 data_tmp = full_data(idata)
14637 data_tmp = ishft(data_tmp, 43)
14638 data_tmp = iand(data_tmp, mask_left(20))
14639 pack_tmp = ior(pack_tmp, data_tmp)
14641 packed_data(ipack) = pack_tmp
14642 data_tmp = full_data(idata)
14643 pack_tmp = ishft(data_tmp, 63)
14644 pack_tmp = ishft(pack_tmp, -21)
14646 data_tmp = full_data(idata)
14647 data_tmp = ishft(data_tmp, 43)
14648 pack_tmp = ior(pack_tmp, data_tmp)
14649 pack_tmp = ishft(pack_tmp, -21)
14651 data_tmp = full_data(idata)
14652 data_tmp = ishft(data_tmp, 43)
14653 pack_tmp = ior(pack_tmp, data_tmp)
14654 pack_tmp = ishft(pack_tmp, -21)
14656 data_tmp = full_data(idata)
14657 data_tmp = ishft(data_tmp, 43)
14658 pack_tmp = ior(pack_tmp, data_tmp)
14659 pack_tmp = ishft(pack_tmp, 0)
14660 pack_tmp = ishft(pack_tmp, 0)
14662 packed_data(ipack) = pack_tmp
14664 IF (ndata_rep < ndata)
THEN
14665 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
14667 END SUBROUTINE ints2bits_21
14675 SUBROUTINE bits2ints_21(Ndata, packed_data, full_data)
14676 INTEGER,
INTENT(IN) :: Ndata
14677 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
14678 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
14680 INTEGER,
PARAMETER :: Nbits = 21
14682 INTEGER :: idata, ipack, kdata, Ndata_rep
14683 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
14688 ndata_rep = (ndata/64)*64
14689 DO kdata = 1, ndata_rep, 64
14691 data_tmp = ishft(pack_tmp, 21)
14693 pack_tmp = packed_data(ipack)
14694 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
14695 pack_tmp = ishft(pack_tmp, -21)
14697 data_tmp = iand(pack_tmp, mask_right(nbits))
14698 full_data(idata) = data_tmp
14699 pack_tmp = ishft(pack_tmp, -nbits)
14701 data_tmp = iand(pack_tmp, mask_right(nbits))
14702 full_data(idata) = data_tmp
14703 pack_tmp = ishft(pack_tmp, -nbits)
14705 data_tmp = ishft(pack_tmp, 20)
14707 pack_tmp = packed_data(ipack)
14708 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
14709 pack_tmp = ishft(pack_tmp, -20)
14711 data_tmp = iand(pack_tmp, mask_right(nbits))
14712 full_data(idata) = data_tmp
14713 pack_tmp = ishft(pack_tmp, -nbits)
14715 data_tmp = iand(pack_tmp, mask_right(nbits))
14716 full_data(idata) = data_tmp
14717 pack_tmp = ishft(pack_tmp, -nbits)
14719 data_tmp = ishft(pack_tmp, 19)
14721 pack_tmp = packed_data(ipack)
14722 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
14723 pack_tmp = ishft(pack_tmp, -19)
14725 data_tmp = iand(pack_tmp, mask_right(nbits))
14726 full_data(idata) = data_tmp
14727 pack_tmp = ishft(pack_tmp, -nbits)
14729 data_tmp = iand(pack_tmp, mask_right(nbits))
14730 full_data(idata) = data_tmp
14731 pack_tmp = ishft(pack_tmp, -nbits)
14733 data_tmp = ishft(pack_tmp, 18)
14735 pack_tmp = packed_data(ipack)
14736 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
14737 pack_tmp = ishft(pack_tmp, -18)
14739 data_tmp = iand(pack_tmp, mask_right(nbits))
14740 full_data(idata) = data_tmp
14741 pack_tmp = ishft(pack_tmp, -nbits)
14743 data_tmp = iand(pack_tmp, mask_right(nbits))
14744 full_data(idata) = data_tmp
14745 pack_tmp = ishft(pack_tmp, -nbits)
14747 data_tmp = ishft(pack_tmp, 17)
14749 pack_tmp = packed_data(ipack)
14750 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
14751 pack_tmp = ishft(pack_tmp, -17)
14753 data_tmp = iand(pack_tmp, mask_right(nbits))
14754 full_data(idata) = data_tmp
14755 pack_tmp = ishft(pack_tmp, -nbits)
14757 data_tmp = iand(pack_tmp, mask_right(nbits))
14758 full_data(idata) = data_tmp
14759 pack_tmp = ishft(pack_tmp, -nbits)
14761 data_tmp = ishft(pack_tmp, 16)
14763 pack_tmp = packed_data(ipack)
14764 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
14765 pack_tmp = ishft(pack_tmp, -16)
14767 data_tmp = iand(pack_tmp, mask_right(nbits))
14768 full_data(idata) = data_tmp
14769 pack_tmp = ishft(pack_tmp, -nbits)
14771 data_tmp = iand(pack_tmp, mask_right(nbits))
14772 full_data(idata) = data_tmp
14773 pack_tmp = ishft(pack_tmp, -nbits)
14775 data_tmp = ishft(pack_tmp, 15)
14777 pack_tmp = packed_data(ipack)
14778 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
14779 pack_tmp = ishft(pack_tmp, -15)
14781 data_tmp = iand(pack_tmp, mask_right(nbits))
14782 full_data(idata) = data_tmp
14783 pack_tmp = ishft(pack_tmp, -nbits)
14785 data_tmp = iand(pack_tmp, mask_right(nbits))
14786 full_data(idata) = data_tmp
14787 pack_tmp = ishft(pack_tmp, -nbits)
14789 data_tmp = ishft(pack_tmp, 14)
14791 pack_tmp = packed_data(ipack)
14792 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
14793 pack_tmp = ishft(pack_tmp, -14)
14795 data_tmp = iand(pack_tmp, mask_right(nbits))
14796 full_data(idata) = data_tmp
14797 pack_tmp = ishft(pack_tmp, -nbits)
14799 data_tmp = iand(pack_tmp, mask_right(nbits))
14800 full_data(idata) = data_tmp
14801 pack_tmp = ishft(pack_tmp, -nbits)
14803 data_tmp = ishft(pack_tmp, 13)
14805 pack_tmp = packed_data(ipack)
14806 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
14807 pack_tmp = ishft(pack_tmp, -13)
14809 data_tmp = iand(pack_tmp, mask_right(nbits))
14810 full_data(idata) = data_tmp
14811 pack_tmp = ishft(pack_tmp, -nbits)
14813 data_tmp = iand(pack_tmp, mask_right(nbits))
14814 full_data(idata) = data_tmp
14815 pack_tmp = ishft(pack_tmp, -nbits)
14817 data_tmp = ishft(pack_tmp, 12)
14819 pack_tmp = packed_data(ipack)
14820 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
14821 pack_tmp = ishft(pack_tmp, -12)
14823 data_tmp = iand(pack_tmp, mask_right(nbits))
14824 full_data(idata) = data_tmp
14825 pack_tmp = ishft(pack_tmp, -nbits)
14827 data_tmp = iand(pack_tmp, mask_right(nbits))
14828 full_data(idata) = data_tmp
14829 pack_tmp = ishft(pack_tmp, -nbits)
14831 data_tmp = ishft(pack_tmp, 11)
14833 pack_tmp = packed_data(ipack)
14834 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
14835 pack_tmp = ishft(pack_tmp, -11)
14837 data_tmp = iand(pack_tmp, mask_right(nbits))
14838 full_data(idata) = data_tmp
14839 pack_tmp = ishft(pack_tmp, -nbits)
14841 data_tmp = iand(pack_tmp, mask_right(nbits))
14842 full_data(idata) = data_tmp
14843 pack_tmp = ishft(pack_tmp, -nbits)
14845 data_tmp = ishft(pack_tmp, 10)
14847 pack_tmp = packed_data(ipack)
14848 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
14849 pack_tmp = ishft(pack_tmp, -10)
14851 data_tmp = iand(pack_tmp, mask_right(nbits))
14852 full_data(idata) = data_tmp
14853 pack_tmp = ishft(pack_tmp, -nbits)
14855 data_tmp = iand(pack_tmp, mask_right(nbits))
14856 full_data(idata) = data_tmp
14857 pack_tmp = ishft(pack_tmp, -nbits)
14859 data_tmp = ishft(pack_tmp, 9)
14861 pack_tmp = packed_data(ipack)
14862 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
14863 pack_tmp = ishft(pack_tmp, -9)
14865 data_tmp = iand(pack_tmp, mask_right(nbits))
14866 full_data(idata) = data_tmp
14867 pack_tmp = ishft(pack_tmp, -nbits)
14869 data_tmp = iand(pack_tmp, mask_right(nbits))
14870 full_data(idata) = data_tmp
14871 pack_tmp = ishft(pack_tmp, -nbits)
14873 data_tmp = ishft(pack_tmp, 8)
14875 pack_tmp = packed_data(ipack)
14876 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
14877 pack_tmp = ishft(pack_tmp, -8)
14879 data_tmp = iand(pack_tmp, mask_right(nbits))
14880 full_data(idata) = data_tmp
14881 pack_tmp = ishft(pack_tmp, -nbits)
14883 data_tmp = iand(pack_tmp, mask_right(nbits))
14884 full_data(idata) = data_tmp
14885 pack_tmp = ishft(pack_tmp, -nbits)
14887 data_tmp = ishft(pack_tmp, 7)
14889 pack_tmp = packed_data(ipack)
14890 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
14891 pack_tmp = ishft(pack_tmp, -7)
14893 data_tmp = iand(pack_tmp, mask_right(nbits))
14894 full_data(idata) = data_tmp
14895 pack_tmp = ishft(pack_tmp, -nbits)
14897 data_tmp = iand(pack_tmp, mask_right(nbits))
14898 full_data(idata) = data_tmp
14899 pack_tmp = ishft(pack_tmp, -nbits)
14901 data_tmp = ishft(pack_tmp, 6)
14903 pack_tmp = packed_data(ipack)
14904 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
14905 pack_tmp = ishft(pack_tmp, -6)
14907 data_tmp = iand(pack_tmp, mask_right(nbits))
14908 full_data(idata) = data_tmp
14909 pack_tmp = ishft(pack_tmp, -nbits)
14911 data_tmp = iand(pack_tmp, mask_right(nbits))
14912 full_data(idata) = data_tmp
14913 pack_tmp = ishft(pack_tmp, -nbits)
14915 data_tmp = ishft(pack_tmp, 5)
14917 pack_tmp = packed_data(ipack)
14918 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
14919 pack_tmp = ishft(pack_tmp, -5)
14921 data_tmp = iand(pack_tmp, mask_right(nbits))
14922 full_data(idata) = data_tmp
14923 pack_tmp = ishft(pack_tmp, -nbits)
14925 data_tmp = iand(pack_tmp, mask_right(nbits))
14926 full_data(idata) = data_tmp
14927 pack_tmp = ishft(pack_tmp, -nbits)
14929 data_tmp = ishft(pack_tmp, 4)
14931 pack_tmp = packed_data(ipack)
14932 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
14933 pack_tmp = ishft(pack_tmp, -4)
14935 data_tmp = iand(pack_tmp, mask_right(nbits))
14936 full_data(idata) = data_tmp
14937 pack_tmp = ishft(pack_tmp, -nbits)
14939 data_tmp = iand(pack_tmp, mask_right(nbits))
14940 full_data(idata) = data_tmp
14941 pack_tmp = ishft(pack_tmp, -nbits)
14943 data_tmp = ishft(pack_tmp, 3)
14945 pack_tmp = packed_data(ipack)
14946 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
14947 pack_tmp = ishft(pack_tmp, -3)
14949 data_tmp = iand(pack_tmp, mask_right(nbits))
14950 full_data(idata) = data_tmp
14951 pack_tmp = ishft(pack_tmp, -nbits)
14953 data_tmp = iand(pack_tmp, mask_right(nbits))
14954 full_data(idata) = data_tmp
14955 pack_tmp = ishft(pack_tmp, -nbits)
14957 data_tmp = ishft(pack_tmp, 2)
14959 pack_tmp = packed_data(ipack)
14960 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
14961 pack_tmp = ishft(pack_tmp, -2)
14963 data_tmp = iand(pack_tmp, mask_right(nbits))
14964 full_data(idata) = data_tmp
14965 pack_tmp = ishft(pack_tmp, -nbits)
14967 data_tmp = iand(pack_tmp, mask_right(nbits))
14968 full_data(idata) = data_tmp
14969 pack_tmp = ishft(pack_tmp, -nbits)
14971 data_tmp = ishft(pack_tmp, 1)
14973 pack_tmp = packed_data(ipack)
14974 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
14975 pack_tmp = ishft(pack_tmp, -1)
14977 data_tmp = iand(pack_tmp, mask_right(nbits))
14978 full_data(idata) = data_tmp
14979 pack_tmp = ishft(pack_tmp, -nbits)
14981 data_tmp = iand(pack_tmp, mask_right(nbits))
14982 full_data(idata) = data_tmp
14983 pack_tmp = ishft(pack_tmp, -nbits)
14985 data_tmp = iand(pack_tmp, mask_right(nbits))
14986 full_data(idata) = data_tmp
14987 pack_tmp = ishft(pack_tmp, -nbits)
14989 IF (ndata_rep < ndata)
THEN
14990 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
14992 END SUBROUTINE bits2ints_21
15000 SUBROUTINE ints2bits_22(Ndata, packed_data, full_data)
15001 INTEGER,
INTENT(IN) :: Ndata
15002 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
15003 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
15005 INTEGER,
PARAMETER :: Nbits = 22
15007 INTEGER :: idata, ipack, kdata, Ndata_rep
15008 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
15012 ndata_rep = (ndata/64)*64
15013 DO kdata = 1, ndata_rep, 64
15016 data_tmp = full_data(idata)
15017 data_tmp = ishft(data_tmp, 42)
15018 pack_tmp = ior(pack_tmp, data_tmp)
15019 pack_tmp = ishft(pack_tmp, -22)
15021 data_tmp = full_data(idata)
15022 data_tmp = ishft(data_tmp, 42)
15023 pack_tmp = ior(pack_tmp, data_tmp)
15024 pack_tmp = ishft(pack_tmp, -20)
15026 data_tmp = full_data(idata)
15027 data_tmp = ishft(data_tmp, 42)
15028 data_tmp = iand(data_tmp, mask_left(20))
15029 pack_tmp = ior(pack_tmp, data_tmp)
15031 packed_data(ipack) = pack_tmp
15032 data_tmp = full_data(idata)
15033 pack_tmp = ishft(data_tmp, 62)
15034 pack_tmp = ishft(pack_tmp, -22)
15036 data_tmp = full_data(idata)
15037 data_tmp = ishft(data_tmp, 42)
15038 pack_tmp = ior(pack_tmp, data_tmp)
15039 pack_tmp = ishft(pack_tmp, -22)
15041 data_tmp = full_data(idata)
15042 data_tmp = ishft(data_tmp, 42)
15043 pack_tmp = ior(pack_tmp, data_tmp)
15044 pack_tmp = ishft(pack_tmp, -18)
15046 data_tmp = full_data(idata)
15047 data_tmp = ishft(data_tmp, 42)
15048 data_tmp = iand(data_tmp, mask_left(18))
15049 pack_tmp = ior(pack_tmp, data_tmp)
15051 packed_data(ipack) = pack_tmp
15052 data_tmp = full_data(idata)
15053 pack_tmp = ishft(data_tmp, 60)
15054 pack_tmp = ishft(pack_tmp, -22)
15056 data_tmp = full_data(idata)
15057 data_tmp = ishft(data_tmp, 42)
15058 pack_tmp = ior(pack_tmp, data_tmp)
15059 pack_tmp = ishft(pack_tmp, -22)
15061 data_tmp = full_data(idata)
15062 data_tmp = ishft(data_tmp, 42)
15063 pack_tmp = ior(pack_tmp, data_tmp)
15064 pack_tmp = ishft(pack_tmp, -16)
15066 data_tmp = full_data(idata)
15067 data_tmp = ishft(data_tmp, 42)
15068 data_tmp = iand(data_tmp, mask_left(16))
15069 pack_tmp = ior(pack_tmp, data_tmp)
15071 packed_data(ipack) = pack_tmp
15072 data_tmp = full_data(idata)
15073 pack_tmp = ishft(data_tmp, 58)
15074 pack_tmp = ishft(pack_tmp, -22)
15076 data_tmp = full_data(idata)
15077 data_tmp = ishft(data_tmp, 42)
15078 pack_tmp = ior(pack_tmp, data_tmp)
15079 pack_tmp = ishft(pack_tmp, -22)
15081 data_tmp = full_data(idata)
15082 data_tmp = ishft(data_tmp, 42)
15083 pack_tmp = ior(pack_tmp, data_tmp)
15084 pack_tmp = ishft(pack_tmp, -14)
15086 data_tmp = full_data(idata)
15087 data_tmp = ishft(data_tmp, 42)
15088 data_tmp = iand(data_tmp, mask_left(14))
15089 pack_tmp = ior(pack_tmp, data_tmp)
15091 packed_data(ipack) = pack_tmp
15092 data_tmp = full_data(idata)
15093 pack_tmp = ishft(data_tmp, 56)
15094 pack_tmp = ishft(pack_tmp, -22)
15096 data_tmp = full_data(idata)
15097 data_tmp = ishft(data_tmp, 42)
15098 pack_tmp = ior(pack_tmp, data_tmp)
15099 pack_tmp = ishft(pack_tmp, -22)
15101 data_tmp = full_data(idata)
15102 data_tmp = ishft(data_tmp, 42)
15103 pack_tmp = ior(pack_tmp, data_tmp)
15104 pack_tmp = ishft(pack_tmp, -12)
15106 data_tmp = full_data(idata)
15107 data_tmp = ishft(data_tmp, 42)
15108 data_tmp = iand(data_tmp, mask_left(12))
15109 pack_tmp = ior(pack_tmp, data_tmp)
15111 packed_data(ipack) = pack_tmp
15112 data_tmp = full_data(idata)
15113 pack_tmp = ishft(data_tmp, 54)
15114 pack_tmp = ishft(pack_tmp, -22)
15116 data_tmp = full_data(idata)
15117 data_tmp = ishft(data_tmp, 42)
15118 pack_tmp = ior(pack_tmp, data_tmp)
15119 pack_tmp = ishft(pack_tmp, -22)
15121 data_tmp = full_data(idata)
15122 data_tmp = ishft(data_tmp, 42)
15123 pack_tmp = ior(pack_tmp, data_tmp)
15124 pack_tmp = ishft(pack_tmp, -10)
15126 data_tmp = full_data(idata)
15127 data_tmp = ishft(data_tmp, 42)
15128 data_tmp = iand(data_tmp, mask_left(10))
15129 pack_tmp = ior(pack_tmp, data_tmp)
15131 packed_data(ipack) = pack_tmp
15132 data_tmp = full_data(idata)
15133 pack_tmp = ishft(data_tmp, 52)
15134 pack_tmp = ishft(pack_tmp, -22)
15136 data_tmp = full_data(idata)
15137 data_tmp = ishft(data_tmp, 42)
15138 pack_tmp = ior(pack_tmp, data_tmp)
15139 pack_tmp = ishft(pack_tmp, -22)
15141 data_tmp = full_data(idata)
15142 data_tmp = ishft(data_tmp, 42)
15143 pack_tmp = ior(pack_tmp, data_tmp)
15144 pack_tmp = ishft(pack_tmp, -8)
15146 data_tmp = full_data(idata)
15147 data_tmp = ishft(data_tmp, 42)
15148 data_tmp = iand(data_tmp, mask_left(8))
15149 pack_tmp = ior(pack_tmp, data_tmp)
15151 packed_data(ipack) = pack_tmp
15152 data_tmp = full_data(idata)
15153 pack_tmp = ishft(data_tmp, 50)
15154 pack_tmp = ishft(pack_tmp, -22)
15156 data_tmp = full_data(idata)
15157 data_tmp = ishft(data_tmp, 42)
15158 pack_tmp = ior(pack_tmp, data_tmp)
15159 pack_tmp = ishft(pack_tmp, -22)
15161 data_tmp = full_data(idata)
15162 data_tmp = ishft(data_tmp, 42)
15163 pack_tmp = ior(pack_tmp, data_tmp)
15164 pack_tmp = ishft(pack_tmp, -6)
15166 data_tmp = full_data(idata)
15167 data_tmp = ishft(data_tmp, 42)
15168 data_tmp = iand(data_tmp, mask_left(6))
15169 pack_tmp = ior(pack_tmp, data_tmp)
15171 packed_data(ipack) = pack_tmp
15172 data_tmp = full_data(idata)
15173 pack_tmp = ishft(data_tmp, 48)
15174 pack_tmp = ishft(pack_tmp, -22)
15176 data_tmp = full_data(idata)
15177 data_tmp = ishft(data_tmp, 42)
15178 pack_tmp = ior(pack_tmp, data_tmp)
15179 pack_tmp = ishft(pack_tmp, -22)
15181 data_tmp = full_data(idata)
15182 data_tmp = ishft(data_tmp, 42)
15183 pack_tmp = ior(pack_tmp, data_tmp)
15184 pack_tmp = ishft(pack_tmp, -4)
15186 data_tmp = full_data(idata)
15187 data_tmp = ishft(data_tmp, 42)
15188 data_tmp = iand(data_tmp, mask_left(4))
15189 pack_tmp = ior(pack_tmp, data_tmp)
15191 packed_data(ipack) = pack_tmp
15192 data_tmp = full_data(idata)
15193 pack_tmp = ishft(data_tmp, 46)
15194 pack_tmp = ishft(pack_tmp, -22)
15196 data_tmp = full_data(idata)
15197 data_tmp = ishft(data_tmp, 42)
15198 pack_tmp = ior(pack_tmp, data_tmp)
15199 pack_tmp = ishft(pack_tmp, -22)
15201 data_tmp = full_data(idata)
15202 data_tmp = ishft(data_tmp, 42)
15203 pack_tmp = ior(pack_tmp, data_tmp)
15204 pack_tmp = ishft(pack_tmp, -2)
15206 data_tmp = full_data(idata)
15207 data_tmp = ishft(data_tmp, 42)
15208 data_tmp = iand(data_tmp, mask_left(2))
15209 pack_tmp = ior(pack_tmp, data_tmp)
15211 packed_data(ipack) = pack_tmp
15212 data_tmp = full_data(idata)
15213 pack_tmp = ishft(data_tmp, 44)
15214 pack_tmp = ishft(pack_tmp, -22)
15216 data_tmp = full_data(idata)
15217 data_tmp = ishft(data_tmp, 42)
15218 pack_tmp = ior(pack_tmp, data_tmp)
15219 pack_tmp = ishft(pack_tmp, -22)
15221 data_tmp = full_data(idata)
15222 data_tmp = ishft(data_tmp, 42)
15223 pack_tmp = ior(pack_tmp, data_tmp)
15224 pack_tmp = ishft(pack_tmp, 0)
15226 data_tmp = full_data(idata)
15227 data_tmp = ishft(data_tmp, 42)
15228 data_tmp = iand(data_tmp, mask_left(0))
15229 pack_tmp = ior(pack_tmp, data_tmp)
15231 packed_data(ipack) = pack_tmp
15232 data_tmp = full_data(idata)
15233 pack_tmp = ishft(data_tmp, 42)
15234 pack_tmp = ishft(pack_tmp, -22)
15236 data_tmp = full_data(idata)
15237 data_tmp = ishft(data_tmp, 42)
15238 pack_tmp = ior(pack_tmp, data_tmp)
15239 pack_tmp = ishft(pack_tmp, -20)
15241 data_tmp = full_data(idata)
15242 data_tmp = ishft(data_tmp, 42)
15243 data_tmp = iand(data_tmp, mask_left(20))
15244 pack_tmp = ior(pack_tmp, data_tmp)
15246 packed_data(ipack) = pack_tmp
15247 data_tmp = full_data(idata)
15248 pack_tmp = ishft(data_tmp, 62)
15249 pack_tmp = ishft(pack_tmp, -22)
15251 data_tmp = full_data(idata)
15252 data_tmp = ishft(data_tmp, 42)
15253 pack_tmp = ior(pack_tmp, data_tmp)
15254 pack_tmp = ishft(pack_tmp, -22)
15256 data_tmp = full_data(idata)
15257 data_tmp = ishft(data_tmp, 42)
15258 pack_tmp = ior(pack_tmp, data_tmp)
15259 pack_tmp = ishft(pack_tmp, -18)
15261 data_tmp = full_data(idata)
15262 data_tmp = ishft(data_tmp, 42)
15263 data_tmp = iand(data_tmp, mask_left(18))
15264 pack_tmp = ior(pack_tmp, data_tmp)
15266 packed_data(ipack) = pack_tmp
15267 data_tmp = full_data(idata)
15268 pack_tmp = ishft(data_tmp, 60)
15269 pack_tmp = ishft(pack_tmp, -22)
15271 data_tmp = full_data(idata)
15272 data_tmp = ishft(data_tmp, 42)
15273 pack_tmp = ior(pack_tmp, data_tmp)
15274 pack_tmp = ishft(pack_tmp, -22)
15276 data_tmp = full_data(idata)
15277 data_tmp = ishft(data_tmp, 42)
15278 pack_tmp = ior(pack_tmp, data_tmp)
15279 pack_tmp = ishft(pack_tmp, -16)
15281 data_tmp = full_data(idata)
15282 data_tmp = ishft(data_tmp, 42)
15283 data_tmp = iand(data_tmp, mask_left(16))
15284 pack_tmp = ior(pack_tmp, data_tmp)
15286 packed_data(ipack) = pack_tmp
15287 data_tmp = full_data(idata)
15288 pack_tmp = ishft(data_tmp, 58)
15289 pack_tmp = ishft(pack_tmp, -22)
15291 data_tmp = full_data(idata)
15292 data_tmp = ishft(data_tmp, 42)
15293 pack_tmp = ior(pack_tmp, data_tmp)
15294 pack_tmp = ishft(pack_tmp, -22)
15296 data_tmp = full_data(idata)
15297 data_tmp = ishft(data_tmp, 42)
15298 pack_tmp = ior(pack_tmp, data_tmp)
15299 pack_tmp = ishft(pack_tmp, -14)
15301 data_tmp = full_data(idata)
15302 data_tmp = ishft(data_tmp, 42)
15303 data_tmp = iand(data_tmp, mask_left(14))
15304 pack_tmp = ior(pack_tmp, data_tmp)
15306 packed_data(ipack) = pack_tmp
15307 data_tmp = full_data(idata)
15308 pack_tmp = ishft(data_tmp, 56)
15309 pack_tmp = ishft(pack_tmp, -22)
15311 data_tmp = full_data(idata)
15312 data_tmp = ishft(data_tmp, 42)
15313 pack_tmp = ior(pack_tmp, data_tmp)
15314 pack_tmp = ishft(pack_tmp, -22)
15316 data_tmp = full_data(idata)
15317 data_tmp = ishft(data_tmp, 42)
15318 pack_tmp = ior(pack_tmp, data_tmp)
15319 pack_tmp = ishft(pack_tmp, -12)
15321 data_tmp = full_data(idata)
15322 data_tmp = ishft(data_tmp, 42)
15323 data_tmp = iand(data_tmp, mask_left(12))
15324 pack_tmp = ior(pack_tmp, data_tmp)
15326 packed_data(ipack) = pack_tmp
15327 data_tmp = full_data(idata)
15328 pack_tmp = ishft(data_tmp, 54)
15329 pack_tmp = ishft(pack_tmp, -22)
15331 data_tmp = full_data(idata)
15332 data_tmp = ishft(data_tmp, 42)
15333 pack_tmp = ior(pack_tmp, data_tmp)
15334 pack_tmp = ishft(pack_tmp, -22)
15336 data_tmp = full_data(idata)
15337 data_tmp = ishft(data_tmp, 42)
15338 pack_tmp = ior(pack_tmp, data_tmp)
15339 pack_tmp = ishft(pack_tmp, -10)
15341 data_tmp = full_data(idata)
15342 data_tmp = ishft(data_tmp, 42)
15343 data_tmp = iand(data_tmp, mask_left(10))
15344 pack_tmp = ior(pack_tmp, data_tmp)
15346 packed_data(ipack) = pack_tmp
15347 data_tmp = full_data(idata)
15348 pack_tmp = ishft(data_tmp, 52)
15349 pack_tmp = ishft(pack_tmp, -22)
15351 data_tmp = full_data(idata)
15352 data_tmp = ishft(data_tmp, 42)
15353 pack_tmp = ior(pack_tmp, data_tmp)
15354 pack_tmp = ishft(pack_tmp, -22)
15356 data_tmp = full_data(idata)
15357 data_tmp = ishft(data_tmp, 42)
15358 pack_tmp = ior(pack_tmp, data_tmp)
15359 pack_tmp = ishft(pack_tmp, -8)
15361 data_tmp = full_data(idata)
15362 data_tmp = ishft(data_tmp, 42)
15363 data_tmp = iand(data_tmp, mask_left(8))
15364 pack_tmp = ior(pack_tmp, data_tmp)
15366 packed_data(ipack) = pack_tmp
15367 data_tmp = full_data(idata)
15368 pack_tmp = ishft(data_tmp, 50)
15369 pack_tmp = ishft(pack_tmp, -22)
15371 data_tmp = full_data(idata)
15372 data_tmp = ishft(data_tmp, 42)
15373 pack_tmp = ior(pack_tmp, data_tmp)
15374 pack_tmp = ishft(pack_tmp, -22)
15376 data_tmp = full_data(idata)
15377 data_tmp = ishft(data_tmp, 42)
15378 pack_tmp = ior(pack_tmp, data_tmp)
15379 pack_tmp = ishft(pack_tmp, -6)
15381 data_tmp = full_data(idata)
15382 data_tmp = ishft(data_tmp, 42)
15383 data_tmp = iand(data_tmp, mask_left(6))
15384 pack_tmp = ior(pack_tmp, data_tmp)
15386 packed_data(ipack) = pack_tmp
15387 data_tmp = full_data(idata)
15388 pack_tmp = ishft(data_tmp, 48)
15389 pack_tmp = ishft(pack_tmp, -22)
15391 data_tmp = full_data(idata)
15392 data_tmp = ishft(data_tmp, 42)
15393 pack_tmp = ior(pack_tmp, data_tmp)
15394 pack_tmp = ishft(pack_tmp, -22)
15396 data_tmp = full_data(idata)
15397 data_tmp = ishft(data_tmp, 42)
15398 pack_tmp = ior(pack_tmp, data_tmp)
15399 pack_tmp = ishft(pack_tmp, -4)
15401 data_tmp = full_data(idata)
15402 data_tmp = ishft(data_tmp, 42)
15403 data_tmp = iand(data_tmp, mask_left(4))
15404 pack_tmp = ior(pack_tmp, data_tmp)
15406 packed_data(ipack) = pack_tmp
15407 data_tmp = full_data(idata)
15408 pack_tmp = ishft(data_tmp, 46)
15409 pack_tmp = ishft(pack_tmp, -22)
15411 data_tmp = full_data(idata)
15412 data_tmp = ishft(data_tmp, 42)
15413 pack_tmp = ior(pack_tmp, data_tmp)
15414 pack_tmp = ishft(pack_tmp, -22)
15416 data_tmp = full_data(idata)
15417 data_tmp = ishft(data_tmp, 42)
15418 pack_tmp = ior(pack_tmp, data_tmp)
15419 pack_tmp = ishft(pack_tmp, -2)
15421 data_tmp = full_data(idata)
15422 data_tmp = ishft(data_tmp, 42)
15423 data_tmp = iand(data_tmp, mask_left(2))
15424 pack_tmp = ior(pack_tmp, data_tmp)
15426 packed_data(ipack) = pack_tmp
15427 data_tmp = full_data(idata)
15428 pack_tmp = ishft(data_tmp, 44)
15429 pack_tmp = ishft(pack_tmp, -22)
15431 data_tmp = full_data(idata)
15432 data_tmp = ishft(data_tmp, 42)
15433 pack_tmp = ior(pack_tmp, data_tmp)
15434 pack_tmp = ishft(pack_tmp, -22)
15436 data_tmp = full_data(idata)
15437 data_tmp = ishft(data_tmp, 42)
15438 pack_tmp = ior(pack_tmp, data_tmp)
15439 pack_tmp = ishft(pack_tmp, 0)
15440 pack_tmp = ishft(pack_tmp, 0)
15442 packed_data(ipack) = pack_tmp
15444 IF (ndata_rep < ndata)
THEN
15445 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
15447 END SUBROUTINE ints2bits_22
15455 SUBROUTINE bits2ints_22(Ndata, packed_data, full_data)
15456 INTEGER,
INTENT(IN) :: Ndata
15457 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
15458 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
15460 INTEGER,
PARAMETER :: Nbits = 22
15462 INTEGER :: idata, ipack, kdata, Ndata_rep
15463 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
15468 ndata_rep = (ndata/64)*64
15469 DO kdata = 1, ndata_rep, 64
15471 data_tmp = ishft(pack_tmp, 22)
15473 pack_tmp = packed_data(ipack)
15474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
15475 pack_tmp = ishft(pack_tmp, -22)
15477 data_tmp = iand(pack_tmp, mask_right(nbits))
15478 full_data(idata) = data_tmp
15479 pack_tmp = ishft(pack_tmp, -nbits)
15481 data_tmp = ishft(pack_tmp, 2)
15483 pack_tmp = packed_data(ipack)
15484 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
15485 pack_tmp = ishft(pack_tmp, -2)
15487 data_tmp = iand(pack_tmp, mask_right(nbits))
15488 full_data(idata) = data_tmp
15489 pack_tmp = ishft(pack_tmp, -nbits)
15491 data_tmp = iand(pack_tmp, mask_right(nbits))
15492 full_data(idata) = data_tmp
15493 pack_tmp = ishft(pack_tmp, -nbits)
15495 data_tmp = ishft(pack_tmp, 4)
15497 pack_tmp = packed_data(ipack)
15498 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
15499 pack_tmp = ishft(pack_tmp, -4)
15501 data_tmp = iand(pack_tmp, mask_right(nbits))
15502 full_data(idata) = data_tmp
15503 pack_tmp = ishft(pack_tmp, -nbits)
15505 data_tmp = iand(pack_tmp, mask_right(nbits))
15506 full_data(idata) = data_tmp
15507 pack_tmp = ishft(pack_tmp, -nbits)
15509 data_tmp = ishft(pack_tmp, 6)
15511 pack_tmp = packed_data(ipack)
15512 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
15513 pack_tmp = ishft(pack_tmp, -6)
15515 data_tmp = iand(pack_tmp, mask_right(nbits))
15516 full_data(idata) = data_tmp
15517 pack_tmp = ishft(pack_tmp, -nbits)
15519 data_tmp = iand(pack_tmp, mask_right(nbits))
15520 full_data(idata) = data_tmp
15521 pack_tmp = ishft(pack_tmp, -nbits)
15523 data_tmp = ishft(pack_tmp, 8)
15525 pack_tmp = packed_data(ipack)
15526 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
15527 pack_tmp = ishft(pack_tmp, -8)
15529 data_tmp = iand(pack_tmp, mask_right(nbits))
15530 full_data(idata) = data_tmp
15531 pack_tmp = ishft(pack_tmp, -nbits)
15533 data_tmp = iand(pack_tmp, mask_right(nbits))
15534 full_data(idata) = data_tmp
15535 pack_tmp = ishft(pack_tmp, -nbits)
15537 data_tmp = ishft(pack_tmp, 10)
15539 pack_tmp = packed_data(ipack)
15540 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
15541 pack_tmp = ishft(pack_tmp, -10)
15543 data_tmp = iand(pack_tmp, mask_right(nbits))
15544 full_data(idata) = data_tmp
15545 pack_tmp = ishft(pack_tmp, -nbits)
15547 data_tmp = iand(pack_tmp, mask_right(nbits))
15548 full_data(idata) = data_tmp
15549 pack_tmp = ishft(pack_tmp, -nbits)
15551 data_tmp = ishft(pack_tmp, 12)
15553 pack_tmp = packed_data(ipack)
15554 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
15555 pack_tmp = ishft(pack_tmp, -12)
15557 data_tmp = iand(pack_tmp, mask_right(nbits))
15558 full_data(idata) = data_tmp
15559 pack_tmp = ishft(pack_tmp, -nbits)
15561 data_tmp = iand(pack_tmp, mask_right(nbits))
15562 full_data(idata) = data_tmp
15563 pack_tmp = ishft(pack_tmp, -nbits)
15565 data_tmp = ishft(pack_tmp, 14)
15567 pack_tmp = packed_data(ipack)
15568 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
15569 pack_tmp = ishft(pack_tmp, -14)
15571 data_tmp = iand(pack_tmp, mask_right(nbits))
15572 full_data(idata) = data_tmp
15573 pack_tmp = ishft(pack_tmp, -nbits)
15575 data_tmp = iand(pack_tmp, mask_right(nbits))
15576 full_data(idata) = data_tmp
15577 pack_tmp = ishft(pack_tmp, -nbits)
15579 data_tmp = ishft(pack_tmp, 16)
15581 pack_tmp = packed_data(ipack)
15582 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
15583 pack_tmp = ishft(pack_tmp, -16)
15585 data_tmp = iand(pack_tmp, mask_right(nbits))
15586 full_data(idata) = data_tmp
15587 pack_tmp = ishft(pack_tmp, -nbits)
15589 data_tmp = iand(pack_tmp, mask_right(nbits))
15590 full_data(idata) = data_tmp
15591 pack_tmp = ishft(pack_tmp, -nbits)
15593 data_tmp = ishft(pack_tmp, 18)
15595 pack_tmp = packed_data(ipack)
15596 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
15597 pack_tmp = ishft(pack_tmp, -18)
15599 data_tmp = iand(pack_tmp, mask_right(nbits))
15600 full_data(idata) = data_tmp
15601 pack_tmp = ishft(pack_tmp, -nbits)
15603 data_tmp = iand(pack_tmp, mask_right(nbits))
15604 full_data(idata) = data_tmp
15605 pack_tmp = ishft(pack_tmp, -nbits)
15607 data_tmp = ishft(pack_tmp, 20)
15609 pack_tmp = packed_data(ipack)
15610 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
15611 pack_tmp = ishft(pack_tmp, -20)
15613 data_tmp = iand(pack_tmp, mask_right(nbits))
15614 full_data(idata) = data_tmp
15615 pack_tmp = ishft(pack_tmp, -nbits)
15617 data_tmp = iand(pack_tmp, mask_right(nbits))
15618 full_data(idata) = data_tmp
15619 pack_tmp = ishft(pack_tmp, -nbits)
15621 data_tmp = ishft(pack_tmp, 22)
15623 pack_tmp = packed_data(ipack)
15624 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
15625 pack_tmp = ishft(pack_tmp, -22)
15627 data_tmp = iand(pack_tmp, mask_right(nbits))
15628 full_data(idata) = data_tmp
15629 pack_tmp = ishft(pack_tmp, -nbits)
15631 data_tmp = ishft(pack_tmp, 2)
15633 pack_tmp = packed_data(ipack)
15634 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
15635 pack_tmp = ishft(pack_tmp, -2)
15637 data_tmp = iand(pack_tmp, mask_right(nbits))
15638 full_data(idata) = data_tmp
15639 pack_tmp = ishft(pack_tmp, -nbits)
15641 data_tmp = iand(pack_tmp, mask_right(nbits))
15642 full_data(idata) = data_tmp
15643 pack_tmp = ishft(pack_tmp, -nbits)
15645 data_tmp = ishft(pack_tmp, 4)
15647 pack_tmp = packed_data(ipack)
15648 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
15649 pack_tmp = ishft(pack_tmp, -4)
15651 data_tmp = iand(pack_tmp, mask_right(nbits))
15652 full_data(idata) = data_tmp
15653 pack_tmp = ishft(pack_tmp, -nbits)
15655 data_tmp = iand(pack_tmp, mask_right(nbits))
15656 full_data(idata) = data_tmp
15657 pack_tmp = ishft(pack_tmp, -nbits)
15659 data_tmp = ishft(pack_tmp, 6)
15661 pack_tmp = packed_data(ipack)
15662 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
15663 pack_tmp = ishft(pack_tmp, -6)
15665 data_tmp = iand(pack_tmp, mask_right(nbits))
15666 full_data(idata) = data_tmp
15667 pack_tmp = ishft(pack_tmp, -nbits)
15669 data_tmp = iand(pack_tmp, mask_right(nbits))
15670 full_data(idata) = data_tmp
15671 pack_tmp = ishft(pack_tmp, -nbits)
15673 data_tmp = ishft(pack_tmp, 8)
15675 pack_tmp = packed_data(ipack)
15676 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
15677 pack_tmp = ishft(pack_tmp, -8)
15679 data_tmp = iand(pack_tmp, mask_right(nbits))
15680 full_data(idata) = data_tmp
15681 pack_tmp = ishft(pack_tmp, -nbits)
15683 data_tmp = iand(pack_tmp, mask_right(nbits))
15684 full_data(idata) = data_tmp
15685 pack_tmp = ishft(pack_tmp, -nbits)
15687 data_tmp = ishft(pack_tmp, 10)
15689 pack_tmp = packed_data(ipack)
15690 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
15691 pack_tmp = ishft(pack_tmp, -10)
15693 data_tmp = iand(pack_tmp, mask_right(nbits))
15694 full_data(idata) = data_tmp
15695 pack_tmp = ishft(pack_tmp, -nbits)
15697 data_tmp = iand(pack_tmp, mask_right(nbits))
15698 full_data(idata) = data_tmp
15699 pack_tmp = ishft(pack_tmp, -nbits)
15701 data_tmp = ishft(pack_tmp, 12)
15703 pack_tmp = packed_data(ipack)
15704 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
15705 pack_tmp = ishft(pack_tmp, -12)
15707 data_tmp = iand(pack_tmp, mask_right(nbits))
15708 full_data(idata) = data_tmp
15709 pack_tmp = ishft(pack_tmp, -nbits)
15711 data_tmp = iand(pack_tmp, mask_right(nbits))
15712 full_data(idata) = data_tmp
15713 pack_tmp = ishft(pack_tmp, -nbits)
15715 data_tmp = ishft(pack_tmp, 14)
15717 pack_tmp = packed_data(ipack)
15718 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
15719 pack_tmp = ishft(pack_tmp, -14)
15721 data_tmp = iand(pack_tmp, mask_right(nbits))
15722 full_data(idata) = data_tmp
15723 pack_tmp = ishft(pack_tmp, -nbits)
15725 data_tmp = iand(pack_tmp, mask_right(nbits))
15726 full_data(idata) = data_tmp
15727 pack_tmp = ishft(pack_tmp, -nbits)
15729 data_tmp = ishft(pack_tmp, 16)
15731 pack_tmp = packed_data(ipack)
15732 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
15733 pack_tmp = ishft(pack_tmp, -16)
15735 data_tmp = iand(pack_tmp, mask_right(nbits))
15736 full_data(idata) = data_tmp
15737 pack_tmp = ishft(pack_tmp, -nbits)
15739 data_tmp = iand(pack_tmp, mask_right(nbits))
15740 full_data(idata) = data_tmp
15741 pack_tmp = ishft(pack_tmp, -nbits)
15743 data_tmp = ishft(pack_tmp, 18)
15745 pack_tmp = packed_data(ipack)
15746 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
15747 pack_tmp = ishft(pack_tmp, -18)
15749 data_tmp = iand(pack_tmp, mask_right(nbits))
15750 full_data(idata) = data_tmp
15751 pack_tmp = ishft(pack_tmp, -nbits)
15753 data_tmp = iand(pack_tmp, mask_right(nbits))
15754 full_data(idata) = data_tmp
15755 pack_tmp = ishft(pack_tmp, -nbits)
15757 data_tmp = ishft(pack_tmp, 20)
15759 pack_tmp = packed_data(ipack)
15760 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
15761 pack_tmp = ishft(pack_tmp, -20)
15763 data_tmp = iand(pack_tmp, mask_right(nbits))
15764 full_data(idata) = data_tmp
15765 pack_tmp = ishft(pack_tmp, -nbits)
15767 data_tmp = iand(pack_tmp, mask_right(nbits))
15768 full_data(idata) = data_tmp
15769 pack_tmp = ishft(pack_tmp, -nbits)
15771 IF (ndata_rep < ndata)
THEN
15772 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
15774 END SUBROUTINE bits2ints_22
15782 SUBROUTINE ints2bits_23(Ndata, packed_data, full_data)
15783 INTEGER,
INTENT(IN) :: Ndata
15784 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
15785 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
15787 INTEGER,
PARAMETER :: Nbits = 23
15789 INTEGER :: idata, ipack, kdata, Ndata_rep
15790 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
15794 ndata_rep = (ndata/64)*64
15795 DO kdata = 1, ndata_rep, 64
15798 data_tmp = full_data(idata)
15799 data_tmp = ishft(data_tmp, 41)
15800 pack_tmp = ior(pack_tmp, data_tmp)
15801 pack_tmp = ishft(pack_tmp, -23)
15803 data_tmp = full_data(idata)
15804 data_tmp = ishft(data_tmp, 41)
15805 pack_tmp = ior(pack_tmp, data_tmp)
15806 pack_tmp = ishft(pack_tmp, -18)
15808 data_tmp = full_data(idata)
15809 data_tmp = ishft(data_tmp, 41)
15810 data_tmp = iand(data_tmp, mask_left(18))
15811 pack_tmp = ior(pack_tmp, data_tmp)
15813 packed_data(ipack) = pack_tmp
15814 data_tmp = full_data(idata)
15815 pack_tmp = ishft(data_tmp, 59)
15816 pack_tmp = ishft(pack_tmp, -23)
15818 data_tmp = full_data(idata)
15819 data_tmp = ishft(data_tmp, 41)
15820 pack_tmp = ior(pack_tmp, data_tmp)
15821 pack_tmp = ishft(pack_tmp, -23)
15823 data_tmp = full_data(idata)
15824 data_tmp = ishft(data_tmp, 41)
15825 pack_tmp = ior(pack_tmp, data_tmp)
15826 pack_tmp = ishft(pack_tmp, -13)
15828 data_tmp = full_data(idata)
15829 data_tmp = ishft(data_tmp, 41)
15830 data_tmp = iand(data_tmp, mask_left(13))
15831 pack_tmp = ior(pack_tmp, data_tmp)
15833 packed_data(ipack) = pack_tmp
15834 data_tmp = full_data(idata)
15835 pack_tmp = ishft(data_tmp, 54)
15836 pack_tmp = ishft(pack_tmp, -23)
15838 data_tmp = full_data(idata)
15839 data_tmp = ishft(data_tmp, 41)
15840 pack_tmp = ior(pack_tmp, data_tmp)
15841 pack_tmp = ishft(pack_tmp, -23)
15843 data_tmp = full_data(idata)
15844 data_tmp = ishft(data_tmp, 41)
15845 pack_tmp = ior(pack_tmp, data_tmp)
15846 pack_tmp = ishft(pack_tmp, -8)
15848 data_tmp = full_data(idata)
15849 data_tmp = ishft(data_tmp, 41)
15850 data_tmp = iand(data_tmp, mask_left(8))
15851 pack_tmp = ior(pack_tmp, data_tmp)
15853 packed_data(ipack) = pack_tmp
15854 data_tmp = full_data(idata)
15855 pack_tmp = ishft(data_tmp, 49)
15856 pack_tmp = ishft(pack_tmp, -23)
15858 data_tmp = full_data(idata)
15859 data_tmp = ishft(data_tmp, 41)
15860 pack_tmp = ior(pack_tmp, data_tmp)
15861 pack_tmp = ishft(pack_tmp, -23)
15863 data_tmp = full_data(idata)
15864 data_tmp = ishft(data_tmp, 41)
15865 pack_tmp = ior(pack_tmp, data_tmp)
15866 pack_tmp = ishft(pack_tmp, -3)
15868 data_tmp = full_data(idata)
15869 data_tmp = ishft(data_tmp, 41)
15870 data_tmp = iand(data_tmp, mask_left(3))
15871 pack_tmp = ior(pack_tmp, data_tmp)
15873 packed_data(ipack) = pack_tmp
15874 data_tmp = full_data(idata)
15875 pack_tmp = ishft(data_tmp, 44)
15876 pack_tmp = ishft(pack_tmp, -23)
15878 data_tmp = full_data(idata)
15879 data_tmp = ishft(data_tmp, 41)
15880 pack_tmp = ior(pack_tmp, data_tmp)
15881 pack_tmp = ishft(pack_tmp, -21)
15883 data_tmp = full_data(idata)
15884 data_tmp = ishft(data_tmp, 41)
15885 data_tmp = iand(data_tmp, mask_left(21))
15886 pack_tmp = ior(pack_tmp, data_tmp)
15888 packed_data(ipack) = pack_tmp
15889 data_tmp = full_data(idata)
15890 pack_tmp = ishft(data_tmp, 62)
15891 pack_tmp = ishft(pack_tmp, -23)
15893 data_tmp = full_data(idata)
15894 data_tmp = ishft(data_tmp, 41)
15895 pack_tmp = ior(pack_tmp, data_tmp)
15896 pack_tmp = ishft(pack_tmp, -23)
15898 data_tmp = full_data(idata)
15899 data_tmp = ishft(data_tmp, 41)
15900 pack_tmp = ior(pack_tmp, data_tmp)
15901 pack_tmp = ishft(pack_tmp, -16)
15903 data_tmp = full_data(idata)
15904 data_tmp = ishft(data_tmp, 41)
15905 data_tmp = iand(data_tmp, mask_left(16))
15906 pack_tmp = ior(pack_tmp, data_tmp)
15908 packed_data(ipack) = pack_tmp
15909 data_tmp = full_data(idata)
15910 pack_tmp = ishft(data_tmp, 57)
15911 pack_tmp = ishft(pack_tmp, -23)
15913 data_tmp = full_data(idata)
15914 data_tmp = ishft(data_tmp, 41)
15915 pack_tmp = ior(pack_tmp, data_tmp)
15916 pack_tmp = ishft(pack_tmp, -23)
15918 data_tmp = full_data(idata)
15919 data_tmp = ishft(data_tmp, 41)
15920 pack_tmp = ior(pack_tmp, data_tmp)
15921 pack_tmp = ishft(pack_tmp, -11)
15923 data_tmp = full_data(idata)
15924 data_tmp = ishft(data_tmp, 41)
15925 data_tmp = iand(data_tmp, mask_left(11))
15926 pack_tmp = ior(pack_tmp, data_tmp)
15928 packed_data(ipack) = pack_tmp
15929 data_tmp = full_data(idata)
15930 pack_tmp = ishft(data_tmp, 52)
15931 pack_tmp = ishft(pack_tmp, -23)
15933 data_tmp = full_data(idata)
15934 data_tmp = ishft(data_tmp, 41)
15935 pack_tmp = ior(pack_tmp, data_tmp)
15936 pack_tmp = ishft(pack_tmp, -23)
15938 data_tmp = full_data(idata)
15939 data_tmp = ishft(data_tmp, 41)
15940 pack_tmp = ior(pack_tmp, data_tmp)
15941 pack_tmp = ishft(pack_tmp, -6)
15943 data_tmp = full_data(idata)
15944 data_tmp = ishft(data_tmp, 41)
15945 data_tmp = iand(data_tmp, mask_left(6))
15946 pack_tmp = ior(pack_tmp, data_tmp)
15948 packed_data(ipack) = pack_tmp
15949 data_tmp = full_data(idata)
15950 pack_tmp = ishft(data_tmp, 47)
15951 pack_tmp = ishft(pack_tmp, -23)
15953 data_tmp = full_data(idata)
15954 data_tmp = ishft(data_tmp, 41)
15955 pack_tmp = ior(pack_tmp, data_tmp)
15956 pack_tmp = ishft(pack_tmp, -23)
15958 data_tmp = full_data(idata)
15959 data_tmp = ishft(data_tmp, 41)
15960 pack_tmp = ior(pack_tmp, data_tmp)
15961 pack_tmp = ishft(pack_tmp, -1)
15963 data_tmp = full_data(idata)
15964 data_tmp = ishft(data_tmp, 41)
15965 data_tmp = iand(data_tmp, mask_left(1))
15966 pack_tmp = ior(pack_tmp, data_tmp)
15968 packed_data(ipack) = pack_tmp
15969 data_tmp = full_data(idata)
15970 pack_tmp = ishft(data_tmp, 42)
15971 pack_tmp = ishft(pack_tmp, -23)
15973 data_tmp = full_data(idata)
15974 data_tmp = ishft(data_tmp, 41)
15975 pack_tmp = ior(pack_tmp, data_tmp)
15976 pack_tmp = ishft(pack_tmp, -19)
15978 data_tmp = full_data(idata)
15979 data_tmp = ishft(data_tmp, 41)
15980 data_tmp = iand(data_tmp, mask_left(19))
15981 pack_tmp = ior(pack_tmp, data_tmp)
15983 packed_data(ipack) = pack_tmp
15984 data_tmp = full_data(idata)
15985 pack_tmp = ishft(data_tmp, 60)
15986 pack_tmp = ishft(pack_tmp, -23)
15988 data_tmp = full_data(idata)
15989 data_tmp = ishft(data_tmp, 41)
15990 pack_tmp = ior(pack_tmp, data_tmp)
15991 pack_tmp = ishft(pack_tmp, -23)
15993 data_tmp = full_data(idata)
15994 data_tmp = ishft(data_tmp, 41)
15995 pack_tmp = ior(pack_tmp, data_tmp)
15996 pack_tmp = ishft(pack_tmp, -14)
15998 data_tmp = full_data(idata)
15999 data_tmp = ishft(data_tmp, 41)
16000 data_tmp = iand(data_tmp, mask_left(14))
16001 pack_tmp = ior(pack_tmp, data_tmp)
16003 packed_data(ipack) = pack_tmp
16004 data_tmp = full_data(idata)
16005 pack_tmp = ishft(data_tmp, 55)
16006 pack_tmp = ishft(pack_tmp, -23)
16008 data_tmp = full_data(idata)
16009 data_tmp = ishft(data_tmp, 41)
16010 pack_tmp = ior(pack_tmp, data_tmp)
16011 pack_tmp = ishft(pack_tmp, -23)
16013 data_tmp = full_data(idata)
16014 data_tmp = ishft(data_tmp, 41)
16015 pack_tmp = ior(pack_tmp, data_tmp)
16016 pack_tmp = ishft(pack_tmp, -9)
16018 data_tmp = full_data(idata)
16019 data_tmp = ishft(data_tmp, 41)
16020 data_tmp = iand(data_tmp, mask_left(9))
16021 pack_tmp = ior(pack_tmp, data_tmp)
16023 packed_data(ipack) = pack_tmp
16024 data_tmp = full_data(idata)
16025 pack_tmp = ishft(data_tmp, 50)
16026 pack_tmp = ishft(pack_tmp, -23)
16028 data_tmp = full_data(idata)
16029 data_tmp = ishft(data_tmp, 41)
16030 pack_tmp = ior(pack_tmp, data_tmp)
16031 pack_tmp = ishft(pack_tmp, -23)
16033 data_tmp = full_data(idata)
16034 data_tmp = ishft(data_tmp, 41)
16035 pack_tmp = ior(pack_tmp, data_tmp)
16036 pack_tmp = ishft(pack_tmp, -4)
16038 data_tmp = full_data(idata)
16039 data_tmp = ishft(data_tmp, 41)
16040 data_tmp = iand(data_tmp, mask_left(4))
16041 pack_tmp = ior(pack_tmp, data_tmp)
16043 packed_data(ipack) = pack_tmp
16044 data_tmp = full_data(idata)
16045 pack_tmp = ishft(data_tmp, 45)
16046 pack_tmp = ishft(pack_tmp, -23)
16048 data_tmp = full_data(idata)
16049 data_tmp = ishft(data_tmp, 41)
16050 pack_tmp = ior(pack_tmp, data_tmp)
16051 pack_tmp = ishft(pack_tmp, -22)
16053 data_tmp = full_data(idata)
16054 data_tmp = ishft(data_tmp, 41)
16055 data_tmp = iand(data_tmp, mask_left(22))
16056 pack_tmp = ior(pack_tmp, data_tmp)
16058 packed_data(ipack) = pack_tmp
16059 data_tmp = full_data(idata)
16060 pack_tmp = ishft(data_tmp, 63)
16061 pack_tmp = ishft(pack_tmp, -23)
16063 data_tmp = full_data(idata)
16064 data_tmp = ishft(data_tmp, 41)
16065 pack_tmp = ior(pack_tmp, data_tmp)
16066 pack_tmp = ishft(pack_tmp, -23)
16068 data_tmp = full_data(idata)
16069 data_tmp = ishft(data_tmp, 41)
16070 pack_tmp = ior(pack_tmp, data_tmp)
16071 pack_tmp = ishft(pack_tmp, -17)
16073 data_tmp = full_data(idata)
16074 data_tmp = ishft(data_tmp, 41)
16075 data_tmp = iand(data_tmp, mask_left(17))
16076 pack_tmp = ior(pack_tmp, data_tmp)
16078 packed_data(ipack) = pack_tmp
16079 data_tmp = full_data(idata)
16080 pack_tmp = ishft(data_tmp, 58)
16081 pack_tmp = ishft(pack_tmp, -23)
16083 data_tmp = full_data(idata)
16084 data_tmp = ishft(data_tmp, 41)
16085 pack_tmp = ior(pack_tmp, data_tmp)
16086 pack_tmp = ishft(pack_tmp, -23)
16088 data_tmp = full_data(idata)
16089 data_tmp = ishft(data_tmp, 41)
16090 pack_tmp = ior(pack_tmp, data_tmp)
16091 pack_tmp = ishft(pack_tmp, -12)
16093 data_tmp = full_data(idata)
16094 data_tmp = ishft(data_tmp, 41)
16095 data_tmp = iand(data_tmp, mask_left(12))
16096 pack_tmp = ior(pack_tmp, data_tmp)
16098 packed_data(ipack) = pack_tmp
16099 data_tmp = full_data(idata)
16100 pack_tmp = ishft(data_tmp, 53)
16101 pack_tmp = ishft(pack_tmp, -23)
16103 data_tmp = full_data(idata)
16104 data_tmp = ishft(data_tmp, 41)
16105 pack_tmp = ior(pack_tmp, data_tmp)
16106 pack_tmp = ishft(pack_tmp, -23)
16108 data_tmp = full_data(idata)
16109 data_tmp = ishft(data_tmp, 41)
16110 pack_tmp = ior(pack_tmp, data_tmp)
16111 pack_tmp = ishft(pack_tmp, -7)
16113 data_tmp = full_data(idata)
16114 data_tmp = ishft(data_tmp, 41)
16115 data_tmp = iand(data_tmp, mask_left(7))
16116 pack_tmp = ior(pack_tmp, data_tmp)
16118 packed_data(ipack) = pack_tmp
16119 data_tmp = full_data(idata)
16120 pack_tmp = ishft(data_tmp, 48)
16121 pack_tmp = ishft(pack_tmp, -23)
16123 data_tmp = full_data(idata)
16124 data_tmp = ishft(data_tmp, 41)
16125 pack_tmp = ior(pack_tmp, data_tmp)
16126 pack_tmp = ishft(pack_tmp, -23)
16128 data_tmp = full_data(idata)
16129 data_tmp = ishft(data_tmp, 41)
16130 pack_tmp = ior(pack_tmp, data_tmp)
16131 pack_tmp = ishft(pack_tmp, -2)
16133 data_tmp = full_data(idata)
16134 data_tmp = ishft(data_tmp, 41)
16135 data_tmp = iand(data_tmp, mask_left(2))
16136 pack_tmp = ior(pack_tmp, data_tmp)
16138 packed_data(ipack) = pack_tmp
16139 data_tmp = full_data(idata)
16140 pack_tmp = ishft(data_tmp, 43)
16141 pack_tmp = ishft(pack_tmp, -23)
16143 data_tmp = full_data(idata)
16144 data_tmp = ishft(data_tmp, 41)
16145 pack_tmp = ior(pack_tmp, data_tmp)
16146 pack_tmp = ishft(pack_tmp, -20)
16148 data_tmp = full_data(idata)
16149 data_tmp = ishft(data_tmp, 41)
16150 data_tmp = iand(data_tmp, mask_left(20))
16151 pack_tmp = ior(pack_tmp, data_tmp)
16153 packed_data(ipack) = pack_tmp
16154 data_tmp = full_data(idata)
16155 pack_tmp = ishft(data_tmp, 61)
16156 pack_tmp = ishft(pack_tmp, -23)
16158 data_tmp = full_data(idata)
16159 data_tmp = ishft(data_tmp, 41)
16160 pack_tmp = ior(pack_tmp, data_tmp)
16161 pack_tmp = ishft(pack_tmp, -23)
16163 data_tmp = full_data(idata)
16164 data_tmp = ishft(data_tmp, 41)
16165 pack_tmp = ior(pack_tmp, data_tmp)
16166 pack_tmp = ishft(pack_tmp, -15)
16168 data_tmp = full_data(idata)
16169 data_tmp = ishft(data_tmp, 41)
16170 data_tmp = iand(data_tmp, mask_left(15))
16171 pack_tmp = ior(pack_tmp, data_tmp)
16173 packed_data(ipack) = pack_tmp
16174 data_tmp = full_data(idata)
16175 pack_tmp = ishft(data_tmp, 56)
16176 pack_tmp = ishft(pack_tmp, -23)
16178 data_tmp = full_data(idata)
16179 data_tmp = ishft(data_tmp, 41)
16180 pack_tmp = ior(pack_tmp, data_tmp)
16181 pack_tmp = ishft(pack_tmp, -23)
16183 data_tmp = full_data(idata)
16184 data_tmp = ishft(data_tmp, 41)
16185 pack_tmp = ior(pack_tmp, data_tmp)
16186 pack_tmp = ishft(pack_tmp, -10)
16188 data_tmp = full_data(idata)
16189 data_tmp = ishft(data_tmp, 41)
16190 data_tmp = iand(data_tmp, mask_left(10))
16191 pack_tmp = ior(pack_tmp, data_tmp)
16193 packed_data(ipack) = pack_tmp
16194 data_tmp = full_data(idata)
16195 pack_tmp = ishft(data_tmp, 51)
16196 pack_tmp = ishft(pack_tmp, -23)
16198 data_tmp = full_data(idata)
16199 data_tmp = ishft(data_tmp, 41)
16200 pack_tmp = ior(pack_tmp, data_tmp)
16201 pack_tmp = ishft(pack_tmp, -23)
16203 data_tmp = full_data(idata)
16204 data_tmp = ishft(data_tmp, 41)
16205 pack_tmp = ior(pack_tmp, data_tmp)
16206 pack_tmp = ishft(pack_tmp, -5)
16208 data_tmp = full_data(idata)
16209 data_tmp = ishft(data_tmp, 41)
16210 data_tmp = iand(data_tmp, mask_left(5))
16211 pack_tmp = ior(pack_tmp, data_tmp)
16213 packed_data(ipack) = pack_tmp
16214 data_tmp = full_data(idata)
16215 pack_tmp = ishft(data_tmp, 46)
16216 pack_tmp = ishft(pack_tmp, -23)
16218 data_tmp = full_data(idata)
16219 data_tmp = ishft(data_tmp, 41)
16220 pack_tmp = ior(pack_tmp, data_tmp)
16221 pack_tmp = ishft(pack_tmp, -23)
16223 data_tmp = full_data(idata)
16224 data_tmp = ishft(data_tmp, 41)
16225 pack_tmp = ior(pack_tmp, data_tmp)
16226 pack_tmp = ishft(pack_tmp, 0)
16227 pack_tmp = ishft(pack_tmp, 0)
16229 packed_data(ipack) = pack_tmp
16231 IF (ndata_rep < ndata)
THEN
16232 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
16234 END SUBROUTINE ints2bits_23
16242 SUBROUTINE bits2ints_23(Ndata, packed_data, full_data)
16243 INTEGER,
INTENT(IN) :: Ndata
16244 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
16245 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
16247 INTEGER,
PARAMETER :: Nbits = 23
16249 INTEGER :: idata, ipack, kdata, Ndata_rep
16250 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
16255 ndata_rep = (ndata/64)*64
16256 DO kdata = 1, ndata_rep, 64
16258 data_tmp = ishft(pack_tmp, 23)
16260 pack_tmp = packed_data(ipack)
16261 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
16262 pack_tmp = ishft(pack_tmp, -23)
16264 data_tmp = iand(pack_tmp, mask_right(nbits))
16265 full_data(idata) = data_tmp
16266 pack_tmp = ishft(pack_tmp, -nbits)
16268 data_tmp = ishft(pack_tmp, 5)
16270 pack_tmp = packed_data(ipack)
16271 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
16272 pack_tmp = ishft(pack_tmp, -5)
16274 data_tmp = iand(pack_tmp, mask_right(nbits))
16275 full_data(idata) = data_tmp
16276 pack_tmp = ishft(pack_tmp, -nbits)
16278 data_tmp = iand(pack_tmp, mask_right(nbits))
16279 full_data(idata) = data_tmp
16280 pack_tmp = ishft(pack_tmp, -nbits)
16282 data_tmp = ishft(pack_tmp, 10)
16284 pack_tmp = packed_data(ipack)
16285 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
16286 pack_tmp = ishft(pack_tmp, -10)
16288 data_tmp = iand(pack_tmp, mask_right(nbits))
16289 full_data(idata) = data_tmp
16290 pack_tmp = ishft(pack_tmp, -nbits)
16292 data_tmp = iand(pack_tmp, mask_right(nbits))
16293 full_data(idata) = data_tmp
16294 pack_tmp = ishft(pack_tmp, -nbits)
16296 data_tmp = ishft(pack_tmp, 15)
16298 pack_tmp = packed_data(ipack)
16299 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
16300 pack_tmp = ishft(pack_tmp, -15)
16302 data_tmp = iand(pack_tmp, mask_right(nbits))
16303 full_data(idata) = data_tmp
16304 pack_tmp = ishft(pack_tmp, -nbits)
16306 data_tmp = iand(pack_tmp, mask_right(nbits))
16307 full_data(idata) = data_tmp
16308 pack_tmp = ishft(pack_tmp, -nbits)
16310 data_tmp = ishft(pack_tmp, 20)
16312 pack_tmp = packed_data(ipack)
16313 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
16314 pack_tmp = ishft(pack_tmp, -20)
16316 data_tmp = iand(pack_tmp, mask_right(nbits))
16317 full_data(idata) = data_tmp
16318 pack_tmp = ishft(pack_tmp, -nbits)
16320 data_tmp = ishft(pack_tmp, 2)
16322 pack_tmp = packed_data(ipack)
16323 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
16324 pack_tmp = ishft(pack_tmp, -2)
16326 data_tmp = iand(pack_tmp, mask_right(nbits))
16327 full_data(idata) = data_tmp
16328 pack_tmp = ishft(pack_tmp, -nbits)
16330 data_tmp = iand(pack_tmp, mask_right(nbits))
16331 full_data(idata) = data_tmp
16332 pack_tmp = ishft(pack_tmp, -nbits)
16334 data_tmp = ishft(pack_tmp, 7)
16336 pack_tmp = packed_data(ipack)
16337 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
16338 pack_tmp = ishft(pack_tmp, -7)
16340 data_tmp = iand(pack_tmp, mask_right(nbits))
16341 full_data(idata) = data_tmp
16342 pack_tmp = ishft(pack_tmp, -nbits)
16344 data_tmp = iand(pack_tmp, mask_right(nbits))
16345 full_data(idata) = data_tmp
16346 pack_tmp = ishft(pack_tmp, -nbits)
16348 data_tmp = ishft(pack_tmp, 12)
16350 pack_tmp = packed_data(ipack)
16351 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
16352 pack_tmp = ishft(pack_tmp, -12)
16354 data_tmp = iand(pack_tmp, mask_right(nbits))
16355 full_data(idata) = data_tmp
16356 pack_tmp = ishft(pack_tmp, -nbits)
16358 data_tmp = iand(pack_tmp, mask_right(nbits))
16359 full_data(idata) = data_tmp
16360 pack_tmp = ishft(pack_tmp, -nbits)
16362 data_tmp = ishft(pack_tmp, 17)
16364 pack_tmp = packed_data(ipack)
16365 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
16366 pack_tmp = ishft(pack_tmp, -17)
16368 data_tmp = iand(pack_tmp, mask_right(nbits))
16369 full_data(idata) = data_tmp
16370 pack_tmp = ishft(pack_tmp, -nbits)
16372 data_tmp = iand(pack_tmp, mask_right(nbits))
16373 full_data(idata) = data_tmp
16374 pack_tmp = ishft(pack_tmp, -nbits)
16376 data_tmp = ishft(pack_tmp, 22)
16378 pack_tmp = packed_data(ipack)
16379 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
16380 pack_tmp = ishft(pack_tmp, -22)
16382 data_tmp = iand(pack_tmp, mask_right(nbits))
16383 full_data(idata) = data_tmp
16384 pack_tmp = ishft(pack_tmp, -nbits)
16386 data_tmp = ishft(pack_tmp, 4)
16388 pack_tmp = packed_data(ipack)
16389 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
16390 pack_tmp = ishft(pack_tmp, -4)
16392 data_tmp = iand(pack_tmp, mask_right(nbits))
16393 full_data(idata) = data_tmp
16394 pack_tmp = ishft(pack_tmp, -nbits)
16396 data_tmp = iand(pack_tmp, mask_right(nbits))
16397 full_data(idata) = data_tmp
16398 pack_tmp = ishft(pack_tmp, -nbits)
16400 data_tmp = ishft(pack_tmp, 9)
16402 pack_tmp = packed_data(ipack)
16403 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
16404 pack_tmp = ishft(pack_tmp, -9)
16406 data_tmp = iand(pack_tmp, mask_right(nbits))
16407 full_data(idata) = data_tmp
16408 pack_tmp = ishft(pack_tmp, -nbits)
16410 data_tmp = iand(pack_tmp, mask_right(nbits))
16411 full_data(idata) = data_tmp
16412 pack_tmp = ishft(pack_tmp, -nbits)
16414 data_tmp = ishft(pack_tmp, 14)
16416 pack_tmp = packed_data(ipack)
16417 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
16418 pack_tmp = ishft(pack_tmp, -14)
16420 data_tmp = iand(pack_tmp, mask_right(nbits))
16421 full_data(idata) = data_tmp
16422 pack_tmp = ishft(pack_tmp, -nbits)
16424 data_tmp = iand(pack_tmp, mask_right(nbits))
16425 full_data(idata) = data_tmp
16426 pack_tmp = ishft(pack_tmp, -nbits)
16428 data_tmp = ishft(pack_tmp, 19)
16430 pack_tmp = packed_data(ipack)
16431 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
16432 pack_tmp = ishft(pack_tmp, -19)
16434 data_tmp = iand(pack_tmp, mask_right(nbits))
16435 full_data(idata) = data_tmp
16436 pack_tmp = ishft(pack_tmp, -nbits)
16438 data_tmp = ishft(pack_tmp, 1)
16440 pack_tmp = packed_data(ipack)
16441 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
16442 pack_tmp = ishft(pack_tmp, -1)
16444 data_tmp = iand(pack_tmp, mask_right(nbits))
16445 full_data(idata) = data_tmp
16446 pack_tmp = ishft(pack_tmp, -nbits)
16448 data_tmp = iand(pack_tmp, mask_right(nbits))
16449 full_data(idata) = data_tmp
16450 pack_tmp = ishft(pack_tmp, -nbits)
16452 data_tmp = ishft(pack_tmp, 6)
16454 pack_tmp = packed_data(ipack)
16455 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
16456 pack_tmp = ishft(pack_tmp, -6)
16458 data_tmp = iand(pack_tmp, mask_right(nbits))
16459 full_data(idata) = data_tmp
16460 pack_tmp = ishft(pack_tmp, -nbits)
16462 data_tmp = iand(pack_tmp, mask_right(nbits))
16463 full_data(idata) = data_tmp
16464 pack_tmp = ishft(pack_tmp, -nbits)
16466 data_tmp = ishft(pack_tmp, 11)
16468 pack_tmp = packed_data(ipack)
16469 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
16470 pack_tmp = ishft(pack_tmp, -11)
16472 data_tmp = iand(pack_tmp, mask_right(nbits))
16473 full_data(idata) = data_tmp
16474 pack_tmp = ishft(pack_tmp, -nbits)
16476 data_tmp = iand(pack_tmp, mask_right(nbits))
16477 full_data(idata) = data_tmp
16478 pack_tmp = ishft(pack_tmp, -nbits)
16480 data_tmp = ishft(pack_tmp, 16)
16482 pack_tmp = packed_data(ipack)
16483 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
16484 pack_tmp = ishft(pack_tmp, -16)
16486 data_tmp = iand(pack_tmp, mask_right(nbits))
16487 full_data(idata) = data_tmp
16488 pack_tmp = ishft(pack_tmp, -nbits)
16490 data_tmp = iand(pack_tmp, mask_right(nbits))
16491 full_data(idata) = data_tmp
16492 pack_tmp = ishft(pack_tmp, -nbits)
16494 data_tmp = ishft(pack_tmp, 21)
16496 pack_tmp = packed_data(ipack)
16497 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
16498 pack_tmp = ishft(pack_tmp, -21)
16500 data_tmp = iand(pack_tmp, mask_right(nbits))
16501 full_data(idata) = data_tmp
16502 pack_tmp = ishft(pack_tmp, -nbits)
16504 data_tmp = ishft(pack_tmp, 3)
16506 pack_tmp = packed_data(ipack)
16507 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
16508 pack_tmp = ishft(pack_tmp, -3)
16510 data_tmp = iand(pack_tmp, mask_right(nbits))
16511 full_data(idata) = data_tmp
16512 pack_tmp = ishft(pack_tmp, -nbits)
16514 data_tmp = iand(pack_tmp, mask_right(nbits))
16515 full_data(idata) = data_tmp
16516 pack_tmp = ishft(pack_tmp, -nbits)
16518 data_tmp = ishft(pack_tmp, 8)
16520 pack_tmp = packed_data(ipack)
16521 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
16522 pack_tmp = ishft(pack_tmp, -8)
16524 data_tmp = iand(pack_tmp, mask_right(nbits))
16525 full_data(idata) = data_tmp
16526 pack_tmp = ishft(pack_tmp, -nbits)
16528 data_tmp = iand(pack_tmp, mask_right(nbits))
16529 full_data(idata) = data_tmp
16530 pack_tmp = ishft(pack_tmp, -nbits)
16532 data_tmp = ishft(pack_tmp, 13)
16534 pack_tmp = packed_data(ipack)
16535 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
16536 pack_tmp = ishft(pack_tmp, -13)
16538 data_tmp = iand(pack_tmp, mask_right(nbits))
16539 full_data(idata) = data_tmp
16540 pack_tmp = ishft(pack_tmp, -nbits)
16542 data_tmp = iand(pack_tmp, mask_right(nbits))
16543 full_data(idata) = data_tmp
16544 pack_tmp = ishft(pack_tmp, -nbits)
16546 data_tmp = ishft(pack_tmp, 18)
16548 pack_tmp = packed_data(ipack)
16549 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
16550 pack_tmp = ishft(pack_tmp, -18)
16552 data_tmp = iand(pack_tmp, mask_right(nbits))
16553 full_data(idata) = data_tmp
16554 pack_tmp = ishft(pack_tmp, -nbits)
16556 data_tmp = iand(pack_tmp, mask_right(nbits))
16557 full_data(idata) = data_tmp
16558 pack_tmp = ishft(pack_tmp, -nbits)
16560 IF (ndata_rep < ndata)
THEN
16561 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
16563 END SUBROUTINE bits2ints_23
16571 SUBROUTINE ints2bits_24(Ndata, packed_data, full_data)
16572 INTEGER,
INTENT(IN) :: Ndata
16573 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
16574 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
16576 INTEGER,
PARAMETER :: Nbits = 24
16578 INTEGER :: idata, ipack, kdata, Ndata_rep
16579 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
16583 ndata_rep = (ndata/64)*64
16584 DO kdata = 1, ndata_rep, 64
16587 data_tmp = full_data(idata)
16588 data_tmp = ishft(data_tmp, 40)
16589 pack_tmp = ior(pack_tmp, data_tmp)
16590 pack_tmp = ishft(pack_tmp, -24)
16592 data_tmp = full_data(idata)
16593 data_tmp = ishft(data_tmp, 40)
16594 pack_tmp = ior(pack_tmp, data_tmp)
16595 pack_tmp = ishft(pack_tmp, -16)
16597 data_tmp = full_data(idata)
16598 data_tmp = ishft(data_tmp, 40)
16599 data_tmp = iand(data_tmp, mask_left(16))
16600 pack_tmp = ior(pack_tmp, data_tmp)
16602 packed_data(ipack) = pack_tmp
16603 data_tmp = full_data(idata)
16604 pack_tmp = ishft(data_tmp, 56)
16605 pack_tmp = ishft(pack_tmp, -24)
16607 data_tmp = full_data(idata)
16608 data_tmp = ishft(data_tmp, 40)
16609 pack_tmp = ior(pack_tmp, data_tmp)
16610 pack_tmp = ishft(pack_tmp, -24)
16612 data_tmp = full_data(idata)
16613 data_tmp = ishft(data_tmp, 40)
16614 pack_tmp = ior(pack_tmp, data_tmp)
16615 pack_tmp = ishft(pack_tmp, -8)
16617 data_tmp = full_data(idata)
16618 data_tmp = ishft(data_tmp, 40)
16619 data_tmp = iand(data_tmp, mask_left(8))
16620 pack_tmp = ior(pack_tmp, data_tmp)
16622 packed_data(ipack) = pack_tmp
16623 data_tmp = full_data(idata)
16624 pack_tmp = ishft(data_tmp, 48)
16625 pack_tmp = ishft(pack_tmp, -24)
16627 data_tmp = full_data(idata)
16628 data_tmp = ishft(data_tmp, 40)
16629 pack_tmp = ior(pack_tmp, data_tmp)
16630 pack_tmp = ishft(pack_tmp, -24)
16632 data_tmp = full_data(idata)
16633 data_tmp = ishft(data_tmp, 40)
16634 pack_tmp = ior(pack_tmp, data_tmp)
16635 pack_tmp = ishft(pack_tmp, 0)
16637 data_tmp = full_data(idata)
16638 data_tmp = ishft(data_tmp, 40)
16639 data_tmp = iand(data_tmp, mask_left(0))
16640 pack_tmp = ior(pack_tmp, data_tmp)
16642 packed_data(ipack) = pack_tmp
16643 data_tmp = full_data(idata)
16644 pack_tmp = ishft(data_tmp, 40)
16645 pack_tmp = ishft(pack_tmp, -24)
16647 data_tmp = full_data(idata)
16648 data_tmp = ishft(data_tmp, 40)
16649 pack_tmp = ior(pack_tmp, data_tmp)
16650 pack_tmp = ishft(pack_tmp, -16)
16652 data_tmp = full_data(idata)
16653 data_tmp = ishft(data_tmp, 40)
16654 data_tmp = iand(data_tmp, mask_left(16))
16655 pack_tmp = ior(pack_tmp, data_tmp)
16657 packed_data(ipack) = pack_tmp
16658 data_tmp = full_data(idata)
16659 pack_tmp = ishft(data_tmp, 56)
16660 pack_tmp = ishft(pack_tmp, -24)
16662 data_tmp = full_data(idata)
16663 data_tmp = ishft(data_tmp, 40)
16664 pack_tmp = ior(pack_tmp, data_tmp)
16665 pack_tmp = ishft(pack_tmp, -24)
16667 data_tmp = full_data(idata)
16668 data_tmp = ishft(data_tmp, 40)
16669 pack_tmp = ior(pack_tmp, data_tmp)
16670 pack_tmp = ishft(pack_tmp, -8)
16672 data_tmp = full_data(idata)
16673 data_tmp = ishft(data_tmp, 40)
16674 data_tmp = iand(data_tmp, mask_left(8))
16675 pack_tmp = ior(pack_tmp, data_tmp)
16677 packed_data(ipack) = pack_tmp
16678 data_tmp = full_data(idata)
16679 pack_tmp = ishft(data_tmp, 48)
16680 pack_tmp = ishft(pack_tmp, -24)
16682 data_tmp = full_data(idata)
16683 data_tmp = ishft(data_tmp, 40)
16684 pack_tmp = ior(pack_tmp, data_tmp)
16685 pack_tmp = ishft(pack_tmp, -24)
16687 data_tmp = full_data(idata)
16688 data_tmp = ishft(data_tmp, 40)
16689 pack_tmp = ior(pack_tmp, data_tmp)
16690 pack_tmp = ishft(pack_tmp, 0)
16692 data_tmp = full_data(idata)
16693 data_tmp = ishft(data_tmp, 40)
16694 data_tmp = iand(data_tmp, mask_left(0))
16695 pack_tmp = ior(pack_tmp, data_tmp)
16697 packed_data(ipack) = pack_tmp
16698 data_tmp = full_data(idata)
16699 pack_tmp = ishft(data_tmp, 40)
16700 pack_tmp = ishft(pack_tmp, -24)
16702 data_tmp = full_data(idata)
16703 data_tmp = ishft(data_tmp, 40)
16704 pack_tmp = ior(pack_tmp, data_tmp)
16705 pack_tmp = ishft(pack_tmp, -16)
16707 data_tmp = full_data(idata)
16708 data_tmp = ishft(data_tmp, 40)
16709 data_tmp = iand(data_tmp, mask_left(16))
16710 pack_tmp = ior(pack_tmp, data_tmp)
16712 packed_data(ipack) = pack_tmp
16713 data_tmp = full_data(idata)
16714 pack_tmp = ishft(data_tmp, 56)
16715 pack_tmp = ishft(pack_tmp, -24)
16717 data_tmp = full_data(idata)
16718 data_tmp = ishft(data_tmp, 40)
16719 pack_tmp = ior(pack_tmp, data_tmp)
16720 pack_tmp = ishft(pack_tmp, -24)
16722 data_tmp = full_data(idata)
16723 data_tmp = ishft(data_tmp, 40)
16724 pack_tmp = ior(pack_tmp, data_tmp)
16725 pack_tmp = ishft(pack_tmp, -8)
16727 data_tmp = full_data(idata)
16728 data_tmp = ishft(data_tmp, 40)
16729 data_tmp = iand(data_tmp, mask_left(8))
16730 pack_tmp = ior(pack_tmp, data_tmp)
16732 packed_data(ipack) = pack_tmp
16733 data_tmp = full_data(idata)
16734 pack_tmp = ishft(data_tmp, 48)
16735 pack_tmp = ishft(pack_tmp, -24)
16737 data_tmp = full_data(idata)
16738 data_tmp = ishft(data_tmp, 40)
16739 pack_tmp = ior(pack_tmp, data_tmp)
16740 pack_tmp = ishft(pack_tmp, -24)
16742 data_tmp = full_data(idata)
16743 data_tmp = ishft(data_tmp, 40)
16744 pack_tmp = ior(pack_tmp, data_tmp)
16745 pack_tmp = ishft(pack_tmp, 0)
16747 data_tmp = full_data(idata)
16748 data_tmp = ishft(data_tmp, 40)
16749 data_tmp = iand(data_tmp, mask_left(0))
16750 pack_tmp = ior(pack_tmp, data_tmp)
16752 packed_data(ipack) = pack_tmp
16753 data_tmp = full_data(idata)
16754 pack_tmp = ishft(data_tmp, 40)
16755 pack_tmp = ishft(pack_tmp, -24)
16757 data_tmp = full_data(idata)
16758 data_tmp = ishft(data_tmp, 40)
16759 pack_tmp = ior(pack_tmp, data_tmp)
16760 pack_tmp = ishft(pack_tmp, -16)
16762 data_tmp = full_data(idata)
16763 data_tmp = ishft(data_tmp, 40)
16764 data_tmp = iand(data_tmp, mask_left(16))
16765 pack_tmp = ior(pack_tmp, data_tmp)
16767 packed_data(ipack) = pack_tmp
16768 data_tmp = full_data(idata)
16769 pack_tmp = ishft(data_tmp, 56)
16770 pack_tmp = ishft(pack_tmp, -24)
16772 data_tmp = full_data(idata)
16773 data_tmp = ishft(data_tmp, 40)
16774 pack_tmp = ior(pack_tmp, data_tmp)
16775 pack_tmp = ishft(pack_tmp, -24)
16777 data_tmp = full_data(idata)
16778 data_tmp = ishft(data_tmp, 40)
16779 pack_tmp = ior(pack_tmp, data_tmp)
16780 pack_tmp = ishft(pack_tmp, -8)
16782 data_tmp = full_data(idata)
16783 data_tmp = ishft(data_tmp, 40)
16784 data_tmp = iand(data_tmp, mask_left(8))
16785 pack_tmp = ior(pack_tmp, data_tmp)
16787 packed_data(ipack) = pack_tmp
16788 data_tmp = full_data(idata)
16789 pack_tmp = ishft(data_tmp, 48)
16790 pack_tmp = ishft(pack_tmp, -24)
16792 data_tmp = full_data(idata)
16793 data_tmp = ishft(data_tmp, 40)
16794 pack_tmp = ior(pack_tmp, data_tmp)
16795 pack_tmp = ishft(pack_tmp, -24)
16797 data_tmp = full_data(idata)
16798 data_tmp = ishft(data_tmp, 40)
16799 pack_tmp = ior(pack_tmp, data_tmp)
16800 pack_tmp = ishft(pack_tmp, 0)
16802 data_tmp = full_data(idata)
16803 data_tmp = ishft(data_tmp, 40)
16804 data_tmp = iand(data_tmp, mask_left(0))
16805 pack_tmp = ior(pack_tmp, data_tmp)
16807 packed_data(ipack) = pack_tmp
16808 data_tmp = full_data(idata)
16809 pack_tmp = ishft(data_tmp, 40)
16810 pack_tmp = ishft(pack_tmp, -24)
16812 data_tmp = full_data(idata)
16813 data_tmp = ishft(data_tmp, 40)
16814 pack_tmp = ior(pack_tmp, data_tmp)
16815 pack_tmp = ishft(pack_tmp, -16)
16817 data_tmp = full_data(idata)
16818 data_tmp = ishft(data_tmp, 40)
16819 data_tmp = iand(data_tmp, mask_left(16))
16820 pack_tmp = ior(pack_tmp, data_tmp)
16822 packed_data(ipack) = pack_tmp
16823 data_tmp = full_data(idata)
16824 pack_tmp = ishft(data_tmp, 56)
16825 pack_tmp = ishft(pack_tmp, -24)
16827 data_tmp = full_data(idata)
16828 data_tmp = ishft(data_tmp, 40)
16829 pack_tmp = ior(pack_tmp, data_tmp)
16830 pack_tmp = ishft(pack_tmp, -24)
16832 data_tmp = full_data(idata)
16833 data_tmp = ishft(data_tmp, 40)
16834 pack_tmp = ior(pack_tmp, data_tmp)
16835 pack_tmp = ishft(pack_tmp, -8)
16837 data_tmp = full_data(idata)
16838 data_tmp = ishft(data_tmp, 40)
16839 data_tmp = iand(data_tmp, mask_left(8))
16840 pack_tmp = ior(pack_tmp, data_tmp)
16842 packed_data(ipack) = pack_tmp
16843 data_tmp = full_data(idata)
16844 pack_tmp = ishft(data_tmp, 48)
16845 pack_tmp = ishft(pack_tmp, -24)
16847 data_tmp = full_data(idata)
16848 data_tmp = ishft(data_tmp, 40)
16849 pack_tmp = ior(pack_tmp, data_tmp)
16850 pack_tmp = ishft(pack_tmp, -24)
16852 data_tmp = full_data(idata)
16853 data_tmp = ishft(data_tmp, 40)
16854 pack_tmp = ior(pack_tmp, data_tmp)
16855 pack_tmp = ishft(pack_tmp, 0)
16857 data_tmp = full_data(idata)
16858 data_tmp = ishft(data_tmp, 40)
16859 data_tmp = iand(data_tmp, mask_left(0))
16860 pack_tmp = ior(pack_tmp, data_tmp)
16862 packed_data(ipack) = pack_tmp
16863 data_tmp = full_data(idata)
16864 pack_tmp = ishft(data_tmp, 40)
16865 pack_tmp = ishft(pack_tmp, -24)
16867 data_tmp = full_data(idata)
16868 data_tmp = ishft(data_tmp, 40)
16869 pack_tmp = ior(pack_tmp, data_tmp)
16870 pack_tmp = ishft(pack_tmp, -16)
16872 data_tmp = full_data(idata)
16873 data_tmp = ishft(data_tmp, 40)
16874 data_tmp = iand(data_tmp, mask_left(16))
16875 pack_tmp = ior(pack_tmp, data_tmp)
16877 packed_data(ipack) = pack_tmp
16878 data_tmp = full_data(idata)
16879 pack_tmp = ishft(data_tmp, 56)
16880 pack_tmp = ishft(pack_tmp, -24)
16882 data_tmp = full_data(idata)
16883 data_tmp = ishft(data_tmp, 40)
16884 pack_tmp = ior(pack_tmp, data_tmp)
16885 pack_tmp = ishft(pack_tmp, -24)
16887 data_tmp = full_data(idata)
16888 data_tmp = ishft(data_tmp, 40)
16889 pack_tmp = ior(pack_tmp, data_tmp)
16890 pack_tmp = ishft(pack_tmp, -8)
16892 data_tmp = full_data(idata)
16893 data_tmp = ishft(data_tmp, 40)
16894 data_tmp = iand(data_tmp, mask_left(8))
16895 pack_tmp = ior(pack_tmp, data_tmp)
16897 packed_data(ipack) = pack_tmp
16898 data_tmp = full_data(idata)
16899 pack_tmp = ishft(data_tmp, 48)
16900 pack_tmp = ishft(pack_tmp, -24)
16902 data_tmp = full_data(idata)
16903 data_tmp = ishft(data_tmp, 40)
16904 pack_tmp = ior(pack_tmp, data_tmp)
16905 pack_tmp = ishft(pack_tmp, -24)
16907 data_tmp = full_data(idata)
16908 data_tmp = ishft(data_tmp, 40)
16909 pack_tmp = ior(pack_tmp, data_tmp)
16910 pack_tmp = ishft(pack_tmp, 0)
16912 data_tmp = full_data(idata)
16913 data_tmp = ishft(data_tmp, 40)
16914 data_tmp = iand(data_tmp, mask_left(0))
16915 pack_tmp = ior(pack_tmp, data_tmp)
16917 packed_data(ipack) = pack_tmp
16918 data_tmp = full_data(idata)
16919 pack_tmp = ishft(data_tmp, 40)
16920 pack_tmp = ishft(pack_tmp, -24)
16922 data_tmp = full_data(idata)
16923 data_tmp = ishft(data_tmp, 40)
16924 pack_tmp = ior(pack_tmp, data_tmp)
16925 pack_tmp = ishft(pack_tmp, -16)
16927 data_tmp = full_data(idata)
16928 data_tmp = ishft(data_tmp, 40)
16929 data_tmp = iand(data_tmp, mask_left(16))
16930 pack_tmp = ior(pack_tmp, data_tmp)
16932 packed_data(ipack) = pack_tmp
16933 data_tmp = full_data(idata)
16934 pack_tmp = ishft(data_tmp, 56)
16935 pack_tmp = ishft(pack_tmp, -24)
16937 data_tmp = full_data(idata)
16938 data_tmp = ishft(data_tmp, 40)
16939 pack_tmp = ior(pack_tmp, data_tmp)
16940 pack_tmp = ishft(pack_tmp, -24)
16942 data_tmp = full_data(idata)
16943 data_tmp = ishft(data_tmp, 40)
16944 pack_tmp = ior(pack_tmp, data_tmp)
16945 pack_tmp = ishft(pack_tmp, -8)
16947 data_tmp = full_data(idata)
16948 data_tmp = ishft(data_tmp, 40)
16949 data_tmp = iand(data_tmp, mask_left(8))
16950 pack_tmp = ior(pack_tmp, data_tmp)
16952 packed_data(ipack) = pack_tmp
16953 data_tmp = full_data(idata)
16954 pack_tmp = ishft(data_tmp, 48)
16955 pack_tmp = ishft(pack_tmp, -24)
16957 data_tmp = full_data(idata)
16958 data_tmp = ishft(data_tmp, 40)
16959 pack_tmp = ior(pack_tmp, data_tmp)
16960 pack_tmp = ishft(pack_tmp, -24)
16962 data_tmp = full_data(idata)
16963 data_tmp = ishft(data_tmp, 40)
16964 pack_tmp = ior(pack_tmp, data_tmp)
16965 pack_tmp = ishft(pack_tmp, 0)
16967 data_tmp = full_data(idata)
16968 data_tmp = ishft(data_tmp, 40)
16969 data_tmp = iand(data_tmp, mask_left(0))
16970 pack_tmp = ior(pack_tmp, data_tmp)
16972 packed_data(ipack) = pack_tmp
16973 data_tmp = full_data(idata)
16974 pack_tmp = ishft(data_tmp, 40)
16975 pack_tmp = ishft(pack_tmp, -24)
16977 data_tmp = full_data(idata)
16978 data_tmp = ishft(data_tmp, 40)
16979 pack_tmp = ior(pack_tmp, data_tmp)
16980 pack_tmp = ishft(pack_tmp, -16)
16982 data_tmp = full_data(idata)
16983 data_tmp = ishft(data_tmp, 40)
16984 data_tmp = iand(data_tmp, mask_left(16))
16985 pack_tmp = ior(pack_tmp, data_tmp)
16987 packed_data(ipack) = pack_tmp
16988 data_tmp = full_data(idata)
16989 pack_tmp = ishft(data_tmp, 56)
16990 pack_tmp = ishft(pack_tmp, -24)
16992 data_tmp = full_data(idata)
16993 data_tmp = ishft(data_tmp, 40)
16994 pack_tmp = ior(pack_tmp, data_tmp)
16995 pack_tmp = ishft(pack_tmp, -24)
16997 data_tmp = full_data(idata)
16998 data_tmp = ishft(data_tmp, 40)
16999 pack_tmp = ior(pack_tmp, data_tmp)
17000 pack_tmp = ishft(pack_tmp, -8)
17002 data_tmp = full_data(idata)
17003 data_tmp = ishft(data_tmp, 40)
17004 data_tmp = iand(data_tmp, mask_left(8))
17005 pack_tmp = ior(pack_tmp, data_tmp)
17007 packed_data(ipack) = pack_tmp
17008 data_tmp = full_data(idata)
17009 pack_tmp = ishft(data_tmp, 48)
17010 pack_tmp = ishft(pack_tmp, -24)
17012 data_tmp = full_data(idata)
17013 data_tmp = ishft(data_tmp, 40)
17014 pack_tmp = ior(pack_tmp, data_tmp)
17015 pack_tmp = ishft(pack_tmp, -24)
17017 data_tmp = full_data(idata)
17018 data_tmp = ishft(data_tmp, 40)
17019 pack_tmp = ior(pack_tmp, data_tmp)
17020 pack_tmp = ishft(pack_tmp, 0)
17021 pack_tmp = ishft(pack_tmp, 0)
17023 packed_data(ipack) = pack_tmp
17025 IF (ndata_rep < ndata)
THEN
17026 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
17028 END SUBROUTINE ints2bits_24
17036 SUBROUTINE bits2ints_24(Ndata, packed_data, full_data)
17037 INTEGER,
INTENT(IN) :: Ndata
17038 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
17039 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
17041 INTEGER,
PARAMETER :: Nbits = 24
17043 INTEGER :: idata, ipack, kdata, Ndata_rep
17044 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
17049 ndata_rep = (ndata/64)*64
17050 DO kdata = 1, ndata_rep, 64
17052 data_tmp = ishft(pack_tmp, 24)
17054 pack_tmp = packed_data(ipack)
17055 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17056 pack_tmp = ishft(pack_tmp, -24)
17058 data_tmp = iand(pack_tmp, mask_right(nbits))
17059 full_data(idata) = data_tmp
17060 pack_tmp = ishft(pack_tmp, -nbits)
17062 data_tmp = ishft(pack_tmp, 8)
17064 pack_tmp = packed_data(ipack)
17065 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17066 pack_tmp = ishft(pack_tmp, -8)
17068 data_tmp = iand(pack_tmp, mask_right(nbits))
17069 full_data(idata) = data_tmp
17070 pack_tmp = ishft(pack_tmp, -nbits)
17072 data_tmp = iand(pack_tmp, mask_right(nbits))
17073 full_data(idata) = data_tmp
17074 pack_tmp = ishft(pack_tmp, -nbits)
17076 data_tmp = ishft(pack_tmp, 16)
17078 pack_tmp = packed_data(ipack)
17079 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17080 pack_tmp = ishft(pack_tmp, -16)
17082 data_tmp = iand(pack_tmp, mask_right(nbits))
17083 full_data(idata) = data_tmp
17084 pack_tmp = ishft(pack_tmp, -nbits)
17086 data_tmp = iand(pack_tmp, mask_right(nbits))
17087 full_data(idata) = data_tmp
17088 pack_tmp = ishft(pack_tmp, -nbits)
17090 data_tmp = ishft(pack_tmp, 24)
17092 pack_tmp = packed_data(ipack)
17093 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17094 pack_tmp = ishft(pack_tmp, -24)
17096 data_tmp = iand(pack_tmp, mask_right(nbits))
17097 full_data(idata) = data_tmp
17098 pack_tmp = ishft(pack_tmp, -nbits)
17100 data_tmp = ishft(pack_tmp, 8)
17102 pack_tmp = packed_data(ipack)
17103 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17104 pack_tmp = ishft(pack_tmp, -8)
17106 data_tmp = iand(pack_tmp, mask_right(nbits))
17107 full_data(idata) = data_tmp
17108 pack_tmp = ishft(pack_tmp, -nbits)
17110 data_tmp = iand(pack_tmp, mask_right(nbits))
17111 full_data(idata) = data_tmp
17112 pack_tmp = ishft(pack_tmp, -nbits)
17114 data_tmp = ishft(pack_tmp, 16)
17116 pack_tmp = packed_data(ipack)
17117 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17118 pack_tmp = ishft(pack_tmp, -16)
17120 data_tmp = iand(pack_tmp, mask_right(nbits))
17121 full_data(idata) = data_tmp
17122 pack_tmp = ishft(pack_tmp, -nbits)
17124 data_tmp = iand(pack_tmp, mask_right(nbits))
17125 full_data(idata) = data_tmp
17126 pack_tmp = ishft(pack_tmp, -nbits)
17128 data_tmp = ishft(pack_tmp, 24)
17130 pack_tmp = packed_data(ipack)
17131 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17132 pack_tmp = ishft(pack_tmp, -24)
17134 data_tmp = iand(pack_tmp, mask_right(nbits))
17135 full_data(idata) = data_tmp
17136 pack_tmp = ishft(pack_tmp, -nbits)
17138 data_tmp = ishft(pack_tmp, 8)
17140 pack_tmp = packed_data(ipack)
17141 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17142 pack_tmp = ishft(pack_tmp, -8)
17144 data_tmp = iand(pack_tmp, mask_right(nbits))
17145 full_data(idata) = data_tmp
17146 pack_tmp = ishft(pack_tmp, -nbits)
17148 data_tmp = iand(pack_tmp, mask_right(nbits))
17149 full_data(idata) = data_tmp
17150 pack_tmp = ishft(pack_tmp, -nbits)
17152 data_tmp = ishft(pack_tmp, 16)
17154 pack_tmp = packed_data(ipack)
17155 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17156 pack_tmp = ishft(pack_tmp, -16)
17158 data_tmp = iand(pack_tmp, mask_right(nbits))
17159 full_data(idata) = data_tmp
17160 pack_tmp = ishft(pack_tmp, -nbits)
17162 data_tmp = iand(pack_tmp, mask_right(nbits))
17163 full_data(idata) = data_tmp
17164 pack_tmp = ishft(pack_tmp, -nbits)
17166 data_tmp = ishft(pack_tmp, 24)
17168 pack_tmp = packed_data(ipack)
17169 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17170 pack_tmp = ishft(pack_tmp, -24)
17172 data_tmp = iand(pack_tmp, mask_right(nbits))
17173 full_data(idata) = data_tmp
17174 pack_tmp = ishft(pack_tmp, -nbits)
17176 data_tmp = ishft(pack_tmp, 8)
17178 pack_tmp = packed_data(ipack)
17179 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17180 pack_tmp = ishft(pack_tmp, -8)
17182 data_tmp = iand(pack_tmp, mask_right(nbits))
17183 full_data(idata) = data_tmp
17184 pack_tmp = ishft(pack_tmp, -nbits)
17186 data_tmp = iand(pack_tmp, mask_right(nbits))
17187 full_data(idata) = data_tmp
17188 pack_tmp = ishft(pack_tmp, -nbits)
17190 data_tmp = ishft(pack_tmp, 16)
17192 pack_tmp = packed_data(ipack)
17193 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17194 pack_tmp = ishft(pack_tmp, -16)
17196 data_tmp = iand(pack_tmp, mask_right(nbits))
17197 full_data(idata) = data_tmp
17198 pack_tmp = ishft(pack_tmp, -nbits)
17200 data_tmp = iand(pack_tmp, mask_right(nbits))
17201 full_data(idata) = data_tmp
17202 pack_tmp = ishft(pack_tmp, -nbits)
17204 data_tmp = ishft(pack_tmp, 24)
17206 pack_tmp = packed_data(ipack)
17207 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17208 pack_tmp = ishft(pack_tmp, -24)
17210 data_tmp = iand(pack_tmp, mask_right(nbits))
17211 full_data(idata) = data_tmp
17212 pack_tmp = ishft(pack_tmp, -nbits)
17214 data_tmp = ishft(pack_tmp, 8)
17216 pack_tmp = packed_data(ipack)
17217 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17218 pack_tmp = ishft(pack_tmp, -8)
17220 data_tmp = iand(pack_tmp, mask_right(nbits))
17221 full_data(idata) = data_tmp
17222 pack_tmp = ishft(pack_tmp, -nbits)
17224 data_tmp = iand(pack_tmp, mask_right(nbits))
17225 full_data(idata) = data_tmp
17226 pack_tmp = ishft(pack_tmp, -nbits)
17228 data_tmp = ishft(pack_tmp, 16)
17230 pack_tmp = packed_data(ipack)
17231 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17232 pack_tmp = ishft(pack_tmp, -16)
17234 data_tmp = iand(pack_tmp, mask_right(nbits))
17235 full_data(idata) = data_tmp
17236 pack_tmp = ishft(pack_tmp, -nbits)
17238 data_tmp = iand(pack_tmp, mask_right(nbits))
17239 full_data(idata) = data_tmp
17240 pack_tmp = ishft(pack_tmp, -nbits)
17242 data_tmp = ishft(pack_tmp, 24)
17244 pack_tmp = packed_data(ipack)
17245 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17246 pack_tmp = ishft(pack_tmp, -24)
17248 data_tmp = iand(pack_tmp, mask_right(nbits))
17249 full_data(idata) = data_tmp
17250 pack_tmp = ishft(pack_tmp, -nbits)
17252 data_tmp = ishft(pack_tmp, 8)
17254 pack_tmp = packed_data(ipack)
17255 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17256 pack_tmp = ishft(pack_tmp, -8)
17258 data_tmp = iand(pack_tmp, mask_right(nbits))
17259 full_data(idata) = data_tmp
17260 pack_tmp = ishft(pack_tmp, -nbits)
17262 data_tmp = iand(pack_tmp, mask_right(nbits))
17263 full_data(idata) = data_tmp
17264 pack_tmp = ishft(pack_tmp, -nbits)
17266 data_tmp = ishft(pack_tmp, 16)
17268 pack_tmp = packed_data(ipack)
17269 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17270 pack_tmp = ishft(pack_tmp, -16)
17272 data_tmp = iand(pack_tmp, mask_right(nbits))
17273 full_data(idata) = data_tmp
17274 pack_tmp = ishft(pack_tmp, -nbits)
17276 data_tmp = iand(pack_tmp, mask_right(nbits))
17277 full_data(idata) = data_tmp
17278 pack_tmp = ishft(pack_tmp, -nbits)
17280 data_tmp = ishft(pack_tmp, 24)
17282 pack_tmp = packed_data(ipack)
17283 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17284 pack_tmp = ishft(pack_tmp, -24)
17286 data_tmp = iand(pack_tmp, mask_right(nbits))
17287 full_data(idata) = data_tmp
17288 pack_tmp = ishft(pack_tmp, -nbits)
17290 data_tmp = ishft(pack_tmp, 8)
17292 pack_tmp = packed_data(ipack)
17293 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17294 pack_tmp = ishft(pack_tmp, -8)
17296 data_tmp = iand(pack_tmp, mask_right(nbits))
17297 full_data(idata) = data_tmp
17298 pack_tmp = ishft(pack_tmp, -nbits)
17300 data_tmp = iand(pack_tmp, mask_right(nbits))
17301 full_data(idata) = data_tmp
17302 pack_tmp = ishft(pack_tmp, -nbits)
17304 data_tmp = ishft(pack_tmp, 16)
17306 pack_tmp = packed_data(ipack)
17307 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17308 pack_tmp = ishft(pack_tmp, -16)
17310 data_tmp = iand(pack_tmp, mask_right(nbits))
17311 full_data(idata) = data_tmp
17312 pack_tmp = ishft(pack_tmp, -nbits)
17314 data_tmp = iand(pack_tmp, mask_right(nbits))
17315 full_data(idata) = data_tmp
17316 pack_tmp = ishft(pack_tmp, -nbits)
17318 data_tmp = ishft(pack_tmp, 24)
17320 pack_tmp = packed_data(ipack)
17321 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17322 pack_tmp = ishft(pack_tmp, -24)
17324 data_tmp = iand(pack_tmp, mask_right(nbits))
17325 full_data(idata) = data_tmp
17326 pack_tmp = ishft(pack_tmp, -nbits)
17328 data_tmp = ishft(pack_tmp, 8)
17330 pack_tmp = packed_data(ipack)
17331 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17332 pack_tmp = ishft(pack_tmp, -8)
17334 data_tmp = iand(pack_tmp, mask_right(nbits))
17335 full_data(idata) = data_tmp
17336 pack_tmp = ishft(pack_tmp, -nbits)
17338 data_tmp = iand(pack_tmp, mask_right(nbits))
17339 full_data(idata) = data_tmp
17340 pack_tmp = ishft(pack_tmp, -nbits)
17342 data_tmp = ishft(pack_tmp, 16)
17344 pack_tmp = packed_data(ipack)
17345 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17346 pack_tmp = ishft(pack_tmp, -16)
17348 data_tmp = iand(pack_tmp, mask_right(nbits))
17349 full_data(idata) = data_tmp
17350 pack_tmp = ishft(pack_tmp, -nbits)
17352 data_tmp = iand(pack_tmp, mask_right(nbits))
17353 full_data(idata) = data_tmp
17354 pack_tmp = ishft(pack_tmp, -nbits)
17356 IF (ndata_rep < ndata)
THEN
17357 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
17359 END SUBROUTINE bits2ints_24
17367 SUBROUTINE ints2bits_25(Ndata, packed_data, full_data)
17368 INTEGER,
INTENT(IN) :: Ndata
17369 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
17370 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
17372 INTEGER,
PARAMETER :: Nbits = 25
17374 INTEGER :: idata, ipack, kdata, Ndata_rep
17375 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
17379 ndata_rep = (ndata/64)*64
17380 DO kdata = 1, ndata_rep, 64
17383 data_tmp = full_data(idata)
17384 data_tmp = ishft(data_tmp, 39)
17385 pack_tmp = ior(pack_tmp, data_tmp)
17386 pack_tmp = ishft(pack_tmp, -25)
17388 data_tmp = full_data(idata)
17389 data_tmp = ishft(data_tmp, 39)
17390 pack_tmp = ior(pack_tmp, data_tmp)
17391 pack_tmp = ishft(pack_tmp, -14)
17393 data_tmp = full_data(idata)
17394 data_tmp = ishft(data_tmp, 39)
17395 data_tmp = iand(data_tmp, mask_left(14))
17396 pack_tmp = ior(pack_tmp, data_tmp)
17398 packed_data(ipack) = pack_tmp
17399 data_tmp = full_data(idata)
17400 pack_tmp = ishft(data_tmp, 53)
17401 pack_tmp = ishft(pack_tmp, -25)
17403 data_tmp = full_data(idata)
17404 data_tmp = ishft(data_tmp, 39)
17405 pack_tmp = ior(pack_tmp, data_tmp)
17406 pack_tmp = ishft(pack_tmp, -25)
17408 data_tmp = full_data(idata)
17409 data_tmp = ishft(data_tmp, 39)
17410 pack_tmp = ior(pack_tmp, data_tmp)
17411 pack_tmp = ishft(pack_tmp, -3)
17413 data_tmp = full_data(idata)
17414 data_tmp = ishft(data_tmp, 39)
17415 data_tmp = iand(data_tmp, mask_left(3))
17416 pack_tmp = ior(pack_tmp, data_tmp)
17418 packed_data(ipack) = pack_tmp
17419 data_tmp = full_data(idata)
17420 pack_tmp = ishft(data_tmp, 42)
17421 pack_tmp = ishft(pack_tmp, -25)
17423 data_tmp = full_data(idata)
17424 data_tmp = ishft(data_tmp, 39)
17425 pack_tmp = ior(pack_tmp, data_tmp)
17426 pack_tmp = ishft(pack_tmp, -17)
17428 data_tmp = full_data(idata)
17429 data_tmp = ishft(data_tmp, 39)
17430 data_tmp = iand(data_tmp, mask_left(17))
17431 pack_tmp = ior(pack_tmp, data_tmp)
17433 packed_data(ipack) = pack_tmp
17434 data_tmp = full_data(idata)
17435 pack_tmp = ishft(data_tmp, 56)
17436 pack_tmp = ishft(pack_tmp, -25)
17438 data_tmp = full_data(idata)
17439 data_tmp = ishft(data_tmp, 39)
17440 pack_tmp = ior(pack_tmp, data_tmp)
17441 pack_tmp = ishft(pack_tmp, -25)
17443 data_tmp = full_data(idata)
17444 data_tmp = ishft(data_tmp, 39)
17445 pack_tmp = ior(pack_tmp, data_tmp)
17446 pack_tmp = ishft(pack_tmp, -6)
17448 data_tmp = full_data(idata)
17449 data_tmp = ishft(data_tmp, 39)
17450 data_tmp = iand(data_tmp, mask_left(6))
17451 pack_tmp = ior(pack_tmp, data_tmp)
17453 packed_data(ipack) = pack_tmp
17454 data_tmp = full_data(idata)
17455 pack_tmp = ishft(data_tmp, 45)
17456 pack_tmp = ishft(pack_tmp, -25)
17458 data_tmp = full_data(idata)
17459 data_tmp = ishft(data_tmp, 39)
17460 pack_tmp = ior(pack_tmp, data_tmp)
17461 pack_tmp = ishft(pack_tmp, -20)
17463 data_tmp = full_data(idata)
17464 data_tmp = ishft(data_tmp, 39)
17465 data_tmp = iand(data_tmp, mask_left(20))
17466 pack_tmp = ior(pack_tmp, data_tmp)
17468 packed_data(ipack) = pack_tmp
17469 data_tmp = full_data(idata)
17470 pack_tmp = ishft(data_tmp, 59)
17471 pack_tmp = ishft(pack_tmp, -25)
17473 data_tmp = full_data(idata)
17474 data_tmp = ishft(data_tmp, 39)
17475 pack_tmp = ior(pack_tmp, data_tmp)
17476 pack_tmp = ishft(pack_tmp, -25)
17478 data_tmp = full_data(idata)
17479 data_tmp = ishft(data_tmp, 39)
17480 pack_tmp = ior(pack_tmp, data_tmp)
17481 pack_tmp = ishft(pack_tmp, -9)
17483 data_tmp = full_data(idata)
17484 data_tmp = ishft(data_tmp, 39)
17485 data_tmp = iand(data_tmp, mask_left(9))
17486 pack_tmp = ior(pack_tmp, data_tmp)
17488 packed_data(ipack) = pack_tmp
17489 data_tmp = full_data(idata)
17490 pack_tmp = ishft(data_tmp, 48)
17491 pack_tmp = ishft(pack_tmp, -25)
17493 data_tmp = full_data(idata)
17494 data_tmp = ishft(data_tmp, 39)
17495 pack_tmp = ior(pack_tmp, data_tmp)
17496 pack_tmp = ishft(pack_tmp, -23)
17498 data_tmp = full_data(idata)
17499 data_tmp = ishft(data_tmp, 39)
17500 data_tmp = iand(data_tmp, mask_left(23))
17501 pack_tmp = ior(pack_tmp, data_tmp)
17503 packed_data(ipack) = pack_tmp
17504 data_tmp = full_data(idata)
17505 pack_tmp = ishft(data_tmp, 62)
17506 pack_tmp = ishft(pack_tmp, -25)
17508 data_tmp = full_data(idata)
17509 data_tmp = ishft(data_tmp, 39)
17510 pack_tmp = ior(pack_tmp, data_tmp)
17511 pack_tmp = ishft(pack_tmp, -25)
17513 data_tmp = full_data(idata)
17514 data_tmp = ishft(data_tmp, 39)
17515 pack_tmp = ior(pack_tmp, data_tmp)
17516 pack_tmp = ishft(pack_tmp, -12)
17518 data_tmp = full_data(idata)
17519 data_tmp = ishft(data_tmp, 39)
17520 data_tmp = iand(data_tmp, mask_left(12))
17521 pack_tmp = ior(pack_tmp, data_tmp)
17523 packed_data(ipack) = pack_tmp
17524 data_tmp = full_data(idata)
17525 pack_tmp = ishft(data_tmp, 51)
17526 pack_tmp = ishft(pack_tmp, -25)
17528 data_tmp = full_data(idata)
17529 data_tmp = ishft(data_tmp, 39)
17530 pack_tmp = ior(pack_tmp, data_tmp)
17531 pack_tmp = ishft(pack_tmp, -25)
17533 data_tmp = full_data(idata)
17534 data_tmp = ishft(data_tmp, 39)
17535 pack_tmp = ior(pack_tmp, data_tmp)
17536 pack_tmp = ishft(pack_tmp, -1)
17538 data_tmp = full_data(idata)
17539 data_tmp = ishft(data_tmp, 39)
17540 data_tmp = iand(data_tmp, mask_left(1))
17541 pack_tmp = ior(pack_tmp, data_tmp)
17543 packed_data(ipack) = pack_tmp
17544 data_tmp = full_data(idata)
17545 pack_tmp = ishft(data_tmp, 40)
17546 pack_tmp = ishft(pack_tmp, -25)
17548 data_tmp = full_data(idata)
17549 data_tmp = ishft(data_tmp, 39)
17550 pack_tmp = ior(pack_tmp, data_tmp)
17551 pack_tmp = ishft(pack_tmp, -15)
17553 data_tmp = full_data(idata)
17554 data_tmp = ishft(data_tmp, 39)
17555 data_tmp = iand(data_tmp, mask_left(15))
17556 pack_tmp = ior(pack_tmp, data_tmp)
17558 packed_data(ipack) = pack_tmp
17559 data_tmp = full_data(idata)
17560 pack_tmp = ishft(data_tmp, 54)
17561 pack_tmp = ishft(pack_tmp, -25)
17563 data_tmp = full_data(idata)
17564 data_tmp = ishft(data_tmp, 39)
17565 pack_tmp = ior(pack_tmp, data_tmp)
17566 pack_tmp = ishft(pack_tmp, -25)
17568 data_tmp = full_data(idata)
17569 data_tmp = ishft(data_tmp, 39)
17570 pack_tmp = ior(pack_tmp, data_tmp)
17571 pack_tmp = ishft(pack_tmp, -4)
17573 data_tmp = full_data(idata)
17574 data_tmp = ishft(data_tmp, 39)
17575 data_tmp = iand(data_tmp, mask_left(4))
17576 pack_tmp = ior(pack_tmp, data_tmp)
17578 packed_data(ipack) = pack_tmp
17579 data_tmp = full_data(idata)
17580 pack_tmp = ishft(data_tmp, 43)
17581 pack_tmp = ishft(pack_tmp, -25)
17583 data_tmp = full_data(idata)
17584 data_tmp = ishft(data_tmp, 39)
17585 pack_tmp = ior(pack_tmp, data_tmp)
17586 pack_tmp = ishft(pack_tmp, -18)
17588 data_tmp = full_data(idata)
17589 data_tmp = ishft(data_tmp, 39)
17590 data_tmp = iand(data_tmp, mask_left(18))
17591 pack_tmp = ior(pack_tmp, data_tmp)
17593 packed_data(ipack) = pack_tmp
17594 data_tmp = full_data(idata)
17595 pack_tmp = ishft(data_tmp, 57)
17596 pack_tmp = ishft(pack_tmp, -25)
17598 data_tmp = full_data(idata)
17599 data_tmp = ishft(data_tmp, 39)
17600 pack_tmp = ior(pack_tmp, data_tmp)
17601 pack_tmp = ishft(pack_tmp, -25)
17603 data_tmp = full_data(idata)
17604 data_tmp = ishft(data_tmp, 39)
17605 pack_tmp = ior(pack_tmp, data_tmp)
17606 pack_tmp = ishft(pack_tmp, -7)
17608 data_tmp = full_data(idata)
17609 data_tmp = ishft(data_tmp, 39)
17610 data_tmp = iand(data_tmp, mask_left(7))
17611 pack_tmp = ior(pack_tmp, data_tmp)
17613 packed_data(ipack) = pack_tmp
17614 data_tmp = full_data(idata)
17615 pack_tmp = ishft(data_tmp, 46)
17616 pack_tmp = ishft(pack_tmp, -25)
17618 data_tmp = full_data(idata)
17619 data_tmp = ishft(data_tmp, 39)
17620 pack_tmp = ior(pack_tmp, data_tmp)
17621 pack_tmp = ishft(pack_tmp, -21)
17623 data_tmp = full_data(idata)
17624 data_tmp = ishft(data_tmp, 39)
17625 data_tmp = iand(data_tmp, mask_left(21))
17626 pack_tmp = ior(pack_tmp, data_tmp)
17628 packed_data(ipack) = pack_tmp
17629 data_tmp = full_data(idata)
17630 pack_tmp = ishft(data_tmp, 60)
17631 pack_tmp = ishft(pack_tmp, -25)
17633 data_tmp = full_data(idata)
17634 data_tmp = ishft(data_tmp, 39)
17635 pack_tmp = ior(pack_tmp, data_tmp)
17636 pack_tmp = ishft(pack_tmp, -25)
17638 data_tmp = full_data(idata)
17639 data_tmp = ishft(data_tmp, 39)
17640 pack_tmp = ior(pack_tmp, data_tmp)
17641 pack_tmp = ishft(pack_tmp, -10)
17643 data_tmp = full_data(idata)
17644 data_tmp = ishft(data_tmp, 39)
17645 data_tmp = iand(data_tmp, mask_left(10))
17646 pack_tmp = ior(pack_tmp, data_tmp)
17648 packed_data(ipack) = pack_tmp
17649 data_tmp = full_data(idata)
17650 pack_tmp = ishft(data_tmp, 49)
17651 pack_tmp = ishft(pack_tmp, -25)
17653 data_tmp = full_data(idata)
17654 data_tmp = ishft(data_tmp, 39)
17655 pack_tmp = ior(pack_tmp, data_tmp)
17656 pack_tmp = ishft(pack_tmp, -24)
17658 data_tmp = full_data(idata)
17659 data_tmp = ishft(data_tmp, 39)
17660 data_tmp = iand(data_tmp, mask_left(24))
17661 pack_tmp = ior(pack_tmp, data_tmp)
17663 packed_data(ipack) = pack_tmp
17664 data_tmp = full_data(idata)
17665 pack_tmp = ishft(data_tmp, 63)
17666 pack_tmp = ishft(pack_tmp, -25)
17668 data_tmp = full_data(idata)
17669 data_tmp = ishft(data_tmp, 39)
17670 pack_tmp = ior(pack_tmp, data_tmp)
17671 pack_tmp = ishft(pack_tmp, -25)
17673 data_tmp = full_data(idata)
17674 data_tmp = ishft(data_tmp, 39)
17675 pack_tmp = ior(pack_tmp, data_tmp)
17676 pack_tmp = ishft(pack_tmp, -13)
17678 data_tmp = full_data(idata)
17679 data_tmp = ishft(data_tmp, 39)
17680 data_tmp = iand(data_tmp, mask_left(13))
17681 pack_tmp = ior(pack_tmp, data_tmp)
17683 packed_data(ipack) = pack_tmp
17684 data_tmp = full_data(idata)
17685 pack_tmp = ishft(data_tmp, 52)
17686 pack_tmp = ishft(pack_tmp, -25)
17688 data_tmp = full_data(idata)
17689 data_tmp = ishft(data_tmp, 39)
17690 pack_tmp = ior(pack_tmp, data_tmp)
17691 pack_tmp = ishft(pack_tmp, -25)
17693 data_tmp = full_data(idata)
17694 data_tmp = ishft(data_tmp, 39)
17695 pack_tmp = ior(pack_tmp, data_tmp)
17696 pack_tmp = ishft(pack_tmp, -2)
17698 data_tmp = full_data(idata)
17699 data_tmp = ishft(data_tmp, 39)
17700 data_tmp = iand(data_tmp, mask_left(2))
17701 pack_tmp = ior(pack_tmp, data_tmp)
17703 packed_data(ipack) = pack_tmp
17704 data_tmp = full_data(idata)
17705 pack_tmp = ishft(data_tmp, 41)
17706 pack_tmp = ishft(pack_tmp, -25)
17708 data_tmp = full_data(idata)
17709 data_tmp = ishft(data_tmp, 39)
17710 pack_tmp = ior(pack_tmp, data_tmp)
17711 pack_tmp = ishft(pack_tmp, -16)
17713 data_tmp = full_data(idata)
17714 data_tmp = ishft(data_tmp, 39)
17715 data_tmp = iand(data_tmp, mask_left(16))
17716 pack_tmp = ior(pack_tmp, data_tmp)
17718 packed_data(ipack) = pack_tmp
17719 data_tmp = full_data(idata)
17720 pack_tmp = ishft(data_tmp, 55)
17721 pack_tmp = ishft(pack_tmp, -25)
17723 data_tmp = full_data(idata)
17724 data_tmp = ishft(data_tmp, 39)
17725 pack_tmp = ior(pack_tmp, data_tmp)
17726 pack_tmp = ishft(pack_tmp, -25)
17728 data_tmp = full_data(idata)
17729 data_tmp = ishft(data_tmp, 39)
17730 pack_tmp = ior(pack_tmp, data_tmp)
17731 pack_tmp = ishft(pack_tmp, -5)
17733 data_tmp = full_data(idata)
17734 data_tmp = ishft(data_tmp, 39)
17735 data_tmp = iand(data_tmp, mask_left(5))
17736 pack_tmp = ior(pack_tmp, data_tmp)
17738 packed_data(ipack) = pack_tmp
17739 data_tmp = full_data(idata)
17740 pack_tmp = ishft(data_tmp, 44)
17741 pack_tmp = ishft(pack_tmp, -25)
17743 data_tmp = full_data(idata)
17744 data_tmp = ishft(data_tmp, 39)
17745 pack_tmp = ior(pack_tmp, data_tmp)
17746 pack_tmp = ishft(pack_tmp, -19)
17748 data_tmp = full_data(idata)
17749 data_tmp = ishft(data_tmp, 39)
17750 data_tmp = iand(data_tmp, mask_left(19))
17751 pack_tmp = ior(pack_tmp, data_tmp)
17753 packed_data(ipack) = pack_tmp
17754 data_tmp = full_data(idata)
17755 pack_tmp = ishft(data_tmp, 58)
17756 pack_tmp = ishft(pack_tmp, -25)
17758 data_tmp = full_data(idata)
17759 data_tmp = ishft(data_tmp, 39)
17760 pack_tmp = ior(pack_tmp, data_tmp)
17761 pack_tmp = ishft(pack_tmp, -25)
17763 data_tmp = full_data(idata)
17764 data_tmp = ishft(data_tmp, 39)
17765 pack_tmp = ior(pack_tmp, data_tmp)
17766 pack_tmp = ishft(pack_tmp, -8)
17768 data_tmp = full_data(idata)
17769 data_tmp = ishft(data_tmp, 39)
17770 data_tmp = iand(data_tmp, mask_left(8))
17771 pack_tmp = ior(pack_tmp, data_tmp)
17773 packed_data(ipack) = pack_tmp
17774 data_tmp = full_data(idata)
17775 pack_tmp = ishft(data_tmp, 47)
17776 pack_tmp = ishft(pack_tmp, -25)
17778 data_tmp = full_data(idata)
17779 data_tmp = ishft(data_tmp, 39)
17780 pack_tmp = ior(pack_tmp, data_tmp)
17781 pack_tmp = ishft(pack_tmp, -22)
17783 data_tmp = full_data(idata)
17784 data_tmp = ishft(data_tmp, 39)
17785 data_tmp = iand(data_tmp, mask_left(22))
17786 pack_tmp = ior(pack_tmp, data_tmp)
17788 packed_data(ipack) = pack_tmp
17789 data_tmp = full_data(idata)
17790 pack_tmp = ishft(data_tmp, 61)
17791 pack_tmp = ishft(pack_tmp, -25)
17793 data_tmp = full_data(idata)
17794 data_tmp = ishft(data_tmp, 39)
17795 pack_tmp = ior(pack_tmp, data_tmp)
17796 pack_tmp = ishft(pack_tmp, -25)
17798 data_tmp = full_data(idata)
17799 data_tmp = ishft(data_tmp, 39)
17800 pack_tmp = ior(pack_tmp, data_tmp)
17801 pack_tmp = ishft(pack_tmp, -11)
17803 data_tmp = full_data(idata)
17804 data_tmp = ishft(data_tmp, 39)
17805 data_tmp = iand(data_tmp, mask_left(11))
17806 pack_tmp = ior(pack_tmp, data_tmp)
17808 packed_data(ipack) = pack_tmp
17809 data_tmp = full_data(idata)
17810 pack_tmp = ishft(data_tmp, 50)
17811 pack_tmp = ishft(pack_tmp, -25)
17813 data_tmp = full_data(idata)
17814 data_tmp = ishft(data_tmp, 39)
17815 pack_tmp = ior(pack_tmp, data_tmp)
17816 pack_tmp = ishft(pack_tmp, -25)
17818 data_tmp = full_data(idata)
17819 data_tmp = ishft(data_tmp, 39)
17820 pack_tmp = ior(pack_tmp, data_tmp)
17821 pack_tmp = ishft(pack_tmp, 0)
17822 pack_tmp = ishft(pack_tmp, 0)
17824 packed_data(ipack) = pack_tmp
17826 IF (ndata_rep < ndata)
THEN
17827 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
17829 END SUBROUTINE ints2bits_25
17837 SUBROUTINE bits2ints_25(Ndata, packed_data, full_data)
17838 INTEGER,
INTENT(IN) :: Ndata
17839 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
17840 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
17842 INTEGER,
PARAMETER :: Nbits = 25
17844 INTEGER :: idata, ipack, kdata, Ndata_rep
17845 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
17850 ndata_rep = (ndata/64)*64
17851 DO kdata = 1, ndata_rep, 64
17853 data_tmp = ishft(pack_tmp, 25)
17855 pack_tmp = packed_data(ipack)
17856 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
17857 pack_tmp = ishft(pack_tmp, -25)
17859 data_tmp = iand(pack_tmp, mask_right(nbits))
17860 full_data(idata) = data_tmp
17861 pack_tmp = ishft(pack_tmp, -nbits)
17863 data_tmp = ishft(pack_tmp, 11)
17865 pack_tmp = packed_data(ipack)
17866 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
17867 pack_tmp = ishft(pack_tmp, -11)
17869 data_tmp = iand(pack_tmp, mask_right(nbits))
17870 full_data(idata) = data_tmp
17871 pack_tmp = ishft(pack_tmp, -nbits)
17873 data_tmp = iand(pack_tmp, mask_right(nbits))
17874 full_data(idata) = data_tmp
17875 pack_tmp = ishft(pack_tmp, -nbits)
17877 data_tmp = ishft(pack_tmp, 22)
17879 pack_tmp = packed_data(ipack)
17880 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
17881 pack_tmp = ishft(pack_tmp, -22)
17883 data_tmp = iand(pack_tmp, mask_right(nbits))
17884 full_data(idata) = data_tmp
17885 pack_tmp = ishft(pack_tmp, -nbits)
17887 data_tmp = ishft(pack_tmp, 8)
17889 pack_tmp = packed_data(ipack)
17890 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
17891 pack_tmp = ishft(pack_tmp, -8)
17893 data_tmp = iand(pack_tmp, mask_right(nbits))
17894 full_data(idata) = data_tmp
17895 pack_tmp = ishft(pack_tmp, -nbits)
17897 data_tmp = iand(pack_tmp, mask_right(nbits))
17898 full_data(idata) = data_tmp
17899 pack_tmp = ishft(pack_tmp, -nbits)
17901 data_tmp = ishft(pack_tmp, 19)
17903 pack_tmp = packed_data(ipack)
17904 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
17905 pack_tmp = ishft(pack_tmp, -19)
17907 data_tmp = iand(pack_tmp, mask_right(nbits))
17908 full_data(idata) = data_tmp
17909 pack_tmp = ishft(pack_tmp, -nbits)
17911 data_tmp = ishft(pack_tmp, 5)
17913 pack_tmp = packed_data(ipack)
17914 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
17915 pack_tmp = ishft(pack_tmp, -5)
17917 data_tmp = iand(pack_tmp, mask_right(nbits))
17918 full_data(idata) = data_tmp
17919 pack_tmp = ishft(pack_tmp, -nbits)
17921 data_tmp = iand(pack_tmp, mask_right(nbits))
17922 full_data(idata) = data_tmp
17923 pack_tmp = ishft(pack_tmp, -nbits)
17925 data_tmp = ishft(pack_tmp, 16)
17927 pack_tmp = packed_data(ipack)
17928 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
17929 pack_tmp = ishft(pack_tmp, -16)
17931 data_tmp = iand(pack_tmp, mask_right(nbits))
17932 full_data(idata) = data_tmp
17933 pack_tmp = ishft(pack_tmp, -nbits)
17935 data_tmp = ishft(pack_tmp, 2)
17937 pack_tmp = packed_data(ipack)
17938 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
17939 pack_tmp = ishft(pack_tmp, -2)
17941 data_tmp = iand(pack_tmp, mask_right(nbits))
17942 full_data(idata) = data_tmp
17943 pack_tmp = ishft(pack_tmp, -nbits)
17945 data_tmp = iand(pack_tmp, mask_right(nbits))
17946 full_data(idata) = data_tmp
17947 pack_tmp = ishft(pack_tmp, -nbits)
17949 data_tmp = ishft(pack_tmp, 13)
17951 pack_tmp = packed_data(ipack)
17952 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
17953 pack_tmp = ishft(pack_tmp, -13)
17955 data_tmp = iand(pack_tmp, mask_right(nbits))
17956 full_data(idata) = data_tmp
17957 pack_tmp = ishft(pack_tmp, -nbits)
17959 data_tmp = iand(pack_tmp, mask_right(nbits))
17960 full_data(idata) = data_tmp
17961 pack_tmp = ishft(pack_tmp, -nbits)
17963 data_tmp = ishft(pack_tmp, 24)
17965 pack_tmp = packed_data(ipack)
17966 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
17967 pack_tmp = ishft(pack_tmp, -24)
17969 data_tmp = iand(pack_tmp, mask_right(nbits))
17970 full_data(idata) = data_tmp
17971 pack_tmp = ishft(pack_tmp, -nbits)
17973 data_tmp = ishft(pack_tmp, 10)
17975 pack_tmp = packed_data(ipack)
17976 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
17977 pack_tmp = ishft(pack_tmp, -10)
17979 data_tmp = iand(pack_tmp, mask_right(nbits))
17980 full_data(idata) = data_tmp
17981 pack_tmp = ishft(pack_tmp, -nbits)
17983 data_tmp = iand(pack_tmp, mask_right(nbits))
17984 full_data(idata) = data_tmp
17985 pack_tmp = ishft(pack_tmp, -nbits)
17987 data_tmp = ishft(pack_tmp, 21)
17989 pack_tmp = packed_data(ipack)
17990 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
17991 pack_tmp = ishft(pack_tmp, -21)
17993 data_tmp = iand(pack_tmp, mask_right(nbits))
17994 full_data(idata) = data_tmp
17995 pack_tmp = ishft(pack_tmp, -nbits)
17997 data_tmp = ishft(pack_tmp, 7)
17999 pack_tmp = packed_data(ipack)
18000 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
18001 pack_tmp = ishft(pack_tmp, -7)
18003 data_tmp = iand(pack_tmp, mask_right(nbits))
18004 full_data(idata) = data_tmp
18005 pack_tmp = ishft(pack_tmp, -nbits)
18007 data_tmp = iand(pack_tmp, mask_right(nbits))
18008 full_data(idata) = data_tmp
18009 pack_tmp = ishft(pack_tmp, -nbits)
18011 data_tmp = ishft(pack_tmp, 18)
18013 pack_tmp = packed_data(ipack)
18014 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
18015 pack_tmp = ishft(pack_tmp, -18)
18017 data_tmp = iand(pack_tmp, mask_right(nbits))
18018 full_data(idata) = data_tmp
18019 pack_tmp = ishft(pack_tmp, -nbits)
18021 data_tmp = ishft(pack_tmp, 4)
18023 pack_tmp = packed_data(ipack)
18024 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
18025 pack_tmp = ishft(pack_tmp, -4)
18027 data_tmp = iand(pack_tmp, mask_right(nbits))
18028 full_data(idata) = data_tmp
18029 pack_tmp = ishft(pack_tmp, -nbits)
18031 data_tmp = iand(pack_tmp, mask_right(nbits))
18032 full_data(idata) = data_tmp
18033 pack_tmp = ishft(pack_tmp, -nbits)
18035 data_tmp = ishft(pack_tmp, 15)
18037 pack_tmp = packed_data(ipack)
18038 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
18039 pack_tmp = ishft(pack_tmp, -15)
18041 data_tmp = iand(pack_tmp, mask_right(nbits))
18042 full_data(idata) = data_tmp
18043 pack_tmp = ishft(pack_tmp, -nbits)
18045 data_tmp = ishft(pack_tmp, 1)
18047 pack_tmp = packed_data(ipack)
18048 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
18049 pack_tmp = ishft(pack_tmp, -1)
18051 data_tmp = iand(pack_tmp, mask_right(nbits))
18052 full_data(idata) = data_tmp
18053 pack_tmp = ishft(pack_tmp, -nbits)
18055 data_tmp = iand(pack_tmp, mask_right(nbits))
18056 full_data(idata) = data_tmp
18057 pack_tmp = ishft(pack_tmp, -nbits)
18059 data_tmp = ishft(pack_tmp, 12)
18061 pack_tmp = packed_data(ipack)
18062 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
18063 pack_tmp = ishft(pack_tmp, -12)
18065 data_tmp = iand(pack_tmp, mask_right(nbits))
18066 full_data(idata) = data_tmp
18067 pack_tmp = ishft(pack_tmp, -nbits)
18069 data_tmp = iand(pack_tmp, mask_right(nbits))
18070 full_data(idata) = data_tmp
18071 pack_tmp = ishft(pack_tmp, -nbits)
18073 data_tmp = ishft(pack_tmp, 23)
18075 pack_tmp = packed_data(ipack)
18076 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
18077 pack_tmp = ishft(pack_tmp, -23)
18079 data_tmp = iand(pack_tmp, mask_right(nbits))
18080 full_data(idata) = data_tmp
18081 pack_tmp = ishft(pack_tmp, -nbits)
18083 data_tmp = ishft(pack_tmp, 9)
18085 pack_tmp = packed_data(ipack)
18086 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
18087 pack_tmp = ishft(pack_tmp, -9)
18089 data_tmp = iand(pack_tmp, mask_right(nbits))
18090 full_data(idata) = data_tmp
18091 pack_tmp = ishft(pack_tmp, -nbits)
18093 data_tmp = iand(pack_tmp, mask_right(nbits))
18094 full_data(idata) = data_tmp
18095 pack_tmp = ishft(pack_tmp, -nbits)
18097 data_tmp = ishft(pack_tmp, 20)
18099 pack_tmp = packed_data(ipack)
18100 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
18101 pack_tmp = ishft(pack_tmp, -20)
18103 data_tmp = iand(pack_tmp, mask_right(nbits))
18104 full_data(idata) = data_tmp
18105 pack_tmp = ishft(pack_tmp, -nbits)
18107 data_tmp = ishft(pack_tmp, 6)
18109 pack_tmp = packed_data(ipack)
18110 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
18111 pack_tmp = ishft(pack_tmp, -6)
18113 data_tmp = iand(pack_tmp, mask_right(nbits))
18114 full_data(idata) = data_tmp
18115 pack_tmp = ishft(pack_tmp, -nbits)
18117 data_tmp = iand(pack_tmp, mask_right(nbits))
18118 full_data(idata) = data_tmp
18119 pack_tmp = ishft(pack_tmp, -nbits)
18121 data_tmp = ishft(pack_tmp, 17)
18123 pack_tmp = packed_data(ipack)
18124 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
18125 pack_tmp = ishft(pack_tmp, -17)
18127 data_tmp = iand(pack_tmp, mask_right(nbits))
18128 full_data(idata) = data_tmp
18129 pack_tmp = ishft(pack_tmp, -nbits)
18131 data_tmp = ishft(pack_tmp, 3)
18133 pack_tmp = packed_data(ipack)
18134 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
18135 pack_tmp = ishft(pack_tmp, -3)
18137 data_tmp = iand(pack_tmp, mask_right(nbits))
18138 full_data(idata) = data_tmp
18139 pack_tmp = ishft(pack_tmp, -nbits)
18141 data_tmp = iand(pack_tmp, mask_right(nbits))
18142 full_data(idata) = data_tmp
18143 pack_tmp = ishft(pack_tmp, -nbits)
18145 data_tmp = ishft(pack_tmp, 14)
18147 pack_tmp = packed_data(ipack)
18148 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
18149 pack_tmp = ishft(pack_tmp, -14)
18151 data_tmp = iand(pack_tmp, mask_right(nbits))
18152 full_data(idata) = data_tmp
18153 pack_tmp = ishft(pack_tmp, -nbits)
18155 data_tmp = iand(pack_tmp, mask_right(nbits))
18156 full_data(idata) = data_tmp
18157 pack_tmp = ishft(pack_tmp, -nbits)
18159 IF (ndata_rep < ndata)
THEN
18160 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
18162 END SUBROUTINE bits2ints_25
18170 SUBROUTINE ints2bits_26(Ndata, packed_data, full_data)
18171 INTEGER,
INTENT(IN) :: Ndata
18172 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
18173 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
18175 INTEGER,
PARAMETER :: Nbits = 26
18177 INTEGER :: idata, ipack, kdata, Ndata_rep
18178 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
18182 ndata_rep = (ndata/64)*64
18183 DO kdata = 1, ndata_rep, 64
18186 data_tmp = full_data(idata)
18187 data_tmp = ishft(data_tmp, 38)
18188 pack_tmp = ior(pack_tmp, data_tmp)
18189 pack_tmp = ishft(pack_tmp, -26)
18191 data_tmp = full_data(idata)
18192 data_tmp = ishft(data_tmp, 38)
18193 pack_tmp = ior(pack_tmp, data_tmp)
18194 pack_tmp = ishft(pack_tmp, -12)
18196 data_tmp = full_data(idata)
18197 data_tmp = ishft(data_tmp, 38)
18198 data_tmp = iand(data_tmp, mask_left(12))
18199 pack_tmp = ior(pack_tmp, data_tmp)
18201 packed_data(ipack) = pack_tmp
18202 data_tmp = full_data(idata)
18203 pack_tmp = ishft(data_tmp, 50)
18204 pack_tmp = ishft(pack_tmp, -26)
18206 data_tmp = full_data(idata)
18207 data_tmp = ishft(data_tmp, 38)
18208 pack_tmp = ior(pack_tmp, data_tmp)
18209 pack_tmp = ishft(pack_tmp, -24)
18211 data_tmp = full_data(idata)
18212 data_tmp = ishft(data_tmp, 38)
18213 data_tmp = iand(data_tmp, mask_left(24))
18214 pack_tmp = ior(pack_tmp, data_tmp)
18216 packed_data(ipack) = pack_tmp
18217 data_tmp = full_data(idata)
18218 pack_tmp = ishft(data_tmp, 62)
18219 pack_tmp = ishft(pack_tmp, -26)
18221 data_tmp = full_data(idata)
18222 data_tmp = ishft(data_tmp, 38)
18223 pack_tmp = ior(pack_tmp, data_tmp)
18224 pack_tmp = ishft(pack_tmp, -26)
18226 data_tmp = full_data(idata)
18227 data_tmp = ishft(data_tmp, 38)
18228 pack_tmp = ior(pack_tmp, data_tmp)
18229 pack_tmp = ishft(pack_tmp, -10)
18231 data_tmp = full_data(idata)
18232 data_tmp = ishft(data_tmp, 38)
18233 data_tmp = iand(data_tmp, mask_left(10))
18234 pack_tmp = ior(pack_tmp, data_tmp)
18236 packed_data(ipack) = pack_tmp
18237 data_tmp = full_data(idata)
18238 pack_tmp = ishft(data_tmp, 48)
18239 pack_tmp = ishft(pack_tmp, -26)
18241 data_tmp = full_data(idata)
18242 data_tmp = ishft(data_tmp, 38)
18243 pack_tmp = ior(pack_tmp, data_tmp)
18244 pack_tmp = ishft(pack_tmp, -22)
18246 data_tmp = full_data(idata)
18247 data_tmp = ishft(data_tmp, 38)
18248 data_tmp = iand(data_tmp, mask_left(22))
18249 pack_tmp = ior(pack_tmp, data_tmp)
18251 packed_data(ipack) = pack_tmp
18252 data_tmp = full_data(idata)
18253 pack_tmp = ishft(data_tmp, 60)
18254 pack_tmp = ishft(pack_tmp, -26)
18256 data_tmp = full_data(idata)
18257 data_tmp = ishft(data_tmp, 38)
18258 pack_tmp = ior(pack_tmp, data_tmp)
18259 pack_tmp = ishft(pack_tmp, -26)
18261 data_tmp = full_data(idata)
18262 data_tmp = ishft(data_tmp, 38)
18263 pack_tmp = ior(pack_tmp, data_tmp)
18264 pack_tmp = ishft(pack_tmp, -8)
18266 data_tmp = full_data(idata)
18267 data_tmp = ishft(data_tmp, 38)
18268 data_tmp = iand(data_tmp, mask_left(8))
18269 pack_tmp = ior(pack_tmp, data_tmp)
18271 packed_data(ipack) = pack_tmp
18272 data_tmp = full_data(idata)
18273 pack_tmp = ishft(data_tmp, 46)
18274 pack_tmp = ishft(pack_tmp, -26)
18276 data_tmp = full_data(idata)
18277 data_tmp = ishft(data_tmp, 38)
18278 pack_tmp = ior(pack_tmp, data_tmp)
18279 pack_tmp = ishft(pack_tmp, -20)
18281 data_tmp = full_data(idata)
18282 data_tmp = ishft(data_tmp, 38)
18283 data_tmp = iand(data_tmp, mask_left(20))
18284 pack_tmp = ior(pack_tmp, data_tmp)
18286 packed_data(ipack) = pack_tmp
18287 data_tmp = full_data(idata)
18288 pack_tmp = ishft(data_tmp, 58)
18289 pack_tmp = ishft(pack_tmp, -26)
18291 data_tmp = full_data(idata)
18292 data_tmp = ishft(data_tmp, 38)
18293 pack_tmp = ior(pack_tmp, data_tmp)
18294 pack_tmp = ishft(pack_tmp, -26)
18296 data_tmp = full_data(idata)
18297 data_tmp = ishft(data_tmp, 38)
18298 pack_tmp = ior(pack_tmp, data_tmp)
18299 pack_tmp = ishft(pack_tmp, -6)
18301 data_tmp = full_data(idata)
18302 data_tmp = ishft(data_tmp, 38)
18303 data_tmp = iand(data_tmp, mask_left(6))
18304 pack_tmp = ior(pack_tmp, data_tmp)
18306 packed_data(ipack) = pack_tmp
18307 data_tmp = full_data(idata)
18308 pack_tmp = ishft(data_tmp, 44)
18309 pack_tmp = ishft(pack_tmp, -26)
18311 data_tmp = full_data(idata)
18312 data_tmp = ishft(data_tmp, 38)
18313 pack_tmp = ior(pack_tmp, data_tmp)
18314 pack_tmp = ishft(pack_tmp, -18)
18316 data_tmp = full_data(idata)
18317 data_tmp = ishft(data_tmp, 38)
18318 data_tmp = iand(data_tmp, mask_left(18))
18319 pack_tmp = ior(pack_tmp, data_tmp)
18321 packed_data(ipack) = pack_tmp
18322 data_tmp = full_data(idata)
18323 pack_tmp = ishft(data_tmp, 56)
18324 pack_tmp = ishft(pack_tmp, -26)
18326 data_tmp = full_data(idata)
18327 data_tmp = ishft(data_tmp, 38)
18328 pack_tmp = ior(pack_tmp, data_tmp)
18329 pack_tmp = ishft(pack_tmp, -26)
18331 data_tmp = full_data(idata)
18332 data_tmp = ishft(data_tmp, 38)
18333 pack_tmp = ior(pack_tmp, data_tmp)
18334 pack_tmp = ishft(pack_tmp, -4)
18336 data_tmp = full_data(idata)
18337 data_tmp = ishft(data_tmp, 38)
18338 data_tmp = iand(data_tmp, mask_left(4))
18339 pack_tmp = ior(pack_tmp, data_tmp)
18341 packed_data(ipack) = pack_tmp
18342 data_tmp = full_data(idata)
18343 pack_tmp = ishft(data_tmp, 42)
18344 pack_tmp = ishft(pack_tmp, -26)
18346 data_tmp = full_data(idata)
18347 data_tmp = ishft(data_tmp, 38)
18348 pack_tmp = ior(pack_tmp, data_tmp)
18349 pack_tmp = ishft(pack_tmp, -16)
18351 data_tmp = full_data(idata)
18352 data_tmp = ishft(data_tmp, 38)
18353 data_tmp = iand(data_tmp, mask_left(16))
18354 pack_tmp = ior(pack_tmp, data_tmp)
18356 packed_data(ipack) = pack_tmp
18357 data_tmp = full_data(idata)
18358 pack_tmp = ishft(data_tmp, 54)
18359 pack_tmp = ishft(pack_tmp, -26)
18361 data_tmp = full_data(idata)
18362 data_tmp = ishft(data_tmp, 38)
18363 pack_tmp = ior(pack_tmp, data_tmp)
18364 pack_tmp = ishft(pack_tmp, -26)
18366 data_tmp = full_data(idata)
18367 data_tmp = ishft(data_tmp, 38)
18368 pack_tmp = ior(pack_tmp, data_tmp)
18369 pack_tmp = ishft(pack_tmp, -2)
18371 data_tmp = full_data(idata)
18372 data_tmp = ishft(data_tmp, 38)
18373 data_tmp = iand(data_tmp, mask_left(2))
18374 pack_tmp = ior(pack_tmp, data_tmp)
18376 packed_data(ipack) = pack_tmp
18377 data_tmp = full_data(idata)
18378 pack_tmp = ishft(data_tmp, 40)
18379 pack_tmp = ishft(pack_tmp, -26)
18381 data_tmp = full_data(idata)
18382 data_tmp = ishft(data_tmp, 38)
18383 pack_tmp = ior(pack_tmp, data_tmp)
18384 pack_tmp = ishft(pack_tmp, -14)
18386 data_tmp = full_data(idata)
18387 data_tmp = ishft(data_tmp, 38)
18388 data_tmp = iand(data_tmp, mask_left(14))
18389 pack_tmp = ior(pack_tmp, data_tmp)
18391 packed_data(ipack) = pack_tmp
18392 data_tmp = full_data(idata)
18393 pack_tmp = ishft(data_tmp, 52)
18394 pack_tmp = ishft(pack_tmp, -26)
18396 data_tmp = full_data(idata)
18397 data_tmp = ishft(data_tmp, 38)
18398 pack_tmp = ior(pack_tmp, data_tmp)
18399 pack_tmp = ishft(pack_tmp, -26)
18401 data_tmp = full_data(idata)
18402 data_tmp = ishft(data_tmp, 38)
18403 pack_tmp = ior(pack_tmp, data_tmp)
18404 pack_tmp = ishft(pack_tmp, 0)
18406 data_tmp = full_data(idata)
18407 data_tmp = ishft(data_tmp, 38)
18408 data_tmp = iand(data_tmp, mask_left(0))
18409 pack_tmp = ior(pack_tmp, data_tmp)
18411 packed_data(ipack) = pack_tmp
18412 data_tmp = full_data(idata)
18413 pack_tmp = ishft(data_tmp, 38)
18414 pack_tmp = ishft(pack_tmp, -26)
18416 data_tmp = full_data(idata)
18417 data_tmp = ishft(data_tmp, 38)
18418 pack_tmp = ior(pack_tmp, data_tmp)
18419 pack_tmp = ishft(pack_tmp, -12)
18421 data_tmp = full_data(idata)
18422 data_tmp = ishft(data_tmp, 38)
18423 data_tmp = iand(data_tmp, mask_left(12))
18424 pack_tmp = ior(pack_tmp, data_tmp)
18426 packed_data(ipack) = pack_tmp
18427 data_tmp = full_data(idata)
18428 pack_tmp = ishft(data_tmp, 50)
18429 pack_tmp = ishft(pack_tmp, -26)
18431 data_tmp = full_data(idata)
18432 data_tmp = ishft(data_tmp, 38)
18433 pack_tmp = ior(pack_tmp, data_tmp)
18434 pack_tmp = ishft(pack_tmp, -24)
18436 data_tmp = full_data(idata)
18437 data_tmp = ishft(data_tmp, 38)
18438 data_tmp = iand(data_tmp, mask_left(24))
18439 pack_tmp = ior(pack_tmp, data_tmp)
18441 packed_data(ipack) = pack_tmp
18442 data_tmp = full_data(idata)
18443 pack_tmp = ishft(data_tmp, 62)
18444 pack_tmp = ishft(pack_tmp, -26)
18446 data_tmp = full_data(idata)
18447 data_tmp = ishft(data_tmp, 38)
18448 pack_tmp = ior(pack_tmp, data_tmp)
18449 pack_tmp = ishft(pack_tmp, -26)
18451 data_tmp = full_data(idata)
18452 data_tmp = ishft(data_tmp, 38)
18453 pack_tmp = ior(pack_tmp, data_tmp)
18454 pack_tmp = ishft(pack_tmp, -10)
18456 data_tmp = full_data(idata)
18457 data_tmp = ishft(data_tmp, 38)
18458 data_tmp = iand(data_tmp, mask_left(10))
18459 pack_tmp = ior(pack_tmp, data_tmp)
18461 packed_data(ipack) = pack_tmp
18462 data_tmp = full_data(idata)
18463 pack_tmp = ishft(data_tmp, 48)
18464 pack_tmp = ishft(pack_tmp, -26)
18466 data_tmp = full_data(idata)
18467 data_tmp = ishft(data_tmp, 38)
18468 pack_tmp = ior(pack_tmp, data_tmp)
18469 pack_tmp = ishft(pack_tmp, -22)
18471 data_tmp = full_data(idata)
18472 data_tmp = ishft(data_tmp, 38)
18473 data_tmp = iand(data_tmp, mask_left(22))
18474 pack_tmp = ior(pack_tmp, data_tmp)
18476 packed_data(ipack) = pack_tmp
18477 data_tmp = full_data(idata)
18478 pack_tmp = ishft(data_tmp, 60)
18479 pack_tmp = ishft(pack_tmp, -26)
18481 data_tmp = full_data(idata)
18482 data_tmp = ishft(data_tmp, 38)
18483 pack_tmp = ior(pack_tmp, data_tmp)
18484 pack_tmp = ishft(pack_tmp, -26)
18486 data_tmp = full_data(idata)
18487 data_tmp = ishft(data_tmp, 38)
18488 pack_tmp = ior(pack_tmp, data_tmp)
18489 pack_tmp = ishft(pack_tmp, -8)
18491 data_tmp = full_data(idata)
18492 data_tmp = ishft(data_tmp, 38)
18493 data_tmp = iand(data_tmp, mask_left(8))
18494 pack_tmp = ior(pack_tmp, data_tmp)
18496 packed_data(ipack) = pack_tmp
18497 data_tmp = full_data(idata)
18498 pack_tmp = ishft(data_tmp, 46)
18499 pack_tmp = ishft(pack_tmp, -26)
18501 data_tmp = full_data(idata)
18502 data_tmp = ishft(data_tmp, 38)
18503 pack_tmp = ior(pack_tmp, data_tmp)
18504 pack_tmp = ishft(pack_tmp, -20)
18506 data_tmp = full_data(idata)
18507 data_tmp = ishft(data_tmp, 38)
18508 data_tmp = iand(data_tmp, mask_left(20))
18509 pack_tmp = ior(pack_tmp, data_tmp)
18511 packed_data(ipack) = pack_tmp
18512 data_tmp = full_data(idata)
18513 pack_tmp = ishft(data_tmp, 58)
18514 pack_tmp = ishft(pack_tmp, -26)
18516 data_tmp = full_data(idata)
18517 data_tmp = ishft(data_tmp, 38)
18518 pack_tmp = ior(pack_tmp, data_tmp)
18519 pack_tmp = ishft(pack_tmp, -26)
18521 data_tmp = full_data(idata)
18522 data_tmp = ishft(data_tmp, 38)
18523 pack_tmp = ior(pack_tmp, data_tmp)
18524 pack_tmp = ishft(pack_tmp, -6)
18526 data_tmp = full_data(idata)
18527 data_tmp = ishft(data_tmp, 38)
18528 data_tmp = iand(data_tmp, mask_left(6))
18529 pack_tmp = ior(pack_tmp, data_tmp)
18531 packed_data(ipack) = pack_tmp
18532 data_tmp = full_data(idata)
18533 pack_tmp = ishft(data_tmp, 44)
18534 pack_tmp = ishft(pack_tmp, -26)
18536 data_tmp = full_data(idata)
18537 data_tmp = ishft(data_tmp, 38)
18538 pack_tmp = ior(pack_tmp, data_tmp)
18539 pack_tmp = ishft(pack_tmp, -18)
18541 data_tmp = full_data(idata)
18542 data_tmp = ishft(data_tmp, 38)
18543 data_tmp = iand(data_tmp, mask_left(18))
18544 pack_tmp = ior(pack_tmp, data_tmp)
18546 packed_data(ipack) = pack_tmp
18547 data_tmp = full_data(idata)
18548 pack_tmp = ishft(data_tmp, 56)
18549 pack_tmp = ishft(pack_tmp, -26)
18551 data_tmp = full_data(idata)
18552 data_tmp = ishft(data_tmp, 38)
18553 pack_tmp = ior(pack_tmp, data_tmp)
18554 pack_tmp = ishft(pack_tmp, -26)
18556 data_tmp = full_data(idata)
18557 data_tmp = ishft(data_tmp, 38)
18558 pack_tmp = ior(pack_tmp, data_tmp)
18559 pack_tmp = ishft(pack_tmp, -4)
18561 data_tmp = full_data(idata)
18562 data_tmp = ishft(data_tmp, 38)
18563 data_tmp = iand(data_tmp, mask_left(4))
18564 pack_tmp = ior(pack_tmp, data_tmp)
18566 packed_data(ipack) = pack_tmp
18567 data_tmp = full_data(idata)
18568 pack_tmp = ishft(data_tmp, 42)
18569 pack_tmp = ishft(pack_tmp, -26)
18571 data_tmp = full_data(idata)
18572 data_tmp = ishft(data_tmp, 38)
18573 pack_tmp = ior(pack_tmp, data_tmp)
18574 pack_tmp = ishft(pack_tmp, -16)
18576 data_tmp = full_data(idata)
18577 data_tmp = ishft(data_tmp, 38)
18578 data_tmp = iand(data_tmp, mask_left(16))
18579 pack_tmp = ior(pack_tmp, data_tmp)
18581 packed_data(ipack) = pack_tmp
18582 data_tmp = full_data(idata)
18583 pack_tmp = ishft(data_tmp, 54)
18584 pack_tmp = ishft(pack_tmp, -26)
18586 data_tmp = full_data(idata)
18587 data_tmp = ishft(data_tmp, 38)
18588 pack_tmp = ior(pack_tmp, data_tmp)
18589 pack_tmp = ishft(pack_tmp, -26)
18591 data_tmp = full_data(idata)
18592 data_tmp = ishft(data_tmp, 38)
18593 pack_tmp = ior(pack_tmp, data_tmp)
18594 pack_tmp = ishft(pack_tmp, -2)
18596 data_tmp = full_data(idata)
18597 data_tmp = ishft(data_tmp, 38)
18598 data_tmp = iand(data_tmp, mask_left(2))
18599 pack_tmp = ior(pack_tmp, data_tmp)
18601 packed_data(ipack) = pack_tmp
18602 data_tmp = full_data(idata)
18603 pack_tmp = ishft(data_tmp, 40)
18604 pack_tmp = ishft(pack_tmp, -26)
18606 data_tmp = full_data(idata)
18607 data_tmp = ishft(data_tmp, 38)
18608 pack_tmp = ior(pack_tmp, data_tmp)
18609 pack_tmp = ishft(pack_tmp, -14)
18611 data_tmp = full_data(idata)
18612 data_tmp = ishft(data_tmp, 38)
18613 data_tmp = iand(data_tmp, mask_left(14))
18614 pack_tmp = ior(pack_tmp, data_tmp)
18616 packed_data(ipack) = pack_tmp
18617 data_tmp = full_data(idata)
18618 pack_tmp = ishft(data_tmp, 52)
18619 pack_tmp = ishft(pack_tmp, -26)
18621 data_tmp = full_data(idata)
18622 data_tmp = ishft(data_tmp, 38)
18623 pack_tmp = ior(pack_tmp, data_tmp)
18624 pack_tmp = ishft(pack_tmp, -26)
18626 data_tmp = full_data(idata)
18627 data_tmp = ishft(data_tmp, 38)
18628 pack_tmp = ior(pack_tmp, data_tmp)
18629 pack_tmp = ishft(pack_tmp, 0)
18630 pack_tmp = ishft(pack_tmp, 0)
18632 packed_data(ipack) = pack_tmp
18634 IF (ndata_rep < ndata)
THEN
18635 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
18637 END SUBROUTINE ints2bits_26
18645 SUBROUTINE bits2ints_26(Ndata, packed_data, full_data)
18646 INTEGER,
INTENT(IN) :: Ndata
18647 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
18648 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
18650 INTEGER,
PARAMETER :: Nbits = 26
18652 INTEGER :: idata, ipack, kdata, Ndata_rep
18653 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
18658 ndata_rep = (ndata/64)*64
18659 DO kdata = 1, ndata_rep, 64
18661 data_tmp = ishft(pack_tmp, 26)
18663 pack_tmp = packed_data(ipack)
18664 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
18665 pack_tmp = ishft(pack_tmp, -26)
18667 data_tmp = iand(pack_tmp, mask_right(nbits))
18668 full_data(idata) = data_tmp
18669 pack_tmp = ishft(pack_tmp, -nbits)
18671 data_tmp = ishft(pack_tmp, 14)
18673 pack_tmp = packed_data(ipack)
18674 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
18675 pack_tmp = ishft(pack_tmp, -14)
18677 data_tmp = iand(pack_tmp, mask_right(nbits))
18678 full_data(idata) = data_tmp
18679 pack_tmp = ishft(pack_tmp, -nbits)
18681 data_tmp = ishft(pack_tmp, 2)
18683 pack_tmp = packed_data(ipack)
18684 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
18685 pack_tmp = ishft(pack_tmp, -2)
18687 data_tmp = iand(pack_tmp, mask_right(nbits))
18688 full_data(idata) = data_tmp
18689 pack_tmp = ishft(pack_tmp, -nbits)
18691 data_tmp = iand(pack_tmp, mask_right(nbits))
18692 full_data(idata) = data_tmp
18693 pack_tmp = ishft(pack_tmp, -nbits)
18695 data_tmp = ishft(pack_tmp, 16)
18697 pack_tmp = packed_data(ipack)
18698 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
18699 pack_tmp = ishft(pack_tmp, -16)
18701 data_tmp = iand(pack_tmp, mask_right(nbits))
18702 full_data(idata) = data_tmp
18703 pack_tmp = ishft(pack_tmp, -nbits)
18705 data_tmp = ishft(pack_tmp, 4)
18707 pack_tmp = packed_data(ipack)
18708 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
18709 pack_tmp = ishft(pack_tmp, -4)
18711 data_tmp = iand(pack_tmp, mask_right(nbits))
18712 full_data(idata) = data_tmp
18713 pack_tmp = ishft(pack_tmp, -nbits)
18715 data_tmp = iand(pack_tmp, mask_right(nbits))
18716 full_data(idata) = data_tmp
18717 pack_tmp = ishft(pack_tmp, -nbits)
18719 data_tmp = ishft(pack_tmp, 18)
18721 pack_tmp = packed_data(ipack)
18722 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
18723 pack_tmp = ishft(pack_tmp, -18)
18725 data_tmp = iand(pack_tmp, mask_right(nbits))
18726 full_data(idata) = data_tmp
18727 pack_tmp = ishft(pack_tmp, -nbits)
18729 data_tmp = ishft(pack_tmp, 6)
18731 pack_tmp = packed_data(ipack)
18732 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
18733 pack_tmp = ishft(pack_tmp, -6)
18735 data_tmp = iand(pack_tmp, mask_right(nbits))
18736 full_data(idata) = data_tmp
18737 pack_tmp = ishft(pack_tmp, -nbits)
18739 data_tmp = iand(pack_tmp, mask_right(nbits))
18740 full_data(idata) = data_tmp
18741 pack_tmp = ishft(pack_tmp, -nbits)
18743 data_tmp = ishft(pack_tmp, 20)
18745 pack_tmp = packed_data(ipack)
18746 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
18747 pack_tmp = ishft(pack_tmp, -20)
18749 data_tmp = iand(pack_tmp, mask_right(nbits))
18750 full_data(idata) = data_tmp
18751 pack_tmp = ishft(pack_tmp, -nbits)
18753 data_tmp = ishft(pack_tmp, 8)
18755 pack_tmp = packed_data(ipack)
18756 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
18757 pack_tmp = ishft(pack_tmp, -8)
18759 data_tmp = iand(pack_tmp, mask_right(nbits))
18760 full_data(idata) = data_tmp
18761 pack_tmp = ishft(pack_tmp, -nbits)
18763 data_tmp = iand(pack_tmp, mask_right(nbits))
18764 full_data(idata) = data_tmp
18765 pack_tmp = ishft(pack_tmp, -nbits)
18767 data_tmp = ishft(pack_tmp, 22)
18769 pack_tmp = packed_data(ipack)
18770 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
18771 pack_tmp = ishft(pack_tmp, -22)
18773 data_tmp = iand(pack_tmp, mask_right(nbits))
18774 full_data(idata) = data_tmp
18775 pack_tmp = ishft(pack_tmp, -nbits)
18777 data_tmp = ishft(pack_tmp, 10)
18779 pack_tmp = packed_data(ipack)
18780 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
18781 pack_tmp = ishft(pack_tmp, -10)
18783 data_tmp = iand(pack_tmp, mask_right(nbits))
18784 full_data(idata) = data_tmp
18785 pack_tmp = ishft(pack_tmp, -nbits)
18787 data_tmp = iand(pack_tmp, mask_right(nbits))
18788 full_data(idata) = data_tmp
18789 pack_tmp = ishft(pack_tmp, -nbits)
18791 data_tmp = ishft(pack_tmp, 24)
18793 pack_tmp = packed_data(ipack)
18794 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
18795 pack_tmp = ishft(pack_tmp, -24)
18797 data_tmp = iand(pack_tmp, mask_right(nbits))
18798 full_data(idata) = data_tmp
18799 pack_tmp = ishft(pack_tmp, -nbits)
18801 data_tmp = ishft(pack_tmp, 12)
18803 pack_tmp = packed_data(ipack)
18804 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
18805 pack_tmp = ishft(pack_tmp, -12)
18807 data_tmp = iand(pack_tmp, mask_right(nbits))
18808 full_data(idata) = data_tmp
18809 pack_tmp = ishft(pack_tmp, -nbits)
18811 data_tmp = iand(pack_tmp, mask_right(nbits))
18812 full_data(idata) = data_tmp
18813 pack_tmp = ishft(pack_tmp, -nbits)
18815 data_tmp = ishft(pack_tmp, 26)
18817 pack_tmp = packed_data(ipack)
18818 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
18819 pack_tmp = ishft(pack_tmp, -26)
18821 data_tmp = iand(pack_tmp, mask_right(nbits))
18822 full_data(idata) = data_tmp
18823 pack_tmp = ishft(pack_tmp, -nbits)
18825 data_tmp = ishft(pack_tmp, 14)
18827 pack_tmp = packed_data(ipack)
18828 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
18829 pack_tmp = ishft(pack_tmp, -14)
18831 data_tmp = iand(pack_tmp, mask_right(nbits))
18832 full_data(idata) = data_tmp
18833 pack_tmp = ishft(pack_tmp, -nbits)
18835 data_tmp = ishft(pack_tmp, 2)
18837 pack_tmp = packed_data(ipack)
18838 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
18839 pack_tmp = ishft(pack_tmp, -2)
18841 data_tmp = iand(pack_tmp, mask_right(nbits))
18842 full_data(idata) = data_tmp
18843 pack_tmp = ishft(pack_tmp, -nbits)
18845 data_tmp = iand(pack_tmp, mask_right(nbits))
18846 full_data(idata) = data_tmp
18847 pack_tmp = ishft(pack_tmp, -nbits)
18849 data_tmp = ishft(pack_tmp, 16)
18851 pack_tmp = packed_data(ipack)
18852 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
18853 pack_tmp = ishft(pack_tmp, -16)
18855 data_tmp = iand(pack_tmp, mask_right(nbits))
18856 full_data(idata) = data_tmp
18857 pack_tmp = ishft(pack_tmp, -nbits)
18859 data_tmp = ishft(pack_tmp, 4)
18861 pack_tmp = packed_data(ipack)
18862 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
18863 pack_tmp = ishft(pack_tmp, -4)
18865 data_tmp = iand(pack_tmp, mask_right(nbits))
18866 full_data(idata) = data_tmp
18867 pack_tmp = ishft(pack_tmp, -nbits)
18869 data_tmp = iand(pack_tmp, mask_right(nbits))
18870 full_data(idata) = data_tmp
18871 pack_tmp = ishft(pack_tmp, -nbits)
18873 data_tmp = ishft(pack_tmp, 18)
18875 pack_tmp = packed_data(ipack)
18876 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
18877 pack_tmp = ishft(pack_tmp, -18)
18879 data_tmp = iand(pack_tmp, mask_right(nbits))
18880 full_data(idata) = data_tmp
18881 pack_tmp = ishft(pack_tmp, -nbits)
18883 data_tmp = ishft(pack_tmp, 6)
18885 pack_tmp = packed_data(ipack)
18886 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
18887 pack_tmp = ishft(pack_tmp, -6)
18889 data_tmp = iand(pack_tmp, mask_right(nbits))
18890 full_data(idata) = data_tmp
18891 pack_tmp = ishft(pack_tmp, -nbits)
18893 data_tmp = iand(pack_tmp, mask_right(nbits))
18894 full_data(idata) = data_tmp
18895 pack_tmp = ishft(pack_tmp, -nbits)
18897 data_tmp = ishft(pack_tmp, 20)
18899 pack_tmp = packed_data(ipack)
18900 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
18901 pack_tmp = ishft(pack_tmp, -20)
18903 data_tmp = iand(pack_tmp, mask_right(nbits))
18904 full_data(idata) = data_tmp
18905 pack_tmp = ishft(pack_tmp, -nbits)
18907 data_tmp = ishft(pack_tmp, 8)
18909 pack_tmp = packed_data(ipack)
18910 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
18911 pack_tmp = ishft(pack_tmp, -8)
18913 data_tmp = iand(pack_tmp, mask_right(nbits))
18914 full_data(idata) = data_tmp
18915 pack_tmp = ishft(pack_tmp, -nbits)
18917 data_tmp = iand(pack_tmp, mask_right(nbits))
18918 full_data(idata) = data_tmp
18919 pack_tmp = ishft(pack_tmp, -nbits)
18921 data_tmp = ishft(pack_tmp, 22)
18923 pack_tmp = packed_data(ipack)
18924 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
18925 pack_tmp = ishft(pack_tmp, -22)
18927 data_tmp = iand(pack_tmp, mask_right(nbits))
18928 full_data(idata) = data_tmp
18929 pack_tmp = ishft(pack_tmp, -nbits)
18931 data_tmp = ishft(pack_tmp, 10)
18933 pack_tmp = packed_data(ipack)
18934 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
18935 pack_tmp = ishft(pack_tmp, -10)
18937 data_tmp = iand(pack_tmp, mask_right(nbits))
18938 full_data(idata) = data_tmp
18939 pack_tmp = ishft(pack_tmp, -nbits)
18941 data_tmp = iand(pack_tmp, mask_right(nbits))
18942 full_data(idata) = data_tmp
18943 pack_tmp = ishft(pack_tmp, -nbits)
18945 data_tmp = ishft(pack_tmp, 24)
18947 pack_tmp = packed_data(ipack)
18948 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
18949 pack_tmp = ishft(pack_tmp, -24)
18951 data_tmp = iand(pack_tmp, mask_right(nbits))
18952 full_data(idata) = data_tmp
18953 pack_tmp = ishft(pack_tmp, -nbits)
18955 data_tmp = ishft(pack_tmp, 12)
18957 pack_tmp = packed_data(ipack)
18958 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
18959 pack_tmp = ishft(pack_tmp, -12)
18961 data_tmp = iand(pack_tmp, mask_right(nbits))
18962 full_data(idata) = data_tmp
18963 pack_tmp = ishft(pack_tmp, -nbits)
18965 data_tmp = iand(pack_tmp, mask_right(nbits))
18966 full_data(idata) = data_tmp
18967 pack_tmp = ishft(pack_tmp, -nbits)
18969 IF (ndata_rep < ndata)
THEN
18970 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
18972 END SUBROUTINE bits2ints_26
18980 SUBROUTINE ints2bits_27(Ndata, packed_data, full_data)
18981 INTEGER,
INTENT(IN) :: Ndata
18982 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
18983 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
18985 INTEGER,
PARAMETER :: Nbits = 27
18987 INTEGER :: idata, ipack, kdata, Ndata_rep
18988 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
18992 ndata_rep = (ndata/64)*64
18993 DO kdata = 1, ndata_rep, 64
18996 data_tmp = full_data(idata)
18997 data_tmp = ishft(data_tmp, 37)
18998 pack_tmp = ior(pack_tmp, data_tmp)
18999 pack_tmp = ishft(pack_tmp, -27)
19001 data_tmp = full_data(idata)
19002 data_tmp = ishft(data_tmp, 37)
19003 pack_tmp = ior(pack_tmp, data_tmp)
19004 pack_tmp = ishft(pack_tmp, -10)
19006 data_tmp = full_data(idata)
19007 data_tmp = ishft(data_tmp, 37)
19008 data_tmp = iand(data_tmp, mask_left(10))
19009 pack_tmp = ior(pack_tmp, data_tmp)
19011 packed_data(ipack) = pack_tmp
19012 data_tmp = full_data(idata)
19013 pack_tmp = ishft(data_tmp, 47)
19014 pack_tmp = ishft(pack_tmp, -27)
19016 data_tmp = full_data(idata)
19017 data_tmp = ishft(data_tmp, 37)
19018 pack_tmp = ior(pack_tmp, data_tmp)
19019 pack_tmp = ishft(pack_tmp, -20)
19021 data_tmp = full_data(idata)
19022 data_tmp = ishft(data_tmp, 37)
19023 data_tmp = iand(data_tmp, mask_left(20))
19024 pack_tmp = ior(pack_tmp, data_tmp)
19026 packed_data(ipack) = pack_tmp
19027 data_tmp = full_data(idata)
19028 pack_tmp = ishft(data_tmp, 57)
19029 pack_tmp = ishft(pack_tmp, -27)
19031 data_tmp = full_data(idata)
19032 data_tmp = ishft(data_tmp, 37)
19033 pack_tmp = ior(pack_tmp, data_tmp)
19034 pack_tmp = ishft(pack_tmp, -27)
19036 data_tmp = full_data(idata)
19037 data_tmp = ishft(data_tmp, 37)
19038 pack_tmp = ior(pack_tmp, data_tmp)
19039 pack_tmp = ishft(pack_tmp, -3)
19041 data_tmp = full_data(idata)
19042 data_tmp = ishft(data_tmp, 37)
19043 data_tmp = iand(data_tmp, mask_left(3))
19044 pack_tmp = ior(pack_tmp, data_tmp)
19046 packed_data(ipack) = pack_tmp
19047 data_tmp = full_data(idata)
19048 pack_tmp = ishft(data_tmp, 40)
19049 pack_tmp = ishft(pack_tmp, -27)
19051 data_tmp = full_data(idata)
19052 data_tmp = ishft(data_tmp, 37)
19053 pack_tmp = ior(pack_tmp, data_tmp)
19054 pack_tmp = ishft(pack_tmp, -13)
19056 data_tmp = full_data(idata)
19057 data_tmp = ishft(data_tmp, 37)
19058 data_tmp = iand(data_tmp, mask_left(13))
19059 pack_tmp = ior(pack_tmp, data_tmp)
19061 packed_data(ipack) = pack_tmp
19062 data_tmp = full_data(idata)
19063 pack_tmp = ishft(data_tmp, 50)
19064 pack_tmp = ishft(pack_tmp, -27)
19066 data_tmp = full_data(idata)
19067 data_tmp = ishft(data_tmp, 37)
19068 pack_tmp = ior(pack_tmp, data_tmp)
19069 pack_tmp = ishft(pack_tmp, -23)
19071 data_tmp = full_data(idata)
19072 data_tmp = ishft(data_tmp, 37)
19073 data_tmp = iand(data_tmp, mask_left(23))
19074 pack_tmp = ior(pack_tmp, data_tmp)
19076 packed_data(ipack) = pack_tmp
19077 data_tmp = full_data(idata)
19078 pack_tmp = ishft(data_tmp, 60)
19079 pack_tmp = ishft(pack_tmp, -27)
19081 data_tmp = full_data(idata)
19082 data_tmp = ishft(data_tmp, 37)
19083 pack_tmp = ior(pack_tmp, data_tmp)
19084 pack_tmp = ishft(pack_tmp, -27)
19086 data_tmp = full_data(idata)
19087 data_tmp = ishft(data_tmp, 37)
19088 pack_tmp = ior(pack_tmp, data_tmp)
19089 pack_tmp = ishft(pack_tmp, -6)
19091 data_tmp = full_data(idata)
19092 data_tmp = ishft(data_tmp, 37)
19093 data_tmp = iand(data_tmp, mask_left(6))
19094 pack_tmp = ior(pack_tmp, data_tmp)
19096 packed_data(ipack) = pack_tmp
19097 data_tmp = full_data(idata)
19098 pack_tmp = ishft(data_tmp, 43)
19099 pack_tmp = ishft(pack_tmp, -27)
19101 data_tmp = full_data(idata)
19102 data_tmp = ishft(data_tmp, 37)
19103 pack_tmp = ior(pack_tmp, data_tmp)
19104 pack_tmp = ishft(pack_tmp, -16)
19106 data_tmp = full_data(idata)
19107 data_tmp = ishft(data_tmp, 37)
19108 data_tmp = iand(data_tmp, mask_left(16))
19109 pack_tmp = ior(pack_tmp, data_tmp)
19111 packed_data(ipack) = pack_tmp
19112 data_tmp = full_data(idata)
19113 pack_tmp = ishft(data_tmp, 53)
19114 pack_tmp = ishft(pack_tmp, -27)
19116 data_tmp = full_data(idata)
19117 data_tmp = ishft(data_tmp, 37)
19118 pack_tmp = ior(pack_tmp, data_tmp)
19119 pack_tmp = ishft(pack_tmp, -26)
19121 data_tmp = full_data(idata)
19122 data_tmp = ishft(data_tmp, 37)
19123 data_tmp = iand(data_tmp, mask_left(26))
19124 pack_tmp = ior(pack_tmp, data_tmp)
19126 packed_data(ipack) = pack_tmp
19127 data_tmp = full_data(idata)
19128 pack_tmp = ishft(data_tmp, 63)
19129 pack_tmp = ishft(pack_tmp, -27)
19131 data_tmp = full_data(idata)
19132 data_tmp = ishft(data_tmp, 37)
19133 pack_tmp = ior(pack_tmp, data_tmp)
19134 pack_tmp = ishft(pack_tmp, -27)
19136 data_tmp = full_data(idata)
19137 data_tmp = ishft(data_tmp, 37)
19138 pack_tmp = ior(pack_tmp, data_tmp)
19139 pack_tmp = ishft(pack_tmp, -9)
19141 data_tmp = full_data(idata)
19142 data_tmp = ishft(data_tmp, 37)
19143 data_tmp = iand(data_tmp, mask_left(9))
19144 pack_tmp = ior(pack_tmp, data_tmp)
19146 packed_data(ipack) = pack_tmp
19147 data_tmp = full_data(idata)
19148 pack_tmp = ishft(data_tmp, 46)
19149 pack_tmp = ishft(pack_tmp, -27)
19151 data_tmp = full_data(idata)
19152 data_tmp = ishft(data_tmp, 37)
19153 pack_tmp = ior(pack_tmp, data_tmp)
19154 pack_tmp = ishft(pack_tmp, -19)
19156 data_tmp = full_data(idata)
19157 data_tmp = ishft(data_tmp, 37)
19158 data_tmp = iand(data_tmp, mask_left(19))
19159 pack_tmp = ior(pack_tmp, data_tmp)
19161 packed_data(ipack) = pack_tmp
19162 data_tmp = full_data(idata)
19163 pack_tmp = ishft(data_tmp, 56)
19164 pack_tmp = ishft(pack_tmp, -27)
19166 data_tmp = full_data(idata)
19167 data_tmp = ishft(data_tmp, 37)
19168 pack_tmp = ior(pack_tmp, data_tmp)
19169 pack_tmp = ishft(pack_tmp, -27)
19171 data_tmp = full_data(idata)
19172 data_tmp = ishft(data_tmp, 37)
19173 pack_tmp = ior(pack_tmp, data_tmp)
19174 pack_tmp = ishft(pack_tmp, -2)
19176 data_tmp = full_data(idata)
19177 data_tmp = ishft(data_tmp, 37)
19178 data_tmp = iand(data_tmp, mask_left(2))
19179 pack_tmp = ior(pack_tmp, data_tmp)
19181 packed_data(ipack) = pack_tmp
19182 data_tmp = full_data(idata)
19183 pack_tmp = ishft(data_tmp, 39)
19184 pack_tmp = ishft(pack_tmp, -27)
19186 data_tmp = full_data(idata)
19187 data_tmp = ishft(data_tmp, 37)
19188 pack_tmp = ior(pack_tmp, data_tmp)
19189 pack_tmp = ishft(pack_tmp, -12)
19191 data_tmp = full_data(idata)
19192 data_tmp = ishft(data_tmp, 37)
19193 data_tmp = iand(data_tmp, mask_left(12))
19194 pack_tmp = ior(pack_tmp, data_tmp)
19196 packed_data(ipack) = pack_tmp
19197 data_tmp = full_data(idata)
19198 pack_tmp = ishft(data_tmp, 49)
19199 pack_tmp = ishft(pack_tmp, -27)
19201 data_tmp = full_data(idata)
19202 data_tmp = ishft(data_tmp, 37)
19203 pack_tmp = ior(pack_tmp, data_tmp)
19204 pack_tmp = ishft(pack_tmp, -22)
19206 data_tmp = full_data(idata)
19207 data_tmp = ishft(data_tmp, 37)
19208 data_tmp = iand(data_tmp, mask_left(22))
19209 pack_tmp = ior(pack_tmp, data_tmp)
19211 packed_data(ipack) = pack_tmp
19212 data_tmp = full_data(idata)
19213 pack_tmp = ishft(data_tmp, 59)
19214 pack_tmp = ishft(pack_tmp, -27)
19216 data_tmp = full_data(idata)
19217 data_tmp = ishft(data_tmp, 37)
19218 pack_tmp = ior(pack_tmp, data_tmp)
19219 pack_tmp = ishft(pack_tmp, -27)
19221 data_tmp = full_data(idata)
19222 data_tmp = ishft(data_tmp, 37)
19223 pack_tmp = ior(pack_tmp, data_tmp)
19224 pack_tmp = ishft(pack_tmp, -5)
19226 data_tmp = full_data(idata)
19227 data_tmp = ishft(data_tmp, 37)
19228 data_tmp = iand(data_tmp, mask_left(5))
19229 pack_tmp = ior(pack_tmp, data_tmp)
19231 packed_data(ipack) = pack_tmp
19232 data_tmp = full_data(idata)
19233 pack_tmp = ishft(data_tmp, 42)
19234 pack_tmp = ishft(pack_tmp, -27)
19236 data_tmp = full_data(idata)
19237 data_tmp = ishft(data_tmp, 37)
19238 pack_tmp = ior(pack_tmp, data_tmp)
19239 pack_tmp = ishft(pack_tmp, -15)
19241 data_tmp = full_data(idata)
19242 data_tmp = ishft(data_tmp, 37)
19243 data_tmp = iand(data_tmp, mask_left(15))
19244 pack_tmp = ior(pack_tmp, data_tmp)
19246 packed_data(ipack) = pack_tmp
19247 data_tmp = full_data(idata)
19248 pack_tmp = ishft(data_tmp, 52)
19249 pack_tmp = ishft(pack_tmp, -27)
19251 data_tmp = full_data(idata)
19252 data_tmp = ishft(data_tmp, 37)
19253 pack_tmp = ior(pack_tmp, data_tmp)
19254 pack_tmp = ishft(pack_tmp, -25)
19256 data_tmp = full_data(idata)
19257 data_tmp = ishft(data_tmp, 37)
19258 data_tmp = iand(data_tmp, mask_left(25))
19259 pack_tmp = ior(pack_tmp, data_tmp)
19261 packed_data(ipack) = pack_tmp
19262 data_tmp = full_data(idata)
19263 pack_tmp = ishft(data_tmp, 62)
19264 pack_tmp = ishft(pack_tmp, -27)
19266 data_tmp = full_data(idata)
19267 data_tmp = ishft(data_tmp, 37)
19268 pack_tmp = ior(pack_tmp, data_tmp)
19269 pack_tmp = ishft(pack_tmp, -27)
19271 data_tmp = full_data(idata)
19272 data_tmp = ishft(data_tmp, 37)
19273 pack_tmp = ior(pack_tmp, data_tmp)
19274 pack_tmp = ishft(pack_tmp, -8)
19276 data_tmp = full_data(idata)
19277 data_tmp = ishft(data_tmp, 37)
19278 data_tmp = iand(data_tmp, mask_left(8))
19279 pack_tmp = ior(pack_tmp, data_tmp)
19281 packed_data(ipack) = pack_tmp
19282 data_tmp = full_data(idata)
19283 pack_tmp = ishft(data_tmp, 45)
19284 pack_tmp = ishft(pack_tmp, -27)
19286 data_tmp = full_data(idata)
19287 data_tmp = ishft(data_tmp, 37)
19288 pack_tmp = ior(pack_tmp, data_tmp)
19289 pack_tmp = ishft(pack_tmp, -18)
19291 data_tmp = full_data(idata)
19292 data_tmp = ishft(data_tmp, 37)
19293 data_tmp = iand(data_tmp, mask_left(18))
19294 pack_tmp = ior(pack_tmp, data_tmp)
19296 packed_data(ipack) = pack_tmp
19297 data_tmp = full_data(idata)
19298 pack_tmp = ishft(data_tmp, 55)
19299 pack_tmp = ishft(pack_tmp, -27)
19301 data_tmp = full_data(idata)
19302 data_tmp = ishft(data_tmp, 37)
19303 pack_tmp = ior(pack_tmp, data_tmp)
19304 pack_tmp = ishft(pack_tmp, -27)
19306 data_tmp = full_data(idata)
19307 data_tmp = ishft(data_tmp, 37)
19308 pack_tmp = ior(pack_tmp, data_tmp)
19309 pack_tmp = ishft(pack_tmp, -1)
19311 data_tmp = full_data(idata)
19312 data_tmp = ishft(data_tmp, 37)
19313 data_tmp = iand(data_tmp, mask_left(1))
19314 pack_tmp = ior(pack_tmp, data_tmp)
19316 packed_data(ipack) = pack_tmp
19317 data_tmp = full_data(idata)
19318 pack_tmp = ishft(data_tmp, 38)
19319 pack_tmp = ishft(pack_tmp, -27)
19321 data_tmp = full_data(idata)
19322 data_tmp = ishft(data_tmp, 37)
19323 pack_tmp = ior(pack_tmp, data_tmp)
19324 pack_tmp = ishft(pack_tmp, -11)
19326 data_tmp = full_data(idata)
19327 data_tmp = ishft(data_tmp, 37)
19328 data_tmp = iand(data_tmp, mask_left(11))
19329 pack_tmp = ior(pack_tmp, data_tmp)
19331 packed_data(ipack) = pack_tmp
19332 data_tmp = full_data(idata)
19333 pack_tmp = ishft(data_tmp, 48)
19334 pack_tmp = ishft(pack_tmp, -27)
19336 data_tmp = full_data(idata)
19337 data_tmp = ishft(data_tmp, 37)
19338 pack_tmp = ior(pack_tmp, data_tmp)
19339 pack_tmp = ishft(pack_tmp, -21)
19341 data_tmp = full_data(idata)
19342 data_tmp = ishft(data_tmp, 37)
19343 data_tmp = iand(data_tmp, mask_left(21))
19344 pack_tmp = ior(pack_tmp, data_tmp)
19346 packed_data(ipack) = pack_tmp
19347 data_tmp = full_data(idata)
19348 pack_tmp = ishft(data_tmp, 58)
19349 pack_tmp = ishft(pack_tmp, -27)
19351 data_tmp = full_data(idata)
19352 data_tmp = ishft(data_tmp, 37)
19353 pack_tmp = ior(pack_tmp, data_tmp)
19354 pack_tmp = ishft(pack_tmp, -27)
19356 data_tmp = full_data(idata)
19357 data_tmp = ishft(data_tmp, 37)
19358 pack_tmp = ior(pack_tmp, data_tmp)
19359 pack_tmp = ishft(pack_tmp, -4)
19361 data_tmp = full_data(idata)
19362 data_tmp = ishft(data_tmp, 37)
19363 data_tmp = iand(data_tmp, mask_left(4))
19364 pack_tmp = ior(pack_tmp, data_tmp)
19366 packed_data(ipack) = pack_tmp
19367 data_tmp = full_data(idata)
19368 pack_tmp = ishft(data_tmp, 41)
19369 pack_tmp = ishft(pack_tmp, -27)
19371 data_tmp = full_data(idata)
19372 data_tmp = ishft(data_tmp, 37)
19373 pack_tmp = ior(pack_tmp, data_tmp)
19374 pack_tmp = ishft(pack_tmp, -14)
19376 data_tmp = full_data(idata)
19377 data_tmp = ishft(data_tmp, 37)
19378 data_tmp = iand(data_tmp, mask_left(14))
19379 pack_tmp = ior(pack_tmp, data_tmp)
19381 packed_data(ipack) = pack_tmp
19382 data_tmp = full_data(idata)
19383 pack_tmp = ishft(data_tmp, 51)
19384 pack_tmp = ishft(pack_tmp, -27)
19386 data_tmp = full_data(idata)
19387 data_tmp = ishft(data_tmp, 37)
19388 pack_tmp = ior(pack_tmp, data_tmp)
19389 pack_tmp = ishft(pack_tmp, -24)
19391 data_tmp = full_data(idata)
19392 data_tmp = ishft(data_tmp, 37)
19393 data_tmp = iand(data_tmp, mask_left(24))
19394 pack_tmp = ior(pack_tmp, data_tmp)
19396 packed_data(ipack) = pack_tmp
19397 data_tmp = full_data(idata)
19398 pack_tmp = ishft(data_tmp, 61)
19399 pack_tmp = ishft(pack_tmp, -27)
19401 data_tmp = full_data(idata)
19402 data_tmp = ishft(data_tmp, 37)
19403 pack_tmp = ior(pack_tmp, data_tmp)
19404 pack_tmp = ishft(pack_tmp, -27)
19406 data_tmp = full_data(idata)
19407 data_tmp = ishft(data_tmp, 37)
19408 pack_tmp = ior(pack_tmp, data_tmp)
19409 pack_tmp = ishft(pack_tmp, -7)
19411 data_tmp = full_data(idata)
19412 data_tmp = ishft(data_tmp, 37)
19413 data_tmp = iand(data_tmp, mask_left(7))
19414 pack_tmp = ior(pack_tmp, data_tmp)
19416 packed_data(ipack) = pack_tmp
19417 data_tmp = full_data(idata)
19418 pack_tmp = ishft(data_tmp, 44)
19419 pack_tmp = ishft(pack_tmp, -27)
19421 data_tmp = full_data(idata)
19422 data_tmp = ishft(data_tmp, 37)
19423 pack_tmp = ior(pack_tmp, data_tmp)
19424 pack_tmp = ishft(pack_tmp, -17)
19426 data_tmp = full_data(idata)
19427 data_tmp = ishft(data_tmp, 37)
19428 data_tmp = iand(data_tmp, mask_left(17))
19429 pack_tmp = ior(pack_tmp, data_tmp)
19431 packed_data(ipack) = pack_tmp
19432 data_tmp = full_data(idata)
19433 pack_tmp = ishft(data_tmp, 54)
19434 pack_tmp = ishft(pack_tmp, -27)
19436 data_tmp = full_data(idata)
19437 data_tmp = ishft(data_tmp, 37)
19438 pack_tmp = ior(pack_tmp, data_tmp)
19439 pack_tmp = ishft(pack_tmp, -27)
19441 data_tmp = full_data(idata)
19442 data_tmp = ishft(data_tmp, 37)
19443 pack_tmp = ior(pack_tmp, data_tmp)
19444 pack_tmp = ishft(pack_tmp, 0)
19445 pack_tmp = ishft(pack_tmp, 0)
19447 packed_data(ipack) = pack_tmp
19449 IF (ndata_rep < ndata)
THEN
19450 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
19452 END SUBROUTINE ints2bits_27
19460 SUBROUTINE bits2ints_27(Ndata, packed_data, full_data)
19461 INTEGER,
INTENT(IN) :: Ndata
19462 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
19463 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
19465 INTEGER,
PARAMETER :: Nbits = 27
19467 INTEGER :: idata, ipack, kdata, Ndata_rep
19468 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
19473 ndata_rep = (ndata/64)*64
19474 DO kdata = 1, ndata_rep, 64
19476 data_tmp = ishft(pack_tmp, 27)
19478 pack_tmp = packed_data(ipack)
19479 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
19480 pack_tmp = ishft(pack_tmp, -27)
19482 data_tmp = iand(pack_tmp, mask_right(nbits))
19483 full_data(idata) = data_tmp
19484 pack_tmp = ishft(pack_tmp, -nbits)
19486 data_tmp = ishft(pack_tmp, 17)
19488 pack_tmp = packed_data(ipack)
19489 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
19490 pack_tmp = ishft(pack_tmp, -17)
19492 data_tmp = iand(pack_tmp, mask_right(nbits))
19493 full_data(idata) = data_tmp
19494 pack_tmp = ishft(pack_tmp, -nbits)
19496 data_tmp = ishft(pack_tmp, 7)
19498 pack_tmp = packed_data(ipack)
19499 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
19500 pack_tmp = ishft(pack_tmp, -7)
19502 data_tmp = iand(pack_tmp, mask_right(nbits))
19503 full_data(idata) = data_tmp
19504 pack_tmp = ishft(pack_tmp, -nbits)
19506 data_tmp = iand(pack_tmp, mask_right(nbits))
19507 full_data(idata) = data_tmp
19508 pack_tmp = ishft(pack_tmp, -nbits)
19510 data_tmp = ishft(pack_tmp, 24)
19512 pack_tmp = packed_data(ipack)
19513 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
19514 pack_tmp = ishft(pack_tmp, -24)
19516 data_tmp = iand(pack_tmp, mask_right(nbits))
19517 full_data(idata) = data_tmp
19518 pack_tmp = ishft(pack_tmp, -nbits)
19520 data_tmp = ishft(pack_tmp, 14)
19522 pack_tmp = packed_data(ipack)
19523 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
19524 pack_tmp = ishft(pack_tmp, -14)
19526 data_tmp = iand(pack_tmp, mask_right(nbits))
19527 full_data(idata) = data_tmp
19528 pack_tmp = ishft(pack_tmp, -nbits)
19530 data_tmp = ishft(pack_tmp, 4)
19532 pack_tmp = packed_data(ipack)
19533 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
19534 pack_tmp = ishft(pack_tmp, -4)
19536 data_tmp = iand(pack_tmp, mask_right(nbits))
19537 full_data(idata) = data_tmp
19538 pack_tmp = ishft(pack_tmp, -nbits)
19540 data_tmp = iand(pack_tmp, mask_right(nbits))
19541 full_data(idata) = data_tmp
19542 pack_tmp = ishft(pack_tmp, -nbits)
19544 data_tmp = ishft(pack_tmp, 21)
19546 pack_tmp = packed_data(ipack)
19547 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
19548 pack_tmp = ishft(pack_tmp, -21)
19550 data_tmp = iand(pack_tmp, mask_right(nbits))
19551 full_data(idata) = data_tmp
19552 pack_tmp = ishft(pack_tmp, -nbits)
19554 data_tmp = ishft(pack_tmp, 11)
19556 pack_tmp = packed_data(ipack)
19557 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
19558 pack_tmp = ishft(pack_tmp, -11)
19560 data_tmp = iand(pack_tmp, mask_right(nbits))
19561 full_data(idata) = data_tmp
19562 pack_tmp = ishft(pack_tmp, -nbits)
19564 data_tmp = ishft(pack_tmp, 1)
19566 pack_tmp = packed_data(ipack)
19567 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
19568 pack_tmp = ishft(pack_tmp, -1)
19570 data_tmp = iand(pack_tmp, mask_right(nbits))
19571 full_data(idata) = data_tmp
19572 pack_tmp = ishft(pack_tmp, -nbits)
19574 data_tmp = iand(pack_tmp, mask_right(nbits))
19575 full_data(idata) = data_tmp
19576 pack_tmp = ishft(pack_tmp, -nbits)
19578 data_tmp = ishft(pack_tmp, 18)
19580 pack_tmp = packed_data(ipack)
19581 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
19582 pack_tmp = ishft(pack_tmp, -18)
19584 data_tmp = iand(pack_tmp, mask_right(nbits))
19585 full_data(idata) = data_tmp
19586 pack_tmp = ishft(pack_tmp, -nbits)
19588 data_tmp = ishft(pack_tmp, 8)
19590 pack_tmp = packed_data(ipack)
19591 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
19592 pack_tmp = ishft(pack_tmp, -8)
19594 data_tmp = iand(pack_tmp, mask_right(nbits))
19595 full_data(idata) = data_tmp
19596 pack_tmp = ishft(pack_tmp, -nbits)
19598 data_tmp = iand(pack_tmp, mask_right(nbits))
19599 full_data(idata) = data_tmp
19600 pack_tmp = ishft(pack_tmp, -nbits)
19602 data_tmp = ishft(pack_tmp, 25)
19604 pack_tmp = packed_data(ipack)
19605 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
19606 pack_tmp = ishft(pack_tmp, -25)
19608 data_tmp = iand(pack_tmp, mask_right(nbits))
19609 full_data(idata) = data_tmp
19610 pack_tmp = ishft(pack_tmp, -nbits)
19612 data_tmp = ishft(pack_tmp, 15)
19614 pack_tmp = packed_data(ipack)
19615 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
19616 pack_tmp = ishft(pack_tmp, -15)
19618 data_tmp = iand(pack_tmp, mask_right(nbits))
19619 full_data(idata) = data_tmp
19620 pack_tmp = ishft(pack_tmp, -nbits)
19622 data_tmp = ishft(pack_tmp, 5)
19624 pack_tmp = packed_data(ipack)
19625 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
19626 pack_tmp = ishft(pack_tmp, -5)
19628 data_tmp = iand(pack_tmp, mask_right(nbits))
19629 full_data(idata) = data_tmp
19630 pack_tmp = ishft(pack_tmp, -nbits)
19632 data_tmp = iand(pack_tmp, mask_right(nbits))
19633 full_data(idata) = data_tmp
19634 pack_tmp = ishft(pack_tmp, -nbits)
19636 data_tmp = ishft(pack_tmp, 22)
19638 pack_tmp = packed_data(ipack)
19639 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
19640 pack_tmp = ishft(pack_tmp, -22)
19642 data_tmp = iand(pack_tmp, mask_right(nbits))
19643 full_data(idata) = data_tmp
19644 pack_tmp = ishft(pack_tmp, -nbits)
19646 data_tmp = ishft(pack_tmp, 12)
19648 pack_tmp = packed_data(ipack)
19649 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
19650 pack_tmp = ishft(pack_tmp, -12)
19652 data_tmp = iand(pack_tmp, mask_right(nbits))
19653 full_data(idata) = data_tmp
19654 pack_tmp = ishft(pack_tmp, -nbits)
19656 data_tmp = ishft(pack_tmp, 2)
19658 pack_tmp = packed_data(ipack)
19659 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
19660 pack_tmp = ishft(pack_tmp, -2)
19662 data_tmp = iand(pack_tmp, mask_right(nbits))
19663 full_data(idata) = data_tmp
19664 pack_tmp = ishft(pack_tmp, -nbits)
19666 data_tmp = iand(pack_tmp, mask_right(nbits))
19667 full_data(idata) = data_tmp
19668 pack_tmp = ishft(pack_tmp, -nbits)
19670 data_tmp = ishft(pack_tmp, 19)
19672 pack_tmp = packed_data(ipack)
19673 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
19674 pack_tmp = ishft(pack_tmp, -19)
19676 data_tmp = iand(pack_tmp, mask_right(nbits))
19677 full_data(idata) = data_tmp
19678 pack_tmp = ishft(pack_tmp, -nbits)
19680 data_tmp = ishft(pack_tmp, 9)
19682 pack_tmp = packed_data(ipack)
19683 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
19684 pack_tmp = ishft(pack_tmp, -9)
19686 data_tmp = iand(pack_tmp, mask_right(nbits))
19687 full_data(idata) = data_tmp
19688 pack_tmp = ishft(pack_tmp, -nbits)
19690 data_tmp = iand(pack_tmp, mask_right(nbits))
19691 full_data(idata) = data_tmp
19692 pack_tmp = ishft(pack_tmp, -nbits)
19694 data_tmp = ishft(pack_tmp, 26)
19696 pack_tmp = packed_data(ipack)
19697 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
19698 pack_tmp = ishft(pack_tmp, -26)
19700 data_tmp = iand(pack_tmp, mask_right(nbits))
19701 full_data(idata) = data_tmp
19702 pack_tmp = ishft(pack_tmp, -nbits)
19704 data_tmp = ishft(pack_tmp, 16)
19706 pack_tmp = packed_data(ipack)
19707 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
19708 pack_tmp = ishft(pack_tmp, -16)
19710 data_tmp = iand(pack_tmp, mask_right(nbits))
19711 full_data(idata) = data_tmp
19712 pack_tmp = ishft(pack_tmp, -nbits)
19714 data_tmp = ishft(pack_tmp, 6)
19716 pack_tmp = packed_data(ipack)
19717 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
19718 pack_tmp = ishft(pack_tmp, -6)
19720 data_tmp = iand(pack_tmp, mask_right(nbits))
19721 full_data(idata) = data_tmp
19722 pack_tmp = ishft(pack_tmp, -nbits)
19724 data_tmp = iand(pack_tmp, mask_right(nbits))
19725 full_data(idata) = data_tmp
19726 pack_tmp = ishft(pack_tmp, -nbits)
19728 data_tmp = ishft(pack_tmp, 23)
19730 pack_tmp = packed_data(ipack)
19731 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
19732 pack_tmp = ishft(pack_tmp, -23)
19734 data_tmp = iand(pack_tmp, mask_right(nbits))
19735 full_data(idata) = data_tmp
19736 pack_tmp = ishft(pack_tmp, -nbits)
19738 data_tmp = ishft(pack_tmp, 13)
19740 pack_tmp = packed_data(ipack)
19741 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
19742 pack_tmp = ishft(pack_tmp, -13)
19744 data_tmp = iand(pack_tmp, mask_right(nbits))
19745 full_data(idata) = data_tmp
19746 pack_tmp = ishft(pack_tmp, -nbits)
19748 data_tmp = ishft(pack_tmp, 3)
19750 pack_tmp = packed_data(ipack)
19751 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
19752 pack_tmp = ishft(pack_tmp, -3)
19754 data_tmp = iand(pack_tmp, mask_right(nbits))
19755 full_data(idata) = data_tmp
19756 pack_tmp = ishft(pack_tmp, -nbits)
19758 data_tmp = iand(pack_tmp, mask_right(nbits))
19759 full_data(idata) = data_tmp
19760 pack_tmp = ishft(pack_tmp, -nbits)
19762 data_tmp = ishft(pack_tmp, 20)
19764 pack_tmp = packed_data(ipack)
19765 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
19766 pack_tmp = ishft(pack_tmp, -20)
19768 data_tmp = iand(pack_tmp, mask_right(nbits))
19769 full_data(idata) = data_tmp
19770 pack_tmp = ishft(pack_tmp, -nbits)
19772 data_tmp = ishft(pack_tmp, 10)
19774 pack_tmp = packed_data(ipack)
19775 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
19776 pack_tmp = ishft(pack_tmp, -10)
19778 data_tmp = iand(pack_tmp, mask_right(nbits))
19779 full_data(idata) = data_tmp
19780 pack_tmp = ishft(pack_tmp, -nbits)
19782 data_tmp = iand(pack_tmp, mask_right(nbits))
19783 full_data(idata) = data_tmp
19784 pack_tmp = ishft(pack_tmp, -nbits)
19786 IF (ndata_rep < ndata)
THEN
19787 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
19789 END SUBROUTINE bits2ints_27
19797 SUBROUTINE ints2bits_28(Ndata, packed_data, full_data)
19798 INTEGER,
INTENT(IN) :: Ndata
19799 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
19800 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
19802 INTEGER,
PARAMETER :: Nbits = 28
19804 INTEGER :: idata, ipack, kdata, Ndata_rep
19805 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
19809 ndata_rep = (ndata/64)*64
19810 DO kdata = 1, ndata_rep, 64
19813 data_tmp = full_data(idata)
19814 data_tmp = ishft(data_tmp, 36)
19815 pack_tmp = ior(pack_tmp, data_tmp)
19816 pack_tmp = ishft(pack_tmp, -28)
19818 data_tmp = full_data(idata)
19819 data_tmp = ishft(data_tmp, 36)
19820 pack_tmp = ior(pack_tmp, data_tmp)
19821 pack_tmp = ishft(pack_tmp, -8)
19823 data_tmp = full_data(idata)
19824 data_tmp = ishft(data_tmp, 36)
19825 data_tmp = iand(data_tmp, mask_left(8))
19826 pack_tmp = ior(pack_tmp, data_tmp)
19828 packed_data(ipack) = pack_tmp
19829 data_tmp = full_data(idata)
19830 pack_tmp = ishft(data_tmp, 44)
19831 pack_tmp = ishft(pack_tmp, -28)
19833 data_tmp = full_data(idata)
19834 data_tmp = ishft(data_tmp, 36)
19835 pack_tmp = ior(pack_tmp, data_tmp)
19836 pack_tmp = ishft(pack_tmp, -16)
19838 data_tmp = full_data(idata)
19839 data_tmp = ishft(data_tmp, 36)
19840 data_tmp = iand(data_tmp, mask_left(16))
19841 pack_tmp = ior(pack_tmp, data_tmp)
19843 packed_data(ipack) = pack_tmp
19844 data_tmp = full_data(idata)
19845 pack_tmp = ishft(data_tmp, 52)
19846 pack_tmp = ishft(pack_tmp, -28)
19848 data_tmp = full_data(idata)
19849 data_tmp = ishft(data_tmp, 36)
19850 pack_tmp = ior(pack_tmp, data_tmp)
19851 pack_tmp = ishft(pack_tmp, -24)
19853 data_tmp = full_data(idata)
19854 data_tmp = ishft(data_tmp, 36)
19855 data_tmp = iand(data_tmp, mask_left(24))
19856 pack_tmp = ior(pack_tmp, data_tmp)
19858 packed_data(ipack) = pack_tmp
19859 data_tmp = full_data(idata)
19860 pack_tmp = ishft(data_tmp, 60)
19861 pack_tmp = ishft(pack_tmp, -28)
19863 data_tmp = full_data(idata)
19864 data_tmp = ishft(data_tmp, 36)
19865 pack_tmp = ior(pack_tmp, data_tmp)
19866 pack_tmp = ishft(pack_tmp, -28)
19868 data_tmp = full_data(idata)
19869 data_tmp = ishft(data_tmp, 36)
19870 pack_tmp = ior(pack_tmp, data_tmp)
19871 pack_tmp = ishft(pack_tmp, -4)
19873 data_tmp = full_data(idata)
19874 data_tmp = ishft(data_tmp, 36)
19875 data_tmp = iand(data_tmp, mask_left(4))
19876 pack_tmp = ior(pack_tmp, data_tmp)
19878 packed_data(ipack) = pack_tmp
19879 data_tmp = full_data(idata)
19880 pack_tmp = ishft(data_tmp, 40)
19881 pack_tmp = ishft(pack_tmp, -28)
19883 data_tmp = full_data(idata)
19884 data_tmp = ishft(data_tmp, 36)
19885 pack_tmp = ior(pack_tmp, data_tmp)
19886 pack_tmp = ishft(pack_tmp, -12)
19888 data_tmp = full_data(idata)
19889 data_tmp = ishft(data_tmp, 36)
19890 data_tmp = iand(data_tmp, mask_left(12))
19891 pack_tmp = ior(pack_tmp, data_tmp)
19893 packed_data(ipack) = pack_tmp
19894 data_tmp = full_data(idata)
19895 pack_tmp = ishft(data_tmp, 48)
19896 pack_tmp = ishft(pack_tmp, -28)
19898 data_tmp = full_data(idata)
19899 data_tmp = ishft(data_tmp, 36)
19900 pack_tmp = ior(pack_tmp, data_tmp)
19901 pack_tmp = ishft(pack_tmp, -20)
19903 data_tmp = full_data(idata)
19904 data_tmp = ishft(data_tmp, 36)
19905 data_tmp = iand(data_tmp, mask_left(20))
19906 pack_tmp = ior(pack_tmp, data_tmp)
19908 packed_data(ipack) = pack_tmp
19909 data_tmp = full_data(idata)
19910 pack_tmp = ishft(data_tmp, 56)
19911 pack_tmp = ishft(pack_tmp, -28)
19913 data_tmp = full_data(idata)
19914 data_tmp = ishft(data_tmp, 36)
19915 pack_tmp = ior(pack_tmp, data_tmp)
19916 pack_tmp = ishft(pack_tmp, -28)
19918 data_tmp = full_data(idata)
19919 data_tmp = ishft(data_tmp, 36)
19920 pack_tmp = ior(pack_tmp, data_tmp)
19921 pack_tmp = ishft(pack_tmp, 0)
19923 data_tmp = full_data(idata)
19924 data_tmp = ishft(data_tmp, 36)
19925 data_tmp = iand(data_tmp, mask_left(0))
19926 pack_tmp = ior(pack_tmp, data_tmp)
19928 packed_data(ipack) = pack_tmp
19929 data_tmp = full_data(idata)
19930 pack_tmp = ishft(data_tmp, 36)
19931 pack_tmp = ishft(pack_tmp, -28)
19933 data_tmp = full_data(idata)
19934 data_tmp = ishft(data_tmp, 36)
19935 pack_tmp = ior(pack_tmp, data_tmp)
19936 pack_tmp = ishft(pack_tmp, -8)
19938 data_tmp = full_data(idata)
19939 data_tmp = ishft(data_tmp, 36)
19940 data_tmp = iand(data_tmp, mask_left(8))
19941 pack_tmp = ior(pack_tmp, data_tmp)
19943 packed_data(ipack) = pack_tmp
19944 data_tmp = full_data(idata)
19945 pack_tmp = ishft(data_tmp, 44)
19946 pack_tmp = ishft(pack_tmp, -28)
19948 data_tmp = full_data(idata)
19949 data_tmp = ishft(data_tmp, 36)
19950 pack_tmp = ior(pack_tmp, data_tmp)
19951 pack_tmp = ishft(pack_tmp, -16)
19953 data_tmp = full_data(idata)
19954 data_tmp = ishft(data_tmp, 36)
19955 data_tmp = iand(data_tmp, mask_left(16))
19956 pack_tmp = ior(pack_tmp, data_tmp)
19958 packed_data(ipack) = pack_tmp
19959 data_tmp = full_data(idata)
19960 pack_tmp = ishft(data_tmp, 52)
19961 pack_tmp = ishft(pack_tmp, -28)
19963 data_tmp = full_data(idata)
19964 data_tmp = ishft(data_tmp, 36)
19965 pack_tmp = ior(pack_tmp, data_tmp)
19966 pack_tmp = ishft(pack_tmp, -24)
19968 data_tmp = full_data(idata)
19969 data_tmp = ishft(data_tmp, 36)
19970 data_tmp = iand(data_tmp, mask_left(24))
19971 pack_tmp = ior(pack_tmp, data_tmp)
19973 packed_data(ipack) = pack_tmp
19974 data_tmp = full_data(idata)
19975 pack_tmp = ishft(data_tmp, 60)
19976 pack_tmp = ishft(pack_tmp, -28)
19978 data_tmp = full_data(idata)
19979 data_tmp = ishft(data_tmp, 36)
19980 pack_tmp = ior(pack_tmp, data_tmp)
19981 pack_tmp = ishft(pack_tmp, -28)
19983 data_tmp = full_data(idata)
19984 data_tmp = ishft(data_tmp, 36)
19985 pack_tmp = ior(pack_tmp, data_tmp)
19986 pack_tmp = ishft(pack_tmp, -4)
19988 data_tmp = full_data(idata)
19989 data_tmp = ishft(data_tmp, 36)
19990 data_tmp = iand(data_tmp, mask_left(4))
19991 pack_tmp = ior(pack_tmp, data_tmp)
19993 packed_data(ipack) = pack_tmp
19994 data_tmp = full_data(idata)
19995 pack_tmp = ishft(data_tmp, 40)
19996 pack_tmp = ishft(pack_tmp, -28)
19998 data_tmp = full_data(idata)
19999 data_tmp = ishft(data_tmp, 36)
20000 pack_tmp = ior(pack_tmp, data_tmp)
20001 pack_tmp = ishft(pack_tmp, -12)
20003 data_tmp = full_data(idata)
20004 data_tmp = ishft(data_tmp, 36)
20005 data_tmp = iand(data_tmp, mask_left(12))
20006 pack_tmp = ior(pack_tmp, data_tmp)
20008 packed_data(ipack) = pack_tmp
20009 data_tmp = full_data(idata)
20010 pack_tmp = ishft(data_tmp, 48)
20011 pack_tmp = ishft(pack_tmp, -28)
20013 data_tmp = full_data(idata)
20014 data_tmp = ishft(data_tmp, 36)
20015 pack_tmp = ior(pack_tmp, data_tmp)
20016 pack_tmp = ishft(pack_tmp, -20)
20018 data_tmp = full_data(idata)
20019 data_tmp = ishft(data_tmp, 36)
20020 data_tmp = iand(data_tmp, mask_left(20))
20021 pack_tmp = ior(pack_tmp, data_tmp)
20023 packed_data(ipack) = pack_tmp
20024 data_tmp = full_data(idata)
20025 pack_tmp = ishft(data_tmp, 56)
20026 pack_tmp = ishft(pack_tmp, -28)
20028 data_tmp = full_data(idata)
20029 data_tmp = ishft(data_tmp, 36)
20030 pack_tmp = ior(pack_tmp, data_tmp)
20031 pack_tmp = ishft(pack_tmp, -28)
20033 data_tmp = full_data(idata)
20034 data_tmp = ishft(data_tmp, 36)
20035 pack_tmp = ior(pack_tmp, data_tmp)
20036 pack_tmp = ishft(pack_tmp, 0)
20038 data_tmp = full_data(idata)
20039 data_tmp = ishft(data_tmp, 36)
20040 data_tmp = iand(data_tmp, mask_left(0))
20041 pack_tmp = ior(pack_tmp, data_tmp)
20043 packed_data(ipack) = pack_tmp
20044 data_tmp = full_data(idata)
20045 pack_tmp = ishft(data_tmp, 36)
20046 pack_tmp = ishft(pack_tmp, -28)
20048 data_tmp = full_data(idata)
20049 data_tmp = ishft(data_tmp, 36)
20050 pack_tmp = ior(pack_tmp, data_tmp)
20051 pack_tmp = ishft(pack_tmp, -8)
20053 data_tmp = full_data(idata)
20054 data_tmp = ishft(data_tmp, 36)
20055 data_tmp = iand(data_tmp, mask_left(8))
20056 pack_tmp = ior(pack_tmp, data_tmp)
20058 packed_data(ipack) = pack_tmp
20059 data_tmp = full_data(idata)
20060 pack_tmp = ishft(data_tmp, 44)
20061 pack_tmp = ishft(pack_tmp, -28)
20063 data_tmp = full_data(idata)
20064 data_tmp = ishft(data_tmp, 36)
20065 pack_tmp = ior(pack_tmp, data_tmp)
20066 pack_tmp = ishft(pack_tmp, -16)
20068 data_tmp = full_data(idata)
20069 data_tmp = ishft(data_tmp, 36)
20070 data_tmp = iand(data_tmp, mask_left(16))
20071 pack_tmp = ior(pack_tmp, data_tmp)
20073 packed_data(ipack) = pack_tmp
20074 data_tmp = full_data(idata)
20075 pack_tmp = ishft(data_tmp, 52)
20076 pack_tmp = ishft(pack_tmp, -28)
20078 data_tmp = full_data(idata)
20079 data_tmp = ishft(data_tmp, 36)
20080 pack_tmp = ior(pack_tmp, data_tmp)
20081 pack_tmp = ishft(pack_tmp, -24)
20083 data_tmp = full_data(idata)
20084 data_tmp = ishft(data_tmp, 36)
20085 data_tmp = iand(data_tmp, mask_left(24))
20086 pack_tmp = ior(pack_tmp, data_tmp)
20088 packed_data(ipack) = pack_tmp
20089 data_tmp = full_data(idata)
20090 pack_tmp = ishft(data_tmp, 60)
20091 pack_tmp = ishft(pack_tmp, -28)
20093 data_tmp = full_data(idata)
20094 data_tmp = ishft(data_tmp, 36)
20095 pack_tmp = ior(pack_tmp, data_tmp)
20096 pack_tmp = ishft(pack_tmp, -28)
20098 data_tmp = full_data(idata)
20099 data_tmp = ishft(data_tmp, 36)
20100 pack_tmp = ior(pack_tmp, data_tmp)
20101 pack_tmp = ishft(pack_tmp, -4)
20103 data_tmp = full_data(idata)
20104 data_tmp = ishft(data_tmp, 36)
20105 data_tmp = iand(data_tmp, mask_left(4))
20106 pack_tmp = ior(pack_tmp, data_tmp)
20108 packed_data(ipack) = pack_tmp
20109 data_tmp = full_data(idata)
20110 pack_tmp = ishft(data_tmp, 40)
20111 pack_tmp = ishft(pack_tmp, -28)
20113 data_tmp = full_data(idata)
20114 data_tmp = ishft(data_tmp, 36)
20115 pack_tmp = ior(pack_tmp, data_tmp)
20116 pack_tmp = ishft(pack_tmp, -12)
20118 data_tmp = full_data(idata)
20119 data_tmp = ishft(data_tmp, 36)
20120 data_tmp = iand(data_tmp, mask_left(12))
20121 pack_tmp = ior(pack_tmp, data_tmp)
20123 packed_data(ipack) = pack_tmp
20124 data_tmp = full_data(idata)
20125 pack_tmp = ishft(data_tmp, 48)
20126 pack_tmp = ishft(pack_tmp, -28)
20128 data_tmp = full_data(idata)
20129 data_tmp = ishft(data_tmp, 36)
20130 pack_tmp = ior(pack_tmp, data_tmp)
20131 pack_tmp = ishft(pack_tmp, -20)
20133 data_tmp = full_data(idata)
20134 data_tmp = ishft(data_tmp, 36)
20135 data_tmp = iand(data_tmp, mask_left(20))
20136 pack_tmp = ior(pack_tmp, data_tmp)
20138 packed_data(ipack) = pack_tmp
20139 data_tmp = full_data(idata)
20140 pack_tmp = ishft(data_tmp, 56)
20141 pack_tmp = ishft(pack_tmp, -28)
20143 data_tmp = full_data(idata)
20144 data_tmp = ishft(data_tmp, 36)
20145 pack_tmp = ior(pack_tmp, data_tmp)
20146 pack_tmp = ishft(pack_tmp, -28)
20148 data_tmp = full_data(idata)
20149 data_tmp = ishft(data_tmp, 36)
20150 pack_tmp = ior(pack_tmp, data_tmp)
20151 pack_tmp = ishft(pack_tmp, 0)
20153 data_tmp = full_data(idata)
20154 data_tmp = ishft(data_tmp, 36)
20155 data_tmp = iand(data_tmp, mask_left(0))
20156 pack_tmp = ior(pack_tmp, data_tmp)
20158 packed_data(ipack) = pack_tmp
20159 data_tmp = full_data(idata)
20160 pack_tmp = ishft(data_tmp, 36)
20161 pack_tmp = ishft(pack_tmp, -28)
20163 data_tmp = full_data(idata)
20164 data_tmp = ishft(data_tmp, 36)
20165 pack_tmp = ior(pack_tmp, data_tmp)
20166 pack_tmp = ishft(pack_tmp, -8)
20168 data_tmp = full_data(idata)
20169 data_tmp = ishft(data_tmp, 36)
20170 data_tmp = iand(data_tmp, mask_left(8))
20171 pack_tmp = ior(pack_tmp, data_tmp)
20173 packed_data(ipack) = pack_tmp
20174 data_tmp = full_data(idata)
20175 pack_tmp = ishft(data_tmp, 44)
20176 pack_tmp = ishft(pack_tmp, -28)
20178 data_tmp = full_data(idata)
20179 data_tmp = ishft(data_tmp, 36)
20180 pack_tmp = ior(pack_tmp, data_tmp)
20181 pack_tmp = ishft(pack_tmp, -16)
20183 data_tmp = full_data(idata)
20184 data_tmp = ishft(data_tmp, 36)
20185 data_tmp = iand(data_tmp, mask_left(16))
20186 pack_tmp = ior(pack_tmp, data_tmp)
20188 packed_data(ipack) = pack_tmp
20189 data_tmp = full_data(idata)
20190 pack_tmp = ishft(data_tmp, 52)
20191 pack_tmp = ishft(pack_tmp, -28)
20193 data_tmp = full_data(idata)
20194 data_tmp = ishft(data_tmp, 36)
20195 pack_tmp = ior(pack_tmp, data_tmp)
20196 pack_tmp = ishft(pack_tmp, -24)
20198 data_tmp = full_data(idata)
20199 data_tmp = ishft(data_tmp, 36)
20200 data_tmp = iand(data_tmp, mask_left(24))
20201 pack_tmp = ior(pack_tmp, data_tmp)
20203 packed_data(ipack) = pack_tmp
20204 data_tmp = full_data(idata)
20205 pack_tmp = ishft(data_tmp, 60)
20206 pack_tmp = ishft(pack_tmp, -28)
20208 data_tmp = full_data(idata)
20209 data_tmp = ishft(data_tmp, 36)
20210 pack_tmp = ior(pack_tmp, data_tmp)
20211 pack_tmp = ishft(pack_tmp, -28)
20213 data_tmp = full_data(idata)
20214 data_tmp = ishft(data_tmp, 36)
20215 pack_tmp = ior(pack_tmp, data_tmp)
20216 pack_tmp = ishft(pack_tmp, -4)
20218 data_tmp = full_data(idata)
20219 data_tmp = ishft(data_tmp, 36)
20220 data_tmp = iand(data_tmp, mask_left(4))
20221 pack_tmp = ior(pack_tmp, data_tmp)
20223 packed_data(ipack) = pack_tmp
20224 data_tmp = full_data(idata)
20225 pack_tmp = ishft(data_tmp, 40)
20226 pack_tmp = ishft(pack_tmp, -28)
20228 data_tmp = full_data(idata)
20229 data_tmp = ishft(data_tmp, 36)
20230 pack_tmp = ior(pack_tmp, data_tmp)
20231 pack_tmp = ishft(pack_tmp, -12)
20233 data_tmp = full_data(idata)
20234 data_tmp = ishft(data_tmp, 36)
20235 data_tmp = iand(data_tmp, mask_left(12))
20236 pack_tmp = ior(pack_tmp, data_tmp)
20238 packed_data(ipack) = pack_tmp
20239 data_tmp = full_data(idata)
20240 pack_tmp = ishft(data_tmp, 48)
20241 pack_tmp = ishft(pack_tmp, -28)
20243 data_tmp = full_data(idata)
20244 data_tmp = ishft(data_tmp, 36)
20245 pack_tmp = ior(pack_tmp, data_tmp)
20246 pack_tmp = ishft(pack_tmp, -20)
20248 data_tmp = full_data(idata)
20249 data_tmp = ishft(data_tmp, 36)
20250 data_tmp = iand(data_tmp, mask_left(20))
20251 pack_tmp = ior(pack_tmp, data_tmp)
20253 packed_data(ipack) = pack_tmp
20254 data_tmp = full_data(idata)
20255 pack_tmp = ishft(data_tmp, 56)
20256 pack_tmp = ishft(pack_tmp, -28)
20258 data_tmp = full_data(idata)
20259 data_tmp = ishft(data_tmp, 36)
20260 pack_tmp = ior(pack_tmp, data_tmp)
20261 pack_tmp = ishft(pack_tmp, -28)
20263 data_tmp = full_data(idata)
20264 data_tmp = ishft(data_tmp, 36)
20265 pack_tmp = ior(pack_tmp, data_tmp)
20266 pack_tmp = ishft(pack_tmp, 0)
20267 pack_tmp = ishft(pack_tmp, 0)
20269 packed_data(ipack) = pack_tmp
20271 IF (ndata_rep < ndata)
THEN
20272 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
20274 END SUBROUTINE ints2bits_28
20282 SUBROUTINE bits2ints_28(Ndata, packed_data, full_data)
20283 INTEGER,
INTENT(IN) :: Ndata
20284 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
20285 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
20287 INTEGER,
PARAMETER :: Nbits = 28
20289 INTEGER :: idata, ipack, kdata, Ndata_rep
20290 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
20295 ndata_rep = (ndata/64)*64
20296 DO kdata = 1, ndata_rep, 64
20298 data_tmp = ishft(pack_tmp, 28)
20300 pack_tmp = packed_data(ipack)
20301 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
20302 pack_tmp = ishft(pack_tmp, -28)
20304 data_tmp = iand(pack_tmp, mask_right(nbits))
20305 full_data(idata) = data_tmp
20306 pack_tmp = ishft(pack_tmp, -nbits)
20308 data_tmp = ishft(pack_tmp, 20)
20310 pack_tmp = packed_data(ipack)
20311 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
20312 pack_tmp = ishft(pack_tmp, -20)
20314 data_tmp = iand(pack_tmp, mask_right(nbits))
20315 full_data(idata) = data_tmp
20316 pack_tmp = ishft(pack_tmp, -nbits)
20318 data_tmp = ishft(pack_tmp, 12)
20320 pack_tmp = packed_data(ipack)
20321 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
20322 pack_tmp = ishft(pack_tmp, -12)
20324 data_tmp = iand(pack_tmp, mask_right(nbits))
20325 full_data(idata) = data_tmp
20326 pack_tmp = ishft(pack_tmp, -nbits)
20328 data_tmp = ishft(pack_tmp, 4)
20330 pack_tmp = packed_data(ipack)
20331 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
20332 pack_tmp = ishft(pack_tmp, -4)
20334 data_tmp = iand(pack_tmp, mask_right(nbits))
20335 full_data(idata) = data_tmp
20336 pack_tmp = ishft(pack_tmp, -nbits)
20338 data_tmp = iand(pack_tmp, mask_right(nbits))
20339 full_data(idata) = data_tmp
20340 pack_tmp = ishft(pack_tmp, -nbits)
20342 data_tmp = ishft(pack_tmp, 24)
20344 pack_tmp = packed_data(ipack)
20345 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
20346 pack_tmp = ishft(pack_tmp, -24)
20348 data_tmp = iand(pack_tmp, mask_right(nbits))
20349 full_data(idata) = data_tmp
20350 pack_tmp = ishft(pack_tmp, -nbits)
20352 data_tmp = ishft(pack_tmp, 16)
20354 pack_tmp = packed_data(ipack)
20355 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
20356 pack_tmp = ishft(pack_tmp, -16)
20358 data_tmp = iand(pack_tmp, mask_right(nbits))
20359 full_data(idata) = data_tmp
20360 pack_tmp = ishft(pack_tmp, -nbits)
20362 data_tmp = ishft(pack_tmp, 8)
20364 pack_tmp = packed_data(ipack)
20365 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
20366 pack_tmp = ishft(pack_tmp, -8)
20368 data_tmp = iand(pack_tmp, mask_right(nbits))
20369 full_data(idata) = data_tmp
20370 pack_tmp = ishft(pack_tmp, -nbits)
20372 data_tmp = iand(pack_tmp, mask_right(nbits))
20373 full_data(idata) = data_tmp
20374 pack_tmp = ishft(pack_tmp, -nbits)
20376 data_tmp = ishft(pack_tmp, 28)
20378 pack_tmp = packed_data(ipack)
20379 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
20380 pack_tmp = ishft(pack_tmp, -28)
20382 data_tmp = iand(pack_tmp, mask_right(nbits))
20383 full_data(idata) = data_tmp
20384 pack_tmp = ishft(pack_tmp, -nbits)
20386 data_tmp = ishft(pack_tmp, 20)
20388 pack_tmp = packed_data(ipack)
20389 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
20390 pack_tmp = ishft(pack_tmp, -20)
20392 data_tmp = iand(pack_tmp, mask_right(nbits))
20393 full_data(idata) = data_tmp
20394 pack_tmp = ishft(pack_tmp, -nbits)
20396 data_tmp = ishft(pack_tmp, 12)
20398 pack_tmp = packed_data(ipack)
20399 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
20400 pack_tmp = ishft(pack_tmp, -12)
20402 data_tmp = iand(pack_tmp, mask_right(nbits))
20403 full_data(idata) = data_tmp
20404 pack_tmp = ishft(pack_tmp, -nbits)
20406 data_tmp = ishft(pack_tmp, 4)
20408 pack_tmp = packed_data(ipack)
20409 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
20410 pack_tmp = ishft(pack_tmp, -4)
20412 data_tmp = iand(pack_tmp, mask_right(nbits))
20413 full_data(idata) = data_tmp
20414 pack_tmp = ishft(pack_tmp, -nbits)
20416 data_tmp = iand(pack_tmp, mask_right(nbits))
20417 full_data(idata) = data_tmp
20418 pack_tmp = ishft(pack_tmp, -nbits)
20420 data_tmp = ishft(pack_tmp, 24)
20422 pack_tmp = packed_data(ipack)
20423 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
20424 pack_tmp = ishft(pack_tmp, -24)
20426 data_tmp = iand(pack_tmp, mask_right(nbits))
20427 full_data(idata) = data_tmp
20428 pack_tmp = ishft(pack_tmp, -nbits)
20430 data_tmp = ishft(pack_tmp, 16)
20432 pack_tmp = packed_data(ipack)
20433 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
20434 pack_tmp = ishft(pack_tmp, -16)
20436 data_tmp = iand(pack_tmp, mask_right(nbits))
20437 full_data(idata) = data_tmp
20438 pack_tmp = ishft(pack_tmp, -nbits)
20440 data_tmp = ishft(pack_tmp, 8)
20442 pack_tmp = packed_data(ipack)
20443 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
20444 pack_tmp = ishft(pack_tmp, -8)
20446 data_tmp = iand(pack_tmp, mask_right(nbits))
20447 full_data(idata) = data_tmp
20448 pack_tmp = ishft(pack_tmp, -nbits)
20450 data_tmp = iand(pack_tmp, mask_right(nbits))
20451 full_data(idata) = data_tmp
20452 pack_tmp = ishft(pack_tmp, -nbits)
20454 data_tmp = ishft(pack_tmp, 28)
20456 pack_tmp = packed_data(ipack)
20457 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
20458 pack_tmp = ishft(pack_tmp, -28)
20460 data_tmp = iand(pack_tmp, mask_right(nbits))
20461 full_data(idata) = data_tmp
20462 pack_tmp = ishft(pack_tmp, -nbits)
20464 data_tmp = ishft(pack_tmp, 20)
20466 pack_tmp = packed_data(ipack)
20467 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
20468 pack_tmp = ishft(pack_tmp, -20)
20470 data_tmp = iand(pack_tmp, mask_right(nbits))
20471 full_data(idata) = data_tmp
20472 pack_tmp = ishft(pack_tmp, -nbits)
20474 data_tmp = ishft(pack_tmp, 12)
20476 pack_tmp = packed_data(ipack)
20477 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
20478 pack_tmp = ishft(pack_tmp, -12)
20480 data_tmp = iand(pack_tmp, mask_right(nbits))
20481 full_data(idata) = data_tmp
20482 pack_tmp = ishft(pack_tmp, -nbits)
20484 data_tmp = ishft(pack_tmp, 4)
20486 pack_tmp = packed_data(ipack)
20487 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
20488 pack_tmp = ishft(pack_tmp, -4)
20490 data_tmp = iand(pack_tmp, mask_right(nbits))
20491 full_data(idata) = data_tmp
20492 pack_tmp = ishft(pack_tmp, -nbits)
20494 data_tmp = iand(pack_tmp, mask_right(nbits))
20495 full_data(idata) = data_tmp
20496 pack_tmp = ishft(pack_tmp, -nbits)
20498 data_tmp = ishft(pack_tmp, 24)
20500 pack_tmp = packed_data(ipack)
20501 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
20502 pack_tmp = ishft(pack_tmp, -24)
20504 data_tmp = iand(pack_tmp, mask_right(nbits))
20505 full_data(idata) = data_tmp
20506 pack_tmp = ishft(pack_tmp, -nbits)
20508 data_tmp = ishft(pack_tmp, 16)
20510 pack_tmp = packed_data(ipack)
20511 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
20512 pack_tmp = ishft(pack_tmp, -16)
20514 data_tmp = iand(pack_tmp, mask_right(nbits))
20515 full_data(idata) = data_tmp
20516 pack_tmp = ishft(pack_tmp, -nbits)
20518 data_tmp = ishft(pack_tmp, 8)
20520 pack_tmp = packed_data(ipack)
20521 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
20522 pack_tmp = ishft(pack_tmp, -8)
20524 data_tmp = iand(pack_tmp, mask_right(nbits))
20525 full_data(idata) = data_tmp
20526 pack_tmp = ishft(pack_tmp, -nbits)
20528 data_tmp = iand(pack_tmp, mask_right(nbits))
20529 full_data(idata) = data_tmp
20530 pack_tmp = ishft(pack_tmp, -nbits)
20532 data_tmp = ishft(pack_tmp, 28)
20534 pack_tmp = packed_data(ipack)
20535 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
20536 pack_tmp = ishft(pack_tmp, -28)
20538 data_tmp = iand(pack_tmp, mask_right(nbits))
20539 full_data(idata) = data_tmp
20540 pack_tmp = ishft(pack_tmp, -nbits)
20542 data_tmp = ishft(pack_tmp, 20)
20544 pack_tmp = packed_data(ipack)
20545 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
20546 pack_tmp = ishft(pack_tmp, -20)
20548 data_tmp = iand(pack_tmp, mask_right(nbits))
20549 full_data(idata) = data_tmp
20550 pack_tmp = ishft(pack_tmp, -nbits)
20552 data_tmp = ishft(pack_tmp, 12)
20554 pack_tmp = packed_data(ipack)
20555 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
20556 pack_tmp = ishft(pack_tmp, -12)
20558 data_tmp = iand(pack_tmp, mask_right(nbits))
20559 full_data(idata) = data_tmp
20560 pack_tmp = ishft(pack_tmp, -nbits)
20562 data_tmp = ishft(pack_tmp, 4)
20564 pack_tmp = packed_data(ipack)
20565 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
20566 pack_tmp = ishft(pack_tmp, -4)
20568 data_tmp = iand(pack_tmp, mask_right(nbits))
20569 full_data(idata) = data_tmp
20570 pack_tmp = ishft(pack_tmp, -nbits)
20572 data_tmp = iand(pack_tmp, mask_right(nbits))
20573 full_data(idata) = data_tmp
20574 pack_tmp = ishft(pack_tmp, -nbits)
20576 data_tmp = ishft(pack_tmp, 24)
20578 pack_tmp = packed_data(ipack)
20579 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
20580 pack_tmp = ishft(pack_tmp, -24)
20582 data_tmp = iand(pack_tmp, mask_right(nbits))
20583 full_data(idata) = data_tmp
20584 pack_tmp = ishft(pack_tmp, -nbits)
20586 data_tmp = ishft(pack_tmp, 16)
20588 pack_tmp = packed_data(ipack)
20589 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
20590 pack_tmp = ishft(pack_tmp, -16)
20592 data_tmp = iand(pack_tmp, mask_right(nbits))
20593 full_data(idata) = data_tmp
20594 pack_tmp = ishft(pack_tmp, -nbits)
20596 data_tmp = ishft(pack_tmp, 8)
20598 pack_tmp = packed_data(ipack)
20599 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
20600 pack_tmp = ishft(pack_tmp, -8)
20602 data_tmp = iand(pack_tmp, mask_right(nbits))
20603 full_data(idata) = data_tmp
20604 pack_tmp = ishft(pack_tmp, -nbits)
20606 data_tmp = iand(pack_tmp, mask_right(nbits))
20607 full_data(idata) = data_tmp
20608 pack_tmp = ishft(pack_tmp, -nbits)
20610 IF (ndata_rep < ndata)
THEN
20611 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
20613 END SUBROUTINE bits2ints_28
20621 SUBROUTINE ints2bits_29(Ndata, packed_data, full_data)
20622 INTEGER,
INTENT(IN) :: Ndata
20623 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
20624 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
20626 INTEGER,
PARAMETER :: Nbits = 29
20628 INTEGER :: idata, ipack, kdata, Ndata_rep
20629 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
20633 ndata_rep = (ndata/64)*64
20634 DO kdata = 1, ndata_rep, 64
20637 data_tmp = full_data(idata)
20638 data_tmp = ishft(data_tmp, 35)
20639 pack_tmp = ior(pack_tmp, data_tmp)
20640 pack_tmp = ishft(pack_tmp, -29)
20642 data_tmp = full_data(idata)
20643 data_tmp = ishft(data_tmp, 35)
20644 pack_tmp = ior(pack_tmp, data_tmp)
20645 pack_tmp = ishft(pack_tmp, -6)
20647 data_tmp = full_data(idata)
20648 data_tmp = ishft(data_tmp, 35)
20649 data_tmp = iand(data_tmp, mask_left(6))
20650 pack_tmp = ior(pack_tmp, data_tmp)
20652 packed_data(ipack) = pack_tmp
20653 data_tmp = full_data(idata)
20654 pack_tmp = ishft(data_tmp, 41)
20655 pack_tmp = ishft(pack_tmp, -29)
20657 data_tmp = full_data(idata)
20658 data_tmp = ishft(data_tmp, 35)
20659 pack_tmp = ior(pack_tmp, data_tmp)
20660 pack_tmp = ishft(pack_tmp, -12)
20662 data_tmp = full_data(idata)
20663 data_tmp = ishft(data_tmp, 35)
20664 data_tmp = iand(data_tmp, mask_left(12))
20665 pack_tmp = ior(pack_tmp, data_tmp)
20667 packed_data(ipack) = pack_tmp
20668 data_tmp = full_data(idata)
20669 pack_tmp = ishft(data_tmp, 47)
20670 pack_tmp = ishft(pack_tmp, -29)
20672 data_tmp = full_data(idata)
20673 data_tmp = ishft(data_tmp, 35)
20674 pack_tmp = ior(pack_tmp, data_tmp)
20675 pack_tmp = ishft(pack_tmp, -18)
20677 data_tmp = full_data(idata)
20678 data_tmp = ishft(data_tmp, 35)
20679 data_tmp = iand(data_tmp, mask_left(18))
20680 pack_tmp = ior(pack_tmp, data_tmp)
20682 packed_data(ipack) = pack_tmp
20683 data_tmp = full_data(idata)
20684 pack_tmp = ishft(data_tmp, 53)
20685 pack_tmp = ishft(pack_tmp, -29)
20687 data_tmp = full_data(idata)
20688 data_tmp = ishft(data_tmp, 35)
20689 pack_tmp = ior(pack_tmp, data_tmp)
20690 pack_tmp = ishft(pack_tmp, -24)
20692 data_tmp = full_data(idata)
20693 data_tmp = ishft(data_tmp, 35)
20694 data_tmp = iand(data_tmp, mask_left(24))
20695 pack_tmp = ior(pack_tmp, data_tmp)
20697 packed_data(ipack) = pack_tmp
20698 data_tmp = full_data(idata)
20699 pack_tmp = ishft(data_tmp, 59)
20700 pack_tmp = ishft(pack_tmp, -29)
20702 data_tmp = full_data(idata)
20703 data_tmp = ishft(data_tmp, 35)
20704 pack_tmp = ior(pack_tmp, data_tmp)
20705 pack_tmp = ishft(pack_tmp, -29)
20707 data_tmp = full_data(idata)
20708 data_tmp = ishft(data_tmp, 35)
20709 pack_tmp = ior(pack_tmp, data_tmp)
20710 pack_tmp = ishft(pack_tmp, -1)
20712 data_tmp = full_data(idata)
20713 data_tmp = ishft(data_tmp, 35)
20714 data_tmp = iand(data_tmp, mask_left(1))
20715 pack_tmp = ior(pack_tmp, data_tmp)
20717 packed_data(ipack) = pack_tmp
20718 data_tmp = full_data(idata)
20719 pack_tmp = ishft(data_tmp, 36)
20720 pack_tmp = ishft(pack_tmp, -29)
20722 data_tmp = full_data(idata)
20723 data_tmp = ishft(data_tmp, 35)
20724 pack_tmp = ior(pack_tmp, data_tmp)
20725 pack_tmp = ishft(pack_tmp, -7)
20727 data_tmp = full_data(idata)
20728 data_tmp = ishft(data_tmp, 35)
20729 data_tmp = iand(data_tmp, mask_left(7))
20730 pack_tmp = ior(pack_tmp, data_tmp)
20732 packed_data(ipack) = pack_tmp
20733 data_tmp = full_data(idata)
20734 pack_tmp = ishft(data_tmp, 42)
20735 pack_tmp = ishft(pack_tmp, -29)
20737 data_tmp = full_data(idata)
20738 data_tmp = ishft(data_tmp, 35)
20739 pack_tmp = ior(pack_tmp, data_tmp)
20740 pack_tmp = ishft(pack_tmp, -13)
20742 data_tmp = full_data(idata)
20743 data_tmp = ishft(data_tmp, 35)
20744 data_tmp = iand(data_tmp, mask_left(13))
20745 pack_tmp = ior(pack_tmp, data_tmp)
20747 packed_data(ipack) = pack_tmp
20748 data_tmp = full_data(idata)
20749 pack_tmp = ishft(data_tmp, 48)
20750 pack_tmp = ishft(pack_tmp, -29)
20752 data_tmp = full_data(idata)
20753 data_tmp = ishft(data_tmp, 35)
20754 pack_tmp = ior(pack_tmp, data_tmp)
20755 pack_tmp = ishft(pack_tmp, -19)
20757 data_tmp = full_data(idata)
20758 data_tmp = ishft(data_tmp, 35)
20759 data_tmp = iand(data_tmp, mask_left(19))
20760 pack_tmp = ior(pack_tmp, data_tmp)
20762 packed_data(ipack) = pack_tmp
20763 data_tmp = full_data(idata)
20764 pack_tmp = ishft(data_tmp, 54)
20765 pack_tmp = ishft(pack_tmp, -29)
20767 data_tmp = full_data(idata)
20768 data_tmp = ishft(data_tmp, 35)
20769 pack_tmp = ior(pack_tmp, data_tmp)
20770 pack_tmp = ishft(pack_tmp, -25)
20772 data_tmp = full_data(idata)
20773 data_tmp = ishft(data_tmp, 35)
20774 data_tmp = iand(data_tmp, mask_left(25))
20775 pack_tmp = ior(pack_tmp, data_tmp)
20777 packed_data(ipack) = pack_tmp
20778 data_tmp = full_data(idata)
20779 pack_tmp = ishft(data_tmp, 60)
20780 pack_tmp = ishft(pack_tmp, -29)
20782 data_tmp = full_data(idata)
20783 data_tmp = ishft(data_tmp, 35)
20784 pack_tmp = ior(pack_tmp, data_tmp)
20785 pack_tmp = ishft(pack_tmp, -29)
20787 data_tmp = full_data(idata)
20788 data_tmp = ishft(data_tmp, 35)
20789 pack_tmp = ior(pack_tmp, data_tmp)
20790 pack_tmp = ishft(pack_tmp, -2)
20792 data_tmp = full_data(idata)
20793 data_tmp = ishft(data_tmp, 35)
20794 data_tmp = iand(data_tmp, mask_left(2))
20795 pack_tmp = ior(pack_tmp, data_tmp)
20797 packed_data(ipack) = pack_tmp
20798 data_tmp = full_data(idata)
20799 pack_tmp = ishft(data_tmp, 37)
20800 pack_tmp = ishft(pack_tmp, -29)
20802 data_tmp = full_data(idata)
20803 data_tmp = ishft(data_tmp, 35)
20804 pack_tmp = ior(pack_tmp, data_tmp)
20805 pack_tmp = ishft(pack_tmp, -8)
20807 data_tmp = full_data(idata)
20808 data_tmp = ishft(data_tmp, 35)
20809 data_tmp = iand(data_tmp, mask_left(8))
20810 pack_tmp = ior(pack_tmp, data_tmp)
20812 packed_data(ipack) = pack_tmp
20813 data_tmp = full_data(idata)
20814 pack_tmp = ishft(data_tmp, 43)
20815 pack_tmp = ishft(pack_tmp, -29)
20817 data_tmp = full_data(idata)
20818 data_tmp = ishft(data_tmp, 35)
20819 pack_tmp = ior(pack_tmp, data_tmp)
20820 pack_tmp = ishft(pack_tmp, -14)
20822 data_tmp = full_data(idata)
20823 data_tmp = ishft(data_tmp, 35)
20824 data_tmp = iand(data_tmp, mask_left(14))
20825 pack_tmp = ior(pack_tmp, data_tmp)
20827 packed_data(ipack) = pack_tmp
20828 data_tmp = full_data(idata)
20829 pack_tmp = ishft(data_tmp, 49)
20830 pack_tmp = ishft(pack_tmp, -29)
20832 data_tmp = full_data(idata)
20833 data_tmp = ishft(data_tmp, 35)
20834 pack_tmp = ior(pack_tmp, data_tmp)
20835 pack_tmp = ishft(pack_tmp, -20)
20837 data_tmp = full_data(idata)
20838 data_tmp = ishft(data_tmp, 35)
20839 data_tmp = iand(data_tmp, mask_left(20))
20840 pack_tmp = ior(pack_tmp, data_tmp)
20842 packed_data(ipack) = pack_tmp
20843 data_tmp = full_data(idata)
20844 pack_tmp = ishft(data_tmp, 55)
20845 pack_tmp = ishft(pack_tmp, -29)
20847 data_tmp = full_data(idata)
20848 data_tmp = ishft(data_tmp, 35)
20849 pack_tmp = ior(pack_tmp, data_tmp)
20850 pack_tmp = ishft(pack_tmp, -26)
20852 data_tmp = full_data(idata)
20853 data_tmp = ishft(data_tmp, 35)
20854 data_tmp = iand(data_tmp, mask_left(26))
20855 pack_tmp = ior(pack_tmp, data_tmp)
20857 packed_data(ipack) = pack_tmp
20858 data_tmp = full_data(idata)
20859 pack_tmp = ishft(data_tmp, 61)
20860 pack_tmp = ishft(pack_tmp, -29)
20862 data_tmp = full_data(idata)
20863 data_tmp = ishft(data_tmp, 35)
20864 pack_tmp = ior(pack_tmp, data_tmp)
20865 pack_tmp = ishft(pack_tmp, -29)
20867 data_tmp = full_data(idata)
20868 data_tmp = ishft(data_tmp, 35)
20869 pack_tmp = ior(pack_tmp, data_tmp)
20870 pack_tmp = ishft(pack_tmp, -3)
20872 data_tmp = full_data(idata)
20873 data_tmp = ishft(data_tmp, 35)
20874 data_tmp = iand(data_tmp, mask_left(3))
20875 pack_tmp = ior(pack_tmp, data_tmp)
20877 packed_data(ipack) = pack_tmp
20878 data_tmp = full_data(idata)
20879 pack_tmp = ishft(data_tmp, 38)
20880 pack_tmp = ishft(pack_tmp, -29)
20882 data_tmp = full_data(idata)
20883 data_tmp = ishft(data_tmp, 35)
20884 pack_tmp = ior(pack_tmp, data_tmp)
20885 pack_tmp = ishft(pack_tmp, -9)
20887 data_tmp = full_data(idata)
20888 data_tmp = ishft(data_tmp, 35)
20889 data_tmp = iand(data_tmp, mask_left(9))
20890 pack_tmp = ior(pack_tmp, data_tmp)
20892 packed_data(ipack) = pack_tmp
20893 data_tmp = full_data(idata)
20894 pack_tmp = ishft(data_tmp, 44)
20895 pack_tmp = ishft(pack_tmp, -29)
20897 data_tmp = full_data(idata)
20898 data_tmp = ishft(data_tmp, 35)
20899 pack_tmp = ior(pack_tmp, data_tmp)
20900 pack_tmp = ishft(pack_tmp, -15)
20902 data_tmp = full_data(idata)
20903 data_tmp = ishft(data_tmp, 35)
20904 data_tmp = iand(data_tmp, mask_left(15))
20905 pack_tmp = ior(pack_tmp, data_tmp)
20907 packed_data(ipack) = pack_tmp
20908 data_tmp = full_data(idata)
20909 pack_tmp = ishft(data_tmp, 50)
20910 pack_tmp = ishft(pack_tmp, -29)
20912 data_tmp = full_data(idata)
20913 data_tmp = ishft(data_tmp, 35)
20914 pack_tmp = ior(pack_tmp, data_tmp)
20915 pack_tmp = ishft(pack_tmp, -21)
20917 data_tmp = full_data(idata)
20918 data_tmp = ishft(data_tmp, 35)
20919 data_tmp = iand(data_tmp, mask_left(21))
20920 pack_tmp = ior(pack_tmp, data_tmp)
20922 packed_data(ipack) = pack_tmp
20923 data_tmp = full_data(idata)
20924 pack_tmp = ishft(data_tmp, 56)
20925 pack_tmp = ishft(pack_tmp, -29)
20927 data_tmp = full_data(idata)
20928 data_tmp = ishft(data_tmp, 35)
20929 pack_tmp = ior(pack_tmp, data_tmp)
20930 pack_tmp = ishft(pack_tmp, -27)
20932 data_tmp = full_data(idata)
20933 data_tmp = ishft(data_tmp, 35)
20934 data_tmp = iand(data_tmp, mask_left(27))
20935 pack_tmp = ior(pack_tmp, data_tmp)
20937 packed_data(ipack) = pack_tmp
20938 data_tmp = full_data(idata)
20939 pack_tmp = ishft(data_tmp, 62)
20940 pack_tmp = ishft(pack_tmp, -29)
20942 data_tmp = full_data(idata)
20943 data_tmp = ishft(data_tmp, 35)
20944 pack_tmp = ior(pack_tmp, data_tmp)
20945 pack_tmp = ishft(pack_tmp, -29)
20947 data_tmp = full_data(idata)
20948 data_tmp = ishft(data_tmp, 35)
20949 pack_tmp = ior(pack_tmp, data_tmp)
20950 pack_tmp = ishft(pack_tmp, -4)
20952 data_tmp = full_data(idata)
20953 data_tmp = ishft(data_tmp, 35)
20954 data_tmp = iand(data_tmp, mask_left(4))
20955 pack_tmp = ior(pack_tmp, data_tmp)
20957 packed_data(ipack) = pack_tmp
20958 data_tmp = full_data(idata)
20959 pack_tmp = ishft(data_tmp, 39)
20960 pack_tmp = ishft(pack_tmp, -29)
20962 data_tmp = full_data(idata)
20963 data_tmp = ishft(data_tmp, 35)
20964 pack_tmp = ior(pack_tmp, data_tmp)
20965 pack_tmp = ishft(pack_tmp, -10)
20967 data_tmp = full_data(idata)
20968 data_tmp = ishft(data_tmp, 35)
20969 data_tmp = iand(data_tmp, mask_left(10))
20970 pack_tmp = ior(pack_tmp, data_tmp)
20972 packed_data(ipack) = pack_tmp
20973 data_tmp = full_data(idata)
20974 pack_tmp = ishft(data_tmp, 45)
20975 pack_tmp = ishft(pack_tmp, -29)
20977 data_tmp = full_data(idata)
20978 data_tmp = ishft(data_tmp, 35)
20979 pack_tmp = ior(pack_tmp, data_tmp)
20980 pack_tmp = ishft(pack_tmp, -16)
20982 data_tmp = full_data(idata)
20983 data_tmp = ishft(data_tmp, 35)
20984 data_tmp = iand(data_tmp, mask_left(16))
20985 pack_tmp = ior(pack_tmp, data_tmp)
20987 packed_data(ipack) = pack_tmp
20988 data_tmp = full_data(idata)
20989 pack_tmp = ishft(data_tmp, 51)
20990 pack_tmp = ishft(pack_tmp, -29)
20992 data_tmp = full_data(idata)
20993 data_tmp = ishft(data_tmp, 35)
20994 pack_tmp = ior(pack_tmp, data_tmp)
20995 pack_tmp = ishft(pack_tmp, -22)
20997 data_tmp = full_data(idata)
20998 data_tmp = ishft(data_tmp, 35)
20999 data_tmp = iand(data_tmp, mask_left(22))
21000 pack_tmp = ior(pack_tmp, data_tmp)
21002 packed_data(ipack) = pack_tmp
21003 data_tmp = full_data(idata)
21004 pack_tmp = ishft(data_tmp, 57)
21005 pack_tmp = ishft(pack_tmp, -29)
21007 data_tmp = full_data(idata)
21008 data_tmp = ishft(data_tmp, 35)
21009 pack_tmp = ior(pack_tmp, data_tmp)
21010 pack_tmp = ishft(pack_tmp, -28)
21012 data_tmp = full_data(idata)
21013 data_tmp = ishft(data_tmp, 35)
21014 data_tmp = iand(data_tmp, mask_left(28))
21015 pack_tmp = ior(pack_tmp, data_tmp)
21017 packed_data(ipack) = pack_tmp
21018 data_tmp = full_data(idata)
21019 pack_tmp = ishft(data_tmp, 63)
21020 pack_tmp = ishft(pack_tmp, -29)
21022 data_tmp = full_data(idata)
21023 data_tmp = ishft(data_tmp, 35)
21024 pack_tmp = ior(pack_tmp, data_tmp)
21025 pack_tmp = ishft(pack_tmp, -29)
21027 data_tmp = full_data(idata)
21028 data_tmp = ishft(data_tmp, 35)
21029 pack_tmp = ior(pack_tmp, data_tmp)
21030 pack_tmp = ishft(pack_tmp, -5)
21032 data_tmp = full_data(idata)
21033 data_tmp = ishft(data_tmp, 35)
21034 data_tmp = iand(data_tmp, mask_left(5))
21035 pack_tmp = ior(pack_tmp, data_tmp)
21037 packed_data(ipack) = pack_tmp
21038 data_tmp = full_data(idata)
21039 pack_tmp = ishft(data_tmp, 40)
21040 pack_tmp = ishft(pack_tmp, -29)
21042 data_tmp = full_data(idata)
21043 data_tmp = ishft(data_tmp, 35)
21044 pack_tmp = ior(pack_tmp, data_tmp)
21045 pack_tmp = ishft(pack_tmp, -11)
21047 data_tmp = full_data(idata)
21048 data_tmp = ishft(data_tmp, 35)
21049 data_tmp = iand(data_tmp, mask_left(11))
21050 pack_tmp = ior(pack_tmp, data_tmp)
21052 packed_data(ipack) = pack_tmp
21053 data_tmp = full_data(idata)
21054 pack_tmp = ishft(data_tmp, 46)
21055 pack_tmp = ishft(pack_tmp, -29)
21057 data_tmp = full_data(idata)
21058 data_tmp = ishft(data_tmp, 35)
21059 pack_tmp = ior(pack_tmp, data_tmp)
21060 pack_tmp = ishft(pack_tmp, -17)
21062 data_tmp = full_data(idata)
21063 data_tmp = ishft(data_tmp, 35)
21064 data_tmp = iand(data_tmp, mask_left(17))
21065 pack_tmp = ior(pack_tmp, data_tmp)
21067 packed_data(ipack) = pack_tmp
21068 data_tmp = full_data(idata)
21069 pack_tmp = ishft(data_tmp, 52)
21070 pack_tmp = ishft(pack_tmp, -29)
21072 data_tmp = full_data(idata)
21073 data_tmp = ishft(data_tmp, 35)
21074 pack_tmp = ior(pack_tmp, data_tmp)
21075 pack_tmp = ishft(pack_tmp, -23)
21077 data_tmp = full_data(idata)
21078 data_tmp = ishft(data_tmp, 35)
21079 data_tmp = iand(data_tmp, mask_left(23))
21080 pack_tmp = ior(pack_tmp, data_tmp)
21082 packed_data(ipack) = pack_tmp
21083 data_tmp = full_data(idata)
21084 pack_tmp = ishft(data_tmp, 58)
21085 pack_tmp = ishft(pack_tmp, -29)
21087 data_tmp = full_data(idata)
21088 data_tmp = ishft(data_tmp, 35)
21089 pack_tmp = ior(pack_tmp, data_tmp)
21090 pack_tmp = ishft(pack_tmp, -29)
21092 data_tmp = full_data(idata)
21093 data_tmp = ishft(data_tmp, 35)
21094 pack_tmp = ior(pack_tmp, data_tmp)
21095 pack_tmp = ishft(pack_tmp, 0)
21096 pack_tmp = ishft(pack_tmp, 0)
21098 packed_data(ipack) = pack_tmp
21100 IF (ndata_rep < ndata)
THEN
21101 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
21103 END SUBROUTINE ints2bits_29
21111 SUBROUTINE bits2ints_29(Ndata, packed_data, full_data)
21112 INTEGER,
INTENT(IN) :: Ndata
21113 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
21114 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
21116 INTEGER,
PARAMETER :: Nbits = 29
21118 INTEGER :: idata, ipack, kdata, Ndata_rep
21119 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
21124 ndata_rep = (ndata/64)*64
21125 DO kdata = 1, ndata_rep, 64
21127 data_tmp = ishft(pack_tmp, 29)
21129 pack_tmp = packed_data(ipack)
21130 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
21131 pack_tmp = ishft(pack_tmp, -29)
21133 data_tmp = iand(pack_tmp, mask_right(nbits))
21134 full_data(idata) = data_tmp
21135 pack_tmp = ishft(pack_tmp, -nbits)
21137 data_tmp = ishft(pack_tmp, 23)
21139 pack_tmp = packed_data(ipack)
21140 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
21141 pack_tmp = ishft(pack_tmp, -23)
21143 data_tmp = iand(pack_tmp, mask_right(nbits))
21144 full_data(idata) = data_tmp
21145 pack_tmp = ishft(pack_tmp, -nbits)
21147 data_tmp = ishft(pack_tmp, 17)
21149 pack_tmp = packed_data(ipack)
21150 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
21151 pack_tmp = ishft(pack_tmp, -17)
21153 data_tmp = iand(pack_tmp, mask_right(nbits))
21154 full_data(idata) = data_tmp
21155 pack_tmp = ishft(pack_tmp, -nbits)
21157 data_tmp = ishft(pack_tmp, 11)
21159 pack_tmp = packed_data(ipack)
21160 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
21161 pack_tmp = ishft(pack_tmp, -11)
21163 data_tmp = iand(pack_tmp, mask_right(nbits))
21164 full_data(idata) = data_tmp
21165 pack_tmp = ishft(pack_tmp, -nbits)
21167 data_tmp = ishft(pack_tmp, 5)
21169 pack_tmp = packed_data(ipack)
21170 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
21171 pack_tmp = ishft(pack_tmp, -5)
21173 data_tmp = iand(pack_tmp, mask_right(nbits))
21174 full_data(idata) = data_tmp
21175 pack_tmp = ishft(pack_tmp, -nbits)
21177 data_tmp = iand(pack_tmp, mask_right(nbits))
21178 full_data(idata) = data_tmp
21179 pack_tmp = ishft(pack_tmp, -nbits)
21181 data_tmp = ishft(pack_tmp, 28)
21183 pack_tmp = packed_data(ipack)
21184 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
21185 pack_tmp = ishft(pack_tmp, -28)
21187 data_tmp = iand(pack_tmp, mask_right(nbits))
21188 full_data(idata) = data_tmp
21189 pack_tmp = ishft(pack_tmp, -nbits)
21191 data_tmp = ishft(pack_tmp, 22)
21193 pack_tmp = packed_data(ipack)
21194 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
21195 pack_tmp = ishft(pack_tmp, -22)
21197 data_tmp = iand(pack_tmp, mask_right(nbits))
21198 full_data(idata) = data_tmp
21199 pack_tmp = ishft(pack_tmp, -nbits)
21201 data_tmp = ishft(pack_tmp, 16)
21203 pack_tmp = packed_data(ipack)
21204 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
21205 pack_tmp = ishft(pack_tmp, -16)
21207 data_tmp = iand(pack_tmp, mask_right(nbits))
21208 full_data(idata) = data_tmp
21209 pack_tmp = ishft(pack_tmp, -nbits)
21211 data_tmp = ishft(pack_tmp, 10)
21213 pack_tmp = packed_data(ipack)
21214 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
21215 pack_tmp = ishft(pack_tmp, -10)
21217 data_tmp = iand(pack_tmp, mask_right(nbits))
21218 full_data(idata) = data_tmp
21219 pack_tmp = ishft(pack_tmp, -nbits)
21221 data_tmp = ishft(pack_tmp, 4)
21223 pack_tmp = packed_data(ipack)
21224 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
21225 pack_tmp = ishft(pack_tmp, -4)
21227 data_tmp = iand(pack_tmp, mask_right(nbits))
21228 full_data(idata) = data_tmp
21229 pack_tmp = ishft(pack_tmp, -nbits)
21231 data_tmp = iand(pack_tmp, mask_right(nbits))
21232 full_data(idata) = data_tmp
21233 pack_tmp = ishft(pack_tmp, -nbits)
21235 data_tmp = ishft(pack_tmp, 27)
21237 pack_tmp = packed_data(ipack)
21238 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
21239 pack_tmp = ishft(pack_tmp, -27)
21241 data_tmp = iand(pack_tmp, mask_right(nbits))
21242 full_data(idata) = data_tmp
21243 pack_tmp = ishft(pack_tmp, -nbits)
21245 data_tmp = ishft(pack_tmp, 21)
21247 pack_tmp = packed_data(ipack)
21248 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
21249 pack_tmp = ishft(pack_tmp, -21)
21251 data_tmp = iand(pack_tmp, mask_right(nbits))
21252 full_data(idata) = data_tmp
21253 pack_tmp = ishft(pack_tmp, -nbits)
21255 data_tmp = ishft(pack_tmp, 15)
21257 pack_tmp = packed_data(ipack)
21258 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
21259 pack_tmp = ishft(pack_tmp, -15)
21261 data_tmp = iand(pack_tmp, mask_right(nbits))
21262 full_data(idata) = data_tmp
21263 pack_tmp = ishft(pack_tmp, -nbits)
21265 data_tmp = ishft(pack_tmp, 9)
21267 pack_tmp = packed_data(ipack)
21268 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
21269 pack_tmp = ishft(pack_tmp, -9)
21271 data_tmp = iand(pack_tmp, mask_right(nbits))
21272 full_data(idata) = data_tmp
21273 pack_tmp = ishft(pack_tmp, -nbits)
21275 data_tmp = ishft(pack_tmp, 3)
21277 pack_tmp = packed_data(ipack)
21278 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
21279 pack_tmp = ishft(pack_tmp, -3)
21281 data_tmp = iand(pack_tmp, mask_right(nbits))
21282 full_data(idata) = data_tmp
21283 pack_tmp = ishft(pack_tmp, -nbits)
21285 data_tmp = iand(pack_tmp, mask_right(nbits))
21286 full_data(idata) = data_tmp
21287 pack_tmp = ishft(pack_tmp, -nbits)
21289 data_tmp = ishft(pack_tmp, 26)
21291 pack_tmp = packed_data(ipack)
21292 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
21293 pack_tmp = ishft(pack_tmp, -26)
21295 data_tmp = iand(pack_tmp, mask_right(nbits))
21296 full_data(idata) = data_tmp
21297 pack_tmp = ishft(pack_tmp, -nbits)
21299 data_tmp = ishft(pack_tmp, 20)
21301 pack_tmp = packed_data(ipack)
21302 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
21303 pack_tmp = ishft(pack_tmp, -20)
21305 data_tmp = iand(pack_tmp, mask_right(nbits))
21306 full_data(idata) = data_tmp
21307 pack_tmp = ishft(pack_tmp, -nbits)
21309 data_tmp = ishft(pack_tmp, 14)
21311 pack_tmp = packed_data(ipack)
21312 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
21313 pack_tmp = ishft(pack_tmp, -14)
21315 data_tmp = iand(pack_tmp, mask_right(nbits))
21316 full_data(idata) = data_tmp
21317 pack_tmp = ishft(pack_tmp, -nbits)
21319 data_tmp = ishft(pack_tmp, 8)
21321 pack_tmp = packed_data(ipack)
21322 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
21323 pack_tmp = ishft(pack_tmp, -8)
21325 data_tmp = iand(pack_tmp, mask_right(nbits))
21326 full_data(idata) = data_tmp
21327 pack_tmp = ishft(pack_tmp, -nbits)
21329 data_tmp = ishft(pack_tmp, 2)
21331 pack_tmp = packed_data(ipack)
21332 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
21333 pack_tmp = ishft(pack_tmp, -2)
21335 data_tmp = iand(pack_tmp, mask_right(nbits))
21336 full_data(idata) = data_tmp
21337 pack_tmp = ishft(pack_tmp, -nbits)
21339 data_tmp = iand(pack_tmp, mask_right(nbits))
21340 full_data(idata) = data_tmp
21341 pack_tmp = ishft(pack_tmp, -nbits)
21343 data_tmp = ishft(pack_tmp, 25)
21345 pack_tmp = packed_data(ipack)
21346 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
21347 pack_tmp = ishft(pack_tmp, -25)
21349 data_tmp = iand(pack_tmp, mask_right(nbits))
21350 full_data(idata) = data_tmp
21351 pack_tmp = ishft(pack_tmp, -nbits)
21353 data_tmp = ishft(pack_tmp, 19)
21355 pack_tmp = packed_data(ipack)
21356 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
21357 pack_tmp = ishft(pack_tmp, -19)
21359 data_tmp = iand(pack_tmp, mask_right(nbits))
21360 full_data(idata) = data_tmp
21361 pack_tmp = ishft(pack_tmp, -nbits)
21363 data_tmp = ishft(pack_tmp, 13)
21365 pack_tmp = packed_data(ipack)
21366 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
21367 pack_tmp = ishft(pack_tmp, -13)
21369 data_tmp = iand(pack_tmp, mask_right(nbits))
21370 full_data(idata) = data_tmp
21371 pack_tmp = ishft(pack_tmp, -nbits)
21373 data_tmp = ishft(pack_tmp, 7)
21375 pack_tmp = packed_data(ipack)
21376 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
21377 pack_tmp = ishft(pack_tmp, -7)
21379 data_tmp = iand(pack_tmp, mask_right(nbits))
21380 full_data(idata) = data_tmp
21381 pack_tmp = ishft(pack_tmp, -nbits)
21383 data_tmp = ishft(pack_tmp, 1)
21385 pack_tmp = packed_data(ipack)
21386 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
21387 pack_tmp = ishft(pack_tmp, -1)
21389 data_tmp = iand(pack_tmp, mask_right(nbits))
21390 full_data(idata) = data_tmp
21391 pack_tmp = ishft(pack_tmp, -nbits)
21393 data_tmp = iand(pack_tmp, mask_right(nbits))
21394 full_data(idata) = data_tmp
21395 pack_tmp = ishft(pack_tmp, -nbits)
21397 data_tmp = ishft(pack_tmp, 24)
21399 pack_tmp = packed_data(ipack)
21400 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
21401 pack_tmp = ishft(pack_tmp, -24)
21403 data_tmp = iand(pack_tmp, mask_right(nbits))
21404 full_data(idata) = data_tmp
21405 pack_tmp = ishft(pack_tmp, -nbits)
21407 data_tmp = ishft(pack_tmp, 18)
21409 pack_tmp = packed_data(ipack)
21410 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
21411 pack_tmp = ishft(pack_tmp, -18)
21413 data_tmp = iand(pack_tmp, mask_right(nbits))
21414 full_data(idata) = data_tmp
21415 pack_tmp = ishft(pack_tmp, -nbits)
21417 data_tmp = ishft(pack_tmp, 12)
21419 pack_tmp = packed_data(ipack)
21420 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
21421 pack_tmp = ishft(pack_tmp, -12)
21423 data_tmp = iand(pack_tmp, mask_right(nbits))
21424 full_data(idata) = data_tmp
21425 pack_tmp = ishft(pack_tmp, -nbits)
21427 data_tmp = ishft(pack_tmp, 6)
21429 pack_tmp = packed_data(ipack)
21430 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
21431 pack_tmp = ishft(pack_tmp, -6)
21433 data_tmp = iand(pack_tmp, mask_right(nbits))
21434 full_data(idata) = data_tmp
21435 pack_tmp = ishft(pack_tmp, -nbits)
21437 data_tmp = iand(pack_tmp, mask_right(nbits))
21438 full_data(idata) = data_tmp
21439 pack_tmp = ishft(pack_tmp, -nbits)
21441 IF (ndata_rep < ndata)
THEN
21442 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
21444 END SUBROUTINE bits2ints_29
21452 SUBROUTINE ints2bits_30(Ndata, packed_data, full_data)
21453 INTEGER,
INTENT(IN) :: Ndata
21454 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
21455 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
21457 INTEGER,
PARAMETER :: Nbits = 30
21459 INTEGER :: idata, ipack, kdata, Ndata_rep
21460 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
21464 ndata_rep = (ndata/64)*64
21465 DO kdata = 1, ndata_rep, 64
21468 data_tmp = full_data(idata)
21469 data_tmp = ishft(data_tmp, 34)
21470 pack_tmp = ior(pack_tmp, data_tmp)
21471 pack_tmp = ishft(pack_tmp, -30)
21473 data_tmp = full_data(idata)
21474 data_tmp = ishft(data_tmp, 34)
21475 pack_tmp = ior(pack_tmp, data_tmp)
21476 pack_tmp = ishft(pack_tmp, -4)
21478 data_tmp = full_data(idata)
21479 data_tmp = ishft(data_tmp, 34)
21480 data_tmp = iand(data_tmp, mask_left(4))
21481 pack_tmp = ior(pack_tmp, data_tmp)
21483 packed_data(ipack) = pack_tmp
21484 data_tmp = full_data(idata)
21485 pack_tmp = ishft(data_tmp, 38)
21486 pack_tmp = ishft(pack_tmp, -30)
21488 data_tmp = full_data(idata)
21489 data_tmp = ishft(data_tmp, 34)
21490 pack_tmp = ior(pack_tmp, data_tmp)
21491 pack_tmp = ishft(pack_tmp, -8)
21493 data_tmp = full_data(idata)
21494 data_tmp = ishft(data_tmp, 34)
21495 data_tmp = iand(data_tmp, mask_left(8))
21496 pack_tmp = ior(pack_tmp, data_tmp)
21498 packed_data(ipack) = pack_tmp
21499 data_tmp = full_data(idata)
21500 pack_tmp = ishft(data_tmp, 42)
21501 pack_tmp = ishft(pack_tmp, -30)
21503 data_tmp = full_data(idata)
21504 data_tmp = ishft(data_tmp, 34)
21505 pack_tmp = ior(pack_tmp, data_tmp)
21506 pack_tmp = ishft(pack_tmp, -12)
21508 data_tmp = full_data(idata)
21509 data_tmp = ishft(data_tmp, 34)
21510 data_tmp = iand(data_tmp, mask_left(12))
21511 pack_tmp = ior(pack_tmp, data_tmp)
21513 packed_data(ipack) = pack_tmp
21514 data_tmp = full_data(idata)
21515 pack_tmp = ishft(data_tmp, 46)
21516 pack_tmp = ishft(pack_tmp, -30)
21518 data_tmp = full_data(idata)
21519 data_tmp = ishft(data_tmp, 34)
21520 pack_tmp = ior(pack_tmp, data_tmp)
21521 pack_tmp = ishft(pack_tmp, -16)
21523 data_tmp = full_data(idata)
21524 data_tmp = ishft(data_tmp, 34)
21525 data_tmp = iand(data_tmp, mask_left(16))
21526 pack_tmp = ior(pack_tmp, data_tmp)
21528 packed_data(ipack) = pack_tmp
21529 data_tmp = full_data(idata)
21530 pack_tmp = ishft(data_tmp, 50)
21531 pack_tmp = ishft(pack_tmp, -30)
21533 data_tmp = full_data(idata)
21534 data_tmp = ishft(data_tmp, 34)
21535 pack_tmp = ior(pack_tmp, data_tmp)
21536 pack_tmp = ishft(pack_tmp, -20)
21538 data_tmp = full_data(idata)
21539 data_tmp = ishft(data_tmp, 34)
21540 data_tmp = iand(data_tmp, mask_left(20))
21541 pack_tmp = ior(pack_tmp, data_tmp)
21543 packed_data(ipack) = pack_tmp
21544 data_tmp = full_data(idata)
21545 pack_tmp = ishft(data_tmp, 54)
21546 pack_tmp = ishft(pack_tmp, -30)
21548 data_tmp = full_data(idata)
21549 data_tmp = ishft(data_tmp, 34)
21550 pack_tmp = ior(pack_tmp, data_tmp)
21551 pack_tmp = ishft(pack_tmp, -24)
21553 data_tmp = full_data(idata)
21554 data_tmp = ishft(data_tmp, 34)
21555 data_tmp = iand(data_tmp, mask_left(24))
21556 pack_tmp = ior(pack_tmp, data_tmp)
21558 packed_data(ipack) = pack_tmp
21559 data_tmp = full_data(idata)
21560 pack_tmp = ishft(data_tmp, 58)
21561 pack_tmp = ishft(pack_tmp, -30)
21563 data_tmp = full_data(idata)
21564 data_tmp = ishft(data_tmp, 34)
21565 pack_tmp = ior(pack_tmp, data_tmp)
21566 pack_tmp = ishft(pack_tmp, -28)
21568 data_tmp = full_data(idata)
21569 data_tmp = ishft(data_tmp, 34)
21570 data_tmp = iand(data_tmp, mask_left(28))
21571 pack_tmp = ior(pack_tmp, data_tmp)
21573 packed_data(ipack) = pack_tmp
21574 data_tmp = full_data(idata)
21575 pack_tmp = ishft(data_tmp, 62)
21576 pack_tmp = ishft(pack_tmp, -30)
21578 data_tmp = full_data(idata)
21579 data_tmp = ishft(data_tmp, 34)
21580 pack_tmp = ior(pack_tmp, data_tmp)
21581 pack_tmp = ishft(pack_tmp, -30)
21583 data_tmp = full_data(idata)
21584 data_tmp = ishft(data_tmp, 34)
21585 pack_tmp = ior(pack_tmp, data_tmp)
21586 pack_tmp = ishft(pack_tmp, -2)
21588 data_tmp = full_data(idata)
21589 data_tmp = ishft(data_tmp, 34)
21590 data_tmp = iand(data_tmp, mask_left(2))
21591 pack_tmp = ior(pack_tmp, data_tmp)
21593 packed_data(ipack) = pack_tmp
21594 data_tmp = full_data(idata)
21595 pack_tmp = ishft(data_tmp, 36)
21596 pack_tmp = ishft(pack_tmp, -30)
21598 data_tmp = full_data(idata)
21599 data_tmp = ishft(data_tmp, 34)
21600 pack_tmp = ior(pack_tmp, data_tmp)
21601 pack_tmp = ishft(pack_tmp, -6)
21603 data_tmp = full_data(idata)
21604 data_tmp = ishft(data_tmp, 34)
21605 data_tmp = iand(data_tmp, mask_left(6))
21606 pack_tmp = ior(pack_tmp, data_tmp)
21608 packed_data(ipack) = pack_tmp
21609 data_tmp = full_data(idata)
21610 pack_tmp = ishft(data_tmp, 40)
21611 pack_tmp = ishft(pack_tmp, -30)
21613 data_tmp = full_data(idata)
21614 data_tmp = ishft(data_tmp, 34)
21615 pack_tmp = ior(pack_tmp, data_tmp)
21616 pack_tmp = ishft(pack_tmp, -10)
21618 data_tmp = full_data(idata)
21619 data_tmp = ishft(data_tmp, 34)
21620 data_tmp = iand(data_tmp, mask_left(10))
21621 pack_tmp = ior(pack_tmp, data_tmp)
21623 packed_data(ipack) = pack_tmp
21624 data_tmp = full_data(idata)
21625 pack_tmp = ishft(data_tmp, 44)
21626 pack_tmp = ishft(pack_tmp, -30)
21628 data_tmp = full_data(idata)
21629 data_tmp = ishft(data_tmp, 34)
21630 pack_tmp = ior(pack_tmp, data_tmp)
21631 pack_tmp = ishft(pack_tmp, -14)
21633 data_tmp = full_data(idata)
21634 data_tmp = ishft(data_tmp, 34)
21635 data_tmp = iand(data_tmp, mask_left(14))
21636 pack_tmp = ior(pack_tmp, data_tmp)
21638 packed_data(ipack) = pack_tmp
21639 data_tmp = full_data(idata)
21640 pack_tmp = ishft(data_tmp, 48)
21641 pack_tmp = ishft(pack_tmp, -30)
21643 data_tmp = full_data(idata)
21644 data_tmp = ishft(data_tmp, 34)
21645 pack_tmp = ior(pack_tmp, data_tmp)
21646 pack_tmp = ishft(pack_tmp, -18)
21648 data_tmp = full_data(idata)
21649 data_tmp = ishft(data_tmp, 34)
21650 data_tmp = iand(data_tmp, mask_left(18))
21651 pack_tmp = ior(pack_tmp, data_tmp)
21653 packed_data(ipack) = pack_tmp
21654 data_tmp = full_data(idata)
21655 pack_tmp = ishft(data_tmp, 52)
21656 pack_tmp = ishft(pack_tmp, -30)
21658 data_tmp = full_data(idata)
21659 data_tmp = ishft(data_tmp, 34)
21660 pack_tmp = ior(pack_tmp, data_tmp)
21661 pack_tmp = ishft(pack_tmp, -22)
21663 data_tmp = full_data(idata)
21664 data_tmp = ishft(data_tmp, 34)
21665 data_tmp = iand(data_tmp, mask_left(22))
21666 pack_tmp = ior(pack_tmp, data_tmp)
21668 packed_data(ipack) = pack_tmp
21669 data_tmp = full_data(idata)
21670 pack_tmp = ishft(data_tmp, 56)
21671 pack_tmp = ishft(pack_tmp, -30)
21673 data_tmp = full_data(idata)
21674 data_tmp = ishft(data_tmp, 34)
21675 pack_tmp = ior(pack_tmp, data_tmp)
21676 pack_tmp = ishft(pack_tmp, -26)
21678 data_tmp = full_data(idata)
21679 data_tmp = ishft(data_tmp, 34)
21680 data_tmp = iand(data_tmp, mask_left(26))
21681 pack_tmp = ior(pack_tmp, data_tmp)
21683 packed_data(ipack) = pack_tmp
21684 data_tmp = full_data(idata)
21685 pack_tmp = ishft(data_tmp, 60)
21686 pack_tmp = ishft(pack_tmp, -30)
21688 data_tmp = full_data(idata)
21689 data_tmp = ishft(data_tmp, 34)
21690 pack_tmp = ior(pack_tmp, data_tmp)
21691 pack_tmp = ishft(pack_tmp, -30)
21693 data_tmp = full_data(idata)
21694 data_tmp = ishft(data_tmp, 34)
21695 pack_tmp = ior(pack_tmp, data_tmp)
21696 pack_tmp = ishft(pack_tmp, 0)
21698 data_tmp = full_data(idata)
21699 data_tmp = ishft(data_tmp, 34)
21700 data_tmp = iand(data_tmp, mask_left(0))
21701 pack_tmp = ior(pack_tmp, data_tmp)
21703 packed_data(ipack) = pack_tmp
21704 data_tmp = full_data(idata)
21705 pack_tmp = ishft(data_tmp, 34)
21706 pack_tmp = ishft(pack_tmp, -30)
21708 data_tmp = full_data(idata)
21709 data_tmp = ishft(data_tmp, 34)
21710 pack_tmp = ior(pack_tmp, data_tmp)
21711 pack_tmp = ishft(pack_tmp, -4)
21713 data_tmp = full_data(idata)
21714 data_tmp = ishft(data_tmp, 34)
21715 data_tmp = iand(data_tmp, mask_left(4))
21716 pack_tmp = ior(pack_tmp, data_tmp)
21718 packed_data(ipack) = pack_tmp
21719 data_tmp = full_data(idata)
21720 pack_tmp = ishft(data_tmp, 38)
21721 pack_tmp = ishft(pack_tmp, -30)
21723 data_tmp = full_data(idata)
21724 data_tmp = ishft(data_tmp, 34)
21725 pack_tmp = ior(pack_tmp, data_tmp)
21726 pack_tmp = ishft(pack_tmp, -8)
21728 data_tmp = full_data(idata)
21729 data_tmp = ishft(data_tmp, 34)
21730 data_tmp = iand(data_tmp, mask_left(8))
21731 pack_tmp = ior(pack_tmp, data_tmp)
21733 packed_data(ipack) = pack_tmp
21734 data_tmp = full_data(idata)
21735 pack_tmp = ishft(data_tmp, 42)
21736 pack_tmp = ishft(pack_tmp, -30)
21738 data_tmp = full_data(idata)
21739 data_tmp = ishft(data_tmp, 34)
21740 pack_tmp = ior(pack_tmp, data_tmp)
21741 pack_tmp = ishft(pack_tmp, -12)
21743 data_tmp = full_data(idata)
21744 data_tmp = ishft(data_tmp, 34)
21745 data_tmp = iand(data_tmp, mask_left(12))
21746 pack_tmp = ior(pack_tmp, data_tmp)
21748 packed_data(ipack) = pack_tmp
21749 data_tmp = full_data(idata)
21750 pack_tmp = ishft(data_tmp, 46)
21751 pack_tmp = ishft(pack_tmp, -30)
21753 data_tmp = full_data(idata)
21754 data_tmp = ishft(data_tmp, 34)
21755 pack_tmp = ior(pack_tmp, data_tmp)
21756 pack_tmp = ishft(pack_tmp, -16)
21758 data_tmp = full_data(idata)
21759 data_tmp = ishft(data_tmp, 34)
21760 data_tmp = iand(data_tmp, mask_left(16))
21761 pack_tmp = ior(pack_tmp, data_tmp)
21763 packed_data(ipack) = pack_tmp
21764 data_tmp = full_data(idata)
21765 pack_tmp = ishft(data_tmp, 50)
21766 pack_tmp = ishft(pack_tmp, -30)
21768 data_tmp = full_data(idata)
21769 data_tmp = ishft(data_tmp, 34)
21770 pack_tmp = ior(pack_tmp, data_tmp)
21771 pack_tmp = ishft(pack_tmp, -20)
21773 data_tmp = full_data(idata)
21774 data_tmp = ishft(data_tmp, 34)
21775 data_tmp = iand(data_tmp, mask_left(20))
21776 pack_tmp = ior(pack_tmp, data_tmp)
21778 packed_data(ipack) = pack_tmp
21779 data_tmp = full_data(idata)
21780 pack_tmp = ishft(data_tmp, 54)
21781 pack_tmp = ishft(pack_tmp, -30)
21783 data_tmp = full_data(idata)
21784 data_tmp = ishft(data_tmp, 34)
21785 pack_tmp = ior(pack_tmp, data_tmp)
21786 pack_tmp = ishft(pack_tmp, -24)
21788 data_tmp = full_data(idata)
21789 data_tmp = ishft(data_tmp, 34)
21790 data_tmp = iand(data_tmp, mask_left(24))
21791 pack_tmp = ior(pack_tmp, data_tmp)
21793 packed_data(ipack) = pack_tmp
21794 data_tmp = full_data(idata)
21795 pack_tmp = ishft(data_tmp, 58)
21796 pack_tmp = ishft(pack_tmp, -30)
21798 data_tmp = full_data(idata)
21799 data_tmp = ishft(data_tmp, 34)
21800 pack_tmp = ior(pack_tmp, data_tmp)
21801 pack_tmp = ishft(pack_tmp, -28)
21803 data_tmp = full_data(idata)
21804 data_tmp = ishft(data_tmp, 34)
21805 data_tmp = iand(data_tmp, mask_left(28))
21806 pack_tmp = ior(pack_tmp, data_tmp)
21808 packed_data(ipack) = pack_tmp
21809 data_tmp = full_data(idata)
21810 pack_tmp = ishft(data_tmp, 62)
21811 pack_tmp = ishft(pack_tmp, -30)
21813 data_tmp = full_data(idata)
21814 data_tmp = ishft(data_tmp, 34)
21815 pack_tmp = ior(pack_tmp, data_tmp)
21816 pack_tmp = ishft(pack_tmp, -30)
21818 data_tmp = full_data(idata)
21819 data_tmp = ishft(data_tmp, 34)
21820 pack_tmp = ior(pack_tmp, data_tmp)
21821 pack_tmp = ishft(pack_tmp, -2)
21823 data_tmp = full_data(idata)
21824 data_tmp = ishft(data_tmp, 34)
21825 data_tmp = iand(data_tmp, mask_left(2))
21826 pack_tmp = ior(pack_tmp, data_tmp)
21828 packed_data(ipack) = pack_tmp
21829 data_tmp = full_data(idata)
21830 pack_tmp = ishft(data_tmp, 36)
21831 pack_tmp = ishft(pack_tmp, -30)
21833 data_tmp = full_data(idata)
21834 data_tmp = ishft(data_tmp, 34)
21835 pack_tmp = ior(pack_tmp, data_tmp)
21836 pack_tmp = ishft(pack_tmp, -6)
21838 data_tmp = full_data(idata)
21839 data_tmp = ishft(data_tmp, 34)
21840 data_tmp = iand(data_tmp, mask_left(6))
21841 pack_tmp = ior(pack_tmp, data_tmp)
21843 packed_data(ipack) = pack_tmp
21844 data_tmp = full_data(idata)
21845 pack_tmp = ishft(data_tmp, 40)
21846 pack_tmp = ishft(pack_tmp, -30)
21848 data_tmp = full_data(idata)
21849 data_tmp = ishft(data_tmp, 34)
21850 pack_tmp = ior(pack_tmp, data_tmp)
21851 pack_tmp = ishft(pack_tmp, -10)
21853 data_tmp = full_data(idata)
21854 data_tmp = ishft(data_tmp, 34)
21855 data_tmp = iand(data_tmp, mask_left(10))
21856 pack_tmp = ior(pack_tmp, data_tmp)
21858 packed_data(ipack) = pack_tmp
21859 data_tmp = full_data(idata)
21860 pack_tmp = ishft(data_tmp, 44)
21861 pack_tmp = ishft(pack_tmp, -30)
21863 data_tmp = full_data(idata)
21864 data_tmp = ishft(data_tmp, 34)
21865 pack_tmp = ior(pack_tmp, data_tmp)
21866 pack_tmp = ishft(pack_tmp, -14)
21868 data_tmp = full_data(idata)
21869 data_tmp = ishft(data_tmp, 34)
21870 data_tmp = iand(data_tmp, mask_left(14))
21871 pack_tmp = ior(pack_tmp, data_tmp)
21873 packed_data(ipack) = pack_tmp
21874 data_tmp = full_data(idata)
21875 pack_tmp = ishft(data_tmp, 48)
21876 pack_tmp = ishft(pack_tmp, -30)
21878 data_tmp = full_data(idata)
21879 data_tmp = ishft(data_tmp, 34)
21880 pack_tmp = ior(pack_tmp, data_tmp)
21881 pack_tmp = ishft(pack_tmp, -18)
21883 data_tmp = full_data(idata)
21884 data_tmp = ishft(data_tmp, 34)
21885 data_tmp = iand(data_tmp, mask_left(18))
21886 pack_tmp = ior(pack_tmp, data_tmp)
21888 packed_data(ipack) = pack_tmp
21889 data_tmp = full_data(idata)
21890 pack_tmp = ishft(data_tmp, 52)
21891 pack_tmp = ishft(pack_tmp, -30)
21893 data_tmp = full_data(idata)
21894 data_tmp = ishft(data_tmp, 34)
21895 pack_tmp = ior(pack_tmp, data_tmp)
21896 pack_tmp = ishft(pack_tmp, -22)
21898 data_tmp = full_data(idata)
21899 data_tmp = ishft(data_tmp, 34)
21900 data_tmp = iand(data_tmp, mask_left(22))
21901 pack_tmp = ior(pack_tmp, data_tmp)
21903 packed_data(ipack) = pack_tmp
21904 data_tmp = full_data(idata)
21905 pack_tmp = ishft(data_tmp, 56)
21906 pack_tmp = ishft(pack_tmp, -30)
21908 data_tmp = full_data(idata)
21909 data_tmp = ishft(data_tmp, 34)
21910 pack_tmp = ior(pack_tmp, data_tmp)
21911 pack_tmp = ishft(pack_tmp, -26)
21913 data_tmp = full_data(idata)
21914 data_tmp = ishft(data_tmp, 34)
21915 data_tmp = iand(data_tmp, mask_left(26))
21916 pack_tmp = ior(pack_tmp, data_tmp)
21918 packed_data(ipack) = pack_tmp
21919 data_tmp = full_data(idata)
21920 pack_tmp = ishft(data_tmp, 60)
21921 pack_tmp = ishft(pack_tmp, -30)
21923 data_tmp = full_data(idata)
21924 data_tmp = ishft(data_tmp, 34)
21925 pack_tmp = ior(pack_tmp, data_tmp)
21926 pack_tmp = ishft(pack_tmp, -30)
21928 data_tmp = full_data(idata)
21929 data_tmp = ishft(data_tmp, 34)
21930 pack_tmp = ior(pack_tmp, data_tmp)
21931 pack_tmp = ishft(pack_tmp, 0)
21932 pack_tmp = ishft(pack_tmp, 0)
21934 packed_data(ipack) = pack_tmp
21936 IF (ndata_rep < ndata)
THEN
21937 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
21939 END SUBROUTINE ints2bits_30
21947 SUBROUTINE bits2ints_30(Ndata, packed_data, full_data)
21948 INTEGER,
INTENT(IN) :: Ndata
21949 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
21950 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
21952 INTEGER,
PARAMETER :: Nbits = 30
21954 INTEGER :: idata, ipack, kdata, Ndata_rep
21955 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
21960 ndata_rep = (ndata/64)*64
21961 DO kdata = 1, ndata_rep, 64
21963 data_tmp = ishft(pack_tmp, 30)
21965 pack_tmp = packed_data(ipack)
21966 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
21967 pack_tmp = ishft(pack_tmp, -30)
21969 data_tmp = iand(pack_tmp, mask_right(nbits))
21970 full_data(idata) = data_tmp
21971 pack_tmp = ishft(pack_tmp, -nbits)
21973 data_tmp = ishft(pack_tmp, 26)
21975 pack_tmp = packed_data(ipack)
21976 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
21977 pack_tmp = ishft(pack_tmp, -26)
21979 data_tmp = iand(pack_tmp, mask_right(nbits))
21980 full_data(idata) = data_tmp
21981 pack_tmp = ishft(pack_tmp, -nbits)
21983 data_tmp = ishft(pack_tmp, 22)
21985 pack_tmp = packed_data(ipack)
21986 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
21987 pack_tmp = ishft(pack_tmp, -22)
21989 data_tmp = iand(pack_tmp, mask_right(nbits))
21990 full_data(idata) = data_tmp
21991 pack_tmp = ishft(pack_tmp, -nbits)
21993 data_tmp = ishft(pack_tmp, 18)
21995 pack_tmp = packed_data(ipack)
21996 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
21997 pack_tmp = ishft(pack_tmp, -18)
21999 data_tmp = iand(pack_tmp, mask_right(nbits))
22000 full_data(idata) = data_tmp
22001 pack_tmp = ishft(pack_tmp, -nbits)
22003 data_tmp = ishft(pack_tmp, 14)
22005 pack_tmp = packed_data(ipack)
22006 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
22007 pack_tmp = ishft(pack_tmp, -14)
22009 data_tmp = iand(pack_tmp, mask_right(nbits))
22010 full_data(idata) = data_tmp
22011 pack_tmp = ishft(pack_tmp, -nbits)
22013 data_tmp = ishft(pack_tmp, 10)
22015 pack_tmp = packed_data(ipack)
22016 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
22017 pack_tmp = ishft(pack_tmp, -10)
22019 data_tmp = iand(pack_tmp, mask_right(nbits))
22020 full_data(idata) = data_tmp
22021 pack_tmp = ishft(pack_tmp, -nbits)
22023 data_tmp = ishft(pack_tmp, 6)
22025 pack_tmp = packed_data(ipack)
22026 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
22027 pack_tmp = ishft(pack_tmp, -6)
22029 data_tmp = iand(pack_tmp, mask_right(nbits))
22030 full_data(idata) = data_tmp
22031 pack_tmp = ishft(pack_tmp, -nbits)
22033 data_tmp = ishft(pack_tmp, 2)
22035 pack_tmp = packed_data(ipack)
22036 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
22037 pack_tmp = ishft(pack_tmp, -2)
22039 data_tmp = iand(pack_tmp, mask_right(nbits))
22040 full_data(idata) = data_tmp
22041 pack_tmp = ishft(pack_tmp, -nbits)
22043 data_tmp = iand(pack_tmp, mask_right(nbits))
22044 full_data(idata) = data_tmp
22045 pack_tmp = ishft(pack_tmp, -nbits)
22047 data_tmp = ishft(pack_tmp, 28)
22049 pack_tmp = packed_data(ipack)
22050 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
22051 pack_tmp = ishft(pack_tmp, -28)
22053 data_tmp = iand(pack_tmp, mask_right(nbits))
22054 full_data(idata) = data_tmp
22055 pack_tmp = ishft(pack_tmp, -nbits)
22057 data_tmp = ishft(pack_tmp, 24)
22059 pack_tmp = packed_data(ipack)
22060 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
22061 pack_tmp = ishft(pack_tmp, -24)
22063 data_tmp = iand(pack_tmp, mask_right(nbits))
22064 full_data(idata) = data_tmp
22065 pack_tmp = ishft(pack_tmp, -nbits)
22067 data_tmp = ishft(pack_tmp, 20)
22069 pack_tmp = packed_data(ipack)
22070 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
22071 pack_tmp = ishft(pack_tmp, -20)
22073 data_tmp = iand(pack_tmp, mask_right(nbits))
22074 full_data(idata) = data_tmp
22075 pack_tmp = ishft(pack_tmp, -nbits)
22077 data_tmp = ishft(pack_tmp, 16)
22079 pack_tmp = packed_data(ipack)
22080 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
22081 pack_tmp = ishft(pack_tmp, -16)
22083 data_tmp = iand(pack_tmp, mask_right(nbits))
22084 full_data(idata) = data_tmp
22085 pack_tmp = ishft(pack_tmp, -nbits)
22087 data_tmp = ishft(pack_tmp, 12)
22089 pack_tmp = packed_data(ipack)
22090 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
22091 pack_tmp = ishft(pack_tmp, -12)
22093 data_tmp = iand(pack_tmp, mask_right(nbits))
22094 full_data(idata) = data_tmp
22095 pack_tmp = ishft(pack_tmp, -nbits)
22097 data_tmp = ishft(pack_tmp, 8)
22099 pack_tmp = packed_data(ipack)
22100 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
22101 pack_tmp = ishft(pack_tmp, -8)
22103 data_tmp = iand(pack_tmp, mask_right(nbits))
22104 full_data(idata) = data_tmp
22105 pack_tmp = ishft(pack_tmp, -nbits)
22107 data_tmp = ishft(pack_tmp, 4)
22109 pack_tmp = packed_data(ipack)
22110 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
22111 pack_tmp = ishft(pack_tmp, -4)
22113 data_tmp = iand(pack_tmp, mask_right(nbits))
22114 full_data(idata) = data_tmp
22115 pack_tmp = ishft(pack_tmp, -nbits)
22117 data_tmp = iand(pack_tmp, mask_right(nbits))
22118 full_data(idata) = data_tmp
22119 pack_tmp = ishft(pack_tmp, -nbits)
22121 data_tmp = ishft(pack_tmp, 30)
22123 pack_tmp = packed_data(ipack)
22124 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
22125 pack_tmp = ishft(pack_tmp, -30)
22127 data_tmp = iand(pack_tmp, mask_right(nbits))
22128 full_data(idata) = data_tmp
22129 pack_tmp = ishft(pack_tmp, -nbits)
22131 data_tmp = ishft(pack_tmp, 26)
22133 pack_tmp = packed_data(ipack)
22134 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
22135 pack_tmp = ishft(pack_tmp, -26)
22137 data_tmp = iand(pack_tmp, mask_right(nbits))
22138 full_data(idata) = data_tmp
22139 pack_tmp = ishft(pack_tmp, -nbits)
22141 data_tmp = ishft(pack_tmp, 22)
22143 pack_tmp = packed_data(ipack)
22144 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
22145 pack_tmp = ishft(pack_tmp, -22)
22147 data_tmp = iand(pack_tmp, mask_right(nbits))
22148 full_data(idata) = data_tmp
22149 pack_tmp = ishft(pack_tmp, -nbits)
22151 data_tmp = ishft(pack_tmp, 18)
22153 pack_tmp = packed_data(ipack)
22154 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
22155 pack_tmp = ishft(pack_tmp, -18)
22157 data_tmp = iand(pack_tmp, mask_right(nbits))
22158 full_data(idata) = data_tmp
22159 pack_tmp = ishft(pack_tmp, -nbits)
22161 data_tmp = ishft(pack_tmp, 14)
22163 pack_tmp = packed_data(ipack)
22164 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
22165 pack_tmp = ishft(pack_tmp, -14)
22167 data_tmp = iand(pack_tmp, mask_right(nbits))
22168 full_data(idata) = data_tmp
22169 pack_tmp = ishft(pack_tmp, -nbits)
22171 data_tmp = ishft(pack_tmp, 10)
22173 pack_tmp = packed_data(ipack)
22174 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
22175 pack_tmp = ishft(pack_tmp, -10)
22177 data_tmp = iand(pack_tmp, mask_right(nbits))
22178 full_data(idata) = data_tmp
22179 pack_tmp = ishft(pack_tmp, -nbits)
22181 data_tmp = ishft(pack_tmp, 6)
22183 pack_tmp = packed_data(ipack)
22184 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
22185 pack_tmp = ishft(pack_tmp, -6)
22187 data_tmp = iand(pack_tmp, mask_right(nbits))
22188 full_data(idata) = data_tmp
22189 pack_tmp = ishft(pack_tmp, -nbits)
22191 data_tmp = ishft(pack_tmp, 2)
22193 pack_tmp = packed_data(ipack)
22194 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
22195 pack_tmp = ishft(pack_tmp, -2)
22197 data_tmp = iand(pack_tmp, mask_right(nbits))
22198 full_data(idata) = data_tmp
22199 pack_tmp = ishft(pack_tmp, -nbits)
22201 data_tmp = iand(pack_tmp, mask_right(nbits))
22202 full_data(idata) = data_tmp
22203 pack_tmp = ishft(pack_tmp, -nbits)
22205 data_tmp = ishft(pack_tmp, 28)
22207 pack_tmp = packed_data(ipack)
22208 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
22209 pack_tmp = ishft(pack_tmp, -28)
22211 data_tmp = iand(pack_tmp, mask_right(nbits))
22212 full_data(idata) = data_tmp
22213 pack_tmp = ishft(pack_tmp, -nbits)
22215 data_tmp = ishft(pack_tmp, 24)
22217 pack_tmp = packed_data(ipack)
22218 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
22219 pack_tmp = ishft(pack_tmp, -24)
22221 data_tmp = iand(pack_tmp, mask_right(nbits))
22222 full_data(idata) = data_tmp
22223 pack_tmp = ishft(pack_tmp, -nbits)
22225 data_tmp = ishft(pack_tmp, 20)
22227 pack_tmp = packed_data(ipack)
22228 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
22229 pack_tmp = ishft(pack_tmp, -20)
22231 data_tmp = iand(pack_tmp, mask_right(nbits))
22232 full_data(idata) = data_tmp
22233 pack_tmp = ishft(pack_tmp, -nbits)
22235 data_tmp = ishft(pack_tmp, 16)
22237 pack_tmp = packed_data(ipack)
22238 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
22239 pack_tmp = ishft(pack_tmp, -16)
22241 data_tmp = iand(pack_tmp, mask_right(nbits))
22242 full_data(idata) = data_tmp
22243 pack_tmp = ishft(pack_tmp, -nbits)
22245 data_tmp = ishft(pack_tmp, 12)
22247 pack_tmp = packed_data(ipack)
22248 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
22249 pack_tmp = ishft(pack_tmp, -12)
22251 data_tmp = iand(pack_tmp, mask_right(nbits))
22252 full_data(idata) = data_tmp
22253 pack_tmp = ishft(pack_tmp, -nbits)
22255 data_tmp = ishft(pack_tmp, 8)
22257 pack_tmp = packed_data(ipack)
22258 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
22259 pack_tmp = ishft(pack_tmp, -8)
22261 data_tmp = iand(pack_tmp, mask_right(nbits))
22262 full_data(idata) = data_tmp
22263 pack_tmp = ishft(pack_tmp, -nbits)
22265 data_tmp = ishft(pack_tmp, 4)
22267 pack_tmp = packed_data(ipack)
22268 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
22269 pack_tmp = ishft(pack_tmp, -4)
22271 data_tmp = iand(pack_tmp, mask_right(nbits))
22272 full_data(idata) = data_tmp
22273 pack_tmp = ishft(pack_tmp, -nbits)
22275 data_tmp = iand(pack_tmp, mask_right(nbits))
22276 full_data(idata) = data_tmp
22277 pack_tmp = ishft(pack_tmp, -nbits)
22279 IF (ndata_rep < ndata)
THEN
22280 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
22282 END SUBROUTINE bits2ints_30
22290 SUBROUTINE ints2bits_31(Ndata, packed_data, full_data)
22291 INTEGER,
INTENT(IN) :: Ndata
22292 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
22293 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
22295 INTEGER,
PARAMETER :: Nbits = 31
22297 INTEGER :: idata, ipack, kdata, Ndata_rep
22298 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
22302 ndata_rep = (ndata/64)*64
22303 DO kdata = 1, ndata_rep, 64
22306 data_tmp = full_data(idata)
22307 data_tmp = ishft(data_tmp, 33)
22308 pack_tmp = ior(pack_tmp, data_tmp)
22309 pack_tmp = ishft(pack_tmp, -31)
22311 data_tmp = full_data(idata)
22312 data_tmp = ishft(data_tmp, 33)
22313 pack_tmp = ior(pack_tmp, data_tmp)
22314 pack_tmp = ishft(pack_tmp, -2)
22316 data_tmp = full_data(idata)
22317 data_tmp = ishft(data_tmp, 33)
22318 data_tmp = iand(data_tmp, mask_left(2))
22319 pack_tmp = ior(pack_tmp, data_tmp)
22321 packed_data(ipack) = pack_tmp
22322 data_tmp = full_data(idata)
22323 pack_tmp = ishft(data_tmp, 35)
22324 pack_tmp = ishft(pack_tmp, -31)
22326 data_tmp = full_data(idata)
22327 data_tmp = ishft(data_tmp, 33)
22328 pack_tmp = ior(pack_tmp, data_tmp)
22329 pack_tmp = ishft(pack_tmp, -4)
22331 data_tmp = full_data(idata)
22332 data_tmp = ishft(data_tmp, 33)
22333 data_tmp = iand(data_tmp, mask_left(4))
22334 pack_tmp = ior(pack_tmp, data_tmp)
22336 packed_data(ipack) = pack_tmp
22337 data_tmp = full_data(idata)
22338 pack_tmp = ishft(data_tmp, 37)
22339 pack_tmp = ishft(pack_tmp, -31)
22341 data_tmp = full_data(idata)
22342 data_tmp = ishft(data_tmp, 33)
22343 pack_tmp = ior(pack_tmp, data_tmp)
22344 pack_tmp = ishft(pack_tmp, -6)
22346 data_tmp = full_data(idata)
22347 data_tmp = ishft(data_tmp, 33)
22348 data_tmp = iand(data_tmp, mask_left(6))
22349 pack_tmp = ior(pack_tmp, data_tmp)
22351 packed_data(ipack) = pack_tmp
22352 data_tmp = full_data(idata)
22353 pack_tmp = ishft(data_tmp, 39)
22354 pack_tmp = ishft(pack_tmp, -31)
22356 data_tmp = full_data(idata)
22357 data_tmp = ishft(data_tmp, 33)
22358 pack_tmp = ior(pack_tmp, data_tmp)
22359 pack_tmp = ishft(pack_tmp, -8)
22361 data_tmp = full_data(idata)
22362 data_tmp = ishft(data_tmp, 33)
22363 data_tmp = iand(data_tmp, mask_left(8))
22364 pack_tmp = ior(pack_tmp, data_tmp)
22366 packed_data(ipack) = pack_tmp
22367 data_tmp = full_data(idata)
22368 pack_tmp = ishft(data_tmp, 41)
22369 pack_tmp = ishft(pack_tmp, -31)
22371 data_tmp = full_data(idata)
22372 data_tmp = ishft(data_tmp, 33)
22373 pack_tmp = ior(pack_tmp, data_tmp)
22374 pack_tmp = ishft(pack_tmp, -10)
22376 data_tmp = full_data(idata)
22377 data_tmp = ishft(data_tmp, 33)
22378 data_tmp = iand(data_tmp, mask_left(10))
22379 pack_tmp = ior(pack_tmp, data_tmp)
22381 packed_data(ipack) = pack_tmp
22382 data_tmp = full_data(idata)
22383 pack_tmp = ishft(data_tmp, 43)
22384 pack_tmp = ishft(pack_tmp, -31)
22386 data_tmp = full_data(idata)
22387 data_tmp = ishft(data_tmp, 33)
22388 pack_tmp = ior(pack_tmp, data_tmp)
22389 pack_tmp = ishft(pack_tmp, -12)
22391 data_tmp = full_data(idata)
22392 data_tmp = ishft(data_tmp, 33)
22393 data_tmp = iand(data_tmp, mask_left(12))
22394 pack_tmp = ior(pack_tmp, data_tmp)
22396 packed_data(ipack) = pack_tmp
22397 data_tmp = full_data(idata)
22398 pack_tmp = ishft(data_tmp, 45)
22399 pack_tmp = ishft(pack_tmp, -31)
22401 data_tmp = full_data(idata)
22402 data_tmp = ishft(data_tmp, 33)
22403 pack_tmp = ior(pack_tmp, data_tmp)
22404 pack_tmp = ishft(pack_tmp, -14)
22406 data_tmp = full_data(idata)
22407 data_tmp = ishft(data_tmp, 33)
22408 data_tmp = iand(data_tmp, mask_left(14))
22409 pack_tmp = ior(pack_tmp, data_tmp)
22411 packed_data(ipack) = pack_tmp
22412 data_tmp = full_data(idata)
22413 pack_tmp = ishft(data_tmp, 47)
22414 pack_tmp = ishft(pack_tmp, -31)
22416 data_tmp = full_data(idata)
22417 data_tmp = ishft(data_tmp, 33)
22418 pack_tmp = ior(pack_tmp, data_tmp)
22419 pack_tmp = ishft(pack_tmp, -16)
22421 data_tmp = full_data(idata)
22422 data_tmp = ishft(data_tmp, 33)
22423 data_tmp = iand(data_tmp, mask_left(16))
22424 pack_tmp = ior(pack_tmp, data_tmp)
22426 packed_data(ipack) = pack_tmp
22427 data_tmp = full_data(idata)
22428 pack_tmp = ishft(data_tmp, 49)
22429 pack_tmp = ishft(pack_tmp, -31)
22431 data_tmp = full_data(idata)
22432 data_tmp = ishft(data_tmp, 33)
22433 pack_tmp = ior(pack_tmp, data_tmp)
22434 pack_tmp = ishft(pack_tmp, -18)
22436 data_tmp = full_data(idata)
22437 data_tmp = ishft(data_tmp, 33)
22438 data_tmp = iand(data_tmp, mask_left(18))
22439 pack_tmp = ior(pack_tmp, data_tmp)
22441 packed_data(ipack) = pack_tmp
22442 data_tmp = full_data(idata)
22443 pack_tmp = ishft(data_tmp, 51)
22444 pack_tmp = ishft(pack_tmp, -31)
22446 data_tmp = full_data(idata)
22447 data_tmp = ishft(data_tmp, 33)
22448 pack_tmp = ior(pack_tmp, data_tmp)
22449 pack_tmp = ishft(pack_tmp, -20)
22451 data_tmp = full_data(idata)
22452 data_tmp = ishft(data_tmp, 33)
22453 data_tmp = iand(data_tmp, mask_left(20))
22454 pack_tmp = ior(pack_tmp, data_tmp)
22456 packed_data(ipack) = pack_tmp
22457 data_tmp = full_data(idata)
22458 pack_tmp = ishft(data_tmp, 53)
22459 pack_tmp = ishft(pack_tmp, -31)
22461 data_tmp = full_data(idata)
22462 data_tmp = ishft(data_tmp, 33)
22463 pack_tmp = ior(pack_tmp, data_tmp)
22464 pack_tmp = ishft(pack_tmp, -22)
22466 data_tmp = full_data(idata)
22467 data_tmp = ishft(data_tmp, 33)
22468 data_tmp = iand(data_tmp, mask_left(22))
22469 pack_tmp = ior(pack_tmp, data_tmp)
22471 packed_data(ipack) = pack_tmp
22472 data_tmp = full_data(idata)
22473 pack_tmp = ishft(data_tmp, 55)
22474 pack_tmp = ishft(pack_tmp, -31)
22476 data_tmp = full_data(idata)
22477 data_tmp = ishft(data_tmp, 33)
22478 pack_tmp = ior(pack_tmp, data_tmp)
22479 pack_tmp = ishft(pack_tmp, -24)
22481 data_tmp = full_data(idata)
22482 data_tmp = ishft(data_tmp, 33)
22483 data_tmp = iand(data_tmp, mask_left(24))
22484 pack_tmp = ior(pack_tmp, data_tmp)
22486 packed_data(ipack) = pack_tmp
22487 data_tmp = full_data(idata)
22488 pack_tmp = ishft(data_tmp, 57)
22489 pack_tmp = ishft(pack_tmp, -31)
22491 data_tmp = full_data(idata)
22492 data_tmp = ishft(data_tmp, 33)
22493 pack_tmp = ior(pack_tmp, data_tmp)
22494 pack_tmp = ishft(pack_tmp, -26)
22496 data_tmp = full_data(idata)
22497 data_tmp = ishft(data_tmp, 33)
22498 data_tmp = iand(data_tmp, mask_left(26))
22499 pack_tmp = ior(pack_tmp, data_tmp)
22501 packed_data(ipack) = pack_tmp
22502 data_tmp = full_data(idata)
22503 pack_tmp = ishft(data_tmp, 59)
22504 pack_tmp = ishft(pack_tmp, -31)
22506 data_tmp = full_data(idata)
22507 data_tmp = ishft(data_tmp, 33)
22508 pack_tmp = ior(pack_tmp, data_tmp)
22509 pack_tmp = ishft(pack_tmp, -28)
22511 data_tmp = full_data(idata)
22512 data_tmp = ishft(data_tmp, 33)
22513 data_tmp = iand(data_tmp, mask_left(28))
22514 pack_tmp = ior(pack_tmp, data_tmp)
22516 packed_data(ipack) = pack_tmp
22517 data_tmp = full_data(idata)
22518 pack_tmp = ishft(data_tmp, 61)
22519 pack_tmp = ishft(pack_tmp, -31)
22521 data_tmp = full_data(idata)
22522 data_tmp = ishft(data_tmp, 33)
22523 pack_tmp = ior(pack_tmp, data_tmp)
22524 pack_tmp = ishft(pack_tmp, -30)
22526 data_tmp = full_data(idata)
22527 data_tmp = ishft(data_tmp, 33)
22528 data_tmp = iand(data_tmp, mask_left(30))
22529 pack_tmp = ior(pack_tmp, data_tmp)
22531 packed_data(ipack) = pack_tmp
22532 data_tmp = full_data(idata)
22533 pack_tmp = ishft(data_tmp, 63)
22534 pack_tmp = ishft(pack_tmp, -31)
22536 data_tmp = full_data(idata)
22537 data_tmp = ishft(data_tmp, 33)
22538 pack_tmp = ior(pack_tmp, data_tmp)
22539 pack_tmp = ishft(pack_tmp, -31)
22541 data_tmp = full_data(idata)
22542 data_tmp = ishft(data_tmp, 33)
22543 pack_tmp = ior(pack_tmp, data_tmp)
22544 pack_tmp = ishft(pack_tmp, -1)
22546 data_tmp = full_data(idata)
22547 data_tmp = ishft(data_tmp, 33)
22548 data_tmp = iand(data_tmp, mask_left(1))
22549 pack_tmp = ior(pack_tmp, data_tmp)
22551 packed_data(ipack) = pack_tmp
22552 data_tmp = full_data(idata)
22553 pack_tmp = ishft(data_tmp, 34)
22554 pack_tmp = ishft(pack_tmp, -31)
22556 data_tmp = full_data(idata)
22557 data_tmp = ishft(data_tmp, 33)
22558 pack_tmp = ior(pack_tmp, data_tmp)
22559 pack_tmp = ishft(pack_tmp, -3)
22561 data_tmp = full_data(idata)
22562 data_tmp = ishft(data_tmp, 33)
22563 data_tmp = iand(data_tmp, mask_left(3))
22564 pack_tmp = ior(pack_tmp, data_tmp)
22566 packed_data(ipack) = pack_tmp
22567 data_tmp = full_data(idata)
22568 pack_tmp = ishft(data_tmp, 36)
22569 pack_tmp = ishft(pack_tmp, -31)
22571 data_tmp = full_data(idata)
22572 data_tmp = ishft(data_tmp, 33)
22573 pack_tmp = ior(pack_tmp, data_tmp)
22574 pack_tmp = ishft(pack_tmp, -5)
22576 data_tmp = full_data(idata)
22577 data_tmp = ishft(data_tmp, 33)
22578 data_tmp = iand(data_tmp, mask_left(5))
22579 pack_tmp = ior(pack_tmp, data_tmp)
22581 packed_data(ipack) = pack_tmp
22582 data_tmp = full_data(idata)
22583 pack_tmp = ishft(data_tmp, 38)
22584 pack_tmp = ishft(pack_tmp, -31)
22586 data_tmp = full_data(idata)
22587 data_tmp = ishft(data_tmp, 33)
22588 pack_tmp = ior(pack_tmp, data_tmp)
22589 pack_tmp = ishft(pack_tmp, -7)
22591 data_tmp = full_data(idata)
22592 data_tmp = ishft(data_tmp, 33)
22593 data_tmp = iand(data_tmp, mask_left(7))
22594 pack_tmp = ior(pack_tmp, data_tmp)
22596 packed_data(ipack) = pack_tmp
22597 data_tmp = full_data(idata)
22598 pack_tmp = ishft(data_tmp, 40)
22599 pack_tmp = ishft(pack_tmp, -31)
22601 data_tmp = full_data(idata)
22602 data_tmp = ishft(data_tmp, 33)
22603 pack_tmp = ior(pack_tmp, data_tmp)
22604 pack_tmp = ishft(pack_tmp, -9)
22606 data_tmp = full_data(idata)
22607 data_tmp = ishft(data_tmp, 33)
22608 data_tmp = iand(data_tmp, mask_left(9))
22609 pack_tmp = ior(pack_tmp, data_tmp)
22611 packed_data(ipack) = pack_tmp
22612 data_tmp = full_data(idata)
22613 pack_tmp = ishft(data_tmp, 42)
22614 pack_tmp = ishft(pack_tmp, -31)
22616 data_tmp = full_data(idata)
22617 data_tmp = ishft(data_tmp, 33)
22618 pack_tmp = ior(pack_tmp, data_tmp)
22619 pack_tmp = ishft(pack_tmp, -11)
22621 data_tmp = full_data(idata)
22622 data_tmp = ishft(data_tmp, 33)
22623 data_tmp = iand(data_tmp, mask_left(11))
22624 pack_tmp = ior(pack_tmp, data_tmp)
22626 packed_data(ipack) = pack_tmp
22627 data_tmp = full_data(idata)
22628 pack_tmp = ishft(data_tmp, 44)
22629 pack_tmp = ishft(pack_tmp, -31)
22631 data_tmp = full_data(idata)
22632 data_tmp = ishft(data_tmp, 33)
22633 pack_tmp = ior(pack_tmp, data_tmp)
22634 pack_tmp = ishft(pack_tmp, -13)
22636 data_tmp = full_data(idata)
22637 data_tmp = ishft(data_tmp, 33)
22638 data_tmp = iand(data_tmp, mask_left(13))
22639 pack_tmp = ior(pack_tmp, data_tmp)
22641 packed_data(ipack) = pack_tmp
22642 data_tmp = full_data(idata)
22643 pack_tmp = ishft(data_tmp, 46)
22644 pack_tmp = ishft(pack_tmp, -31)
22646 data_tmp = full_data(idata)
22647 data_tmp = ishft(data_tmp, 33)
22648 pack_tmp = ior(pack_tmp, data_tmp)
22649 pack_tmp = ishft(pack_tmp, -15)
22651 data_tmp = full_data(idata)
22652 data_tmp = ishft(data_tmp, 33)
22653 data_tmp = iand(data_tmp, mask_left(15))
22654 pack_tmp = ior(pack_tmp, data_tmp)
22656 packed_data(ipack) = pack_tmp
22657 data_tmp = full_data(idata)
22658 pack_tmp = ishft(data_tmp, 48)
22659 pack_tmp = ishft(pack_tmp, -31)
22661 data_tmp = full_data(idata)
22662 data_tmp = ishft(data_tmp, 33)
22663 pack_tmp = ior(pack_tmp, data_tmp)
22664 pack_tmp = ishft(pack_tmp, -17)
22666 data_tmp = full_data(idata)
22667 data_tmp = ishft(data_tmp, 33)
22668 data_tmp = iand(data_tmp, mask_left(17))
22669 pack_tmp = ior(pack_tmp, data_tmp)
22671 packed_data(ipack) = pack_tmp
22672 data_tmp = full_data(idata)
22673 pack_tmp = ishft(data_tmp, 50)
22674 pack_tmp = ishft(pack_tmp, -31)
22676 data_tmp = full_data(idata)
22677 data_tmp = ishft(data_tmp, 33)
22678 pack_tmp = ior(pack_tmp, data_tmp)
22679 pack_tmp = ishft(pack_tmp, -19)
22681 data_tmp = full_data(idata)
22682 data_tmp = ishft(data_tmp, 33)
22683 data_tmp = iand(data_tmp, mask_left(19))
22684 pack_tmp = ior(pack_tmp, data_tmp)
22686 packed_data(ipack) = pack_tmp
22687 data_tmp = full_data(idata)
22688 pack_tmp = ishft(data_tmp, 52)
22689 pack_tmp = ishft(pack_tmp, -31)
22691 data_tmp = full_data(idata)
22692 data_tmp = ishft(data_tmp, 33)
22693 pack_tmp = ior(pack_tmp, data_tmp)
22694 pack_tmp = ishft(pack_tmp, -21)
22696 data_tmp = full_data(idata)
22697 data_tmp = ishft(data_tmp, 33)
22698 data_tmp = iand(data_tmp, mask_left(21))
22699 pack_tmp = ior(pack_tmp, data_tmp)
22701 packed_data(ipack) = pack_tmp
22702 data_tmp = full_data(idata)
22703 pack_tmp = ishft(data_tmp, 54)
22704 pack_tmp = ishft(pack_tmp, -31)
22706 data_tmp = full_data(idata)
22707 data_tmp = ishft(data_tmp, 33)
22708 pack_tmp = ior(pack_tmp, data_tmp)
22709 pack_tmp = ishft(pack_tmp, -23)
22711 data_tmp = full_data(idata)
22712 data_tmp = ishft(data_tmp, 33)
22713 data_tmp = iand(data_tmp, mask_left(23))
22714 pack_tmp = ior(pack_tmp, data_tmp)
22716 packed_data(ipack) = pack_tmp
22717 data_tmp = full_data(idata)
22718 pack_tmp = ishft(data_tmp, 56)
22719 pack_tmp = ishft(pack_tmp, -31)
22721 data_tmp = full_data(idata)
22722 data_tmp = ishft(data_tmp, 33)
22723 pack_tmp = ior(pack_tmp, data_tmp)
22724 pack_tmp = ishft(pack_tmp, -25)
22726 data_tmp = full_data(idata)
22727 data_tmp = ishft(data_tmp, 33)
22728 data_tmp = iand(data_tmp, mask_left(25))
22729 pack_tmp = ior(pack_tmp, data_tmp)
22731 packed_data(ipack) = pack_tmp
22732 data_tmp = full_data(idata)
22733 pack_tmp = ishft(data_tmp, 58)
22734 pack_tmp = ishft(pack_tmp, -31)
22736 data_tmp = full_data(idata)
22737 data_tmp = ishft(data_tmp, 33)
22738 pack_tmp = ior(pack_tmp, data_tmp)
22739 pack_tmp = ishft(pack_tmp, -27)
22741 data_tmp = full_data(idata)
22742 data_tmp = ishft(data_tmp, 33)
22743 data_tmp = iand(data_tmp, mask_left(27))
22744 pack_tmp = ior(pack_tmp, data_tmp)
22746 packed_data(ipack) = pack_tmp
22747 data_tmp = full_data(idata)
22748 pack_tmp = ishft(data_tmp, 60)
22749 pack_tmp = ishft(pack_tmp, -31)
22751 data_tmp = full_data(idata)
22752 data_tmp = ishft(data_tmp, 33)
22753 pack_tmp = ior(pack_tmp, data_tmp)
22754 pack_tmp = ishft(pack_tmp, -29)
22756 data_tmp = full_data(idata)
22757 data_tmp = ishft(data_tmp, 33)
22758 data_tmp = iand(data_tmp, mask_left(29))
22759 pack_tmp = ior(pack_tmp, data_tmp)
22761 packed_data(ipack) = pack_tmp
22762 data_tmp = full_data(idata)
22763 pack_tmp = ishft(data_tmp, 62)
22764 pack_tmp = ishft(pack_tmp, -31)
22766 data_tmp = full_data(idata)
22767 data_tmp = ishft(data_tmp, 33)
22768 pack_tmp = ior(pack_tmp, data_tmp)
22769 pack_tmp = ishft(pack_tmp, -31)
22771 data_tmp = full_data(idata)
22772 data_tmp = ishft(data_tmp, 33)
22773 pack_tmp = ior(pack_tmp, data_tmp)
22774 pack_tmp = ishft(pack_tmp, 0)
22775 pack_tmp = ishft(pack_tmp, 0)
22777 packed_data(ipack) = pack_tmp
22779 IF (ndata_rep < ndata)
THEN
22780 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
22782 END SUBROUTINE ints2bits_31
22790 SUBROUTINE bits2ints_31(Ndata, packed_data, full_data)
22791 INTEGER,
INTENT(IN) :: Ndata
22792 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
22793 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
22795 INTEGER,
PARAMETER :: Nbits = 31
22797 INTEGER :: idata, ipack, kdata, Ndata_rep
22798 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
22803 ndata_rep = (ndata/64)*64
22804 DO kdata = 1, ndata_rep, 64
22806 data_tmp = ishft(pack_tmp, 31)
22808 pack_tmp = packed_data(ipack)
22809 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
22810 pack_tmp = ishft(pack_tmp, -31)
22812 data_tmp = iand(pack_tmp, mask_right(nbits))
22813 full_data(idata) = data_tmp
22814 pack_tmp = ishft(pack_tmp, -nbits)
22816 data_tmp = ishft(pack_tmp, 29)
22818 pack_tmp = packed_data(ipack)
22819 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
22820 pack_tmp = ishft(pack_tmp, -29)
22822 data_tmp = iand(pack_tmp, mask_right(nbits))
22823 full_data(idata) = data_tmp
22824 pack_tmp = ishft(pack_tmp, -nbits)
22826 data_tmp = ishft(pack_tmp, 27)
22828 pack_tmp = packed_data(ipack)
22829 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
22830 pack_tmp = ishft(pack_tmp, -27)
22832 data_tmp = iand(pack_tmp, mask_right(nbits))
22833 full_data(idata) = data_tmp
22834 pack_tmp = ishft(pack_tmp, -nbits)
22836 data_tmp = ishft(pack_tmp, 25)
22838 pack_tmp = packed_data(ipack)
22839 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
22840 pack_tmp = ishft(pack_tmp, -25)
22842 data_tmp = iand(pack_tmp, mask_right(nbits))
22843 full_data(idata) = data_tmp
22844 pack_tmp = ishft(pack_tmp, -nbits)
22846 data_tmp = ishft(pack_tmp, 23)
22848 pack_tmp = packed_data(ipack)
22849 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
22850 pack_tmp = ishft(pack_tmp, -23)
22852 data_tmp = iand(pack_tmp, mask_right(nbits))
22853 full_data(idata) = data_tmp
22854 pack_tmp = ishft(pack_tmp, -nbits)
22856 data_tmp = ishft(pack_tmp, 21)
22858 pack_tmp = packed_data(ipack)
22859 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
22860 pack_tmp = ishft(pack_tmp, -21)
22862 data_tmp = iand(pack_tmp, mask_right(nbits))
22863 full_data(idata) = data_tmp
22864 pack_tmp = ishft(pack_tmp, -nbits)
22866 data_tmp = ishft(pack_tmp, 19)
22868 pack_tmp = packed_data(ipack)
22869 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
22870 pack_tmp = ishft(pack_tmp, -19)
22872 data_tmp = iand(pack_tmp, mask_right(nbits))
22873 full_data(idata) = data_tmp
22874 pack_tmp = ishft(pack_tmp, -nbits)
22876 data_tmp = ishft(pack_tmp, 17)
22878 pack_tmp = packed_data(ipack)
22879 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
22880 pack_tmp = ishft(pack_tmp, -17)
22882 data_tmp = iand(pack_tmp, mask_right(nbits))
22883 full_data(idata) = data_tmp
22884 pack_tmp = ishft(pack_tmp, -nbits)
22886 data_tmp = ishft(pack_tmp, 15)
22888 pack_tmp = packed_data(ipack)
22889 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
22890 pack_tmp = ishft(pack_tmp, -15)
22892 data_tmp = iand(pack_tmp, mask_right(nbits))
22893 full_data(idata) = data_tmp
22894 pack_tmp = ishft(pack_tmp, -nbits)
22896 data_tmp = ishft(pack_tmp, 13)
22898 pack_tmp = packed_data(ipack)
22899 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
22900 pack_tmp = ishft(pack_tmp, -13)
22902 data_tmp = iand(pack_tmp, mask_right(nbits))
22903 full_data(idata) = data_tmp
22904 pack_tmp = ishft(pack_tmp, -nbits)
22906 data_tmp = ishft(pack_tmp, 11)
22908 pack_tmp = packed_data(ipack)
22909 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
22910 pack_tmp = ishft(pack_tmp, -11)
22912 data_tmp = iand(pack_tmp, mask_right(nbits))
22913 full_data(idata) = data_tmp
22914 pack_tmp = ishft(pack_tmp, -nbits)
22916 data_tmp = ishft(pack_tmp, 9)
22918 pack_tmp = packed_data(ipack)
22919 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
22920 pack_tmp = ishft(pack_tmp, -9)
22922 data_tmp = iand(pack_tmp, mask_right(nbits))
22923 full_data(idata) = data_tmp
22924 pack_tmp = ishft(pack_tmp, -nbits)
22926 data_tmp = ishft(pack_tmp, 7)
22928 pack_tmp = packed_data(ipack)
22929 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
22930 pack_tmp = ishft(pack_tmp, -7)
22932 data_tmp = iand(pack_tmp, mask_right(nbits))
22933 full_data(idata) = data_tmp
22934 pack_tmp = ishft(pack_tmp, -nbits)
22936 data_tmp = ishft(pack_tmp, 5)
22938 pack_tmp = packed_data(ipack)
22939 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
22940 pack_tmp = ishft(pack_tmp, -5)
22942 data_tmp = iand(pack_tmp, mask_right(nbits))
22943 full_data(idata) = data_tmp
22944 pack_tmp = ishft(pack_tmp, -nbits)
22946 data_tmp = ishft(pack_tmp, 3)
22948 pack_tmp = packed_data(ipack)
22949 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
22950 pack_tmp = ishft(pack_tmp, -3)
22952 data_tmp = iand(pack_tmp, mask_right(nbits))
22953 full_data(idata) = data_tmp
22954 pack_tmp = ishft(pack_tmp, -nbits)
22956 data_tmp = ishft(pack_tmp, 1)
22958 pack_tmp = packed_data(ipack)
22959 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
22960 pack_tmp = ishft(pack_tmp, -1)
22962 data_tmp = iand(pack_tmp, mask_right(nbits))
22963 full_data(idata) = data_tmp
22964 pack_tmp = ishft(pack_tmp, -nbits)
22966 data_tmp = iand(pack_tmp, mask_right(nbits))
22967 full_data(idata) = data_tmp
22968 pack_tmp = ishft(pack_tmp, -nbits)
22970 data_tmp = ishft(pack_tmp, 30)
22972 pack_tmp = packed_data(ipack)
22973 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
22974 pack_tmp = ishft(pack_tmp, -30)
22976 data_tmp = iand(pack_tmp, mask_right(nbits))
22977 full_data(idata) = data_tmp
22978 pack_tmp = ishft(pack_tmp, -nbits)
22980 data_tmp = ishft(pack_tmp, 28)
22982 pack_tmp = packed_data(ipack)
22983 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
22984 pack_tmp = ishft(pack_tmp, -28)
22986 data_tmp = iand(pack_tmp, mask_right(nbits))
22987 full_data(idata) = data_tmp
22988 pack_tmp = ishft(pack_tmp, -nbits)
22990 data_tmp = ishft(pack_tmp, 26)
22992 pack_tmp = packed_data(ipack)
22993 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
22994 pack_tmp = ishft(pack_tmp, -26)
22996 data_tmp = iand(pack_tmp, mask_right(nbits))
22997 full_data(idata) = data_tmp
22998 pack_tmp = ishft(pack_tmp, -nbits)
23000 data_tmp = ishft(pack_tmp, 24)
23002 pack_tmp = packed_data(ipack)
23003 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
23004 pack_tmp = ishft(pack_tmp, -24)
23006 data_tmp = iand(pack_tmp, mask_right(nbits))
23007 full_data(idata) = data_tmp
23008 pack_tmp = ishft(pack_tmp, -nbits)
23010 data_tmp = ishft(pack_tmp, 22)
23012 pack_tmp = packed_data(ipack)
23013 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
23014 pack_tmp = ishft(pack_tmp, -22)
23016 data_tmp = iand(pack_tmp, mask_right(nbits))
23017 full_data(idata) = data_tmp
23018 pack_tmp = ishft(pack_tmp, -nbits)
23020 data_tmp = ishft(pack_tmp, 20)
23022 pack_tmp = packed_data(ipack)
23023 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
23024 pack_tmp = ishft(pack_tmp, -20)
23026 data_tmp = iand(pack_tmp, mask_right(nbits))
23027 full_data(idata) = data_tmp
23028 pack_tmp = ishft(pack_tmp, -nbits)
23030 data_tmp = ishft(pack_tmp, 18)
23032 pack_tmp = packed_data(ipack)
23033 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
23034 pack_tmp = ishft(pack_tmp, -18)
23036 data_tmp = iand(pack_tmp, mask_right(nbits))
23037 full_data(idata) = data_tmp
23038 pack_tmp = ishft(pack_tmp, -nbits)
23040 data_tmp = ishft(pack_tmp, 16)
23042 pack_tmp = packed_data(ipack)
23043 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
23044 pack_tmp = ishft(pack_tmp, -16)
23046 data_tmp = iand(pack_tmp, mask_right(nbits))
23047 full_data(idata) = data_tmp
23048 pack_tmp = ishft(pack_tmp, -nbits)
23050 data_tmp = ishft(pack_tmp, 14)
23052 pack_tmp = packed_data(ipack)
23053 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
23054 pack_tmp = ishft(pack_tmp, -14)
23056 data_tmp = iand(pack_tmp, mask_right(nbits))
23057 full_data(idata) = data_tmp
23058 pack_tmp = ishft(pack_tmp, -nbits)
23060 data_tmp = ishft(pack_tmp, 12)
23062 pack_tmp = packed_data(ipack)
23063 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
23064 pack_tmp = ishft(pack_tmp, -12)
23066 data_tmp = iand(pack_tmp, mask_right(nbits))
23067 full_data(idata) = data_tmp
23068 pack_tmp = ishft(pack_tmp, -nbits)
23070 data_tmp = ishft(pack_tmp, 10)
23072 pack_tmp = packed_data(ipack)
23073 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
23074 pack_tmp = ishft(pack_tmp, -10)
23076 data_tmp = iand(pack_tmp, mask_right(nbits))
23077 full_data(idata) = data_tmp
23078 pack_tmp = ishft(pack_tmp, -nbits)
23080 data_tmp = ishft(pack_tmp, 8)
23082 pack_tmp = packed_data(ipack)
23083 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
23084 pack_tmp = ishft(pack_tmp, -8)
23086 data_tmp = iand(pack_tmp, mask_right(nbits))
23087 full_data(idata) = data_tmp
23088 pack_tmp = ishft(pack_tmp, -nbits)
23090 data_tmp = ishft(pack_tmp, 6)
23092 pack_tmp = packed_data(ipack)
23093 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
23094 pack_tmp = ishft(pack_tmp, -6)
23096 data_tmp = iand(pack_tmp, mask_right(nbits))
23097 full_data(idata) = data_tmp
23098 pack_tmp = ishft(pack_tmp, -nbits)
23100 data_tmp = ishft(pack_tmp, 4)
23102 pack_tmp = packed_data(ipack)
23103 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
23104 pack_tmp = ishft(pack_tmp, -4)
23106 data_tmp = iand(pack_tmp, mask_right(nbits))
23107 full_data(idata) = data_tmp
23108 pack_tmp = ishft(pack_tmp, -nbits)
23110 data_tmp = ishft(pack_tmp, 2)
23112 pack_tmp = packed_data(ipack)
23113 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
23114 pack_tmp = ishft(pack_tmp, -2)
23116 data_tmp = iand(pack_tmp, mask_right(nbits))
23117 full_data(idata) = data_tmp
23118 pack_tmp = ishft(pack_tmp, -nbits)
23120 data_tmp = iand(pack_tmp, mask_right(nbits))
23121 full_data(idata) = data_tmp
23122 pack_tmp = ishft(pack_tmp, -nbits)
23124 IF (ndata_rep < ndata)
THEN
23125 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
23127 END SUBROUTINE bits2ints_31
23135 SUBROUTINE ints2bits_32(Ndata, packed_data, full_data)
23136 INTEGER,
INTENT(IN) :: Ndata
23137 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
23138 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
23140 INTEGER,
PARAMETER :: Nbits = 32
23142 INTEGER :: idata, ipack, kdata, Ndata_rep
23143 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
23147 ndata_rep = (ndata/64)*64
23148 DO kdata = 1, ndata_rep, 64
23151 data_tmp = full_data(idata)
23152 data_tmp = ishft(data_tmp, 32)
23153 pack_tmp = ior(pack_tmp, data_tmp)
23154 pack_tmp = ishft(pack_tmp, -32)
23156 data_tmp = full_data(idata)
23157 data_tmp = ishft(data_tmp, 32)
23158 pack_tmp = ior(pack_tmp, data_tmp)
23159 pack_tmp = ishft(pack_tmp, 0)
23161 data_tmp = full_data(idata)
23162 data_tmp = ishft(data_tmp, 32)
23163 data_tmp = iand(data_tmp, mask_left(0))
23164 pack_tmp = ior(pack_tmp, data_tmp)
23166 packed_data(ipack) = pack_tmp
23167 data_tmp = full_data(idata)
23168 pack_tmp = ishft(data_tmp, 32)
23169 pack_tmp = ishft(pack_tmp, -32)
23171 data_tmp = full_data(idata)
23172 data_tmp = ishft(data_tmp, 32)
23173 pack_tmp = ior(pack_tmp, data_tmp)
23174 pack_tmp = ishft(pack_tmp, 0)
23176 data_tmp = full_data(idata)
23177 data_tmp = ishft(data_tmp, 32)
23178 data_tmp = iand(data_tmp, mask_left(0))
23179 pack_tmp = ior(pack_tmp, data_tmp)
23181 packed_data(ipack) = pack_tmp
23182 data_tmp = full_data(idata)
23183 pack_tmp = ishft(data_tmp, 32)
23184 pack_tmp = ishft(pack_tmp, -32)
23186 data_tmp = full_data(idata)
23187 data_tmp = ishft(data_tmp, 32)
23188 pack_tmp = ior(pack_tmp, data_tmp)
23189 pack_tmp = ishft(pack_tmp, 0)
23191 data_tmp = full_data(idata)
23192 data_tmp = ishft(data_tmp, 32)
23193 data_tmp = iand(data_tmp, mask_left(0))
23194 pack_tmp = ior(pack_tmp, data_tmp)
23196 packed_data(ipack) = pack_tmp
23197 data_tmp = full_data(idata)
23198 pack_tmp = ishft(data_tmp, 32)
23199 pack_tmp = ishft(pack_tmp, -32)
23201 data_tmp = full_data(idata)
23202 data_tmp = ishft(data_tmp, 32)
23203 pack_tmp = ior(pack_tmp, data_tmp)
23204 pack_tmp = ishft(pack_tmp, 0)
23206 data_tmp = full_data(idata)
23207 data_tmp = ishft(data_tmp, 32)
23208 data_tmp = iand(data_tmp, mask_left(0))
23209 pack_tmp = ior(pack_tmp, data_tmp)
23211 packed_data(ipack) = pack_tmp
23212 data_tmp = full_data(idata)
23213 pack_tmp = ishft(data_tmp, 32)
23214 pack_tmp = ishft(pack_tmp, -32)
23216 data_tmp = full_data(idata)
23217 data_tmp = ishft(data_tmp, 32)
23218 pack_tmp = ior(pack_tmp, data_tmp)
23219 pack_tmp = ishft(pack_tmp, 0)
23221 data_tmp = full_data(idata)
23222 data_tmp = ishft(data_tmp, 32)
23223 data_tmp = iand(data_tmp, mask_left(0))
23224 pack_tmp = ior(pack_tmp, data_tmp)
23226 packed_data(ipack) = pack_tmp
23227 data_tmp = full_data(idata)
23228 pack_tmp = ishft(data_tmp, 32)
23229 pack_tmp = ishft(pack_tmp, -32)
23231 data_tmp = full_data(idata)
23232 data_tmp = ishft(data_tmp, 32)
23233 pack_tmp = ior(pack_tmp, data_tmp)
23234 pack_tmp = ishft(pack_tmp, 0)
23236 data_tmp = full_data(idata)
23237 data_tmp = ishft(data_tmp, 32)
23238 data_tmp = iand(data_tmp, mask_left(0))
23239 pack_tmp = ior(pack_tmp, data_tmp)
23241 packed_data(ipack) = pack_tmp
23242 data_tmp = full_data(idata)
23243 pack_tmp = ishft(data_tmp, 32)
23244 pack_tmp = ishft(pack_tmp, -32)
23246 data_tmp = full_data(idata)
23247 data_tmp = ishft(data_tmp, 32)
23248 pack_tmp = ior(pack_tmp, data_tmp)
23249 pack_tmp = ishft(pack_tmp, 0)
23251 data_tmp = full_data(idata)
23252 data_tmp = ishft(data_tmp, 32)
23253 data_tmp = iand(data_tmp, mask_left(0))
23254 pack_tmp = ior(pack_tmp, data_tmp)
23256 packed_data(ipack) = pack_tmp
23257 data_tmp = full_data(idata)
23258 pack_tmp = ishft(data_tmp, 32)
23259 pack_tmp = ishft(pack_tmp, -32)
23261 data_tmp = full_data(idata)
23262 data_tmp = ishft(data_tmp, 32)
23263 pack_tmp = ior(pack_tmp, data_tmp)
23264 pack_tmp = ishft(pack_tmp, 0)
23266 data_tmp = full_data(idata)
23267 data_tmp = ishft(data_tmp, 32)
23268 data_tmp = iand(data_tmp, mask_left(0))
23269 pack_tmp = ior(pack_tmp, data_tmp)
23271 packed_data(ipack) = pack_tmp
23272 data_tmp = full_data(idata)
23273 pack_tmp = ishft(data_tmp, 32)
23274 pack_tmp = ishft(pack_tmp, -32)
23276 data_tmp = full_data(idata)
23277 data_tmp = ishft(data_tmp, 32)
23278 pack_tmp = ior(pack_tmp, data_tmp)
23279 pack_tmp = ishft(pack_tmp, 0)
23281 data_tmp = full_data(idata)
23282 data_tmp = ishft(data_tmp, 32)
23283 data_tmp = iand(data_tmp, mask_left(0))
23284 pack_tmp = ior(pack_tmp, data_tmp)
23286 packed_data(ipack) = pack_tmp
23287 data_tmp = full_data(idata)
23288 pack_tmp = ishft(data_tmp, 32)
23289 pack_tmp = ishft(pack_tmp, -32)
23291 data_tmp = full_data(idata)
23292 data_tmp = ishft(data_tmp, 32)
23293 pack_tmp = ior(pack_tmp, data_tmp)
23294 pack_tmp = ishft(pack_tmp, 0)
23296 data_tmp = full_data(idata)
23297 data_tmp = ishft(data_tmp, 32)
23298 data_tmp = iand(data_tmp, mask_left(0))
23299 pack_tmp = ior(pack_tmp, data_tmp)
23301 packed_data(ipack) = pack_tmp
23302 data_tmp = full_data(idata)
23303 pack_tmp = ishft(data_tmp, 32)
23304 pack_tmp = ishft(pack_tmp, -32)
23306 data_tmp = full_data(idata)
23307 data_tmp = ishft(data_tmp, 32)
23308 pack_tmp = ior(pack_tmp, data_tmp)
23309 pack_tmp = ishft(pack_tmp, 0)
23311 data_tmp = full_data(idata)
23312 data_tmp = ishft(data_tmp, 32)
23313 data_tmp = iand(data_tmp, mask_left(0))
23314 pack_tmp = ior(pack_tmp, data_tmp)
23316 packed_data(ipack) = pack_tmp
23317 data_tmp = full_data(idata)
23318 pack_tmp = ishft(data_tmp, 32)
23319 pack_tmp = ishft(pack_tmp, -32)
23321 data_tmp = full_data(idata)
23322 data_tmp = ishft(data_tmp, 32)
23323 pack_tmp = ior(pack_tmp, data_tmp)
23324 pack_tmp = ishft(pack_tmp, 0)
23326 data_tmp = full_data(idata)
23327 data_tmp = ishft(data_tmp, 32)
23328 data_tmp = iand(data_tmp, mask_left(0))
23329 pack_tmp = ior(pack_tmp, data_tmp)
23331 packed_data(ipack) = pack_tmp
23332 data_tmp = full_data(idata)
23333 pack_tmp = ishft(data_tmp, 32)
23334 pack_tmp = ishft(pack_tmp, -32)
23336 data_tmp = full_data(idata)
23337 data_tmp = ishft(data_tmp, 32)
23338 pack_tmp = ior(pack_tmp, data_tmp)
23339 pack_tmp = ishft(pack_tmp, 0)
23341 data_tmp = full_data(idata)
23342 data_tmp = ishft(data_tmp, 32)
23343 data_tmp = iand(data_tmp, mask_left(0))
23344 pack_tmp = ior(pack_tmp, data_tmp)
23346 packed_data(ipack) = pack_tmp
23347 data_tmp = full_data(idata)
23348 pack_tmp = ishft(data_tmp, 32)
23349 pack_tmp = ishft(pack_tmp, -32)
23351 data_tmp = full_data(idata)
23352 data_tmp = ishft(data_tmp, 32)
23353 pack_tmp = ior(pack_tmp, data_tmp)
23354 pack_tmp = ishft(pack_tmp, 0)
23356 data_tmp = full_data(idata)
23357 data_tmp = ishft(data_tmp, 32)
23358 data_tmp = iand(data_tmp, mask_left(0))
23359 pack_tmp = ior(pack_tmp, data_tmp)
23361 packed_data(ipack) = pack_tmp
23362 data_tmp = full_data(idata)
23363 pack_tmp = ishft(data_tmp, 32)
23364 pack_tmp = ishft(pack_tmp, -32)
23366 data_tmp = full_data(idata)
23367 data_tmp = ishft(data_tmp, 32)
23368 pack_tmp = ior(pack_tmp, data_tmp)
23369 pack_tmp = ishft(pack_tmp, 0)
23371 data_tmp = full_data(idata)
23372 data_tmp = ishft(data_tmp, 32)
23373 data_tmp = iand(data_tmp, mask_left(0))
23374 pack_tmp = ior(pack_tmp, data_tmp)
23376 packed_data(ipack) = pack_tmp
23377 data_tmp = full_data(idata)
23378 pack_tmp = ishft(data_tmp, 32)
23379 pack_tmp = ishft(pack_tmp, -32)
23381 data_tmp = full_data(idata)
23382 data_tmp = ishft(data_tmp, 32)
23383 pack_tmp = ior(pack_tmp, data_tmp)
23384 pack_tmp = ishft(pack_tmp, 0)
23386 data_tmp = full_data(idata)
23387 data_tmp = ishft(data_tmp, 32)
23388 data_tmp = iand(data_tmp, mask_left(0))
23389 pack_tmp = ior(pack_tmp, data_tmp)
23391 packed_data(ipack) = pack_tmp
23392 data_tmp = full_data(idata)
23393 pack_tmp = ishft(data_tmp, 32)
23394 pack_tmp = ishft(pack_tmp, -32)
23396 data_tmp = full_data(idata)
23397 data_tmp = ishft(data_tmp, 32)
23398 pack_tmp = ior(pack_tmp, data_tmp)
23399 pack_tmp = ishft(pack_tmp, 0)
23401 data_tmp = full_data(idata)
23402 data_tmp = ishft(data_tmp, 32)
23403 data_tmp = iand(data_tmp, mask_left(0))
23404 pack_tmp = ior(pack_tmp, data_tmp)
23406 packed_data(ipack) = pack_tmp
23407 data_tmp = full_data(idata)
23408 pack_tmp = ishft(data_tmp, 32)
23409 pack_tmp = ishft(pack_tmp, -32)
23411 data_tmp = full_data(idata)
23412 data_tmp = ishft(data_tmp, 32)
23413 pack_tmp = ior(pack_tmp, data_tmp)
23414 pack_tmp = ishft(pack_tmp, 0)
23416 data_tmp = full_data(idata)
23417 data_tmp = ishft(data_tmp, 32)
23418 data_tmp = iand(data_tmp, mask_left(0))
23419 pack_tmp = ior(pack_tmp, data_tmp)
23421 packed_data(ipack) = pack_tmp
23422 data_tmp = full_data(idata)
23423 pack_tmp = ishft(data_tmp, 32)
23424 pack_tmp = ishft(pack_tmp, -32)
23426 data_tmp = full_data(idata)
23427 data_tmp = ishft(data_tmp, 32)
23428 pack_tmp = ior(pack_tmp, data_tmp)
23429 pack_tmp = ishft(pack_tmp, 0)
23431 data_tmp = full_data(idata)
23432 data_tmp = ishft(data_tmp, 32)
23433 data_tmp = iand(data_tmp, mask_left(0))
23434 pack_tmp = ior(pack_tmp, data_tmp)
23436 packed_data(ipack) = pack_tmp
23437 data_tmp = full_data(idata)
23438 pack_tmp = ishft(data_tmp, 32)
23439 pack_tmp = ishft(pack_tmp, -32)
23441 data_tmp = full_data(idata)
23442 data_tmp = ishft(data_tmp, 32)
23443 pack_tmp = ior(pack_tmp, data_tmp)
23444 pack_tmp = ishft(pack_tmp, 0)
23446 data_tmp = full_data(idata)
23447 data_tmp = ishft(data_tmp, 32)
23448 data_tmp = iand(data_tmp, mask_left(0))
23449 pack_tmp = ior(pack_tmp, data_tmp)
23451 packed_data(ipack) = pack_tmp
23452 data_tmp = full_data(idata)
23453 pack_tmp = ishft(data_tmp, 32)
23454 pack_tmp = ishft(pack_tmp, -32)
23456 data_tmp = full_data(idata)
23457 data_tmp = ishft(data_tmp, 32)
23458 pack_tmp = ior(pack_tmp, data_tmp)
23459 pack_tmp = ishft(pack_tmp, 0)
23461 data_tmp = full_data(idata)
23462 data_tmp = ishft(data_tmp, 32)
23463 data_tmp = iand(data_tmp, mask_left(0))
23464 pack_tmp = ior(pack_tmp, data_tmp)
23466 packed_data(ipack) = pack_tmp
23467 data_tmp = full_data(idata)
23468 pack_tmp = ishft(data_tmp, 32)
23469 pack_tmp = ishft(pack_tmp, -32)
23471 data_tmp = full_data(idata)
23472 data_tmp = ishft(data_tmp, 32)
23473 pack_tmp = ior(pack_tmp, data_tmp)
23474 pack_tmp = ishft(pack_tmp, 0)
23476 data_tmp = full_data(idata)
23477 data_tmp = ishft(data_tmp, 32)
23478 data_tmp = iand(data_tmp, mask_left(0))
23479 pack_tmp = ior(pack_tmp, data_tmp)
23481 packed_data(ipack) = pack_tmp
23482 data_tmp = full_data(idata)
23483 pack_tmp = ishft(data_tmp, 32)
23484 pack_tmp = ishft(pack_tmp, -32)
23486 data_tmp = full_data(idata)
23487 data_tmp = ishft(data_tmp, 32)
23488 pack_tmp = ior(pack_tmp, data_tmp)
23489 pack_tmp = ishft(pack_tmp, 0)
23491 data_tmp = full_data(idata)
23492 data_tmp = ishft(data_tmp, 32)
23493 data_tmp = iand(data_tmp, mask_left(0))
23494 pack_tmp = ior(pack_tmp, data_tmp)
23496 packed_data(ipack) = pack_tmp
23497 data_tmp = full_data(idata)
23498 pack_tmp = ishft(data_tmp, 32)
23499 pack_tmp = ishft(pack_tmp, -32)
23501 data_tmp = full_data(idata)
23502 data_tmp = ishft(data_tmp, 32)
23503 pack_tmp = ior(pack_tmp, data_tmp)
23504 pack_tmp = ishft(pack_tmp, 0)
23506 data_tmp = full_data(idata)
23507 data_tmp = ishft(data_tmp, 32)
23508 data_tmp = iand(data_tmp, mask_left(0))
23509 pack_tmp = ior(pack_tmp, data_tmp)
23511 packed_data(ipack) = pack_tmp
23512 data_tmp = full_data(idata)
23513 pack_tmp = ishft(data_tmp, 32)
23514 pack_tmp = ishft(pack_tmp, -32)
23516 data_tmp = full_data(idata)
23517 data_tmp = ishft(data_tmp, 32)
23518 pack_tmp = ior(pack_tmp, data_tmp)
23519 pack_tmp = ishft(pack_tmp, 0)
23521 data_tmp = full_data(idata)
23522 data_tmp = ishft(data_tmp, 32)
23523 data_tmp = iand(data_tmp, mask_left(0))
23524 pack_tmp = ior(pack_tmp, data_tmp)
23526 packed_data(ipack) = pack_tmp
23527 data_tmp = full_data(idata)
23528 pack_tmp = ishft(data_tmp, 32)
23529 pack_tmp = ishft(pack_tmp, -32)
23531 data_tmp = full_data(idata)
23532 data_tmp = ishft(data_tmp, 32)
23533 pack_tmp = ior(pack_tmp, data_tmp)
23534 pack_tmp = ishft(pack_tmp, 0)
23536 data_tmp = full_data(idata)
23537 data_tmp = ishft(data_tmp, 32)
23538 data_tmp = iand(data_tmp, mask_left(0))
23539 pack_tmp = ior(pack_tmp, data_tmp)
23541 packed_data(ipack) = pack_tmp
23542 data_tmp = full_data(idata)
23543 pack_tmp = ishft(data_tmp, 32)
23544 pack_tmp = ishft(pack_tmp, -32)
23546 data_tmp = full_data(idata)
23547 data_tmp = ishft(data_tmp, 32)
23548 pack_tmp = ior(pack_tmp, data_tmp)
23549 pack_tmp = ishft(pack_tmp, 0)
23551 data_tmp = full_data(idata)
23552 data_tmp = ishft(data_tmp, 32)
23553 data_tmp = iand(data_tmp, mask_left(0))
23554 pack_tmp = ior(pack_tmp, data_tmp)
23556 packed_data(ipack) = pack_tmp
23557 data_tmp = full_data(idata)
23558 pack_tmp = ishft(data_tmp, 32)
23559 pack_tmp = ishft(pack_tmp, -32)
23561 data_tmp = full_data(idata)
23562 data_tmp = ishft(data_tmp, 32)
23563 pack_tmp = ior(pack_tmp, data_tmp)
23564 pack_tmp = ishft(pack_tmp, 0)
23566 data_tmp = full_data(idata)
23567 data_tmp = ishft(data_tmp, 32)
23568 data_tmp = iand(data_tmp, mask_left(0))
23569 pack_tmp = ior(pack_tmp, data_tmp)
23571 packed_data(ipack) = pack_tmp
23572 data_tmp = full_data(idata)
23573 pack_tmp = ishft(data_tmp, 32)
23574 pack_tmp = ishft(pack_tmp, -32)
23576 data_tmp = full_data(idata)
23577 data_tmp = ishft(data_tmp, 32)
23578 pack_tmp = ior(pack_tmp, data_tmp)
23579 pack_tmp = ishft(pack_tmp, 0)
23581 data_tmp = full_data(idata)
23582 data_tmp = ishft(data_tmp, 32)
23583 data_tmp = iand(data_tmp, mask_left(0))
23584 pack_tmp = ior(pack_tmp, data_tmp)
23586 packed_data(ipack) = pack_tmp
23587 data_tmp = full_data(idata)
23588 pack_tmp = ishft(data_tmp, 32)
23589 pack_tmp = ishft(pack_tmp, -32)
23591 data_tmp = full_data(idata)
23592 data_tmp = ishft(data_tmp, 32)
23593 pack_tmp = ior(pack_tmp, data_tmp)
23594 pack_tmp = ishft(pack_tmp, 0)
23596 data_tmp = full_data(idata)
23597 data_tmp = ishft(data_tmp, 32)
23598 data_tmp = iand(data_tmp, mask_left(0))
23599 pack_tmp = ior(pack_tmp, data_tmp)
23601 packed_data(ipack) = pack_tmp
23602 data_tmp = full_data(idata)
23603 pack_tmp = ishft(data_tmp, 32)
23604 pack_tmp = ishft(pack_tmp, -32)
23606 data_tmp = full_data(idata)
23607 data_tmp = ishft(data_tmp, 32)
23608 pack_tmp = ior(pack_tmp, data_tmp)
23609 pack_tmp = ishft(pack_tmp, 0)
23611 data_tmp = full_data(idata)
23612 data_tmp = ishft(data_tmp, 32)
23613 data_tmp = iand(data_tmp, mask_left(0))
23614 pack_tmp = ior(pack_tmp, data_tmp)
23616 packed_data(ipack) = pack_tmp
23617 data_tmp = full_data(idata)
23618 pack_tmp = ishft(data_tmp, 32)
23619 pack_tmp = ishft(pack_tmp, -32)
23621 data_tmp = full_data(idata)
23622 data_tmp = ishft(data_tmp, 32)
23623 pack_tmp = ior(pack_tmp, data_tmp)
23624 pack_tmp = ishft(pack_tmp, 0)
23625 pack_tmp = ishft(pack_tmp, 0)
23627 packed_data(ipack) = pack_tmp
23629 IF (ndata_rep < ndata)
THEN
23630 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
23632 END SUBROUTINE ints2bits_32
23640 SUBROUTINE bits2ints_32(Ndata, packed_data, full_data)
23641 INTEGER,
INTENT(IN) :: Ndata
23642 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
23643 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
23645 INTEGER,
PARAMETER :: Nbits = 32
23647 INTEGER :: idata, ipack, kdata, Ndata_rep
23648 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
23653 ndata_rep = (ndata/64)*64
23654 DO kdata = 1, ndata_rep, 64
23656 data_tmp = ishft(pack_tmp, 32)
23658 pack_tmp = packed_data(ipack)
23659 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23660 pack_tmp = ishft(pack_tmp, -32)
23662 data_tmp = iand(pack_tmp, mask_right(nbits))
23663 full_data(idata) = data_tmp
23664 pack_tmp = ishft(pack_tmp, -nbits)
23666 data_tmp = ishft(pack_tmp, 32)
23668 pack_tmp = packed_data(ipack)
23669 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23670 pack_tmp = ishft(pack_tmp, -32)
23672 data_tmp = iand(pack_tmp, mask_right(nbits))
23673 full_data(idata) = data_tmp
23674 pack_tmp = ishft(pack_tmp, -nbits)
23676 data_tmp = ishft(pack_tmp, 32)
23678 pack_tmp = packed_data(ipack)
23679 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23680 pack_tmp = ishft(pack_tmp, -32)
23682 data_tmp = iand(pack_tmp, mask_right(nbits))
23683 full_data(idata) = data_tmp
23684 pack_tmp = ishft(pack_tmp, -nbits)
23686 data_tmp = ishft(pack_tmp, 32)
23688 pack_tmp = packed_data(ipack)
23689 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23690 pack_tmp = ishft(pack_tmp, -32)
23692 data_tmp = iand(pack_tmp, mask_right(nbits))
23693 full_data(idata) = data_tmp
23694 pack_tmp = ishft(pack_tmp, -nbits)
23696 data_tmp = ishft(pack_tmp, 32)
23698 pack_tmp = packed_data(ipack)
23699 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23700 pack_tmp = ishft(pack_tmp, -32)
23702 data_tmp = iand(pack_tmp, mask_right(nbits))
23703 full_data(idata) = data_tmp
23704 pack_tmp = ishft(pack_tmp, -nbits)
23706 data_tmp = ishft(pack_tmp, 32)
23708 pack_tmp = packed_data(ipack)
23709 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23710 pack_tmp = ishft(pack_tmp, -32)
23712 data_tmp = iand(pack_tmp, mask_right(nbits))
23713 full_data(idata) = data_tmp
23714 pack_tmp = ishft(pack_tmp, -nbits)
23716 data_tmp = ishft(pack_tmp, 32)
23718 pack_tmp = packed_data(ipack)
23719 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23720 pack_tmp = ishft(pack_tmp, -32)
23722 data_tmp = iand(pack_tmp, mask_right(nbits))
23723 full_data(idata) = data_tmp
23724 pack_tmp = ishft(pack_tmp, -nbits)
23726 data_tmp = ishft(pack_tmp, 32)
23728 pack_tmp = packed_data(ipack)
23729 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23730 pack_tmp = ishft(pack_tmp, -32)
23732 data_tmp = iand(pack_tmp, mask_right(nbits))
23733 full_data(idata) = data_tmp
23734 pack_tmp = ishft(pack_tmp, -nbits)
23736 data_tmp = ishft(pack_tmp, 32)
23738 pack_tmp = packed_data(ipack)
23739 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23740 pack_tmp = ishft(pack_tmp, -32)
23742 data_tmp = iand(pack_tmp, mask_right(nbits))
23743 full_data(idata) = data_tmp
23744 pack_tmp = ishft(pack_tmp, -nbits)
23746 data_tmp = ishft(pack_tmp, 32)
23748 pack_tmp = packed_data(ipack)
23749 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23750 pack_tmp = ishft(pack_tmp, -32)
23752 data_tmp = iand(pack_tmp, mask_right(nbits))
23753 full_data(idata) = data_tmp
23754 pack_tmp = ishft(pack_tmp, -nbits)
23756 data_tmp = ishft(pack_tmp, 32)
23758 pack_tmp = packed_data(ipack)
23759 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23760 pack_tmp = ishft(pack_tmp, -32)
23762 data_tmp = iand(pack_tmp, mask_right(nbits))
23763 full_data(idata) = data_tmp
23764 pack_tmp = ishft(pack_tmp, -nbits)
23766 data_tmp = ishft(pack_tmp, 32)
23768 pack_tmp = packed_data(ipack)
23769 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23770 pack_tmp = ishft(pack_tmp, -32)
23772 data_tmp = iand(pack_tmp, mask_right(nbits))
23773 full_data(idata) = data_tmp
23774 pack_tmp = ishft(pack_tmp, -nbits)
23776 data_tmp = ishft(pack_tmp, 32)
23778 pack_tmp = packed_data(ipack)
23779 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23780 pack_tmp = ishft(pack_tmp, -32)
23782 data_tmp = iand(pack_tmp, mask_right(nbits))
23783 full_data(idata) = data_tmp
23784 pack_tmp = ishft(pack_tmp, -nbits)
23786 data_tmp = ishft(pack_tmp, 32)
23788 pack_tmp = packed_data(ipack)
23789 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23790 pack_tmp = ishft(pack_tmp, -32)
23792 data_tmp = iand(pack_tmp, mask_right(nbits))
23793 full_data(idata) = data_tmp
23794 pack_tmp = ishft(pack_tmp, -nbits)
23796 data_tmp = ishft(pack_tmp, 32)
23798 pack_tmp = packed_data(ipack)
23799 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23800 pack_tmp = ishft(pack_tmp, -32)
23802 data_tmp = iand(pack_tmp, mask_right(nbits))
23803 full_data(idata) = data_tmp
23804 pack_tmp = ishft(pack_tmp, -nbits)
23806 data_tmp = ishft(pack_tmp, 32)
23808 pack_tmp = packed_data(ipack)
23809 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23810 pack_tmp = ishft(pack_tmp, -32)
23812 data_tmp = iand(pack_tmp, mask_right(nbits))
23813 full_data(idata) = data_tmp
23814 pack_tmp = ishft(pack_tmp, -nbits)
23816 data_tmp = ishft(pack_tmp, 32)
23818 pack_tmp = packed_data(ipack)
23819 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23820 pack_tmp = ishft(pack_tmp, -32)
23822 data_tmp = iand(pack_tmp, mask_right(nbits))
23823 full_data(idata) = data_tmp
23824 pack_tmp = ishft(pack_tmp, -nbits)
23826 data_tmp = ishft(pack_tmp, 32)
23828 pack_tmp = packed_data(ipack)
23829 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23830 pack_tmp = ishft(pack_tmp, -32)
23832 data_tmp = iand(pack_tmp, mask_right(nbits))
23833 full_data(idata) = data_tmp
23834 pack_tmp = ishft(pack_tmp, -nbits)
23836 data_tmp = ishft(pack_tmp, 32)
23838 pack_tmp = packed_data(ipack)
23839 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23840 pack_tmp = ishft(pack_tmp, -32)
23842 data_tmp = iand(pack_tmp, mask_right(nbits))
23843 full_data(idata) = data_tmp
23844 pack_tmp = ishft(pack_tmp, -nbits)
23846 data_tmp = ishft(pack_tmp, 32)
23848 pack_tmp = packed_data(ipack)
23849 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23850 pack_tmp = ishft(pack_tmp, -32)
23852 data_tmp = iand(pack_tmp, mask_right(nbits))
23853 full_data(idata) = data_tmp
23854 pack_tmp = ishft(pack_tmp, -nbits)
23856 data_tmp = ishft(pack_tmp, 32)
23858 pack_tmp = packed_data(ipack)
23859 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23860 pack_tmp = ishft(pack_tmp, -32)
23862 data_tmp = iand(pack_tmp, mask_right(nbits))
23863 full_data(idata) = data_tmp
23864 pack_tmp = ishft(pack_tmp, -nbits)
23866 data_tmp = ishft(pack_tmp, 32)
23868 pack_tmp = packed_data(ipack)
23869 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23870 pack_tmp = ishft(pack_tmp, -32)
23872 data_tmp = iand(pack_tmp, mask_right(nbits))
23873 full_data(idata) = data_tmp
23874 pack_tmp = ishft(pack_tmp, -nbits)
23876 data_tmp = ishft(pack_tmp, 32)
23878 pack_tmp = packed_data(ipack)
23879 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23880 pack_tmp = ishft(pack_tmp, -32)
23882 data_tmp = iand(pack_tmp, mask_right(nbits))
23883 full_data(idata) = data_tmp
23884 pack_tmp = ishft(pack_tmp, -nbits)
23886 data_tmp = ishft(pack_tmp, 32)
23888 pack_tmp = packed_data(ipack)
23889 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23890 pack_tmp = ishft(pack_tmp, -32)
23892 data_tmp = iand(pack_tmp, mask_right(nbits))
23893 full_data(idata) = data_tmp
23894 pack_tmp = ishft(pack_tmp, -nbits)
23896 data_tmp = ishft(pack_tmp, 32)
23898 pack_tmp = packed_data(ipack)
23899 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23900 pack_tmp = ishft(pack_tmp, -32)
23902 data_tmp = iand(pack_tmp, mask_right(nbits))
23903 full_data(idata) = data_tmp
23904 pack_tmp = ishft(pack_tmp, -nbits)
23906 data_tmp = ishft(pack_tmp, 32)
23908 pack_tmp = packed_data(ipack)
23909 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23910 pack_tmp = ishft(pack_tmp, -32)
23912 data_tmp = iand(pack_tmp, mask_right(nbits))
23913 full_data(idata) = data_tmp
23914 pack_tmp = ishft(pack_tmp, -nbits)
23916 data_tmp = ishft(pack_tmp, 32)
23918 pack_tmp = packed_data(ipack)
23919 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23920 pack_tmp = ishft(pack_tmp, -32)
23922 data_tmp = iand(pack_tmp, mask_right(nbits))
23923 full_data(idata) = data_tmp
23924 pack_tmp = ishft(pack_tmp, -nbits)
23926 data_tmp = ishft(pack_tmp, 32)
23928 pack_tmp = packed_data(ipack)
23929 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23930 pack_tmp = ishft(pack_tmp, -32)
23932 data_tmp = iand(pack_tmp, mask_right(nbits))
23933 full_data(idata) = data_tmp
23934 pack_tmp = ishft(pack_tmp, -nbits)
23936 data_tmp = ishft(pack_tmp, 32)
23938 pack_tmp = packed_data(ipack)
23939 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23940 pack_tmp = ishft(pack_tmp, -32)
23942 data_tmp = iand(pack_tmp, mask_right(nbits))
23943 full_data(idata) = data_tmp
23944 pack_tmp = ishft(pack_tmp, -nbits)
23946 data_tmp = ishft(pack_tmp, 32)
23948 pack_tmp = packed_data(ipack)
23949 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23950 pack_tmp = ishft(pack_tmp, -32)
23952 data_tmp = iand(pack_tmp, mask_right(nbits))
23953 full_data(idata) = data_tmp
23954 pack_tmp = ishft(pack_tmp, -nbits)
23956 data_tmp = ishft(pack_tmp, 32)
23958 pack_tmp = packed_data(ipack)
23959 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23960 pack_tmp = ishft(pack_tmp, -32)
23962 data_tmp = iand(pack_tmp, mask_right(nbits))
23963 full_data(idata) = data_tmp
23964 pack_tmp = ishft(pack_tmp, -nbits)
23966 data_tmp = ishft(pack_tmp, 32)
23968 pack_tmp = packed_data(ipack)
23969 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
23970 pack_tmp = ishft(pack_tmp, -32)
23972 data_tmp = iand(pack_tmp, mask_right(nbits))
23973 full_data(idata) = data_tmp
23974 pack_tmp = ishft(pack_tmp, -nbits)
23976 IF (ndata_rep < ndata)
THEN
23977 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
23979 END SUBROUTINE bits2ints_32
23987 SUBROUTINE ints2bits_33(Ndata, packed_data, full_data)
23988 INTEGER,
INTENT(IN) :: Ndata
23989 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
23990 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
23992 INTEGER,
PARAMETER :: Nbits = 33
23994 INTEGER :: idata, ipack, kdata, Ndata_rep
23995 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
23999 ndata_rep = (ndata/64)*64
24000 DO kdata = 1, ndata_rep, 64
24003 data_tmp = full_data(idata)
24004 data_tmp = ishft(data_tmp, 31)
24005 pack_tmp = ior(pack_tmp, data_tmp)
24006 pack_tmp = ishft(pack_tmp, -31)
24008 data_tmp = full_data(idata)
24009 data_tmp = ishft(data_tmp, 31)
24010 data_tmp = iand(data_tmp, mask_left(31))
24011 pack_tmp = ior(pack_tmp, data_tmp)
24013 packed_data(ipack) = pack_tmp
24014 data_tmp = full_data(idata)
24015 pack_tmp = ishft(data_tmp, 62)
24016 pack_tmp = ishft(pack_tmp, -33)
24018 data_tmp = full_data(idata)
24019 data_tmp = ishft(data_tmp, 31)
24020 pack_tmp = ior(pack_tmp, data_tmp)
24021 pack_tmp = ishft(pack_tmp, -29)
24023 data_tmp = full_data(idata)
24024 data_tmp = ishft(data_tmp, 31)
24025 data_tmp = iand(data_tmp, mask_left(29))
24026 pack_tmp = ior(pack_tmp, data_tmp)
24028 packed_data(ipack) = pack_tmp
24029 data_tmp = full_data(idata)
24030 pack_tmp = ishft(data_tmp, 60)
24031 pack_tmp = ishft(pack_tmp, -33)
24033 data_tmp = full_data(idata)
24034 data_tmp = ishft(data_tmp, 31)
24035 pack_tmp = ior(pack_tmp, data_tmp)
24036 pack_tmp = ishft(pack_tmp, -27)
24038 data_tmp = full_data(idata)
24039 data_tmp = ishft(data_tmp, 31)
24040 data_tmp = iand(data_tmp, mask_left(27))
24041 pack_tmp = ior(pack_tmp, data_tmp)
24043 packed_data(ipack) = pack_tmp
24044 data_tmp = full_data(idata)
24045 pack_tmp = ishft(data_tmp, 58)
24046 pack_tmp = ishft(pack_tmp, -33)
24048 data_tmp = full_data(idata)
24049 data_tmp = ishft(data_tmp, 31)
24050 pack_tmp = ior(pack_tmp, data_tmp)
24051 pack_tmp = ishft(pack_tmp, -25)
24053 data_tmp = full_data(idata)
24054 data_tmp = ishft(data_tmp, 31)
24055 data_tmp = iand(data_tmp, mask_left(25))
24056 pack_tmp = ior(pack_tmp, data_tmp)
24058 packed_data(ipack) = pack_tmp
24059 data_tmp = full_data(idata)
24060 pack_tmp = ishft(data_tmp, 56)
24061 pack_tmp = ishft(pack_tmp, -33)
24063 data_tmp = full_data(idata)
24064 data_tmp = ishft(data_tmp, 31)
24065 pack_tmp = ior(pack_tmp, data_tmp)
24066 pack_tmp = ishft(pack_tmp, -23)
24068 data_tmp = full_data(idata)
24069 data_tmp = ishft(data_tmp, 31)
24070 data_tmp = iand(data_tmp, mask_left(23))
24071 pack_tmp = ior(pack_tmp, data_tmp)
24073 packed_data(ipack) = pack_tmp
24074 data_tmp = full_data(idata)
24075 pack_tmp = ishft(data_tmp, 54)
24076 pack_tmp = ishft(pack_tmp, -33)
24078 data_tmp = full_data(idata)
24079 data_tmp = ishft(data_tmp, 31)
24080 pack_tmp = ior(pack_tmp, data_tmp)
24081 pack_tmp = ishft(pack_tmp, -21)
24083 data_tmp = full_data(idata)
24084 data_tmp = ishft(data_tmp, 31)
24085 data_tmp = iand(data_tmp, mask_left(21))
24086 pack_tmp = ior(pack_tmp, data_tmp)
24088 packed_data(ipack) = pack_tmp
24089 data_tmp = full_data(idata)
24090 pack_tmp = ishft(data_tmp, 52)
24091 pack_tmp = ishft(pack_tmp, -33)
24093 data_tmp = full_data(idata)
24094 data_tmp = ishft(data_tmp, 31)
24095 pack_tmp = ior(pack_tmp, data_tmp)
24096 pack_tmp = ishft(pack_tmp, -19)
24098 data_tmp = full_data(idata)
24099 data_tmp = ishft(data_tmp, 31)
24100 data_tmp = iand(data_tmp, mask_left(19))
24101 pack_tmp = ior(pack_tmp, data_tmp)
24103 packed_data(ipack) = pack_tmp
24104 data_tmp = full_data(idata)
24105 pack_tmp = ishft(data_tmp, 50)
24106 pack_tmp = ishft(pack_tmp, -33)
24108 data_tmp = full_data(idata)
24109 data_tmp = ishft(data_tmp, 31)
24110 pack_tmp = ior(pack_tmp, data_tmp)
24111 pack_tmp = ishft(pack_tmp, -17)
24113 data_tmp = full_data(idata)
24114 data_tmp = ishft(data_tmp, 31)
24115 data_tmp = iand(data_tmp, mask_left(17))
24116 pack_tmp = ior(pack_tmp, data_tmp)
24118 packed_data(ipack) = pack_tmp
24119 data_tmp = full_data(idata)
24120 pack_tmp = ishft(data_tmp, 48)
24121 pack_tmp = ishft(pack_tmp, -33)
24123 data_tmp = full_data(idata)
24124 data_tmp = ishft(data_tmp, 31)
24125 pack_tmp = ior(pack_tmp, data_tmp)
24126 pack_tmp = ishft(pack_tmp, -15)
24128 data_tmp = full_data(idata)
24129 data_tmp = ishft(data_tmp, 31)
24130 data_tmp = iand(data_tmp, mask_left(15))
24131 pack_tmp = ior(pack_tmp, data_tmp)
24133 packed_data(ipack) = pack_tmp
24134 data_tmp = full_data(idata)
24135 pack_tmp = ishft(data_tmp, 46)
24136 pack_tmp = ishft(pack_tmp, -33)
24138 data_tmp = full_data(idata)
24139 data_tmp = ishft(data_tmp, 31)
24140 pack_tmp = ior(pack_tmp, data_tmp)
24141 pack_tmp = ishft(pack_tmp, -13)
24143 data_tmp = full_data(idata)
24144 data_tmp = ishft(data_tmp, 31)
24145 data_tmp = iand(data_tmp, mask_left(13))
24146 pack_tmp = ior(pack_tmp, data_tmp)
24148 packed_data(ipack) = pack_tmp
24149 data_tmp = full_data(idata)
24150 pack_tmp = ishft(data_tmp, 44)
24151 pack_tmp = ishft(pack_tmp, -33)
24153 data_tmp = full_data(idata)
24154 data_tmp = ishft(data_tmp, 31)
24155 pack_tmp = ior(pack_tmp, data_tmp)
24156 pack_tmp = ishft(pack_tmp, -11)
24158 data_tmp = full_data(idata)
24159 data_tmp = ishft(data_tmp, 31)
24160 data_tmp = iand(data_tmp, mask_left(11))
24161 pack_tmp = ior(pack_tmp, data_tmp)
24163 packed_data(ipack) = pack_tmp
24164 data_tmp = full_data(idata)
24165 pack_tmp = ishft(data_tmp, 42)
24166 pack_tmp = ishft(pack_tmp, -33)
24168 data_tmp = full_data(idata)
24169 data_tmp = ishft(data_tmp, 31)
24170 pack_tmp = ior(pack_tmp, data_tmp)
24171 pack_tmp = ishft(pack_tmp, -9)
24173 data_tmp = full_data(idata)
24174 data_tmp = ishft(data_tmp, 31)
24175 data_tmp = iand(data_tmp, mask_left(9))
24176 pack_tmp = ior(pack_tmp, data_tmp)
24178 packed_data(ipack) = pack_tmp
24179 data_tmp = full_data(idata)
24180 pack_tmp = ishft(data_tmp, 40)
24181 pack_tmp = ishft(pack_tmp, -33)
24183 data_tmp = full_data(idata)
24184 data_tmp = ishft(data_tmp, 31)
24185 pack_tmp = ior(pack_tmp, data_tmp)
24186 pack_tmp = ishft(pack_tmp, -7)
24188 data_tmp = full_data(idata)
24189 data_tmp = ishft(data_tmp, 31)
24190 data_tmp = iand(data_tmp, mask_left(7))
24191 pack_tmp = ior(pack_tmp, data_tmp)
24193 packed_data(ipack) = pack_tmp
24194 data_tmp = full_data(idata)
24195 pack_tmp = ishft(data_tmp, 38)
24196 pack_tmp = ishft(pack_tmp, -33)
24198 data_tmp = full_data(idata)
24199 data_tmp = ishft(data_tmp, 31)
24200 pack_tmp = ior(pack_tmp, data_tmp)
24201 pack_tmp = ishft(pack_tmp, -5)
24203 data_tmp = full_data(idata)
24204 data_tmp = ishft(data_tmp, 31)
24205 data_tmp = iand(data_tmp, mask_left(5))
24206 pack_tmp = ior(pack_tmp, data_tmp)
24208 packed_data(ipack) = pack_tmp
24209 data_tmp = full_data(idata)
24210 pack_tmp = ishft(data_tmp, 36)
24211 pack_tmp = ishft(pack_tmp, -33)
24213 data_tmp = full_data(idata)
24214 data_tmp = ishft(data_tmp, 31)
24215 pack_tmp = ior(pack_tmp, data_tmp)
24216 pack_tmp = ishft(pack_tmp, -3)
24218 data_tmp = full_data(idata)
24219 data_tmp = ishft(data_tmp, 31)
24220 data_tmp = iand(data_tmp, mask_left(3))
24221 pack_tmp = ior(pack_tmp, data_tmp)
24223 packed_data(ipack) = pack_tmp
24224 data_tmp = full_data(idata)
24225 pack_tmp = ishft(data_tmp, 34)
24226 pack_tmp = ishft(pack_tmp, -33)
24228 data_tmp = full_data(idata)
24229 data_tmp = ishft(data_tmp, 31)
24230 pack_tmp = ior(pack_tmp, data_tmp)
24231 pack_tmp = ishft(pack_tmp, -1)
24233 data_tmp = full_data(idata)
24234 data_tmp = ishft(data_tmp, 31)
24235 data_tmp = iand(data_tmp, mask_left(1))
24236 pack_tmp = ior(pack_tmp, data_tmp)
24238 packed_data(ipack) = pack_tmp
24239 data_tmp = full_data(idata)
24240 pack_tmp = ishft(data_tmp, 32)
24241 pack_tmp = ishft(pack_tmp, -32)
24243 data_tmp = full_data(idata)
24244 data_tmp = ishft(data_tmp, 31)
24245 data_tmp = iand(data_tmp, mask_left(32))
24246 pack_tmp = ior(pack_tmp, data_tmp)
24248 packed_data(ipack) = pack_tmp
24249 data_tmp = full_data(idata)
24250 pack_tmp = ishft(data_tmp, 63)
24251 pack_tmp = ishft(pack_tmp, -33)
24253 data_tmp = full_data(idata)
24254 data_tmp = ishft(data_tmp, 31)
24255 pack_tmp = ior(pack_tmp, data_tmp)
24256 pack_tmp = ishft(pack_tmp, -30)
24258 data_tmp = full_data(idata)
24259 data_tmp = ishft(data_tmp, 31)
24260 data_tmp = iand(data_tmp, mask_left(30))
24261 pack_tmp = ior(pack_tmp, data_tmp)
24263 packed_data(ipack) = pack_tmp
24264 data_tmp = full_data(idata)
24265 pack_tmp = ishft(data_tmp, 61)
24266 pack_tmp = ishft(pack_tmp, -33)
24268 data_tmp = full_data(idata)
24269 data_tmp = ishft(data_tmp, 31)
24270 pack_tmp = ior(pack_tmp, data_tmp)
24271 pack_tmp = ishft(pack_tmp, -28)
24273 data_tmp = full_data(idata)
24274 data_tmp = ishft(data_tmp, 31)
24275 data_tmp = iand(data_tmp, mask_left(28))
24276 pack_tmp = ior(pack_tmp, data_tmp)
24278 packed_data(ipack) = pack_tmp
24279 data_tmp = full_data(idata)
24280 pack_tmp = ishft(data_tmp, 59)
24281 pack_tmp = ishft(pack_tmp, -33)
24283 data_tmp = full_data(idata)
24284 data_tmp = ishft(data_tmp, 31)
24285 pack_tmp = ior(pack_tmp, data_tmp)
24286 pack_tmp = ishft(pack_tmp, -26)
24288 data_tmp = full_data(idata)
24289 data_tmp = ishft(data_tmp, 31)
24290 data_tmp = iand(data_tmp, mask_left(26))
24291 pack_tmp = ior(pack_tmp, data_tmp)
24293 packed_data(ipack) = pack_tmp
24294 data_tmp = full_data(idata)
24295 pack_tmp = ishft(data_tmp, 57)
24296 pack_tmp = ishft(pack_tmp, -33)
24298 data_tmp = full_data(idata)
24299 data_tmp = ishft(data_tmp, 31)
24300 pack_tmp = ior(pack_tmp, data_tmp)
24301 pack_tmp = ishft(pack_tmp, -24)
24303 data_tmp = full_data(idata)
24304 data_tmp = ishft(data_tmp, 31)
24305 data_tmp = iand(data_tmp, mask_left(24))
24306 pack_tmp = ior(pack_tmp, data_tmp)
24308 packed_data(ipack) = pack_tmp
24309 data_tmp = full_data(idata)
24310 pack_tmp = ishft(data_tmp, 55)
24311 pack_tmp = ishft(pack_tmp, -33)
24313 data_tmp = full_data(idata)
24314 data_tmp = ishft(data_tmp, 31)
24315 pack_tmp = ior(pack_tmp, data_tmp)
24316 pack_tmp = ishft(pack_tmp, -22)
24318 data_tmp = full_data(idata)
24319 data_tmp = ishft(data_tmp, 31)
24320 data_tmp = iand(data_tmp, mask_left(22))
24321 pack_tmp = ior(pack_tmp, data_tmp)
24323 packed_data(ipack) = pack_tmp
24324 data_tmp = full_data(idata)
24325 pack_tmp = ishft(data_tmp, 53)
24326 pack_tmp = ishft(pack_tmp, -33)
24328 data_tmp = full_data(idata)
24329 data_tmp = ishft(data_tmp, 31)
24330 pack_tmp = ior(pack_tmp, data_tmp)
24331 pack_tmp = ishft(pack_tmp, -20)
24333 data_tmp = full_data(idata)
24334 data_tmp = ishft(data_tmp, 31)
24335 data_tmp = iand(data_tmp, mask_left(20))
24336 pack_tmp = ior(pack_tmp, data_tmp)
24338 packed_data(ipack) = pack_tmp
24339 data_tmp = full_data(idata)
24340 pack_tmp = ishft(data_tmp, 51)
24341 pack_tmp = ishft(pack_tmp, -33)
24343 data_tmp = full_data(idata)
24344 data_tmp = ishft(data_tmp, 31)
24345 pack_tmp = ior(pack_tmp, data_tmp)
24346 pack_tmp = ishft(pack_tmp, -18)
24348 data_tmp = full_data(idata)
24349 data_tmp = ishft(data_tmp, 31)
24350 data_tmp = iand(data_tmp, mask_left(18))
24351 pack_tmp = ior(pack_tmp, data_tmp)
24353 packed_data(ipack) = pack_tmp
24354 data_tmp = full_data(idata)
24355 pack_tmp = ishft(data_tmp, 49)
24356 pack_tmp = ishft(pack_tmp, -33)
24358 data_tmp = full_data(idata)
24359 data_tmp = ishft(data_tmp, 31)
24360 pack_tmp = ior(pack_tmp, data_tmp)
24361 pack_tmp = ishft(pack_tmp, -16)
24363 data_tmp = full_data(idata)
24364 data_tmp = ishft(data_tmp, 31)
24365 data_tmp = iand(data_tmp, mask_left(16))
24366 pack_tmp = ior(pack_tmp, data_tmp)
24368 packed_data(ipack) = pack_tmp
24369 data_tmp = full_data(idata)
24370 pack_tmp = ishft(data_tmp, 47)
24371 pack_tmp = ishft(pack_tmp, -33)
24373 data_tmp = full_data(idata)
24374 data_tmp = ishft(data_tmp, 31)
24375 pack_tmp = ior(pack_tmp, data_tmp)
24376 pack_tmp = ishft(pack_tmp, -14)
24378 data_tmp = full_data(idata)
24379 data_tmp = ishft(data_tmp, 31)
24380 data_tmp = iand(data_tmp, mask_left(14))
24381 pack_tmp = ior(pack_tmp, data_tmp)
24383 packed_data(ipack) = pack_tmp
24384 data_tmp = full_data(idata)
24385 pack_tmp = ishft(data_tmp, 45)
24386 pack_tmp = ishft(pack_tmp, -33)
24388 data_tmp = full_data(idata)
24389 data_tmp = ishft(data_tmp, 31)
24390 pack_tmp = ior(pack_tmp, data_tmp)
24391 pack_tmp = ishft(pack_tmp, -12)
24393 data_tmp = full_data(idata)
24394 data_tmp = ishft(data_tmp, 31)
24395 data_tmp = iand(data_tmp, mask_left(12))
24396 pack_tmp = ior(pack_tmp, data_tmp)
24398 packed_data(ipack) = pack_tmp
24399 data_tmp = full_data(idata)
24400 pack_tmp = ishft(data_tmp, 43)
24401 pack_tmp = ishft(pack_tmp, -33)
24403 data_tmp = full_data(idata)
24404 data_tmp = ishft(data_tmp, 31)
24405 pack_tmp = ior(pack_tmp, data_tmp)
24406 pack_tmp = ishft(pack_tmp, -10)
24408 data_tmp = full_data(idata)
24409 data_tmp = ishft(data_tmp, 31)
24410 data_tmp = iand(data_tmp, mask_left(10))
24411 pack_tmp = ior(pack_tmp, data_tmp)
24413 packed_data(ipack) = pack_tmp
24414 data_tmp = full_data(idata)
24415 pack_tmp = ishft(data_tmp, 41)
24416 pack_tmp = ishft(pack_tmp, -33)
24418 data_tmp = full_data(idata)
24419 data_tmp = ishft(data_tmp, 31)
24420 pack_tmp = ior(pack_tmp, data_tmp)
24421 pack_tmp = ishft(pack_tmp, -8)
24423 data_tmp = full_data(idata)
24424 data_tmp = ishft(data_tmp, 31)
24425 data_tmp = iand(data_tmp, mask_left(8))
24426 pack_tmp = ior(pack_tmp, data_tmp)
24428 packed_data(ipack) = pack_tmp
24429 data_tmp = full_data(idata)
24430 pack_tmp = ishft(data_tmp, 39)
24431 pack_tmp = ishft(pack_tmp, -33)
24433 data_tmp = full_data(idata)
24434 data_tmp = ishft(data_tmp, 31)
24435 pack_tmp = ior(pack_tmp, data_tmp)
24436 pack_tmp = ishft(pack_tmp, -6)
24438 data_tmp = full_data(idata)
24439 data_tmp = ishft(data_tmp, 31)
24440 data_tmp = iand(data_tmp, mask_left(6))
24441 pack_tmp = ior(pack_tmp, data_tmp)
24443 packed_data(ipack) = pack_tmp
24444 data_tmp = full_data(idata)
24445 pack_tmp = ishft(data_tmp, 37)
24446 pack_tmp = ishft(pack_tmp, -33)
24448 data_tmp = full_data(idata)
24449 data_tmp = ishft(data_tmp, 31)
24450 pack_tmp = ior(pack_tmp, data_tmp)
24451 pack_tmp = ishft(pack_tmp, -4)
24453 data_tmp = full_data(idata)
24454 data_tmp = ishft(data_tmp, 31)
24455 data_tmp = iand(data_tmp, mask_left(4))
24456 pack_tmp = ior(pack_tmp, data_tmp)
24458 packed_data(ipack) = pack_tmp
24459 data_tmp = full_data(idata)
24460 pack_tmp = ishft(data_tmp, 35)
24461 pack_tmp = ishft(pack_tmp, -33)
24463 data_tmp = full_data(idata)
24464 data_tmp = ishft(data_tmp, 31)
24465 pack_tmp = ior(pack_tmp, data_tmp)
24466 pack_tmp = ishft(pack_tmp, -2)
24468 data_tmp = full_data(idata)
24469 data_tmp = ishft(data_tmp, 31)
24470 data_tmp = iand(data_tmp, mask_left(2))
24471 pack_tmp = ior(pack_tmp, data_tmp)
24473 packed_data(ipack) = pack_tmp
24474 data_tmp = full_data(idata)
24475 pack_tmp = ishft(data_tmp, 33)
24476 pack_tmp = ishft(pack_tmp, -33)
24478 data_tmp = full_data(idata)
24479 data_tmp = ishft(data_tmp, 31)
24480 pack_tmp = ior(pack_tmp, data_tmp)
24481 pack_tmp = ishft(pack_tmp, 0)
24482 pack_tmp = ishft(pack_tmp, 0)
24484 packed_data(ipack) = pack_tmp
24486 IF (ndata_rep < ndata)
THEN
24487 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
24489 END SUBROUTINE ints2bits_33
24497 SUBROUTINE bits2ints_33(Ndata, packed_data, full_data)
24498 INTEGER,
INTENT(IN) :: Ndata
24499 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
24500 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
24502 INTEGER,
PARAMETER :: Nbits = 33
24504 INTEGER :: idata, ipack, kdata, Ndata_rep
24505 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
24510 ndata_rep = (ndata/64)*64
24511 DO kdata = 1, ndata_rep, 64
24513 data_tmp = ishft(pack_tmp, 33)
24515 pack_tmp = packed_data(ipack)
24516 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
24517 pack_tmp = ishft(pack_tmp, -33)
24519 data_tmp = ishft(pack_tmp, 2)
24521 pack_tmp = packed_data(ipack)
24522 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
24523 pack_tmp = ishft(pack_tmp, -2)
24525 data_tmp = iand(pack_tmp, mask_right(nbits))
24526 full_data(idata) = data_tmp
24527 pack_tmp = ishft(pack_tmp, -nbits)
24529 data_tmp = ishft(pack_tmp, 4)
24531 pack_tmp = packed_data(ipack)
24532 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
24533 pack_tmp = ishft(pack_tmp, -4)
24535 data_tmp = iand(pack_tmp, mask_right(nbits))
24536 full_data(idata) = data_tmp
24537 pack_tmp = ishft(pack_tmp, -nbits)
24539 data_tmp = ishft(pack_tmp, 6)
24541 pack_tmp = packed_data(ipack)
24542 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
24543 pack_tmp = ishft(pack_tmp, -6)
24545 data_tmp = iand(pack_tmp, mask_right(nbits))
24546 full_data(idata) = data_tmp
24547 pack_tmp = ishft(pack_tmp, -nbits)
24549 data_tmp = ishft(pack_tmp, 8)
24551 pack_tmp = packed_data(ipack)
24552 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
24553 pack_tmp = ishft(pack_tmp, -8)
24555 data_tmp = iand(pack_tmp, mask_right(nbits))
24556 full_data(idata) = data_tmp
24557 pack_tmp = ishft(pack_tmp, -nbits)
24559 data_tmp = ishft(pack_tmp, 10)
24561 pack_tmp = packed_data(ipack)
24562 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
24563 pack_tmp = ishft(pack_tmp, -10)
24565 data_tmp = iand(pack_tmp, mask_right(nbits))
24566 full_data(idata) = data_tmp
24567 pack_tmp = ishft(pack_tmp, -nbits)
24569 data_tmp = ishft(pack_tmp, 12)
24571 pack_tmp = packed_data(ipack)
24572 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
24573 pack_tmp = ishft(pack_tmp, -12)
24575 data_tmp = iand(pack_tmp, mask_right(nbits))
24576 full_data(idata) = data_tmp
24577 pack_tmp = ishft(pack_tmp, -nbits)
24579 data_tmp = ishft(pack_tmp, 14)
24581 pack_tmp = packed_data(ipack)
24582 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
24583 pack_tmp = ishft(pack_tmp, -14)
24585 data_tmp = iand(pack_tmp, mask_right(nbits))
24586 full_data(idata) = data_tmp
24587 pack_tmp = ishft(pack_tmp, -nbits)
24589 data_tmp = ishft(pack_tmp, 16)
24591 pack_tmp = packed_data(ipack)
24592 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
24593 pack_tmp = ishft(pack_tmp, -16)
24595 data_tmp = iand(pack_tmp, mask_right(nbits))
24596 full_data(idata) = data_tmp
24597 pack_tmp = ishft(pack_tmp, -nbits)
24599 data_tmp = ishft(pack_tmp, 18)
24601 pack_tmp = packed_data(ipack)
24602 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
24603 pack_tmp = ishft(pack_tmp, -18)
24605 data_tmp = iand(pack_tmp, mask_right(nbits))
24606 full_data(idata) = data_tmp
24607 pack_tmp = ishft(pack_tmp, -nbits)
24609 data_tmp = ishft(pack_tmp, 20)
24611 pack_tmp = packed_data(ipack)
24612 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
24613 pack_tmp = ishft(pack_tmp, -20)
24615 data_tmp = iand(pack_tmp, mask_right(nbits))
24616 full_data(idata) = data_tmp
24617 pack_tmp = ishft(pack_tmp, -nbits)
24619 data_tmp = ishft(pack_tmp, 22)
24621 pack_tmp = packed_data(ipack)
24622 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
24623 pack_tmp = ishft(pack_tmp, -22)
24625 data_tmp = iand(pack_tmp, mask_right(nbits))
24626 full_data(idata) = data_tmp
24627 pack_tmp = ishft(pack_tmp, -nbits)
24629 data_tmp = ishft(pack_tmp, 24)
24631 pack_tmp = packed_data(ipack)
24632 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
24633 pack_tmp = ishft(pack_tmp, -24)
24635 data_tmp = iand(pack_tmp, mask_right(nbits))
24636 full_data(idata) = data_tmp
24637 pack_tmp = ishft(pack_tmp, -nbits)
24639 data_tmp = ishft(pack_tmp, 26)
24641 pack_tmp = packed_data(ipack)
24642 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
24643 pack_tmp = ishft(pack_tmp, -26)
24645 data_tmp = iand(pack_tmp, mask_right(nbits))
24646 full_data(idata) = data_tmp
24647 pack_tmp = ishft(pack_tmp, -nbits)
24649 data_tmp = ishft(pack_tmp, 28)
24651 pack_tmp = packed_data(ipack)
24652 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
24653 pack_tmp = ishft(pack_tmp, -28)
24655 data_tmp = iand(pack_tmp, mask_right(nbits))
24656 full_data(idata) = data_tmp
24657 pack_tmp = ishft(pack_tmp, -nbits)
24659 data_tmp = ishft(pack_tmp, 30)
24661 pack_tmp = packed_data(ipack)
24662 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
24663 pack_tmp = ishft(pack_tmp, -30)
24665 data_tmp = iand(pack_tmp, mask_right(nbits))
24666 full_data(idata) = data_tmp
24667 pack_tmp = ishft(pack_tmp, -nbits)
24669 data_tmp = ishft(pack_tmp, 32)
24671 pack_tmp = packed_data(ipack)
24672 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
24673 pack_tmp = ishft(pack_tmp, -32)
24675 data_tmp = ishft(pack_tmp, 1)
24677 pack_tmp = packed_data(ipack)
24678 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
24679 pack_tmp = ishft(pack_tmp, -1)
24681 data_tmp = iand(pack_tmp, mask_right(nbits))
24682 full_data(idata) = data_tmp
24683 pack_tmp = ishft(pack_tmp, -nbits)
24685 data_tmp = ishft(pack_tmp, 3)
24687 pack_tmp = packed_data(ipack)
24688 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
24689 pack_tmp = ishft(pack_tmp, -3)
24691 data_tmp = iand(pack_tmp, mask_right(nbits))
24692 full_data(idata) = data_tmp
24693 pack_tmp = ishft(pack_tmp, -nbits)
24695 data_tmp = ishft(pack_tmp, 5)
24697 pack_tmp = packed_data(ipack)
24698 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
24699 pack_tmp = ishft(pack_tmp, -5)
24701 data_tmp = iand(pack_tmp, mask_right(nbits))
24702 full_data(idata) = data_tmp
24703 pack_tmp = ishft(pack_tmp, -nbits)
24705 data_tmp = ishft(pack_tmp, 7)
24707 pack_tmp = packed_data(ipack)
24708 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
24709 pack_tmp = ishft(pack_tmp, -7)
24711 data_tmp = iand(pack_tmp, mask_right(nbits))
24712 full_data(idata) = data_tmp
24713 pack_tmp = ishft(pack_tmp, -nbits)
24715 data_tmp = ishft(pack_tmp, 9)
24717 pack_tmp = packed_data(ipack)
24718 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
24719 pack_tmp = ishft(pack_tmp, -9)
24721 data_tmp = iand(pack_tmp, mask_right(nbits))
24722 full_data(idata) = data_tmp
24723 pack_tmp = ishft(pack_tmp, -nbits)
24725 data_tmp = ishft(pack_tmp, 11)
24727 pack_tmp = packed_data(ipack)
24728 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
24729 pack_tmp = ishft(pack_tmp, -11)
24731 data_tmp = iand(pack_tmp, mask_right(nbits))
24732 full_data(idata) = data_tmp
24733 pack_tmp = ishft(pack_tmp, -nbits)
24735 data_tmp = ishft(pack_tmp, 13)
24737 pack_tmp = packed_data(ipack)
24738 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
24739 pack_tmp = ishft(pack_tmp, -13)
24741 data_tmp = iand(pack_tmp, mask_right(nbits))
24742 full_data(idata) = data_tmp
24743 pack_tmp = ishft(pack_tmp, -nbits)
24745 data_tmp = ishft(pack_tmp, 15)
24747 pack_tmp = packed_data(ipack)
24748 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
24749 pack_tmp = ishft(pack_tmp, -15)
24751 data_tmp = iand(pack_tmp, mask_right(nbits))
24752 full_data(idata) = data_tmp
24753 pack_tmp = ishft(pack_tmp, -nbits)
24755 data_tmp = ishft(pack_tmp, 17)
24757 pack_tmp = packed_data(ipack)
24758 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
24759 pack_tmp = ishft(pack_tmp, -17)
24761 data_tmp = iand(pack_tmp, mask_right(nbits))
24762 full_data(idata) = data_tmp
24763 pack_tmp = ishft(pack_tmp, -nbits)
24765 data_tmp = ishft(pack_tmp, 19)
24767 pack_tmp = packed_data(ipack)
24768 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
24769 pack_tmp = ishft(pack_tmp, -19)
24771 data_tmp = iand(pack_tmp, mask_right(nbits))
24772 full_data(idata) = data_tmp
24773 pack_tmp = ishft(pack_tmp, -nbits)
24775 data_tmp = ishft(pack_tmp, 21)
24777 pack_tmp = packed_data(ipack)
24778 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
24779 pack_tmp = ishft(pack_tmp, -21)
24781 data_tmp = iand(pack_tmp, mask_right(nbits))
24782 full_data(idata) = data_tmp
24783 pack_tmp = ishft(pack_tmp, -nbits)
24785 data_tmp = ishft(pack_tmp, 23)
24787 pack_tmp = packed_data(ipack)
24788 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
24789 pack_tmp = ishft(pack_tmp, -23)
24791 data_tmp = iand(pack_tmp, mask_right(nbits))
24792 full_data(idata) = data_tmp
24793 pack_tmp = ishft(pack_tmp, -nbits)
24795 data_tmp = ishft(pack_tmp, 25)
24797 pack_tmp = packed_data(ipack)
24798 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
24799 pack_tmp = ishft(pack_tmp, -25)
24801 data_tmp = iand(pack_tmp, mask_right(nbits))
24802 full_data(idata) = data_tmp
24803 pack_tmp = ishft(pack_tmp, -nbits)
24805 data_tmp = ishft(pack_tmp, 27)
24807 pack_tmp = packed_data(ipack)
24808 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
24809 pack_tmp = ishft(pack_tmp, -27)
24811 data_tmp = iand(pack_tmp, mask_right(nbits))
24812 full_data(idata) = data_tmp
24813 pack_tmp = ishft(pack_tmp, -nbits)
24815 data_tmp = ishft(pack_tmp, 29)
24817 pack_tmp = packed_data(ipack)
24818 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
24819 pack_tmp = ishft(pack_tmp, -29)
24821 data_tmp = iand(pack_tmp, mask_right(nbits))
24822 full_data(idata) = data_tmp
24823 pack_tmp = ishft(pack_tmp, -nbits)
24825 data_tmp = ishft(pack_tmp, 31)
24827 pack_tmp = packed_data(ipack)
24828 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
24829 pack_tmp = ishft(pack_tmp, -31)
24831 data_tmp = iand(pack_tmp, mask_right(nbits))
24832 full_data(idata) = data_tmp
24833 pack_tmp = ishft(pack_tmp, -nbits)
24835 IF (ndata_rep < ndata)
THEN
24836 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
24838 END SUBROUTINE bits2ints_33
24846 SUBROUTINE ints2bits_34(Ndata, packed_data, full_data)
24847 INTEGER,
INTENT(IN) :: Ndata
24848 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
24849 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
24851 INTEGER,
PARAMETER :: Nbits = 34
24853 INTEGER :: idata, ipack, kdata, Ndata_rep
24854 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
24858 ndata_rep = (ndata/64)*64
24859 DO kdata = 1, ndata_rep, 64
24862 data_tmp = full_data(idata)
24863 data_tmp = ishft(data_tmp, 30)
24864 pack_tmp = ior(pack_tmp, data_tmp)
24865 pack_tmp = ishft(pack_tmp, -30)
24867 data_tmp = full_data(idata)
24868 data_tmp = ishft(data_tmp, 30)
24869 data_tmp = iand(data_tmp, mask_left(30))
24870 pack_tmp = ior(pack_tmp, data_tmp)
24872 packed_data(ipack) = pack_tmp
24873 data_tmp = full_data(idata)
24874 pack_tmp = ishft(data_tmp, 60)
24875 pack_tmp = ishft(pack_tmp, -34)
24877 data_tmp = full_data(idata)
24878 data_tmp = ishft(data_tmp, 30)
24879 pack_tmp = ior(pack_tmp, data_tmp)
24880 pack_tmp = ishft(pack_tmp, -26)
24882 data_tmp = full_data(idata)
24883 data_tmp = ishft(data_tmp, 30)
24884 data_tmp = iand(data_tmp, mask_left(26))
24885 pack_tmp = ior(pack_tmp, data_tmp)
24887 packed_data(ipack) = pack_tmp
24888 data_tmp = full_data(idata)
24889 pack_tmp = ishft(data_tmp, 56)
24890 pack_tmp = ishft(pack_tmp, -34)
24892 data_tmp = full_data(idata)
24893 data_tmp = ishft(data_tmp, 30)
24894 pack_tmp = ior(pack_tmp, data_tmp)
24895 pack_tmp = ishft(pack_tmp, -22)
24897 data_tmp = full_data(idata)
24898 data_tmp = ishft(data_tmp, 30)
24899 data_tmp = iand(data_tmp, mask_left(22))
24900 pack_tmp = ior(pack_tmp, data_tmp)
24902 packed_data(ipack) = pack_tmp
24903 data_tmp = full_data(idata)
24904 pack_tmp = ishft(data_tmp, 52)
24905 pack_tmp = ishft(pack_tmp, -34)
24907 data_tmp = full_data(idata)
24908 data_tmp = ishft(data_tmp, 30)
24909 pack_tmp = ior(pack_tmp, data_tmp)
24910 pack_tmp = ishft(pack_tmp, -18)
24912 data_tmp = full_data(idata)
24913 data_tmp = ishft(data_tmp, 30)
24914 data_tmp = iand(data_tmp, mask_left(18))
24915 pack_tmp = ior(pack_tmp, data_tmp)
24917 packed_data(ipack) = pack_tmp
24918 data_tmp = full_data(idata)
24919 pack_tmp = ishft(data_tmp, 48)
24920 pack_tmp = ishft(pack_tmp, -34)
24922 data_tmp = full_data(idata)
24923 data_tmp = ishft(data_tmp, 30)
24924 pack_tmp = ior(pack_tmp, data_tmp)
24925 pack_tmp = ishft(pack_tmp, -14)
24927 data_tmp = full_data(idata)
24928 data_tmp = ishft(data_tmp, 30)
24929 data_tmp = iand(data_tmp, mask_left(14))
24930 pack_tmp = ior(pack_tmp, data_tmp)
24932 packed_data(ipack) = pack_tmp
24933 data_tmp = full_data(idata)
24934 pack_tmp = ishft(data_tmp, 44)
24935 pack_tmp = ishft(pack_tmp, -34)
24937 data_tmp = full_data(idata)
24938 data_tmp = ishft(data_tmp, 30)
24939 pack_tmp = ior(pack_tmp, data_tmp)
24940 pack_tmp = ishft(pack_tmp, -10)
24942 data_tmp = full_data(idata)
24943 data_tmp = ishft(data_tmp, 30)
24944 data_tmp = iand(data_tmp, mask_left(10))
24945 pack_tmp = ior(pack_tmp, data_tmp)
24947 packed_data(ipack) = pack_tmp
24948 data_tmp = full_data(idata)
24949 pack_tmp = ishft(data_tmp, 40)
24950 pack_tmp = ishft(pack_tmp, -34)
24952 data_tmp = full_data(idata)
24953 data_tmp = ishft(data_tmp, 30)
24954 pack_tmp = ior(pack_tmp, data_tmp)
24955 pack_tmp = ishft(pack_tmp, -6)
24957 data_tmp = full_data(idata)
24958 data_tmp = ishft(data_tmp, 30)
24959 data_tmp = iand(data_tmp, mask_left(6))
24960 pack_tmp = ior(pack_tmp, data_tmp)
24962 packed_data(ipack) = pack_tmp
24963 data_tmp = full_data(idata)
24964 pack_tmp = ishft(data_tmp, 36)
24965 pack_tmp = ishft(pack_tmp, -34)
24967 data_tmp = full_data(idata)
24968 data_tmp = ishft(data_tmp, 30)
24969 pack_tmp = ior(pack_tmp, data_tmp)
24970 pack_tmp = ishft(pack_tmp, -2)
24972 data_tmp = full_data(idata)
24973 data_tmp = ishft(data_tmp, 30)
24974 data_tmp = iand(data_tmp, mask_left(2))
24975 pack_tmp = ior(pack_tmp, data_tmp)
24977 packed_data(ipack) = pack_tmp
24978 data_tmp = full_data(idata)
24979 pack_tmp = ishft(data_tmp, 32)
24980 pack_tmp = ishft(pack_tmp, -32)
24982 data_tmp = full_data(idata)
24983 data_tmp = ishft(data_tmp, 30)
24984 data_tmp = iand(data_tmp, mask_left(32))
24985 pack_tmp = ior(pack_tmp, data_tmp)
24987 packed_data(ipack) = pack_tmp
24988 data_tmp = full_data(idata)
24989 pack_tmp = ishft(data_tmp, 62)
24990 pack_tmp = ishft(pack_tmp, -34)
24992 data_tmp = full_data(idata)
24993 data_tmp = ishft(data_tmp, 30)
24994 pack_tmp = ior(pack_tmp, data_tmp)
24995 pack_tmp = ishft(pack_tmp, -28)
24997 data_tmp = full_data(idata)
24998 data_tmp = ishft(data_tmp, 30)
24999 data_tmp = iand(data_tmp, mask_left(28))
25000 pack_tmp = ior(pack_tmp, data_tmp)
25002 packed_data(ipack) = pack_tmp
25003 data_tmp = full_data(idata)
25004 pack_tmp = ishft(data_tmp, 58)
25005 pack_tmp = ishft(pack_tmp, -34)
25007 data_tmp = full_data(idata)
25008 data_tmp = ishft(data_tmp, 30)
25009 pack_tmp = ior(pack_tmp, data_tmp)
25010 pack_tmp = ishft(pack_tmp, -24)
25012 data_tmp = full_data(idata)
25013 data_tmp = ishft(data_tmp, 30)
25014 data_tmp = iand(data_tmp, mask_left(24))
25015 pack_tmp = ior(pack_tmp, data_tmp)
25017 packed_data(ipack) = pack_tmp
25018 data_tmp = full_data(idata)
25019 pack_tmp = ishft(data_tmp, 54)
25020 pack_tmp = ishft(pack_tmp, -34)
25022 data_tmp = full_data(idata)
25023 data_tmp = ishft(data_tmp, 30)
25024 pack_tmp = ior(pack_tmp, data_tmp)
25025 pack_tmp = ishft(pack_tmp, -20)
25027 data_tmp = full_data(idata)
25028 data_tmp = ishft(data_tmp, 30)
25029 data_tmp = iand(data_tmp, mask_left(20))
25030 pack_tmp = ior(pack_tmp, data_tmp)
25032 packed_data(ipack) = pack_tmp
25033 data_tmp = full_data(idata)
25034 pack_tmp = ishft(data_tmp, 50)
25035 pack_tmp = ishft(pack_tmp, -34)
25037 data_tmp = full_data(idata)
25038 data_tmp = ishft(data_tmp, 30)
25039 pack_tmp = ior(pack_tmp, data_tmp)
25040 pack_tmp = ishft(pack_tmp, -16)
25042 data_tmp = full_data(idata)
25043 data_tmp = ishft(data_tmp, 30)
25044 data_tmp = iand(data_tmp, mask_left(16))
25045 pack_tmp = ior(pack_tmp, data_tmp)
25047 packed_data(ipack) = pack_tmp
25048 data_tmp = full_data(idata)
25049 pack_tmp = ishft(data_tmp, 46)
25050 pack_tmp = ishft(pack_tmp, -34)
25052 data_tmp = full_data(idata)
25053 data_tmp = ishft(data_tmp, 30)
25054 pack_tmp = ior(pack_tmp, data_tmp)
25055 pack_tmp = ishft(pack_tmp, -12)
25057 data_tmp = full_data(idata)
25058 data_tmp = ishft(data_tmp, 30)
25059 data_tmp = iand(data_tmp, mask_left(12))
25060 pack_tmp = ior(pack_tmp, data_tmp)
25062 packed_data(ipack) = pack_tmp
25063 data_tmp = full_data(idata)
25064 pack_tmp = ishft(data_tmp, 42)
25065 pack_tmp = ishft(pack_tmp, -34)
25067 data_tmp = full_data(idata)
25068 data_tmp = ishft(data_tmp, 30)
25069 pack_tmp = ior(pack_tmp, data_tmp)
25070 pack_tmp = ishft(pack_tmp, -8)
25072 data_tmp = full_data(idata)
25073 data_tmp = ishft(data_tmp, 30)
25074 data_tmp = iand(data_tmp, mask_left(8))
25075 pack_tmp = ior(pack_tmp, data_tmp)
25077 packed_data(ipack) = pack_tmp
25078 data_tmp = full_data(idata)
25079 pack_tmp = ishft(data_tmp, 38)
25080 pack_tmp = ishft(pack_tmp, -34)
25082 data_tmp = full_data(idata)
25083 data_tmp = ishft(data_tmp, 30)
25084 pack_tmp = ior(pack_tmp, data_tmp)
25085 pack_tmp = ishft(pack_tmp, -4)
25087 data_tmp = full_data(idata)
25088 data_tmp = ishft(data_tmp, 30)
25089 data_tmp = iand(data_tmp, mask_left(4))
25090 pack_tmp = ior(pack_tmp, data_tmp)
25092 packed_data(ipack) = pack_tmp
25093 data_tmp = full_data(idata)
25094 pack_tmp = ishft(data_tmp, 34)
25095 pack_tmp = ishft(pack_tmp, -34)
25097 data_tmp = full_data(idata)
25098 data_tmp = ishft(data_tmp, 30)
25099 pack_tmp = ior(pack_tmp, data_tmp)
25100 pack_tmp = ishft(pack_tmp, 0)
25102 data_tmp = full_data(idata)
25103 data_tmp = ishft(data_tmp, 30)
25104 data_tmp = iand(data_tmp, mask_left(0))
25105 pack_tmp = ior(pack_tmp, data_tmp)
25107 packed_data(ipack) = pack_tmp
25108 data_tmp = full_data(idata)
25109 pack_tmp = ishft(data_tmp, 30)
25110 pack_tmp = ishft(pack_tmp, -30)
25112 data_tmp = full_data(idata)
25113 data_tmp = ishft(data_tmp, 30)
25114 data_tmp = iand(data_tmp, mask_left(30))
25115 pack_tmp = ior(pack_tmp, data_tmp)
25117 packed_data(ipack) = pack_tmp
25118 data_tmp = full_data(idata)
25119 pack_tmp = ishft(data_tmp, 60)
25120 pack_tmp = ishft(pack_tmp, -34)
25122 data_tmp = full_data(idata)
25123 data_tmp = ishft(data_tmp, 30)
25124 pack_tmp = ior(pack_tmp, data_tmp)
25125 pack_tmp = ishft(pack_tmp, -26)
25127 data_tmp = full_data(idata)
25128 data_tmp = ishft(data_tmp, 30)
25129 data_tmp = iand(data_tmp, mask_left(26))
25130 pack_tmp = ior(pack_tmp, data_tmp)
25132 packed_data(ipack) = pack_tmp
25133 data_tmp = full_data(idata)
25134 pack_tmp = ishft(data_tmp, 56)
25135 pack_tmp = ishft(pack_tmp, -34)
25137 data_tmp = full_data(idata)
25138 data_tmp = ishft(data_tmp, 30)
25139 pack_tmp = ior(pack_tmp, data_tmp)
25140 pack_tmp = ishft(pack_tmp, -22)
25142 data_tmp = full_data(idata)
25143 data_tmp = ishft(data_tmp, 30)
25144 data_tmp = iand(data_tmp, mask_left(22))
25145 pack_tmp = ior(pack_tmp, data_tmp)
25147 packed_data(ipack) = pack_tmp
25148 data_tmp = full_data(idata)
25149 pack_tmp = ishft(data_tmp, 52)
25150 pack_tmp = ishft(pack_tmp, -34)
25152 data_tmp = full_data(idata)
25153 data_tmp = ishft(data_tmp, 30)
25154 pack_tmp = ior(pack_tmp, data_tmp)
25155 pack_tmp = ishft(pack_tmp, -18)
25157 data_tmp = full_data(idata)
25158 data_tmp = ishft(data_tmp, 30)
25159 data_tmp = iand(data_tmp, mask_left(18))
25160 pack_tmp = ior(pack_tmp, data_tmp)
25162 packed_data(ipack) = pack_tmp
25163 data_tmp = full_data(idata)
25164 pack_tmp = ishft(data_tmp, 48)
25165 pack_tmp = ishft(pack_tmp, -34)
25167 data_tmp = full_data(idata)
25168 data_tmp = ishft(data_tmp, 30)
25169 pack_tmp = ior(pack_tmp, data_tmp)
25170 pack_tmp = ishft(pack_tmp, -14)
25172 data_tmp = full_data(idata)
25173 data_tmp = ishft(data_tmp, 30)
25174 data_tmp = iand(data_tmp, mask_left(14))
25175 pack_tmp = ior(pack_tmp, data_tmp)
25177 packed_data(ipack) = pack_tmp
25178 data_tmp = full_data(idata)
25179 pack_tmp = ishft(data_tmp, 44)
25180 pack_tmp = ishft(pack_tmp, -34)
25182 data_tmp = full_data(idata)
25183 data_tmp = ishft(data_tmp, 30)
25184 pack_tmp = ior(pack_tmp, data_tmp)
25185 pack_tmp = ishft(pack_tmp, -10)
25187 data_tmp = full_data(idata)
25188 data_tmp = ishft(data_tmp, 30)
25189 data_tmp = iand(data_tmp, mask_left(10))
25190 pack_tmp = ior(pack_tmp, data_tmp)
25192 packed_data(ipack) = pack_tmp
25193 data_tmp = full_data(idata)
25194 pack_tmp = ishft(data_tmp, 40)
25195 pack_tmp = ishft(pack_tmp, -34)
25197 data_tmp = full_data(idata)
25198 data_tmp = ishft(data_tmp, 30)
25199 pack_tmp = ior(pack_tmp, data_tmp)
25200 pack_tmp = ishft(pack_tmp, -6)
25202 data_tmp = full_data(idata)
25203 data_tmp = ishft(data_tmp, 30)
25204 data_tmp = iand(data_tmp, mask_left(6))
25205 pack_tmp = ior(pack_tmp, data_tmp)
25207 packed_data(ipack) = pack_tmp
25208 data_tmp = full_data(idata)
25209 pack_tmp = ishft(data_tmp, 36)
25210 pack_tmp = ishft(pack_tmp, -34)
25212 data_tmp = full_data(idata)
25213 data_tmp = ishft(data_tmp, 30)
25214 pack_tmp = ior(pack_tmp, data_tmp)
25215 pack_tmp = ishft(pack_tmp, -2)
25217 data_tmp = full_data(idata)
25218 data_tmp = ishft(data_tmp, 30)
25219 data_tmp = iand(data_tmp, mask_left(2))
25220 pack_tmp = ior(pack_tmp, data_tmp)
25222 packed_data(ipack) = pack_tmp
25223 data_tmp = full_data(idata)
25224 pack_tmp = ishft(data_tmp, 32)
25225 pack_tmp = ishft(pack_tmp, -32)
25227 data_tmp = full_data(idata)
25228 data_tmp = ishft(data_tmp, 30)
25229 data_tmp = iand(data_tmp, mask_left(32))
25230 pack_tmp = ior(pack_tmp, data_tmp)
25232 packed_data(ipack) = pack_tmp
25233 data_tmp = full_data(idata)
25234 pack_tmp = ishft(data_tmp, 62)
25235 pack_tmp = ishft(pack_tmp, -34)
25237 data_tmp = full_data(idata)
25238 data_tmp = ishft(data_tmp, 30)
25239 pack_tmp = ior(pack_tmp, data_tmp)
25240 pack_tmp = ishft(pack_tmp, -28)
25242 data_tmp = full_data(idata)
25243 data_tmp = ishft(data_tmp, 30)
25244 data_tmp = iand(data_tmp, mask_left(28))
25245 pack_tmp = ior(pack_tmp, data_tmp)
25247 packed_data(ipack) = pack_tmp
25248 data_tmp = full_data(idata)
25249 pack_tmp = ishft(data_tmp, 58)
25250 pack_tmp = ishft(pack_tmp, -34)
25252 data_tmp = full_data(idata)
25253 data_tmp = ishft(data_tmp, 30)
25254 pack_tmp = ior(pack_tmp, data_tmp)
25255 pack_tmp = ishft(pack_tmp, -24)
25257 data_tmp = full_data(idata)
25258 data_tmp = ishft(data_tmp, 30)
25259 data_tmp = iand(data_tmp, mask_left(24))
25260 pack_tmp = ior(pack_tmp, data_tmp)
25262 packed_data(ipack) = pack_tmp
25263 data_tmp = full_data(idata)
25264 pack_tmp = ishft(data_tmp, 54)
25265 pack_tmp = ishft(pack_tmp, -34)
25267 data_tmp = full_data(idata)
25268 data_tmp = ishft(data_tmp, 30)
25269 pack_tmp = ior(pack_tmp, data_tmp)
25270 pack_tmp = ishft(pack_tmp, -20)
25272 data_tmp = full_data(idata)
25273 data_tmp = ishft(data_tmp, 30)
25274 data_tmp = iand(data_tmp, mask_left(20))
25275 pack_tmp = ior(pack_tmp, data_tmp)
25277 packed_data(ipack) = pack_tmp
25278 data_tmp = full_data(idata)
25279 pack_tmp = ishft(data_tmp, 50)
25280 pack_tmp = ishft(pack_tmp, -34)
25282 data_tmp = full_data(idata)
25283 data_tmp = ishft(data_tmp, 30)
25284 pack_tmp = ior(pack_tmp, data_tmp)
25285 pack_tmp = ishft(pack_tmp, -16)
25287 data_tmp = full_data(idata)
25288 data_tmp = ishft(data_tmp, 30)
25289 data_tmp = iand(data_tmp, mask_left(16))
25290 pack_tmp = ior(pack_tmp, data_tmp)
25292 packed_data(ipack) = pack_tmp
25293 data_tmp = full_data(idata)
25294 pack_tmp = ishft(data_tmp, 46)
25295 pack_tmp = ishft(pack_tmp, -34)
25297 data_tmp = full_data(idata)
25298 data_tmp = ishft(data_tmp, 30)
25299 pack_tmp = ior(pack_tmp, data_tmp)
25300 pack_tmp = ishft(pack_tmp, -12)
25302 data_tmp = full_data(idata)
25303 data_tmp = ishft(data_tmp, 30)
25304 data_tmp = iand(data_tmp, mask_left(12))
25305 pack_tmp = ior(pack_tmp, data_tmp)
25307 packed_data(ipack) = pack_tmp
25308 data_tmp = full_data(idata)
25309 pack_tmp = ishft(data_tmp, 42)
25310 pack_tmp = ishft(pack_tmp, -34)
25312 data_tmp = full_data(idata)
25313 data_tmp = ishft(data_tmp, 30)
25314 pack_tmp = ior(pack_tmp, data_tmp)
25315 pack_tmp = ishft(pack_tmp, -8)
25317 data_tmp = full_data(idata)
25318 data_tmp = ishft(data_tmp, 30)
25319 data_tmp = iand(data_tmp, mask_left(8))
25320 pack_tmp = ior(pack_tmp, data_tmp)
25322 packed_data(ipack) = pack_tmp
25323 data_tmp = full_data(idata)
25324 pack_tmp = ishft(data_tmp, 38)
25325 pack_tmp = ishft(pack_tmp, -34)
25327 data_tmp = full_data(idata)
25328 data_tmp = ishft(data_tmp, 30)
25329 pack_tmp = ior(pack_tmp, data_tmp)
25330 pack_tmp = ishft(pack_tmp, -4)
25332 data_tmp = full_data(idata)
25333 data_tmp = ishft(data_tmp, 30)
25334 data_tmp = iand(data_tmp, mask_left(4))
25335 pack_tmp = ior(pack_tmp, data_tmp)
25337 packed_data(ipack) = pack_tmp
25338 data_tmp = full_data(idata)
25339 pack_tmp = ishft(data_tmp, 34)
25340 pack_tmp = ishft(pack_tmp, -34)
25342 data_tmp = full_data(idata)
25343 data_tmp = ishft(data_tmp, 30)
25344 pack_tmp = ior(pack_tmp, data_tmp)
25345 pack_tmp = ishft(pack_tmp, 0)
25346 pack_tmp = ishft(pack_tmp, 0)
25348 packed_data(ipack) = pack_tmp
25350 IF (ndata_rep < ndata)
THEN
25351 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
25353 END SUBROUTINE ints2bits_34
25361 SUBROUTINE bits2ints_34(Ndata, packed_data, full_data)
25362 INTEGER,
INTENT(IN) :: Ndata
25363 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
25364 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
25366 INTEGER,
PARAMETER :: Nbits = 34
25368 INTEGER :: idata, ipack, kdata, Ndata_rep
25369 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
25374 ndata_rep = (ndata/64)*64
25375 DO kdata = 1, ndata_rep, 64
25377 data_tmp = ishft(pack_tmp, 34)
25379 pack_tmp = packed_data(ipack)
25380 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
25381 pack_tmp = ishft(pack_tmp, -34)
25383 data_tmp = ishft(pack_tmp, 4)
25385 pack_tmp = packed_data(ipack)
25386 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
25387 pack_tmp = ishft(pack_tmp, -4)
25389 data_tmp = iand(pack_tmp, mask_right(nbits))
25390 full_data(idata) = data_tmp
25391 pack_tmp = ishft(pack_tmp, -nbits)
25393 data_tmp = ishft(pack_tmp, 8)
25395 pack_tmp = packed_data(ipack)
25396 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
25397 pack_tmp = ishft(pack_tmp, -8)
25399 data_tmp = iand(pack_tmp, mask_right(nbits))
25400 full_data(idata) = data_tmp
25401 pack_tmp = ishft(pack_tmp, -nbits)
25403 data_tmp = ishft(pack_tmp, 12)
25405 pack_tmp = packed_data(ipack)
25406 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
25407 pack_tmp = ishft(pack_tmp, -12)
25409 data_tmp = iand(pack_tmp, mask_right(nbits))
25410 full_data(idata) = data_tmp
25411 pack_tmp = ishft(pack_tmp, -nbits)
25413 data_tmp = ishft(pack_tmp, 16)
25415 pack_tmp = packed_data(ipack)
25416 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
25417 pack_tmp = ishft(pack_tmp, -16)
25419 data_tmp = iand(pack_tmp, mask_right(nbits))
25420 full_data(idata) = data_tmp
25421 pack_tmp = ishft(pack_tmp, -nbits)
25423 data_tmp = ishft(pack_tmp, 20)
25425 pack_tmp = packed_data(ipack)
25426 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
25427 pack_tmp = ishft(pack_tmp, -20)
25429 data_tmp = iand(pack_tmp, mask_right(nbits))
25430 full_data(idata) = data_tmp
25431 pack_tmp = ishft(pack_tmp, -nbits)
25433 data_tmp = ishft(pack_tmp, 24)
25435 pack_tmp = packed_data(ipack)
25436 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
25437 pack_tmp = ishft(pack_tmp, -24)
25439 data_tmp = iand(pack_tmp, mask_right(nbits))
25440 full_data(idata) = data_tmp
25441 pack_tmp = ishft(pack_tmp, -nbits)
25443 data_tmp = ishft(pack_tmp, 28)
25445 pack_tmp = packed_data(ipack)
25446 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
25447 pack_tmp = ishft(pack_tmp, -28)
25449 data_tmp = iand(pack_tmp, mask_right(nbits))
25450 full_data(idata) = data_tmp
25451 pack_tmp = ishft(pack_tmp, -nbits)
25453 data_tmp = ishft(pack_tmp, 32)
25455 pack_tmp = packed_data(ipack)
25456 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
25457 pack_tmp = ishft(pack_tmp, -32)
25459 data_tmp = ishft(pack_tmp, 2)
25461 pack_tmp = packed_data(ipack)
25462 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
25463 pack_tmp = ishft(pack_tmp, -2)
25465 data_tmp = iand(pack_tmp, mask_right(nbits))
25466 full_data(idata) = data_tmp
25467 pack_tmp = ishft(pack_tmp, -nbits)
25469 data_tmp = ishft(pack_tmp, 6)
25471 pack_tmp = packed_data(ipack)
25472 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
25473 pack_tmp = ishft(pack_tmp, -6)
25475 data_tmp = iand(pack_tmp, mask_right(nbits))
25476 full_data(idata) = data_tmp
25477 pack_tmp = ishft(pack_tmp, -nbits)
25479 data_tmp = ishft(pack_tmp, 10)
25481 pack_tmp = packed_data(ipack)
25482 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
25483 pack_tmp = ishft(pack_tmp, -10)
25485 data_tmp = iand(pack_tmp, mask_right(nbits))
25486 full_data(idata) = data_tmp
25487 pack_tmp = ishft(pack_tmp, -nbits)
25489 data_tmp = ishft(pack_tmp, 14)
25491 pack_tmp = packed_data(ipack)
25492 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
25493 pack_tmp = ishft(pack_tmp, -14)
25495 data_tmp = iand(pack_tmp, mask_right(nbits))
25496 full_data(idata) = data_tmp
25497 pack_tmp = ishft(pack_tmp, -nbits)
25499 data_tmp = ishft(pack_tmp, 18)
25501 pack_tmp = packed_data(ipack)
25502 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
25503 pack_tmp = ishft(pack_tmp, -18)
25505 data_tmp = iand(pack_tmp, mask_right(nbits))
25506 full_data(idata) = data_tmp
25507 pack_tmp = ishft(pack_tmp, -nbits)
25509 data_tmp = ishft(pack_tmp, 22)
25511 pack_tmp = packed_data(ipack)
25512 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
25513 pack_tmp = ishft(pack_tmp, -22)
25515 data_tmp = iand(pack_tmp, mask_right(nbits))
25516 full_data(idata) = data_tmp
25517 pack_tmp = ishft(pack_tmp, -nbits)
25519 data_tmp = ishft(pack_tmp, 26)
25521 pack_tmp = packed_data(ipack)
25522 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
25523 pack_tmp = ishft(pack_tmp, -26)
25525 data_tmp = iand(pack_tmp, mask_right(nbits))
25526 full_data(idata) = data_tmp
25527 pack_tmp = ishft(pack_tmp, -nbits)
25529 data_tmp = ishft(pack_tmp, 30)
25531 pack_tmp = packed_data(ipack)
25532 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
25533 pack_tmp = ishft(pack_tmp, -30)
25535 data_tmp = iand(pack_tmp, mask_right(nbits))
25536 full_data(idata) = data_tmp
25537 pack_tmp = ishft(pack_tmp, -nbits)
25539 data_tmp = ishft(pack_tmp, 34)
25541 pack_tmp = packed_data(ipack)
25542 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
25543 pack_tmp = ishft(pack_tmp, -34)
25545 data_tmp = ishft(pack_tmp, 4)
25547 pack_tmp = packed_data(ipack)
25548 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
25549 pack_tmp = ishft(pack_tmp, -4)
25551 data_tmp = iand(pack_tmp, mask_right(nbits))
25552 full_data(idata) = data_tmp
25553 pack_tmp = ishft(pack_tmp, -nbits)
25555 data_tmp = ishft(pack_tmp, 8)
25557 pack_tmp = packed_data(ipack)
25558 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
25559 pack_tmp = ishft(pack_tmp, -8)
25561 data_tmp = iand(pack_tmp, mask_right(nbits))
25562 full_data(idata) = data_tmp
25563 pack_tmp = ishft(pack_tmp, -nbits)
25565 data_tmp = ishft(pack_tmp, 12)
25567 pack_tmp = packed_data(ipack)
25568 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
25569 pack_tmp = ishft(pack_tmp, -12)
25571 data_tmp = iand(pack_tmp, mask_right(nbits))
25572 full_data(idata) = data_tmp
25573 pack_tmp = ishft(pack_tmp, -nbits)
25575 data_tmp = ishft(pack_tmp, 16)
25577 pack_tmp = packed_data(ipack)
25578 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
25579 pack_tmp = ishft(pack_tmp, -16)
25581 data_tmp = iand(pack_tmp, mask_right(nbits))
25582 full_data(idata) = data_tmp
25583 pack_tmp = ishft(pack_tmp, -nbits)
25585 data_tmp = ishft(pack_tmp, 20)
25587 pack_tmp = packed_data(ipack)
25588 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
25589 pack_tmp = ishft(pack_tmp, -20)
25591 data_tmp = iand(pack_tmp, mask_right(nbits))
25592 full_data(idata) = data_tmp
25593 pack_tmp = ishft(pack_tmp, -nbits)
25595 data_tmp = ishft(pack_tmp, 24)
25597 pack_tmp = packed_data(ipack)
25598 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
25599 pack_tmp = ishft(pack_tmp, -24)
25601 data_tmp = iand(pack_tmp, mask_right(nbits))
25602 full_data(idata) = data_tmp
25603 pack_tmp = ishft(pack_tmp, -nbits)
25605 data_tmp = ishft(pack_tmp, 28)
25607 pack_tmp = packed_data(ipack)
25608 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
25609 pack_tmp = ishft(pack_tmp, -28)
25611 data_tmp = iand(pack_tmp, mask_right(nbits))
25612 full_data(idata) = data_tmp
25613 pack_tmp = ishft(pack_tmp, -nbits)
25615 data_tmp = ishft(pack_tmp, 32)
25617 pack_tmp = packed_data(ipack)
25618 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
25619 pack_tmp = ishft(pack_tmp, -32)
25621 data_tmp = ishft(pack_tmp, 2)
25623 pack_tmp = packed_data(ipack)
25624 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
25625 pack_tmp = ishft(pack_tmp, -2)
25627 data_tmp = iand(pack_tmp, mask_right(nbits))
25628 full_data(idata) = data_tmp
25629 pack_tmp = ishft(pack_tmp, -nbits)
25631 data_tmp = ishft(pack_tmp, 6)
25633 pack_tmp = packed_data(ipack)
25634 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
25635 pack_tmp = ishft(pack_tmp, -6)
25637 data_tmp = iand(pack_tmp, mask_right(nbits))
25638 full_data(idata) = data_tmp
25639 pack_tmp = ishft(pack_tmp, -nbits)
25641 data_tmp = ishft(pack_tmp, 10)
25643 pack_tmp = packed_data(ipack)
25644 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
25645 pack_tmp = ishft(pack_tmp, -10)
25647 data_tmp = iand(pack_tmp, mask_right(nbits))
25648 full_data(idata) = data_tmp
25649 pack_tmp = ishft(pack_tmp, -nbits)
25651 data_tmp = ishft(pack_tmp, 14)
25653 pack_tmp = packed_data(ipack)
25654 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
25655 pack_tmp = ishft(pack_tmp, -14)
25657 data_tmp = iand(pack_tmp, mask_right(nbits))
25658 full_data(idata) = data_tmp
25659 pack_tmp = ishft(pack_tmp, -nbits)
25661 data_tmp = ishft(pack_tmp, 18)
25663 pack_tmp = packed_data(ipack)
25664 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
25665 pack_tmp = ishft(pack_tmp, -18)
25667 data_tmp = iand(pack_tmp, mask_right(nbits))
25668 full_data(idata) = data_tmp
25669 pack_tmp = ishft(pack_tmp, -nbits)
25671 data_tmp = ishft(pack_tmp, 22)
25673 pack_tmp = packed_data(ipack)
25674 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
25675 pack_tmp = ishft(pack_tmp, -22)
25677 data_tmp = iand(pack_tmp, mask_right(nbits))
25678 full_data(idata) = data_tmp
25679 pack_tmp = ishft(pack_tmp, -nbits)
25681 data_tmp = ishft(pack_tmp, 26)
25683 pack_tmp = packed_data(ipack)
25684 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
25685 pack_tmp = ishft(pack_tmp, -26)
25687 data_tmp = iand(pack_tmp, mask_right(nbits))
25688 full_data(idata) = data_tmp
25689 pack_tmp = ishft(pack_tmp, -nbits)
25691 data_tmp = ishft(pack_tmp, 30)
25693 pack_tmp = packed_data(ipack)
25694 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
25695 pack_tmp = ishft(pack_tmp, -30)
25697 data_tmp = iand(pack_tmp, mask_right(nbits))
25698 full_data(idata) = data_tmp
25699 pack_tmp = ishft(pack_tmp, -nbits)
25701 IF (ndata_rep < ndata)
THEN
25702 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
25704 END SUBROUTINE bits2ints_34
25712 SUBROUTINE ints2bits_35(Ndata, packed_data, full_data)
25713 INTEGER,
INTENT(IN) :: Ndata
25714 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
25715 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
25717 INTEGER,
PARAMETER :: Nbits = 35
25719 INTEGER :: idata, ipack, kdata, Ndata_rep
25720 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
25724 ndata_rep = (ndata/64)*64
25725 DO kdata = 1, ndata_rep, 64
25728 data_tmp = full_data(idata)
25729 data_tmp = ishft(data_tmp, 29)
25730 pack_tmp = ior(pack_tmp, data_tmp)
25731 pack_tmp = ishft(pack_tmp, -29)
25733 data_tmp = full_data(idata)
25734 data_tmp = ishft(data_tmp, 29)
25735 data_tmp = iand(data_tmp, mask_left(29))
25736 pack_tmp = ior(pack_tmp, data_tmp)
25738 packed_data(ipack) = pack_tmp
25739 data_tmp = full_data(idata)
25740 pack_tmp = ishft(data_tmp, 58)
25741 pack_tmp = ishft(pack_tmp, -35)
25743 data_tmp = full_data(idata)
25744 data_tmp = ishft(data_tmp, 29)
25745 pack_tmp = ior(pack_tmp, data_tmp)
25746 pack_tmp = ishft(pack_tmp, -23)
25748 data_tmp = full_data(idata)
25749 data_tmp = ishft(data_tmp, 29)
25750 data_tmp = iand(data_tmp, mask_left(23))
25751 pack_tmp = ior(pack_tmp, data_tmp)
25753 packed_data(ipack) = pack_tmp
25754 data_tmp = full_data(idata)
25755 pack_tmp = ishft(data_tmp, 52)
25756 pack_tmp = ishft(pack_tmp, -35)
25758 data_tmp = full_data(idata)
25759 data_tmp = ishft(data_tmp, 29)
25760 pack_tmp = ior(pack_tmp, data_tmp)
25761 pack_tmp = ishft(pack_tmp, -17)
25763 data_tmp = full_data(idata)
25764 data_tmp = ishft(data_tmp, 29)
25765 data_tmp = iand(data_tmp, mask_left(17))
25766 pack_tmp = ior(pack_tmp, data_tmp)
25768 packed_data(ipack) = pack_tmp
25769 data_tmp = full_data(idata)
25770 pack_tmp = ishft(data_tmp, 46)
25771 pack_tmp = ishft(pack_tmp, -35)
25773 data_tmp = full_data(idata)
25774 data_tmp = ishft(data_tmp, 29)
25775 pack_tmp = ior(pack_tmp, data_tmp)
25776 pack_tmp = ishft(pack_tmp, -11)
25778 data_tmp = full_data(idata)
25779 data_tmp = ishft(data_tmp, 29)
25780 data_tmp = iand(data_tmp, mask_left(11))
25781 pack_tmp = ior(pack_tmp, data_tmp)
25783 packed_data(ipack) = pack_tmp
25784 data_tmp = full_data(idata)
25785 pack_tmp = ishft(data_tmp, 40)
25786 pack_tmp = ishft(pack_tmp, -35)
25788 data_tmp = full_data(idata)
25789 data_tmp = ishft(data_tmp, 29)
25790 pack_tmp = ior(pack_tmp, data_tmp)
25791 pack_tmp = ishft(pack_tmp, -5)
25793 data_tmp = full_data(idata)
25794 data_tmp = ishft(data_tmp, 29)
25795 data_tmp = iand(data_tmp, mask_left(5))
25796 pack_tmp = ior(pack_tmp, data_tmp)
25798 packed_data(ipack) = pack_tmp
25799 data_tmp = full_data(idata)
25800 pack_tmp = ishft(data_tmp, 34)
25801 pack_tmp = ishft(pack_tmp, -34)
25803 data_tmp = full_data(idata)
25804 data_tmp = ishft(data_tmp, 29)
25805 data_tmp = iand(data_tmp, mask_left(34))
25806 pack_tmp = ior(pack_tmp, data_tmp)
25808 packed_data(ipack) = pack_tmp
25809 data_tmp = full_data(idata)
25810 pack_tmp = ishft(data_tmp, 63)
25811 pack_tmp = ishft(pack_tmp, -35)
25813 data_tmp = full_data(idata)
25814 data_tmp = ishft(data_tmp, 29)
25815 pack_tmp = ior(pack_tmp, data_tmp)
25816 pack_tmp = ishft(pack_tmp, -28)
25818 data_tmp = full_data(idata)
25819 data_tmp = ishft(data_tmp, 29)
25820 data_tmp = iand(data_tmp, mask_left(28))
25821 pack_tmp = ior(pack_tmp, data_tmp)
25823 packed_data(ipack) = pack_tmp
25824 data_tmp = full_data(idata)
25825 pack_tmp = ishft(data_tmp, 57)
25826 pack_tmp = ishft(pack_tmp, -35)
25828 data_tmp = full_data(idata)
25829 data_tmp = ishft(data_tmp, 29)
25830 pack_tmp = ior(pack_tmp, data_tmp)
25831 pack_tmp = ishft(pack_tmp, -22)
25833 data_tmp = full_data(idata)
25834 data_tmp = ishft(data_tmp, 29)
25835 data_tmp = iand(data_tmp, mask_left(22))
25836 pack_tmp = ior(pack_tmp, data_tmp)
25838 packed_data(ipack) = pack_tmp
25839 data_tmp = full_data(idata)
25840 pack_tmp = ishft(data_tmp, 51)
25841 pack_tmp = ishft(pack_tmp, -35)
25843 data_tmp = full_data(idata)
25844 data_tmp = ishft(data_tmp, 29)
25845 pack_tmp = ior(pack_tmp, data_tmp)
25846 pack_tmp = ishft(pack_tmp, -16)
25848 data_tmp = full_data(idata)
25849 data_tmp = ishft(data_tmp, 29)
25850 data_tmp = iand(data_tmp, mask_left(16))
25851 pack_tmp = ior(pack_tmp, data_tmp)
25853 packed_data(ipack) = pack_tmp
25854 data_tmp = full_data(idata)
25855 pack_tmp = ishft(data_tmp, 45)
25856 pack_tmp = ishft(pack_tmp, -35)
25858 data_tmp = full_data(idata)
25859 data_tmp = ishft(data_tmp, 29)
25860 pack_tmp = ior(pack_tmp, data_tmp)
25861 pack_tmp = ishft(pack_tmp, -10)
25863 data_tmp = full_data(idata)
25864 data_tmp = ishft(data_tmp, 29)
25865 data_tmp = iand(data_tmp, mask_left(10))
25866 pack_tmp = ior(pack_tmp, data_tmp)
25868 packed_data(ipack) = pack_tmp
25869 data_tmp = full_data(idata)
25870 pack_tmp = ishft(data_tmp, 39)
25871 pack_tmp = ishft(pack_tmp, -35)
25873 data_tmp = full_data(idata)
25874 data_tmp = ishft(data_tmp, 29)
25875 pack_tmp = ior(pack_tmp, data_tmp)
25876 pack_tmp = ishft(pack_tmp, -4)
25878 data_tmp = full_data(idata)
25879 data_tmp = ishft(data_tmp, 29)
25880 data_tmp = iand(data_tmp, mask_left(4))
25881 pack_tmp = ior(pack_tmp, data_tmp)
25883 packed_data(ipack) = pack_tmp
25884 data_tmp = full_data(idata)
25885 pack_tmp = ishft(data_tmp, 33)
25886 pack_tmp = ishft(pack_tmp, -33)
25888 data_tmp = full_data(idata)
25889 data_tmp = ishft(data_tmp, 29)
25890 data_tmp = iand(data_tmp, mask_left(33))
25891 pack_tmp = ior(pack_tmp, data_tmp)
25893 packed_data(ipack) = pack_tmp
25894 data_tmp = full_data(idata)
25895 pack_tmp = ishft(data_tmp, 62)
25896 pack_tmp = ishft(pack_tmp, -35)
25898 data_tmp = full_data(idata)
25899 data_tmp = ishft(data_tmp, 29)
25900 pack_tmp = ior(pack_tmp, data_tmp)
25901 pack_tmp = ishft(pack_tmp, -27)
25903 data_tmp = full_data(idata)
25904 data_tmp = ishft(data_tmp, 29)
25905 data_tmp = iand(data_tmp, mask_left(27))
25906 pack_tmp = ior(pack_tmp, data_tmp)
25908 packed_data(ipack) = pack_tmp
25909 data_tmp = full_data(idata)
25910 pack_tmp = ishft(data_tmp, 56)
25911 pack_tmp = ishft(pack_tmp, -35)
25913 data_tmp = full_data(idata)
25914 data_tmp = ishft(data_tmp, 29)
25915 pack_tmp = ior(pack_tmp, data_tmp)
25916 pack_tmp = ishft(pack_tmp, -21)
25918 data_tmp = full_data(idata)
25919 data_tmp = ishft(data_tmp, 29)
25920 data_tmp = iand(data_tmp, mask_left(21))
25921 pack_tmp = ior(pack_tmp, data_tmp)
25923 packed_data(ipack) = pack_tmp
25924 data_tmp = full_data(idata)
25925 pack_tmp = ishft(data_tmp, 50)
25926 pack_tmp = ishft(pack_tmp, -35)
25928 data_tmp = full_data(idata)
25929 data_tmp = ishft(data_tmp, 29)
25930 pack_tmp = ior(pack_tmp, data_tmp)
25931 pack_tmp = ishft(pack_tmp, -15)
25933 data_tmp = full_data(idata)
25934 data_tmp = ishft(data_tmp, 29)
25935 data_tmp = iand(data_tmp, mask_left(15))
25936 pack_tmp = ior(pack_tmp, data_tmp)
25938 packed_data(ipack) = pack_tmp
25939 data_tmp = full_data(idata)
25940 pack_tmp = ishft(data_tmp, 44)
25941 pack_tmp = ishft(pack_tmp, -35)
25943 data_tmp = full_data(idata)
25944 data_tmp = ishft(data_tmp, 29)
25945 pack_tmp = ior(pack_tmp, data_tmp)
25946 pack_tmp = ishft(pack_tmp, -9)
25948 data_tmp = full_data(idata)
25949 data_tmp = ishft(data_tmp, 29)
25950 data_tmp = iand(data_tmp, mask_left(9))
25951 pack_tmp = ior(pack_tmp, data_tmp)
25953 packed_data(ipack) = pack_tmp
25954 data_tmp = full_data(idata)
25955 pack_tmp = ishft(data_tmp, 38)
25956 pack_tmp = ishft(pack_tmp, -35)
25958 data_tmp = full_data(idata)
25959 data_tmp = ishft(data_tmp, 29)
25960 pack_tmp = ior(pack_tmp, data_tmp)
25961 pack_tmp = ishft(pack_tmp, -3)
25963 data_tmp = full_data(idata)
25964 data_tmp = ishft(data_tmp, 29)
25965 data_tmp = iand(data_tmp, mask_left(3))
25966 pack_tmp = ior(pack_tmp, data_tmp)
25968 packed_data(ipack) = pack_tmp
25969 data_tmp = full_data(idata)
25970 pack_tmp = ishft(data_tmp, 32)
25971 pack_tmp = ishft(pack_tmp, -32)
25973 data_tmp = full_data(idata)
25974 data_tmp = ishft(data_tmp, 29)
25975 data_tmp = iand(data_tmp, mask_left(32))
25976 pack_tmp = ior(pack_tmp, data_tmp)
25978 packed_data(ipack) = pack_tmp
25979 data_tmp = full_data(idata)
25980 pack_tmp = ishft(data_tmp, 61)
25981 pack_tmp = ishft(pack_tmp, -35)
25983 data_tmp = full_data(idata)
25984 data_tmp = ishft(data_tmp, 29)
25985 pack_tmp = ior(pack_tmp, data_tmp)
25986 pack_tmp = ishft(pack_tmp, -26)
25988 data_tmp = full_data(idata)
25989 data_tmp = ishft(data_tmp, 29)
25990 data_tmp = iand(data_tmp, mask_left(26))
25991 pack_tmp = ior(pack_tmp, data_tmp)
25993 packed_data(ipack) = pack_tmp
25994 data_tmp = full_data(idata)
25995 pack_tmp = ishft(data_tmp, 55)
25996 pack_tmp = ishft(pack_tmp, -35)
25998 data_tmp = full_data(idata)
25999 data_tmp = ishft(data_tmp, 29)
26000 pack_tmp = ior(pack_tmp, data_tmp)
26001 pack_tmp = ishft(pack_tmp, -20)
26003 data_tmp = full_data(idata)
26004 data_tmp = ishft(data_tmp, 29)
26005 data_tmp = iand(data_tmp, mask_left(20))
26006 pack_tmp = ior(pack_tmp, data_tmp)
26008 packed_data(ipack) = pack_tmp
26009 data_tmp = full_data(idata)
26010 pack_tmp = ishft(data_tmp, 49)
26011 pack_tmp = ishft(pack_tmp, -35)
26013 data_tmp = full_data(idata)
26014 data_tmp = ishft(data_tmp, 29)
26015 pack_tmp = ior(pack_tmp, data_tmp)
26016 pack_tmp = ishft(pack_tmp, -14)
26018 data_tmp = full_data(idata)
26019 data_tmp = ishft(data_tmp, 29)
26020 data_tmp = iand(data_tmp, mask_left(14))
26021 pack_tmp = ior(pack_tmp, data_tmp)
26023 packed_data(ipack) = pack_tmp
26024 data_tmp = full_data(idata)
26025 pack_tmp = ishft(data_tmp, 43)
26026 pack_tmp = ishft(pack_tmp, -35)
26028 data_tmp = full_data(idata)
26029 data_tmp = ishft(data_tmp, 29)
26030 pack_tmp = ior(pack_tmp, data_tmp)
26031 pack_tmp = ishft(pack_tmp, -8)
26033 data_tmp = full_data(idata)
26034 data_tmp = ishft(data_tmp, 29)
26035 data_tmp = iand(data_tmp, mask_left(8))
26036 pack_tmp = ior(pack_tmp, data_tmp)
26038 packed_data(ipack) = pack_tmp
26039 data_tmp = full_data(idata)
26040 pack_tmp = ishft(data_tmp, 37)
26041 pack_tmp = ishft(pack_tmp, -35)
26043 data_tmp = full_data(idata)
26044 data_tmp = ishft(data_tmp, 29)
26045 pack_tmp = ior(pack_tmp, data_tmp)
26046 pack_tmp = ishft(pack_tmp, -2)
26048 data_tmp = full_data(idata)
26049 data_tmp = ishft(data_tmp, 29)
26050 data_tmp = iand(data_tmp, mask_left(2))
26051 pack_tmp = ior(pack_tmp, data_tmp)
26053 packed_data(ipack) = pack_tmp
26054 data_tmp = full_data(idata)
26055 pack_tmp = ishft(data_tmp, 31)
26056 pack_tmp = ishft(pack_tmp, -31)
26058 data_tmp = full_data(idata)
26059 data_tmp = ishft(data_tmp, 29)
26060 data_tmp = iand(data_tmp, mask_left(31))
26061 pack_tmp = ior(pack_tmp, data_tmp)
26063 packed_data(ipack) = pack_tmp
26064 data_tmp = full_data(idata)
26065 pack_tmp = ishft(data_tmp, 60)
26066 pack_tmp = ishft(pack_tmp, -35)
26068 data_tmp = full_data(idata)
26069 data_tmp = ishft(data_tmp, 29)
26070 pack_tmp = ior(pack_tmp, data_tmp)
26071 pack_tmp = ishft(pack_tmp, -25)
26073 data_tmp = full_data(idata)
26074 data_tmp = ishft(data_tmp, 29)
26075 data_tmp = iand(data_tmp, mask_left(25))
26076 pack_tmp = ior(pack_tmp, data_tmp)
26078 packed_data(ipack) = pack_tmp
26079 data_tmp = full_data(idata)
26080 pack_tmp = ishft(data_tmp, 54)
26081 pack_tmp = ishft(pack_tmp, -35)
26083 data_tmp = full_data(idata)
26084 data_tmp = ishft(data_tmp, 29)
26085 pack_tmp = ior(pack_tmp, data_tmp)
26086 pack_tmp = ishft(pack_tmp, -19)
26088 data_tmp = full_data(idata)
26089 data_tmp = ishft(data_tmp, 29)
26090 data_tmp = iand(data_tmp, mask_left(19))
26091 pack_tmp = ior(pack_tmp, data_tmp)
26093 packed_data(ipack) = pack_tmp
26094 data_tmp = full_data(idata)
26095 pack_tmp = ishft(data_tmp, 48)
26096 pack_tmp = ishft(pack_tmp, -35)
26098 data_tmp = full_data(idata)
26099 data_tmp = ishft(data_tmp, 29)
26100 pack_tmp = ior(pack_tmp, data_tmp)
26101 pack_tmp = ishft(pack_tmp, -13)
26103 data_tmp = full_data(idata)
26104 data_tmp = ishft(data_tmp, 29)
26105 data_tmp = iand(data_tmp, mask_left(13))
26106 pack_tmp = ior(pack_tmp, data_tmp)
26108 packed_data(ipack) = pack_tmp
26109 data_tmp = full_data(idata)
26110 pack_tmp = ishft(data_tmp, 42)
26111 pack_tmp = ishft(pack_tmp, -35)
26113 data_tmp = full_data(idata)
26114 data_tmp = ishft(data_tmp, 29)
26115 pack_tmp = ior(pack_tmp, data_tmp)
26116 pack_tmp = ishft(pack_tmp, -7)
26118 data_tmp = full_data(idata)
26119 data_tmp = ishft(data_tmp, 29)
26120 data_tmp = iand(data_tmp, mask_left(7))
26121 pack_tmp = ior(pack_tmp, data_tmp)
26123 packed_data(ipack) = pack_tmp
26124 data_tmp = full_data(idata)
26125 pack_tmp = ishft(data_tmp, 36)
26126 pack_tmp = ishft(pack_tmp, -35)
26128 data_tmp = full_data(idata)
26129 data_tmp = ishft(data_tmp, 29)
26130 pack_tmp = ior(pack_tmp, data_tmp)
26131 pack_tmp = ishft(pack_tmp, -1)
26133 data_tmp = full_data(idata)
26134 data_tmp = ishft(data_tmp, 29)
26135 data_tmp = iand(data_tmp, mask_left(1))
26136 pack_tmp = ior(pack_tmp, data_tmp)
26138 packed_data(ipack) = pack_tmp
26139 data_tmp = full_data(idata)
26140 pack_tmp = ishft(data_tmp, 30)
26141 pack_tmp = ishft(pack_tmp, -30)
26143 data_tmp = full_data(idata)
26144 data_tmp = ishft(data_tmp, 29)
26145 data_tmp = iand(data_tmp, mask_left(30))
26146 pack_tmp = ior(pack_tmp, data_tmp)
26148 packed_data(ipack) = pack_tmp
26149 data_tmp = full_data(idata)
26150 pack_tmp = ishft(data_tmp, 59)
26151 pack_tmp = ishft(pack_tmp, -35)
26153 data_tmp = full_data(idata)
26154 data_tmp = ishft(data_tmp, 29)
26155 pack_tmp = ior(pack_tmp, data_tmp)
26156 pack_tmp = ishft(pack_tmp, -24)
26158 data_tmp = full_data(idata)
26159 data_tmp = ishft(data_tmp, 29)
26160 data_tmp = iand(data_tmp, mask_left(24))
26161 pack_tmp = ior(pack_tmp, data_tmp)
26163 packed_data(ipack) = pack_tmp
26164 data_tmp = full_data(idata)
26165 pack_tmp = ishft(data_tmp, 53)
26166 pack_tmp = ishft(pack_tmp, -35)
26168 data_tmp = full_data(idata)
26169 data_tmp = ishft(data_tmp, 29)
26170 pack_tmp = ior(pack_tmp, data_tmp)
26171 pack_tmp = ishft(pack_tmp, -18)
26173 data_tmp = full_data(idata)
26174 data_tmp = ishft(data_tmp, 29)
26175 data_tmp = iand(data_tmp, mask_left(18))
26176 pack_tmp = ior(pack_tmp, data_tmp)
26178 packed_data(ipack) = pack_tmp
26179 data_tmp = full_data(idata)
26180 pack_tmp = ishft(data_tmp, 47)
26181 pack_tmp = ishft(pack_tmp, -35)
26183 data_tmp = full_data(idata)
26184 data_tmp = ishft(data_tmp, 29)
26185 pack_tmp = ior(pack_tmp, data_tmp)
26186 pack_tmp = ishft(pack_tmp, -12)
26188 data_tmp = full_data(idata)
26189 data_tmp = ishft(data_tmp, 29)
26190 data_tmp = iand(data_tmp, mask_left(12))
26191 pack_tmp = ior(pack_tmp, data_tmp)
26193 packed_data(ipack) = pack_tmp
26194 data_tmp = full_data(idata)
26195 pack_tmp = ishft(data_tmp, 41)
26196 pack_tmp = ishft(pack_tmp, -35)
26198 data_tmp = full_data(idata)
26199 data_tmp = ishft(data_tmp, 29)
26200 pack_tmp = ior(pack_tmp, data_tmp)
26201 pack_tmp = ishft(pack_tmp, -6)
26203 data_tmp = full_data(idata)
26204 data_tmp = ishft(data_tmp, 29)
26205 data_tmp = iand(data_tmp, mask_left(6))
26206 pack_tmp = ior(pack_tmp, data_tmp)
26208 packed_data(ipack) = pack_tmp
26209 data_tmp = full_data(idata)
26210 pack_tmp = ishft(data_tmp, 35)
26211 pack_tmp = ishft(pack_tmp, -35)
26213 data_tmp = full_data(idata)
26214 data_tmp = ishft(data_tmp, 29)
26215 pack_tmp = ior(pack_tmp, data_tmp)
26216 pack_tmp = ishft(pack_tmp, 0)
26217 pack_tmp = ishft(pack_tmp, 0)
26219 packed_data(ipack) = pack_tmp
26221 IF (ndata_rep < ndata)
THEN
26222 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
26224 END SUBROUTINE ints2bits_35
26232 SUBROUTINE bits2ints_35(Ndata, packed_data, full_data)
26233 INTEGER,
INTENT(IN) :: Ndata
26234 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
26235 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
26237 INTEGER,
PARAMETER :: Nbits = 35
26239 INTEGER :: idata, ipack, kdata, Ndata_rep
26240 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
26245 ndata_rep = (ndata/64)*64
26246 DO kdata = 1, ndata_rep, 64
26248 data_tmp = ishft(pack_tmp, 35)
26250 pack_tmp = packed_data(ipack)
26251 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
26252 pack_tmp = ishft(pack_tmp, -35)
26254 data_tmp = ishft(pack_tmp, 6)
26256 pack_tmp = packed_data(ipack)
26257 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
26258 pack_tmp = ishft(pack_tmp, -6)
26260 data_tmp = iand(pack_tmp, mask_right(nbits))
26261 full_data(idata) = data_tmp
26262 pack_tmp = ishft(pack_tmp, -nbits)
26264 data_tmp = ishft(pack_tmp, 12)
26266 pack_tmp = packed_data(ipack)
26267 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
26268 pack_tmp = ishft(pack_tmp, -12)
26270 data_tmp = iand(pack_tmp, mask_right(nbits))
26271 full_data(idata) = data_tmp
26272 pack_tmp = ishft(pack_tmp, -nbits)
26274 data_tmp = ishft(pack_tmp, 18)
26276 pack_tmp = packed_data(ipack)
26277 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
26278 pack_tmp = ishft(pack_tmp, -18)
26280 data_tmp = iand(pack_tmp, mask_right(nbits))
26281 full_data(idata) = data_tmp
26282 pack_tmp = ishft(pack_tmp, -nbits)
26284 data_tmp = ishft(pack_tmp, 24)
26286 pack_tmp = packed_data(ipack)
26287 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
26288 pack_tmp = ishft(pack_tmp, -24)
26290 data_tmp = iand(pack_tmp, mask_right(nbits))
26291 full_data(idata) = data_tmp
26292 pack_tmp = ishft(pack_tmp, -nbits)
26294 data_tmp = ishft(pack_tmp, 30)
26296 pack_tmp = packed_data(ipack)
26297 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
26298 pack_tmp = ishft(pack_tmp, -30)
26300 data_tmp = ishft(pack_tmp, 1)
26302 pack_tmp = packed_data(ipack)
26303 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
26304 pack_tmp = ishft(pack_tmp, -1)
26306 data_tmp = iand(pack_tmp, mask_right(nbits))
26307 full_data(idata) = data_tmp
26308 pack_tmp = ishft(pack_tmp, -nbits)
26310 data_tmp = ishft(pack_tmp, 7)
26312 pack_tmp = packed_data(ipack)
26313 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
26314 pack_tmp = ishft(pack_tmp, -7)
26316 data_tmp = iand(pack_tmp, mask_right(nbits))
26317 full_data(idata) = data_tmp
26318 pack_tmp = ishft(pack_tmp, -nbits)
26320 data_tmp = ishft(pack_tmp, 13)
26322 pack_tmp = packed_data(ipack)
26323 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
26324 pack_tmp = ishft(pack_tmp, -13)
26326 data_tmp = iand(pack_tmp, mask_right(nbits))
26327 full_data(idata) = data_tmp
26328 pack_tmp = ishft(pack_tmp, -nbits)
26330 data_tmp = ishft(pack_tmp, 19)
26332 pack_tmp = packed_data(ipack)
26333 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
26334 pack_tmp = ishft(pack_tmp, -19)
26336 data_tmp = iand(pack_tmp, mask_right(nbits))
26337 full_data(idata) = data_tmp
26338 pack_tmp = ishft(pack_tmp, -nbits)
26340 data_tmp = ishft(pack_tmp, 25)
26342 pack_tmp = packed_data(ipack)
26343 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
26344 pack_tmp = ishft(pack_tmp, -25)
26346 data_tmp = iand(pack_tmp, mask_right(nbits))
26347 full_data(idata) = data_tmp
26348 pack_tmp = ishft(pack_tmp, -nbits)
26350 data_tmp = ishft(pack_tmp, 31)
26352 pack_tmp = packed_data(ipack)
26353 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
26354 pack_tmp = ishft(pack_tmp, -31)
26356 data_tmp = ishft(pack_tmp, 2)
26358 pack_tmp = packed_data(ipack)
26359 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
26360 pack_tmp = ishft(pack_tmp, -2)
26362 data_tmp = iand(pack_tmp, mask_right(nbits))
26363 full_data(idata) = data_tmp
26364 pack_tmp = ishft(pack_tmp, -nbits)
26366 data_tmp = ishft(pack_tmp, 8)
26368 pack_tmp = packed_data(ipack)
26369 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
26370 pack_tmp = ishft(pack_tmp, -8)
26372 data_tmp = iand(pack_tmp, mask_right(nbits))
26373 full_data(idata) = data_tmp
26374 pack_tmp = ishft(pack_tmp, -nbits)
26376 data_tmp = ishft(pack_tmp, 14)
26378 pack_tmp = packed_data(ipack)
26379 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
26380 pack_tmp = ishft(pack_tmp, -14)
26382 data_tmp = iand(pack_tmp, mask_right(nbits))
26383 full_data(idata) = data_tmp
26384 pack_tmp = ishft(pack_tmp, -nbits)
26386 data_tmp = ishft(pack_tmp, 20)
26388 pack_tmp = packed_data(ipack)
26389 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
26390 pack_tmp = ishft(pack_tmp, -20)
26392 data_tmp = iand(pack_tmp, mask_right(nbits))
26393 full_data(idata) = data_tmp
26394 pack_tmp = ishft(pack_tmp, -nbits)
26396 data_tmp = ishft(pack_tmp, 26)
26398 pack_tmp = packed_data(ipack)
26399 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
26400 pack_tmp = ishft(pack_tmp, -26)
26402 data_tmp = iand(pack_tmp, mask_right(nbits))
26403 full_data(idata) = data_tmp
26404 pack_tmp = ishft(pack_tmp, -nbits)
26406 data_tmp = ishft(pack_tmp, 32)
26408 pack_tmp = packed_data(ipack)
26409 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
26410 pack_tmp = ishft(pack_tmp, -32)
26412 data_tmp = ishft(pack_tmp, 3)
26414 pack_tmp = packed_data(ipack)
26415 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
26416 pack_tmp = ishft(pack_tmp, -3)
26418 data_tmp = iand(pack_tmp, mask_right(nbits))
26419 full_data(idata) = data_tmp
26420 pack_tmp = ishft(pack_tmp, -nbits)
26422 data_tmp = ishft(pack_tmp, 9)
26424 pack_tmp = packed_data(ipack)
26425 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
26426 pack_tmp = ishft(pack_tmp, -9)
26428 data_tmp = iand(pack_tmp, mask_right(nbits))
26429 full_data(idata) = data_tmp
26430 pack_tmp = ishft(pack_tmp, -nbits)
26432 data_tmp = ishft(pack_tmp, 15)
26434 pack_tmp = packed_data(ipack)
26435 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
26436 pack_tmp = ishft(pack_tmp, -15)
26438 data_tmp = iand(pack_tmp, mask_right(nbits))
26439 full_data(idata) = data_tmp
26440 pack_tmp = ishft(pack_tmp, -nbits)
26442 data_tmp = ishft(pack_tmp, 21)
26444 pack_tmp = packed_data(ipack)
26445 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
26446 pack_tmp = ishft(pack_tmp, -21)
26448 data_tmp = iand(pack_tmp, mask_right(nbits))
26449 full_data(idata) = data_tmp
26450 pack_tmp = ishft(pack_tmp, -nbits)
26452 data_tmp = ishft(pack_tmp, 27)
26454 pack_tmp = packed_data(ipack)
26455 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
26456 pack_tmp = ishft(pack_tmp, -27)
26458 data_tmp = iand(pack_tmp, mask_right(nbits))
26459 full_data(idata) = data_tmp
26460 pack_tmp = ishft(pack_tmp, -nbits)
26462 data_tmp = ishft(pack_tmp, 33)
26464 pack_tmp = packed_data(ipack)
26465 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
26466 pack_tmp = ishft(pack_tmp, -33)
26468 data_tmp = ishft(pack_tmp, 4)
26470 pack_tmp = packed_data(ipack)
26471 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
26472 pack_tmp = ishft(pack_tmp, -4)
26474 data_tmp = iand(pack_tmp, mask_right(nbits))
26475 full_data(idata) = data_tmp
26476 pack_tmp = ishft(pack_tmp, -nbits)
26478 data_tmp = ishft(pack_tmp, 10)
26480 pack_tmp = packed_data(ipack)
26481 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
26482 pack_tmp = ishft(pack_tmp, -10)
26484 data_tmp = iand(pack_tmp, mask_right(nbits))
26485 full_data(idata) = data_tmp
26486 pack_tmp = ishft(pack_tmp, -nbits)
26488 data_tmp = ishft(pack_tmp, 16)
26490 pack_tmp = packed_data(ipack)
26491 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
26492 pack_tmp = ishft(pack_tmp, -16)
26494 data_tmp = iand(pack_tmp, mask_right(nbits))
26495 full_data(idata) = data_tmp
26496 pack_tmp = ishft(pack_tmp, -nbits)
26498 data_tmp = ishft(pack_tmp, 22)
26500 pack_tmp = packed_data(ipack)
26501 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
26502 pack_tmp = ishft(pack_tmp, -22)
26504 data_tmp = iand(pack_tmp, mask_right(nbits))
26505 full_data(idata) = data_tmp
26506 pack_tmp = ishft(pack_tmp, -nbits)
26508 data_tmp = ishft(pack_tmp, 28)
26510 pack_tmp = packed_data(ipack)
26511 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
26512 pack_tmp = ishft(pack_tmp, -28)
26514 data_tmp = iand(pack_tmp, mask_right(nbits))
26515 full_data(idata) = data_tmp
26516 pack_tmp = ishft(pack_tmp, -nbits)
26518 data_tmp = ishft(pack_tmp, 34)
26520 pack_tmp = packed_data(ipack)
26521 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
26522 pack_tmp = ishft(pack_tmp, -34)
26524 data_tmp = ishft(pack_tmp, 5)
26526 pack_tmp = packed_data(ipack)
26527 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
26528 pack_tmp = ishft(pack_tmp, -5)
26530 data_tmp = iand(pack_tmp, mask_right(nbits))
26531 full_data(idata) = data_tmp
26532 pack_tmp = ishft(pack_tmp, -nbits)
26534 data_tmp = ishft(pack_tmp, 11)
26536 pack_tmp = packed_data(ipack)
26537 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
26538 pack_tmp = ishft(pack_tmp, -11)
26540 data_tmp = iand(pack_tmp, mask_right(nbits))
26541 full_data(idata) = data_tmp
26542 pack_tmp = ishft(pack_tmp, -nbits)
26544 data_tmp = ishft(pack_tmp, 17)
26546 pack_tmp = packed_data(ipack)
26547 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
26548 pack_tmp = ishft(pack_tmp, -17)
26550 data_tmp = iand(pack_tmp, mask_right(nbits))
26551 full_data(idata) = data_tmp
26552 pack_tmp = ishft(pack_tmp, -nbits)
26554 data_tmp = ishft(pack_tmp, 23)
26556 pack_tmp = packed_data(ipack)
26557 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
26558 pack_tmp = ishft(pack_tmp, -23)
26560 data_tmp = iand(pack_tmp, mask_right(nbits))
26561 full_data(idata) = data_tmp
26562 pack_tmp = ishft(pack_tmp, -nbits)
26564 data_tmp = ishft(pack_tmp, 29)
26566 pack_tmp = packed_data(ipack)
26567 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
26568 pack_tmp = ishft(pack_tmp, -29)
26570 data_tmp = iand(pack_tmp, mask_right(nbits))
26571 full_data(idata) = data_tmp
26572 pack_tmp = ishft(pack_tmp, -nbits)
26574 IF (ndata_rep < ndata)
THEN
26575 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
26577 END SUBROUTINE bits2ints_35
26585 SUBROUTINE ints2bits_36(Ndata, packed_data, full_data)
26586 INTEGER,
INTENT(IN) :: Ndata
26587 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
26588 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
26590 INTEGER,
PARAMETER :: Nbits = 36
26592 INTEGER :: idata, ipack, kdata, Ndata_rep
26593 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
26597 ndata_rep = (ndata/64)*64
26598 DO kdata = 1, ndata_rep, 64
26601 data_tmp = full_data(idata)
26602 data_tmp = ishft(data_tmp, 28)
26603 pack_tmp = ior(pack_tmp, data_tmp)
26604 pack_tmp = ishft(pack_tmp, -28)
26606 data_tmp = full_data(idata)
26607 data_tmp = ishft(data_tmp, 28)
26608 data_tmp = iand(data_tmp, mask_left(28))
26609 pack_tmp = ior(pack_tmp, data_tmp)
26611 packed_data(ipack) = pack_tmp
26612 data_tmp = full_data(idata)
26613 pack_tmp = ishft(data_tmp, 56)
26614 pack_tmp = ishft(pack_tmp, -36)
26616 data_tmp = full_data(idata)
26617 data_tmp = ishft(data_tmp, 28)
26618 pack_tmp = ior(pack_tmp, data_tmp)
26619 pack_tmp = ishft(pack_tmp, -20)
26621 data_tmp = full_data(idata)
26622 data_tmp = ishft(data_tmp, 28)
26623 data_tmp = iand(data_tmp, mask_left(20))
26624 pack_tmp = ior(pack_tmp, data_tmp)
26626 packed_data(ipack) = pack_tmp
26627 data_tmp = full_data(idata)
26628 pack_tmp = ishft(data_tmp, 48)
26629 pack_tmp = ishft(pack_tmp, -36)
26631 data_tmp = full_data(idata)
26632 data_tmp = ishft(data_tmp, 28)
26633 pack_tmp = ior(pack_tmp, data_tmp)
26634 pack_tmp = ishft(pack_tmp, -12)
26636 data_tmp = full_data(idata)
26637 data_tmp = ishft(data_tmp, 28)
26638 data_tmp = iand(data_tmp, mask_left(12))
26639 pack_tmp = ior(pack_tmp, data_tmp)
26641 packed_data(ipack) = pack_tmp
26642 data_tmp = full_data(idata)
26643 pack_tmp = ishft(data_tmp, 40)
26644 pack_tmp = ishft(pack_tmp, -36)
26646 data_tmp = full_data(idata)
26647 data_tmp = ishft(data_tmp, 28)
26648 pack_tmp = ior(pack_tmp, data_tmp)
26649 pack_tmp = ishft(pack_tmp, -4)
26651 data_tmp = full_data(idata)
26652 data_tmp = ishft(data_tmp, 28)
26653 data_tmp = iand(data_tmp, mask_left(4))
26654 pack_tmp = ior(pack_tmp, data_tmp)
26656 packed_data(ipack) = pack_tmp
26657 data_tmp = full_data(idata)
26658 pack_tmp = ishft(data_tmp, 32)
26659 pack_tmp = ishft(pack_tmp, -32)
26661 data_tmp = full_data(idata)
26662 data_tmp = ishft(data_tmp, 28)
26663 data_tmp = iand(data_tmp, mask_left(32))
26664 pack_tmp = ior(pack_tmp, data_tmp)
26666 packed_data(ipack) = pack_tmp
26667 data_tmp = full_data(idata)
26668 pack_tmp = ishft(data_tmp, 60)
26669 pack_tmp = ishft(pack_tmp, -36)
26671 data_tmp = full_data(idata)
26672 data_tmp = ishft(data_tmp, 28)
26673 pack_tmp = ior(pack_tmp, data_tmp)
26674 pack_tmp = ishft(pack_tmp, -24)
26676 data_tmp = full_data(idata)
26677 data_tmp = ishft(data_tmp, 28)
26678 data_tmp = iand(data_tmp, mask_left(24))
26679 pack_tmp = ior(pack_tmp, data_tmp)
26681 packed_data(ipack) = pack_tmp
26682 data_tmp = full_data(idata)
26683 pack_tmp = ishft(data_tmp, 52)
26684 pack_tmp = ishft(pack_tmp, -36)
26686 data_tmp = full_data(idata)
26687 data_tmp = ishft(data_tmp, 28)
26688 pack_tmp = ior(pack_tmp, data_tmp)
26689 pack_tmp = ishft(pack_tmp, -16)
26691 data_tmp = full_data(idata)
26692 data_tmp = ishft(data_tmp, 28)
26693 data_tmp = iand(data_tmp, mask_left(16))
26694 pack_tmp = ior(pack_tmp, data_tmp)
26696 packed_data(ipack) = pack_tmp
26697 data_tmp = full_data(idata)
26698 pack_tmp = ishft(data_tmp, 44)
26699 pack_tmp = ishft(pack_tmp, -36)
26701 data_tmp = full_data(idata)
26702 data_tmp = ishft(data_tmp, 28)
26703 pack_tmp = ior(pack_tmp, data_tmp)
26704 pack_tmp = ishft(pack_tmp, -8)
26706 data_tmp = full_data(idata)
26707 data_tmp = ishft(data_tmp, 28)
26708 data_tmp = iand(data_tmp, mask_left(8))
26709 pack_tmp = ior(pack_tmp, data_tmp)
26711 packed_data(ipack) = pack_tmp
26712 data_tmp = full_data(idata)
26713 pack_tmp = ishft(data_tmp, 36)
26714 pack_tmp = ishft(pack_tmp, -36)
26716 data_tmp = full_data(idata)
26717 data_tmp = ishft(data_tmp, 28)
26718 pack_tmp = ior(pack_tmp, data_tmp)
26719 pack_tmp = ishft(pack_tmp, 0)
26721 data_tmp = full_data(idata)
26722 data_tmp = ishft(data_tmp, 28)
26723 data_tmp = iand(data_tmp, mask_left(0))
26724 pack_tmp = ior(pack_tmp, data_tmp)
26726 packed_data(ipack) = pack_tmp
26727 data_tmp = full_data(idata)
26728 pack_tmp = ishft(data_tmp, 28)
26729 pack_tmp = ishft(pack_tmp, -28)
26731 data_tmp = full_data(idata)
26732 data_tmp = ishft(data_tmp, 28)
26733 data_tmp = iand(data_tmp, mask_left(28))
26734 pack_tmp = ior(pack_tmp, data_tmp)
26736 packed_data(ipack) = pack_tmp
26737 data_tmp = full_data(idata)
26738 pack_tmp = ishft(data_tmp, 56)
26739 pack_tmp = ishft(pack_tmp, -36)
26741 data_tmp = full_data(idata)
26742 data_tmp = ishft(data_tmp, 28)
26743 pack_tmp = ior(pack_tmp, data_tmp)
26744 pack_tmp = ishft(pack_tmp, -20)
26746 data_tmp = full_data(idata)
26747 data_tmp = ishft(data_tmp, 28)
26748 data_tmp = iand(data_tmp, mask_left(20))
26749 pack_tmp = ior(pack_tmp, data_tmp)
26751 packed_data(ipack) = pack_tmp
26752 data_tmp = full_data(idata)
26753 pack_tmp = ishft(data_tmp, 48)
26754 pack_tmp = ishft(pack_tmp, -36)
26756 data_tmp = full_data(idata)
26757 data_tmp = ishft(data_tmp, 28)
26758 pack_tmp = ior(pack_tmp, data_tmp)
26759 pack_tmp = ishft(pack_tmp, -12)
26761 data_tmp = full_data(idata)
26762 data_tmp = ishft(data_tmp, 28)
26763 data_tmp = iand(data_tmp, mask_left(12))
26764 pack_tmp = ior(pack_tmp, data_tmp)
26766 packed_data(ipack) = pack_tmp
26767 data_tmp = full_data(idata)
26768 pack_tmp = ishft(data_tmp, 40)
26769 pack_tmp = ishft(pack_tmp, -36)
26771 data_tmp = full_data(idata)
26772 data_tmp = ishft(data_tmp, 28)
26773 pack_tmp = ior(pack_tmp, data_tmp)
26774 pack_tmp = ishft(pack_tmp, -4)
26776 data_tmp = full_data(idata)
26777 data_tmp = ishft(data_tmp, 28)
26778 data_tmp = iand(data_tmp, mask_left(4))
26779 pack_tmp = ior(pack_tmp, data_tmp)
26781 packed_data(ipack) = pack_tmp
26782 data_tmp = full_data(idata)
26783 pack_tmp = ishft(data_tmp, 32)
26784 pack_tmp = ishft(pack_tmp, -32)
26786 data_tmp = full_data(idata)
26787 data_tmp = ishft(data_tmp, 28)
26788 data_tmp = iand(data_tmp, mask_left(32))
26789 pack_tmp = ior(pack_tmp, data_tmp)
26791 packed_data(ipack) = pack_tmp
26792 data_tmp = full_data(idata)
26793 pack_tmp = ishft(data_tmp, 60)
26794 pack_tmp = ishft(pack_tmp, -36)
26796 data_tmp = full_data(idata)
26797 data_tmp = ishft(data_tmp, 28)
26798 pack_tmp = ior(pack_tmp, data_tmp)
26799 pack_tmp = ishft(pack_tmp, -24)
26801 data_tmp = full_data(idata)
26802 data_tmp = ishft(data_tmp, 28)
26803 data_tmp = iand(data_tmp, mask_left(24))
26804 pack_tmp = ior(pack_tmp, data_tmp)
26806 packed_data(ipack) = pack_tmp
26807 data_tmp = full_data(idata)
26808 pack_tmp = ishft(data_tmp, 52)
26809 pack_tmp = ishft(pack_tmp, -36)
26811 data_tmp = full_data(idata)
26812 data_tmp = ishft(data_tmp, 28)
26813 pack_tmp = ior(pack_tmp, data_tmp)
26814 pack_tmp = ishft(pack_tmp, -16)
26816 data_tmp = full_data(idata)
26817 data_tmp = ishft(data_tmp, 28)
26818 data_tmp = iand(data_tmp, mask_left(16))
26819 pack_tmp = ior(pack_tmp, data_tmp)
26821 packed_data(ipack) = pack_tmp
26822 data_tmp = full_data(idata)
26823 pack_tmp = ishft(data_tmp, 44)
26824 pack_tmp = ishft(pack_tmp, -36)
26826 data_tmp = full_data(idata)
26827 data_tmp = ishft(data_tmp, 28)
26828 pack_tmp = ior(pack_tmp, data_tmp)
26829 pack_tmp = ishft(pack_tmp, -8)
26831 data_tmp = full_data(idata)
26832 data_tmp = ishft(data_tmp, 28)
26833 data_tmp = iand(data_tmp, mask_left(8))
26834 pack_tmp = ior(pack_tmp, data_tmp)
26836 packed_data(ipack) = pack_tmp
26837 data_tmp = full_data(idata)
26838 pack_tmp = ishft(data_tmp, 36)
26839 pack_tmp = ishft(pack_tmp, -36)
26841 data_tmp = full_data(idata)
26842 data_tmp = ishft(data_tmp, 28)
26843 pack_tmp = ior(pack_tmp, data_tmp)
26844 pack_tmp = ishft(pack_tmp, 0)
26846 data_tmp = full_data(idata)
26847 data_tmp = ishft(data_tmp, 28)
26848 data_tmp = iand(data_tmp, mask_left(0))
26849 pack_tmp = ior(pack_tmp, data_tmp)
26851 packed_data(ipack) = pack_tmp
26852 data_tmp = full_data(idata)
26853 pack_tmp = ishft(data_tmp, 28)
26854 pack_tmp = ishft(pack_tmp, -28)
26856 data_tmp = full_data(idata)
26857 data_tmp = ishft(data_tmp, 28)
26858 data_tmp = iand(data_tmp, mask_left(28))
26859 pack_tmp = ior(pack_tmp, data_tmp)
26861 packed_data(ipack) = pack_tmp
26862 data_tmp = full_data(idata)
26863 pack_tmp = ishft(data_tmp, 56)
26864 pack_tmp = ishft(pack_tmp, -36)
26866 data_tmp = full_data(idata)
26867 data_tmp = ishft(data_tmp, 28)
26868 pack_tmp = ior(pack_tmp, data_tmp)
26869 pack_tmp = ishft(pack_tmp, -20)
26871 data_tmp = full_data(idata)
26872 data_tmp = ishft(data_tmp, 28)
26873 data_tmp = iand(data_tmp, mask_left(20))
26874 pack_tmp = ior(pack_tmp, data_tmp)
26876 packed_data(ipack) = pack_tmp
26877 data_tmp = full_data(idata)
26878 pack_tmp = ishft(data_tmp, 48)
26879 pack_tmp = ishft(pack_tmp, -36)
26881 data_tmp = full_data(idata)
26882 data_tmp = ishft(data_tmp, 28)
26883 pack_tmp = ior(pack_tmp, data_tmp)
26884 pack_tmp = ishft(pack_tmp, -12)
26886 data_tmp = full_data(idata)
26887 data_tmp = ishft(data_tmp, 28)
26888 data_tmp = iand(data_tmp, mask_left(12))
26889 pack_tmp = ior(pack_tmp, data_tmp)
26891 packed_data(ipack) = pack_tmp
26892 data_tmp = full_data(idata)
26893 pack_tmp = ishft(data_tmp, 40)
26894 pack_tmp = ishft(pack_tmp, -36)
26896 data_tmp = full_data(idata)
26897 data_tmp = ishft(data_tmp, 28)
26898 pack_tmp = ior(pack_tmp, data_tmp)
26899 pack_tmp = ishft(pack_tmp, -4)
26901 data_tmp = full_data(idata)
26902 data_tmp = ishft(data_tmp, 28)
26903 data_tmp = iand(data_tmp, mask_left(4))
26904 pack_tmp = ior(pack_tmp, data_tmp)
26906 packed_data(ipack) = pack_tmp
26907 data_tmp = full_data(idata)
26908 pack_tmp = ishft(data_tmp, 32)
26909 pack_tmp = ishft(pack_tmp, -32)
26911 data_tmp = full_data(idata)
26912 data_tmp = ishft(data_tmp, 28)
26913 data_tmp = iand(data_tmp, mask_left(32))
26914 pack_tmp = ior(pack_tmp, data_tmp)
26916 packed_data(ipack) = pack_tmp
26917 data_tmp = full_data(idata)
26918 pack_tmp = ishft(data_tmp, 60)
26919 pack_tmp = ishft(pack_tmp, -36)
26921 data_tmp = full_data(idata)
26922 data_tmp = ishft(data_tmp, 28)
26923 pack_tmp = ior(pack_tmp, data_tmp)
26924 pack_tmp = ishft(pack_tmp, -24)
26926 data_tmp = full_data(idata)
26927 data_tmp = ishft(data_tmp, 28)
26928 data_tmp = iand(data_tmp, mask_left(24))
26929 pack_tmp = ior(pack_tmp, data_tmp)
26931 packed_data(ipack) = pack_tmp
26932 data_tmp = full_data(idata)
26933 pack_tmp = ishft(data_tmp, 52)
26934 pack_tmp = ishft(pack_tmp, -36)
26936 data_tmp = full_data(idata)
26937 data_tmp = ishft(data_tmp, 28)
26938 pack_tmp = ior(pack_tmp, data_tmp)
26939 pack_tmp = ishft(pack_tmp, -16)
26941 data_tmp = full_data(idata)
26942 data_tmp = ishft(data_tmp, 28)
26943 data_tmp = iand(data_tmp, mask_left(16))
26944 pack_tmp = ior(pack_tmp, data_tmp)
26946 packed_data(ipack) = pack_tmp
26947 data_tmp = full_data(idata)
26948 pack_tmp = ishft(data_tmp, 44)
26949 pack_tmp = ishft(pack_tmp, -36)
26951 data_tmp = full_data(idata)
26952 data_tmp = ishft(data_tmp, 28)
26953 pack_tmp = ior(pack_tmp, data_tmp)
26954 pack_tmp = ishft(pack_tmp, -8)
26956 data_tmp = full_data(idata)
26957 data_tmp = ishft(data_tmp, 28)
26958 data_tmp = iand(data_tmp, mask_left(8))
26959 pack_tmp = ior(pack_tmp, data_tmp)
26961 packed_data(ipack) = pack_tmp
26962 data_tmp = full_data(idata)
26963 pack_tmp = ishft(data_tmp, 36)
26964 pack_tmp = ishft(pack_tmp, -36)
26966 data_tmp = full_data(idata)
26967 data_tmp = ishft(data_tmp, 28)
26968 pack_tmp = ior(pack_tmp, data_tmp)
26969 pack_tmp = ishft(pack_tmp, 0)
26971 data_tmp = full_data(idata)
26972 data_tmp = ishft(data_tmp, 28)
26973 data_tmp = iand(data_tmp, mask_left(0))
26974 pack_tmp = ior(pack_tmp, data_tmp)
26976 packed_data(ipack) = pack_tmp
26977 data_tmp = full_data(idata)
26978 pack_tmp = ishft(data_tmp, 28)
26979 pack_tmp = ishft(pack_tmp, -28)
26981 data_tmp = full_data(idata)
26982 data_tmp = ishft(data_tmp, 28)
26983 data_tmp = iand(data_tmp, mask_left(28))
26984 pack_tmp = ior(pack_tmp, data_tmp)
26986 packed_data(ipack) = pack_tmp
26987 data_tmp = full_data(idata)
26988 pack_tmp = ishft(data_tmp, 56)
26989 pack_tmp = ishft(pack_tmp, -36)
26991 data_tmp = full_data(idata)
26992 data_tmp = ishft(data_tmp, 28)
26993 pack_tmp = ior(pack_tmp, data_tmp)
26994 pack_tmp = ishft(pack_tmp, -20)
26996 data_tmp = full_data(idata)
26997 data_tmp = ishft(data_tmp, 28)
26998 data_tmp = iand(data_tmp, mask_left(20))
26999 pack_tmp = ior(pack_tmp, data_tmp)
27001 packed_data(ipack) = pack_tmp
27002 data_tmp = full_data(idata)
27003 pack_tmp = ishft(data_tmp, 48)
27004 pack_tmp = ishft(pack_tmp, -36)
27006 data_tmp = full_data(idata)
27007 data_tmp = ishft(data_tmp, 28)
27008 pack_tmp = ior(pack_tmp, data_tmp)
27009 pack_tmp = ishft(pack_tmp, -12)
27011 data_tmp = full_data(idata)
27012 data_tmp = ishft(data_tmp, 28)
27013 data_tmp = iand(data_tmp, mask_left(12))
27014 pack_tmp = ior(pack_tmp, data_tmp)
27016 packed_data(ipack) = pack_tmp
27017 data_tmp = full_data(idata)
27018 pack_tmp = ishft(data_tmp, 40)
27019 pack_tmp = ishft(pack_tmp, -36)
27021 data_tmp = full_data(idata)
27022 data_tmp = ishft(data_tmp, 28)
27023 pack_tmp = ior(pack_tmp, data_tmp)
27024 pack_tmp = ishft(pack_tmp, -4)
27026 data_tmp = full_data(idata)
27027 data_tmp = ishft(data_tmp, 28)
27028 data_tmp = iand(data_tmp, mask_left(4))
27029 pack_tmp = ior(pack_tmp, data_tmp)
27031 packed_data(ipack) = pack_tmp
27032 data_tmp = full_data(idata)
27033 pack_tmp = ishft(data_tmp, 32)
27034 pack_tmp = ishft(pack_tmp, -32)
27036 data_tmp = full_data(idata)
27037 data_tmp = ishft(data_tmp, 28)
27038 data_tmp = iand(data_tmp, mask_left(32))
27039 pack_tmp = ior(pack_tmp, data_tmp)
27041 packed_data(ipack) = pack_tmp
27042 data_tmp = full_data(idata)
27043 pack_tmp = ishft(data_tmp, 60)
27044 pack_tmp = ishft(pack_tmp, -36)
27046 data_tmp = full_data(idata)
27047 data_tmp = ishft(data_tmp, 28)
27048 pack_tmp = ior(pack_tmp, data_tmp)
27049 pack_tmp = ishft(pack_tmp, -24)
27051 data_tmp = full_data(idata)
27052 data_tmp = ishft(data_tmp, 28)
27053 data_tmp = iand(data_tmp, mask_left(24))
27054 pack_tmp = ior(pack_tmp, data_tmp)
27056 packed_data(ipack) = pack_tmp
27057 data_tmp = full_data(idata)
27058 pack_tmp = ishft(data_tmp, 52)
27059 pack_tmp = ishft(pack_tmp, -36)
27061 data_tmp = full_data(idata)
27062 data_tmp = ishft(data_tmp, 28)
27063 pack_tmp = ior(pack_tmp, data_tmp)
27064 pack_tmp = ishft(pack_tmp, -16)
27066 data_tmp = full_data(idata)
27067 data_tmp = ishft(data_tmp, 28)
27068 data_tmp = iand(data_tmp, mask_left(16))
27069 pack_tmp = ior(pack_tmp, data_tmp)
27071 packed_data(ipack) = pack_tmp
27072 data_tmp = full_data(idata)
27073 pack_tmp = ishft(data_tmp, 44)
27074 pack_tmp = ishft(pack_tmp, -36)
27076 data_tmp = full_data(idata)
27077 data_tmp = ishft(data_tmp, 28)
27078 pack_tmp = ior(pack_tmp, data_tmp)
27079 pack_tmp = ishft(pack_tmp, -8)
27081 data_tmp = full_data(idata)
27082 data_tmp = ishft(data_tmp, 28)
27083 data_tmp = iand(data_tmp, mask_left(8))
27084 pack_tmp = ior(pack_tmp, data_tmp)
27086 packed_data(ipack) = pack_tmp
27087 data_tmp = full_data(idata)
27088 pack_tmp = ishft(data_tmp, 36)
27089 pack_tmp = ishft(pack_tmp, -36)
27091 data_tmp = full_data(idata)
27092 data_tmp = ishft(data_tmp, 28)
27093 pack_tmp = ior(pack_tmp, data_tmp)
27094 pack_tmp = ishft(pack_tmp, 0)
27095 pack_tmp = ishft(pack_tmp, 0)
27097 packed_data(ipack) = pack_tmp
27099 IF (ndata_rep < ndata)
THEN
27100 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
27102 END SUBROUTINE ints2bits_36
27110 SUBROUTINE bits2ints_36(Ndata, packed_data, full_data)
27111 INTEGER,
INTENT(IN) :: Ndata
27112 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
27113 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
27115 INTEGER,
PARAMETER :: Nbits = 36
27117 INTEGER :: idata, ipack, kdata, Ndata_rep
27118 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
27123 ndata_rep = (ndata/64)*64
27124 DO kdata = 1, ndata_rep, 64
27126 data_tmp = ishft(pack_tmp, 36)
27128 pack_tmp = packed_data(ipack)
27129 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
27130 pack_tmp = ishft(pack_tmp, -36)
27132 data_tmp = ishft(pack_tmp, 8)
27134 pack_tmp = packed_data(ipack)
27135 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
27136 pack_tmp = ishft(pack_tmp, -8)
27138 data_tmp = iand(pack_tmp, mask_right(nbits))
27139 full_data(idata) = data_tmp
27140 pack_tmp = ishft(pack_tmp, -nbits)
27142 data_tmp = ishft(pack_tmp, 16)
27144 pack_tmp = packed_data(ipack)
27145 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
27146 pack_tmp = ishft(pack_tmp, -16)
27148 data_tmp = iand(pack_tmp, mask_right(nbits))
27149 full_data(idata) = data_tmp
27150 pack_tmp = ishft(pack_tmp, -nbits)
27152 data_tmp = ishft(pack_tmp, 24)
27154 pack_tmp = packed_data(ipack)
27155 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
27156 pack_tmp = ishft(pack_tmp, -24)
27158 data_tmp = iand(pack_tmp, mask_right(nbits))
27159 full_data(idata) = data_tmp
27160 pack_tmp = ishft(pack_tmp, -nbits)
27162 data_tmp = ishft(pack_tmp, 32)
27164 pack_tmp = packed_data(ipack)
27165 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
27166 pack_tmp = ishft(pack_tmp, -32)
27168 data_tmp = ishft(pack_tmp, 4)
27170 pack_tmp = packed_data(ipack)
27171 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
27172 pack_tmp = ishft(pack_tmp, -4)
27174 data_tmp = iand(pack_tmp, mask_right(nbits))
27175 full_data(idata) = data_tmp
27176 pack_tmp = ishft(pack_tmp, -nbits)
27178 data_tmp = ishft(pack_tmp, 12)
27180 pack_tmp = packed_data(ipack)
27181 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
27182 pack_tmp = ishft(pack_tmp, -12)
27184 data_tmp = iand(pack_tmp, mask_right(nbits))
27185 full_data(idata) = data_tmp
27186 pack_tmp = ishft(pack_tmp, -nbits)
27188 data_tmp = ishft(pack_tmp, 20)
27190 pack_tmp = packed_data(ipack)
27191 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
27192 pack_tmp = ishft(pack_tmp, -20)
27194 data_tmp = iand(pack_tmp, mask_right(nbits))
27195 full_data(idata) = data_tmp
27196 pack_tmp = ishft(pack_tmp, -nbits)
27198 data_tmp = ishft(pack_tmp, 28)
27200 pack_tmp = packed_data(ipack)
27201 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
27202 pack_tmp = ishft(pack_tmp, -28)
27204 data_tmp = iand(pack_tmp, mask_right(nbits))
27205 full_data(idata) = data_tmp
27206 pack_tmp = ishft(pack_tmp, -nbits)
27208 data_tmp = ishft(pack_tmp, 36)
27210 pack_tmp = packed_data(ipack)
27211 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
27212 pack_tmp = ishft(pack_tmp, -36)
27214 data_tmp = ishft(pack_tmp, 8)
27216 pack_tmp = packed_data(ipack)
27217 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
27218 pack_tmp = ishft(pack_tmp, -8)
27220 data_tmp = iand(pack_tmp, mask_right(nbits))
27221 full_data(idata) = data_tmp
27222 pack_tmp = ishft(pack_tmp, -nbits)
27224 data_tmp = ishft(pack_tmp, 16)
27226 pack_tmp = packed_data(ipack)
27227 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
27228 pack_tmp = ishft(pack_tmp, -16)
27230 data_tmp = iand(pack_tmp, mask_right(nbits))
27231 full_data(idata) = data_tmp
27232 pack_tmp = ishft(pack_tmp, -nbits)
27234 data_tmp = ishft(pack_tmp, 24)
27236 pack_tmp = packed_data(ipack)
27237 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
27238 pack_tmp = ishft(pack_tmp, -24)
27240 data_tmp = iand(pack_tmp, mask_right(nbits))
27241 full_data(idata) = data_tmp
27242 pack_tmp = ishft(pack_tmp, -nbits)
27244 data_tmp = ishft(pack_tmp, 32)
27246 pack_tmp = packed_data(ipack)
27247 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
27248 pack_tmp = ishft(pack_tmp, -32)
27250 data_tmp = ishft(pack_tmp, 4)
27252 pack_tmp = packed_data(ipack)
27253 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
27254 pack_tmp = ishft(pack_tmp, -4)
27256 data_tmp = iand(pack_tmp, mask_right(nbits))
27257 full_data(idata) = data_tmp
27258 pack_tmp = ishft(pack_tmp, -nbits)
27260 data_tmp = ishft(pack_tmp, 12)
27262 pack_tmp = packed_data(ipack)
27263 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
27264 pack_tmp = ishft(pack_tmp, -12)
27266 data_tmp = iand(pack_tmp, mask_right(nbits))
27267 full_data(idata) = data_tmp
27268 pack_tmp = ishft(pack_tmp, -nbits)
27270 data_tmp = ishft(pack_tmp, 20)
27272 pack_tmp = packed_data(ipack)
27273 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
27274 pack_tmp = ishft(pack_tmp, -20)
27276 data_tmp = iand(pack_tmp, mask_right(nbits))
27277 full_data(idata) = data_tmp
27278 pack_tmp = ishft(pack_tmp, -nbits)
27280 data_tmp = ishft(pack_tmp, 28)
27282 pack_tmp = packed_data(ipack)
27283 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
27284 pack_tmp = ishft(pack_tmp, -28)
27286 data_tmp = iand(pack_tmp, mask_right(nbits))
27287 full_data(idata) = data_tmp
27288 pack_tmp = ishft(pack_tmp, -nbits)
27290 data_tmp = ishft(pack_tmp, 36)
27292 pack_tmp = packed_data(ipack)
27293 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
27294 pack_tmp = ishft(pack_tmp, -36)
27296 data_tmp = ishft(pack_tmp, 8)
27298 pack_tmp = packed_data(ipack)
27299 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
27300 pack_tmp = ishft(pack_tmp, -8)
27302 data_tmp = iand(pack_tmp, mask_right(nbits))
27303 full_data(idata) = data_tmp
27304 pack_tmp = ishft(pack_tmp, -nbits)
27306 data_tmp = ishft(pack_tmp, 16)
27308 pack_tmp = packed_data(ipack)
27309 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
27310 pack_tmp = ishft(pack_tmp, -16)
27312 data_tmp = iand(pack_tmp, mask_right(nbits))
27313 full_data(idata) = data_tmp
27314 pack_tmp = ishft(pack_tmp, -nbits)
27316 data_tmp = ishft(pack_tmp, 24)
27318 pack_tmp = packed_data(ipack)
27319 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
27320 pack_tmp = ishft(pack_tmp, -24)
27322 data_tmp = iand(pack_tmp, mask_right(nbits))
27323 full_data(idata) = data_tmp
27324 pack_tmp = ishft(pack_tmp, -nbits)
27326 data_tmp = ishft(pack_tmp, 32)
27328 pack_tmp = packed_data(ipack)
27329 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
27330 pack_tmp = ishft(pack_tmp, -32)
27332 data_tmp = ishft(pack_tmp, 4)
27334 pack_tmp = packed_data(ipack)
27335 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
27336 pack_tmp = ishft(pack_tmp, -4)
27338 data_tmp = iand(pack_tmp, mask_right(nbits))
27339 full_data(idata) = data_tmp
27340 pack_tmp = ishft(pack_tmp, -nbits)
27342 data_tmp = ishft(pack_tmp, 12)
27344 pack_tmp = packed_data(ipack)
27345 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
27346 pack_tmp = ishft(pack_tmp, -12)
27348 data_tmp = iand(pack_tmp, mask_right(nbits))
27349 full_data(idata) = data_tmp
27350 pack_tmp = ishft(pack_tmp, -nbits)
27352 data_tmp = ishft(pack_tmp, 20)
27354 pack_tmp = packed_data(ipack)
27355 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
27356 pack_tmp = ishft(pack_tmp, -20)
27358 data_tmp = iand(pack_tmp, mask_right(nbits))
27359 full_data(idata) = data_tmp
27360 pack_tmp = ishft(pack_tmp, -nbits)
27362 data_tmp = ishft(pack_tmp, 28)
27364 pack_tmp = packed_data(ipack)
27365 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
27366 pack_tmp = ishft(pack_tmp, -28)
27368 data_tmp = iand(pack_tmp, mask_right(nbits))
27369 full_data(idata) = data_tmp
27370 pack_tmp = ishft(pack_tmp, -nbits)
27372 data_tmp = ishft(pack_tmp, 36)
27374 pack_tmp = packed_data(ipack)
27375 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
27376 pack_tmp = ishft(pack_tmp, -36)
27378 data_tmp = ishft(pack_tmp, 8)
27380 pack_tmp = packed_data(ipack)
27381 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
27382 pack_tmp = ishft(pack_tmp, -8)
27384 data_tmp = iand(pack_tmp, mask_right(nbits))
27385 full_data(idata) = data_tmp
27386 pack_tmp = ishft(pack_tmp, -nbits)
27388 data_tmp = ishft(pack_tmp, 16)
27390 pack_tmp = packed_data(ipack)
27391 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
27392 pack_tmp = ishft(pack_tmp, -16)
27394 data_tmp = iand(pack_tmp, mask_right(nbits))
27395 full_data(idata) = data_tmp
27396 pack_tmp = ishft(pack_tmp, -nbits)
27398 data_tmp = ishft(pack_tmp, 24)
27400 pack_tmp = packed_data(ipack)
27401 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
27402 pack_tmp = ishft(pack_tmp, -24)
27404 data_tmp = iand(pack_tmp, mask_right(nbits))
27405 full_data(idata) = data_tmp
27406 pack_tmp = ishft(pack_tmp, -nbits)
27408 data_tmp = ishft(pack_tmp, 32)
27410 pack_tmp = packed_data(ipack)
27411 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
27412 pack_tmp = ishft(pack_tmp, -32)
27414 data_tmp = ishft(pack_tmp, 4)
27416 pack_tmp = packed_data(ipack)
27417 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
27418 pack_tmp = ishft(pack_tmp, -4)
27420 data_tmp = iand(pack_tmp, mask_right(nbits))
27421 full_data(idata) = data_tmp
27422 pack_tmp = ishft(pack_tmp, -nbits)
27424 data_tmp = ishft(pack_tmp, 12)
27426 pack_tmp = packed_data(ipack)
27427 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
27428 pack_tmp = ishft(pack_tmp, -12)
27430 data_tmp = iand(pack_tmp, mask_right(nbits))
27431 full_data(idata) = data_tmp
27432 pack_tmp = ishft(pack_tmp, -nbits)
27434 data_tmp = ishft(pack_tmp, 20)
27436 pack_tmp = packed_data(ipack)
27437 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
27438 pack_tmp = ishft(pack_tmp, -20)
27440 data_tmp = iand(pack_tmp, mask_right(nbits))
27441 full_data(idata) = data_tmp
27442 pack_tmp = ishft(pack_tmp, -nbits)
27444 data_tmp = ishft(pack_tmp, 28)
27446 pack_tmp = packed_data(ipack)
27447 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
27448 pack_tmp = ishft(pack_tmp, -28)
27450 data_tmp = iand(pack_tmp, mask_right(nbits))
27451 full_data(idata) = data_tmp
27452 pack_tmp = ishft(pack_tmp, -nbits)
27454 IF (ndata_rep < ndata)
THEN
27455 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
27457 END SUBROUTINE bits2ints_36
27465 SUBROUTINE ints2bits_37(Ndata, packed_data, full_data)
27466 INTEGER,
INTENT(IN) :: Ndata
27467 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
27468 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
27470 INTEGER,
PARAMETER :: Nbits = 37
27472 INTEGER :: idata, ipack, kdata, Ndata_rep
27473 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
27477 ndata_rep = (ndata/64)*64
27478 DO kdata = 1, ndata_rep, 64
27481 data_tmp = full_data(idata)
27482 data_tmp = ishft(data_tmp, 27)
27483 pack_tmp = ior(pack_tmp, data_tmp)
27484 pack_tmp = ishft(pack_tmp, -27)
27486 data_tmp = full_data(idata)
27487 data_tmp = ishft(data_tmp, 27)
27488 data_tmp = iand(data_tmp, mask_left(27))
27489 pack_tmp = ior(pack_tmp, data_tmp)
27491 packed_data(ipack) = pack_tmp
27492 data_tmp = full_data(idata)
27493 pack_tmp = ishft(data_tmp, 54)
27494 pack_tmp = ishft(pack_tmp, -37)
27496 data_tmp = full_data(idata)
27497 data_tmp = ishft(data_tmp, 27)
27498 pack_tmp = ior(pack_tmp, data_tmp)
27499 pack_tmp = ishft(pack_tmp, -17)
27501 data_tmp = full_data(idata)
27502 data_tmp = ishft(data_tmp, 27)
27503 data_tmp = iand(data_tmp, mask_left(17))
27504 pack_tmp = ior(pack_tmp, data_tmp)
27506 packed_data(ipack) = pack_tmp
27507 data_tmp = full_data(idata)
27508 pack_tmp = ishft(data_tmp, 44)
27509 pack_tmp = ishft(pack_tmp, -37)
27511 data_tmp = full_data(idata)
27512 data_tmp = ishft(data_tmp, 27)
27513 pack_tmp = ior(pack_tmp, data_tmp)
27514 pack_tmp = ishft(pack_tmp, -7)
27516 data_tmp = full_data(idata)
27517 data_tmp = ishft(data_tmp, 27)
27518 data_tmp = iand(data_tmp, mask_left(7))
27519 pack_tmp = ior(pack_tmp, data_tmp)
27521 packed_data(ipack) = pack_tmp
27522 data_tmp = full_data(idata)
27523 pack_tmp = ishft(data_tmp, 34)
27524 pack_tmp = ishft(pack_tmp, -34)
27526 data_tmp = full_data(idata)
27527 data_tmp = ishft(data_tmp, 27)
27528 data_tmp = iand(data_tmp, mask_left(34))
27529 pack_tmp = ior(pack_tmp, data_tmp)
27531 packed_data(ipack) = pack_tmp
27532 data_tmp = full_data(idata)
27533 pack_tmp = ishft(data_tmp, 61)
27534 pack_tmp = ishft(pack_tmp, -37)
27536 data_tmp = full_data(idata)
27537 data_tmp = ishft(data_tmp, 27)
27538 pack_tmp = ior(pack_tmp, data_tmp)
27539 pack_tmp = ishft(pack_tmp, -24)
27541 data_tmp = full_data(idata)
27542 data_tmp = ishft(data_tmp, 27)
27543 data_tmp = iand(data_tmp, mask_left(24))
27544 pack_tmp = ior(pack_tmp, data_tmp)
27546 packed_data(ipack) = pack_tmp
27547 data_tmp = full_data(idata)
27548 pack_tmp = ishft(data_tmp, 51)
27549 pack_tmp = ishft(pack_tmp, -37)
27551 data_tmp = full_data(idata)
27552 data_tmp = ishft(data_tmp, 27)
27553 pack_tmp = ior(pack_tmp, data_tmp)
27554 pack_tmp = ishft(pack_tmp, -14)
27556 data_tmp = full_data(idata)
27557 data_tmp = ishft(data_tmp, 27)
27558 data_tmp = iand(data_tmp, mask_left(14))
27559 pack_tmp = ior(pack_tmp, data_tmp)
27561 packed_data(ipack) = pack_tmp
27562 data_tmp = full_data(idata)
27563 pack_tmp = ishft(data_tmp, 41)
27564 pack_tmp = ishft(pack_tmp, -37)
27566 data_tmp = full_data(idata)
27567 data_tmp = ishft(data_tmp, 27)
27568 pack_tmp = ior(pack_tmp, data_tmp)
27569 pack_tmp = ishft(pack_tmp, -4)
27571 data_tmp = full_data(idata)
27572 data_tmp = ishft(data_tmp, 27)
27573 data_tmp = iand(data_tmp, mask_left(4))
27574 pack_tmp = ior(pack_tmp, data_tmp)
27576 packed_data(ipack) = pack_tmp
27577 data_tmp = full_data(idata)
27578 pack_tmp = ishft(data_tmp, 31)
27579 pack_tmp = ishft(pack_tmp, -31)
27581 data_tmp = full_data(idata)
27582 data_tmp = ishft(data_tmp, 27)
27583 data_tmp = iand(data_tmp, mask_left(31))
27584 pack_tmp = ior(pack_tmp, data_tmp)
27586 packed_data(ipack) = pack_tmp
27587 data_tmp = full_data(idata)
27588 pack_tmp = ishft(data_tmp, 58)
27589 pack_tmp = ishft(pack_tmp, -37)
27591 data_tmp = full_data(idata)
27592 data_tmp = ishft(data_tmp, 27)
27593 pack_tmp = ior(pack_tmp, data_tmp)
27594 pack_tmp = ishft(pack_tmp, -21)
27596 data_tmp = full_data(idata)
27597 data_tmp = ishft(data_tmp, 27)
27598 data_tmp = iand(data_tmp, mask_left(21))
27599 pack_tmp = ior(pack_tmp, data_tmp)
27601 packed_data(ipack) = pack_tmp
27602 data_tmp = full_data(idata)
27603 pack_tmp = ishft(data_tmp, 48)
27604 pack_tmp = ishft(pack_tmp, -37)
27606 data_tmp = full_data(idata)
27607 data_tmp = ishft(data_tmp, 27)
27608 pack_tmp = ior(pack_tmp, data_tmp)
27609 pack_tmp = ishft(pack_tmp, -11)
27611 data_tmp = full_data(idata)
27612 data_tmp = ishft(data_tmp, 27)
27613 data_tmp = iand(data_tmp, mask_left(11))
27614 pack_tmp = ior(pack_tmp, data_tmp)
27616 packed_data(ipack) = pack_tmp
27617 data_tmp = full_data(idata)
27618 pack_tmp = ishft(data_tmp, 38)
27619 pack_tmp = ishft(pack_tmp, -37)
27621 data_tmp = full_data(idata)
27622 data_tmp = ishft(data_tmp, 27)
27623 pack_tmp = ior(pack_tmp, data_tmp)
27624 pack_tmp = ishft(pack_tmp, -1)
27626 data_tmp = full_data(idata)
27627 data_tmp = ishft(data_tmp, 27)
27628 data_tmp = iand(data_tmp, mask_left(1))
27629 pack_tmp = ior(pack_tmp, data_tmp)
27631 packed_data(ipack) = pack_tmp
27632 data_tmp = full_data(idata)
27633 pack_tmp = ishft(data_tmp, 28)
27634 pack_tmp = ishft(pack_tmp, -28)
27636 data_tmp = full_data(idata)
27637 data_tmp = ishft(data_tmp, 27)
27638 data_tmp = iand(data_tmp, mask_left(28))
27639 pack_tmp = ior(pack_tmp, data_tmp)
27641 packed_data(ipack) = pack_tmp
27642 data_tmp = full_data(idata)
27643 pack_tmp = ishft(data_tmp, 55)
27644 pack_tmp = ishft(pack_tmp, -37)
27646 data_tmp = full_data(idata)
27647 data_tmp = ishft(data_tmp, 27)
27648 pack_tmp = ior(pack_tmp, data_tmp)
27649 pack_tmp = ishft(pack_tmp, -18)
27651 data_tmp = full_data(idata)
27652 data_tmp = ishft(data_tmp, 27)
27653 data_tmp = iand(data_tmp, mask_left(18))
27654 pack_tmp = ior(pack_tmp, data_tmp)
27656 packed_data(ipack) = pack_tmp
27657 data_tmp = full_data(idata)
27658 pack_tmp = ishft(data_tmp, 45)
27659 pack_tmp = ishft(pack_tmp, -37)
27661 data_tmp = full_data(idata)
27662 data_tmp = ishft(data_tmp, 27)
27663 pack_tmp = ior(pack_tmp, data_tmp)
27664 pack_tmp = ishft(pack_tmp, -8)
27666 data_tmp = full_data(idata)
27667 data_tmp = ishft(data_tmp, 27)
27668 data_tmp = iand(data_tmp, mask_left(8))
27669 pack_tmp = ior(pack_tmp, data_tmp)
27671 packed_data(ipack) = pack_tmp
27672 data_tmp = full_data(idata)
27673 pack_tmp = ishft(data_tmp, 35)
27674 pack_tmp = ishft(pack_tmp, -35)
27676 data_tmp = full_data(idata)
27677 data_tmp = ishft(data_tmp, 27)
27678 data_tmp = iand(data_tmp, mask_left(35))
27679 pack_tmp = ior(pack_tmp, data_tmp)
27681 packed_data(ipack) = pack_tmp
27682 data_tmp = full_data(idata)
27683 pack_tmp = ishft(data_tmp, 62)
27684 pack_tmp = ishft(pack_tmp, -37)
27686 data_tmp = full_data(idata)
27687 data_tmp = ishft(data_tmp, 27)
27688 pack_tmp = ior(pack_tmp, data_tmp)
27689 pack_tmp = ishft(pack_tmp, -25)
27691 data_tmp = full_data(idata)
27692 data_tmp = ishft(data_tmp, 27)
27693 data_tmp = iand(data_tmp, mask_left(25))
27694 pack_tmp = ior(pack_tmp, data_tmp)
27696 packed_data(ipack) = pack_tmp
27697 data_tmp = full_data(idata)
27698 pack_tmp = ishft(data_tmp, 52)
27699 pack_tmp = ishft(pack_tmp, -37)
27701 data_tmp = full_data(idata)
27702 data_tmp = ishft(data_tmp, 27)
27703 pack_tmp = ior(pack_tmp, data_tmp)
27704 pack_tmp = ishft(pack_tmp, -15)
27706 data_tmp = full_data(idata)
27707 data_tmp = ishft(data_tmp, 27)
27708 data_tmp = iand(data_tmp, mask_left(15))
27709 pack_tmp = ior(pack_tmp, data_tmp)
27711 packed_data(ipack) = pack_tmp
27712 data_tmp = full_data(idata)
27713 pack_tmp = ishft(data_tmp, 42)
27714 pack_tmp = ishft(pack_tmp, -37)
27716 data_tmp = full_data(idata)
27717 data_tmp = ishft(data_tmp, 27)
27718 pack_tmp = ior(pack_tmp, data_tmp)
27719 pack_tmp = ishft(pack_tmp, -5)
27721 data_tmp = full_data(idata)
27722 data_tmp = ishft(data_tmp, 27)
27723 data_tmp = iand(data_tmp, mask_left(5))
27724 pack_tmp = ior(pack_tmp, data_tmp)
27726 packed_data(ipack) = pack_tmp
27727 data_tmp = full_data(idata)
27728 pack_tmp = ishft(data_tmp, 32)
27729 pack_tmp = ishft(pack_tmp, -32)
27731 data_tmp = full_data(idata)
27732 data_tmp = ishft(data_tmp, 27)
27733 data_tmp = iand(data_tmp, mask_left(32))
27734 pack_tmp = ior(pack_tmp, data_tmp)
27736 packed_data(ipack) = pack_tmp
27737 data_tmp = full_data(idata)
27738 pack_tmp = ishft(data_tmp, 59)
27739 pack_tmp = ishft(pack_tmp, -37)
27741 data_tmp = full_data(idata)
27742 data_tmp = ishft(data_tmp, 27)
27743 pack_tmp = ior(pack_tmp, data_tmp)
27744 pack_tmp = ishft(pack_tmp, -22)
27746 data_tmp = full_data(idata)
27747 data_tmp = ishft(data_tmp, 27)
27748 data_tmp = iand(data_tmp, mask_left(22))
27749 pack_tmp = ior(pack_tmp, data_tmp)
27751 packed_data(ipack) = pack_tmp
27752 data_tmp = full_data(idata)
27753 pack_tmp = ishft(data_tmp, 49)
27754 pack_tmp = ishft(pack_tmp, -37)
27756 data_tmp = full_data(idata)
27757 data_tmp = ishft(data_tmp, 27)
27758 pack_tmp = ior(pack_tmp, data_tmp)
27759 pack_tmp = ishft(pack_tmp, -12)
27761 data_tmp = full_data(idata)
27762 data_tmp = ishft(data_tmp, 27)
27763 data_tmp = iand(data_tmp, mask_left(12))
27764 pack_tmp = ior(pack_tmp, data_tmp)
27766 packed_data(ipack) = pack_tmp
27767 data_tmp = full_data(idata)
27768 pack_tmp = ishft(data_tmp, 39)
27769 pack_tmp = ishft(pack_tmp, -37)
27771 data_tmp = full_data(idata)
27772 data_tmp = ishft(data_tmp, 27)
27773 pack_tmp = ior(pack_tmp, data_tmp)
27774 pack_tmp = ishft(pack_tmp, -2)
27776 data_tmp = full_data(idata)
27777 data_tmp = ishft(data_tmp, 27)
27778 data_tmp = iand(data_tmp, mask_left(2))
27779 pack_tmp = ior(pack_tmp, data_tmp)
27781 packed_data(ipack) = pack_tmp
27782 data_tmp = full_data(idata)
27783 pack_tmp = ishft(data_tmp, 29)
27784 pack_tmp = ishft(pack_tmp, -29)
27786 data_tmp = full_data(idata)
27787 data_tmp = ishft(data_tmp, 27)
27788 data_tmp = iand(data_tmp, mask_left(29))
27789 pack_tmp = ior(pack_tmp, data_tmp)
27791 packed_data(ipack) = pack_tmp
27792 data_tmp = full_data(idata)
27793 pack_tmp = ishft(data_tmp, 56)
27794 pack_tmp = ishft(pack_tmp, -37)
27796 data_tmp = full_data(idata)
27797 data_tmp = ishft(data_tmp, 27)
27798 pack_tmp = ior(pack_tmp, data_tmp)
27799 pack_tmp = ishft(pack_tmp, -19)
27801 data_tmp = full_data(idata)
27802 data_tmp = ishft(data_tmp, 27)
27803 data_tmp = iand(data_tmp, mask_left(19))
27804 pack_tmp = ior(pack_tmp, data_tmp)
27806 packed_data(ipack) = pack_tmp
27807 data_tmp = full_data(idata)
27808 pack_tmp = ishft(data_tmp, 46)
27809 pack_tmp = ishft(pack_tmp, -37)
27811 data_tmp = full_data(idata)
27812 data_tmp = ishft(data_tmp, 27)
27813 pack_tmp = ior(pack_tmp, data_tmp)
27814 pack_tmp = ishft(pack_tmp, -9)
27816 data_tmp = full_data(idata)
27817 data_tmp = ishft(data_tmp, 27)
27818 data_tmp = iand(data_tmp, mask_left(9))
27819 pack_tmp = ior(pack_tmp, data_tmp)
27821 packed_data(ipack) = pack_tmp
27822 data_tmp = full_data(idata)
27823 pack_tmp = ishft(data_tmp, 36)
27824 pack_tmp = ishft(pack_tmp, -36)
27826 data_tmp = full_data(idata)
27827 data_tmp = ishft(data_tmp, 27)
27828 data_tmp = iand(data_tmp, mask_left(36))
27829 pack_tmp = ior(pack_tmp, data_tmp)
27831 packed_data(ipack) = pack_tmp
27832 data_tmp = full_data(idata)
27833 pack_tmp = ishft(data_tmp, 63)
27834 pack_tmp = ishft(pack_tmp, -37)
27836 data_tmp = full_data(idata)
27837 data_tmp = ishft(data_tmp, 27)
27838 pack_tmp = ior(pack_tmp, data_tmp)
27839 pack_tmp = ishft(pack_tmp, -26)
27841 data_tmp = full_data(idata)
27842 data_tmp = ishft(data_tmp, 27)
27843 data_tmp = iand(data_tmp, mask_left(26))
27844 pack_tmp = ior(pack_tmp, data_tmp)
27846 packed_data(ipack) = pack_tmp
27847 data_tmp = full_data(idata)
27848 pack_tmp = ishft(data_tmp, 53)
27849 pack_tmp = ishft(pack_tmp, -37)
27851 data_tmp = full_data(idata)
27852 data_tmp = ishft(data_tmp, 27)
27853 pack_tmp = ior(pack_tmp, data_tmp)
27854 pack_tmp = ishft(pack_tmp, -16)
27856 data_tmp = full_data(idata)
27857 data_tmp = ishft(data_tmp, 27)
27858 data_tmp = iand(data_tmp, mask_left(16))
27859 pack_tmp = ior(pack_tmp, data_tmp)
27861 packed_data(ipack) = pack_tmp
27862 data_tmp = full_data(idata)
27863 pack_tmp = ishft(data_tmp, 43)
27864 pack_tmp = ishft(pack_tmp, -37)
27866 data_tmp = full_data(idata)
27867 data_tmp = ishft(data_tmp, 27)
27868 pack_tmp = ior(pack_tmp, data_tmp)
27869 pack_tmp = ishft(pack_tmp, -6)
27871 data_tmp = full_data(idata)
27872 data_tmp = ishft(data_tmp, 27)
27873 data_tmp = iand(data_tmp, mask_left(6))
27874 pack_tmp = ior(pack_tmp, data_tmp)
27876 packed_data(ipack) = pack_tmp
27877 data_tmp = full_data(idata)
27878 pack_tmp = ishft(data_tmp, 33)
27879 pack_tmp = ishft(pack_tmp, -33)
27881 data_tmp = full_data(idata)
27882 data_tmp = ishft(data_tmp, 27)
27883 data_tmp = iand(data_tmp, mask_left(33))
27884 pack_tmp = ior(pack_tmp, data_tmp)
27886 packed_data(ipack) = pack_tmp
27887 data_tmp = full_data(idata)
27888 pack_tmp = ishft(data_tmp, 60)
27889 pack_tmp = ishft(pack_tmp, -37)
27891 data_tmp = full_data(idata)
27892 data_tmp = ishft(data_tmp, 27)
27893 pack_tmp = ior(pack_tmp, data_tmp)
27894 pack_tmp = ishft(pack_tmp, -23)
27896 data_tmp = full_data(idata)
27897 data_tmp = ishft(data_tmp, 27)
27898 data_tmp = iand(data_tmp, mask_left(23))
27899 pack_tmp = ior(pack_tmp, data_tmp)
27901 packed_data(ipack) = pack_tmp
27902 data_tmp = full_data(idata)
27903 pack_tmp = ishft(data_tmp, 50)
27904 pack_tmp = ishft(pack_tmp, -37)
27906 data_tmp = full_data(idata)
27907 data_tmp = ishft(data_tmp, 27)
27908 pack_tmp = ior(pack_tmp, data_tmp)
27909 pack_tmp = ishft(pack_tmp, -13)
27911 data_tmp = full_data(idata)
27912 data_tmp = ishft(data_tmp, 27)
27913 data_tmp = iand(data_tmp, mask_left(13))
27914 pack_tmp = ior(pack_tmp, data_tmp)
27916 packed_data(ipack) = pack_tmp
27917 data_tmp = full_data(idata)
27918 pack_tmp = ishft(data_tmp, 40)
27919 pack_tmp = ishft(pack_tmp, -37)
27921 data_tmp = full_data(idata)
27922 data_tmp = ishft(data_tmp, 27)
27923 pack_tmp = ior(pack_tmp, data_tmp)
27924 pack_tmp = ishft(pack_tmp, -3)
27926 data_tmp = full_data(idata)
27927 data_tmp = ishft(data_tmp, 27)
27928 data_tmp = iand(data_tmp, mask_left(3))
27929 pack_tmp = ior(pack_tmp, data_tmp)
27931 packed_data(ipack) = pack_tmp
27932 data_tmp = full_data(idata)
27933 pack_tmp = ishft(data_tmp, 30)
27934 pack_tmp = ishft(pack_tmp, -30)
27936 data_tmp = full_data(idata)
27937 data_tmp = ishft(data_tmp, 27)
27938 data_tmp = iand(data_tmp, mask_left(30))
27939 pack_tmp = ior(pack_tmp, data_tmp)
27941 packed_data(ipack) = pack_tmp
27942 data_tmp = full_data(idata)
27943 pack_tmp = ishft(data_tmp, 57)
27944 pack_tmp = ishft(pack_tmp, -37)
27946 data_tmp = full_data(idata)
27947 data_tmp = ishft(data_tmp, 27)
27948 pack_tmp = ior(pack_tmp, data_tmp)
27949 pack_tmp = ishft(pack_tmp, -20)
27951 data_tmp = full_data(idata)
27952 data_tmp = ishft(data_tmp, 27)
27953 data_tmp = iand(data_tmp, mask_left(20))
27954 pack_tmp = ior(pack_tmp, data_tmp)
27956 packed_data(ipack) = pack_tmp
27957 data_tmp = full_data(idata)
27958 pack_tmp = ishft(data_tmp, 47)
27959 pack_tmp = ishft(pack_tmp, -37)
27961 data_tmp = full_data(idata)
27962 data_tmp = ishft(data_tmp, 27)
27963 pack_tmp = ior(pack_tmp, data_tmp)
27964 pack_tmp = ishft(pack_tmp, -10)
27966 data_tmp = full_data(idata)
27967 data_tmp = ishft(data_tmp, 27)
27968 data_tmp = iand(data_tmp, mask_left(10))
27969 pack_tmp = ior(pack_tmp, data_tmp)
27971 packed_data(ipack) = pack_tmp
27972 data_tmp = full_data(idata)
27973 pack_tmp = ishft(data_tmp, 37)
27974 pack_tmp = ishft(pack_tmp, -37)
27976 data_tmp = full_data(idata)
27977 data_tmp = ishft(data_tmp, 27)
27978 pack_tmp = ior(pack_tmp, data_tmp)
27979 pack_tmp = ishft(pack_tmp, 0)
27980 pack_tmp = ishft(pack_tmp, 0)
27982 packed_data(ipack) = pack_tmp
27984 IF (ndata_rep < ndata)
THEN
27985 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
27987 END SUBROUTINE ints2bits_37
27995 SUBROUTINE bits2ints_37(Ndata, packed_data, full_data)
27996 INTEGER,
INTENT(IN) :: Ndata
27997 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
27998 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
28000 INTEGER,
PARAMETER :: Nbits = 37
28002 INTEGER :: idata, ipack, kdata, Ndata_rep
28003 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
28008 ndata_rep = (ndata/64)*64
28009 DO kdata = 1, ndata_rep, 64
28011 data_tmp = ishft(pack_tmp, 37)
28013 pack_tmp = packed_data(ipack)
28014 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
28015 pack_tmp = ishft(pack_tmp, -37)
28017 data_tmp = ishft(pack_tmp, 10)
28019 pack_tmp = packed_data(ipack)
28020 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
28021 pack_tmp = ishft(pack_tmp, -10)
28023 data_tmp = iand(pack_tmp, mask_right(nbits))
28024 full_data(idata) = data_tmp
28025 pack_tmp = ishft(pack_tmp, -nbits)
28027 data_tmp = ishft(pack_tmp, 20)
28029 pack_tmp = packed_data(ipack)
28030 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
28031 pack_tmp = ishft(pack_tmp, -20)
28033 data_tmp = iand(pack_tmp, mask_right(nbits))
28034 full_data(idata) = data_tmp
28035 pack_tmp = ishft(pack_tmp, -nbits)
28037 data_tmp = ishft(pack_tmp, 30)
28039 pack_tmp = packed_data(ipack)
28040 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
28041 pack_tmp = ishft(pack_tmp, -30)
28043 data_tmp = ishft(pack_tmp, 3)
28045 pack_tmp = packed_data(ipack)
28046 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
28047 pack_tmp = ishft(pack_tmp, -3)
28049 data_tmp = iand(pack_tmp, mask_right(nbits))
28050 full_data(idata) = data_tmp
28051 pack_tmp = ishft(pack_tmp, -nbits)
28053 data_tmp = ishft(pack_tmp, 13)
28055 pack_tmp = packed_data(ipack)
28056 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
28057 pack_tmp = ishft(pack_tmp, -13)
28059 data_tmp = iand(pack_tmp, mask_right(nbits))
28060 full_data(idata) = data_tmp
28061 pack_tmp = ishft(pack_tmp, -nbits)
28063 data_tmp = ishft(pack_tmp, 23)
28065 pack_tmp = packed_data(ipack)
28066 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
28067 pack_tmp = ishft(pack_tmp, -23)
28069 data_tmp = iand(pack_tmp, mask_right(nbits))
28070 full_data(idata) = data_tmp
28071 pack_tmp = ishft(pack_tmp, -nbits)
28073 data_tmp = ishft(pack_tmp, 33)
28075 pack_tmp = packed_data(ipack)
28076 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
28077 pack_tmp = ishft(pack_tmp, -33)
28079 data_tmp = ishft(pack_tmp, 6)
28081 pack_tmp = packed_data(ipack)
28082 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
28083 pack_tmp = ishft(pack_tmp, -6)
28085 data_tmp = iand(pack_tmp, mask_right(nbits))
28086 full_data(idata) = data_tmp
28087 pack_tmp = ishft(pack_tmp, -nbits)
28089 data_tmp = ishft(pack_tmp, 16)
28091 pack_tmp = packed_data(ipack)
28092 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
28093 pack_tmp = ishft(pack_tmp, -16)
28095 data_tmp = iand(pack_tmp, mask_right(nbits))
28096 full_data(idata) = data_tmp
28097 pack_tmp = ishft(pack_tmp, -nbits)
28099 data_tmp = ishft(pack_tmp, 26)
28101 pack_tmp = packed_data(ipack)
28102 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
28103 pack_tmp = ishft(pack_tmp, -26)
28105 data_tmp = iand(pack_tmp, mask_right(nbits))
28106 full_data(idata) = data_tmp
28107 pack_tmp = ishft(pack_tmp, -nbits)
28109 data_tmp = ishft(pack_tmp, 36)
28111 pack_tmp = packed_data(ipack)
28112 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
28113 pack_tmp = ishft(pack_tmp, -36)
28115 data_tmp = ishft(pack_tmp, 9)
28117 pack_tmp = packed_data(ipack)
28118 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
28119 pack_tmp = ishft(pack_tmp, -9)
28121 data_tmp = iand(pack_tmp, mask_right(nbits))
28122 full_data(idata) = data_tmp
28123 pack_tmp = ishft(pack_tmp, -nbits)
28125 data_tmp = ishft(pack_tmp, 19)
28127 pack_tmp = packed_data(ipack)
28128 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
28129 pack_tmp = ishft(pack_tmp, -19)
28131 data_tmp = iand(pack_tmp, mask_right(nbits))
28132 full_data(idata) = data_tmp
28133 pack_tmp = ishft(pack_tmp, -nbits)
28135 data_tmp = ishft(pack_tmp, 29)
28137 pack_tmp = packed_data(ipack)
28138 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
28139 pack_tmp = ishft(pack_tmp, -29)
28141 data_tmp = ishft(pack_tmp, 2)
28143 pack_tmp = packed_data(ipack)
28144 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
28145 pack_tmp = ishft(pack_tmp, -2)
28147 data_tmp = iand(pack_tmp, mask_right(nbits))
28148 full_data(idata) = data_tmp
28149 pack_tmp = ishft(pack_tmp, -nbits)
28151 data_tmp = ishft(pack_tmp, 12)
28153 pack_tmp = packed_data(ipack)
28154 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
28155 pack_tmp = ishft(pack_tmp, -12)
28157 data_tmp = iand(pack_tmp, mask_right(nbits))
28158 full_data(idata) = data_tmp
28159 pack_tmp = ishft(pack_tmp, -nbits)
28161 data_tmp = ishft(pack_tmp, 22)
28163 pack_tmp = packed_data(ipack)
28164 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
28165 pack_tmp = ishft(pack_tmp, -22)
28167 data_tmp = iand(pack_tmp, mask_right(nbits))
28168 full_data(idata) = data_tmp
28169 pack_tmp = ishft(pack_tmp, -nbits)
28171 data_tmp = ishft(pack_tmp, 32)
28173 pack_tmp = packed_data(ipack)
28174 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
28175 pack_tmp = ishft(pack_tmp, -32)
28177 data_tmp = ishft(pack_tmp, 5)
28179 pack_tmp = packed_data(ipack)
28180 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
28181 pack_tmp = ishft(pack_tmp, -5)
28183 data_tmp = iand(pack_tmp, mask_right(nbits))
28184 full_data(idata) = data_tmp
28185 pack_tmp = ishft(pack_tmp, -nbits)
28187 data_tmp = ishft(pack_tmp, 15)
28189 pack_tmp = packed_data(ipack)
28190 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
28191 pack_tmp = ishft(pack_tmp, -15)
28193 data_tmp = iand(pack_tmp, mask_right(nbits))
28194 full_data(idata) = data_tmp
28195 pack_tmp = ishft(pack_tmp, -nbits)
28197 data_tmp = ishft(pack_tmp, 25)
28199 pack_tmp = packed_data(ipack)
28200 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
28201 pack_tmp = ishft(pack_tmp, -25)
28203 data_tmp = iand(pack_tmp, mask_right(nbits))
28204 full_data(idata) = data_tmp
28205 pack_tmp = ishft(pack_tmp, -nbits)
28207 data_tmp = ishft(pack_tmp, 35)
28209 pack_tmp = packed_data(ipack)
28210 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
28211 pack_tmp = ishft(pack_tmp, -35)
28213 data_tmp = ishft(pack_tmp, 8)
28215 pack_tmp = packed_data(ipack)
28216 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
28217 pack_tmp = ishft(pack_tmp, -8)
28219 data_tmp = iand(pack_tmp, mask_right(nbits))
28220 full_data(idata) = data_tmp
28221 pack_tmp = ishft(pack_tmp, -nbits)
28223 data_tmp = ishft(pack_tmp, 18)
28225 pack_tmp = packed_data(ipack)
28226 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
28227 pack_tmp = ishft(pack_tmp, -18)
28229 data_tmp = iand(pack_tmp, mask_right(nbits))
28230 full_data(idata) = data_tmp
28231 pack_tmp = ishft(pack_tmp, -nbits)
28233 data_tmp = ishft(pack_tmp, 28)
28235 pack_tmp = packed_data(ipack)
28236 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
28237 pack_tmp = ishft(pack_tmp, -28)
28239 data_tmp = ishft(pack_tmp, 1)
28241 pack_tmp = packed_data(ipack)
28242 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
28243 pack_tmp = ishft(pack_tmp, -1)
28245 data_tmp = iand(pack_tmp, mask_right(nbits))
28246 full_data(idata) = data_tmp
28247 pack_tmp = ishft(pack_tmp, -nbits)
28249 data_tmp = ishft(pack_tmp, 11)
28251 pack_tmp = packed_data(ipack)
28252 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
28253 pack_tmp = ishft(pack_tmp, -11)
28255 data_tmp = iand(pack_tmp, mask_right(nbits))
28256 full_data(idata) = data_tmp
28257 pack_tmp = ishft(pack_tmp, -nbits)
28259 data_tmp = ishft(pack_tmp, 21)
28261 pack_tmp = packed_data(ipack)
28262 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
28263 pack_tmp = ishft(pack_tmp, -21)
28265 data_tmp = iand(pack_tmp, mask_right(nbits))
28266 full_data(idata) = data_tmp
28267 pack_tmp = ishft(pack_tmp, -nbits)
28269 data_tmp = ishft(pack_tmp, 31)
28271 pack_tmp = packed_data(ipack)
28272 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
28273 pack_tmp = ishft(pack_tmp, -31)
28275 data_tmp = ishft(pack_tmp, 4)
28277 pack_tmp = packed_data(ipack)
28278 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
28279 pack_tmp = ishft(pack_tmp, -4)
28281 data_tmp = iand(pack_tmp, mask_right(nbits))
28282 full_data(idata) = data_tmp
28283 pack_tmp = ishft(pack_tmp, -nbits)
28285 data_tmp = ishft(pack_tmp, 14)
28287 pack_tmp = packed_data(ipack)
28288 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
28289 pack_tmp = ishft(pack_tmp, -14)
28291 data_tmp = iand(pack_tmp, mask_right(nbits))
28292 full_data(idata) = data_tmp
28293 pack_tmp = ishft(pack_tmp, -nbits)
28295 data_tmp = ishft(pack_tmp, 24)
28297 pack_tmp = packed_data(ipack)
28298 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
28299 pack_tmp = ishft(pack_tmp, -24)
28301 data_tmp = iand(pack_tmp, mask_right(nbits))
28302 full_data(idata) = data_tmp
28303 pack_tmp = ishft(pack_tmp, -nbits)
28305 data_tmp = ishft(pack_tmp, 34)
28307 pack_tmp = packed_data(ipack)
28308 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
28309 pack_tmp = ishft(pack_tmp, -34)
28311 data_tmp = ishft(pack_tmp, 7)
28313 pack_tmp = packed_data(ipack)
28314 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
28315 pack_tmp = ishft(pack_tmp, -7)
28317 data_tmp = iand(pack_tmp, mask_right(nbits))
28318 full_data(idata) = data_tmp
28319 pack_tmp = ishft(pack_tmp, -nbits)
28321 data_tmp = ishft(pack_tmp, 17)
28323 pack_tmp = packed_data(ipack)
28324 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
28325 pack_tmp = ishft(pack_tmp, -17)
28327 data_tmp = iand(pack_tmp, mask_right(nbits))
28328 full_data(idata) = data_tmp
28329 pack_tmp = ishft(pack_tmp, -nbits)
28331 data_tmp = ishft(pack_tmp, 27)
28333 pack_tmp = packed_data(ipack)
28334 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
28335 pack_tmp = ishft(pack_tmp, -27)
28337 data_tmp = iand(pack_tmp, mask_right(nbits))
28338 full_data(idata) = data_tmp
28339 pack_tmp = ishft(pack_tmp, -nbits)
28341 IF (ndata_rep < ndata)
THEN
28342 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
28344 END SUBROUTINE bits2ints_37
28352 SUBROUTINE ints2bits_38(Ndata, packed_data, full_data)
28353 INTEGER,
INTENT(IN) :: Ndata
28354 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
28355 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
28357 INTEGER,
PARAMETER :: Nbits = 38
28359 INTEGER :: idata, ipack, kdata, Ndata_rep
28360 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
28364 ndata_rep = (ndata/64)*64
28365 DO kdata = 1, ndata_rep, 64
28368 data_tmp = full_data(idata)
28369 data_tmp = ishft(data_tmp, 26)
28370 pack_tmp = ior(pack_tmp, data_tmp)
28371 pack_tmp = ishft(pack_tmp, -26)
28373 data_tmp = full_data(idata)
28374 data_tmp = ishft(data_tmp, 26)
28375 data_tmp = iand(data_tmp, mask_left(26))
28376 pack_tmp = ior(pack_tmp, data_tmp)
28378 packed_data(ipack) = pack_tmp
28379 data_tmp = full_data(idata)
28380 pack_tmp = ishft(data_tmp, 52)
28381 pack_tmp = ishft(pack_tmp, -38)
28383 data_tmp = full_data(idata)
28384 data_tmp = ishft(data_tmp, 26)
28385 pack_tmp = ior(pack_tmp, data_tmp)
28386 pack_tmp = ishft(pack_tmp, -14)
28388 data_tmp = full_data(idata)
28389 data_tmp = ishft(data_tmp, 26)
28390 data_tmp = iand(data_tmp, mask_left(14))
28391 pack_tmp = ior(pack_tmp, data_tmp)
28393 packed_data(ipack) = pack_tmp
28394 data_tmp = full_data(idata)
28395 pack_tmp = ishft(data_tmp, 40)
28396 pack_tmp = ishft(pack_tmp, -38)
28398 data_tmp = full_data(idata)
28399 data_tmp = ishft(data_tmp, 26)
28400 pack_tmp = ior(pack_tmp, data_tmp)
28401 pack_tmp = ishft(pack_tmp, -2)
28403 data_tmp = full_data(idata)
28404 data_tmp = ishft(data_tmp, 26)
28405 data_tmp = iand(data_tmp, mask_left(2))
28406 pack_tmp = ior(pack_tmp, data_tmp)
28408 packed_data(ipack) = pack_tmp
28409 data_tmp = full_data(idata)
28410 pack_tmp = ishft(data_tmp, 28)
28411 pack_tmp = ishft(pack_tmp, -28)
28413 data_tmp = full_data(idata)
28414 data_tmp = ishft(data_tmp, 26)
28415 data_tmp = iand(data_tmp, mask_left(28))
28416 pack_tmp = ior(pack_tmp, data_tmp)
28418 packed_data(ipack) = pack_tmp
28419 data_tmp = full_data(idata)
28420 pack_tmp = ishft(data_tmp, 54)
28421 pack_tmp = ishft(pack_tmp, -38)
28423 data_tmp = full_data(idata)
28424 data_tmp = ishft(data_tmp, 26)
28425 pack_tmp = ior(pack_tmp, data_tmp)
28426 pack_tmp = ishft(pack_tmp, -16)
28428 data_tmp = full_data(idata)
28429 data_tmp = ishft(data_tmp, 26)
28430 data_tmp = iand(data_tmp, mask_left(16))
28431 pack_tmp = ior(pack_tmp, data_tmp)
28433 packed_data(ipack) = pack_tmp
28434 data_tmp = full_data(idata)
28435 pack_tmp = ishft(data_tmp, 42)
28436 pack_tmp = ishft(pack_tmp, -38)
28438 data_tmp = full_data(idata)
28439 data_tmp = ishft(data_tmp, 26)
28440 pack_tmp = ior(pack_tmp, data_tmp)
28441 pack_tmp = ishft(pack_tmp, -4)
28443 data_tmp = full_data(idata)
28444 data_tmp = ishft(data_tmp, 26)
28445 data_tmp = iand(data_tmp, mask_left(4))
28446 pack_tmp = ior(pack_tmp, data_tmp)
28448 packed_data(ipack) = pack_tmp
28449 data_tmp = full_data(idata)
28450 pack_tmp = ishft(data_tmp, 30)
28451 pack_tmp = ishft(pack_tmp, -30)
28453 data_tmp = full_data(idata)
28454 data_tmp = ishft(data_tmp, 26)
28455 data_tmp = iand(data_tmp, mask_left(30))
28456 pack_tmp = ior(pack_tmp, data_tmp)
28458 packed_data(ipack) = pack_tmp
28459 data_tmp = full_data(idata)
28460 pack_tmp = ishft(data_tmp, 56)
28461 pack_tmp = ishft(pack_tmp, -38)
28463 data_tmp = full_data(idata)
28464 data_tmp = ishft(data_tmp, 26)
28465 pack_tmp = ior(pack_tmp, data_tmp)
28466 pack_tmp = ishft(pack_tmp, -18)
28468 data_tmp = full_data(idata)
28469 data_tmp = ishft(data_tmp, 26)
28470 data_tmp = iand(data_tmp, mask_left(18))
28471 pack_tmp = ior(pack_tmp, data_tmp)
28473 packed_data(ipack) = pack_tmp
28474 data_tmp = full_data(idata)
28475 pack_tmp = ishft(data_tmp, 44)
28476 pack_tmp = ishft(pack_tmp, -38)
28478 data_tmp = full_data(idata)
28479 data_tmp = ishft(data_tmp, 26)
28480 pack_tmp = ior(pack_tmp, data_tmp)
28481 pack_tmp = ishft(pack_tmp, -6)
28483 data_tmp = full_data(idata)
28484 data_tmp = ishft(data_tmp, 26)
28485 data_tmp = iand(data_tmp, mask_left(6))
28486 pack_tmp = ior(pack_tmp, data_tmp)
28488 packed_data(ipack) = pack_tmp
28489 data_tmp = full_data(idata)
28490 pack_tmp = ishft(data_tmp, 32)
28491 pack_tmp = ishft(pack_tmp, -32)
28493 data_tmp = full_data(idata)
28494 data_tmp = ishft(data_tmp, 26)
28495 data_tmp = iand(data_tmp, mask_left(32))
28496 pack_tmp = ior(pack_tmp, data_tmp)
28498 packed_data(ipack) = pack_tmp
28499 data_tmp = full_data(idata)
28500 pack_tmp = ishft(data_tmp, 58)
28501 pack_tmp = ishft(pack_tmp, -38)
28503 data_tmp = full_data(idata)
28504 data_tmp = ishft(data_tmp, 26)
28505 pack_tmp = ior(pack_tmp, data_tmp)
28506 pack_tmp = ishft(pack_tmp, -20)
28508 data_tmp = full_data(idata)
28509 data_tmp = ishft(data_tmp, 26)
28510 data_tmp = iand(data_tmp, mask_left(20))
28511 pack_tmp = ior(pack_tmp, data_tmp)
28513 packed_data(ipack) = pack_tmp
28514 data_tmp = full_data(idata)
28515 pack_tmp = ishft(data_tmp, 46)
28516 pack_tmp = ishft(pack_tmp, -38)
28518 data_tmp = full_data(idata)
28519 data_tmp = ishft(data_tmp, 26)
28520 pack_tmp = ior(pack_tmp, data_tmp)
28521 pack_tmp = ishft(pack_tmp, -8)
28523 data_tmp = full_data(idata)
28524 data_tmp = ishft(data_tmp, 26)
28525 data_tmp = iand(data_tmp, mask_left(8))
28526 pack_tmp = ior(pack_tmp, data_tmp)
28528 packed_data(ipack) = pack_tmp
28529 data_tmp = full_data(idata)
28530 pack_tmp = ishft(data_tmp, 34)
28531 pack_tmp = ishft(pack_tmp, -34)
28533 data_tmp = full_data(idata)
28534 data_tmp = ishft(data_tmp, 26)
28535 data_tmp = iand(data_tmp, mask_left(34))
28536 pack_tmp = ior(pack_tmp, data_tmp)
28538 packed_data(ipack) = pack_tmp
28539 data_tmp = full_data(idata)
28540 pack_tmp = ishft(data_tmp, 60)
28541 pack_tmp = ishft(pack_tmp, -38)
28543 data_tmp = full_data(idata)
28544 data_tmp = ishft(data_tmp, 26)
28545 pack_tmp = ior(pack_tmp, data_tmp)
28546 pack_tmp = ishft(pack_tmp, -22)
28548 data_tmp = full_data(idata)
28549 data_tmp = ishft(data_tmp, 26)
28550 data_tmp = iand(data_tmp, mask_left(22))
28551 pack_tmp = ior(pack_tmp, data_tmp)
28553 packed_data(ipack) = pack_tmp
28554 data_tmp = full_data(idata)
28555 pack_tmp = ishft(data_tmp, 48)
28556 pack_tmp = ishft(pack_tmp, -38)
28558 data_tmp = full_data(idata)
28559 data_tmp = ishft(data_tmp, 26)
28560 pack_tmp = ior(pack_tmp, data_tmp)
28561 pack_tmp = ishft(pack_tmp, -10)
28563 data_tmp = full_data(idata)
28564 data_tmp = ishft(data_tmp, 26)
28565 data_tmp = iand(data_tmp, mask_left(10))
28566 pack_tmp = ior(pack_tmp, data_tmp)
28568 packed_data(ipack) = pack_tmp
28569 data_tmp = full_data(idata)
28570 pack_tmp = ishft(data_tmp, 36)
28571 pack_tmp = ishft(pack_tmp, -36)
28573 data_tmp = full_data(idata)
28574 data_tmp = ishft(data_tmp, 26)
28575 data_tmp = iand(data_tmp, mask_left(36))
28576 pack_tmp = ior(pack_tmp, data_tmp)
28578 packed_data(ipack) = pack_tmp
28579 data_tmp = full_data(idata)
28580 pack_tmp = ishft(data_tmp, 62)
28581 pack_tmp = ishft(pack_tmp, -38)
28583 data_tmp = full_data(idata)
28584 data_tmp = ishft(data_tmp, 26)
28585 pack_tmp = ior(pack_tmp, data_tmp)
28586 pack_tmp = ishft(pack_tmp, -24)
28588 data_tmp = full_data(idata)
28589 data_tmp = ishft(data_tmp, 26)
28590 data_tmp = iand(data_tmp, mask_left(24))
28591 pack_tmp = ior(pack_tmp, data_tmp)
28593 packed_data(ipack) = pack_tmp
28594 data_tmp = full_data(idata)
28595 pack_tmp = ishft(data_tmp, 50)
28596 pack_tmp = ishft(pack_tmp, -38)
28598 data_tmp = full_data(idata)
28599 data_tmp = ishft(data_tmp, 26)
28600 pack_tmp = ior(pack_tmp, data_tmp)
28601 pack_tmp = ishft(pack_tmp, -12)
28603 data_tmp = full_data(idata)
28604 data_tmp = ishft(data_tmp, 26)
28605 data_tmp = iand(data_tmp, mask_left(12))
28606 pack_tmp = ior(pack_tmp, data_tmp)
28608 packed_data(ipack) = pack_tmp
28609 data_tmp = full_data(idata)
28610 pack_tmp = ishft(data_tmp, 38)
28611 pack_tmp = ishft(pack_tmp, -38)
28613 data_tmp = full_data(idata)
28614 data_tmp = ishft(data_tmp, 26)
28615 pack_tmp = ior(pack_tmp, data_tmp)
28616 pack_tmp = ishft(pack_tmp, 0)
28618 data_tmp = full_data(idata)
28619 data_tmp = ishft(data_tmp, 26)
28620 data_tmp = iand(data_tmp, mask_left(0))
28621 pack_tmp = ior(pack_tmp, data_tmp)
28623 packed_data(ipack) = pack_tmp
28624 data_tmp = full_data(idata)
28625 pack_tmp = ishft(data_tmp, 26)
28626 pack_tmp = ishft(pack_tmp, -26)
28628 data_tmp = full_data(idata)
28629 data_tmp = ishft(data_tmp, 26)
28630 data_tmp = iand(data_tmp, mask_left(26))
28631 pack_tmp = ior(pack_tmp, data_tmp)
28633 packed_data(ipack) = pack_tmp
28634 data_tmp = full_data(idata)
28635 pack_tmp = ishft(data_tmp, 52)
28636 pack_tmp = ishft(pack_tmp, -38)
28638 data_tmp = full_data(idata)
28639 data_tmp = ishft(data_tmp, 26)
28640 pack_tmp = ior(pack_tmp, data_tmp)
28641 pack_tmp = ishft(pack_tmp, -14)
28643 data_tmp = full_data(idata)
28644 data_tmp = ishft(data_tmp, 26)
28645 data_tmp = iand(data_tmp, mask_left(14))
28646 pack_tmp = ior(pack_tmp, data_tmp)
28648 packed_data(ipack) = pack_tmp
28649 data_tmp = full_data(idata)
28650 pack_tmp = ishft(data_tmp, 40)
28651 pack_tmp = ishft(pack_tmp, -38)
28653 data_tmp = full_data(idata)
28654 data_tmp = ishft(data_tmp, 26)
28655 pack_tmp = ior(pack_tmp, data_tmp)
28656 pack_tmp = ishft(pack_tmp, -2)
28658 data_tmp = full_data(idata)
28659 data_tmp = ishft(data_tmp, 26)
28660 data_tmp = iand(data_tmp, mask_left(2))
28661 pack_tmp = ior(pack_tmp, data_tmp)
28663 packed_data(ipack) = pack_tmp
28664 data_tmp = full_data(idata)
28665 pack_tmp = ishft(data_tmp, 28)
28666 pack_tmp = ishft(pack_tmp, -28)
28668 data_tmp = full_data(idata)
28669 data_tmp = ishft(data_tmp, 26)
28670 data_tmp = iand(data_tmp, mask_left(28))
28671 pack_tmp = ior(pack_tmp, data_tmp)
28673 packed_data(ipack) = pack_tmp
28674 data_tmp = full_data(idata)
28675 pack_tmp = ishft(data_tmp, 54)
28676 pack_tmp = ishft(pack_tmp, -38)
28678 data_tmp = full_data(idata)
28679 data_tmp = ishft(data_tmp, 26)
28680 pack_tmp = ior(pack_tmp, data_tmp)
28681 pack_tmp = ishft(pack_tmp, -16)
28683 data_tmp = full_data(idata)
28684 data_tmp = ishft(data_tmp, 26)
28685 data_tmp = iand(data_tmp, mask_left(16))
28686 pack_tmp = ior(pack_tmp, data_tmp)
28688 packed_data(ipack) = pack_tmp
28689 data_tmp = full_data(idata)
28690 pack_tmp = ishft(data_tmp, 42)
28691 pack_tmp = ishft(pack_tmp, -38)
28693 data_tmp = full_data(idata)
28694 data_tmp = ishft(data_tmp, 26)
28695 pack_tmp = ior(pack_tmp, data_tmp)
28696 pack_tmp = ishft(pack_tmp, -4)
28698 data_tmp = full_data(idata)
28699 data_tmp = ishft(data_tmp, 26)
28700 data_tmp = iand(data_tmp, mask_left(4))
28701 pack_tmp = ior(pack_tmp, data_tmp)
28703 packed_data(ipack) = pack_tmp
28704 data_tmp = full_data(idata)
28705 pack_tmp = ishft(data_tmp, 30)
28706 pack_tmp = ishft(pack_tmp, -30)
28708 data_tmp = full_data(idata)
28709 data_tmp = ishft(data_tmp, 26)
28710 data_tmp = iand(data_tmp, mask_left(30))
28711 pack_tmp = ior(pack_tmp, data_tmp)
28713 packed_data(ipack) = pack_tmp
28714 data_tmp = full_data(idata)
28715 pack_tmp = ishft(data_tmp, 56)
28716 pack_tmp = ishft(pack_tmp, -38)
28718 data_tmp = full_data(idata)
28719 data_tmp = ishft(data_tmp, 26)
28720 pack_tmp = ior(pack_tmp, data_tmp)
28721 pack_tmp = ishft(pack_tmp, -18)
28723 data_tmp = full_data(idata)
28724 data_tmp = ishft(data_tmp, 26)
28725 data_tmp = iand(data_tmp, mask_left(18))
28726 pack_tmp = ior(pack_tmp, data_tmp)
28728 packed_data(ipack) = pack_tmp
28729 data_tmp = full_data(idata)
28730 pack_tmp = ishft(data_tmp, 44)
28731 pack_tmp = ishft(pack_tmp, -38)
28733 data_tmp = full_data(idata)
28734 data_tmp = ishft(data_tmp, 26)
28735 pack_tmp = ior(pack_tmp, data_tmp)
28736 pack_tmp = ishft(pack_tmp, -6)
28738 data_tmp = full_data(idata)
28739 data_tmp = ishft(data_tmp, 26)
28740 data_tmp = iand(data_tmp, mask_left(6))
28741 pack_tmp = ior(pack_tmp, data_tmp)
28743 packed_data(ipack) = pack_tmp
28744 data_tmp = full_data(idata)
28745 pack_tmp = ishft(data_tmp, 32)
28746 pack_tmp = ishft(pack_tmp, -32)
28748 data_tmp = full_data(idata)
28749 data_tmp = ishft(data_tmp, 26)
28750 data_tmp = iand(data_tmp, mask_left(32))
28751 pack_tmp = ior(pack_tmp, data_tmp)
28753 packed_data(ipack) = pack_tmp
28754 data_tmp = full_data(idata)
28755 pack_tmp = ishft(data_tmp, 58)
28756 pack_tmp = ishft(pack_tmp, -38)
28758 data_tmp = full_data(idata)
28759 data_tmp = ishft(data_tmp, 26)
28760 pack_tmp = ior(pack_tmp, data_tmp)
28761 pack_tmp = ishft(pack_tmp, -20)
28763 data_tmp = full_data(idata)
28764 data_tmp = ishft(data_tmp, 26)
28765 data_tmp = iand(data_tmp, mask_left(20))
28766 pack_tmp = ior(pack_tmp, data_tmp)
28768 packed_data(ipack) = pack_tmp
28769 data_tmp = full_data(idata)
28770 pack_tmp = ishft(data_tmp, 46)
28771 pack_tmp = ishft(pack_tmp, -38)
28773 data_tmp = full_data(idata)
28774 data_tmp = ishft(data_tmp, 26)
28775 pack_tmp = ior(pack_tmp, data_tmp)
28776 pack_tmp = ishft(pack_tmp, -8)
28778 data_tmp = full_data(idata)
28779 data_tmp = ishft(data_tmp, 26)
28780 data_tmp = iand(data_tmp, mask_left(8))
28781 pack_tmp = ior(pack_tmp, data_tmp)
28783 packed_data(ipack) = pack_tmp
28784 data_tmp = full_data(idata)
28785 pack_tmp = ishft(data_tmp, 34)
28786 pack_tmp = ishft(pack_tmp, -34)
28788 data_tmp = full_data(idata)
28789 data_tmp = ishft(data_tmp, 26)
28790 data_tmp = iand(data_tmp, mask_left(34))
28791 pack_tmp = ior(pack_tmp, data_tmp)
28793 packed_data(ipack) = pack_tmp
28794 data_tmp = full_data(idata)
28795 pack_tmp = ishft(data_tmp, 60)
28796 pack_tmp = ishft(pack_tmp, -38)
28798 data_tmp = full_data(idata)
28799 data_tmp = ishft(data_tmp, 26)
28800 pack_tmp = ior(pack_tmp, data_tmp)
28801 pack_tmp = ishft(pack_tmp, -22)
28803 data_tmp = full_data(idata)
28804 data_tmp = ishft(data_tmp, 26)
28805 data_tmp = iand(data_tmp, mask_left(22))
28806 pack_tmp = ior(pack_tmp, data_tmp)
28808 packed_data(ipack) = pack_tmp
28809 data_tmp = full_data(idata)
28810 pack_tmp = ishft(data_tmp, 48)
28811 pack_tmp = ishft(pack_tmp, -38)
28813 data_tmp = full_data(idata)
28814 data_tmp = ishft(data_tmp, 26)
28815 pack_tmp = ior(pack_tmp, data_tmp)
28816 pack_tmp = ishft(pack_tmp, -10)
28818 data_tmp = full_data(idata)
28819 data_tmp = ishft(data_tmp, 26)
28820 data_tmp = iand(data_tmp, mask_left(10))
28821 pack_tmp = ior(pack_tmp, data_tmp)
28823 packed_data(ipack) = pack_tmp
28824 data_tmp = full_data(idata)
28825 pack_tmp = ishft(data_tmp, 36)
28826 pack_tmp = ishft(pack_tmp, -36)
28828 data_tmp = full_data(idata)
28829 data_tmp = ishft(data_tmp, 26)
28830 data_tmp = iand(data_tmp, mask_left(36))
28831 pack_tmp = ior(pack_tmp, data_tmp)
28833 packed_data(ipack) = pack_tmp
28834 data_tmp = full_data(idata)
28835 pack_tmp = ishft(data_tmp, 62)
28836 pack_tmp = ishft(pack_tmp, -38)
28838 data_tmp = full_data(idata)
28839 data_tmp = ishft(data_tmp, 26)
28840 pack_tmp = ior(pack_tmp, data_tmp)
28841 pack_tmp = ishft(pack_tmp, -24)
28843 data_tmp = full_data(idata)
28844 data_tmp = ishft(data_tmp, 26)
28845 data_tmp = iand(data_tmp, mask_left(24))
28846 pack_tmp = ior(pack_tmp, data_tmp)
28848 packed_data(ipack) = pack_tmp
28849 data_tmp = full_data(idata)
28850 pack_tmp = ishft(data_tmp, 50)
28851 pack_tmp = ishft(pack_tmp, -38)
28853 data_tmp = full_data(idata)
28854 data_tmp = ishft(data_tmp, 26)
28855 pack_tmp = ior(pack_tmp, data_tmp)
28856 pack_tmp = ishft(pack_tmp, -12)
28858 data_tmp = full_data(idata)
28859 data_tmp = ishft(data_tmp, 26)
28860 data_tmp = iand(data_tmp, mask_left(12))
28861 pack_tmp = ior(pack_tmp, data_tmp)
28863 packed_data(ipack) = pack_tmp
28864 data_tmp = full_data(idata)
28865 pack_tmp = ishft(data_tmp, 38)
28866 pack_tmp = ishft(pack_tmp, -38)
28868 data_tmp = full_data(idata)
28869 data_tmp = ishft(data_tmp, 26)
28870 pack_tmp = ior(pack_tmp, data_tmp)
28871 pack_tmp = ishft(pack_tmp, 0)
28872 pack_tmp = ishft(pack_tmp, 0)
28874 packed_data(ipack) = pack_tmp
28876 IF (ndata_rep < ndata)
THEN
28877 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
28879 END SUBROUTINE ints2bits_38
28887 SUBROUTINE bits2ints_38(Ndata, packed_data, full_data)
28888 INTEGER,
INTENT(IN) :: Ndata
28889 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
28890 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
28892 INTEGER,
PARAMETER :: Nbits = 38
28894 INTEGER :: idata, ipack, kdata, Ndata_rep
28895 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
28900 ndata_rep = (ndata/64)*64
28901 DO kdata = 1, ndata_rep, 64
28903 data_tmp = ishft(pack_tmp, 38)
28905 pack_tmp = packed_data(ipack)
28906 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
28907 pack_tmp = ishft(pack_tmp, -38)
28909 data_tmp = ishft(pack_tmp, 12)
28911 pack_tmp = packed_data(ipack)
28912 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
28913 pack_tmp = ishft(pack_tmp, -12)
28915 data_tmp = iand(pack_tmp, mask_right(nbits))
28916 full_data(idata) = data_tmp
28917 pack_tmp = ishft(pack_tmp, -nbits)
28919 data_tmp = ishft(pack_tmp, 24)
28921 pack_tmp = packed_data(ipack)
28922 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
28923 pack_tmp = ishft(pack_tmp, -24)
28925 data_tmp = iand(pack_tmp, mask_right(nbits))
28926 full_data(idata) = data_tmp
28927 pack_tmp = ishft(pack_tmp, -nbits)
28929 data_tmp = ishft(pack_tmp, 36)
28931 pack_tmp = packed_data(ipack)
28932 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
28933 pack_tmp = ishft(pack_tmp, -36)
28935 data_tmp = ishft(pack_tmp, 10)
28937 pack_tmp = packed_data(ipack)
28938 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
28939 pack_tmp = ishft(pack_tmp, -10)
28941 data_tmp = iand(pack_tmp, mask_right(nbits))
28942 full_data(idata) = data_tmp
28943 pack_tmp = ishft(pack_tmp, -nbits)
28945 data_tmp = ishft(pack_tmp, 22)
28947 pack_tmp = packed_data(ipack)
28948 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
28949 pack_tmp = ishft(pack_tmp, -22)
28951 data_tmp = iand(pack_tmp, mask_right(nbits))
28952 full_data(idata) = data_tmp
28953 pack_tmp = ishft(pack_tmp, -nbits)
28955 data_tmp = ishft(pack_tmp, 34)
28957 pack_tmp = packed_data(ipack)
28958 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
28959 pack_tmp = ishft(pack_tmp, -34)
28961 data_tmp = ishft(pack_tmp, 8)
28963 pack_tmp = packed_data(ipack)
28964 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
28965 pack_tmp = ishft(pack_tmp, -8)
28967 data_tmp = iand(pack_tmp, mask_right(nbits))
28968 full_data(idata) = data_tmp
28969 pack_tmp = ishft(pack_tmp, -nbits)
28971 data_tmp = ishft(pack_tmp, 20)
28973 pack_tmp = packed_data(ipack)
28974 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
28975 pack_tmp = ishft(pack_tmp, -20)
28977 data_tmp = iand(pack_tmp, mask_right(nbits))
28978 full_data(idata) = data_tmp
28979 pack_tmp = ishft(pack_tmp, -nbits)
28981 data_tmp = ishft(pack_tmp, 32)
28983 pack_tmp = packed_data(ipack)
28984 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
28985 pack_tmp = ishft(pack_tmp, -32)
28987 data_tmp = ishft(pack_tmp, 6)
28989 pack_tmp = packed_data(ipack)
28990 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
28991 pack_tmp = ishft(pack_tmp, -6)
28993 data_tmp = iand(pack_tmp, mask_right(nbits))
28994 full_data(idata) = data_tmp
28995 pack_tmp = ishft(pack_tmp, -nbits)
28997 data_tmp = ishft(pack_tmp, 18)
28999 pack_tmp = packed_data(ipack)
29000 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
29001 pack_tmp = ishft(pack_tmp, -18)
29003 data_tmp = iand(pack_tmp, mask_right(nbits))
29004 full_data(idata) = data_tmp
29005 pack_tmp = ishft(pack_tmp, -nbits)
29007 data_tmp = ishft(pack_tmp, 30)
29009 pack_tmp = packed_data(ipack)
29010 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
29011 pack_tmp = ishft(pack_tmp, -30)
29013 data_tmp = ishft(pack_tmp, 4)
29015 pack_tmp = packed_data(ipack)
29016 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
29017 pack_tmp = ishft(pack_tmp, -4)
29019 data_tmp = iand(pack_tmp, mask_right(nbits))
29020 full_data(idata) = data_tmp
29021 pack_tmp = ishft(pack_tmp, -nbits)
29023 data_tmp = ishft(pack_tmp, 16)
29025 pack_tmp = packed_data(ipack)
29026 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
29027 pack_tmp = ishft(pack_tmp, -16)
29029 data_tmp = iand(pack_tmp, mask_right(nbits))
29030 full_data(idata) = data_tmp
29031 pack_tmp = ishft(pack_tmp, -nbits)
29033 data_tmp = ishft(pack_tmp, 28)
29035 pack_tmp = packed_data(ipack)
29036 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
29037 pack_tmp = ishft(pack_tmp, -28)
29039 data_tmp = ishft(pack_tmp, 2)
29041 pack_tmp = packed_data(ipack)
29042 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
29043 pack_tmp = ishft(pack_tmp, -2)
29045 data_tmp = iand(pack_tmp, mask_right(nbits))
29046 full_data(idata) = data_tmp
29047 pack_tmp = ishft(pack_tmp, -nbits)
29049 data_tmp = ishft(pack_tmp, 14)
29051 pack_tmp = packed_data(ipack)
29052 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
29053 pack_tmp = ishft(pack_tmp, -14)
29055 data_tmp = iand(pack_tmp, mask_right(nbits))
29056 full_data(idata) = data_tmp
29057 pack_tmp = ishft(pack_tmp, -nbits)
29059 data_tmp = ishft(pack_tmp, 26)
29061 pack_tmp = packed_data(ipack)
29062 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
29063 pack_tmp = ishft(pack_tmp, -26)
29065 data_tmp = iand(pack_tmp, mask_right(nbits))
29066 full_data(idata) = data_tmp
29067 pack_tmp = ishft(pack_tmp, -nbits)
29069 data_tmp = ishft(pack_tmp, 38)
29071 pack_tmp = packed_data(ipack)
29072 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
29073 pack_tmp = ishft(pack_tmp, -38)
29075 data_tmp = ishft(pack_tmp, 12)
29077 pack_tmp = packed_data(ipack)
29078 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
29079 pack_tmp = ishft(pack_tmp, -12)
29081 data_tmp = iand(pack_tmp, mask_right(nbits))
29082 full_data(idata) = data_tmp
29083 pack_tmp = ishft(pack_tmp, -nbits)
29085 data_tmp = ishft(pack_tmp, 24)
29087 pack_tmp = packed_data(ipack)
29088 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
29089 pack_tmp = ishft(pack_tmp, -24)
29091 data_tmp = iand(pack_tmp, mask_right(nbits))
29092 full_data(idata) = data_tmp
29093 pack_tmp = ishft(pack_tmp, -nbits)
29095 data_tmp = ishft(pack_tmp, 36)
29097 pack_tmp = packed_data(ipack)
29098 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
29099 pack_tmp = ishft(pack_tmp, -36)
29101 data_tmp = ishft(pack_tmp, 10)
29103 pack_tmp = packed_data(ipack)
29104 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
29105 pack_tmp = ishft(pack_tmp, -10)
29107 data_tmp = iand(pack_tmp, mask_right(nbits))
29108 full_data(idata) = data_tmp
29109 pack_tmp = ishft(pack_tmp, -nbits)
29111 data_tmp = ishft(pack_tmp, 22)
29113 pack_tmp = packed_data(ipack)
29114 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
29115 pack_tmp = ishft(pack_tmp, -22)
29117 data_tmp = iand(pack_tmp, mask_right(nbits))
29118 full_data(idata) = data_tmp
29119 pack_tmp = ishft(pack_tmp, -nbits)
29121 data_tmp = ishft(pack_tmp, 34)
29123 pack_tmp = packed_data(ipack)
29124 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
29125 pack_tmp = ishft(pack_tmp, -34)
29127 data_tmp = ishft(pack_tmp, 8)
29129 pack_tmp = packed_data(ipack)
29130 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
29131 pack_tmp = ishft(pack_tmp, -8)
29133 data_tmp = iand(pack_tmp, mask_right(nbits))
29134 full_data(idata) = data_tmp
29135 pack_tmp = ishft(pack_tmp, -nbits)
29137 data_tmp = ishft(pack_tmp, 20)
29139 pack_tmp = packed_data(ipack)
29140 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
29141 pack_tmp = ishft(pack_tmp, -20)
29143 data_tmp = iand(pack_tmp, mask_right(nbits))
29144 full_data(idata) = data_tmp
29145 pack_tmp = ishft(pack_tmp, -nbits)
29147 data_tmp = ishft(pack_tmp, 32)
29149 pack_tmp = packed_data(ipack)
29150 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
29151 pack_tmp = ishft(pack_tmp, -32)
29153 data_tmp = ishft(pack_tmp, 6)
29155 pack_tmp = packed_data(ipack)
29156 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
29157 pack_tmp = ishft(pack_tmp, -6)
29159 data_tmp = iand(pack_tmp, mask_right(nbits))
29160 full_data(idata) = data_tmp
29161 pack_tmp = ishft(pack_tmp, -nbits)
29163 data_tmp = ishft(pack_tmp, 18)
29165 pack_tmp = packed_data(ipack)
29166 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
29167 pack_tmp = ishft(pack_tmp, -18)
29169 data_tmp = iand(pack_tmp, mask_right(nbits))
29170 full_data(idata) = data_tmp
29171 pack_tmp = ishft(pack_tmp, -nbits)
29173 data_tmp = ishft(pack_tmp, 30)
29175 pack_tmp = packed_data(ipack)
29176 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
29177 pack_tmp = ishft(pack_tmp, -30)
29179 data_tmp = ishft(pack_tmp, 4)
29181 pack_tmp = packed_data(ipack)
29182 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
29183 pack_tmp = ishft(pack_tmp, -4)
29185 data_tmp = iand(pack_tmp, mask_right(nbits))
29186 full_data(idata) = data_tmp
29187 pack_tmp = ishft(pack_tmp, -nbits)
29189 data_tmp = ishft(pack_tmp, 16)
29191 pack_tmp = packed_data(ipack)
29192 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
29193 pack_tmp = ishft(pack_tmp, -16)
29195 data_tmp = iand(pack_tmp, mask_right(nbits))
29196 full_data(idata) = data_tmp
29197 pack_tmp = ishft(pack_tmp, -nbits)
29199 data_tmp = ishft(pack_tmp, 28)
29201 pack_tmp = packed_data(ipack)
29202 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
29203 pack_tmp = ishft(pack_tmp, -28)
29205 data_tmp = ishft(pack_tmp, 2)
29207 pack_tmp = packed_data(ipack)
29208 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
29209 pack_tmp = ishft(pack_tmp, -2)
29211 data_tmp = iand(pack_tmp, mask_right(nbits))
29212 full_data(idata) = data_tmp
29213 pack_tmp = ishft(pack_tmp, -nbits)
29215 data_tmp = ishft(pack_tmp, 14)
29217 pack_tmp = packed_data(ipack)
29218 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
29219 pack_tmp = ishft(pack_tmp, -14)
29221 data_tmp = iand(pack_tmp, mask_right(nbits))
29222 full_data(idata) = data_tmp
29223 pack_tmp = ishft(pack_tmp, -nbits)
29225 data_tmp = ishft(pack_tmp, 26)
29227 pack_tmp = packed_data(ipack)
29228 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
29229 pack_tmp = ishft(pack_tmp, -26)
29231 data_tmp = iand(pack_tmp, mask_right(nbits))
29232 full_data(idata) = data_tmp
29233 pack_tmp = ishft(pack_tmp, -nbits)
29235 IF (ndata_rep < ndata)
THEN
29236 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
29238 END SUBROUTINE bits2ints_38
29246 SUBROUTINE ints2bits_39(Ndata, packed_data, full_data)
29247 INTEGER,
INTENT(IN) :: Ndata
29248 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
29249 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
29251 INTEGER,
PARAMETER :: Nbits = 39
29253 INTEGER :: idata, ipack, kdata, Ndata_rep
29254 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
29258 ndata_rep = (ndata/64)*64
29259 DO kdata = 1, ndata_rep, 64
29262 data_tmp = full_data(idata)
29263 data_tmp = ishft(data_tmp, 25)
29264 pack_tmp = ior(pack_tmp, data_tmp)
29265 pack_tmp = ishft(pack_tmp, -25)
29267 data_tmp = full_data(idata)
29268 data_tmp = ishft(data_tmp, 25)
29269 data_tmp = iand(data_tmp, mask_left(25))
29270 pack_tmp = ior(pack_tmp, data_tmp)
29272 packed_data(ipack) = pack_tmp
29273 data_tmp = full_data(idata)
29274 pack_tmp = ishft(data_tmp, 50)
29275 pack_tmp = ishft(pack_tmp, -39)
29277 data_tmp = full_data(idata)
29278 data_tmp = ishft(data_tmp, 25)
29279 pack_tmp = ior(pack_tmp, data_tmp)
29280 pack_tmp = ishft(pack_tmp, -11)
29282 data_tmp = full_data(idata)
29283 data_tmp = ishft(data_tmp, 25)
29284 data_tmp = iand(data_tmp, mask_left(11))
29285 pack_tmp = ior(pack_tmp, data_tmp)
29287 packed_data(ipack) = pack_tmp
29288 data_tmp = full_data(idata)
29289 pack_tmp = ishft(data_tmp, 36)
29290 pack_tmp = ishft(pack_tmp, -36)
29292 data_tmp = full_data(idata)
29293 data_tmp = ishft(data_tmp, 25)
29294 data_tmp = iand(data_tmp, mask_left(36))
29295 pack_tmp = ior(pack_tmp, data_tmp)
29297 packed_data(ipack) = pack_tmp
29298 data_tmp = full_data(idata)
29299 pack_tmp = ishft(data_tmp, 61)
29300 pack_tmp = ishft(pack_tmp, -39)
29302 data_tmp = full_data(idata)
29303 data_tmp = ishft(data_tmp, 25)
29304 pack_tmp = ior(pack_tmp, data_tmp)
29305 pack_tmp = ishft(pack_tmp, -22)
29307 data_tmp = full_data(idata)
29308 data_tmp = ishft(data_tmp, 25)
29309 data_tmp = iand(data_tmp, mask_left(22))
29310 pack_tmp = ior(pack_tmp, data_tmp)
29312 packed_data(ipack) = pack_tmp
29313 data_tmp = full_data(idata)
29314 pack_tmp = ishft(data_tmp, 47)
29315 pack_tmp = ishft(pack_tmp, -39)
29317 data_tmp = full_data(idata)
29318 data_tmp = ishft(data_tmp, 25)
29319 pack_tmp = ior(pack_tmp, data_tmp)
29320 pack_tmp = ishft(pack_tmp, -8)
29322 data_tmp = full_data(idata)
29323 data_tmp = ishft(data_tmp, 25)
29324 data_tmp = iand(data_tmp, mask_left(8))
29325 pack_tmp = ior(pack_tmp, data_tmp)
29327 packed_data(ipack) = pack_tmp
29328 data_tmp = full_data(idata)
29329 pack_tmp = ishft(data_tmp, 33)
29330 pack_tmp = ishft(pack_tmp, -33)
29332 data_tmp = full_data(idata)
29333 data_tmp = ishft(data_tmp, 25)
29334 data_tmp = iand(data_tmp, mask_left(33))
29335 pack_tmp = ior(pack_tmp, data_tmp)
29337 packed_data(ipack) = pack_tmp
29338 data_tmp = full_data(idata)
29339 pack_tmp = ishft(data_tmp, 58)
29340 pack_tmp = ishft(pack_tmp, -39)
29342 data_tmp = full_data(idata)
29343 data_tmp = ishft(data_tmp, 25)
29344 pack_tmp = ior(pack_tmp, data_tmp)
29345 pack_tmp = ishft(pack_tmp, -19)
29347 data_tmp = full_data(idata)
29348 data_tmp = ishft(data_tmp, 25)
29349 data_tmp = iand(data_tmp, mask_left(19))
29350 pack_tmp = ior(pack_tmp, data_tmp)
29352 packed_data(ipack) = pack_tmp
29353 data_tmp = full_data(idata)
29354 pack_tmp = ishft(data_tmp, 44)
29355 pack_tmp = ishft(pack_tmp, -39)
29357 data_tmp = full_data(idata)
29358 data_tmp = ishft(data_tmp, 25)
29359 pack_tmp = ior(pack_tmp, data_tmp)
29360 pack_tmp = ishft(pack_tmp, -5)
29362 data_tmp = full_data(idata)
29363 data_tmp = ishft(data_tmp, 25)
29364 data_tmp = iand(data_tmp, mask_left(5))
29365 pack_tmp = ior(pack_tmp, data_tmp)
29367 packed_data(ipack) = pack_tmp
29368 data_tmp = full_data(idata)
29369 pack_tmp = ishft(data_tmp, 30)
29370 pack_tmp = ishft(pack_tmp, -30)
29372 data_tmp = full_data(idata)
29373 data_tmp = ishft(data_tmp, 25)
29374 data_tmp = iand(data_tmp, mask_left(30))
29375 pack_tmp = ior(pack_tmp, data_tmp)
29377 packed_data(ipack) = pack_tmp
29378 data_tmp = full_data(idata)
29379 pack_tmp = ishft(data_tmp, 55)
29380 pack_tmp = ishft(pack_tmp, -39)
29382 data_tmp = full_data(idata)
29383 data_tmp = ishft(data_tmp, 25)
29384 pack_tmp = ior(pack_tmp, data_tmp)
29385 pack_tmp = ishft(pack_tmp, -16)
29387 data_tmp = full_data(idata)
29388 data_tmp = ishft(data_tmp, 25)
29389 data_tmp = iand(data_tmp, mask_left(16))
29390 pack_tmp = ior(pack_tmp, data_tmp)
29392 packed_data(ipack) = pack_tmp
29393 data_tmp = full_data(idata)
29394 pack_tmp = ishft(data_tmp, 41)
29395 pack_tmp = ishft(pack_tmp, -39)
29397 data_tmp = full_data(idata)
29398 data_tmp = ishft(data_tmp, 25)
29399 pack_tmp = ior(pack_tmp, data_tmp)
29400 pack_tmp = ishft(pack_tmp, -2)
29402 data_tmp = full_data(idata)
29403 data_tmp = ishft(data_tmp, 25)
29404 data_tmp = iand(data_tmp, mask_left(2))
29405 pack_tmp = ior(pack_tmp, data_tmp)
29407 packed_data(ipack) = pack_tmp
29408 data_tmp = full_data(idata)
29409 pack_tmp = ishft(data_tmp, 27)
29410 pack_tmp = ishft(pack_tmp, -27)
29412 data_tmp = full_data(idata)
29413 data_tmp = ishft(data_tmp, 25)
29414 data_tmp = iand(data_tmp, mask_left(27))
29415 pack_tmp = ior(pack_tmp, data_tmp)
29417 packed_data(ipack) = pack_tmp
29418 data_tmp = full_data(idata)
29419 pack_tmp = ishft(data_tmp, 52)
29420 pack_tmp = ishft(pack_tmp, -39)
29422 data_tmp = full_data(idata)
29423 data_tmp = ishft(data_tmp, 25)
29424 pack_tmp = ior(pack_tmp, data_tmp)
29425 pack_tmp = ishft(pack_tmp, -13)
29427 data_tmp = full_data(idata)
29428 data_tmp = ishft(data_tmp, 25)
29429 data_tmp = iand(data_tmp, mask_left(13))
29430 pack_tmp = ior(pack_tmp, data_tmp)
29432 packed_data(ipack) = pack_tmp
29433 data_tmp = full_data(idata)
29434 pack_tmp = ishft(data_tmp, 38)
29435 pack_tmp = ishft(pack_tmp, -38)
29437 data_tmp = full_data(idata)
29438 data_tmp = ishft(data_tmp, 25)
29439 data_tmp = iand(data_tmp, mask_left(38))
29440 pack_tmp = ior(pack_tmp, data_tmp)
29442 packed_data(ipack) = pack_tmp
29443 data_tmp = full_data(idata)
29444 pack_tmp = ishft(data_tmp, 63)
29445 pack_tmp = ishft(pack_tmp, -39)
29447 data_tmp = full_data(idata)
29448 data_tmp = ishft(data_tmp, 25)
29449 pack_tmp = ior(pack_tmp, data_tmp)
29450 pack_tmp = ishft(pack_tmp, -24)
29452 data_tmp = full_data(idata)
29453 data_tmp = ishft(data_tmp, 25)
29454 data_tmp = iand(data_tmp, mask_left(24))
29455 pack_tmp = ior(pack_tmp, data_tmp)
29457 packed_data(ipack) = pack_tmp
29458 data_tmp = full_data(idata)
29459 pack_tmp = ishft(data_tmp, 49)
29460 pack_tmp = ishft(pack_tmp, -39)
29462 data_tmp = full_data(idata)
29463 data_tmp = ishft(data_tmp, 25)
29464 pack_tmp = ior(pack_tmp, data_tmp)
29465 pack_tmp = ishft(pack_tmp, -10)
29467 data_tmp = full_data(idata)
29468 data_tmp = ishft(data_tmp, 25)
29469 data_tmp = iand(data_tmp, mask_left(10))
29470 pack_tmp = ior(pack_tmp, data_tmp)
29472 packed_data(ipack) = pack_tmp
29473 data_tmp = full_data(idata)
29474 pack_tmp = ishft(data_tmp, 35)
29475 pack_tmp = ishft(pack_tmp, -35)
29477 data_tmp = full_data(idata)
29478 data_tmp = ishft(data_tmp, 25)
29479 data_tmp = iand(data_tmp, mask_left(35))
29480 pack_tmp = ior(pack_tmp, data_tmp)
29482 packed_data(ipack) = pack_tmp
29483 data_tmp = full_data(idata)
29484 pack_tmp = ishft(data_tmp, 60)
29485 pack_tmp = ishft(pack_tmp, -39)
29487 data_tmp = full_data(idata)
29488 data_tmp = ishft(data_tmp, 25)
29489 pack_tmp = ior(pack_tmp, data_tmp)
29490 pack_tmp = ishft(pack_tmp, -21)
29492 data_tmp = full_data(idata)
29493 data_tmp = ishft(data_tmp, 25)
29494 data_tmp = iand(data_tmp, mask_left(21))
29495 pack_tmp = ior(pack_tmp, data_tmp)
29497 packed_data(ipack) = pack_tmp
29498 data_tmp = full_data(idata)
29499 pack_tmp = ishft(data_tmp, 46)
29500 pack_tmp = ishft(pack_tmp, -39)
29502 data_tmp = full_data(idata)
29503 data_tmp = ishft(data_tmp, 25)
29504 pack_tmp = ior(pack_tmp, data_tmp)
29505 pack_tmp = ishft(pack_tmp, -7)
29507 data_tmp = full_data(idata)
29508 data_tmp = ishft(data_tmp, 25)
29509 data_tmp = iand(data_tmp, mask_left(7))
29510 pack_tmp = ior(pack_tmp, data_tmp)
29512 packed_data(ipack) = pack_tmp
29513 data_tmp = full_data(idata)
29514 pack_tmp = ishft(data_tmp, 32)
29515 pack_tmp = ishft(pack_tmp, -32)
29517 data_tmp = full_data(idata)
29518 data_tmp = ishft(data_tmp, 25)
29519 data_tmp = iand(data_tmp, mask_left(32))
29520 pack_tmp = ior(pack_tmp, data_tmp)
29522 packed_data(ipack) = pack_tmp
29523 data_tmp = full_data(idata)
29524 pack_tmp = ishft(data_tmp, 57)
29525 pack_tmp = ishft(pack_tmp, -39)
29527 data_tmp = full_data(idata)
29528 data_tmp = ishft(data_tmp, 25)
29529 pack_tmp = ior(pack_tmp, data_tmp)
29530 pack_tmp = ishft(pack_tmp, -18)
29532 data_tmp = full_data(idata)
29533 data_tmp = ishft(data_tmp, 25)
29534 data_tmp = iand(data_tmp, mask_left(18))
29535 pack_tmp = ior(pack_tmp, data_tmp)
29537 packed_data(ipack) = pack_tmp
29538 data_tmp = full_data(idata)
29539 pack_tmp = ishft(data_tmp, 43)
29540 pack_tmp = ishft(pack_tmp, -39)
29542 data_tmp = full_data(idata)
29543 data_tmp = ishft(data_tmp, 25)
29544 pack_tmp = ior(pack_tmp, data_tmp)
29545 pack_tmp = ishft(pack_tmp, -4)
29547 data_tmp = full_data(idata)
29548 data_tmp = ishft(data_tmp, 25)
29549 data_tmp = iand(data_tmp, mask_left(4))
29550 pack_tmp = ior(pack_tmp, data_tmp)
29552 packed_data(ipack) = pack_tmp
29553 data_tmp = full_data(idata)
29554 pack_tmp = ishft(data_tmp, 29)
29555 pack_tmp = ishft(pack_tmp, -29)
29557 data_tmp = full_data(idata)
29558 data_tmp = ishft(data_tmp, 25)
29559 data_tmp = iand(data_tmp, mask_left(29))
29560 pack_tmp = ior(pack_tmp, data_tmp)
29562 packed_data(ipack) = pack_tmp
29563 data_tmp = full_data(idata)
29564 pack_tmp = ishft(data_tmp, 54)
29565 pack_tmp = ishft(pack_tmp, -39)
29567 data_tmp = full_data(idata)
29568 data_tmp = ishft(data_tmp, 25)
29569 pack_tmp = ior(pack_tmp, data_tmp)
29570 pack_tmp = ishft(pack_tmp, -15)
29572 data_tmp = full_data(idata)
29573 data_tmp = ishft(data_tmp, 25)
29574 data_tmp = iand(data_tmp, mask_left(15))
29575 pack_tmp = ior(pack_tmp, data_tmp)
29577 packed_data(ipack) = pack_tmp
29578 data_tmp = full_data(idata)
29579 pack_tmp = ishft(data_tmp, 40)
29580 pack_tmp = ishft(pack_tmp, -39)
29582 data_tmp = full_data(idata)
29583 data_tmp = ishft(data_tmp, 25)
29584 pack_tmp = ior(pack_tmp, data_tmp)
29585 pack_tmp = ishft(pack_tmp, -1)
29587 data_tmp = full_data(idata)
29588 data_tmp = ishft(data_tmp, 25)
29589 data_tmp = iand(data_tmp, mask_left(1))
29590 pack_tmp = ior(pack_tmp, data_tmp)
29592 packed_data(ipack) = pack_tmp
29593 data_tmp = full_data(idata)
29594 pack_tmp = ishft(data_tmp, 26)
29595 pack_tmp = ishft(pack_tmp, -26)
29597 data_tmp = full_data(idata)
29598 data_tmp = ishft(data_tmp, 25)
29599 data_tmp = iand(data_tmp, mask_left(26))
29600 pack_tmp = ior(pack_tmp, data_tmp)
29602 packed_data(ipack) = pack_tmp
29603 data_tmp = full_data(idata)
29604 pack_tmp = ishft(data_tmp, 51)
29605 pack_tmp = ishft(pack_tmp, -39)
29607 data_tmp = full_data(idata)
29608 data_tmp = ishft(data_tmp, 25)
29609 pack_tmp = ior(pack_tmp, data_tmp)
29610 pack_tmp = ishft(pack_tmp, -12)
29612 data_tmp = full_data(idata)
29613 data_tmp = ishft(data_tmp, 25)
29614 data_tmp = iand(data_tmp, mask_left(12))
29615 pack_tmp = ior(pack_tmp, data_tmp)
29617 packed_data(ipack) = pack_tmp
29618 data_tmp = full_data(idata)
29619 pack_tmp = ishft(data_tmp, 37)
29620 pack_tmp = ishft(pack_tmp, -37)
29622 data_tmp = full_data(idata)
29623 data_tmp = ishft(data_tmp, 25)
29624 data_tmp = iand(data_tmp, mask_left(37))
29625 pack_tmp = ior(pack_tmp, data_tmp)
29627 packed_data(ipack) = pack_tmp
29628 data_tmp = full_data(idata)
29629 pack_tmp = ishft(data_tmp, 62)
29630 pack_tmp = ishft(pack_tmp, -39)
29632 data_tmp = full_data(idata)
29633 data_tmp = ishft(data_tmp, 25)
29634 pack_tmp = ior(pack_tmp, data_tmp)
29635 pack_tmp = ishft(pack_tmp, -23)
29637 data_tmp = full_data(idata)
29638 data_tmp = ishft(data_tmp, 25)
29639 data_tmp = iand(data_tmp, mask_left(23))
29640 pack_tmp = ior(pack_tmp, data_tmp)
29642 packed_data(ipack) = pack_tmp
29643 data_tmp = full_data(idata)
29644 pack_tmp = ishft(data_tmp, 48)
29645 pack_tmp = ishft(pack_tmp, -39)
29647 data_tmp = full_data(idata)
29648 data_tmp = ishft(data_tmp, 25)
29649 pack_tmp = ior(pack_tmp, data_tmp)
29650 pack_tmp = ishft(pack_tmp, -9)
29652 data_tmp = full_data(idata)
29653 data_tmp = ishft(data_tmp, 25)
29654 data_tmp = iand(data_tmp, mask_left(9))
29655 pack_tmp = ior(pack_tmp, data_tmp)
29657 packed_data(ipack) = pack_tmp
29658 data_tmp = full_data(idata)
29659 pack_tmp = ishft(data_tmp, 34)
29660 pack_tmp = ishft(pack_tmp, -34)
29662 data_tmp = full_data(idata)
29663 data_tmp = ishft(data_tmp, 25)
29664 data_tmp = iand(data_tmp, mask_left(34))
29665 pack_tmp = ior(pack_tmp, data_tmp)
29667 packed_data(ipack) = pack_tmp
29668 data_tmp = full_data(idata)
29669 pack_tmp = ishft(data_tmp, 59)
29670 pack_tmp = ishft(pack_tmp, -39)
29672 data_tmp = full_data(idata)
29673 data_tmp = ishft(data_tmp, 25)
29674 pack_tmp = ior(pack_tmp, data_tmp)
29675 pack_tmp = ishft(pack_tmp, -20)
29677 data_tmp = full_data(idata)
29678 data_tmp = ishft(data_tmp, 25)
29679 data_tmp = iand(data_tmp, mask_left(20))
29680 pack_tmp = ior(pack_tmp, data_tmp)
29682 packed_data(ipack) = pack_tmp
29683 data_tmp = full_data(idata)
29684 pack_tmp = ishft(data_tmp, 45)
29685 pack_tmp = ishft(pack_tmp, -39)
29687 data_tmp = full_data(idata)
29688 data_tmp = ishft(data_tmp, 25)
29689 pack_tmp = ior(pack_tmp, data_tmp)
29690 pack_tmp = ishft(pack_tmp, -6)
29692 data_tmp = full_data(idata)
29693 data_tmp = ishft(data_tmp, 25)
29694 data_tmp = iand(data_tmp, mask_left(6))
29695 pack_tmp = ior(pack_tmp, data_tmp)
29697 packed_data(ipack) = pack_tmp
29698 data_tmp = full_data(idata)
29699 pack_tmp = ishft(data_tmp, 31)
29700 pack_tmp = ishft(pack_tmp, -31)
29702 data_tmp = full_data(idata)
29703 data_tmp = ishft(data_tmp, 25)
29704 data_tmp = iand(data_tmp, mask_left(31))
29705 pack_tmp = ior(pack_tmp, data_tmp)
29707 packed_data(ipack) = pack_tmp
29708 data_tmp = full_data(idata)
29709 pack_tmp = ishft(data_tmp, 56)
29710 pack_tmp = ishft(pack_tmp, -39)
29712 data_tmp = full_data(idata)
29713 data_tmp = ishft(data_tmp, 25)
29714 pack_tmp = ior(pack_tmp, data_tmp)
29715 pack_tmp = ishft(pack_tmp, -17)
29717 data_tmp = full_data(idata)
29718 data_tmp = ishft(data_tmp, 25)
29719 data_tmp = iand(data_tmp, mask_left(17))
29720 pack_tmp = ior(pack_tmp, data_tmp)
29722 packed_data(ipack) = pack_tmp
29723 data_tmp = full_data(idata)
29724 pack_tmp = ishft(data_tmp, 42)
29725 pack_tmp = ishft(pack_tmp, -39)
29727 data_tmp = full_data(idata)
29728 data_tmp = ishft(data_tmp, 25)
29729 pack_tmp = ior(pack_tmp, data_tmp)
29730 pack_tmp = ishft(pack_tmp, -3)
29732 data_tmp = full_data(idata)
29733 data_tmp = ishft(data_tmp, 25)
29734 data_tmp = iand(data_tmp, mask_left(3))
29735 pack_tmp = ior(pack_tmp, data_tmp)
29737 packed_data(ipack) = pack_tmp
29738 data_tmp = full_data(idata)
29739 pack_tmp = ishft(data_tmp, 28)
29740 pack_tmp = ishft(pack_tmp, -28)
29742 data_tmp = full_data(idata)
29743 data_tmp = ishft(data_tmp, 25)
29744 data_tmp = iand(data_tmp, mask_left(28))
29745 pack_tmp = ior(pack_tmp, data_tmp)
29747 packed_data(ipack) = pack_tmp
29748 data_tmp = full_data(idata)
29749 pack_tmp = ishft(data_tmp, 53)
29750 pack_tmp = ishft(pack_tmp, -39)
29752 data_tmp = full_data(idata)
29753 data_tmp = ishft(data_tmp, 25)
29754 pack_tmp = ior(pack_tmp, data_tmp)
29755 pack_tmp = ishft(pack_tmp, -14)
29757 data_tmp = full_data(idata)
29758 data_tmp = ishft(data_tmp, 25)
29759 data_tmp = iand(data_tmp, mask_left(14))
29760 pack_tmp = ior(pack_tmp, data_tmp)
29762 packed_data(ipack) = pack_tmp
29763 data_tmp = full_data(idata)
29764 pack_tmp = ishft(data_tmp, 39)
29765 pack_tmp = ishft(pack_tmp, -39)
29767 data_tmp = full_data(idata)
29768 data_tmp = ishft(data_tmp, 25)
29769 pack_tmp = ior(pack_tmp, data_tmp)
29770 pack_tmp = ishft(pack_tmp, 0)
29771 pack_tmp = ishft(pack_tmp, 0)
29773 packed_data(ipack) = pack_tmp
29775 IF (ndata_rep < ndata)
THEN
29776 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
29778 END SUBROUTINE ints2bits_39
29786 SUBROUTINE bits2ints_39(Ndata, packed_data, full_data)
29787 INTEGER,
INTENT(IN) :: Ndata
29788 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
29789 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
29791 INTEGER,
PARAMETER :: Nbits = 39
29793 INTEGER :: idata, ipack, kdata, Ndata_rep
29794 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
29799 ndata_rep = (ndata/64)*64
29800 DO kdata = 1, ndata_rep, 64
29802 data_tmp = ishft(pack_tmp, 39)
29804 pack_tmp = packed_data(ipack)
29805 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
29806 pack_tmp = ishft(pack_tmp, -39)
29808 data_tmp = ishft(pack_tmp, 14)
29810 pack_tmp = packed_data(ipack)
29811 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
29812 pack_tmp = ishft(pack_tmp, -14)
29814 data_tmp = iand(pack_tmp, mask_right(nbits))
29815 full_data(idata) = data_tmp
29816 pack_tmp = ishft(pack_tmp, -nbits)
29818 data_tmp = ishft(pack_tmp, 28)
29820 pack_tmp = packed_data(ipack)
29821 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
29822 pack_tmp = ishft(pack_tmp, -28)
29824 data_tmp = ishft(pack_tmp, 3)
29826 pack_tmp = packed_data(ipack)
29827 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
29828 pack_tmp = ishft(pack_tmp, -3)
29830 data_tmp = iand(pack_tmp, mask_right(nbits))
29831 full_data(idata) = data_tmp
29832 pack_tmp = ishft(pack_tmp, -nbits)
29834 data_tmp = ishft(pack_tmp, 17)
29836 pack_tmp = packed_data(ipack)
29837 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
29838 pack_tmp = ishft(pack_tmp, -17)
29840 data_tmp = iand(pack_tmp, mask_right(nbits))
29841 full_data(idata) = data_tmp
29842 pack_tmp = ishft(pack_tmp, -nbits)
29844 data_tmp = ishft(pack_tmp, 31)
29846 pack_tmp = packed_data(ipack)
29847 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
29848 pack_tmp = ishft(pack_tmp, -31)
29850 data_tmp = ishft(pack_tmp, 6)
29852 pack_tmp = packed_data(ipack)
29853 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
29854 pack_tmp = ishft(pack_tmp, -6)
29856 data_tmp = iand(pack_tmp, mask_right(nbits))
29857 full_data(idata) = data_tmp
29858 pack_tmp = ishft(pack_tmp, -nbits)
29860 data_tmp = ishft(pack_tmp, 20)
29862 pack_tmp = packed_data(ipack)
29863 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
29864 pack_tmp = ishft(pack_tmp, -20)
29866 data_tmp = iand(pack_tmp, mask_right(nbits))
29867 full_data(idata) = data_tmp
29868 pack_tmp = ishft(pack_tmp, -nbits)
29870 data_tmp = ishft(pack_tmp, 34)
29872 pack_tmp = packed_data(ipack)
29873 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
29874 pack_tmp = ishft(pack_tmp, -34)
29876 data_tmp = ishft(pack_tmp, 9)
29878 pack_tmp = packed_data(ipack)
29879 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
29880 pack_tmp = ishft(pack_tmp, -9)
29882 data_tmp = iand(pack_tmp, mask_right(nbits))
29883 full_data(idata) = data_tmp
29884 pack_tmp = ishft(pack_tmp, -nbits)
29886 data_tmp = ishft(pack_tmp, 23)
29888 pack_tmp = packed_data(ipack)
29889 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
29890 pack_tmp = ishft(pack_tmp, -23)
29892 data_tmp = iand(pack_tmp, mask_right(nbits))
29893 full_data(idata) = data_tmp
29894 pack_tmp = ishft(pack_tmp, -nbits)
29896 data_tmp = ishft(pack_tmp, 37)
29898 pack_tmp = packed_data(ipack)
29899 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
29900 pack_tmp = ishft(pack_tmp, -37)
29902 data_tmp = ishft(pack_tmp, 12)
29904 pack_tmp = packed_data(ipack)
29905 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
29906 pack_tmp = ishft(pack_tmp, -12)
29908 data_tmp = iand(pack_tmp, mask_right(nbits))
29909 full_data(idata) = data_tmp
29910 pack_tmp = ishft(pack_tmp, -nbits)
29912 data_tmp = ishft(pack_tmp, 26)
29914 pack_tmp = packed_data(ipack)
29915 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
29916 pack_tmp = ishft(pack_tmp, -26)
29918 data_tmp = ishft(pack_tmp, 1)
29920 pack_tmp = packed_data(ipack)
29921 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
29922 pack_tmp = ishft(pack_tmp, -1)
29924 data_tmp = iand(pack_tmp, mask_right(nbits))
29925 full_data(idata) = data_tmp
29926 pack_tmp = ishft(pack_tmp, -nbits)
29928 data_tmp = ishft(pack_tmp, 15)
29930 pack_tmp = packed_data(ipack)
29931 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
29932 pack_tmp = ishft(pack_tmp, -15)
29934 data_tmp = iand(pack_tmp, mask_right(nbits))
29935 full_data(idata) = data_tmp
29936 pack_tmp = ishft(pack_tmp, -nbits)
29938 data_tmp = ishft(pack_tmp, 29)
29940 pack_tmp = packed_data(ipack)
29941 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
29942 pack_tmp = ishft(pack_tmp, -29)
29944 data_tmp = ishft(pack_tmp, 4)
29946 pack_tmp = packed_data(ipack)
29947 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
29948 pack_tmp = ishft(pack_tmp, -4)
29950 data_tmp = iand(pack_tmp, mask_right(nbits))
29951 full_data(idata) = data_tmp
29952 pack_tmp = ishft(pack_tmp, -nbits)
29954 data_tmp = ishft(pack_tmp, 18)
29956 pack_tmp = packed_data(ipack)
29957 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
29958 pack_tmp = ishft(pack_tmp, -18)
29960 data_tmp = iand(pack_tmp, mask_right(nbits))
29961 full_data(idata) = data_tmp
29962 pack_tmp = ishft(pack_tmp, -nbits)
29964 data_tmp = ishft(pack_tmp, 32)
29966 pack_tmp = packed_data(ipack)
29967 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
29968 pack_tmp = ishft(pack_tmp, -32)
29970 data_tmp = ishft(pack_tmp, 7)
29972 pack_tmp = packed_data(ipack)
29973 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
29974 pack_tmp = ishft(pack_tmp, -7)
29976 data_tmp = iand(pack_tmp, mask_right(nbits))
29977 full_data(idata) = data_tmp
29978 pack_tmp = ishft(pack_tmp, -nbits)
29980 data_tmp = ishft(pack_tmp, 21)
29982 pack_tmp = packed_data(ipack)
29983 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
29984 pack_tmp = ishft(pack_tmp, -21)
29986 data_tmp = iand(pack_tmp, mask_right(nbits))
29987 full_data(idata) = data_tmp
29988 pack_tmp = ishft(pack_tmp, -nbits)
29990 data_tmp = ishft(pack_tmp, 35)
29992 pack_tmp = packed_data(ipack)
29993 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
29994 pack_tmp = ishft(pack_tmp, -35)
29996 data_tmp = ishft(pack_tmp, 10)
29998 pack_tmp = packed_data(ipack)
29999 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
30000 pack_tmp = ishft(pack_tmp, -10)
30002 data_tmp = iand(pack_tmp, mask_right(nbits))
30003 full_data(idata) = data_tmp
30004 pack_tmp = ishft(pack_tmp, -nbits)
30006 data_tmp = ishft(pack_tmp, 24)
30008 pack_tmp = packed_data(ipack)
30009 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30010 pack_tmp = ishft(pack_tmp, -24)
30012 data_tmp = iand(pack_tmp, mask_right(nbits))
30013 full_data(idata) = data_tmp
30014 pack_tmp = ishft(pack_tmp, -nbits)
30016 data_tmp = ishft(pack_tmp, 38)
30018 pack_tmp = packed_data(ipack)
30019 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
30020 pack_tmp = ishft(pack_tmp, -38)
30022 data_tmp = ishft(pack_tmp, 13)
30024 pack_tmp = packed_data(ipack)
30025 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
30026 pack_tmp = ishft(pack_tmp, -13)
30028 data_tmp = iand(pack_tmp, mask_right(nbits))
30029 full_data(idata) = data_tmp
30030 pack_tmp = ishft(pack_tmp, -nbits)
30032 data_tmp = ishft(pack_tmp, 27)
30034 pack_tmp = packed_data(ipack)
30035 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
30036 pack_tmp = ishft(pack_tmp, -27)
30038 data_tmp = ishft(pack_tmp, 2)
30040 pack_tmp = packed_data(ipack)
30041 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
30042 pack_tmp = ishft(pack_tmp, -2)
30044 data_tmp = iand(pack_tmp, mask_right(nbits))
30045 full_data(idata) = data_tmp
30046 pack_tmp = ishft(pack_tmp, -nbits)
30048 data_tmp = ishft(pack_tmp, 16)
30050 pack_tmp = packed_data(ipack)
30051 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30052 pack_tmp = ishft(pack_tmp, -16)
30054 data_tmp = iand(pack_tmp, mask_right(nbits))
30055 full_data(idata) = data_tmp
30056 pack_tmp = ishft(pack_tmp, -nbits)
30058 data_tmp = ishft(pack_tmp, 30)
30060 pack_tmp = packed_data(ipack)
30061 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
30062 pack_tmp = ishft(pack_tmp, -30)
30064 data_tmp = ishft(pack_tmp, 5)
30066 pack_tmp = packed_data(ipack)
30067 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
30068 pack_tmp = ishft(pack_tmp, -5)
30070 data_tmp = iand(pack_tmp, mask_right(nbits))
30071 full_data(idata) = data_tmp
30072 pack_tmp = ishft(pack_tmp, -nbits)
30074 data_tmp = ishft(pack_tmp, 19)
30076 pack_tmp = packed_data(ipack)
30077 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
30078 pack_tmp = ishft(pack_tmp, -19)
30080 data_tmp = iand(pack_tmp, mask_right(nbits))
30081 full_data(idata) = data_tmp
30082 pack_tmp = ishft(pack_tmp, -nbits)
30084 data_tmp = ishft(pack_tmp, 33)
30086 pack_tmp = packed_data(ipack)
30087 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
30088 pack_tmp = ishft(pack_tmp, -33)
30090 data_tmp = ishft(pack_tmp, 8)
30092 pack_tmp = packed_data(ipack)
30093 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30094 pack_tmp = ishft(pack_tmp, -8)
30096 data_tmp = iand(pack_tmp, mask_right(nbits))
30097 full_data(idata) = data_tmp
30098 pack_tmp = ishft(pack_tmp, -nbits)
30100 data_tmp = ishft(pack_tmp, 22)
30102 pack_tmp = packed_data(ipack)
30103 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
30104 pack_tmp = ishft(pack_tmp, -22)
30106 data_tmp = iand(pack_tmp, mask_right(nbits))
30107 full_data(idata) = data_tmp
30108 pack_tmp = ishft(pack_tmp, -nbits)
30110 data_tmp = ishft(pack_tmp, 36)
30112 pack_tmp = packed_data(ipack)
30113 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
30114 pack_tmp = ishft(pack_tmp, -36)
30116 data_tmp = ishft(pack_tmp, 11)
30118 pack_tmp = packed_data(ipack)
30119 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
30120 pack_tmp = ishft(pack_tmp, -11)
30122 data_tmp = iand(pack_tmp, mask_right(nbits))
30123 full_data(idata) = data_tmp
30124 pack_tmp = ishft(pack_tmp, -nbits)
30126 data_tmp = ishft(pack_tmp, 25)
30128 pack_tmp = packed_data(ipack)
30129 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
30130 pack_tmp = ishft(pack_tmp, -25)
30132 data_tmp = iand(pack_tmp, mask_right(nbits))
30133 full_data(idata) = data_tmp
30134 pack_tmp = ishft(pack_tmp, -nbits)
30136 IF (ndata_rep < ndata)
THEN
30137 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
30139 END SUBROUTINE bits2ints_39
30147 SUBROUTINE ints2bits_40(Ndata, packed_data, full_data)
30148 INTEGER,
INTENT(IN) :: Ndata
30149 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
30150 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
30152 INTEGER,
PARAMETER :: Nbits = 40
30154 INTEGER :: idata, ipack, kdata, Ndata_rep
30155 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
30159 ndata_rep = (ndata/64)*64
30160 DO kdata = 1, ndata_rep, 64
30163 data_tmp = full_data(idata)
30164 data_tmp = ishft(data_tmp, 24)
30165 pack_tmp = ior(pack_tmp, data_tmp)
30166 pack_tmp = ishft(pack_tmp, -24)
30168 data_tmp = full_data(idata)
30169 data_tmp = ishft(data_tmp, 24)
30170 data_tmp = iand(data_tmp, mask_left(24))
30171 pack_tmp = ior(pack_tmp, data_tmp)
30173 packed_data(ipack) = pack_tmp
30174 data_tmp = full_data(idata)
30175 pack_tmp = ishft(data_tmp, 48)
30176 pack_tmp = ishft(pack_tmp, -40)
30178 data_tmp = full_data(idata)
30179 data_tmp = ishft(data_tmp, 24)
30180 pack_tmp = ior(pack_tmp, data_tmp)
30181 pack_tmp = ishft(pack_tmp, -8)
30183 data_tmp = full_data(idata)
30184 data_tmp = ishft(data_tmp, 24)
30185 data_tmp = iand(data_tmp, mask_left(8))
30186 pack_tmp = ior(pack_tmp, data_tmp)
30188 packed_data(ipack) = pack_tmp
30189 data_tmp = full_data(idata)
30190 pack_tmp = ishft(data_tmp, 32)
30191 pack_tmp = ishft(pack_tmp, -32)
30193 data_tmp = full_data(idata)
30194 data_tmp = ishft(data_tmp, 24)
30195 data_tmp = iand(data_tmp, mask_left(32))
30196 pack_tmp = ior(pack_tmp, data_tmp)
30198 packed_data(ipack) = pack_tmp
30199 data_tmp = full_data(idata)
30200 pack_tmp = ishft(data_tmp, 56)
30201 pack_tmp = ishft(pack_tmp, -40)
30203 data_tmp = full_data(idata)
30204 data_tmp = ishft(data_tmp, 24)
30205 pack_tmp = ior(pack_tmp, data_tmp)
30206 pack_tmp = ishft(pack_tmp, -16)
30208 data_tmp = full_data(idata)
30209 data_tmp = ishft(data_tmp, 24)
30210 data_tmp = iand(data_tmp, mask_left(16))
30211 pack_tmp = ior(pack_tmp, data_tmp)
30213 packed_data(ipack) = pack_tmp
30214 data_tmp = full_data(idata)
30215 pack_tmp = ishft(data_tmp, 40)
30216 pack_tmp = ishft(pack_tmp, -40)
30218 data_tmp = full_data(idata)
30219 data_tmp = ishft(data_tmp, 24)
30220 pack_tmp = ior(pack_tmp, data_tmp)
30221 pack_tmp = ishft(pack_tmp, 0)
30223 data_tmp = full_data(idata)
30224 data_tmp = ishft(data_tmp, 24)
30225 data_tmp = iand(data_tmp, mask_left(0))
30226 pack_tmp = ior(pack_tmp, data_tmp)
30228 packed_data(ipack) = pack_tmp
30229 data_tmp = full_data(idata)
30230 pack_tmp = ishft(data_tmp, 24)
30231 pack_tmp = ishft(pack_tmp, -24)
30233 data_tmp = full_data(idata)
30234 data_tmp = ishft(data_tmp, 24)
30235 data_tmp = iand(data_tmp, mask_left(24))
30236 pack_tmp = ior(pack_tmp, data_tmp)
30238 packed_data(ipack) = pack_tmp
30239 data_tmp = full_data(idata)
30240 pack_tmp = ishft(data_tmp, 48)
30241 pack_tmp = ishft(pack_tmp, -40)
30243 data_tmp = full_data(idata)
30244 data_tmp = ishft(data_tmp, 24)
30245 pack_tmp = ior(pack_tmp, data_tmp)
30246 pack_tmp = ishft(pack_tmp, -8)
30248 data_tmp = full_data(idata)
30249 data_tmp = ishft(data_tmp, 24)
30250 data_tmp = iand(data_tmp, mask_left(8))
30251 pack_tmp = ior(pack_tmp, data_tmp)
30253 packed_data(ipack) = pack_tmp
30254 data_tmp = full_data(idata)
30255 pack_tmp = ishft(data_tmp, 32)
30256 pack_tmp = ishft(pack_tmp, -32)
30258 data_tmp = full_data(idata)
30259 data_tmp = ishft(data_tmp, 24)
30260 data_tmp = iand(data_tmp, mask_left(32))
30261 pack_tmp = ior(pack_tmp, data_tmp)
30263 packed_data(ipack) = pack_tmp
30264 data_tmp = full_data(idata)
30265 pack_tmp = ishft(data_tmp, 56)
30266 pack_tmp = ishft(pack_tmp, -40)
30268 data_tmp = full_data(idata)
30269 data_tmp = ishft(data_tmp, 24)
30270 pack_tmp = ior(pack_tmp, data_tmp)
30271 pack_tmp = ishft(pack_tmp, -16)
30273 data_tmp = full_data(idata)
30274 data_tmp = ishft(data_tmp, 24)
30275 data_tmp = iand(data_tmp, mask_left(16))
30276 pack_tmp = ior(pack_tmp, data_tmp)
30278 packed_data(ipack) = pack_tmp
30279 data_tmp = full_data(idata)
30280 pack_tmp = ishft(data_tmp, 40)
30281 pack_tmp = ishft(pack_tmp, -40)
30283 data_tmp = full_data(idata)
30284 data_tmp = ishft(data_tmp, 24)
30285 pack_tmp = ior(pack_tmp, data_tmp)
30286 pack_tmp = ishft(pack_tmp, 0)
30288 data_tmp = full_data(idata)
30289 data_tmp = ishft(data_tmp, 24)
30290 data_tmp = iand(data_tmp, mask_left(0))
30291 pack_tmp = ior(pack_tmp, data_tmp)
30293 packed_data(ipack) = pack_tmp
30294 data_tmp = full_data(idata)
30295 pack_tmp = ishft(data_tmp, 24)
30296 pack_tmp = ishft(pack_tmp, -24)
30298 data_tmp = full_data(idata)
30299 data_tmp = ishft(data_tmp, 24)
30300 data_tmp = iand(data_tmp, mask_left(24))
30301 pack_tmp = ior(pack_tmp, data_tmp)
30303 packed_data(ipack) = pack_tmp
30304 data_tmp = full_data(idata)
30305 pack_tmp = ishft(data_tmp, 48)
30306 pack_tmp = ishft(pack_tmp, -40)
30308 data_tmp = full_data(idata)
30309 data_tmp = ishft(data_tmp, 24)
30310 pack_tmp = ior(pack_tmp, data_tmp)
30311 pack_tmp = ishft(pack_tmp, -8)
30313 data_tmp = full_data(idata)
30314 data_tmp = ishft(data_tmp, 24)
30315 data_tmp = iand(data_tmp, mask_left(8))
30316 pack_tmp = ior(pack_tmp, data_tmp)
30318 packed_data(ipack) = pack_tmp
30319 data_tmp = full_data(idata)
30320 pack_tmp = ishft(data_tmp, 32)
30321 pack_tmp = ishft(pack_tmp, -32)
30323 data_tmp = full_data(idata)
30324 data_tmp = ishft(data_tmp, 24)
30325 data_tmp = iand(data_tmp, mask_left(32))
30326 pack_tmp = ior(pack_tmp, data_tmp)
30328 packed_data(ipack) = pack_tmp
30329 data_tmp = full_data(idata)
30330 pack_tmp = ishft(data_tmp, 56)
30331 pack_tmp = ishft(pack_tmp, -40)
30333 data_tmp = full_data(idata)
30334 data_tmp = ishft(data_tmp, 24)
30335 pack_tmp = ior(pack_tmp, data_tmp)
30336 pack_tmp = ishft(pack_tmp, -16)
30338 data_tmp = full_data(idata)
30339 data_tmp = ishft(data_tmp, 24)
30340 data_tmp = iand(data_tmp, mask_left(16))
30341 pack_tmp = ior(pack_tmp, data_tmp)
30343 packed_data(ipack) = pack_tmp
30344 data_tmp = full_data(idata)
30345 pack_tmp = ishft(data_tmp, 40)
30346 pack_tmp = ishft(pack_tmp, -40)
30348 data_tmp = full_data(idata)
30349 data_tmp = ishft(data_tmp, 24)
30350 pack_tmp = ior(pack_tmp, data_tmp)
30351 pack_tmp = ishft(pack_tmp, 0)
30353 data_tmp = full_data(idata)
30354 data_tmp = ishft(data_tmp, 24)
30355 data_tmp = iand(data_tmp, mask_left(0))
30356 pack_tmp = ior(pack_tmp, data_tmp)
30358 packed_data(ipack) = pack_tmp
30359 data_tmp = full_data(idata)
30360 pack_tmp = ishft(data_tmp, 24)
30361 pack_tmp = ishft(pack_tmp, -24)
30363 data_tmp = full_data(idata)
30364 data_tmp = ishft(data_tmp, 24)
30365 data_tmp = iand(data_tmp, mask_left(24))
30366 pack_tmp = ior(pack_tmp, data_tmp)
30368 packed_data(ipack) = pack_tmp
30369 data_tmp = full_data(idata)
30370 pack_tmp = ishft(data_tmp, 48)
30371 pack_tmp = ishft(pack_tmp, -40)
30373 data_tmp = full_data(idata)
30374 data_tmp = ishft(data_tmp, 24)
30375 pack_tmp = ior(pack_tmp, data_tmp)
30376 pack_tmp = ishft(pack_tmp, -8)
30378 data_tmp = full_data(idata)
30379 data_tmp = ishft(data_tmp, 24)
30380 data_tmp = iand(data_tmp, mask_left(8))
30381 pack_tmp = ior(pack_tmp, data_tmp)
30383 packed_data(ipack) = pack_tmp
30384 data_tmp = full_data(idata)
30385 pack_tmp = ishft(data_tmp, 32)
30386 pack_tmp = ishft(pack_tmp, -32)
30388 data_tmp = full_data(idata)
30389 data_tmp = ishft(data_tmp, 24)
30390 data_tmp = iand(data_tmp, mask_left(32))
30391 pack_tmp = ior(pack_tmp, data_tmp)
30393 packed_data(ipack) = pack_tmp
30394 data_tmp = full_data(idata)
30395 pack_tmp = ishft(data_tmp, 56)
30396 pack_tmp = ishft(pack_tmp, -40)
30398 data_tmp = full_data(idata)
30399 data_tmp = ishft(data_tmp, 24)
30400 pack_tmp = ior(pack_tmp, data_tmp)
30401 pack_tmp = ishft(pack_tmp, -16)
30403 data_tmp = full_data(idata)
30404 data_tmp = ishft(data_tmp, 24)
30405 data_tmp = iand(data_tmp, mask_left(16))
30406 pack_tmp = ior(pack_tmp, data_tmp)
30408 packed_data(ipack) = pack_tmp
30409 data_tmp = full_data(idata)
30410 pack_tmp = ishft(data_tmp, 40)
30411 pack_tmp = ishft(pack_tmp, -40)
30413 data_tmp = full_data(idata)
30414 data_tmp = ishft(data_tmp, 24)
30415 pack_tmp = ior(pack_tmp, data_tmp)
30416 pack_tmp = ishft(pack_tmp, 0)
30418 data_tmp = full_data(idata)
30419 data_tmp = ishft(data_tmp, 24)
30420 data_tmp = iand(data_tmp, mask_left(0))
30421 pack_tmp = ior(pack_tmp, data_tmp)
30423 packed_data(ipack) = pack_tmp
30424 data_tmp = full_data(idata)
30425 pack_tmp = ishft(data_tmp, 24)
30426 pack_tmp = ishft(pack_tmp, -24)
30428 data_tmp = full_data(idata)
30429 data_tmp = ishft(data_tmp, 24)
30430 data_tmp = iand(data_tmp, mask_left(24))
30431 pack_tmp = ior(pack_tmp, data_tmp)
30433 packed_data(ipack) = pack_tmp
30434 data_tmp = full_data(idata)
30435 pack_tmp = ishft(data_tmp, 48)
30436 pack_tmp = ishft(pack_tmp, -40)
30438 data_tmp = full_data(idata)
30439 data_tmp = ishft(data_tmp, 24)
30440 pack_tmp = ior(pack_tmp, data_tmp)
30441 pack_tmp = ishft(pack_tmp, -8)
30443 data_tmp = full_data(idata)
30444 data_tmp = ishft(data_tmp, 24)
30445 data_tmp = iand(data_tmp, mask_left(8))
30446 pack_tmp = ior(pack_tmp, data_tmp)
30448 packed_data(ipack) = pack_tmp
30449 data_tmp = full_data(idata)
30450 pack_tmp = ishft(data_tmp, 32)
30451 pack_tmp = ishft(pack_tmp, -32)
30453 data_tmp = full_data(idata)
30454 data_tmp = ishft(data_tmp, 24)
30455 data_tmp = iand(data_tmp, mask_left(32))
30456 pack_tmp = ior(pack_tmp, data_tmp)
30458 packed_data(ipack) = pack_tmp
30459 data_tmp = full_data(idata)
30460 pack_tmp = ishft(data_tmp, 56)
30461 pack_tmp = ishft(pack_tmp, -40)
30463 data_tmp = full_data(idata)
30464 data_tmp = ishft(data_tmp, 24)
30465 pack_tmp = ior(pack_tmp, data_tmp)
30466 pack_tmp = ishft(pack_tmp, -16)
30468 data_tmp = full_data(idata)
30469 data_tmp = ishft(data_tmp, 24)
30470 data_tmp = iand(data_tmp, mask_left(16))
30471 pack_tmp = ior(pack_tmp, data_tmp)
30473 packed_data(ipack) = pack_tmp
30474 data_tmp = full_data(idata)
30475 pack_tmp = ishft(data_tmp, 40)
30476 pack_tmp = ishft(pack_tmp, -40)
30478 data_tmp = full_data(idata)
30479 data_tmp = ishft(data_tmp, 24)
30480 pack_tmp = ior(pack_tmp, data_tmp)
30481 pack_tmp = ishft(pack_tmp, 0)
30483 data_tmp = full_data(idata)
30484 data_tmp = ishft(data_tmp, 24)
30485 data_tmp = iand(data_tmp, mask_left(0))
30486 pack_tmp = ior(pack_tmp, data_tmp)
30488 packed_data(ipack) = pack_tmp
30489 data_tmp = full_data(idata)
30490 pack_tmp = ishft(data_tmp, 24)
30491 pack_tmp = ishft(pack_tmp, -24)
30493 data_tmp = full_data(idata)
30494 data_tmp = ishft(data_tmp, 24)
30495 data_tmp = iand(data_tmp, mask_left(24))
30496 pack_tmp = ior(pack_tmp, data_tmp)
30498 packed_data(ipack) = pack_tmp
30499 data_tmp = full_data(idata)
30500 pack_tmp = ishft(data_tmp, 48)
30501 pack_tmp = ishft(pack_tmp, -40)
30503 data_tmp = full_data(idata)
30504 data_tmp = ishft(data_tmp, 24)
30505 pack_tmp = ior(pack_tmp, data_tmp)
30506 pack_tmp = ishft(pack_tmp, -8)
30508 data_tmp = full_data(idata)
30509 data_tmp = ishft(data_tmp, 24)
30510 data_tmp = iand(data_tmp, mask_left(8))
30511 pack_tmp = ior(pack_tmp, data_tmp)
30513 packed_data(ipack) = pack_tmp
30514 data_tmp = full_data(idata)
30515 pack_tmp = ishft(data_tmp, 32)
30516 pack_tmp = ishft(pack_tmp, -32)
30518 data_tmp = full_data(idata)
30519 data_tmp = ishft(data_tmp, 24)
30520 data_tmp = iand(data_tmp, mask_left(32))
30521 pack_tmp = ior(pack_tmp, data_tmp)
30523 packed_data(ipack) = pack_tmp
30524 data_tmp = full_data(idata)
30525 pack_tmp = ishft(data_tmp, 56)
30526 pack_tmp = ishft(pack_tmp, -40)
30528 data_tmp = full_data(idata)
30529 data_tmp = ishft(data_tmp, 24)
30530 pack_tmp = ior(pack_tmp, data_tmp)
30531 pack_tmp = ishft(pack_tmp, -16)
30533 data_tmp = full_data(idata)
30534 data_tmp = ishft(data_tmp, 24)
30535 data_tmp = iand(data_tmp, mask_left(16))
30536 pack_tmp = ior(pack_tmp, data_tmp)
30538 packed_data(ipack) = pack_tmp
30539 data_tmp = full_data(idata)
30540 pack_tmp = ishft(data_tmp, 40)
30541 pack_tmp = ishft(pack_tmp, -40)
30543 data_tmp = full_data(idata)
30544 data_tmp = ishft(data_tmp, 24)
30545 pack_tmp = ior(pack_tmp, data_tmp)
30546 pack_tmp = ishft(pack_tmp, 0)
30548 data_tmp = full_data(idata)
30549 data_tmp = ishft(data_tmp, 24)
30550 data_tmp = iand(data_tmp, mask_left(0))
30551 pack_tmp = ior(pack_tmp, data_tmp)
30553 packed_data(ipack) = pack_tmp
30554 data_tmp = full_data(idata)
30555 pack_tmp = ishft(data_tmp, 24)
30556 pack_tmp = ishft(pack_tmp, -24)
30558 data_tmp = full_data(idata)
30559 data_tmp = ishft(data_tmp, 24)
30560 data_tmp = iand(data_tmp, mask_left(24))
30561 pack_tmp = ior(pack_tmp, data_tmp)
30563 packed_data(ipack) = pack_tmp
30564 data_tmp = full_data(idata)
30565 pack_tmp = ishft(data_tmp, 48)
30566 pack_tmp = ishft(pack_tmp, -40)
30568 data_tmp = full_data(idata)
30569 data_tmp = ishft(data_tmp, 24)
30570 pack_tmp = ior(pack_tmp, data_tmp)
30571 pack_tmp = ishft(pack_tmp, -8)
30573 data_tmp = full_data(idata)
30574 data_tmp = ishft(data_tmp, 24)
30575 data_tmp = iand(data_tmp, mask_left(8))
30576 pack_tmp = ior(pack_tmp, data_tmp)
30578 packed_data(ipack) = pack_tmp
30579 data_tmp = full_data(idata)
30580 pack_tmp = ishft(data_tmp, 32)
30581 pack_tmp = ishft(pack_tmp, -32)
30583 data_tmp = full_data(idata)
30584 data_tmp = ishft(data_tmp, 24)
30585 data_tmp = iand(data_tmp, mask_left(32))
30586 pack_tmp = ior(pack_tmp, data_tmp)
30588 packed_data(ipack) = pack_tmp
30589 data_tmp = full_data(idata)
30590 pack_tmp = ishft(data_tmp, 56)
30591 pack_tmp = ishft(pack_tmp, -40)
30593 data_tmp = full_data(idata)
30594 data_tmp = ishft(data_tmp, 24)
30595 pack_tmp = ior(pack_tmp, data_tmp)
30596 pack_tmp = ishft(pack_tmp, -16)
30598 data_tmp = full_data(idata)
30599 data_tmp = ishft(data_tmp, 24)
30600 data_tmp = iand(data_tmp, mask_left(16))
30601 pack_tmp = ior(pack_tmp, data_tmp)
30603 packed_data(ipack) = pack_tmp
30604 data_tmp = full_data(idata)
30605 pack_tmp = ishft(data_tmp, 40)
30606 pack_tmp = ishft(pack_tmp, -40)
30608 data_tmp = full_data(idata)
30609 data_tmp = ishft(data_tmp, 24)
30610 pack_tmp = ior(pack_tmp, data_tmp)
30611 pack_tmp = ishft(pack_tmp, 0)
30613 data_tmp = full_data(idata)
30614 data_tmp = ishft(data_tmp, 24)
30615 data_tmp = iand(data_tmp, mask_left(0))
30616 pack_tmp = ior(pack_tmp, data_tmp)
30618 packed_data(ipack) = pack_tmp
30619 data_tmp = full_data(idata)
30620 pack_tmp = ishft(data_tmp, 24)
30621 pack_tmp = ishft(pack_tmp, -24)
30623 data_tmp = full_data(idata)
30624 data_tmp = ishft(data_tmp, 24)
30625 data_tmp = iand(data_tmp, mask_left(24))
30626 pack_tmp = ior(pack_tmp, data_tmp)
30628 packed_data(ipack) = pack_tmp
30629 data_tmp = full_data(idata)
30630 pack_tmp = ishft(data_tmp, 48)
30631 pack_tmp = ishft(pack_tmp, -40)
30633 data_tmp = full_data(idata)
30634 data_tmp = ishft(data_tmp, 24)
30635 pack_tmp = ior(pack_tmp, data_tmp)
30636 pack_tmp = ishft(pack_tmp, -8)
30638 data_tmp = full_data(idata)
30639 data_tmp = ishft(data_tmp, 24)
30640 data_tmp = iand(data_tmp, mask_left(8))
30641 pack_tmp = ior(pack_tmp, data_tmp)
30643 packed_data(ipack) = pack_tmp
30644 data_tmp = full_data(idata)
30645 pack_tmp = ishft(data_tmp, 32)
30646 pack_tmp = ishft(pack_tmp, -32)
30648 data_tmp = full_data(idata)
30649 data_tmp = ishft(data_tmp, 24)
30650 data_tmp = iand(data_tmp, mask_left(32))
30651 pack_tmp = ior(pack_tmp, data_tmp)
30653 packed_data(ipack) = pack_tmp
30654 data_tmp = full_data(idata)
30655 pack_tmp = ishft(data_tmp, 56)
30656 pack_tmp = ishft(pack_tmp, -40)
30658 data_tmp = full_data(idata)
30659 data_tmp = ishft(data_tmp, 24)
30660 pack_tmp = ior(pack_tmp, data_tmp)
30661 pack_tmp = ishft(pack_tmp, -16)
30663 data_tmp = full_data(idata)
30664 data_tmp = ishft(data_tmp, 24)
30665 data_tmp = iand(data_tmp, mask_left(16))
30666 pack_tmp = ior(pack_tmp, data_tmp)
30668 packed_data(ipack) = pack_tmp
30669 data_tmp = full_data(idata)
30670 pack_tmp = ishft(data_tmp, 40)
30671 pack_tmp = ishft(pack_tmp, -40)
30673 data_tmp = full_data(idata)
30674 data_tmp = ishft(data_tmp, 24)
30675 pack_tmp = ior(pack_tmp, data_tmp)
30676 pack_tmp = ishft(pack_tmp, 0)
30677 pack_tmp = ishft(pack_tmp, 0)
30679 packed_data(ipack) = pack_tmp
30681 IF (ndata_rep < ndata)
THEN
30682 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
30684 END SUBROUTINE ints2bits_40
30692 SUBROUTINE bits2ints_40(Ndata, packed_data, full_data)
30693 INTEGER,
INTENT(IN) :: Ndata
30694 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
30695 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
30697 INTEGER,
PARAMETER :: Nbits = 40
30699 INTEGER :: idata, ipack, kdata, Ndata_rep
30700 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
30705 ndata_rep = (ndata/64)*64
30706 DO kdata = 1, ndata_rep, 64
30708 data_tmp = ishft(pack_tmp, 40)
30710 pack_tmp = packed_data(ipack)
30711 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
30712 pack_tmp = ishft(pack_tmp, -40)
30714 data_tmp = ishft(pack_tmp, 16)
30716 pack_tmp = packed_data(ipack)
30717 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30718 pack_tmp = ishft(pack_tmp, -16)
30720 data_tmp = iand(pack_tmp, mask_right(nbits))
30721 full_data(idata) = data_tmp
30722 pack_tmp = ishft(pack_tmp, -nbits)
30724 data_tmp = ishft(pack_tmp, 32)
30726 pack_tmp = packed_data(ipack)
30727 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
30728 pack_tmp = ishft(pack_tmp, -32)
30730 data_tmp = ishft(pack_tmp, 8)
30732 pack_tmp = packed_data(ipack)
30733 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30734 pack_tmp = ishft(pack_tmp, -8)
30736 data_tmp = iand(pack_tmp, mask_right(nbits))
30737 full_data(idata) = data_tmp
30738 pack_tmp = ishft(pack_tmp, -nbits)
30740 data_tmp = ishft(pack_tmp, 24)
30742 pack_tmp = packed_data(ipack)
30743 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30744 pack_tmp = ishft(pack_tmp, -24)
30746 data_tmp = iand(pack_tmp, mask_right(nbits))
30747 full_data(idata) = data_tmp
30748 pack_tmp = ishft(pack_tmp, -nbits)
30750 data_tmp = ishft(pack_tmp, 40)
30752 pack_tmp = packed_data(ipack)
30753 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
30754 pack_tmp = ishft(pack_tmp, -40)
30756 data_tmp = ishft(pack_tmp, 16)
30758 pack_tmp = packed_data(ipack)
30759 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30760 pack_tmp = ishft(pack_tmp, -16)
30762 data_tmp = iand(pack_tmp, mask_right(nbits))
30763 full_data(idata) = data_tmp
30764 pack_tmp = ishft(pack_tmp, -nbits)
30766 data_tmp = ishft(pack_tmp, 32)
30768 pack_tmp = packed_data(ipack)
30769 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
30770 pack_tmp = ishft(pack_tmp, -32)
30772 data_tmp = ishft(pack_tmp, 8)
30774 pack_tmp = packed_data(ipack)
30775 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30776 pack_tmp = ishft(pack_tmp, -8)
30778 data_tmp = iand(pack_tmp, mask_right(nbits))
30779 full_data(idata) = data_tmp
30780 pack_tmp = ishft(pack_tmp, -nbits)
30782 data_tmp = ishft(pack_tmp, 24)
30784 pack_tmp = packed_data(ipack)
30785 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30786 pack_tmp = ishft(pack_tmp, -24)
30788 data_tmp = iand(pack_tmp, mask_right(nbits))
30789 full_data(idata) = data_tmp
30790 pack_tmp = ishft(pack_tmp, -nbits)
30792 data_tmp = ishft(pack_tmp, 40)
30794 pack_tmp = packed_data(ipack)
30795 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
30796 pack_tmp = ishft(pack_tmp, -40)
30798 data_tmp = ishft(pack_tmp, 16)
30800 pack_tmp = packed_data(ipack)
30801 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30802 pack_tmp = ishft(pack_tmp, -16)
30804 data_tmp = iand(pack_tmp, mask_right(nbits))
30805 full_data(idata) = data_tmp
30806 pack_tmp = ishft(pack_tmp, -nbits)
30808 data_tmp = ishft(pack_tmp, 32)
30810 pack_tmp = packed_data(ipack)
30811 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
30812 pack_tmp = ishft(pack_tmp, -32)
30814 data_tmp = ishft(pack_tmp, 8)
30816 pack_tmp = packed_data(ipack)
30817 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30818 pack_tmp = ishft(pack_tmp, -8)
30820 data_tmp = iand(pack_tmp, mask_right(nbits))
30821 full_data(idata) = data_tmp
30822 pack_tmp = ishft(pack_tmp, -nbits)
30824 data_tmp = ishft(pack_tmp, 24)
30826 pack_tmp = packed_data(ipack)
30827 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30828 pack_tmp = ishft(pack_tmp, -24)
30830 data_tmp = iand(pack_tmp, mask_right(nbits))
30831 full_data(idata) = data_tmp
30832 pack_tmp = ishft(pack_tmp, -nbits)
30834 data_tmp = ishft(pack_tmp, 40)
30836 pack_tmp = packed_data(ipack)
30837 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
30838 pack_tmp = ishft(pack_tmp, -40)
30840 data_tmp = ishft(pack_tmp, 16)
30842 pack_tmp = packed_data(ipack)
30843 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30844 pack_tmp = ishft(pack_tmp, -16)
30846 data_tmp = iand(pack_tmp, mask_right(nbits))
30847 full_data(idata) = data_tmp
30848 pack_tmp = ishft(pack_tmp, -nbits)
30850 data_tmp = ishft(pack_tmp, 32)
30852 pack_tmp = packed_data(ipack)
30853 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
30854 pack_tmp = ishft(pack_tmp, -32)
30856 data_tmp = ishft(pack_tmp, 8)
30858 pack_tmp = packed_data(ipack)
30859 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30860 pack_tmp = ishft(pack_tmp, -8)
30862 data_tmp = iand(pack_tmp, mask_right(nbits))
30863 full_data(idata) = data_tmp
30864 pack_tmp = ishft(pack_tmp, -nbits)
30866 data_tmp = ishft(pack_tmp, 24)
30868 pack_tmp = packed_data(ipack)
30869 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30870 pack_tmp = ishft(pack_tmp, -24)
30872 data_tmp = iand(pack_tmp, mask_right(nbits))
30873 full_data(idata) = data_tmp
30874 pack_tmp = ishft(pack_tmp, -nbits)
30876 data_tmp = ishft(pack_tmp, 40)
30878 pack_tmp = packed_data(ipack)
30879 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
30880 pack_tmp = ishft(pack_tmp, -40)
30882 data_tmp = ishft(pack_tmp, 16)
30884 pack_tmp = packed_data(ipack)
30885 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30886 pack_tmp = ishft(pack_tmp, -16)
30888 data_tmp = iand(pack_tmp, mask_right(nbits))
30889 full_data(idata) = data_tmp
30890 pack_tmp = ishft(pack_tmp, -nbits)
30892 data_tmp = ishft(pack_tmp, 32)
30894 pack_tmp = packed_data(ipack)
30895 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
30896 pack_tmp = ishft(pack_tmp, -32)
30898 data_tmp = ishft(pack_tmp, 8)
30900 pack_tmp = packed_data(ipack)
30901 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30902 pack_tmp = ishft(pack_tmp, -8)
30904 data_tmp = iand(pack_tmp, mask_right(nbits))
30905 full_data(idata) = data_tmp
30906 pack_tmp = ishft(pack_tmp, -nbits)
30908 data_tmp = ishft(pack_tmp, 24)
30910 pack_tmp = packed_data(ipack)
30911 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30912 pack_tmp = ishft(pack_tmp, -24)
30914 data_tmp = iand(pack_tmp, mask_right(nbits))
30915 full_data(idata) = data_tmp
30916 pack_tmp = ishft(pack_tmp, -nbits)
30918 data_tmp = ishft(pack_tmp, 40)
30920 pack_tmp = packed_data(ipack)
30921 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
30922 pack_tmp = ishft(pack_tmp, -40)
30924 data_tmp = ishft(pack_tmp, 16)
30926 pack_tmp = packed_data(ipack)
30927 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30928 pack_tmp = ishft(pack_tmp, -16)
30930 data_tmp = iand(pack_tmp, mask_right(nbits))
30931 full_data(idata) = data_tmp
30932 pack_tmp = ishft(pack_tmp, -nbits)
30934 data_tmp = ishft(pack_tmp, 32)
30936 pack_tmp = packed_data(ipack)
30937 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
30938 pack_tmp = ishft(pack_tmp, -32)
30940 data_tmp = ishft(pack_tmp, 8)
30942 pack_tmp = packed_data(ipack)
30943 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30944 pack_tmp = ishft(pack_tmp, -8)
30946 data_tmp = iand(pack_tmp, mask_right(nbits))
30947 full_data(idata) = data_tmp
30948 pack_tmp = ishft(pack_tmp, -nbits)
30950 data_tmp = ishft(pack_tmp, 24)
30952 pack_tmp = packed_data(ipack)
30953 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30954 pack_tmp = ishft(pack_tmp, -24)
30956 data_tmp = iand(pack_tmp, mask_right(nbits))
30957 full_data(idata) = data_tmp
30958 pack_tmp = ishft(pack_tmp, -nbits)
30960 data_tmp = ishft(pack_tmp, 40)
30962 pack_tmp = packed_data(ipack)
30963 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
30964 pack_tmp = ishft(pack_tmp, -40)
30966 data_tmp = ishft(pack_tmp, 16)
30968 pack_tmp = packed_data(ipack)
30969 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
30970 pack_tmp = ishft(pack_tmp, -16)
30972 data_tmp = iand(pack_tmp, mask_right(nbits))
30973 full_data(idata) = data_tmp
30974 pack_tmp = ishft(pack_tmp, -nbits)
30976 data_tmp = ishft(pack_tmp, 32)
30978 pack_tmp = packed_data(ipack)
30979 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
30980 pack_tmp = ishft(pack_tmp, -32)
30982 data_tmp = ishft(pack_tmp, 8)
30984 pack_tmp = packed_data(ipack)
30985 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
30986 pack_tmp = ishft(pack_tmp, -8)
30988 data_tmp = iand(pack_tmp, mask_right(nbits))
30989 full_data(idata) = data_tmp
30990 pack_tmp = ishft(pack_tmp, -nbits)
30992 data_tmp = ishft(pack_tmp, 24)
30994 pack_tmp = packed_data(ipack)
30995 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
30996 pack_tmp = ishft(pack_tmp, -24)
30998 data_tmp = iand(pack_tmp, mask_right(nbits))
30999 full_data(idata) = data_tmp
31000 pack_tmp = ishft(pack_tmp, -nbits)
31002 data_tmp = ishft(pack_tmp, 40)
31004 pack_tmp = packed_data(ipack)
31005 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
31006 pack_tmp = ishft(pack_tmp, -40)
31008 data_tmp = ishft(pack_tmp, 16)
31010 pack_tmp = packed_data(ipack)
31011 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
31012 pack_tmp = ishft(pack_tmp, -16)
31014 data_tmp = iand(pack_tmp, mask_right(nbits))
31015 full_data(idata) = data_tmp
31016 pack_tmp = ishft(pack_tmp, -nbits)
31018 data_tmp = ishft(pack_tmp, 32)
31020 pack_tmp = packed_data(ipack)
31021 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
31022 pack_tmp = ishft(pack_tmp, -32)
31024 data_tmp = ishft(pack_tmp, 8)
31026 pack_tmp = packed_data(ipack)
31027 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
31028 pack_tmp = ishft(pack_tmp, -8)
31030 data_tmp = iand(pack_tmp, mask_right(nbits))
31031 full_data(idata) = data_tmp
31032 pack_tmp = ishft(pack_tmp, -nbits)
31034 data_tmp = ishft(pack_tmp, 24)
31036 pack_tmp = packed_data(ipack)
31037 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
31038 pack_tmp = ishft(pack_tmp, -24)
31040 data_tmp = iand(pack_tmp, mask_right(nbits))
31041 full_data(idata) = data_tmp
31042 pack_tmp = ishft(pack_tmp, -nbits)
31044 IF (ndata_rep < ndata)
THEN
31045 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
31047 END SUBROUTINE bits2ints_40
31055 SUBROUTINE ints2bits_41(Ndata, packed_data, full_data)
31056 INTEGER,
INTENT(IN) :: Ndata
31057 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
31058 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
31060 INTEGER,
PARAMETER :: Nbits = 41
31062 INTEGER :: idata, ipack, kdata, Ndata_rep
31063 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
31067 ndata_rep = (ndata/64)*64
31068 DO kdata = 1, ndata_rep, 64
31071 data_tmp = full_data(idata)
31072 data_tmp = ishft(data_tmp, 23)
31073 pack_tmp = ior(pack_tmp, data_tmp)
31074 pack_tmp = ishft(pack_tmp, -23)
31076 data_tmp = full_data(idata)
31077 data_tmp = ishft(data_tmp, 23)
31078 data_tmp = iand(data_tmp, mask_left(23))
31079 pack_tmp = ior(pack_tmp, data_tmp)
31081 packed_data(ipack) = pack_tmp
31082 data_tmp = full_data(idata)
31083 pack_tmp = ishft(data_tmp, 46)
31084 pack_tmp = ishft(pack_tmp, -41)
31086 data_tmp = full_data(idata)
31087 data_tmp = ishft(data_tmp, 23)
31088 pack_tmp = ior(pack_tmp, data_tmp)
31089 pack_tmp = ishft(pack_tmp, -5)
31091 data_tmp = full_data(idata)
31092 data_tmp = ishft(data_tmp, 23)
31093 data_tmp = iand(data_tmp, mask_left(5))
31094 pack_tmp = ior(pack_tmp, data_tmp)
31096 packed_data(ipack) = pack_tmp
31097 data_tmp = full_data(idata)
31098 pack_tmp = ishft(data_tmp, 28)
31099 pack_tmp = ishft(pack_tmp, -28)
31101 data_tmp = full_data(idata)
31102 data_tmp = ishft(data_tmp, 23)
31103 data_tmp = iand(data_tmp, mask_left(28))
31104 pack_tmp = ior(pack_tmp, data_tmp)
31106 packed_data(ipack) = pack_tmp
31107 data_tmp = full_data(idata)
31108 pack_tmp = ishft(data_tmp, 51)
31109 pack_tmp = ishft(pack_tmp, -41)
31111 data_tmp = full_data(idata)
31112 data_tmp = ishft(data_tmp, 23)
31113 pack_tmp = ior(pack_tmp, data_tmp)
31114 pack_tmp = ishft(pack_tmp, -10)
31116 data_tmp = full_data(idata)
31117 data_tmp = ishft(data_tmp, 23)
31118 data_tmp = iand(data_tmp, mask_left(10))
31119 pack_tmp = ior(pack_tmp, data_tmp)
31121 packed_data(ipack) = pack_tmp
31122 data_tmp = full_data(idata)
31123 pack_tmp = ishft(data_tmp, 33)
31124 pack_tmp = ishft(pack_tmp, -33)
31126 data_tmp = full_data(idata)
31127 data_tmp = ishft(data_tmp, 23)
31128 data_tmp = iand(data_tmp, mask_left(33))
31129 pack_tmp = ior(pack_tmp, data_tmp)
31131 packed_data(ipack) = pack_tmp
31132 data_tmp = full_data(idata)
31133 pack_tmp = ishft(data_tmp, 56)
31134 pack_tmp = ishft(pack_tmp, -41)
31136 data_tmp = full_data(idata)
31137 data_tmp = ishft(data_tmp, 23)
31138 pack_tmp = ior(pack_tmp, data_tmp)
31139 pack_tmp = ishft(pack_tmp, -15)
31141 data_tmp = full_data(idata)
31142 data_tmp = ishft(data_tmp, 23)
31143 data_tmp = iand(data_tmp, mask_left(15))
31144 pack_tmp = ior(pack_tmp, data_tmp)
31146 packed_data(ipack) = pack_tmp
31147 data_tmp = full_data(idata)
31148 pack_tmp = ishft(data_tmp, 38)
31149 pack_tmp = ishft(pack_tmp, -38)
31151 data_tmp = full_data(idata)
31152 data_tmp = ishft(data_tmp, 23)
31153 data_tmp = iand(data_tmp, mask_left(38))
31154 pack_tmp = ior(pack_tmp, data_tmp)
31156 packed_data(ipack) = pack_tmp
31157 data_tmp = full_data(idata)
31158 pack_tmp = ishft(data_tmp, 61)
31159 pack_tmp = ishft(pack_tmp, -41)
31161 data_tmp = full_data(idata)
31162 data_tmp = ishft(data_tmp, 23)
31163 pack_tmp = ior(pack_tmp, data_tmp)
31164 pack_tmp = ishft(pack_tmp, -20)
31166 data_tmp = full_data(idata)
31167 data_tmp = ishft(data_tmp, 23)
31168 data_tmp = iand(data_tmp, mask_left(20))
31169 pack_tmp = ior(pack_tmp, data_tmp)
31171 packed_data(ipack) = pack_tmp
31172 data_tmp = full_data(idata)
31173 pack_tmp = ishft(data_tmp, 43)
31174 pack_tmp = ishft(pack_tmp, -41)
31176 data_tmp = full_data(idata)
31177 data_tmp = ishft(data_tmp, 23)
31178 pack_tmp = ior(pack_tmp, data_tmp)
31179 pack_tmp = ishft(pack_tmp, -2)
31181 data_tmp = full_data(idata)
31182 data_tmp = ishft(data_tmp, 23)
31183 data_tmp = iand(data_tmp, mask_left(2))
31184 pack_tmp = ior(pack_tmp, data_tmp)
31186 packed_data(ipack) = pack_tmp
31187 data_tmp = full_data(idata)
31188 pack_tmp = ishft(data_tmp, 25)
31189 pack_tmp = ishft(pack_tmp, -25)
31191 data_tmp = full_data(idata)
31192 data_tmp = ishft(data_tmp, 23)
31193 data_tmp = iand(data_tmp, mask_left(25))
31194 pack_tmp = ior(pack_tmp, data_tmp)
31196 packed_data(ipack) = pack_tmp
31197 data_tmp = full_data(idata)
31198 pack_tmp = ishft(data_tmp, 48)
31199 pack_tmp = ishft(pack_tmp, -41)
31201 data_tmp = full_data(idata)
31202 data_tmp = ishft(data_tmp, 23)
31203 pack_tmp = ior(pack_tmp, data_tmp)
31204 pack_tmp = ishft(pack_tmp, -7)
31206 data_tmp = full_data(idata)
31207 data_tmp = ishft(data_tmp, 23)
31208 data_tmp = iand(data_tmp, mask_left(7))
31209 pack_tmp = ior(pack_tmp, data_tmp)
31211 packed_data(ipack) = pack_tmp
31212 data_tmp = full_data(idata)
31213 pack_tmp = ishft(data_tmp, 30)
31214 pack_tmp = ishft(pack_tmp, -30)
31216 data_tmp = full_data(idata)
31217 data_tmp = ishft(data_tmp, 23)
31218 data_tmp = iand(data_tmp, mask_left(30))
31219 pack_tmp = ior(pack_tmp, data_tmp)
31221 packed_data(ipack) = pack_tmp
31222 data_tmp = full_data(idata)
31223 pack_tmp = ishft(data_tmp, 53)
31224 pack_tmp = ishft(pack_tmp, -41)
31226 data_tmp = full_data(idata)
31227 data_tmp = ishft(data_tmp, 23)
31228 pack_tmp = ior(pack_tmp, data_tmp)
31229 pack_tmp = ishft(pack_tmp, -12)
31231 data_tmp = full_data(idata)
31232 data_tmp = ishft(data_tmp, 23)
31233 data_tmp = iand(data_tmp, mask_left(12))
31234 pack_tmp = ior(pack_tmp, data_tmp)
31236 packed_data(ipack) = pack_tmp
31237 data_tmp = full_data(idata)
31238 pack_tmp = ishft(data_tmp, 35)
31239 pack_tmp = ishft(pack_tmp, -35)
31241 data_tmp = full_data(idata)
31242 data_tmp = ishft(data_tmp, 23)
31243 data_tmp = iand(data_tmp, mask_left(35))
31244 pack_tmp = ior(pack_tmp, data_tmp)
31246 packed_data(ipack) = pack_tmp
31247 data_tmp = full_data(idata)
31248 pack_tmp = ishft(data_tmp, 58)
31249 pack_tmp = ishft(pack_tmp, -41)
31251 data_tmp = full_data(idata)
31252 data_tmp = ishft(data_tmp, 23)
31253 pack_tmp = ior(pack_tmp, data_tmp)
31254 pack_tmp = ishft(pack_tmp, -17)
31256 data_tmp = full_data(idata)
31257 data_tmp = ishft(data_tmp, 23)
31258 data_tmp = iand(data_tmp, mask_left(17))
31259 pack_tmp = ior(pack_tmp, data_tmp)
31261 packed_data(ipack) = pack_tmp
31262 data_tmp = full_data(idata)
31263 pack_tmp = ishft(data_tmp, 40)
31264 pack_tmp = ishft(pack_tmp, -40)
31266 data_tmp = full_data(idata)
31267 data_tmp = ishft(data_tmp, 23)
31268 data_tmp = iand(data_tmp, mask_left(40))
31269 pack_tmp = ior(pack_tmp, data_tmp)
31271 packed_data(ipack) = pack_tmp
31272 data_tmp = full_data(idata)
31273 pack_tmp = ishft(data_tmp, 63)
31274 pack_tmp = ishft(pack_tmp, -41)
31276 data_tmp = full_data(idata)
31277 data_tmp = ishft(data_tmp, 23)
31278 pack_tmp = ior(pack_tmp, data_tmp)
31279 pack_tmp = ishft(pack_tmp, -22)
31281 data_tmp = full_data(idata)
31282 data_tmp = ishft(data_tmp, 23)
31283 data_tmp = iand(data_tmp, mask_left(22))
31284 pack_tmp = ior(pack_tmp, data_tmp)
31286 packed_data(ipack) = pack_tmp
31287 data_tmp = full_data(idata)
31288 pack_tmp = ishft(data_tmp, 45)
31289 pack_tmp = ishft(pack_tmp, -41)
31291 data_tmp = full_data(idata)
31292 data_tmp = ishft(data_tmp, 23)
31293 pack_tmp = ior(pack_tmp, data_tmp)
31294 pack_tmp = ishft(pack_tmp, -4)
31296 data_tmp = full_data(idata)
31297 data_tmp = ishft(data_tmp, 23)
31298 data_tmp = iand(data_tmp, mask_left(4))
31299 pack_tmp = ior(pack_tmp, data_tmp)
31301 packed_data(ipack) = pack_tmp
31302 data_tmp = full_data(idata)
31303 pack_tmp = ishft(data_tmp, 27)
31304 pack_tmp = ishft(pack_tmp, -27)
31306 data_tmp = full_data(idata)
31307 data_tmp = ishft(data_tmp, 23)
31308 data_tmp = iand(data_tmp, mask_left(27))
31309 pack_tmp = ior(pack_tmp, data_tmp)
31311 packed_data(ipack) = pack_tmp
31312 data_tmp = full_data(idata)
31313 pack_tmp = ishft(data_tmp, 50)
31314 pack_tmp = ishft(pack_tmp, -41)
31316 data_tmp = full_data(idata)
31317 data_tmp = ishft(data_tmp, 23)
31318 pack_tmp = ior(pack_tmp, data_tmp)
31319 pack_tmp = ishft(pack_tmp, -9)
31321 data_tmp = full_data(idata)
31322 data_tmp = ishft(data_tmp, 23)
31323 data_tmp = iand(data_tmp, mask_left(9))
31324 pack_tmp = ior(pack_tmp, data_tmp)
31326 packed_data(ipack) = pack_tmp
31327 data_tmp = full_data(idata)
31328 pack_tmp = ishft(data_tmp, 32)
31329 pack_tmp = ishft(pack_tmp, -32)
31331 data_tmp = full_data(idata)
31332 data_tmp = ishft(data_tmp, 23)
31333 data_tmp = iand(data_tmp, mask_left(32))
31334 pack_tmp = ior(pack_tmp, data_tmp)
31336 packed_data(ipack) = pack_tmp
31337 data_tmp = full_data(idata)
31338 pack_tmp = ishft(data_tmp, 55)
31339 pack_tmp = ishft(pack_tmp, -41)
31341 data_tmp = full_data(idata)
31342 data_tmp = ishft(data_tmp, 23)
31343 pack_tmp = ior(pack_tmp, data_tmp)
31344 pack_tmp = ishft(pack_tmp, -14)
31346 data_tmp = full_data(idata)
31347 data_tmp = ishft(data_tmp, 23)
31348 data_tmp = iand(data_tmp, mask_left(14))
31349 pack_tmp = ior(pack_tmp, data_tmp)
31351 packed_data(ipack) = pack_tmp
31352 data_tmp = full_data(idata)
31353 pack_tmp = ishft(data_tmp, 37)
31354 pack_tmp = ishft(pack_tmp, -37)
31356 data_tmp = full_data(idata)
31357 data_tmp = ishft(data_tmp, 23)
31358 data_tmp = iand(data_tmp, mask_left(37))
31359 pack_tmp = ior(pack_tmp, data_tmp)
31361 packed_data(ipack) = pack_tmp
31362 data_tmp = full_data(idata)
31363 pack_tmp = ishft(data_tmp, 60)
31364 pack_tmp = ishft(pack_tmp, -41)
31366 data_tmp = full_data(idata)
31367 data_tmp = ishft(data_tmp, 23)
31368 pack_tmp = ior(pack_tmp, data_tmp)
31369 pack_tmp = ishft(pack_tmp, -19)
31371 data_tmp = full_data(idata)
31372 data_tmp = ishft(data_tmp, 23)
31373 data_tmp = iand(data_tmp, mask_left(19))
31374 pack_tmp = ior(pack_tmp, data_tmp)
31376 packed_data(ipack) = pack_tmp
31377 data_tmp = full_data(idata)
31378 pack_tmp = ishft(data_tmp, 42)
31379 pack_tmp = ishft(pack_tmp, -41)
31381 data_tmp = full_data(idata)
31382 data_tmp = ishft(data_tmp, 23)
31383 pack_tmp = ior(pack_tmp, data_tmp)
31384 pack_tmp = ishft(pack_tmp, -1)
31386 data_tmp = full_data(idata)
31387 data_tmp = ishft(data_tmp, 23)
31388 data_tmp = iand(data_tmp, mask_left(1))
31389 pack_tmp = ior(pack_tmp, data_tmp)
31391 packed_data(ipack) = pack_tmp
31392 data_tmp = full_data(idata)
31393 pack_tmp = ishft(data_tmp, 24)
31394 pack_tmp = ishft(pack_tmp, -24)
31396 data_tmp = full_data(idata)
31397 data_tmp = ishft(data_tmp, 23)
31398 data_tmp = iand(data_tmp, mask_left(24))
31399 pack_tmp = ior(pack_tmp, data_tmp)
31401 packed_data(ipack) = pack_tmp
31402 data_tmp = full_data(idata)
31403 pack_tmp = ishft(data_tmp, 47)
31404 pack_tmp = ishft(pack_tmp, -41)
31406 data_tmp = full_data(idata)
31407 data_tmp = ishft(data_tmp, 23)
31408 pack_tmp = ior(pack_tmp, data_tmp)
31409 pack_tmp = ishft(pack_tmp, -6)
31411 data_tmp = full_data(idata)
31412 data_tmp = ishft(data_tmp, 23)
31413 data_tmp = iand(data_tmp, mask_left(6))
31414 pack_tmp = ior(pack_tmp, data_tmp)
31416 packed_data(ipack) = pack_tmp
31417 data_tmp = full_data(idata)
31418 pack_tmp = ishft(data_tmp, 29)
31419 pack_tmp = ishft(pack_tmp, -29)
31421 data_tmp = full_data(idata)
31422 data_tmp = ishft(data_tmp, 23)
31423 data_tmp = iand(data_tmp, mask_left(29))
31424 pack_tmp = ior(pack_tmp, data_tmp)
31426 packed_data(ipack) = pack_tmp
31427 data_tmp = full_data(idata)
31428 pack_tmp = ishft(data_tmp, 52)
31429 pack_tmp = ishft(pack_tmp, -41)
31431 data_tmp = full_data(idata)
31432 data_tmp = ishft(data_tmp, 23)
31433 pack_tmp = ior(pack_tmp, data_tmp)
31434 pack_tmp = ishft(pack_tmp, -11)
31436 data_tmp = full_data(idata)
31437 data_tmp = ishft(data_tmp, 23)
31438 data_tmp = iand(data_tmp, mask_left(11))
31439 pack_tmp = ior(pack_tmp, data_tmp)
31441 packed_data(ipack) = pack_tmp
31442 data_tmp = full_data(idata)
31443 pack_tmp = ishft(data_tmp, 34)
31444 pack_tmp = ishft(pack_tmp, -34)
31446 data_tmp = full_data(idata)
31447 data_tmp = ishft(data_tmp, 23)
31448 data_tmp = iand(data_tmp, mask_left(34))
31449 pack_tmp = ior(pack_tmp, data_tmp)
31451 packed_data(ipack) = pack_tmp
31452 data_tmp = full_data(idata)
31453 pack_tmp = ishft(data_tmp, 57)
31454 pack_tmp = ishft(pack_tmp, -41)
31456 data_tmp = full_data(idata)
31457 data_tmp = ishft(data_tmp, 23)
31458 pack_tmp = ior(pack_tmp, data_tmp)
31459 pack_tmp = ishft(pack_tmp, -16)
31461 data_tmp = full_data(idata)
31462 data_tmp = ishft(data_tmp, 23)
31463 data_tmp = iand(data_tmp, mask_left(16))
31464 pack_tmp = ior(pack_tmp, data_tmp)
31466 packed_data(ipack) = pack_tmp
31467 data_tmp = full_data(idata)
31468 pack_tmp = ishft(data_tmp, 39)
31469 pack_tmp = ishft(pack_tmp, -39)
31471 data_tmp = full_data(idata)
31472 data_tmp = ishft(data_tmp, 23)
31473 data_tmp = iand(data_tmp, mask_left(39))
31474 pack_tmp = ior(pack_tmp, data_tmp)
31476 packed_data(ipack) = pack_tmp
31477 data_tmp = full_data(idata)
31478 pack_tmp = ishft(data_tmp, 62)
31479 pack_tmp = ishft(pack_tmp, -41)
31481 data_tmp = full_data(idata)
31482 data_tmp = ishft(data_tmp, 23)
31483 pack_tmp = ior(pack_tmp, data_tmp)
31484 pack_tmp = ishft(pack_tmp, -21)
31486 data_tmp = full_data(idata)
31487 data_tmp = ishft(data_tmp, 23)
31488 data_tmp = iand(data_tmp, mask_left(21))
31489 pack_tmp = ior(pack_tmp, data_tmp)
31491 packed_data(ipack) = pack_tmp
31492 data_tmp = full_data(idata)
31493 pack_tmp = ishft(data_tmp, 44)
31494 pack_tmp = ishft(pack_tmp, -41)
31496 data_tmp = full_data(idata)
31497 data_tmp = ishft(data_tmp, 23)
31498 pack_tmp = ior(pack_tmp, data_tmp)
31499 pack_tmp = ishft(pack_tmp, -3)
31501 data_tmp = full_data(idata)
31502 data_tmp = ishft(data_tmp, 23)
31503 data_tmp = iand(data_tmp, mask_left(3))
31504 pack_tmp = ior(pack_tmp, data_tmp)
31506 packed_data(ipack) = pack_tmp
31507 data_tmp = full_data(idata)
31508 pack_tmp = ishft(data_tmp, 26)
31509 pack_tmp = ishft(pack_tmp, -26)
31511 data_tmp = full_data(idata)
31512 data_tmp = ishft(data_tmp, 23)
31513 data_tmp = iand(data_tmp, mask_left(26))
31514 pack_tmp = ior(pack_tmp, data_tmp)
31516 packed_data(ipack) = pack_tmp
31517 data_tmp = full_data(idata)
31518 pack_tmp = ishft(data_tmp, 49)
31519 pack_tmp = ishft(pack_tmp, -41)
31521 data_tmp = full_data(idata)
31522 data_tmp = ishft(data_tmp, 23)
31523 pack_tmp = ior(pack_tmp, data_tmp)
31524 pack_tmp = ishft(pack_tmp, -8)
31526 data_tmp = full_data(idata)
31527 data_tmp = ishft(data_tmp, 23)
31528 data_tmp = iand(data_tmp, mask_left(8))
31529 pack_tmp = ior(pack_tmp, data_tmp)
31531 packed_data(ipack) = pack_tmp
31532 data_tmp = full_data(idata)
31533 pack_tmp = ishft(data_tmp, 31)
31534 pack_tmp = ishft(pack_tmp, -31)
31536 data_tmp = full_data(idata)
31537 data_tmp = ishft(data_tmp, 23)
31538 data_tmp = iand(data_tmp, mask_left(31))
31539 pack_tmp = ior(pack_tmp, data_tmp)
31541 packed_data(ipack) = pack_tmp
31542 data_tmp = full_data(idata)
31543 pack_tmp = ishft(data_tmp, 54)
31544 pack_tmp = ishft(pack_tmp, -41)
31546 data_tmp = full_data(idata)
31547 data_tmp = ishft(data_tmp, 23)
31548 pack_tmp = ior(pack_tmp, data_tmp)
31549 pack_tmp = ishft(pack_tmp, -13)
31551 data_tmp = full_data(idata)
31552 data_tmp = ishft(data_tmp, 23)
31553 data_tmp = iand(data_tmp, mask_left(13))
31554 pack_tmp = ior(pack_tmp, data_tmp)
31556 packed_data(ipack) = pack_tmp
31557 data_tmp = full_data(idata)
31558 pack_tmp = ishft(data_tmp, 36)
31559 pack_tmp = ishft(pack_tmp, -36)
31561 data_tmp = full_data(idata)
31562 data_tmp = ishft(data_tmp, 23)
31563 data_tmp = iand(data_tmp, mask_left(36))
31564 pack_tmp = ior(pack_tmp, data_tmp)
31566 packed_data(ipack) = pack_tmp
31567 data_tmp = full_data(idata)
31568 pack_tmp = ishft(data_tmp, 59)
31569 pack_tmp = ishft(pack_tmp, -41)
31571 data_tmp = full_data(idata)
31572 data_tmp = ishft(data_tmp, 23)
31573 pack_tmp = ior(pack_tmp, data_tmp)
31574 pack_tmp = ishft(pack_tmp, -18)
31576 data_tmp = full_data(idata)
31577 data_tmp = ishft(data_tmp, 23)
31578 data_tmp = iand(data_tmp, mask_left(18))
31579 pack_tmp = ior(pack_tmp, data_tmp)
31581 packed_data(ipack) = pack_tmp
31582 data_tmp = full_data(idata)
31583 pack_tmp = ishft(data_tmp, 41)
31584 pack_tmp = ishft(pack_tmp, -41)
31586 data_tmp = full_data(idata)
31587 data_tmp = ishft(data_tmp, 23)
31588 pack_tmp = ior(pack_tmp, data_tmp)
31589 pack_tmp = ishft(pack_tmp, 0)
31590 pack_tmp = ishft(pack_tmp, 0)
31592 packed_data(ipack) = pack_tmp
31594 IF (ndata_rep < ndata)
THEN
31595 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
31597 END SUBROUTINE ints2bits_41
31605 SUBROUTINE bits2ints_41(Ndata, packed_data, full_data)
31606 INTEGER,
INTENT(IN) :: Ndata
31607 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
31608 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
31610 INTEGER,
PARAMETER :: Nbits = 41
31612 INTEGER :: idata, ipack, kdata, Ndata_rep
31613 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
31618 ndata_rep = (ndata/64)*64
31619 DO kdata = 1, ndata_rep, 64
31621 data_tmp = ishft(pack_tmp, 41)
31623 pack_tmp = packed_data(ipack)
31624 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
31625 pack_tmp = ishft(pack_tmp, -41)
31627 data_tmp = ishft(pack_tmp, 18)
31629 pack_tmp = packed_data(ipack)
31630 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
31631 pack_tmp = ishft(pack_tmp, -18)
31633 data_tmp = iand(pack_tmp, mask_right(nbits))
31634 full_data(idata) = data_tmp
31635 pack_tmp = ishft(pack_tmp, -nbits)
31637 data_tmp = ishft(pack_tmp, 36)
31639 pack_tmp = packed_data(ipack)
31640 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
31641 pack_tmp = ishft(pack_tmp, -36)
31643 data_tmp = ishft(pack_tmp, 13)
31645 pack_tmp = packed_data(ipack)
31646 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
31647 pack_tmp = ishft(pack_tmp, -13)
31649 data_tmp = iand(pack_tmp, mask_right(nbits))
31650 full_data(idata) = data_tmp
31651 pack_tmp = ishft(pack_tmp, -nbits)
31653 data_tmp = ishft(pack_tmp, 31)
31655 pack_tmp = packed_data(ipack)
31656 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
31657 pack_tmp = ishft(pack_tmp, -31)
31659 data_tmp = ishft(pack_tmp, 8)
31661 pack_tmp = packed_data(ipack)
31662 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
31663 pack_tmp = ishft(pack_tmp, -8)
31665 data_tmp = iand(pack_tmp, mask_right(nbits))
31666 full_data(idata) = data_tmp
31667 pack_tmp = ishft(pack_tmp, -nbits)
31669 data_tmp = ishft(pack_tmp, 26)
31671 pack_tmp = packed_data(ipack)
31672 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
31673 pack_tmp = ishft(pack_tmp, -26)
31675 data_tmp = ishft(pack_tmp, 3)
31677 pack_tmp = packed_data(ipack)
31678 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
31679 pack_tmp = ishft(pack_tmp, -3)
31681 data_tmp = iand(pack_tmp, mask_right(nbits))
31682 full_data(idata) = data_tmp
31683 pack_tmp = ishft(pack_tmp, -nbits)
31685 data_tmp = ishft(pack_tmp, 21)
31687 pack_tmp = packed_data(ipack)
31688 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
31689 pack_tmp = ishft(pack_tmp, -21)
31691 data_tmp = iand(pack_tmp, mask_right(nbits))
31692 full_data(idata) = data_tmp
31693 pack_tmp = ishft(pack_tmp, -nbits)
31695 data_tmp = ishft(pack_tmp, 39)
31697 pack_tmp = packed_data(ipack)
31698 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
31699 pack_tmp = ishft(pack_tmp, -39)
31701 data_tmp = ishft(pack_tmp, 16)
31703 pack_tmp = packed_data(ipack)
31704 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
31705 pack_tmp = ishft(pack_tmp, -16)
31707 data_tmp = iand(pack_tmp, mask_right(nbits))
31708 full_data(idata) = data_tmp
31709 pack_tmp = ishft(pack_tmp, -nbits)
31711 data_tmp = ishft(pack_tmp, 34)
31713 pack_tmp = packed_data(ipack)
31714 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
31715 pack_tmp = ishft(pack_tmp, -34)
31717 data_tmp = ishft(pack_tmp, 11)
31719 pack_tmp = packed_data(ipack)
31720 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
31721 pack_tmp = ishft(pack_tmp, -11)
31723 data_tmp = iand(pack_tmp, mask_right(nbits))
31724 full_data(idata) = data_tmp
31725 pack_tmp = ishft(pack_tmp, -nbits)
31727 data_tmp = ishft(pack_tmp, 29)
31729 pack_tmp = packed_data(ipack)
31730 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
31731 pack_tmp = ishft(pack_tmp, -29)
31733 data_tmp = ishft(pack_tmp, 6)
31735 pack_tmp = packed_data(ipack)
31736 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
31737 pack_tmp = ishft(pack_tmp, -6)
31739 data_tmp = iand(pack_tmp, mask_right(nbits))
31740 full_data(idata) = data_tmp
31741 pack_tmp = ishft(pack_tmp, -nbits)
31743 data_tmp = ishft(pack_tmp, 24)
31745 pack_tmp = packed_data(ipack)
31746 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
31747 pack_tmp = ishft(pack_tmp, -24)
31749 data_tmp = ishft(pack_tmp, 1)
31751 pack_tmp = packed_data(ipack)
31752 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
31753 pack_tmp = ishft(pack_tmp, -1)
31755 data_tmp = iand(pack_tmp, mask_right(nbits))
31756 full_data(idata) = data_tmp
31757 pack_tmp = ishft(pack_tmp, -nbits)
31759 data_tmp = ishft(pack_tmp, 19)
31761 pack_tmp = packed_data(ipack)
31762 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
31763 pack_tmp = ishft(pack_tmp, -19)
31765 data_tmp = iand(pack_tmp, mask_right(nbits))
31766 full_data(idata) = data_tmp
31767 pack_tmp = ishft(pack_tmp, -nbits)
31769 data_tmp = ishft(pack_tmp, 37)
31771 pack_tmp = packed_data(ipack)
31772 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
31773 pack_tmp = ishft(pack_tmp, -37)
31775 data_tmp = ishft(pack_tmp, 14)
31777 pack_tmp = packed_data(ipack)
31778 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
31779 pack_tmp = ishft(pack_tmp, -14)
31781 data_tmp = iand(pack_tmp, mask_right(nbits))
31782 full_data(idata) = data_tmp
31783 pack_tmp = ishft(pack_tmp, -nbits)
31785 data_tmp = ishft(pack_tmp, 32)
31787 pack_tmp = packed_data(ipack)
31788 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
31789 pack_tmp = ishft(pack_tmp, -32)
31791 data_tmp = ishft(pack_tmp, 9)
31793 pack_tmp = packed_data(ipack)
31794 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
31795 pack_tmp = ishft(pack_tmp, -9)
31797 data_tmp = iand(pack_tmp, mask_right(nbits))
31798 full_data(idata) = data_tmp
31799 pack_tmp = ishft(pack_tmp, -nbits)
31801 data_tmp = ishft(pack_tmp, 27)
31803 pack_tmp = packed_data(ipack)
31804 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
31805 pack_tmp = ishft(pack_tmp, -27)
31807 data_tmp = ishft(pack_tmp, 4)
31809 pack_tmp = packed_data(ipack)
31810 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
31811 pack_tmp = ishft(pack_tmp, -4)
31813 data_tmp = iand(pack_tmp, mask_right(nbits))
31814 full_data(idata) = data_tmp
31815 pack_tmp = ishft(pack_tmp, -nbits)
31817 data_tmp = ishft(pack_tmp, 22)
31819 pack_tmp = packed_data(ipack)
31820 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
31821 pack_tmp = ishft(pack_tmp, -22)
31823 data_tmp = iand(pack_tmp, mask_right(nbits))
31824 full_data(idata) = data_tmp
31825 pack_tmp = ishft(pack_tmp, -nbits)
31827 data_tmp = ishft(pack_tmp, 40)
31829 pack_tmp = packed_data(ipack)
31830 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
31831 pack_tmp = ishft(pack_tmp, -40)
31833 data_tmp = ishft(pack_tmp, 17)
31835 pack_tmp = packed_data(ipack)
31836 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
31837 pack_tmp = ishft(pack_tmp, -17)
31839 data_tmp = iand(pack_tmp, mask_right(nbits))
31840 full_data(idata) = data_tmp
31841 pack_tmp = ishft(pack_tmp, -nbits)
31843 data_tmp = ishft(pack_tmp, 35)
31845 pack_tmp = packed_data(ipack)
31846 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
31847 pack_tmp = ishft(pack_tmp, -35)
31849 data_tmp = ishft(pack_tmp, 12)
31851 pack_tmp = packed_data(ipack)
31852 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
31853 pack_tmp = ishft(pack_tmp, -12)
31855 data_tmp = iand(pack_tmp, mask_right(nbits))
31856 full_data(idata) = data_tmp
31857 pack_tmp = ishft(pack_tmp, -nbits)
31859 data_tmp = ishft(pack_tmp, 30)
31861 pack_tmp = packed_data(ipack)
31862 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
31863 pack_tmp = ishft(pack_tmp, -30)
31865 data_tmp = ishft(pack_tmp, 7)
31867 pack_tmp = packed_data(ipack)
31868 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
31869 pack_tmp = ishft(pack_tmp, -7)
31871 data_tmp = iand(pack_tmp, mask_right(nbits))
31872 full_data(idata) = data_tmp
31873 pack_tmp = ishft(pack_tmp, -nbits)
31875 data_tmp = ishft(pack_tmp, 25)
31877 pack_tmp = packed_data(ipack)
31878 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
31879 pack_tmp = ishft(pack_tmp, -25)
31881 data_tmp = ishft(pack_tmp, 2)
31883 pack_tmp = packed_data(ipack)
31884 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
31885 pack_tmp = ishft(pack_tmp, -2)
31887 data_tmp = iand(pack_tmp, mask_right(nbits))
31888 full_data(idata) = data_tmp
31889 pack_tmp = ishft(pack_tmp, -nbits)
31891 data_tmp = ishft(pack_tmp, 20)
31893 pack_tmp = packed_data(ipack)
31894 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
31895 pack_tmp = ishft(pack_tmp, -20)
31897 data_tmp = iand(pack_tmp, mask_right(nbits))
31898 full_data(idata) = data_tmp
31899 pack_tmp = ishft(pack_tmp, -nbits)
31901 data_tmp = ishft(pack_tmp, 38)
31903 pack_tmp = packed_data(ipack)
31904 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
31905 pack_tmp = ishft(pack_tmp, -38)
31907 data_tmp = ishft(pack_tmp, 15)
31909 pack_tmp = packed_data(ipack)
31910 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
31911 pack_tmp = ishft(pack_tmp, -15)
31913 data_tmp = iand(pack_tmp, mask_right(nbits))
31914 full_data(idata) = data_tmp
31915 pack_tmp = ishft(pack_tmp, -nbits)
31917 data_tmp = ishft(pack_tmp, 33)
31919 pack_tmp = packed_data(ipack)
31920 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
31921 pack_tmp = ishft(pack_tmp, -33)
31923 data_tmp = ishft(pack_tmp, 10)
31925 pack_tmp = packed_data(ipack)
31926 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
31927 pack_tmp = ishft(pack_tmp, -10)
31929 data_tmp = iand(pack_tmp, mask_right(nbits))
31930 full_data(idata) = data_tmp
31931 pack_tmp = ishft(pack_tmp, -nbits)
31933 data_tmp = ishft(pack_tmp, 28)
31935 pack_tmp = packed_data(ipack)
31936 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
31937 pack_tmp = ishft(pack_tmp, -28)
31939 data_tmp = ishft(pack_tmp, 5)
31941 pack_tmp = packed_data(ipack)
31942 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
31943 pack_tmp = ishft(pack_tmp, -5)
31945 data_tmp = iand(pack_tmp, mask_right(nbits))
31946 full_data(idata) = data_tmp
31947 pack_tmp = ishft(pack_tmp, -nbits)
31949 data_tmp = ishft(pack_tmp, 23)
31951 pack_tmp = packed_data(ipack)
31952 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
31953 pack_tmp = ishft(pack_tmp, -23)
31955 data_tmp = iand(pack_tmp, mask_right(nbits))
31956 full_data(idata) = data_tmp
31957 pack_tmp = ishft(pack_tmp, -nbits)
31959 IF (ndata_rep < ndata)
THEN
31960 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
31962 END SUBROUTINE bits2ints_41
31970 SUBROUTINE ints2bits_42(Ndata, packed_data, full_data)
31971 INTEGER,
INTENT(IN) :: Ndata
31972 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
31973 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
31975 INTEGER,
PARAMETER :: Nbits = 42
31977 INTEGER :: idata, ipack, kdata, Ndata_rep
31978 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
31982 ndata_rep = (ndata/64)*64
31983 DO kdata = 1, ndata_rep, 64
31986 data_tmp = full_data(idata)
31987 data_tmp = ishft(data_tmp, 22)
31988 pack_tmp = ior(pack_tmp, data_tmp)
31989 pack_tmp = ishft(pack_tmp, -22)
31991 data_tmp = full_data(idata)
31992 data_tmp = ishft(data_tmp, 22)
31993 data_tmp = iand(data_tmp, mask_left(22))
31994 pack_tmp = ior(pack_tmp, data_tmp)
31996 packed_data(ipack) = pack_tmp
31997 data_tmp = full_data(idata)
31998 pack_tmp = ishft(data_tmp, 44)
31999 pack_tmp = ishft(pack_tmp, -42)
32001 data_tmp = full_data(idata)
32002 data_tmp = ishft(data_tmp, 22)
32003 pack_tmp = ior(pack_tmp, data_tmp)
32004 pack_tmp = ishft(pack_tmp, -2)
32006 data_tmp = full_data(idata)
32007 data_tmp = ishft(data_tmp, 22)
32008 data_tmp = iand(data_tmp, mask_left(2))
32009 pack_tmp = ior(pack_tmp, data_tmp)
32011 packed_data(ipack) = pack_tmp
32012 data_tmp = full_data(idata)
32013 pack_tmp = ishft(data_tmp, 24)
32014 pack_tmp = ishft(pack_tmp, -24)
32016 data_tmp = full_data(idata)
32017 data_tmp = ishft(data_tmp, 22)
32018 data_tmp = iand(data_tmp, mask_left(24))
32019 pack_tmp = ior(pack_tmp, data_tmp)
32021 packed_data(ipack) = pack_tmp
32022 data_tmp = full_data(idata)
32023 pack_tmp = ishft(data_tmp, 46)
32024 pack_tmp = ishft(pack_tmp, -42)
32026 data_tmp = full_data(idata)
32027 data_tmp = ishft(data_tmp, 22)
32028 pack_tmp = ior(pack_tmp, data_tmp)
32029 pack_tmp = ishft(pack_tmp, -4)
32031 data_tmp = full_data(idata)
32032 data_tmp = ishft(data_tmp, 22)
32033 data_tmp = iand(data_tmp, mask_left(4))
32034 pack_tmp = ior(pack_tmp, data_tmp)
32036 packed_data(ipack) = pack_tmp
32037 data_tmp = full_data(idata)
32038 pack_tmp = ishft(data_tmp, 26)
32039 pack_tmp = ishft(pack_tmp, -26)
32041 data_tmp = full_data(idata)
32042 data_tmp = ishft(data_tmp, 22)
32043 data_tmp = iand(data_tmp, mask_left(26))
32044 pack_tmp = ior(pack_tmp, data_tmp)
32046 packed_data(ipack) = pack_tmp
32047 data_tmp = full_data(idata)
32048 pack_tmp = ishft(data_tmp, 48)
32049 pack_tmp = ishft(pack_tmp, -42)
32051 data_tmp = full_data(idata)
32052 data_tmp = ishft(data_tmp, 22)
32053 pack_tmp = ior(pack_tmp, data_tmp)
32054 pack_tmp = ishft(pack_tmp, -6)
32056 data_tmp = full_data(idata)
32057 data_tmp = ishft(data_tmp, 22)
32058 data_tmp = iand(data_tmp, mask_left(6))
32059 pack_tmp = ior(pack_tmp, data_tmp)
32061 packed_data(ipack) = pack_tmp
32062 data_tmp = full_data(idata)
32063 pack_tmp = ishft(data_tmp, 28)
32064 pack_tmp = ishft(pack_tmp, -28)
32066 data_tmp = full_data(idata)
32067 data_tmp = ishft(data_tmp, 22)
32068 data_tmp = iand(data_tmp, mask_left(28))
32069 pack_tmp = ior(pack_tmp, data_tmp)
32071 packed_data(ipack) = pack_tmp
32072 data_tmp = full_data(idata)
32073 pack_tmp = ishft(data_tmp, 50)
32074 pack_tmp = ishft(pack_tmp, -42)
32076 data_tmp = full_data(idata)
32077 data_tmp = ishft(data_tmp, 22)
32078 pack_tmp = ior(pack_tmp, data_tmp)
32079 pack_tmp = ishft(pack_tmp, -8)
32081 data_tmp = full_data(idata)
32082 data_tmp = ishft(data_tmp, 22)
32083 data_tmp = iand(data_tmp, mask_left(8))
32084 pack_tmp = ior(pack_tmp, data_tmp)
32086 packed_data(ipack) = pack_tmp
32087 data_tmp = full_data(idata)
32088 pack_tmp = ishft(data_tmp, 30)
32089 pack_tmp = ishft(pack_tmp, -30)
32091 data_tmp = full_data(idata)
32092 data_tmp = ishft(data_tmp, 22)
32093 data_tmp = iand(data_tmp, mask_left(30))
32094 pack_tmp = ior(pack_tmp, data_tmp)
32096 packed_data(ipack) = pack_tmp
32097 data_tmp = full_data(idata)
32098 pack_tmp = ishft(data_tmp, 52)
32099 pack_tmp = ishft(pack_tmp, -42)
32101 data_tmp = full_data(idata)
32102 data_tmp = ishft(data_tmp, 22)
32103 pack_tmp = ior(pack_tmp, data_tmp)
32104 pack_tmp = ishft(pack_tmp, -10)
32106 data_tmp = full_data(idata)
32107 data_tmp = ishft(data_tmp, 22)
32108 data_tmp = iand(data_tmp, mask_left(10))
32109 pack_tmp = ior(pack_tmp, data_tmp)
32111 packed_data(ipack) = pack_tmp
32112 data_tmp = full_data(idata)
32113 pack_tmp = ishft(data_tmp, 32)
32114 pack_tmp = ishft(pack_tmp, -32)
32116 data_tmp = full_data(idata)
32117 data_tmp = ishft(data_tmp, 22)
32118 data_tmp = iand(data_tmp, mask_left(32))
32119 pack_tmp = ior(pack_tmp, data_tmp)
32121 packed_data(ipack) = pack_tmp
32122 data_tmp = full_data(idata)
32123 pack_tmp = ishft(data_tmp, 54)
32124 pack_tmp = ishft(pack_tmp, -42)
32126 data_tmp = full_data(idata)
32127 data_tmp = ishft(data_tmp, 22)
32128 pack_tmp = ior(pack_tmp, data_tmp)
32129 pack_tmp = ishft(pack_tmp, -12)
32131 data_tmp = full_data(idata)
32132 data_tmp = ishft(data_tmp, 22)
32133 data_tmp = iand(data_tmp, mask_left(12))
32134 pack_tmp = ior(pack_tmp, data_tmp)
32136 packed_data(ipack) = pack_tmp
32137 data_tmp = full_data(idata)
32138 pack_tmp = ishft(data_tmp, 34)
32139 pack_tmp = ishft(pack_tmp, -34)
32141 data_tmp = full_data(idata)
32142 data_tmp = ishft(data_tmp, 22)
32143 data_tmp = iand(data_tmp, mask_left(34))
32144 pack_tmp = ior(pack_tmp, data_tmp)
32146 packed_data(ipack) = pack_tmp
32147 data_tmp = full_data(idata)
32148 pack_tmp = ishft(data_tmp, 56)
32149 pack_tmp = ishft(pack_tmp, -42)
32151 data_tmp = full_data(idata)
32152 data_tmp = ishft(data_tmp, 22)
32153 pack_tmp = ior(pack_tmp, data_tmp)
32154 pack_tmp = ishft(pack_tmp, -14)
32156 data_tmp = full_data(idata)
32157 data_tmp = ishft(data_tmp, 22)
32158 data_tmp = iand(data_tmp, mask_left(14))
32159 pack_tmp = ior(pack_tmp, data_tmp)
32161 packed_data(ipack) = pack_tmp
32162 data_tmp = full_data(idata)
32163 pack_tmp = ishft(data_tmp, 36)
32164 pack_tmp = ishft(pack_tmp, -36)
32166 data_tmp = full_data(idata)
32167 data_tmp = ishft(data_tmp, 22)
32168 data_tmp = iand(data_tmp, mask_left(36))
32169 pack_tmp = ior(pack_tmp, data_tmp)
32171 packed_data(ipack) = pack_tmp
32172 data_tmp = full_data(idata)
32173 pack_tmp = ishft(data_tmp, 58)
32174 pack_tmp = ishft(pack_tmp, -42)
32176 data_tmp = full_data(idata)
32177 data_tmp = ishft(data_tmp, 22)
32178 pack_tmp = ior(pack_tmp, data_tmp)
32179 pack_tmp = ishft(pack_tmp, -16)
32181 data_tmp = full_data(idata)
32182 data_tmp = ishft(data_tmp, 22)
32183 data_tmp = iand(data_tmp, mask_left(16))
32184 pack_tmp = ior(pack_tmp, data_tmp)
32186 packed_data(ipack) = pack_tmp
32187 data_tmp = full_data(idata)
32188 pack_tmp = ishft(data_tmp, 38)
32189 pack_tmp = ishft(pack_tmp, -38)
32191 data_tmp = full_data(idata)
32192 data_tmp = ishft(data_tmp, 22)
32193 data_tmp = iand(data_tmp, mask_left(38))
32194 pack_tmp = ior(pack_tmp, data_tmp)
32196 packed_data(ipack) = pack_tmp
32197 data_tmp = full_data(idata)
32198 pack_tmp = ishft(data_tmp, 60)
32199 pack_tmp = ishft(pack_tmp, -42)
32201 data_tmp = full_data(idata)
32202 data_tmp = ishft(data_tmp, 22)
32203 pack_tmp = ior(pack_tmp, data_tmp)
32204 pack_tmp = ishft(pack_tmp, -18)
32206 data_tmp = full_data(idata)
32207 data_tmp = ishft(data_tmp, 22)
32208 data_tmp = iand(data_tmp, mask_left(18))
32209 pack_tmp = ior(pack_tmp, data_tmp)
32211 packed_data(ipack) = pack_tmp
32212 data_tmp = full_data(idata)
32213 pack_tmp = ishft(data_tmp, 40)
32214 pack_tmp = ishft(pack_tmp, -40)
32216 data_tmp = full_data(idata)
32217 data_tmp = ishft(data_tmp, 22)
32218 data_tmp = iand(data_tmp, mask_left(40))
32219 pack_tmp = ior(pack_tmp, data_tmp)
32221 packed_data(ipack) = pack_tmp
32222 data_tmp = full_data(idata)
32223 pack_tmp = ishft(data_tmp, 62)
32224 pack_tmp = ishft(pack_tmp, -42)
32226 data_tmp = full_data(idata)
32227 data_tmp = ishft(data_tmp, 22)
32228 pack_tmp = ior(pack_tmp, data_tmp)
32229 pack_tmp = ishft(pack_tmp, -20)
32231 data_tmp = full_data(idata)
32232 data_tmp = ishft(data_tmp, 22)
32233 data_tmp = iand(data_tmp, mask_left(20))
32234 pack_tmp = ior(pack_tmp, data_tmp)
32236 packed_data(ipack) = pack_tmp
32237 data_tmp = full_data(idata)
32238 pack_tmp = ishft(data_tmp, 42)
32239 pack_tmp = ishft(pack_tmp, -42)
32241 data_tmp = full_data(idata)
32242 data_tmp = ishft(data_tmp, 22)
32243 pack_tmp = ior(pack_tmp, data_tmp)
32244 pack_tmp = ishft(pack_tmp, 0)
32246 data_tmp = full_data(idata)
32247 data_tmp = ishft(data_tmp, 22)
32248 data_tmp = iand(data_tmp, mask_left(0))
32249 pack_tmp = ior(pack_tmp, data_tmp)
32251 packed_data(ipack) = pack_tmp
32252 data_tmp = full_data(idata)
32253 pack_tmp = ishft(data_tmp, 22)
32254 pack_tmp = ishft(pack_tmp, -22)
32256 data_tmp = full_data(idata)
32257 data_tmp = ishft(data_tmp, 22)
32258 data_tmp = iand(data_tmp, mask_left(22))
32259 pack_tmp = ior(pack_tmp, data_tmp)
32261 packed_data(ipack) = pack_tmp
32262 data_tmp = full_data(idata)
32263 pack_tmp = ishft(data_tmp, 44)
32264 pack_tmp = ishft(pack_tmp, -42)
32266 data_tmp = full_data(idata)
32267 data_tmp = ishft(data_tmp, 22)
32268 pack_tmp = ior(pack_tmp, data_tmp)
32269 pack_tmp = ishft(pack_tmp, -2)
32271 data_tmp = full_data(idata)
32272 data_tmp = ishft(data_tmp, 22)
32273 data_tmp = iand(data_tmp, mask_left(2))
32274 pack_tmp = ior(pack_tmp, data_tmp)
32276 packed_data(ipack) = pack_tmp
32277 data_tmp = full_data(idata)
32278 pack_tmp = ishft(data_tmp, 24)
32279 pack_tmp = ishft(pack_tmp, -24)
32281 data_tmp = full_data(idata)
32282 data_tmp = ishft(data_tmp, 22)
32283 data_tmp = iand(data_tmp, mask_left(24))
32284 pack_tmp = ior(pack_tmp, data_tmp)
32286 packed_data(ipack) = pack_tmp
32287 data_tmp = full_data(idata)
32288 pack_tmp = ishft(data_tmp, 46)
32289 pack_tmp = ishft(pack_tmp, -42)
32291 data_tmp = full_data(idata)
32292 data_tmp = ishft(data_tmp, 22)
32293 pack_tmp = ior(pack_tmp, data_tmp)
32294 pack_tmp = ishft(pack_tmp, -4)
32296 data_tmp = full_data(idata)
32297 data_tmp = ishft(data_tmp, 22)
32298 data_tmp = iand(data_tmp, mask_left(4))
32299 pack_tmp = ior(pack_tmp, data_tmp)
32301 packed_data(ipack) = pack_tmp
32302 data_tmp = full_data(idata)
32303 pack_tmp = ishft(data_tmp, 26)
32304 pack_tmp = ishft(pack_tmp, -26)
32306 data_tmp = full_data(idata)
32307 data_tmp = ishft(data_tmp, 22)
32308 data_tmp = iand(data_tmp, mask_left(26))
32309 pack_tmp = ior(pack_tmp, data_tmp)
32311 packed_data(ipack) = pack_tmp
32312 data_tmp = full_data(idata)
32313 pack_tmp = ishft(data_tmp, 48)
32314 pack_tmp = ishft(pack_tmp, -42)
32316 data_tmp = full_data(idata)
32317 data_tmp = ishft(data_tmp, 22)
32318 pack_tmp = ior(pack_tmp, data_tmp)
32319 pack_tmp = ishft(pack_tmp, -6)
32321 data_tmp = full_data(idata)
32322 data_tmp = ishft(data_tmp, 22)
32323 data_tmp = iand(data_tmp, mask_left(6))
32324 pack_tmp = ior(pack_tmp, data_tmp)
32326 packed_data(ipack) = pack_tmp
32327 data_tmp = full_data(idata)
32328 pack_tmp = ishft(data_tmp, 28)
32329 pack_tmp = ishft(pack_tmp, -28)
32331 data_tmp = full_data(idata)
32332 data_tmp = ishft(data_tmp, 22)
32333 data_tmp = iand(data_tmp, mask_left(28))
32334 pack_tmp = ior(pack_tmp, data_tmp)
32336 packed_data(ipack) = pack_tmp
32337 data_tmp = full_data(idata)
32338 pack_tmp = ishft(data_tmp, 50)
32339 pack_tmp = ishft(pack_tmp, -42)
32341 data_tmp = full_data(idata)
32342 data_tmp = ishft(data_tmp, 22)
32343 pack_tmp = ior(pack_tmp, data_tmp)
32344 pack_tmp = ishft(pack_tmp, -8)
32346 data_tmp = full_data(idata)
32347 data_tmp = ishft(data_tmp, 22)
32348 data_tmp = iand(data_tmp, mask_left(8))
32349 pack_tmp = ior(pack_tmp, data_tmp)
32351 packed_data(ipack) = pack_tmp
32352 data_tmp = full_data(idata)
32353 pack_tmp = ishft(data_tmp, 30)
32354 pack_tmp = ishft(pack_tmp, -30)
32356 data_tmp = full_data(idata)
32357 data_tmp = ishft(data_tmp, 22)
32358 data_tmp = iand(data_tmp, mask_left(30))
32359 pack_tmp = ior(pack_tmp, data_tmp)
32361 packed_data(ipack) = pack_tmp
32362 data_tmp = full_data(idata)
32363 pack_tmp = ishft(data_tmp, 52)
32364 pack_tmp = ishft(pack_tmp, -42)
32366 data_tmp = full_data(idata)
32367 data_tmp = ishft(data_tmp, 22)
32368 pack_tmp = ior(pack_tmp, data_tmp)
32369 pack_tmp = ishft(pack_tmp, -10)
32371 data_tmp = full_data(idata)
32372 data_tmp = ishft(data_tmp, 22)
32373 data_tmp = iand(data_tmp, mask_left(10))
32374 pack_tmp = ior(pack_tmp, data_tmp)
32376 packed_data(ipack) = pack_tmp
32377 data_tmp = full_data(idata)
32378 pack_tmp = ishft(data_tmp, 32)
32379 pack_tmp = ishft(pack_tmp, -32)
32381 data_tmp = full_data(idata)
32382 data_tmp = ishft(data_tmp, 22)
32383 data_tmp = iand(data_tmp, mask_left(32))
32384 pack_tmp = ior(pack_tmp, data_tmp)
32386 packed_data(ipack) = pack_tmp
32387 data_tmp = full_data(idata)
32388 pack_tmp = ishft(data_tmp, 54)
32389 pack_tmp = ishft(pack_tmp, -42)
32391 data_tmp = full_data(idata)
32392 data_tmp = ishft(data_tmp, 22)
32393 pack_tmp = ior(pack_tmp, data_tmp)
32394 pack_tmp = ishft(pack_tmp, -12)
32396 data_tmp = full_data(idata)
32397 data_tmp = ishft(data_tmp, 22)
32398 data_tmp = iand(data_tmp, mask_left(12))
32399 pack_tmp = ior(pack_tmp, data_tmp)
32401 packed_data(ipack) = pack_tmp
32402 data_tmp = full_data(idata)
32403 pack_tmp = ishft(data_tmp, 34)
32404 pack_tmp = ishft(pack_tmp, -34)
32406 data_tmp = full_data(idata)
32407 data_tmp = ishft(data_tmp, 22)
32408 data_tmp = iand(data_tmp, mask_left(34))
32409 pack_tmp = ior(pack_tmp, data_tmp)
32411 packed_data(ipack) = pack_tmp
32412 data_tmp = full_data(idata)
32413 pack_tmp = ishft(data_tmp, 56)
32414 pack_tmp = ishft(pack_tmp, -42)
32416 data_tmp = full_data(idata)
32417 data_tmp = ishft(data_tmp, 22)
32418 pack_tmp = ior(pack_tmp, data_tmp)
32419 pack_tmp = ishft(pack_tmp, -14)
32421 data_tmp = full_data(idata)
32422 data_tmp = ishft(data_tmp, 22)
32423 data_tmp = iand(data_tmp, mask_left(14))
32424 pack_tmp = ior(pack_tmp, data_tmp)
32426 packed_data(ipack) = pack_tmp
32427 data_tmp = full_data(idata)
32428 pack_tmp = ishft(data_tmp, 36)
32429 pack_tmp = ishft(pack_tmp, -36)
32431 data_tmp = full_data(idata)
32432 data_tmp = ishft(data_tmp, 22)
32433 data_tmp = iand(data_tmp, mask_left(36))
32434 pack_tmp = ior(pack_tmp, data_tmp)
32436 packed_data(ipack) = pack_tmp
32437 data_tmp = full_data(idata)
32438 pack_tmp = ishft(data_tmp, 58)
32439 pack_tmp = ishft(pack_tmp, -42)
32441 data_tmp = full_data(idata)
32442 data_tmp = ishft(data_tmp, 22)
32443 pack_tmp = ior(pack_tmp, data_tmp)
32444 pack_tmp = ishft(pack_tmp, -16)
32446 data_tmp = full_data(idata)
32447 data_tmp = ishft(data_tmp, 22)
32448 data_tmp = iand(data_tmp, mask_left(16))
32449 pack_tmp = ior(pack_tmp, data_tmp)
32451 packed_data(ipack) = pack_tmp
32452 data_tmp = full_data(idata)
32453 pack_tmp = ishft(data_tmp, 38)
32454 pack_tmp = ishft(pack_tmp, -38)
32456 data_tmp = full_data(idata)
32457 data_tmp = ishft(data_tmp, 22)
32458 data_tmp = iand(data_tmp, mask_left(38))
32459 pack_tmp = ior(pack_tmp, data_tmp)
32461 packed_data(ipack) = pack_tmp
32462 data_tmp = full_data(idata)
32463 pack_tmp = ishft(data_tmp, 60)
32464 pack_tmp = ishft(pack_tmp, -42)
32466 data_tmp = full_data(idata)
32467 data_tmp = ishft(data_tmp, 22)
32468 pack_tmp = ior(pack_tmp, data_tmp)
32469 pack_tmp = ishft(pack_tmp, -18)
32471 data_tmp = full_data(idata)
32472 data_tmp = ishft(data_tmp, 22)
32473 data_tmp = iand(data_tmp, mask_left(18))
32474 pack_tmp = ior(pack_tmp, data_tmp)
32476 packed_data(ipack) = pack_tmp
32477 data_tmp = full_data(idata)
32478 pack_tmp = ishft(data_tmp, 40)
32479 pack_tmp = ishft(pack_tmp, -40)
32481 data_tmp = full_data(idata)
32482 data_tmp = ishft(data_tmp, 22)
32483 data_tmp = iand(data_tmp, mask_left(40))
32484 pack_tmp = ior(pack_tmp, data_tmp)
32486 packed_data(ipack) = pack_tmp
32487 data_tmp = full_data(idata)
32488 pack_tmp = ishft(data_tmp, 62)
32489 pack_tmp = ishft(pack_tmp, -42)
32491 data_tmp = full_data(idata)
32492 data_tmp = ishft(data_tmp, 22)
32493 pack_tmp = ior(pack_tmp, data_tmp)
32494 pack_tmp = ishft(pack_tmp, -20)
32496 data_tmp = full_data(idata)
32497 data_tmp = ishft(data_tmp, 22)
32498 data_tmp = iand(data_tmp, mask_left(20))
32499 pack_tmp = ior(pack_tmp, data_tmp)
32501 packed_data(ipack) = pack_tmp
32502 data_tmp = full_data(idata)
32503 pack_tmp = ishft(data_tmp, 42)
32504 pack_tmp = ishft(pack_tmp, -42)
32506 data_tmp = full_data(idata)
32507 data_tmp = ishft(data_tmp, 22)
32508 pack_tmp = ior(pack_tmp, data_tmp)
32509 pack_tmp = ishft(pack_tmp, 0)
32510 pack_tmp = ishft(pack_tmp, 0)
32512 packed_data(ipack) = pack_tmp
32514 IF (ndata_rep < ndata)
THEN
32515 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
32517 END SUBROUTINE ints2bits_42
32525 SUBROUTINE bits2ints_42(Ndata, packed_data, full_data)
32526 INTEGER,
INTENT(IN) :: Ndata
32527 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
32528 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
32530 INTEGER,
PARAMETER :: Nbits = 42
32532 INTEGER :: idata, ipack, kdata, Ndata_rep
32533 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
32538 ndata_rep = (ndata/64)*64
32539 DO kdata = 1, ndata_rep, 64
32541 data_tmp = ishft(pack_tmp, 42)
32543 pack_tmp = packed_data(ipack)
32544 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
32545 pack_tmp = ishft(pack_tmp, -42)
32547 data_tmp = ishft(pack_tmp, 20)
32549 pack_tmp = packed_data(ipack)
32550 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
32551 pack_tmp = ishft(pack_tmp, -20)
32553 data_tmp = iand(pack_tmp, mask_right(nbits))
32554 full_data(idata) = data_tmp
32555 pack_tmp = ishft(pack_tmp, -nbits)
32557 data_tmp = ishft(pack_tmp, 40)
32559 pack_tmp = packed_data(ipack)
32560 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
32561 pack_tmp = ishft(pack_tmp, -40)
32563 data_tmp = ishft(pack_tmp, 18)
32565 pack_tmp = packed_data(ipack)
32566 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
32567 pack_tmp = ishft(pack_tmp, -18)
32569 data_tmp = iand(pack_tmp, mask_right(nbits))
32570 full_data(idata) = data_tmp
32571 pack_tmp = ishft(pack_tmp, -nbits)
32573 data_tmp = ishft(pack_tmp, 38)
32575 pack_tmp = packed_data(ipack)
32576 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
32577 pack_tmp = ishft(pack_tmp, -38)
32579 data_tmp = ishft(pack_tmp, 16)
32581 pack_tmp = packed_data(ipack)
32582 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
32583 pack_tmp = ishft(pack_tmp, -16)
32585 data_tmp = iand(pack_tmp, mask_right(nbits))
32586 full_data(idata) = data_tmp
32587 pack_tmp = ishft(pack_tmp, -nbits)
32589 data_tmp = ishft(pack_tmp, 36)
32591 pack_tmp = packed_data(ipack)
32592 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
32593 pack_tmp = ishft(pack_tmp, -36)
32595 data_tmp = ishft(pack_tmp, 14)
32597 pack_tmp = packed_data(ipack)
32598 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
32599 pack_tmp = ishft(pack_tmp, -14)
32601 data_tmp = iand(pack_tmp, mask_right(nbits))
32602 full_data(idata) = data_tmp
32603 pack_tmp = ishft(pack_tmp, -nbits)
32605 data_tmp = ishft(pack_tmp, 34)
32607 pack_tmp = packed_data(ipack)
32608 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
32609 pack_tmp = ishft(pack_tmp, -34)
32611 data_tmp = ishft(pack_tmp, 12)
32613 pack_tmp = packed_data(ipack)
32614 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
32615 pack_tmp = ishft(pack_tmp, -12)
32617 data_tmp = iand(pack_tmp, mask_right(nbits))
32618 full_data(idata) = data_tmp
32619 pack_tmp = ishft(pack_tmp, -nbits)
32621 data_tmp = ishft(pack_tmp, 32)
32623 pack_tmp = packed_data(ipack)
32624 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
32625 pack_tmp = ishft(pack_tmp, -32)
32627 data_tmp = ishft(pack_tmp, 10)
32629 pack_tmp = packed_data(ipack)
32630 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
32631 pack_tmp = ishft(pack_tmp, -10)
32633 data_tmp = iand(pack_tmp, mask_right(nbits))
32634 full_data(idata) = data_tmp
32635 pack_tmp = ishft(pack_tmp, -nbits)
32637 data_tmp = ishft(pack_tmp, 30)
32639 pack_tmp = packed_data(ipack)
32640 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
32641 pack_tmp = ishft(pack_tmp, -30)
32643 data_tmp = ishft(pack_tmp, 8)
32645 pack_tmp = packed_data(ipack)
32646 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
32647 pack_tmp = ishft(pack_tmp, -8)
32649 data_tmp = iand(pack_tmp, mask_right(nbits))
32650 full_data(idata) = data_tmp
32651 pack_tmp = ishft(pack_tmp, -nbits)
32653 data_tmp = ishft(pack_tmp, 28)
32655 pack_tmp = packed_data(ipack)
32656 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
32657 pack_tmp = ishft(pack_tmp, -28)
32659 data_tmp = ishft(pack_tmp, 6)
32661 pack_tmp = packed_data(ipack)
32662 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
32663 pack_tmp = ishft(pack_tmp, -6)
32665 data_tmp = iand(pack_tmp, mask_right(nbits))
32666 full_data(idata) = data_tmp
32667 pack_tmp = ishft(pack_tmp, -nbits)
32669 data_tmp = ishft(pack_tmp, 26)
32671 pack_tmp = packed_data(ipack)
32672 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
32673 pack_tmp = ishft(pack_tmp, -26)
32675 data_tmp = ishft(pack_tmp, 4)
32677 pack_tmp = packed_data(ipack)
32678 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
32679 pack_tmp = ishft(pack_tmp, -4)
32681 data_tmp = iand(pack_tmp, mask_right(nbits))
32682 full_data(idata) = data_tmp
32683 pack_tmp = ishft(pack_tmp, -nbits)
32685 data_tmp = ishft(pack_tmp, 24)
32687 pack_tmp = packed_data(ipack)
32688 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
32689 pack_tmp = ishft(pack_tmp, -24)
32691 data_tmp = ishft(pack_tmp, 2)
32693 pack_tmp = packed_data(ipack)
32694 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
32695 pack_tmp = ishft(pack_tmp, -2)
32697 data_tmp = iand(pack_tmp, mask_right(nbits))
32698 full_data(idata) = data_tmp
32699 pack_tmp = ishft(pack_tmp, -nbits)
32701 data_tmp = ishft(pack_tmp, 22)
32703 pack_tmp = packed_data(ipack)
32704 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
32705 pack_tmp = ishft(pack_tmp, -22)
32707 data_tmp = iand(pack_tmp, mask_right(nbits))
32708 full_data(idata) = data_tmp
32709 pack_tmp = ishft(pack_tmp, -nbits)
32711 data_tmp = ishft(pack_tmp, 42)
32713 pack_tmp = packed_data(ipack)
32714 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
32715 pack_tmp = ishft(pack_tmp, -42)
32717 data_tmp = ishft(pack_tmp, 20)
32719 pack_tmp = packed_data(ipack)
32720 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
32721 pack_tmp = ishft(pack_tmp, -20)
32723 data_tmp = iand(pack_tmp, mask_right(nbits))
32724 full_data(idata) = data_tmp
32725 pack_tmp = ishft(pack_tmp, -nbits)
32727 data_tmp = ishft(pack_tmp, 40)
32729 pack_tmp = packed_data(ipack)
32730 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
32731 pack_tmp = ishft(pack_tmp, -40)
32733 data_tmp = ishft(pack_tmp, 18)
32735 pack_tmp = packed_data(ipack)
32736 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
32737 pack_tmp = ishft(pack_tmp, -18)
32739 data_tmp = iand(pack_tmp, mask_right(nbits))
32740 full_data(idata) = data_tmp
32741 pack_tmp = ishft(pack_tmp, -nbits)
32743 data_tmp = ishft(pack_tmp, 38)
32745 pack_tmp = packed_data(ipack)
32746 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
32747 pack_tmp = ishft(pack_tmp, -38)
32749 data_tmp = ishft(pack_tmp, 16)
32751 pack_tmp = packed_data(ipack)
32752 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
32753 pack_tmp = ishft(pack_tmp, -16)
32755 data_tmp = iand(pack_tmp, mask_right(nbits))
32756 full_data(idata) = data_tmp
32757 pack_tmp = ishft(pack_tmp, -nbits)
32759 data_tmp = ishft(pack_tmp, 36)
32761 pack_tmp = packed_data(ipack)
32762 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
32763 pack_tmp = ishft(pack_tmp, -36)
32765 data_tmp = ishft(pack_tmp, 14)
32767 pack_tmp = packed_data(ipack)
32768 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
32769 pack_tmp = ishft(pack_tmp, -14)
32771 data_tmp = iand(pack_tmp, mask_right(nbits))
32772 full_data(idata) = data_tmp
32773 pack_tmp = ishft(pack_tmp, -nbits)
32775 data_tmp = ishft(pack_tmp, 34)
32777 pack_tmp = packed_data(ipack)
32778 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
32779 pack_tmp = ishft(pack_tmp, -34)
32781 data_tmp = ishft(pack_tmp, 12)
32783 pack_tmp = packed_data(ipack)
32784 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
32785 pack_tmp = ishft(pack_tmp, -12)
32787 data_tmp = iand(pack_tmp, mask_right(nbits))
32788 full_data(idata) = data_tmp
32789 pack_tmp = ishft(pack_tmp, -nbits)
32791 data_tmp = ishft(pack_tmp, 32)
32793 pack_tmp = packed_data(ipack)
32794 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
32795 pack_tmp = ishft(pack_tmp, -32)
32797 data_tmp = ishft(pack_tmp, 10)
32799 pack_tmp = packed_data(ipack)
32800 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
32801 pack_tmp = ishft(pack_tmp, -10)
32803 data_tmp = iand(pack_tmp, mask_right(nbits))
32804 full_data(idata) = data_tmp
32805 pack_tmp = ishft(pack_tmp, -nbits)
32807 data_tmp = ishft(pack_tmp, 30)
32809 pack_tmp = packed_data(ipack)
32810 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
32811 pack_tmp = ishft(pack_tmp, -30)
32813 data_tmp = ishft(pack_tmp, 8)
32815 pack_tmp = packed_data(ipack)
32816 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
32817 pack_tmp = ishft(pack_tmp, -8)
32819 data_tmp = iand(pack_tmp, mask_right(nbits))
32820 full_data(idata) = data_tmp
32821 pack_tmp = ishft(pack_tmp, -nbits)
32823 data_tmp = ishft(pack_tmp, 28)
32825 pack_tmp = packed_data(ipack)
32826 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
32827 pack_tmp = ishft(pack_tmp, -28)
32829 data_tmp = ishft(pack_tmp, 6)
32831 pack_tmp = packed_data(ipack)
32832 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
32833 pack_tmp = ishft(pack_tmp, -6)
32835 data_tmp = iand(pack_tmp, mask_right(nbits))
32836 full_data(idata) = data_tmp
32837 pack_tmp = ishft(pack_tmp, -nbits)
32839 data_tmp = ishft(pack_tmp, 26)
32841 pack_tmp = packed_data(ipack)
32842 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
32843 pack_tmp = ishft(pack_tmp, -26)
32845 data_tmp = ishft(pack_tmp, 4)
32847 pack_tmp = packed_data(ipack)
32848 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
32849 pack_tmp = ishft(pack_tmp, -4)
32851 data_tmp = iand(pack_tmp, mask_right(nbits))
32852 full_data(idata) = data_tmp
32853 pack_tmp = ishft(pack_tmp, -nbits)
32855 data_tmp = ishft(pack_tmp, 24)
32857 pack_tmp = packed_data(ipack)
32858 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
32859 pack_tmp = ishft(pack_tmp, -24)
32861 data_tmp = ishft(pack_tmp, 2)
32863 pack_tmp = packed_data(ipack)
32864 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
32865 pack_tmp = ishft(pack_tmp, -2)
32867 data_tmp = iand(pack_tmp, mask_right(nbits))
32868 full_data(idata) = data_tmp
32869 pack_tmp = ishft(pack_tmp, -nbits)
32871 data_tmp = ishft(pack_tmp, 22)
32873 pack_tmp = packed_data(ipack)
32874 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
32875 pack_tmp = ishft(pack_tmp, -22)
32877 data_tmp = iand(pack_tmp, mask_right(nbits))
32878 full_data(idata) = data_tmp
32879 pack_tmp = ishft(pack_tmp, -nbits)
32881 IF (ndata_rep < ndata)
THEN
32882 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
32884 END SUBROUTINE bits2ints_42
32892 SUBROUTINE ints2bits_43(Ndata, packed_data, full_data)
32893 INTEGER,
INTENT(IN) :: Ndata
32894 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
32895 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
32897 INTEGER,
PARAMETER :: Nbits = 43
32899 INTEGER :: idata, ipack, kdata, Ndata_rep
32900 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
32904 ndata_rep = (ndata/64)*64
32905 DO kdata = 1, ndata_rep, 64
32908 data_tmp = full_data(idata)
32909 data_tmp = ishft(data_tmp, 21)
32910 pack_tmp = ior(pack_tmp, data_tmp)
32911 pack_tmp = ishft(pack_tmp, -21)
32913 data_tmp = full_data(idata)
32914 data_tmp = ishft(data_tmp, 21)
32915 data_tmp = iand(data_tmp, mask_left(21))
32916 pack_tmp = ior(pack_tmp, data_tmp)
32918 packed_data(ipack) = pack_tmp
32919 data_tmp = full_data(idata)
32920 pack_tmp = ishft(data_tmp, 42)
32921 pack_tmp = ishft(pack_tmp, -42)
32923 data_tmp = full_data(idata)
32924 data_tmp = ishft(data_tmp, 21)
32925 data_tmp = iand(data_tmp, mask_left(42))
32926 pack_tmp = ior(pack_tmp, data_tmp)
32928 packed_data(ipack) = pack_tmp
32929 data_tmp = full_data(idata)
32930 pack_tmp = ishft(data_tmp, 63)
32931 pack_tmp = ishft(pack_tmp, -43)
32933 data_tmp = full_data(idata)
32934 data_tmp = ishft(data_tmp, 21)
32935 pack_tmp = ior(pack_tmp, data_tmp)
32936 pack_tmp = ishft(pack_tmp, -20)
32938 data_tmp = full_data(idata)
32939 data_tmp = ishft(data_tmp, 21)
32940 data_tmp = iand(data_tmp, mask_left(20))
32941 pack_tmp = ior(pack_tmp, data_tmp)
32943 packed_data(ipack) = pack_tmp
32944 data_tmp = full_data(idata)
32945 pack_tmp = ishft(data_tmp, 41)
32946 pack_tmp = ishft(pack_tmp, -41)
32948 data_tmp = full_data(idata)
32949 data_tmp = ishft(data_tmp, 21)
32950 data_tmp = iand(data_tmp, mask_left(41))
32951 pack_tmp = ior(pack_tmp, data_tmp)
32953 packed_data(ipack) = pack_tmp
32954 data_tmp = full_data(idata)
32955 pack_tmp = ishft(data_tmp, 62)
32956 pack_tmp = ishft(pack_tmp, -43)
32958 data_tmp = full_data(idata)
32959 data_tmp = ishft(data_tmp, 21)
32960 pack_tmp = ior(pack_tmp, data_tmp)
32961 pack_tmp = ishft(pack_tmp, -19)
32963 data_tmp = full_data(idata)
32964 data_tmp = ishft(data_tmp, 21)
32965 data_tmp = iand(data_tmp, mask_left(19))
32966 pack_tmp = ior(pack_tmp, data_tmp)
32968 packed_data(ipack) = pack_tmp
32969 data_tmp = full_data(idata)
32970 pack_tmp = ishft(data_tmp, 40)
32971 pack_tmp = ishft(pack_tmp, -40)
32973 data_tmp = full_data(idata)
32974 data_tmp = ishft(data_tmp, 21)
32975 data_tmp = iand(data_tmp, mask_left(40))
32976 pack_tmp = ior(pack_tmp, data_tmp)
32978 packed_data(ipack) = pack_tmp
32979 data_tmp = full_data(idata)
32980 pack_tmp = ishft(data_tmp, 61)
32981 pack_tmp = ishft(pack_tmp, -43)
32983 data_tmp = full_data(idata)
32984 data_tmp = ishft(data_tmp, 21)
32985 pack_tmp = ior(pack_tmp, data_tmp)
32986 pack_tmp = ishft(pack_tmp, -18)
32988 data_tmp = full_data(idata)
32989 data_tmp = ishft(data_tmp, 21)
32990 data_tmp = iand(data_tmp, mask_left(18))
32991 pack_tmp = ior(pack_tmp, data_tmp)
32993 packed_data(ipack) = pack_tmp
32994 data_tmp = full_data(idata)
32995 pack_tmp = ishft(data_tmp, 39)
32996 pack_tmp = ishft(pack_tmp, -39)
32998 data_tmp = full_data(idata)
32999 data_tmp = ishft(data_tmp, 21)
33000 data_tmp = iand(data_tmp, mask_left(39))
33001 pack_tmp = ior(pack_tmp, data_tmp)
33003 packed_data(ipack) = pack_tmp
33004 data_tmp = full_data(idata)
33005 pack_tmp = ishft(data_tmp, 60)
33006 pack_tmp = ishft(pack_tmp, -43)
33008 data_tmp = full_data(idata)
33009 data_tmp = ishft(data_tmp, 21)
33010 pack_tmp = ior(pack_tmp, data_tmp)
33011 pack_tmp = ishft(pack_tmp, -17)
33013 data_tmp = full_data(idata)
33014 data_tmp = ishft(data_tmp, 21)
33015 data_tmp = iand(data_tmp, mask_left(17))
33016 pack_tmp = ior(pack_tmp, data_tmp)
33018 packed_data(ipack) = pack_tmp
33019 data_tmp = full_data(idata)
33020 pack_tmp = ishft(data_tmp, 38)
33021 pack_tmp = ishft(pack_tmp, -38)
33023 data_tmp = full_data(idata)
33024 data_tmp = ishft(data_tmp, 21)
33025 data_tmp = iand(data_tmp, mask_left(38))
33026 pack_tmp = ior(pack_tmp, data_tmp)
33028 packed_data(ipack) = pack_tmp
33029 data_tmp = full_data(idata)
33030 pack_tmp = ishft(data_tmp, 59)
33031 pack_tmp = ishft(pack_tmp, -43)
33033 data_tmp = full_data(idata)
33034 data_tmp = ishft(data_tmp, 21)
33035 pack_tmp = ior(pack_tmp, data_tmp)
33036 pack_tmp = ishft(pack_tmp, -16)
33038 data_tmp = full_data(idata)
33039 data_tmp = ishft(data_tmp, 21)
33040 data_tmp = iand(data_tmp, mask_left(16))
33041 pack_tmp = ior(pack_tmp, data_tmp)
33043 packed_data(ipack) = pack_tmp
33044 data_tmp = full_data(idata)
33045 pack_tmp = ishft(data_tmp, 37)
33046 pack_tmp = ishft(pack_tmp, -37)
33048 data_tmp = full_data(idata)
33049 data_tmp = ishft(data_tmp, 21)
33050 data_tmp = iand(data_tmp, mask_left(37))
33051 pack_tmp = ior(pack_tmp, data_tmp)
33053 packed_data(ipack) = pack_tmp
33054 data_tmp = full_data(idata)
33055 pack_tmp = ishft(data_tmp, 58)
33056 pack_tmp = ishft(pack_tmp, -43)
33058 data_tmp = full_data(idata)
33059 data_tmp = ishft(data_tmp, 21)
33060 pack_tmp = ior(pack_tmp, data_tmp)
33061 pack_tmp = ishft(pack_tmp, -15)
33063 data_tmp = full_data(idata)
33064 data_tmp = ishft(data_tmp, 21)
33065 data_tmp = iand(data_tmp, mask_left(15))
33066 pack_tmp = ior(pack_tmp, data_tmp)
33068 packed_data(ipack) = pack_tmp
33069 data_tmp = full_data(idata)
33070 pack_tmp = ishft(data_tmp, 36)
33071 pack_tmp = ishft(pack_tmp, -36)
33073 data_tmp = full_data(idata)
33074 data_tmp = ishft(data_tmp, 21)
33075 data_tmp = iand(data_tmp, mask_left(36))
33076 pack_tmp = ior(pack_tmp, data_tmp)
33078 packed_data(ipack) = pack_tmp
33079 data_tmp = full_data(idata)
33080 pack_tmp = ishft(data_tmp, 57)
33081 pack_tmp = ishft(pack_tmp, -43)
33083 data_tmp = full_data(idata)
33084 data_tmp = ishft(data_tmp, 21)
33085 pack_tmp = ior(pack_tmp, data_tmp)
33086 pack_tmp = ishft(pack_tmp, -14)
33088 data_tmp = full_data(idata)
33089 data_tmp = ishft(data_tmp, 21)
33090 data_tmp = iand(data_tmp, mask_left(14))
33091 pack_tmp = ior(pack_tmp, data_tmp)
33093 packed_data(ipack) = pack_tmp
33094 data_tmp = full_data(idata)
33095 pack_tmp = ishft(data_tmp, 35)
33096 pack_tmp = ishft(pack_tmp, -35)
33098 data_tmp = full_data(idata)
33099 data_tmp = ishft(data_tmp, 21)
33100 data_tmp = iand(data_tmp, mask_left(35))
33101 pack_tmp = ior(pack_tmp, data_tmp)
33103 packed_data(ipack) = pack_tmp
33104 data_tmp = full_data(idata)
33105 pack_tmp = ishft(data_tmp, 56)
33106 pack_tmp = ishft(pack_tmp, -43)
33108 data_tmp = full_data(idata)
33109 data_tmp = ishft(data_tmp, 21)
33110 pack_tmp = ior(pack_tmp, data_tmp)
33111 pack_tmp = ishft(pack_tmp, -13)
33113 data_tmp = full_data(idata)
33114 data_tmp = ishft(data_tmp, 21)
33115 data_tmp = iand(data_tmp, mask_left(13))
33116 pack_tmp = ior(pack_tmp, data_tmp)
33118 packed_data(ipack) = pack_tmp
33119 data_tmp = full_data(idata)
33120 pack_tmp = ishft(data_tmp, 34)
33121 pack_tmp = ishft(pack_tmp, -34)
33123 data_tmp = full_data(idata)
33124 data_tmp = ishft(data_tmp, 21)
33125 data_tmp = iand(data_tmp, mask_left(34))
33126 pack_tmp = ior(pack_tmp, data_tmp)
33128 packed_data(ipack) = pack_tmp
33129 data_tmp = full_data(idata)
33130 pack_tmp = ishft(data_tmp, 55)
33131 pack_tmp = ishft(pack_tmp, -43)
33133 data_tmp = full_data(idata)
33134 data_tmp = ishft(data_tmp, 21)
33135 pack_tmp = ior(pack_tmp, data_tmp)
33136 pack_tmp = ishft(pack_tmp, -12)
33138 data_tmp = full_data(idata)
33139 data_tmp = ishft(data_tmp, 21)
33140 data_tmp = iand(data_tmp, mask_left(12))
33141 pack_tmp = ior(pack_tmp, data_tmp)
33143 packed_data(ipack) = pack_tmp
33144 data_tmp = full_data(idata)
33145 pack_tmp = ishft(data_tmp, 33)
33146 pack_tmp = ishft(pack_tmp, -33)
33148 data_tmp = full_data(idata)
33149 data_tmp = ishft(data_tmp, 21)
33150 data_tmp = iand(data_tmp, mask_left(33))
33151 pack_tmp = ior(pack_tmp, data_tmp)
33153 packed_data(ipack) = pack_tmp
33154 data_tmp = full_data(idata)
33155 pack_tmp = ishft(data_tmp, 54)
33156 pack_tmp = ishft(pack_tmp, -43)
33158 data_tmp = full_data(idata)
33159 data_tmp = ishft(data_tmp, 21)
33160 pack_tmp = ior(pack_tmp, data_tmp)
33161 pack_tmp = ishft(pack_tmp, -11)
33163 data_tmp = full_data(idata)
33164 data_tmp = ishft(data_tmp, 21)
33165 data_tmp = iand(data_tmp, mask_left(11))
33166 pack_tmp = ior(pack_tmp, data_tmp)
33168 packed_data(ipack) = pack_tmp
33169 data_tmp = full_data(idata)
33170 pack_tmp = ishft(data_tmp, 32)
33171 pack_tmp = ishft(pack_tmp, -32)
33173 data_tmp = full_data(idata)
33174 data_tmp = ishft(data_tmp, 21)
33175 data_tmp = iand(data_tmp, mask_left(32))
33176 pack_tmp = ior(pack_tmp, data_tmp)
33178 packed_data(ipack) = pack_tmp
33179 data_tmp = full_data(idata)
33180 pack_tmp = ishft(data_tmp, 53)
33181 pack_tmp = ishft(pack_tmp, -43)
33183 data_tmp = full_data(idata)
33184 data_tmp = ishft(data_tmp, 21)
33185 pack_tmp = ior(pack_tmp, data_tmp)
33186 pack_tmp = ishft(pack_tmp, -10)
33188 data_tmp = full_data(idata)
33189 data_tmp = ishft(data_tmp, 21)
33190 data_tmp = iand(data_tmp, mask_left(10))
33191 pack_tmp = ior(pack_tmp, data_tmp)
33193 packed_data(ipack) = pack_tmp
33194 data_tmp = full_data(idata)
33195 pack_tmp = ishft(data_tmp, 31)
33196 pack_tmp = ishft(pack_tmp, -31)
33198 data_tmp = full_data(idata)
33199 data_tmp = ishft(data_tmp, 21)
33200 data_tmp = iand(data_tmp, mask_left(31))
33201 pack_tmp = ior(pack_tmp, data_tmp)
33203 packed_data(ipack) = pack_tmp
33204 data_tmp = full_data(idata)
33205 pack_tmp = ishft(data_tmp, 52)
33206 pack_tmp = ishft(pack_tmp, -43)
33208 data_tmp = full_data(idata)
33209 data_tmp = ishft(data_tmp, 21)
33210 pack_tmp = ior(pack_tmp, data_tmp)
33211 pack_tmp = ishft(pack_tmp, -9)
33213 data_tmp = full_data(idata)
33214 data_tmp = ishft(data_tmp, 21)
33215 data_tmp = iand(data_tmp, mask_left(9))
33216 pack_tmp = ior(pack_tmp, data_tmp)
33218 packed_data(ipack) = pack_tmp
33219 data_tmp = full_data(idata)
33220 pack_tmp = ishft(data_tmp, 30)
33221 pack_tmp = ishft(pack_tmp, -30)
33223 data_tmp = full_data(idata)
33224 data_tmp = ishft(data_tmp, 21)
33225 data_tmp = iand(data_tmp, mask_left(30))
33226 pack_tmp = ior(pack_tmp, data_tmp)
33228 packed_data(ipack) = pack_tmp
33229 data_tmp = full_data(idata)
33230 pack_tmp = ishft(data_tmp, 51)
33231 pack_tmp = ishft(pack_tmp, -43)
33233 data_tmp = full_data(idata)
33234 data_tmp = ishft(data_tmp, 21)
33235 pack_tmp = ior(pack_tmp, data_tmp)
33236 pack_tmp = ishft(pack_tmp, -8)
33238 data_tmp = full_data(idata)
33239 data_tmp = ishft(data_tmp, 21)
33240 data_tmp = iand(data_tmp, mask_left(8))
33241 pack_tmp = ior(pack_tmp, data_tmp)
33243 packed_data(ipack) = pack_tmp
33244 data_tmp = full_data(idata)
33245 pack_tmp = ishft(data_tmp, 29)
33246 pack_tmp = ishft(pack_tmp, -29)
33248 data_tmp = full_data(idata)
33249 data_tmp = ishft(data_tmp, 21)
33250 data_tmp = iand(data_tmp, mask_left(29))
33251 pack_tmp = ior(pack_tmp, data_tmp)
33253 packed_data(ipack) = pack_tmp
33254 data_tmp = full_data(idata)
33255 pack_tmp = ishft(data_tmp, 50)
33256 pack_tmp = ishft(pack_tmp, -43)
33258 data_tmp = full_data(idata)
33259 data_tmp = ishft(data_tmp, 21)
33260 pack_tmp = ior(pack_tmp, data_tmp)
33261 pack_tmp = ishft(pack_tmp, -7)
33263 data_tmp = full_data(idata)
33264 data_tmp = ishft(data_tmp, 21)
33265 data_tmp = iand(data_tmp, mask_left(7))
33266 pack_tmp = ior(pack_tmp, data_tmp)
33268 packed_data(ipack) = pack_tmp
33269 data_tmp = full_data(idata)
33270 pack_tmp = ishft(data_tmp, 28)
33271 pack_tmp = ishft(pack_tmp, -28)
33273 data_tmp = full_data(idata)
33274 data_tmp = ishft(data_tmp, 21)
33275 data_tmp = iand(data_tmp, mask_left(28))
33276 pack_tmp = ior(pack_tmp, data_tmp)
33278 packed_data(ipack) = pack_tmp
33279 data_tmp = full_data(idata)
33280 pack_tmp = ishft(data_tmp, 49)
33281 pack_tmp = ishft(pack_tmp, -43)
33283 data_tmp = full_data(idata)
33284 data_tmp = ishft(data_tmp, 21)
33285 pack_tmp = ior(pack_tmp, data_tmp)
33286 pack_tmp = ishft(pack_tmp, -6)
33288 data_tmp = full_data(idata)
33289 data_tmp = ishft(data_tmp, 21)
33290 data_tmp = iand(data_tmp, mask_left(6))
33291 pack_tmp = ior(pack_tmp, data_tmp)
33293 packed_data(ipack) = pack_tmp
33294 data_tmp = full_data(idata)
33295 pack_tmp = ishft(data_tmp, 27)
33296 pack_tmp = ishft(pack_tmp, -27)
33298 data_tmp = full_data(idata)
33299 data_tmp = ishft(data_tmp, 21)
33300 data_tmp = iand(data_tmp, mask_left(27))
33301 pack_tmp = ior(pack_tmp, data_tmp)
33303 packed_data(ipack) = pack_tmp
33304 data_tmp = full_data(idata)
33305 pack_tmp = ishft(data_tmp, 48)
33306 pack_tmp = ishft(pack_tmp, -43)
33308 data_tmp = full_data(idata)
33309 data_tmp = ishft(data_tmp, 21)
33310 pack_tmp = ior(pack_tmp, data_tmp)
33311 pack_tmp = ishft(pack_tmp, -5)
33313 data_tmp = full_data(idata)
33314 data_tmp = ishft(data_tmp, 21)
33315 data_tmp = iand(data_tmp, mask_left(5))
33316 pack_tmp = ior(pack_tmp, data_tmp)
33318 packed_data(ipack) = pack_tmp
33319 data_tmp = full_data(idata)
33320 pack_tmp = ishft(data_tmp, 26)
33321 pack_tmp = ishft(pack_tmp, -26)
33323 data_tmp = full_data(idata)
33324 data_tmp = ishft(data_tmp, 21)
33325 data_tmp = iand(data_tmp, mask_left(26))
33326 pack_tmp = ior(pack_tmp, data_tmp)
33328 packed_data(ipack) = pack_tmp
33329 data_tmp = full_data(idata)
33330 pack_tmp = ishft(data_tmp, 47)
33331 pack_tmp = ishft(pack_tmp, -43)
33333 data_tmp = full_data(idata)
33334 data_tmp = ishft(data_tmp, 21)
33335 pack_tmp = ior(pack_tmp, data_tmp)
33336 pack_tmp = ishft(pack_tmp, -4)
33338 data_tmp = full_data(idata)
33339 data_tmp = ishft(data_tmp, 21)
33340 data_tmp = iand(data_tmp, mask_left(4))
33341 pack_tmp = ior(pack_tmp, data_tmp)
33343 packed_data(ipack) = pack_tmp
33344 data_tmp = full_data(idata)
33345 pack_tmp = ishft(data_tmp, 25)
33346 pack_tmp = ishft(pack_tmp, -25)
33348 data_tmp = full_data(idata)
33349 data_tmp = ishft(data_tmp, 21)
33350 data_tmp = iand(data_tmp, mask_left(25))
33351 pack_tmp = ior(pack_tmp, data_tmp)
33353 packed_data(ipack) = pack_tmp
33354 data_tmp = full_data(idata)
33355 pack_tmp = ishft(data_tmp, 46)
33356 pack_tmp = ishft(pack_tmp, -43)
33358 data_tmp = full_data(idata)
33359 data_tmp = ishft(data_tmp, 21)
33360 pack_tmp = ior(pack_tmp, data_tmp)
33361 pack_tmp = ishft(pack_tmp, -3)
33363 data_tmp = full_data(idata)
33364 data_tmp = ishft(data_tmp, 21)
33365 data_tmp = iand(data_tmp, mask_left(3))
33366 pack_tmp = ior(pack_tmp, data_tmp)
33368 packed_data(ipack) = pack_tmp
33369 data_tmp = full_data(idata)
33370 pack_tmp = ishft(data_tmp, 24)
33371 pack_tmp = ishft(pack_tmp, -24)
33373 data_tmp = full_data(idata)
33374 data_tmp = ishft(data_tmp, 21)
33375 data_tmp = iand(data_tmp, mask_left(24))
33376 pack_tmp = ior(pack_tmp, data_tmp)
33378 packed_data(ipack) = pack_tmp
33379 data_tmp = full_data(idata)
33380 pack_tmp = ishft(data_tmp, 45)
33381 pack_tmp = ishft(pack_tmp, -43)
33383 data_tmp = full_data(idata)
33384 data_tmp = ishft(data_tmp, 21)
33385 pack_tmp = ior(pack_tmp, data_tmp)
33386 pack_tmp = ishft(pack_tmp, -2)
33388 data_tmp = full_data(idata)
33389 data_tmp = ishft(data_tmp, 21)
33390 data_tmp = iand(data_tmp, mask_left(2))
33391 pack_tmp = ior(pack_tmp, data_tmp)
33393 packed_data(ipack) = pack_tmp
33394 data_tmp = full_data(idata)
33395 pack_tmp = ishft(data_tmp, 23)
33396 pack_tmp = ishft(pack_tmp, -23)
33398 data_tmp = full_data(idata)
33399 data_tmp = ishft(data_tmp, 21)
33400 data_tmp = iand(data_tmp, mask_left(23))
33401 pack_tmp = ior(pack_tmp, data_tmp)
33403 packed_data(ipack) = pack_tmp
33404 data_tmp = full_data(idata)
33405 pack_tmp = ishft(data_tmp, 44)
33406 pack_tmp = ishft(pack_tmp, -43)
33408 data_tmp = full_data(idata)
33409 data_tmp = ishft(data_tmp, 21)
33410 pack_tmp = ior(pack_tmp, data_tmp)
33411 pack_tmp = ishft(pack_tmp, -1)
33413 data_tmp = full_data(idata)
33414 data_tmp = ishft(data_tmp, 21)
33415 data_tmp = iand(data_tmp, mask_left(1))
33416 pack_tmp = ior(pack_tmp, data_tmp)
33418 packed_data(ipack) = pack_tmp
33419 data_tmp = full_data(idata)
33420 pack_tmp = ishft(data_tmp, 22)
33421 pack_tmp = ishft(pack_tmp, -22)
33423 data_tmp = full_data(idata)
33424 data_tmp = ishft(data_tmp, 21)
33425 data_tmp = iand(data_tmp, mask_left(22))
33426 pack_tmp = ior(pack_tmp, data_tmp)
33428 packed_data(ipack) = pack_tmp
33429 data_tmp = full_data(idata)
33430 pack_tmp = ishft(data_tmp, 43)
33431 pack_tmp = ishft(pack_tmp, -43)
33433 data_tmp = full_data(idata)
33434 data_tmp = ishft(data_tmp, 21)
33435 pack_tmp = ior(pack_tmp, data_tmp)
33436 pack_tmp = ishft(pack_tmp, 0)
33437 pack_tmp = ishft(pack_tmp, 0)
33439 packed_data(ipack) = pack_tmp
33441 IF (ndata_rep < ndata)
THEN
33442 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
33444 END SUBROUTINE ints2bits_43
33452 SUBROUTINE bits2ints_43(Ndata, packed_data, full_data)
33453 INTEGER,
INTENT(IN) :: Ndata
33454 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
33455 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
33457 INTEGER,
PARAMETER :: Nbits = 43
33459 INTEGER :: idata, ipack, kdata, Ndata_rep
33460 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
33465 ndata_rep = (ndata/64)*64
33466 DO kdata = 1, ndata_rep, 64
33468 data_tmp = ishft(pack_tmp, 43)
33470 pack_tmp = packed_data(ipack)
33471 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
33472 pack_tmp = ishft(pack_tmp, -43)
33474 data_tmp = ishft(pack_tmp, 22)
33476 pack_tmp = packed_data(ipack)
33477 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
33478 pack_tmp = ishft(pack_tmp, -22)
33480 data_tmp = ishft(pack_tmp, 1)
33482 pack_tmp = packed_data(ipack)
33483 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
33484 pack_tmp = ishft(pack_tmp, -1)
33486 data_tmp = iand(pack_tmp, mask_right(nbits))
33487 full_data(idata) = data_tmp
33488 pack_tmp = ishft(pack_tmp, -nbits)
33490 data_tmp = ishft(pack_tmp, 23)
33492 pack_tmp = packed_data(ipack)
33493 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
33494 pack_tmp = ishft(pack_tmp, -23)
33496 data_tmp = ishft(pack_tmp, 2)
33498 pack_tmp = packed_data(ipack)
33499 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
33500 pack_tmp = ishft(pack_tmp, -2)
33502 data_tmp = iand(pack_tmp, mask_right(nbits))
33503 full_data(idata) = data_tmp
33504 pack_tmp = ishft(pack_tmp, -nbits)
33506 data_tmp = ishft(pack_tmp, 24)
33508 pack_tmp = packed_data(ipack)
33509 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
33510 pack_tmp = ishft(pack_tmp, -24)
33512 data_tmp = ishft(pack_tmp, 3)
33514 pack_tmp = packed_data(ipack)
33515 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
33516 pack_tmp = ishft(pack_tmp, -3)
33518 data_tmp = iand(pack_tmp, mask_right(nbits))
33519 full_data(idata) = data_tmp
33520 pack_tmp = ishft(pack_tmp, -nbits)
33522 data_tmp = ishft(pack_tmp, 25)
33524 pack_tmp = packed_data(ipack)
33525 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
33526 pack_tmp = ishft(pack_tmp, -25)
33528 data_tmp = ishft(pack_tmp, 4)
33530 pack_tmp = packed_data(ipack)
33531 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
33532 pack_tmp = ishft(pack_tmp, -4)
33534 data_tmp = iand(pack_tmp, mask_right(nbits))
33535 full_data(idata) = data_tmp
33536 pack_tmp = ishft(pack_tmp, -nbits)
33538 data_tmp = ishft(pack_tmp, 26)
33540 pack_tmp = packed_data(ipack)
33541 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
33542 pack_tmp = ishft(pack_tmp, -26)
33544 data_tmp = ishft(pack_tmp, 5)
33546 pack_tmp = packed_data(ipack)
33547 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
33548 pack_tmp = ishft(pack_tmp, -5)
33550 data_tmp = iand(pack_tmp, mask_right(nbits))
33551 full_data(idata) = data_tmp
33552 pack_tmp = ishft(pack_tmp, -nbits)
33554 data_tmp = ishft(pack_tmp, 27)
33556 pack_tmp = packed_data(ipack)
33557 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
33558 pack_tmp = ishft(pack_tmp, -27)
33560 data_tmp = ishft(pack_tmp, 6)
33562 pack_tmp = packed_data(ipack)
33563 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
33564 pack_tmp = ishft(pack_tmp, -6)
33566 data_tmp = iand(pack_tmp, mask_right(nbits))
33567 full_data(idata) = data_tmp
33568 pack_tmp = ishft(pack_tmp, -nbits)
33570 data_tmp = ishft(pack_tmp, 28)
33572 pack_tmp = packed_data(ipack)
33573 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
33574 pack_tmp = ishft(pack_tmp, -28)
33576 data_tmp = ishft(pack_tmp, 7)
33578 pack_tmp = packed_data(ipack)
33579 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
33580 pack_tmp = ishft(pack_tmp, -7)
33582 data_tmp = iand(pack_tmp, mask_right(nbits))
33583 full_data(idata) = data_tmp
33584 pack_tmp = ishft(pack_tmp, -nbits)
33586 data_tmp = ishft(pack_tmp, 29)
33588 pack_tmp = packed_data(ipack)
33589 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
33590 pack_tmp = ishft(pack_tmp, -29)
33592 data_tmp = ishft(pack_tmp, 8)
33594 pack_tmp = packed_data(ipack)
33595 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
33596 pack_tmp = ishft(pack_tmp, -8)
33598 data_tmp = iand(pack_tmp, mask_right(nbits))
33599 full_data(idata) = data_tmp
33600 pack_tmp = ishft(pack_tmp, -nbits)
33602 data_tmp = ishft(pack_tmp, 30)
33604 pack_tmp = packed_data(ipack)
33605 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
33606 pack_tmp = ishft(pack_tmp, -30)
33608 data_tmp = ishft(pack_tmp, 9)
33610 pack_tmp = packed_data(ipack)
33611 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
33612 pack_tmp = ishft(pack_tmp, -9)
33614 data_tmp = iand(pack_tmp, mask_right(nbits))
33615 full_data(idata) = data_tmp
33616 pack_tmp = ishft(pack_tmp, -nbits)
33618 data_tmp = ishft(pack_tmp, 31)
33620 pack_tmp = packed_data(ipack)
33621 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
33622 pack_tmp = ishft(pack_tmp, -31)
33624 data_tmp = ishft(pack_tmp, 10)
33626 pack_tmp = packed_data(ipack)
33627 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
33628 pack_tmp = ishft(pack_tmp, -10)
33630 data_tmp = iand(pack_tmp, mask_right(nbits))
33631 full_data(idata) = data_tmp
33632 pack_tmp = ishft(pack_tmp, -nbits)
33634 data_tmp = ishft(pack_tmp, 32)
33636 pack_tmp = packed_data(ipack)
33637 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
33638 pack_tmp = ishft(pack_tmp, -32)
33640 data_tmp = ishft(pack_tmp, 11)
33642 pack_tmp = packed_data(ipack)
33643 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
33644 pack_tmp = ishft(pack_tmp, -11)
33646 data_tmp = iand(pack_tmp, mask_right(nbits))
33647 full_data(idata) = data_tmp
33648 pack_tmp = ishft(pack_tmp, -nbits)
33650 data_tmp = ishft(pack_tmp, 33)
33652 pack_tmp = packed_data(ipack)
33653 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
33654 pack_tmp = ishft(pack_tmp, -33)
33656 data_tmp = ishft(pack_tmp, 12)
33658 pack_tmp = packed_data(ipack)
33659 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
33660 pack_tmp = ishft(pack_tmp, -12)
33662 data_tmp = iand(pack_tmp, mask_right(nbits))
33663 full_data(idata) = data_tmp
33664 pack_tmp = ishft(pack_tmp, -nbits)
33666 data_tmp = ishft(pack_tmp, 34)
33668 pack_tmp = packed_data(ipack)
33669 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
33670 pack_tmp = ishft(pack_tmp, -34)
33672 data_tmp = ishft(pack_tmp, 13)
33674 pack_tmp = packed_data(ipack)
33675 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
33676 pack_tmp = ishft(pack_tmp, -13)
33678 data_tmp = iand(pack_tmp, mask_right(nbits))
33679 full_data(idata) = data_tmp
33680 pack_tmp = ishft(pack_tmp, -nbits)
33682 data_tmp = ishft(pack_tmp, 35)
33684 pack_tmp = packed_data(ipack)
33685 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
33686 pack_tmp = ishft(pack_tmp, -35)
33688 data_tmp = ishft(pack_tmp, 14)
33690 pack_tmp = packed_data(ipack)
33691 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
33692 pack_tmp = ishft(pack_tmp, -14)
33694 data_tmp = iand(pack_tmp, mask_right(nbits))
33695 full_data(idata) = data_tmp
33696 pack_tmp = ishft(pack_tmp, -nbits)
33698 data_tmp = ishft(pack_tmp, 36)
33700 pack_tmp = packed_data(ipack)
33701 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
33702 pack_tmp = ishft(pack_tmp, -36)
33704 data_tmp = ishft(pack_tmp, 15)
33706 pack_tmp = packed_data(ipack)
33707 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
33708 pack_tmp = ishft(pack_tmp, -15)
33710 data_tmp = iand(pack_tmp, mask_right(nbits))
33711 full_data(idata) = data_tmp
33712 pack_tmp = ishft(pack_tmp, -nbits)
33714 data_tmp = ishft(pack_tmp, 37)
33716 pack_tmp = packed_data(ipack)
33717 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
33718 pack_tmp = ishft(pack_tmp, -37)
33720 data_tmp = ishft(pack_tmp, 16)
33722 pack_tmp = packed_data(ipack)
33723 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
33724 pack_tmp = ishft(pack_tmp, -16)
33726 data_tmp = iand(pack_tmp, mask_right(nbits))
33727 full_data(idata) = data_tmp
33728 pack_tmp = ishft(pack_tmp, -nbits)
33730 data_tmp = ishft(pack_tmp, 38)
33732 pack_tmp = packed_data(ipack)
33733 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
33734 pack_tmp = ishft(pack_tmp, -38)
33736 data_tmp = ishft(pack_tmp, 17)
33738 pack_tmp = packed_data(ipack)
33739 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
33740 pack_tmp = ishft(pack_tmp, -17)
33742 data_tmp = iand(pack_tmp, mask_right(nbits))
33743 full_data(idata) = data_tmp
33744 pack_tmp = ishft(pack_tmp, -nbits)
33746 data_tmp = ishft(pack_tmp, 39)
33748 pack_tmp = packed_data(ipack)
33749 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
33750 pack_tmp = ishft(pack_tmp, -39)
33752 data_tmp = ishft(pack_tmp, 18)
33754 pack_tmp = packed_data(ipack)
33755 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
33756 pack_tmp = ishft(pack_tmp, -18)
33758 data_tmp = iand(pack_tmp, mask_right(nbits))
33759 full_data(idata) = data_tmp
33760 pack_tmp = ishft(pack_tmp, -nbits)
33762 data_tmp = ishft(pack_tmp, 40)
33764 pack_tmp = packed_data(ipack)
33765 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
33766 pack_tmp = ishft(pack_tmp, -40)
33768 data_tmp = ishft(pack_tmp, 19)
33770 pack_tmp = packed_data(ipack)
33771 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
33772 pack_tmp = ishft(pack_tmp, -19)
33774 data_tmp = iand(pack_tmp, mask_right(nbits))
33775 full_data(idata) = data_tmp
33776 pack_tmp = ishft(pack_tmp, -nbits)
33778 data_tmp = ishft(pack_tmp, 41)
33780 pack_tmp = packed_data(ipack)
33781 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
33782 pack_tmp = ishft(pack_tmp, -41)
33784 data_tmp = ishft(pack_tmp, 20)
33786 pack_tmp = packed_data(ipack)
33787 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
33788 pack_tmp = ishft(pack_tmp, -20)
33790 data_tmp = iand(pack_tmp, mask_right(nbits))
33791 full_data(idata) = data_tmp
33792 pack_tmp = ishft(pack_tmp, -nbits)
33794 data_tmp = ishft(pack_tmp, 42)
33796 pack_tmp = packed_data(ipack)
33797 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
33798 pack_tmp = ishft(pack_tmp, -42)
33800 data_tmp = ishft(pack_tmp, 21)
33802 pack_tmp = packed_data(ipack)
33803 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
33804 pack_tmp = ishft(pack_tmp, -21)
33806 data_tmp = iand(pack_tmp, mask_right(nbits))
33807 full_data(idata) = data_tmp
33808 pack_tmp = ishft(pack_tmp, -nbits)
33810 IF (ndata_rep < ndata)
THEN
33811 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
33813 END SUBROUTINE bits2ints_43
33821 SUBROUTINE ints2bits_44(Ndata, packed_data, full_data)
33822 INTEGER,
INTENT(IN) :: Ndata
33823 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
33824 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
33826 INTEGER,
PARAMETER :: Nbits = 44
33828 INTEGER :: idata, ipack, kdata, Ndata_rep
33829 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
33833 ndata_rep = (ndata/64)*64
33834 DO kdata = 1, ndata_rep, 64
33837 data_tmp = full_data(idata)
33838 data_tmp = ishft(data_tmp, 20)
33839 pack_tmp = ior(pack_tmp, data_tmp)
33840 pack_tmp = ishft(pack_tmp, -20)
33842 data_tmp = full_data(idata)
33843 data_tmp = ishft(data_tmp, 20)
33844 data_tmp = iand(data_tmp, mask_left(20))
33845 pack_tmp = ior(pack_tmp, data_tmp)
33847 packed_data(ipack) = pack_tmp
33848 data_tmp = full_data(idata)
33849 pack_tmp = ishft(data_tmp, 40)
33850 pack_tmp = ishft(pack_tmp, -40)
33852 data_tmp = full_data(idata)
33853 data_tmp = ishft(data_tmp, 20)
33854 data_tmp = iand(data_tmp, mask_left(40))
33855 pack_tmp = ior(pack_tmp, data_tmp)
33857 packed_data(ipack) = pack_tmp
33858 data_tmp = full_data(idata)
33859 pack_tmp = ishft(data_tmp, 60)
33860 pack_tmp = ishft(pack_tmp, -44)
33862 data_tmp = full_data(idata)
33863 data_tmp = ishft(data_tmp, 20)
33864 pack_tmp = ior(pack_tmp, data_tmp)
33865 pack_tmp = ishft(pack_tmp, -16)
33867 data_tmp = full_data(idata)
33868 data_tmp = ishft(data_tmp, 20)
33869 data_tmp = iand(data_tmp, mask_left(16))
33870 pack_tmp = ior(pack_tmp, data_tmp)
33872 packed_data(ipack) = pack_tmp
33873 data_tmp = full_data(idata)
33874 pack_tmp = ishft(data_tmp, 36)
33875 pack_tmp = ishft(pack_tmp, -36)
33877 data_tmp = full_data(idata)
33878 data_tmp = ishft(data_tmp, 20)
33879 data_tmp = iand(data_tmp, mask_left(36))
33880 pack_tmp = ior(pack_tmp, data_tmp)
33882 packed_data(ipack) = pack_tmp
33883 data_tmp = full_data(idata)
33884 pack_tmp = ishft(data_tmp, 56)
33885 pack_tmp = ishft(pack_tmp, -44)
33887 data_tmp = full_data(idata)
33888 data_tmp = ishft(data_tmp, 20)
33889 pack_tmp = ior(pack_tmp, data_tmp)
33890 pack_tmp = ishft(pack_tmp, -12)
33892 data_tmp = full_data(idata)
33893 data_tmp = ishft(data_tmp, 20)
33894 data_tmp = iand(data_tmp, mask_left(12))
33895 pack_tmp = ior(pack_tmp, data_tmp)
33897 packed_data(ipack) = pack_tmp
33898 data_tmp = full_data(idata)
33899 pack_tmp = ishft(data_tmp, 32)
33900 pack_tmp = ishft(pack_tmp, -32)
33902 data_tmp = full_data(idata)
33903 data_tmp = ishft(data_tmp, 20)
33904 data_tmp = iand(data_tmp, mask_left(32))
33905 pack_tmp = ior(pack_tmp, data_tmp)
33907 packed_data(ipack) = pack_tmp
33908 data_tmp = full_data(idata)
33909 pack_tmp = ishft(data_tmp, 52)
33910 pack_tmp = ishft(pack_tmp, -44)
33912 data_tmp = full_data(idata)
33913 data_tmp = ishft(data_tmp, 20)
33914 pack_tmp = ior(pack_tmp, data_tmp)
33915 pack_tmp = ishft(pack_tmp, -8)
33917 data_tmp = full_data(idata)
33918 data_tmp = ishft(data_tmp, 20)
33919 data_tmp = iand(data_tmp, mask_left(8))
33920 pack_tmp = ior(pack_tmp, data_tmp)
33922 packed_data(ipack) = pack_tmp
33923 data_tmp = full_data(idata)
33924 pack_tmp = ishft(data_tmp, 28)
33925 pack_tmp = ishft(pack_tmp, -28)
33927 data_tmp = full_data(idata)
33928 data_tmp = ishft(data_tmp, 20)
33929 data_tmp = iand(data_tmp, mask_left(28))
33930 pack_tmp = ior(pack_tmp, data_tmp)
33932 packed_data(ipack) = pack_tmp
33933 data_tmp = full_data(idata)
33934 pack_tmp = ishft(data_tmp, 48)
33935 pack_tmp = ishft(pack_tmp, -44)
33937 data_tmp = full_data(idata)
33938 data_tmp = ishft(data_tmp, 20)
33939 pack_tmp = ior(pack_tmp, data_tmp)
33940 pack_tmp = ishft(pack_tmp, -4)
33942 data_tmp = full_data(idata)
33943 data_tmp = ishft(data_tmp, 20)
33944 data_tmp = iand(data_tmp, mask_left(4))
33945 pack_tmp = ior(pack_tmp, data_tmp)
33947 packed_data(ipack) = pack_tmp
33948 data_tmp = full_data(idata)
33949 pack_tmp = ishft(data_tmp, 24)
33950 pack_tmp = ishft(pack_tmp, -24)
33952 data_tmp = full_data(idata)
33953 data_tmp = ishft(data_tmp, 20)
33954 data_tmp = iand(data_tmp, mask_left(24))
33955 pack_tmp = ior(pack_tmp, data_tmp)
33957 packed_data(ipack) = pack_tmp
33958 data_tmp = full_data(idata)
33959 pack_tmp = ishft(data_tmp, 44)
33960 pack_tmp = ishft(pack_tmp, -44)
33962 data_tmp = full_data(idata)
33963 data_tmp = ishft(data_tmp, 20)
33964 pack_tmp = ior(pack_tmp, data_tmp)
33965 pack_tmp = ishft(pack_tmp, 0)
33967 data_tmp = full_data(idata)
33968 data_tmp = ishft(data_tmp, 20)
33969 data_tmp = iand(data_tmp, mask_left(0))
33970 pack_tmp = ior(pack_tmp, data_tmp)
33972 packed_data(ipack) = pack_tmp
33973 data_tmp = full_data(idata)
33974 pack_tmp = ishft(data_tmp, 20)
33975 pack_tmp = ishft(pack_tmp, -20)
33977 data_tmp = full_data(idata)
33978 data_tmp = ishft(data_tmp, 20)
33979 data_tmp = iand(data_tmp, mask_left(20))
33980 pack_tmp = ior(pack_tmp, data_tmp)
33982 packed_data(ipack) = pack_tmp
33983 data_tmp = full_data(idata)
33984 pack_tmp = ishft(data_tmp, 40)
33985 pack_tmp = ishft(pack_tmp, -40)
33987 data_tmp = full_data(idata)
33988 data_tmp = ishft(data_tmp, 20)
33989 data_tmp = iand(data_tmp, mask_left(40))
33990 pack_tmp = ior(pack_tmp, data_tmp)
33992 packed_data(ipack) = pack_tmp
33993 data_tmp = full_data(idata)
33994 pack_tmp = ishft(data_tmp, 60)
33995 pack_tmp = ishft(pack_tmp, -44)
33997 data_tmp = full_data(idata)
33998 data_tmp = ishft(data_tmp, 20)
33999 pack_tmp = ior(pack_tmp, data_tmp)
34000 pack_tmp = ishft(pack_tmp, -16)
34002 data_tmp = full_data(idata)
34003 data_tmp = ishft(data_tmp, 20)
34004 data_tmp = iand(data_tmp, mask_left(16))
34005 pack_tmp = ior(pack_tmp, data_tmp)
34007 packed_data(ipack) = pack_tmp
34008 data_tmp = full_data(idata)
34009 pack_tmp = ishft(data_tmp, 36)
34010 pack_tmp = ishft(pack_tmp, -36)
34012 data_tmp = full_data(idata)
34013 data_tmp = ishft(data_tmp, 20)
34014 data_tmp = iand(data_tmp, mask_left(36))
34015 pack_tmp = ior(pack_tmp, data_tmp)
34017 packed_data(ipack) = pack_tmp
34018 data_tmp = full_data(idata)
34019 pack_tmp = ishft(data_tmp, 56)
34020 pack_tmp = ishft(pack_tmp, -44)
34022 data_tmp = full_data(idata)
34023 data_tmp = ishft(data_tmp, 20)
34024 pack_tmp = ior(pack_tmp, data_tmp)
34025 pack_tmp = ishft(pack_tmp, -12)
34027 data_tmp = full_data(idata)
34028 data_tmp = ishft(data_tmp, 20)
34029 data_tmp = iand(data_tmp, mask_left(12))
34030 pack_tmp = ior(pack_tmp, data_tmp)
34032 packed_data(ipack) = pack_tmp
34033 data_tmp = full_data(idata)
34034 pack_tmp = ishft(data_tmp, 32)
34035 pack_tmp = ishft(pack_tmp, -32)
34037 data_tmp = full_data(idata)
34038 data_tmp = ishft(data_tmp, 20)
34039 data_tmp = iand(data_tmp, mask_left(32))
34040 pack_tmp = ior(pack_tmp, data_tmp)
34042 packed_data(ipack) = pack_tmp
34043 data_tmp = full_data(idata)
34044 pack_tmp = ishft(data_tmp, 52)
34045 pack_tmp = ishft(pack_tmp, -44)
34047 data_tmp = full_data(idata)
34048 data_tmp = ishft(data_tmp, 20)
34049 pack_tmp = ior(pack_tmp, data_tmp)
34050 pack_tmp = ishft(pack_tmp, -8)
34052 data_tmp = full_data(idata)
34053 data_tmp = ishft(data_tmp, 20)
34054 data_tmp = iand(data_tmp, mask_left(8))
34055 pack_tmp = ior(pack_tmp, data_tmp)
34057 packed_data(ipack) = pack_tmp
34058 data_tmp = full_data(idata)
34059 pack_tmp = ishft(data_tmp, 28)
34060 pack_tmp = ishft(pack_tmp, -28)
34062 data_tmp = full_data(idata)
34063 data_tmp = ishft(data_tmp, 20)
34064 data_tmp = iand(data_tmp, mask_left(28))
34065 pack_tmp = ior(pack_tmp, data_tmp)
34067 packed_data(ipack) = pack_tmp
34068 data_tmp = full_data(idata)
34069 pack_tmp = ishft(data_tmp, 48)
34070 pack_tmp = ishft(pack_tmp, -44)
34072 data_tmp = full_data(idata)
34073 data_tmp = ishft(data_tmp, 20)
34074 pack_tmp = ior(pack_tmp, data_tmp)
34075 pack_tmp = ishft(pack_tmp, -4)
34077 data_tmp = full_data(idata)
34078 data_tmp = ishft(data_tmp, 20)
34079 data_tmp = iand(data_tmp, mask_left(4))
34080 pack_tmp = ior(pack_tmp, data_tmp)
34082 packed_data(ipack) = pack_tmp
34083 data_tmp = full_data(idata)
34084 pack_tmp = ishft(data_tmp, 24)
34085 pack_tmp = ishft(pack_tmp, -24)
34087 data_tmp = full_data(idata)
34088 data_tmp = ishft(data_tmp, 20)
34089 data_tmp = iand(data_tmp, mask_left(24))
34090 pack_tmp = ior(pack_tmp, data_tmp)
34092 packed_data(ipack) = pack_tmp
34093 data_tmp = full_data(idata)
34094 pack_tmp = ishft(data_tmp, 44)
34095 pack_tmp = ishft(pack_tmp, -44)
34097 data_tmp = full_data(idata)
34098 data_tmp = ishft(data_tmp, 20)
34099 pack_tmp = ior(pack_tmp, data_tmp)
34100 pack_tmp = ishft(pack_tmp, 0)
34102 data_tmp = full_data(idata)
34103 data_tmp = ishft(data_tmp, 20)
34104 data_tmp = iand(data_tmp, mask_left(0))
34105 pack_tmp = ior(pack_tmp, data_tmp)
34107 packed_data(ipack) = pack_tmp
34108 data_tmp = full_data(idata)
34109 pack_tmp = ishft(data_tmp, 20)
34110 pack_tmp = ishft(pack_tmp, -20)
34112 data_tmp = full_data(idata)
34113 data_tmp = ishft(data_tmp, 20)
34114 data_tmp = iand(data_tmp, mask_left(20))
34115 pack_tmp = ior(pack_tmp, data_tmp)
34117 packed_data(ipack) = pack_tmp
34118 data_tmp = full_data(idata)
34119 pack_tmp = ishft(data_tmp, 40)
34120 pack_tmp = ishft(pack_tmp, -40)
34122 data_tmp = full_data(idata)
34123 data_tmp = ishft(data_tmp, 20)
34124 data_tmp = iand(data_tmp, mask_left(40))
34125 pack_tmp = ior(pack_tmp, data_tmp)
34127 packed_data(ipack) = pack_tmp
34128 data_tmp = full_data(idata)
34129 pack_tmp = ishft(data_tmp, 60)
34130 pack_tmp = ishft(pack_tmp, -44)
34132 data_tmp = full_data(idata)
34133 data_tmp = ishft(data_tmp, 20)
34134 pack_tmp = ior(pack_tmp, data_tmp)
34135 pack_tmp = ishft(pack_tmp, -16)
34137 data_tmp = full_data(idata)
34138 data_tmp = ishft(data_tmp, 20)
34139 data_tmp = iand(data_tmp, mask_left(16))
34140 pack_tmp = ior(pack_tmp, data_tmp)
34142 packed_data(ipack) = pack_tmp
34143 data_tmp = full_data(idata)
34144 pack_tmp = ishft(data_tmp, 36)
34145 pack_tmp = ishft(pack_tmp, -36)
34147 data_tmp = full_data(idata)
34148 data_tmp = ishft(data_tmp, 20)
34149 data_tmp = iand(data_tmp, mask_left(36))
34150 pack_tmp = ior(pack_tmp, data_tmp)
34152 packed_data(ipack) = pack_tmp
34153 data_tmp = full_data(idata)
34154 pack_tmp = ishft(data_tmp, 56)
34155 pack_tmp = ishft(pack_tmp, -44)
34157 data_tmp = full_data(idata)
34158 data_tmp = ishft(data_tmp, 20)
34159 pack_tmp = ior(pack_tmp, data_tmp)
34160 pack_tmp = ishft(pack_tmp, -12)
34162 data_tmp = full_data(idata)
34163 data_tmp = ishft(data_tmp, 20)
34164 data_tmp = iand(data_tmp, mask_left(12))
34165 pack_tmp = ior(pack_tmp, data_tmp)
34167 packed_data(ipack) = pack_tmp
34168 data_tmp = full_data(idata)
34169 pack_tmp = ishft(data_tmp, 32)
34170 pack_tmp = ishft(pack_tmp, -32)
34172 data_tmp = full_data(idata)
34173 data_tmp = ishft(data_tmp, 20)
34174 data_tmp = iand(data_tmp, mask_left(32))
34175 pack_tmp = ior(pack_tmp, data_tmp)
34177 packed_data(ipack) = pack_tmp
34178 data_tmp = full_data(idata)
34179 pack_tmp = ishft(data_tmp, 52)
34180 pack_tmp = ishft(pack_tmp, -44)
34182 data_tmp = full_data(idata)
34183 data_tmp = ishft(data_tmp, 20)
34184 pack_tmp = ior(pack_tmp, data_tmp)
34185 pack_tmp = ishft(pack_tmp, -8)
34187 data_tmp = full_data(idata)
34188 data_tmp = ishft(data_tmp, 20)
34189 data_tmp = iand(data_tmp, mask_left(8))
34190 pack_tmp = ior(pack_tmp, data_tmp)
34192 packed_data(ipack) = pack_tmp
34193 data_tmp = full_data(idata)
34194 pack_tmp = ishft(data_tmp, 28)
34195 pack_tmp = ishft(pack_tmp, -28)
34197 data_tmp = full_data(idata)
34198 data_tmp = ishft(data_tmp, 20)
34199 data_tmp = iand(data_tmp, mask_left(28))
34200 pack_tmp = ior(pack_tmp, data_tmp)
34202 packed_data(ipack) = pack_tmp
34203 data_tmp = full_data(idata)
34204 pack_tmp = ishft(data_tmp, 48)
34205 pack_tmp = ishft(pack_tmp, -44)
34207 data_tmp = full_data(idata)
34208 data_tmp = ishft(data_tmp, 20)
34209 pack_tmp = ior(pack_tmp, data_tmp)
34210 pack_tmp = ishft(pack_tmp, -4)
34212 data_tmp = full_data(idata)
34213 data_tmp = ishft(data_tmp, 20)
34214 data_tmp = iand(data_tmp, mask_left(4))
34215 pack_tmp = ior(pack_tmp, data_tmp)
34217 packed_data(ipack) = pack_tmp
34218 data_tmp = full_data(idata)
34219 pack_tmp = ishft(data_tmp, 24)
34220 pack_tmp = ishft(pack_tmp, -24)
34222 data_tmp = full_data(idata)
34223 data_tmp = ishft(data_tmp, 20)
34224 data_tmp = iand(data_tmp, mask_left(24))
34225 pack_tmp = ior(pack_tmp, data_tmp)
34227 packed_data(ipack) = pack_tmp
34228 data_tmp = full_data(idata)
34229 pack_tmp = ishft(data_tmp, 44)
34230 pack_tmp = ishft(pack_tmp, -44)
34232 data_tmp = full_data(idata)
34233 data_tmp = ishft(data_tmp, 20)
34234 pack_tmp = ior(pack_tmp, data_tmp)
34235 pack_tmp = ishft(pack_tmp, 0)
34237 data_tmp = full_data(idata)
34238 data_tmp = ishft(data_tmp, 20)
34239 data_tmp = iand(data_tmp, mask_left(0))
34240 pack_tmp = ior(pack_tmp, data_tmp)
34242 packed_data(ipack) = pack_tmp
34243 data_tmp = full_data(idata)
34244 pack_tmp = ishft(data_tmp, 20)
34245 pack_tmp = ishft(pack_tmp, -20)
34247 data_tmp = full_data(idata)
34248 data_tmp = ishft(data_tmp, 20)
34249 data_tmp = iand(data_tmp, mask_left(20))
34250 pack_tmp = ior(pack_tmp, data_tmp)
34252 packed_data(ipack) = pack_tmp
34253 data_tmp = full_data(idata)
34254 pack_tmp = ishft(data_tmp, 40)
34255 pack_tmp = ishft(pack_tmp, -40)
34257 data_tmp = full_data(idata)
34258 data_tmp = ishft(data_tmp, 20)
34259 data_tmp = iand(data_tmp, mask_left(40))
34260 pack_tmp = ior(pack_tmp, data_tmp)
34262 packed_data(ipack) = pack_tmp
34263 data_tmp = full_data(idata)
34264 pack_tmp = ishft(data_tmp, 60)
34265 pack_tmp = ishft(pack_tmp, -44)
34267 data_tmp = full_data(idata)
34268 data_tmp = ishft(data_tmp, 20)
34269 pack_tmp = ior(pack_tmp, data_tmp)
34270 pack_tmp = ishft(pack_tmp, -16)
34272 data_tmp = full_data(idata)
34273 data_tmp = ishft(data_tmp, 20)
34274 data_tmp = iand(data_tmp, mask_left(16))
34275 pack_tmp = ior(pack_tmp, data_tmp)
34277 packed_data(ipack) = pack_tmp
34278 data_tmp = full_data(idata)
34279 pack_tmp = ishft(data_tmp, 36)
34280 pack_tmp = ishft(pack_tmp, -36)
34282 data_tmp = full_data(idata)
34283 data_tmp = ishft(data_tmp, 20)
34284 data_tmp = iand(data_tmp, mask_left(36))
34285 pack_tmp = ior(pack_tmp, data_tmp)
34287 packed_data(ipack) = pack_tmp
34288 data_tmp = full_data(idata)
34289 pack_tmp = ishft(data_tmp, 56)
34290 pack_tmp = ishft(pack_tmp, -44)
34292 data_tmp = full_data(idata)
34293 data_tmp = ishft(data_tmp, 20)
34294 pack_tmp = ior(pack_tmp, data_tmp)
34295 pack_tmp = ishft(pack_tmp, -12)
34297 data_tmp = full_data(idata)
34298 data_tmp = ishft(data_tmp, 20)
34299 data_tmp = iand(data_tmp, mask_left(12))
34300 pack_tmp = ior(pack_tmp, data_tmp)
34302 packed_data(ipack) = pack_tmp
34303 data_tmp = full_data(idata)
34304 pack_tmp = ishft(data_tmp, 32)
34305 pack_tmp = ishft(pack_tmp, -32)
34307 data_tmp = full_data(idata)
34308 data_tmp = ishft(data_tmp, 20)
34309 data_tmp = iand(data_tmp, mask_left(32))
34310 pack_tmp = ior(pack_tmp, data_tmp)
34312 packed_data(ipack) = pack_tmp
34313 data_tmp = full_data(idata)
34314 pack_tmp = ishft(data_tmp, 52)
34315 pack_tmp = ishft(pack_tmp, -44)
34317 data_tmp = full_data(idata)
34318 data_tmp = ishft(data_tmp, 20)
34319 pack_tmp = ior(pack_tmp, data_tmp)
34320 pack_tmp = ishft(pack_tmp, -8)
34322 data_tmp = full_data(idata)
34323 data_tmp = ishft(data_tmp, 20)
34324 data_tmp = iand(data_tmp, mask_left(8))
34325 pack_tmp = ior(pack_tmp, data_tmp)
34327 packed_data(ipack) = pack_tmp
34328 data_tmp = full_data(idata)
34329 pack_tmp = ishft(data_tmp, 28)
34330 pack_tmp = ishft(pack_tmp, -28)
34332 data_tmp = full_data(idata)
34333 data_tmp = ishft(data_tmp, 20)
34334 data_tmp = iand(data_tmp, mask_left(28))
34335 pack_tmp = ior(pack_tmp, data_tmp)
34337 packed_data(ipack) = pack_tmp
34338 data_tmp = full_data(idata)
34339 pack_tmp = ishft(data_tmp, 48)
34340 pack_tmp = ishft(pack_tmp, -44)
34342 data_tmp = full_data(idata)
34343 data_tmp = ishft(data_tmp, 20)
34344 pack_tmp = ior(pack_tmp, data_tmp)
34345 pack_tmp = ishft(pack_tmp, -4)
34347 data_tmp = full_data(idata)
34348 data_tmp = ishft(data_tmp, 20)
34349 data_tmp = iand(data_tmp, mask_left(4))
34350 pack_tmp = ior(pack_tmp, data_tmp)
34352 packed_data(ipack) = pack_tmp
34353 data_tmp = full_data(idata)
34354 pack_tmp = ishft(data_tmp, 24)
34355 pack_tmp = ishft(pack_tmp, -24)
34357 data_tmp = full_data(idata)
34358 data_tmp = ishft(data_tmp, 20)
34359 data_tmp = iand(data_tmp, mask_left(24))
34360 pack_tmp = ior(pack_tmp, data_tmp)
34362 packed_data(ipack) = pack_tmp
34363 data_tmp = full_data(idata)
34364 pack_tmp = ishft(data_tmp, 44)
34365 pack_tmp = ishft(pack_tmp, -44)
34367 data_tmp = full_data(idata)
34368 data_tmp = ishft(data_tmp, 20)
34369 pack_tmp = ior(pack_tmp, data_tmp)
34370 pack_tmp = ishft(pack_tmp, 0)
34371 pack_tmp = ishft(pack_tmp, 0)
34373 packed_data(ipack) = pack_tmp
34375 IF (ndata_rep < ndata)
THEN
34376 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
34378 END SUBROUTINE ints2bits_44
34386 SUBROUTINE bits2ints_44(Ndata, packed_data, full_data)
34387 INTEGER,
INTENT(IN) :: Ndata
34388 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
34389 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
34391 INTEGER,
PARAMETER :: Nbits = 44
34393 INTEGER :: idata, ipack, kdata, Ndata_rep
34394 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
34399 ndata_rep = (ndata/64)*64
34400 DO kdata = 1, ndata_rep, 64
34402 data_tmp = ishft(pack_tmp, 44)
34404 pack_tmp = packed_data(ipack)
34405 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
34406 pack_tmp = ishft(pack_tmp, -44)
34408 data_tmp = ishft(pack_tmp, 24)
34410 pack_tmp = packed_data(ipack)
34411 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
34412 pack_tmp = ishft(pack_tmp, -24)
34414 data_tmp = ishft(pack_tmp, 4)
34416 pack_tmp = packed_data(ipack)
34417 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
34418 pack_tmp = ishft(pack_tmp, -4)
34420 data_tmp = iand(pack_tmp, mask_right(nbits))
34421 full_data(idata) = data_tmp
34422 pack_tmp = ishft(pack_tmp, -nbits)
34424 data_tmp = ishft(pack_tmp, 28)
34426 pack_tmp = packed_data(ipack)
34427 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
34428 pack_tmp = ishft(pack_tmp, -28)
34430 data_tmp = ishft(pack_tmp, 8)
34432 pack_tmp = packed_data(ipack)
34433 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
34434 pack_tmp = ishft(pack_tmp, -8)
34436 data_tmp = iand(pack_tmp, mask_right(nbits))
34437 full_data(idata) = data_tmp
34438 pack_tmp = ishft(pack_tmp, -nbits)
34440 data_tmp = ishft(pack_tmp, 32)
34442 pack_tmp = packed_data(ipack)
34443 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
34444 pack_tmp = ishft(pack_tmp, -32)
34446 data_tmp = ishft(pack_tmp, 12)
34448 pack_tmp = packed_data(ipack)
34449 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
34450 pack_tmp = ishft(pack_tmp, -12)
34452 data_tmp = iand(pack_tmp, mask_right(nbits))
34453 full_data(idata) = data_tmp
34454 pack_tmp = ishft(pack_tmp, -nbits)
34456 data_tmp = ishft(pack_tmp, 36)
34458 pack_tmp = packed_data(ipack)
34459 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
34460 pack_tmp = ishft(pack_tmp, -36)
34462 data_tmp = ishft(pack_tmp, 16)
34464 pack_tmp = packed_data(ipack)
34465 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
34466 pack_tmp = ishft(pack_tmp, -16)
34468 data_tmp = iand(pack_tmp, mask_right(nbits))
34469 full_data(idata) = data_tmp
34470 pack_tmp = ishft(pack_tmp, -nbits)
34472 data_tmp = ishft(pack_tmp, 40)
34474 pack_tmp = packed_data(ipack)
34475 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
34476 pack_tmp = ishft(pack_tmp, -40)
34478 data_tmp = ishft(pack_tmp, 20)
34480 pack_tmp = packed_data(ipack)
34481 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
34482 pack_tmp = ishft(pack_tmp, -20)
34484 data_tmp = iand(pack_tmp, mask_right(nbits))
34485 full_data(idata) = data_tmp
34486 pack_tmp = ishft(pack_tmp, -nbits)
34488 data_tmp = ishft(pack_tmp, 44)
34490 pack_tmp = packed_data(ipack)
34491 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
34492 pack_tmp = ishft(pack_tmp, -44)
34494 data_tmp = ishft(pack_tmp, 24)
34496 pack_tmp = packed_data(ipack)
34497 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
34498 pack_tmp = ishft(pack_tmp, -24)
34500 data_tmp = ishft(pack_tmp, 4)
34502 pack_tmp = packed_data(ipack)
34503 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
34504 pack_tmp = ishft(pack_tmp, -4)
34506 data_tmp = iand(pack_tmp, mask_right(nbits))
34507 full_data(idata) = data_tmp
34508 pack_tmp = ishft(pack_tmp, -nbits)
34510 data_tmp = ishft(pack_tmp, 28)
34512 pack_tmp = packed_data(ipack)
34513 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
34514 pack_tmp = ishft(pack_tmp, -28)
34516 data_tmp = ishft(pack_tmp, 8)
34518 pack_tmp = packed_data(ipack)
34519 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
34520 pack_tmp = ishft(pack_tmp, -8)
34522 data_tmp = iand(pack_tmp, mask_right(nbits))
34523 full_data(idata) = data_tmp
34524 pack_tmp = ishft(pack_tmp, -nbits)
34526 data_tmp = ishft(pack_tmp, 32)
34528 pack_tmp = packed_data(ipack)
34529 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
34530 pack_tmp = ishft(pack_tmp, -32)
34532 data_tmp = ishft(pack_tmp, 12)
34534 pack_tmp = packed_data(ipack)
34535 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
34536 pack_tmp = ishft(pack_tmp, -12)
34538 data_tmp = iand(pack_tmp, mask_right(nbits))
34539 full_data(idata) = data_tmp
34540 pack_tmp = ishft(pack_tmp, -nbits)
34542 data_tmp = ishft(pack_tmp, 36)
34544 pack_tmp = packed_data(ipack)
34545 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
34546 pack_tmp = ishft(pack_tmp, -36)
34548 data_tmp = ishft(pack_tmp, 16)
34550 pack_tmp = packed_data(ipack)
34551 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
34552 pack_tmp = ishft(pack_tmp, -16)
34554 data_tmp = iand(pack_tmp, mask_right(nbits))
34555 full_data(idata) = data_tmp
34556 pack_tmp = ishft(pack_tmp, -nbits)
34558 data_tmp = ishft(pack_tmp, 40)
34560 pack_tmp = packed_data(ipack)
34561 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
34562 pack_tmp = ishft(pack_tmp, -40)
34564 data_tmp = ishft(pack_tmp, 20)
34566 pack_tmp = packed_data(ipack)
34567 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
34568 pack_tmp = ishft(pack_tmp, -20)
34570 data_tmp = iand(pack_tmp, mask_right(nbits))
34571 full_data(idata) = data_tmp
34572 pack_tmp = ishft(pack_tmp, -nbits)
34574 data_tmp = ishft(pack_tmp, 44)
34576 pack_tmp = packed_data(ipack)
34577 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
34578 pack_tmp = ishft(pack_tmp, -44)
34580 data_tmp = ishft(pack_tmp, 24)
34582 pack_tmp = packed_data(ipack)
34583 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
34584 pack_tmp = ishft(pack_tmp, -24)
34586 data_tmp = ishft(pack_tmp, 4)
34588 pack_tmp = packed_data(ipack)
34589 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
34590 pack_tmp = ishft(pack_tmp, -4)
34592 data_tmp = iand(pack_tmp, mask_right(nbits))
34593 full_data(idata) = data_tmp
34594 pack_tmp = ishft(pack_tmp, -nbits)
34596 data_tmp = ishft(pack_tmp, 28)
34598 pack_tmp = packed_data(ipack)
34599 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
34600 pack_tmp = ishft(pack_tmp, -28)
34602 data_tmp = ishft(pack_tmp, 8)
34604 pack_tmp = packed_data(ipack)
34605 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
34606 pack_tmp = ishft(pack_tmp, -8)
34608 data_tmp = iand(pack_tmp, mask_right(nbits))
34609 full_data(idata) = data_tmp
34610 pack_tmp = ishft(pack_tmp, -nbits)
34612 data_tmp = ishft(pack_tmp, 32)
34614 pack_tmp = packed_data(ipack)
34615 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
34616 pack_tmp = ishft(pack_tmp, -32)
34618 data_tmp = ishft(pack_tmp, 12)
34620 pack_tmp = packed_data(ipack)
34621 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
34622 pack_tmp = ishft(pack_tmp, -12)
34624 data_tmp = iand(pack_tmp, mask_right(nbits))
34625 full_data(idata) = data_tmp
34626 pack_tmp = ishft(pack_tmp, -nbits)
34628 data_tmp = ishft(pack_tmp, 36)
34630 pack_tmp = packed_data(ipack)
34631 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
34632 pack_tmp = ishft(pack_tmp, -36)
34634 data_tmp = ishft(pack_tmp, 16)
34636 pack_tmp = packed_data(ipack)
34637 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
34638 pack_tmp = ishft(pack_tmp, -16)
34640 data_tmp = iand(pack_tmp, mask_right(nbits))
34641 full_data(idata) = data_tmp
34642 pack_tmp = ishft(pack_tmp, -nbits)
34644 data_tmp = ishft(pack_tmp, 40)
34646 pack_tmp = packed_data(ipack)
34647 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
34648 pack_tmp = ishft(pack_tmp, -40)
34650 data_tmp = ishft(pack_tmp, 20)
34652 pack_tmp = packed_data(ipack)
34653 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
34654 pack_tmp = ishft(pack_tmp, -20)
34656 data_tmp = iand(pack_tmp, mask_right(nbits))
34657 full_data(idata) = data_tmp
34658 pack_tmp = ishft(pack_tmp, -nbits)
34660 data_tmp = ishft(pack_tmp, 44)
34662 pack_tmp = packed_data(ipack)
34663 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
34664 pack_tmp = ishft(pack_tmp, -44)
34666 data_tmp = ishft(pack_tmp, 24)
34668 pack_tmp = packed_data(ipack)
34669 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
34670 pack_tmp = ishft(pack_tmp, -24)
34672 data_tmp = ishft(pack_tmp, 4)
34674 pack_tmp = packed_data(ipack)
34675 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
34676 pack_tmp = ishft(pack_tmp, -4)
34678 data_tmp = iand(pack_tmp, mask_right(nbits))
34679 full_data(idata) = data_tmp
34680 pack_tmp = ishft(pack_tmp, -nbits)
34682 data_tmp = ishft(pack_tmp, 28)
34684 pack_tmp = packed_data(ipack)
34685 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
34686 pack_tmp = ishft(pack_tmp, -28)
34688 data_tmp = ishft(pack_tmp, 8)
34690 pack_tmp = packed_data(ipack)
34691 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
34692 pack_tmp = ishft(pack_tmp, -8)
34694 data_tmp = iand(pack_tmp, mask_right(nbits))
34695 full_data(idata) = data_tmp
34696 pack_tmp = ishft(pack_tmp, -nbits)
34698 data_tmp = ishft(pack_tmp, 32)
34700 pack_tmp = packed_data(ipack)
34701 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
34702 pack_tmp = ishft(pack_tmp, -32)
34704 data_tmp = ishft(pack_tmp, 12)
34706 pack_tmp = packed_data(ipack)
34707 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
34708 pack_tmp = ishft(pack_tmp, -12)
34710 data_tmp = iand(pack_tmp, mask_right(nbits))
34711 full_data(idata) = data_tmp
34712 pack_tmp = ishft(pack_tmp, -nbits)
34714 data_tmp = ishft(pack_tmp, 36)
34716 pack_tmp = packed_data(ipack)
34717 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
34718 pack_tmp = ishft(pack_tmp, -36)
34720 data_tmp = ishft(pack_tmp, 16)
34722 pack_tmp = packed_data(ipack)
34723 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
34724 pack_tmp = ishft(pack_tmp, -16)
34726 data_tmp = iand(pack_tmp, mask_right(nbits))
34727 full_data(idata) = data_tmp
34728 pack_tmp = ishft(pack_tmp, -nbits)
34730 data_tmp = ishft(pack_tmp, 40)
34732 pack_tmp = packed_data(ipack)
34733 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
34734 pack_tmp = ishft(pack_tmp, -40)
34736 data_tmp = ishft(pack_tmp, 20)
34738 pack_tmp = packed_data(ipack)
34739 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
34740 pack_tmp = ishft(pack_tmp, -20)
34742 data_tmp = iand(pack_tmp, mask_right(nbits))
34743 full_data(idata) = data_tmp
34744 pack_tmp = ishft(pack_tmp, -nbits)
34746 IF (ndata_rep < ndata)
THEN
34747 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
34749 END SUBROUTINE bits2ints_44
34757 SUBROUTINE ints2bits_45(Ndata, packed_data, full_data)
34758 INTEGER,
INTENT(IN) :: Ndata
34759 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
34760 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
34762 INTEGER,
PARAMETER :: Nbits = 45
34764 INTEGER :: idata, ipack, kdata, Ndata_rep
34765 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
34769 ndata_rep = (ndata/64)*64
34770 DO kdata = 1, ndata_rep, 64
34773 data_tmp = full_data(idata)
34774 data_tmp = ishft(data_tmp, 19)
34775 pack_tmp = ior(pack_tmp, data_tmp)
34776 pack_tmp = ishft(pack_tmp, -19)
34778 data_tmp = full_data(idata)
34779 data_tmp = ishft(data_tmp, 19)
34780 data_tmp = iand(data_tmp, mask_left(19))
34781 pack_tmp = ior(pack_tmp, data_tmp)
34783 packed_data(ipack) = pack_tmp
34784 data_tmp = full_data(idata)
34785 pack_tmp = ishft(data_tmp, 38)
34786 pack_tmp = ishft(pack_tmp, -38)
34788 data_tmp = full_data(idata)
34789 data_tmp = ishft(data_tmp, 19)
34790 data_tmp = iand(data_tmp, mask_left(38))
34791 pack_tmp = ior(pack_tmp, data_tmp)
34793 packed_data(ipack) = pack_tmp
34794 data_tmp = full_data(idata)
34795 pack_tmp = ishft(data_tmp, 57)
34796 pack_tmp = ishft(pack_tmp, -45)
34798 data_tmp = full_data(idata)
34799 data_tmp = ishft(data_tmp, 19)
34800 pack_tmp = ior(pack_tmp, data_tmp)
34801 pack_tmp = ishft(pack_tmp, -12)
34803 data_tmp = full_data(idata)
34804 data_tmp = ishft(data_tmp, 19)
34805 data_tmp = iand(data_tmp, mask_left(12))
34806 pack_tmp = ior(pack_tmp, data_tmp)
34808 packed_data(ipack) = pack_tmp
34809 data_tmp = full_data(idata)
34810 pack_tmp = ishft(data_tmp, 31)
34811 pack_tmp = ishft(pack_tmp, -31)
34813 data_tmp = full_data(idata)
34814 data_tmp = ishft(data_tmp, 19)
34815 data_tmp = iand(data_tmp, mask_left(31))
34816 pack_tmp = ior(pack_tmp, data_tmp)
34818 packed_data(ipack) = pack_tmp
34819 data_tmp = full_data(idata)
34820 pack_tmp = ishft(data_tmp, 50)
34821 pack_tmp = ishft(pack_tmp, -45)
34823 data_tmp = full_data(idata)
34824 data_tmp = ishft(data_tmp, 19)
34825 pack_tmp = ior(pack_tmp, data_tmp)
34826 pack_tmp = ishft(pack_tmp, -5)
34828 data_tmp = full_data(idata)
34829 data_tmp = ishft(data_tmp, 19)
34830 data_tmp = iand(data_tmp, mask_left(5))
34831 pack_tmp = ior(pack_tmp, data_tmp)
34833 packed_data(ipack) = pack_tmp
34834 data_tmp = full_data(idata)
34835 pack_tmp = ishft(data_tmp, 24)
34836 pack_tmp = ishft(pack_tmp, -24)
34838 data_tmp = full_data(idata)
34839 data_tmp = ishft(data_tmp, 19)
34840 data_tmp = iand(data_tmp, mask_left(24))
34841 pack_tmp = ior(pack_tmp, data_tmp)
34843 packed_data(ipack) = pack_tmp
34844 data_tmp = full_data(idata)
34845 pack_tmp = ishft(data_tmp, 43)
34846 pack_tmp = ishft(pack_tmp, -43)
34848 data_tmp = full_data(idata)
34849 data_tmp = ishft(data_tmp, 19)
34850 data_tmp = iand(data_tmp, mask_left(43))
34851 pack_tmp = ior(pack_tmp, data_tmp)
34853 packed_data(ipack) = pack_tmp
34854 data_tmp = full_data(idata)
34855 pack_tmp = ishft(data_tmp, 62)
34856 pack_tmp = ishft(pack_tmp, -45)
34858 data_tmp = full_data(idata)
34859 data_tmp = ishft(data_tmp, 19)
34860 pack_tmp = ior(pack_tmp, data_tmp)
34861 pack_tmp = ishft(pack_tmp, -17)
34863 data_tmp = full_data(idata)
34864 data_tmp = ishft(data_tmp, 19)
34865 data_tmp = iand(data_tmp, mask_left(17))
34866 pack_tmp = ior(pack_tmp, data_tmp)
34868 packed_data(ipack) = pack_tmp
34869 data_tmp = full_data(idata)
34870 pack_tmp = ishft(data_tmp, 36)
34871 pack_tmp = ishft(pack_tmp, -36)
34873 data_tmp = full_data(idata)
34874 data_tmp = ishft(data_tmp, 19)
34875 data_tmp = iand(data_tmp, mask_left(36))
34876 pack_tmp = ior(pack_tmp, data_tmp)
34878 packed_data(ipack) = pack_tmp
34879 data_tmp = full_data(idata)
34880 pack_tmp = ishft(data_tmp, 55)
34881 pack_tmp = ishft(pack_tmp, -45)
34883 data_tmp = full_data(idata)
34884 data_tmp = ishft(data_tmp, 19)
34885 pack_tmp = ior(pack_tmp, data_tmp)
34886 pack_tmp = ishft(pack_tmp, -10)
34888 data_tmp = full_data(idata)
34889 data_tmp = ishft(data_tmp, 19)
34890 data_tmp = iand(data_tmp, mask_left(10))
34891 pack_tmp = ior(pack_tmp, data_tmp)
34893 packed_data(ipack) = pack_tmp
34894 data_tmp = full_data(idata)
34895 pack_tmp = ishft(data_tmp, 29)
34896 pack_tmp = ishft(pack_tmp, -29)
34898 data_tmp = full_data(idata)
34899 data_tmp = ishft(data_tmp, 19)
34900 data_tmp = iand(data_tmp, mask_left(29))
34901 pack_tmp = ior(pack_tmp, data_tmp)
34903 packed_data(ipack) = pack_tmp
34904 data_tmp = full_data(idata)
34905 pack_tmp = ishft(data_tmp, 48)
34906 pack_tmp = ishft(pack_tmp, -45)
34908 data_tmp = full_data(idata)
34909 data_tmp = ishft(data_tmp, 19)
34910 pack_tmp = ior(pack_tmp, data_tmp)
34911 pack_tmp = ishft(pack_tmp, -3)
34913 data_tmp = full_data(idata)
34914 data_tmp = ishft(data_tmp, 19)
34915 data_tmp = iand(data_tmp, mask_left(3))
34916 pack_tmp = ior(pack_tmp, data_tmp)
34918 packed_data(ipack) = pack_tmp
34919 data_tmp = full_data(idata)
34920 pack_tmp = ishft(data_tmp, 22)
34921 pack_tmp = ishft(pack_tmp, -22)
34923 data_tmp = full_data(idata)
34924 data_tmp = ishft(data_tmp, 19)
34925 data_tmp = iand(data_tmp, mask_left(22))
34926 pack_tmp = ior(pack_tmp, data_tmp)
34928 packed_data(ipack) = pack_tmp
34929 data_tmp = full_data(idata)
34930 pack_tmp = ishft(data_tmp, 41)
34931 pack_tmp = ishft(pack_tmp, -41)
34933 data_tmp = full_data(idata)
34934 data_tmp = ishft(data_tmp, 19)
34935 data_tmp = iand(data_tmp, mask_left(41))
34936 pack_tmp = ior(pack_tmp, data_tmp)
34938 packed_data(ipack) = pack_tmp
34939 data_tmp = full_data(idata)
34940 pack_tmp = ishft(data_tmp, 60)
34941 pack_tmp = ishft(pack_tmp, -45)
34943 data_tmp = full_data(idata)
34944 data_tmp = ishft(data_tmp, 19)
34945 pack_tmp = ior(pack_tmp, data_tmp)
34946 pack_tmp = ishft(pack_tmp, -15)
34948 data_tmp = full_data(idata)
34949 data_tmp = ishft(data_tmp, 19)
34950 data_tmp = iand(data_tmp, mask_left(15))
34951 pack_tmp = ior(pack_tmp, data_tmp)
34953 packed_data(ipack) = pack_tmp
34954 data_tmp = full_data(idata)
34955 pack_tmp = ishft(data_tmp, 34)
34956 pack_tmp = ishft(pack_tmp, -34)
34958 data_tmp = full_data(idata)
34959 data_tmp = ishft(data_tmp, 19)
34960 data_tmp = iand(data_tmp, mask_left(34))
34961 pack_tmp = ior(pack_tmp, data_tmp)
34963 packed_data(ipack) = pack_tmp
34964 data_tmp = full_data(idata)
34965 pack_tmp = ishft(data_tmp, 53)
34966 pack_tmp = ishft(pack_tmp, -45)
34968 data_tmp = full_data(idata)
34969 data_tmp = ishft(data_tmp, 19)
34970 pack_tmp = ior(pack_tmp, data_tmp)
34971 pack_tmp = ishft(pack_tmp, -8)
34973 data_tmp = full_data(idata)
34974 data_tmp = ishft(data_tmp, 19)
34975 data_tmp = iand(data_tmp, mask_left(8))
34976 pack_tmp = ior(pack_tmp, data_tmp)
34978 packed_data(ipack) = pack_tmp
34979 data_tmp = full_data(idata)
34980 pack_tmp = ishft(data_tmp, 27)
34981 pack_tmp = ishft(pack_tmp, -27)
34983 data_tmp = full_data(idata)
34984 data_tmp = ishft(data_tmp, 19)
34985 data_tmp = iand(data_tmp, mask_left(27))
34986 pack_tmp = ior(pack_tmp, data_tmp)
34988 packed_data(ipack) = pack_tmp
34989 data_tmp = full_data(idata)
34990 pack_tmp = ishft(data_tmp, 46)
34991 pack_tmp = ishft(pack_tmp, -45)
34993 data_tmp = full_data(idata)
34994 data_tmp = ishft(data_tmp, 19)
34995 pack_tmp = ior(pack_tmp, data_tmp)
34996 pack_tmp = ishft(pack_tmp, -1)
34998 data_tmp = full_data(idata)
34999 data_tmp = ishft(data_tmp, 19)
35000 data_tmp = iand(data_tmp, mask_left(1))
35001 pack_tmp = ior(pack_tmp, data_tmp)
35003 packed_data(ipack) = pack_tmp
35004 data_tmp = full_data(idata)
35005 pack_tmp = ishft(data_tmp, 20)
35006 pack_tmp = ishft(pack_tmp, -20)
35008 data_tmp = full_data(idata)
35009 data_tmp = ishft(data_tmp, 19)
35010 data_tmp = iand(data_tmp, mask_left(20))
35011 pack_tmp = ior(pack_tmp, data_tmp)
35013 packed_data(ipack) = pack_tmp
35014 data_tmp = full_data(idata)
35015 pack_tmp = ishft(data_tmp, 39)
35016 pack_tmp = ishft(pack_tmp, -39)
35018 data_tmp = full_data(idata)
35019 data_tmp = ishft(data_tmp, 19)
35020 data_tmp = iand(data_tmp, mask_left(39))
35021 pack_tmp = ior(pack_tmp, data_tmp)
35023 packed_data(ipack) = pack_tmp
35024 data_tmp = full_data(idata)
35025 pack_tmp = ishft(data_tmp, 58)
35026 pack_tmp = ishft(pack_tmp, -45)
35028 data_tmp = full_data(idata)
35029 data_tmp = ishft(data_tmp, 19)
35030 pack_tmp = ior(pack_tmp, data_tmp)
35031 pack_tmp = ishft(pack_tmp, -13)
35033 data_tmp = full_data(idata)
35034 data_tmp = ishft(data_tmp, 19)
35035 data_tmp = iand(data_tmp, mask_left(13))
35036 pack_tmp = ior(pack_tmp, data_tmp)
35038 packed_data(ipack) = pack_tmp
35039 data_tmp = full_data(idata)
35040 pack_tmp = ishft(data_tmp, 32)
35041 pack_tmp = ishft(pack_tmp, -32)
35043 data_tmp = full_data(idata)
35044 data_tmp = ishft(data_tmp, 19)
35045 data_tmp = iand(data_tmp, mask_left(32))
35046 pack_tmp = ior(pack_tmp, data_tmp)
35048 packed_data(ipack) = pack_tmp
35049 data_tmp = full_data(idata)
35050 pack_tmp = ishft(data_tmp, 51)
35051 pack_tmp = ishft(pack_tmp, -45)
35053 data_tmp = full_data(idata)
35054 data_tmp = ishft(data_tmp, 19)
35055 pack_tmp = ior(pack_tmp, data_tmp)
35056 pack_tmp = ishft(pack_tmp, -6)
35058 data_tmp = full_data(idata)
35059 data_tmp = ishft(data_tmp, 19)
35060 data_tmp = iand(data_tmp, mask_left(6))
35061 pack_tmp = ior(pack_tmp, data_tmp)
35063 packed_data(ipack) = pack_tmp
35064 data_tmp = full_data(idata)
35065 pack_tmp = ishft(data_tmp, 25)
35066 pack_tmp = ishft(pack_tmp, -25)
35068 data_tmp = full_data(idata)
35069 data_tmp = ishft(data_tmp, 19)
35070 data_tmp = iand(data_tmp, mask_left(25))
35071 pack_tmp = ior(pack_tmp, data_tmp)
35073 packed_data(ipack) = pack_tmp
35074 data_tmp = full_data(idata)
35075 pack_tmp = ishft(data_tmp, 44)
35076 pack_tmp = ishft(pack_tmp, -44)
35078 data_tmp = full_data(idata)
35079 data_tmp = ishft(data_tmp, 19)
35080 data_tmp = iand(data_tmp, mask_left(44))
35081 pack_tmp = ior(pack_tmp, data_tmp)
35083 packed_data(ipack) = pack_tmp
35084 data_tmp = full_data(idata)
35085 pack_tmp = ishft(data_tmp, 63)
35086 pack_tmp = ishft(pack_tmp, -45)
35088 data_tmp = full_data(idata)
35089 data_tmp = ishft(data_tmp, 19)
35090 pack_tmp = ior(pack_tmp, data_tmp)
35091 pack_tmp = ishft(pack_tmp, -18)
35093 data_tmp = full_data(idata)
35094 data_tmp = ishft(data_tmp, 19)
35095 data_tmp = iand(data_tmp, mask_left(18))
35096 pack_tmp = ior(pack_tmp, data_tmp)
35098 packed_data(ipack) = pack_tmp
35099 data_tmp = full_data(idata)
35100 pack_tmp = ishft(data_tmp, 37)
35101 pack_tmp = ishft(pack_tmp, -37)
35103 data_tmp = full_data(idata)
35104 data_tmp = ishft(data_tmp, 19)
35105 data_tmp = iand(data_tmp, mask_left(37))
35106 pack_tmp = ior(pack_tmp, data_tmp)
35108 packed_data(ipack) = pack_tmp
35109 data_tmp = full_data(idata)
35110 pack_tmp = ishft(data_tmp, 56)
35111 pack_tmp = ishft(pack_tmp, -45)
35113 data_tmp = full_data(idata)
35114 data_tmp = ishft(data_tmp, 19)
35115 pack_tmp = ior(pack_tmp, data_tmp)
35116 pack_tmp = ishft(pack_tmp, -11)
35118 data_tmp = full_data(idata)
35119 data_tmp = ishft(data_tmp, 19)
35120 data_tmp = iand(data_tmp, mask_left(11))
35121 pack_tmp = ior(pack_tmp, data_tmp)
35123 packed_data(ipack) = pack_tmp
35124 data_tmp = full_data(idata)
35125 pack_tmp = ishft(data_tmp, 30)
35126 pack_tmp = ishft(pack_tmp, -30)
35128 data_tmp = full_data(idata)
35129 data_tmp = ishft(data_tmp, 19)
35130 data_tmp = iand(data_tmp, mask_left(30))
35131 pack_tmp = ior(pack_tmp, data_tmp)
35133 packed_data(ipack) = pack_tmp
35134 data_tmp = full_data(idata)
35135 pack_tmp = ishft(data_tmp, 49)
35136 pack_tmp = ishft(pack_tmp, -45)
35138 data_tmp = full_data(idata)
35139 data_tmp = ishft(data_tmp, 19)
35140 pack_tmp = ior(pack_tmp, data_tmp)
35141 pack_tmp = ishft(pack_tmp, -4)
35143 data_tmp = full_data(idata)
35144 data_tmp = ishft(data_tmp, 19)
35145 data_tmp = iand(data_tmp, mask_left(4))
35146 pack_tmp = ior(pack_tmp, data_tmp)
35148 packed_data(ipack) = pack_tmp
35149 data_tmp = full_data(idata)
35150 pack_tmp = ishft(data_tmp, 23)
35151 pack_tmp = ishft(pack_tmp, -23)
35153 data_tmp = full_data(idata)
35154 data_tmp = ishft(data_tmp, 19)
35155 data_tmp = iand(data_tmp, mask_left(23))
35156 pack_tmp = ior(pack_tmp, data_tmp)
35158 packed_data(ipack) = pack_tmp
35159 data_tmp = full_data(idata)
35160 pack_tmp = ishft(data_tmp, 42)
35161 pack_tmp = ishft(pack_tmp, -42)
35163 data_tmp = full_data(idata)
35164 data_tmp = ishft(data_tmp, 19)
35165 data_tmp = iand(data_tmp, mask_left(42))
35166 pack_tmp = ior(pack_tmp, data_tmp)
35168 packed_data(ipack) = pack_tmp
35169 data_tmp = full_data(idata)
35170 pack_tmp = ishft(data_tmp, 61)
35171 pack_tmp = ishft(pack_tmp, -45)
35173 data_tmp = full_data(idata)
35174 data_tmp = ishft(data_tmp, 19)
35175 pack_tmp = ior(pack_tmp, data_tmp)
35176 pack_tmp = ishft(pack_tmp, -16)
35178 data_tmp = full_data(idata)
35179 data_tmp = ishft(data_tmp, 19)
35180 data_tmp = iand(data_tmp, mask_left(16))
35181 pack_tmp = ior(pack_tmp, data_tmp)
35183 packed_data(ipack) = pack_tmp
35184 data_tmp = full_data(idata)
35185 pack_tmp = ishft(data_tmp, 35)
35186 pack_tmp = ishft(pack_tmp, -35)
35188 data_tmp = full_data(idata)
35189 data_tmp = ishft(data_tmp, 19)
35190 data_tmp = iand(data_tmp, mask_left(35))
35191 pack_tmp = ior(pack_tmp, data_tmp)
35193 packed_data(ipack) = pack_tmp
35194 data_tmp = full_data(idata)
35195 pack_tmp = ishft(data_tmp, 54)
35196 pack_tmp = ishft(pack_tmp, -45)
35198 data_tmp = full_data(idata)
35199 data_tmp = ishft(data_tmp, 19)
35200 pack_tmp = ior(pack_tmp, data_tmp)
35201 pack_tmp = ishft(pack_tmp, -9)
35203 data_tmp = full_data(idata)
35204 data_tmp = ishft(data_tmp, 19)
35205 data_tmp = iand(data_tmp, mask_left(9))
35206 pack_tmp = ior(pack_tmp, data_tmp)
35208 packed_data(ipack) = pack_tmp
35209 data_tmp = full_data(idata)
35210 pack_tmp = ishft(data_tmp, 28)
35211 pack_tmp = ishft(pack_tmp, -28)
35213 data_tmp = full_data(idata)
35214 data_tmp = ishft(data_tmp, 19)
35215 data_tmp = iand(data_tmp, mask_left(28))
35216 pack_tmp = ior(pack_tmp, data_tmp)
35218 packed_data(ipack) = pack_tmp
35219 data_tmp = full_data(idata)
35220 pack_tmp = ishft(data_tmp, 47)
35221 pack_tmp = ishft(pack_tmp, -45)
35223 data_tmp = full_data(idata)
35224 data_tmp = ishft(data_tmp, 19)
35225 pack_tmp = ior(pack_tmp, data_tmp)
35226 pack_tmp = ishft(pack_tmp, -2)
35228 data_tmp = full_data(idata)
35229 data_tmp = ishft(data_tmp, 19)
35230 data_tmp = iand(data_tmp, mask_left(2))
35231 pack_tmp = ior(pack_tmp, data_tmp)
35233 packed_data(ipack) = pack_tmp
35234 data_tmp = full_data(idata)
35235 pack_tmp = ishft(data_tmp, 21)
35236 pack_tmp = ishft(pack_tmp, -21)
35238 data_tmp = full_data(idata)
35239 data_tmp = ishft(data_tmp, 19)
35240 data_tmp = iand(data_tmp, mask_left(21))
35241 pack_tmp = ior(pack_tmp, data_tmp)
35243 packed_data(ipack) = pack_tmp
35244 data_tmp = full_data(idata)
35245 pack_tmp = ishft(data_tmp, 40)
35246 pack_tmp = ishft(pack_tmp, -40)
35248 data_tmp = full_data(idata)
35249 data_tmp = ishft(data_tmp, 19)
35250 data_tmp = iand(data_tmp, mask_left(40))
35251 pack_tmp = ior(pack_tmp, data_tmp)
35253 packed_data(ipack) = pack_tmp
35254 data_tmp = full_data(idata)
35255 pack_tmp = ishft(data_tmp, 59)
35256 pack_tmp = ishft(pack_tmp, -45)
35258 data_tmp = full_data(idata)
35259 data_tmp = ishft(data_tmp, 19)
35260 pack_tmp = ior(pack_tmp, data_tmp)
35261 pack_tmp = ishft(pack_tmp, -14)
35263 data_tmp = full_data(idata)
35264 data_tmp = ishft(data_tmp, 19)
35265 data_tmp = iand(data_tmp, mask_left(14))
35266 pack_tmp = ior(pack_tmp, data_tmp)
35268 packed_data(ipack) = pack_tmp
35269 data_tmp = full_data(idata)
35270 pack_tmp = ishft(data_tmp, 33)
35271 pack_tmp = ishft(pack_tmp, -33)
35273 data_tmp = full_data(idata)
35274 data_tmp = ishft(data_tmp, 19)
35275 data_tmp = iand(data_tmp, mask_left(33))
35276 pack_tmp = ior(pack_tmp, data_tmp)
35278 packed_data(ipack) = pack_tmp
35279 data_tmp = full_data(idata)
35280 pack_tmp = ishft(data_tmp, 52)
35281 pack_tmp = ishft(pack_tmp, -45)
35283 data_tmp = full_data(idata)
35284 data_tmp = ishft(data_tmp, 19)
35285 pack_tmp = ior(pack_tmp, data_tmp)
35286 pack_tmp = ishft(pack_tmp, -7)
35288 data_tmp = full_data(idata)
35289 data_tmp = ishft(data_tmp, 19)
35290 data_tmp = iand(data_tmp, mask_left(7))
35291 pack_tmp = ior(pack_tmp, data_tmp)
35293 packed_data(ipack) = pack_tmp
35294 data_tmp = full_data(idata)
35295 pack_tmp = ishft(data_tmp, 26)
35296 pack_tmp = ishft(pack_tmp, -26)
35298 data_tmp = full_data(idata)
35299 data_tmp = ishft(data_tmp, 19)
35300 data_tmp = iand(data_tmp, mask_left(26))
35301 pack_tmp = ior(pack_tmp, data_tmp)
35303 packed_data(ipack) = pack_tmp
35304 data_tmp = full_data(idata)
35305 pack_tmp = ishft(data_tmp, 45)
35306 pack_tmp = ishft(pack_tmp, -45)
35308 data_tmp = full_data(idata)
35309 data_tmp = ishft(data_tmp, 19)
35310 pack_tmp = ior(pack_tmp, data_tmp)
35311 pack_tmp = ishft(pack_tmp, 0)
35312 pack_tmp = ishft(pack_tmp, 0)
35314 packed_data(ipack) = pack_tmp
35316 IF (ndata_rep < ndata)
THEN
35317 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
35319 END SUBROUTINE ints2bits_45
35327 SUBROUTINE bits2ints_45(Ndata, packed_data, full_data)
35328 INTEGER,
INTENT(IN) :: Ndata
35329 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
35330 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
35332 INTEGER,
PARAMETER :: Nbits = 45
35334 INTEGER :: idata, ipack, kdata, Ndata_rep
35335 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
35340 ndata_rep = (ndata/64)*64
35341 DO kdata = 1, ndata_rep, 64
35343 data_tmp = ishft(pack_tmp, 45)
35345 pack_tmp = packed_data(ipack)
35346 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
35347 pack_tmp = ishft(pack_tmp, -45)
35349 data_tmp = ishft(pack_tmp, 26)
35351 pack_tmp = packed_data(ipack)
35352 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
35353 pack_tmp = ishft(pack_tmp, -26)
35355 data_tmp = ishft(pack_tmp, 7)
35357 pack_tmp = packed_data(ipack)
35358 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
35359 pack_tmp = ishft(pack_tmp, -7)
35361 data_tmp = iand(pack_tmp, mask_right(nbits))
35362 full_data(idata) = data_tmp
35363 pack_tmp = ishft(pack_tmp, -nbits)
35365 data_tmp = ishft(pack_tmp, 33)
35367 pack_tmp = packed_data(ipack)
35368 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
35369 pack_tmp = ishft(pack_tmp, -33)
35371 data_tmp = ishft(pack_tmp, 14)
35373 pack_tmp = packed_data(ipack)
35374 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
35375 pack_tmp = ishft(pack_tmp, -14)
35377 data_tmp = iand(pack_tmp, mask_right(nbits))
35378 full_data(idata) = data_tmp
35379 pack_tmp = ishft(pack_tmp, -nbits)
35381 data_tmp = ishft(pack_tmp, 40)
35383 pack_tmp = packed_data(ipack)
35384 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
35385 pack_tmp = ishft(pack_tmp, -40)
35387 data_tmp = ishft(pack_tmp, 21)
35389 pack_tmp = packed_data(ipack)
35390 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
35391 pack_tmp = ishft(pack_tmp, -21)
35393 data_tmp = ishft(pack_tmp, 2)
35395 pack_tmp = packed_data(ipack)
35396 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
35397 pack_tmp = ishft(pack_tmp, -2)
35399 data_tmp = iand(pack_tmp, mask_right(nbits))
35400 full_data(idata) = data_tmp
35401 pack_tmp = ishft(pack_tmp, -nbits)
35403 data_tmp = ishft(pack_tmp, 28)
35405 pack_tmp = packed_data(ipack)
35406 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
35407 pack_tmp = ishft(pack_tmp, -28)
35409 data_tmp = ishft(pack_tmp, 9)
35411 pack_tmp = packed_data(ipack)
35412 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
35413 pack_tmp = ishft(pack_tmp, -9)
35415 data_tmp = iand(pack_tmp, mask_right(nbits))
35416 full_data(idata) = data_tmp
35417 pack_tmp = ishft(pack_tmp, -nbits)
35419 data_tmp = ishft(pack_tmp, 35)
35421 pack_tmp = packed_data(ipack)
35422 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
35423 pack_tmp = ishft(pack_tmp, -35)
35425 data_tmp = ishft(pack_tmp, 16)
35427 pack_tmp = packed_data(ipack)
35428 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
35429 pack_tmp = ishft(pack_tmp, -16)
35431 data_tmp = iand(pack_tmp, mask_right(nbits))
35432 full_data(idata) = data_tmp
35433 pack_tmp = ishft(pack_tmp, -nbits)
35435 data_tmp = ishft(pack_tmp, 42)
35437 pack_tmp = packed_data(ipack)
35438 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
35439 pack_tmp = ishft(pack_tmp, -42)
35441 data_tmp = ishft(pack_tmp, 23)
35443 pack_tmp = packed_data(ipack)
35444 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
35445 pack_tmp = ishft(pack_tmp, -23)
35447 data_tmp = ishft(pack_tmp, 4)
35449 pack_tmp = packed_data(ipack)
35450 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
35451 pack_tmp = ishft(pack_tmp, -4)
35453 data_tmp = iand(pack_tmp, mask_right(nbits))
35454 full_data(idata) = data_tmp
35455 pack_tmp = ishft(pack_tmp, -nbits)
35457 data_tmp = ishft(pack_tmp, 30)
35459 pack_tmp = packed_data(ipack)
35460 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
35461 pack_tmp = ishft(pack_tmp, -30)
35463 data_tmp = ishft(pack_tmp, 11)
35465 pack_tmp = packed_data(ipack)
35466 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
35467 pack_tmp = ishft(pack_tmp, -11)
35469 data_tmp = iand(pack_tmp, mask_right(nbits))
35470 full_data(idata) = data_tmp
35471 pack_tmp = ishft(pack_tmp, -nbits)
35473 data_tmp = ishft(pack_tmp, 37)
35475 pack_tmp = packed_data(ipack)
35476 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
35477 pack_tmp = ishft(pack_tmp, -37)
35479 data_tmp = ishft(pack_tmp, 18)
35481 pack_tmp = packed_data(ipack)
35482 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
35483 pack_tmp = ishft(pack_tmp, -18)
35485 data_tmp = iand(pack_tmp, mask_right(nbits))
35486 full_data(idata) = data_tmp
35487 pack_tmp = ishft(pack_tmp, -nbits)
35489 data_tmp = ishft(pack_tmp, 44)
35491 pack_tmp = packed_data(ipack)
35492 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
35493 pack_tmp = ishft(pack_tmp, -44)
35495 data_tmp = ishft(pack_tmp, 25)
35497 pack_tmp = packed_data(ipack)
35498 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
35499 pack_tmp = ishft(pack_tmp, -25)
35501 data_tmp = ishft(pack_tmp, 6)
35503 pack_tmp = packed_data(ipack)
35504 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
35505 pack_tmp = ishft(pack_tmp, -6)
35507 data_tmp = iand(pack_tmp, mask_right(nbits))
35508 full_data(idata) = data_tmp
35509 pack_tmp = ishft(pack_tmp, -nbits)
35511 data_tmp = ishft(pack_tmp, 32)
35513 pack_tmp = packed_data(ipack)
35514 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
35515 pack_tmp = ishft(pack_tmp, -32)
35517 data_tmp = ishft(pack_tmp, 13)
35519 pack_tmp = packed_data(ipack)
35520 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
35521 pack_tmp = ishft(pack_tmp, -13)
35523 data_tmp = iand(pack_tmp, mask_right(nbits))
35524 full_data(idata) = data_tmp
35525 pack_tmp = ishft(pack_tmp, -nbits)
35527 data_tmp = ishft(pack_tmp, 39)
35529 pack_tmp = packed_data(ipack)
35530 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
35531 pack_tmp = ishft(pack_tmp, -39)
35533 data_tmp = ishft(pack_tmp, 20)
35535 pack_tmp = packed_data(ipack)
35536 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
35537 pack_tmp = ishft(pack_tmp, -20)
35539 data_tmp = ishft(pack_tmp, 1)
35541 pack_tmp = packed_data(ipack)
35542 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
35543 pack_tmp = ishft(pack_tmp, -1)
35545 data_tmp = iand(pack_tmp, mask_right(nbits))
35546 full_data(idata) = data_tmp
35547 pack_tmp = ishft(pack_tmp, -nbits)
35549 data_tmp = ishft(pack_tmp, 27)
35551 pack_tmp = packed_data(ipack)
35552 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
35553 pack_tmp = ishft(pack_tmp, -27)
35555 data_tmp = ishft(pack_tmp, 8)
35557 pack_tmp = packed_data(ipack)
35558 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
35559 pack_tmp = ishft(pack_tmp, -8)
35561 data_tmp = iand(pack_tmp, mask_right(nbits))
35562 full_data(idata) = data_tmp
35563 pack_tmp = ishft(pack_tmp, -nbits)
35565 data_tmp = ishft(pack_tmp, 34)
35567 pack_tmp = packed_data(ipack)
35568 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
35569 pack_tmp = ishft(pack_tmp, -34)
35571 data_tmp = ishft(pack_tmp, 15)
35573 pack_tmp = packed_data(ipack)
35574 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
35575 pack_tmp = ishft(pack_tmp, -15)
35577 data_tmp = iand(pack_tmp, mask_right(nbits))
35578 full_data(idata) = data_tmp
35579 pack_tmp = ishft(pack_tmp, -nbits)
35581 data_tmp = ishft(pack_tmp, 41)
35583 pack_tmp = packed_data(ipack)
35584 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
35585 pack_tmp = ishft(pack_tmp, -41)
35587 data_tmp = ishft(pack_tmp, 22)
35589 pack_tmp = packed_data(ipack)
35590 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
35591 pack_tmp = ishft(pack_tmp, -22)
35593 data_tmp = ishft(pack_tmp, 3)
35595 pack_tmp = packed_data(ipack)
35596 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
35597 pack_tmp = ishft(pack_tmp, -3)
35599 data_tmp = iand(pack_tmp, mask_right(nbits))
35600 full_data(idata) = data_tmp
35601 pack_tmp = ishft(pack_tmp, -nbits)
35603 data_tmp = ishft(pack_tmp, 29)
35605 pack_tmp = packed_data(ipack)
35606 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
35607 pack_tmp = ishft(pack_tmp, -29)
35609 data_tmp = ishft(pack_tmp, 10)
35611 pack_tmp = packed_data(ipack)
35612 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
35613 pack_tmp = ishft(pack_tmp, -10)
35615 data_tmp = iand(pack_tmp, mask_right(nbits))
35616 full_data(idata) = data_tmp
35617 pack_tmp = ishft(pack_tmp, -nbits)
35619 data_tmp = ishft(pack_tmp, 36)
35621 pack_tmp = packed_data(ipack)
35622 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
35623 pack_tmp = ishft(pack_tmp, -36)
35625 data_tmp = ishft(pack_tmp, 17)
35627 pack_tmp = packed_data(ipack)
35628 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
35629 pack_tmp = ishft(pack_tmp, -17)
35631 data_tmp = iand(pack_tmp, mask_right(nbits))
35632 full_data(idata) = data_tmp
35633 pack_tmp = ishft(pack_tmp, -nbits)
35635 data_tmp = ishft(pack_tmp, 43)
35637 pack_tmp = packed_data(ipack)
35638 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
35639 pack_tmp = ishft(pack_tmp, -43)
35641 data_tmp = ishft(pack_tmp, 24)
35643 pack_tmp = packed_data(ipack)
35644 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
35645 pack_tmp = ishft(pack_tmp, -24)
35647 data_tmp = ishft(pack_tmp, 5)
35649 pack_tmp = packed_data(ipack)
35650 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
35651 pack_tmp = ishft(pack_tmp, -5)
35653 data_tmp = iand(pack_tmp, mask_right(nbits))
35654 full_data(idata) = data_tmp
35655 pack_tmp = ishft(pack_tmp, -nbits)
35657 data_tmp = ishft(pack_tmp, 31)
35659 pack_tmp = packed_data(ipack)
35660 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
35661 pack_tmp = ishft(pack_tmp, -31)
35663 data_tmp = ishft(pack_tmp, 12)
35665 pack_tmp = packed_data(ipack)
35666 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
35667 pack_tmp = ishft(pack_tmp, -12)
35669 data_tmp = iand(pack_tmp, mask_right(nbits))
35670 full_data(idata) = data_tmp
35671 pack_tmp = ishft(pack_tmp, -nbits)
35673 data_tmp = ishft(pack_tmp, 38)
35675 pack_tmp = packed_data(ipack)
35676 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
35677 pack_tmp = ishft(pack_tmp, -38)
35679 data_tmp = ishft(pack_tmp, 19)
35681 pack_tmp = packed_data(ipack)
35682 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
35683 pack_tmp = ishft(pack_tmp, -19)
35685 data_tmp = iand(pack_tmp, mask_right(nbits))
35686 full_data(idata) = data_tmp
35687 pack_tmp = ishft(pack_tmp, -nbits)
35689 IF (ndata_rep < ndata)
THEN
35690 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
35692 END SUBROUTINE bits2ints_45
35700 SUBROUTINE ints2bits_46(Ndata, packed_data, full_data)
35701 INTEGER,
INTENT(IN) :: Ndata
35702 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
35703 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
35705 INTEGER,
PARAMETER :: Nbits = 46
35707 INTEGER :: idata, ipack, kdata, Ndata_rep
35708 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
35712 ndata_rep = (ndata/64)*64
35713 DO kdata = 1, ndata_rep, 64
35716 data_tmp = full_data(idata)
35717 data_tmp = ishft(data_tmp, 18)
35718 pack_tmp = ior(pack_tmp, data_tmp)
35719 pack_tmp = ishft(pack_tmp, -18)
35721 data_tmp = full_data(idata)
35722 data_tmp = ishft(data_tmp, 18)
35723 data_tmp = iand(data_tmp, mask_left(18))
35724 pack_tmp = ior(pack_tmp, data_tmp)
35726 packed_data(ipack) = pack_tmp
35727 data_tmp = full_data(idata)
35728 pack_tmp = ishft(data_tmp, 36)
35729 pack_tmp = ishft(pack_tmp, -36)
35731 data_tmp = full_data(idata)
35732 data_tmp = ishft(data_tmp, 18)
35733 data_tmp = iand(data_tmp, mask_left(36))
35734 pack_tmp = ior(pack_tmp, data_tmp)
35736 packed_data(ipack) = pack_tmp
35737 data_tmp = full_data(idata)
35738 pack_tmp = ishft(data_tmp, 54)
35739 pack_tmp = ishft(pack_tmp, -46)
35741 data_tmp = full_data(idata)
35742 data_tmp = ishft(data_tmp, 18)
35743 pack_tmp = ior(pack_tmp, data_tmp)
35744 pack_tmp = ishft(pack_tmp, -8)
35746 data_tmp = full_data(idata)
35747 data_tmp = ishft(data_tmp, 18)
35748 data_tmp = iand(data_tmp, mask_left(8))
35749 pack_tmp = ior(pack_tmp, data_tmp)
35751 packed_data(ipack) = pack_tmp
35752 data_tmp = full_data(idata)
35753 pack_tmp = ishft(data_tmp, 26)
35754 pack_tmp = ishft(pack_tmp, -26)
35756 data_tmp = full_data(idata)
35757 data_tmp = ishft(data_tmp, 18)
35758 data_tmp = iand(data_tmp, mask_left(26))
35759 pack_tmp = ior(pack_tmp, data_tmp)
35761 packed_data(ipack) = pack_tmp
35762 data_tmp = full_data(idata)
35763 pack_tmp = ishft(data_tmp, 44)
35764 pack_tmp = ishft(pack_tmp, -44)
35766 data_tmp = full_data(idata)
35767 data_tmp = ishft(data_tmp, 18)
35768 data_tmp = iand(data_tmp, mask_left(44))
35769 pack_tmp = ior(pack_tmp, data_tmp)
35771 packed_data(ipack) = pack_tmp
35772 data_tmp = full_data(idata)
35773 pack_tmp = ishft(data_tmp, 62)
35774 pack_tmp = ishft(pack_tmp, -46)
35776 data_tmp = full_data(idata)
35777 data_tmp = ishft(data_tmp, 18)
35778 pack_tmp = ior(pack_tmp, data_tmp)
35779 pack_tmp = ishft(pack_tmp, -16)
35781 data_tmp = full_data(idata)
35782 data_tmp = ishft(data_tmp, 18)
35783 data_tmp = iand(data_tmp, mask_left(16))
35784 pack_tmp = ior(pack_tmp, data_tmp)
35786 packed_data(ipack) = pack_tmp
35787 data_tmp = full_data(idata)
35788 pack_tmp = ishft(data_tmp, 34)
35789 pack_tmp = ishft(pack_tmp, -34)
35791 data_tmp = full_data(idata)
35792 data_tmp = ishft(data_tmp, 18)
35793 data_tmp = iand(data_tmp, mask_left(34))
35794 pack_tmp = ior(pack_tmp, data_tmp)
35796 packed_data(ipack) = pack_tmp
35797 data_tmp = full_data(idata)
35798 pack_tmp = ishft(data_tmp, 52)
35799 pack_tmp = ishft(pack_tmp, -46)
35801 data_tmp = full_data(idata)
35802 data_tmp = ishft(data_tmp, 18)
35803 pack_tmp = ior(pack_tmp, data_tmp)
35804 pack_tmp = ishft(pack_tmp, -6)
35806 data_tmp = full_data(idata)
35807 data_tmp = ishft(data_tmp, 18)
35808 data_tmp = iand(data_tmp, mask_left(6))
35809 pack_tmp = ior(pack_tmp, data_tmp)
35811 packed_data(ipack) = pack_tmp
35812 data_tmp = full_data(idata)
35813 pack_tmp = ishft(data_tmp, 24)
35814 pack_tmp = ishft(pack_tmp, -24)
35816 data_tmp = full_data(idata)
35817 data_tmp = ishft(data_tmp, 18)
35818 data_tmp = iand(data_tmp, mask_left(24))
35819 pack_tmp = ior(pack_tmp, data_tmp)
35821 packed_data(ipack) = pack_tmp
35822 data_tmp = full_data(idata)
35823 pack_tmp = ishft(data_tmp, 42)
35824 pack_tmp = ishft(pack_tmp, -42)
35826 data_tmp = full_data(idata)
35827 data_tmp = ishft(data_tmp, 18)
35828 data_tmp = iand(data_tmp, mask_left(42))
35829 pack_tmp = ior(pack_tmp, data_tmp)
35831 packed_data(ipack) = pack_tmp
35832 data_tmp = full_data(idata)
35833 pack_tmp = ishft(data_tmp, 60)
35834 pack_tmp = ishft(pack_tmp, -46)
35836 data_tmp = full_data(idata)
35837 data_tmp = ishft(data_tmp, 18)
35838 pack_tmp = ior(pack_tmp, data_tmp)
35839 pack_tmp = ishft(pack_tmp, -14)
35841 data_tmp = full_data(idata)
35842 data_tmp = ishft(data_tmp, 18)
35843 data_tmp = iand(data_tmp, mask_left(14))
35844 pack_tmp = ior(pack_tmp, data_tmp)
35846 packed_data(ipack) = pack_tmp
35847 data_tmp = full_data(idata)
35848 pack_tmp = ishft(data_tmp, 32)
35849 pack_tmp = ishft(pack_tmp, -32)
35851 data_tmp = full_data(idata)
35852 data_tmp = ishft(data_tmp, 18)
35853 data_tmp = iand(data_tmp, mask_left(32))
35854 pack_tmp = ior(pack_tmp, data_tmp)
35856 packed_data(ipack) = pack_tmp
35857 data_tmp = full_data(idata)
35858 pack_tmp = ishft(data_tmp, 50)
35859 pack_tmp = ishft(pack_tmp, -46)
35861 data_tmp = full_data(idata)
35862 data_tmp = ishft(data_tmp, 18)
35863 pack_tmp = ior(pack_tmp, data_tmp)
35864 pack_tmp = ishft(pack_tmp, -4)
35866 data_tmp = full_data(idata)
35867 data_tmp = ishft(data_tmp, 18)
35868 data_tmp = iand(data_tmp, mask_left(4))
35869 pack_tmp = ior(pack_tmp, data_tmp)
35871 packed_data(ipack) = pack_tmp
35872 data_tmp = full_data(idata)
35873 pack_tmp = ishft(data_tmp, 22)
35874 pack_tmp = ishft(pack_tmp, -22)
35876 data_tmp = full_data(idata)
35877 data_tmp = ishft(data_tmp, 18)
35878 data_tmp = iand(data_tmp, mask_left(22))
35879 pack_tmp = ior(pack_tmp, data_tmp)
35881 packed_data(ipack) = pack_tmp
35882 data_tmp = full_data(idata)
35883 pack_tmp = ishft(data_tmp, 40)
35884 pack_tmp = ishft(pack_tmp, -40)
35886 data_tmp = full_data(idata)
35887 data_tmp = ishft(data_tmp, 18)
35888 data_tmp = iand(data_tmp, mask_left(40))
35889 pack_tmp = ior(pack_tmp, data_tmp)
35891 packed_data(ipack) = pack_tmp
35892 data_tmp = full_data(idata)
35893 pack_tmp = ishft(data_tmp, 58)
35894 pack_tmp = ishft(pack_tmp, -46)
35896 data_tmp = full_data(idata)
35897 data_tmp = ishft(data_tmp, 18)
35898 pack_tmp = ior(pack_tmp, data_tmp)
35899 pack_tmp = ishft(pack_tmp, -12)
35901 data_tmp = full_data(idata)
35902 data_tmp = ishft(data_tmp, 18)
35903 data_tmp = iand(data_tmp, mask_left(12))
35904 pack_tmp = ior(pack_tmp, data_tmp)
35906 packed_data(ipack) = pack_tmp
35907 data_tmp = full_data(idata)
35908 pack_tmp = ishft(data_tmp, 30)
35909 pack_tmp = ishft(pack_tmp, -30)
35911 data_tmp = full_data(idata)
35912 data_tmp = ishft(data_tmp, 18)
35913 data_tmp = iand(data_tmp, mask_left(30))
35914 pack_tmp = ior(pack_tmp, data_tmp)
35916 packed_data(ipack) = pack_tmp
35917 data_tmp = full_data(idata)
35918 pack_tmp = ishft(data_tmp, 48)
35919 pack_tmp = ishft(pack_tmp, -46)
35921 data_tmp = full_data(idata)
35922 data_tmp = ishft(data_tmp, 18)
35923 pack_tmp = ior(pack_tmp, data_tmp)
35924 pack_tmp = ishft(pack_tmp, -2)
35926 data_tmp = full_data(idata)
35927 data_tmp = ishft(data_tmp, 18)
35928 data_tmp = iand(data_tmp, mask_left(2))
35929 pack_tmp = ior(pack_tmp, data_tmp)
35931 packed_data(ipack) = pack_tmp
35932 data_tmp = full_data(idata)
35933 pack_tmp = ishft(data_tmp, 20)
35934 pack_tmp = ishft(pack_tmp, -20)
35936 data_tmp = full_data(idata)
35937 data_tmp = ishft(data_tmp, 18)
35938 data_tmp = iand(data_tmp, mask_left(20))
35939 pack_tmp = ior(pack_tmp, data_tmp)
35941 packed_data(ipack) = pack_tmp
35942 data_tmp = full_data(idata)
35943 pack_tmp = ishft(data_tmp, 38)
35944 pack_tmp = ishft(pack_tmp, -38)
35946 data_tmp = full_data(idata)
35947 data_tmp = ishft(data_tmp, 18)
35948 data_tmp = iand(data_tmp, mask_left(38))
35949 pack_tmp = ior(pack_tmp, data_tmp)
35951 packed_data(ipack) = pack_tmp
35952 data_tmp = full_data(idata)
35953 pack_tmp = ishft(data_tmp, 56)
35954 pack_tmp = ishft(pack_tmp, -46)
35956 data_tmp = full_data(idata)
35957 data_tmp = ishft(data_tmp, 18)
35958 pack_tmp = ior(pack_tmp, data_tmp)
35959 pack_tmp = ishft(pack_tmp, -10)
35961 data_tmp = full_data(idata)
35962 data_tmp = ishft(data_tmp, 18)
35963 data_tmp = iand(data_tmp, mask_left(10))
35964 pack_tmp = ior(pack_tmp, data_tmp)
35966 packed_data(ipack) = pack_tmp
35967 data_tmp = full_data(idata)
35968 pack_tmp = ishft(data_tmp, 28)
35969 pack_tmp = ishft(pack_tmp, -28)
35971 data_tmp = full_data(idata)
35972 data_tmp = ishft(data_tmp, 18)
35973 data_tmp = iand(data_tmp, mask_left(28))
35974 pack_tmp = ior(pack_tmp, data_tmp)
35976 packed_data(ipack) = pack_tmp
35977 data_tmp = full_data(idata)
35978 pack_tmp = ishft(data_tmp, 46)
35979 pack_tmp = ishft(pack_tmp, -46)
35981 data_tmp = full_data(idata)
35982 data_tmp = ishft(data_tmp, 18)
35983 pack_tmp = ior(pack_tmp, data_tmp)
35984 pack_tmp = ishft(pack_tmp, 0)
35986 data_tmp = full_data(idata)
35987 data_tmp = ishft(data_tmp, 18)
35988 data_tmp = iand(data_tmp, mask_left(0))
35989 pack_tmp = ior(pack_tmp, data_tmp)
35991 packed_data(ipack) = pack_tmp
35992 data_tmp = full_data(idata)
35993 pack_tmp = ishft(data_tmp, 18)
35994 pack_tmp = ishft(pack_tmp, -18)
35996 data_tmp = full_data(idata)
35997 data_tmp = ishft(data_tmp, 18)
35998 data_tmp = iand(data_tmp, mask_left(18))
35999 pack_tmp = ior(pack_tmp, data_tmp)
36001 packed_data(ipack) = pack_tmp
36002 data_tmp = full_data(idata)
36003 pack_tmp = ishft(data_tmp, 36)
36004 pack_tmp = ishft(pack_tmp, -36)
36006 data_tmp = full_data(idata)
36007 data_tmp = ishft(data_tmp, 18)
36008 data_tmp = iand(data_tmp, mask_left(36))
36009 pack_tmp = ior(pack_tmp, data_tmp)
36011 packed_data(ipack) = pack_tmp
36012 data_tmp = full_data(idata)
36013 pack_tmp = ishft(data_tmp, 54)
36014 pack_tmp = ishft(pack_tmp, -46)
36016 data_tmp = full_data(idata)
36017 data_tmp = ishft(data_tmp, 18)
36018 pack_tmp = ior(pack_tmp, data_tmp)
36019 pack_tmp = ishft(pack_tmp, -8)
36021 data_tmp = full_data(idata)
36022 data_tmp = ishft(data_tmp, 18)
36023 data_tmp = iand(data_tmp, mask_left(8))
36024 pack_tmp = ior(pack_tmp, data_tmp)
36026 packed_data(ipack) = pack_tmp
36027 data_tmp = full_data(idata)
36028 pack_tmp = ishft(data_tmp, 26)
36029 pack_tmp = ishft(pack_tmp, -26)
36031 data_tmp = full_data(idata)
36032 data_tmp = ishft(data_tmp, 18)
36033 data_tmp = iand(data_tmp, mask_left(26))
36034 pack_tmp = ior(pack_tmp, data_tmp)
36036 packed_data(ipack) = pack_tmp
36037 data_tmp = full_data(idata)
36038 pack_tmp = ishft(data_tmp, 44)
36039 pack_tmp = ishft(pack_tmp, -44)
36041 data_tmp = full_data(idata)
36042 data_tmp = ishft(data_tmp, 18)
36043 data_tmp = iand(data_tmp, mask_left(44))
36044 pack_tmp = ior(pack_tmp, data_tmp)
36046 packed_data(ipack) = pack_tmp
36047 data_tmp = full_data(idata)
36048 pack_tmp = ishft(data_tmp, 62)
36049 pack_tmp = ishft(pack_tmp, -46)
36051 data_tmp = full_data(idata)
36052 data_tmp = ishft(data_tmp, 18)
36053 pack_tmp = ior(pack_tmp, data_tmp)
36054 pack_tmp = ishft(pack_tmp, -16)
36056 data_tmp = full_data(idata)
36057 data_tmp = ishft(data_tmp, 18)
36058 data_tmp = iand(data_tmp, mask_left(16))
36059 pack_tmp = ior(pack_tmp, data_tmp)
36061 packed_data(ipack) = pack_tmp
36062 data_tmp = full_data(idata)
36063 pack_tmp = ishft(data_tmp, 34)
36064 pack_tmp = ishft(pack_tmp, -34)
36066 data_tmp = full_data(idata)
36067 data_tmp = ishft(data_tmp, 18)
36068 data_tmp = iand(data_tmp, mask_left(34))
36069 pack_tmp = ior(pack_tmp, data_tmp)
36071 packed_data(ipack) = pack_tmp
36072 data_tmp = full_data(idata)
36073 pack_tmp = ishft(data_tmp, 52)
36074 pack_tmp = ishft(pack_tmp, -46)
36076 data_tmp = full_data(idata)
36077 data_tmp = ishft(data_tmp, 18)
36078 pack_tmp = ior(pack_tmp, data_tmp)
36079 pack_tmp = ishft(pack_tmp, -6)
36081 data_tmp = full_data(idata)
36082 data_tmp = ishft(data_tmp, 18)
36083 data_tmp = iand(data_tmp, mask_left(6))
36084 pack_tmp = ior(pack_tmp, data_tmp)
36086 packed_data(ipack) = pack_tmp
36087 data_tmp = full_data(idata)
36088 pack_tmp = ishft(data_tmp, 24)
36089 pack_tmp = ishft(pack_tmp, -24)
36091 data_tmp = full_data(idata)
36092 data_tmp = ishft(data_tmp, 18)
36093 data_tmp = iand(data_tmp, mask_left(24))
36094 pack_tmp = ior(pack_tmp, data_tmp)
36096 packed_data(ipack) = pack_tmp
36097 data_tmp = full_data(idata)
36098 pack_tmp = ishft(data_tmp, 42)
36099 pack_tmp = ishft(pack_tmp, -42)
36101 data_tmp = full_data(idata)
36102 data_tmp = ishft(data_tmp, 18)
36103 data_tmp = iand(data_tmp, mask_left(42))
36104 pack_tmp = ior(pack_tmp, data_tmp)
36106 packed_data(ipack) = pack_tmp
36107 data_tmp = full_data(idata)
36108 pack_tmp = ishft(data_tmp, 60)
36109 pack_tmp = ishft(pack_tmp, -46)
36111 data_tmp = full_data(idata)
36112 data_tmp = ishft(data_tmp, 18)
36113 pack_tmp = ior(pack_tmp, data_tmp)
36114 pack_tmp = ishft(pack_tmp, -14)
36116 data_tmp = full_data(idata)
36117 data_tmp = ishft(data_tmp, 18)
36118 data_tmp = iand(data_tmp, mask_left(14))
36119 pack_tmp = ior(pack_tmp, data_tmp)
36121 packed_data(ipack) = pack_tmp
36122 data_tmp = full_data(idata)
36123 pack_tmp = ishft(data_tmp, 32)
36124 pack_tmp = ishft(pack_tmp, -32)
36126 data_tmp = full_data(idata)
36127 data_tmp = ishft(data_tmp, 18)
36128 data_tmp = iand(data_tmp, mask_left(32))
36129 pack_tmp = ior(pack_tmp, data_tmp)
36131 packed_data(ipack) = pack_tmp
36132 data_tmp = full_data(idata)
36133 pack_tmp = ishft(data_tmp, 50)
36134 pack_tmp = ishft(pack_tmp, -46)
36136 data_tmp = full_data(idata)
36137 data_tmp = ishft(data_tmp, 18)
36138 pack_tmp = ior(pack_tmp, data_tmp)
36139 pack_tmp = ishft(pack_tmp, -4)
36141 data_tmp = full_data(idata)
36142 data_tmp = ishft(data_tmp, 18)
36143 data_tmp = iand(data_tmp, mask_left(4))
36144 pack_tmp = ior(pack_tmp, data_tmp)
36146 packed_data(ipack) = pack_tmp
36147 data_tmp = full_data(idata)
36148 pack_tmp = ishft(data_tmp, 22)
36149 pack_tmp = ishft(pack_tmp, -22)
36151 data_tmp = full_data(idata)
36152 data_tmp = ishft(data_tmp, 18)
36153 data_tmp = iand(data_tmp, mask_left(22))
36154 pack_tmp = ior(pack_tmp, data_tmp)
36156 packed_data(ipack) = pack_tmp
36157 data_tmp = full_data(idata)
36158 pack_tmp = ishft(data_tmp, 40)
36159 pack_tmp = ishft(pack_tmp, -40)
36161 data_tmp = full_data(idata)
36162 data_tmp = ishft(data_tmp, 18)
36163 data_tmp = iand(data_tmp, mask_left(40))
36164 pack_tmp = ior(pack_tmp, data_tmp)
36166 packed_data(ipack) = pack_tmp
36167 data_tmp = full_data(idata)
36168 pack_tmp = ishft(data_tmp, 58)
36169 pack_tmp = ishft(pack_tmp, -46)
36171 data_tmp = full_data(idata)
36172 data_tmp = ishft(data_tmp, 18)
36173 pack_tmp = ior(pack_tmp, data_tmp)
36174 pack_tmp = ishft(pack_tmp, -12)
36176 data_tmp = full_data(idata)
36177 data_tmp = ishft(data_tmp, 18)
36178 data_tmp = iand(data_tmp, mask_left(12))
36179 pack_tmp = ior(pack_tmp, data_tmp)
36181 packed_data(ipack) = pack_tmp
36182 data_tmp = full_data(idata)
36183 pack_tmp = ishft(data_tmp, 30)
36184 pack_tmp = ishft(pack_tmp, -30)
36186 data_tmp = full_data(idata)
36187 data_tmp = ishft(data_tmp, 18)
36188 data_tmp = iand(data_tmp, mask_left(30))
36189 pack_tmp = ior(pack_tmp, data_tmp)
36191 packed_data(ipack) = pack_tmp
36192 data_tmp = full_data(idata)
36193 pack_tmp = ishft(data_tmp, 48)
36194 pack_tmp = ishft(pack_tmp, -46)
36196 data_tmp = full_data(idata)
36197 data_tmp = ishft(data_tmp, 18)
36198 pack_tmp = ior(pack_tmp, data_tmp)
36199 pack_tmp = ishft(pack_tmp, -2)
36201 data_tmp = full_data(idata)
36202 data_tmp = ishft(data_tmp, 18)
36203 data_tmp = iand(data_tmp, mask_left(2))
36204 pack_tmp = ior(pack_tmp, data_tmp)
36206 packed_data(ipack) = pack_tmp
36207 data_tmp = full_data(idata)
36208 pack_tmp = ishft(data_tmp, 20)
36209 pack_tmp = ishft(pack_tmp, -20)
36211 data_tmp = full_data(idata)
36212 data_tmp = ishft(data_tmp, 18)
36213 data_tmp = iand(data_tmp, mask_left(20))
36214 pack_tmp = ior(pack_tmp, data_tmp)
36216 packed_data(ipack) = pack_tmp
36217 data_tmp = full_data(idata)
36218 pack_tmp = ishft(data_tmp, 38)
36219 pack_tmp = ishft(pack_tmp, -38)
36221 data_tmp = full_data(idata)
36222 data_tmp = ishft(data_tmp, 18)
36223 data_tmp = iand(data_tmp, mask_left(38))
36224 pack_tmp = ior(pack_tmp, data_tmp)
36226 packed_data(ipack) = pack_tmp
36227 data_tmp = full_data(idata)
36228 pack_tmp = ishft(data_tmp, 56)
36229 pack_tmp = ishft(pack_tmp, -46)
36231 data_tmp = full_data(idata)
36232 data_tmp = ishft(data_tmp, 18)
36233 pack_tmp = ior(pack_tmp, data_tmp)
36234 pack_tmp = ishft(pack_tmp, -10)
36236 data_tmp = full_data(idata)
36237 data_tmp = ishft(data_tmp, 18)
36238 data_tmp = iand(data_tmp, mask_left(10))
36239 pack_tmp = ior(pack_tmp, data_tmp)
36241 packed_data(ipack) = pack_tmp
36242 data_tmp = full_data(idata)
36243 pack_tmp = ishft(data_tmp, 28)
36244 pack_tmp = ishft(pack_tmp, -28)
36246 data_tmp = full_data(idata)
36247 data_tmp = ishft(data_tmp, 18)
36248 data_tmp = iand(data_tmp, mask_left(28))
36249 pack_tmp = ior(pack_tmp, data_tmp)
36251 packed_data(ipack) = pack_tmp
36252 data_tmp = full_data(idata)
36253 pack_tmp = ishft(data_tmp, 46)
36254 pack_tmp = ishft(pack_tmp, -46)
36256 data_tmp = full_data(idata)
36257 data_tmp = ishft(data_tmp, 18)
36258 pack_tmp = ior(pack_tmp, data_tmp)
36259 pack_tmp = ishft(pack_tmp, 0)
36260 pack_tmp = ishft(pack_tmp, 0)
36262 packed_data(ipack) = pack_tmp
36264 IF (ndata_rep < ndata)
THEN
36265 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
36267 END SUBROUTINE ints2bits_46
36275 SUBROUTINE bits2ints_46(Ndata, packed_data, full_data)
36276 INTEGER,
INTENT(IN) :: Ndata
36277 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
36278 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
36280 INTEGER,
PARAMETER :: Nbits = 46
36282 INTEGER :: idata, ipack, kdata, Ndata_rep
36283 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
36288 ndata_rep = (ndata/64)*64
36289 DO kdata = 1, ndata_rep, 64
36291 data_tmp = ishft(pack_tmp, 46)
36293 pack_tmp = packed_data(ipack)
36294 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
36295 pack_tmp = ishft(pack_tmp, -46)
36297 data_tmp = ishft(pack_tmp, 28)
36299 pack_tmp = packed_data(ipack)
36300 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
36301 pack_tmp = ishft(pack_tmp, -28)
36303 data_tmp = ishft(pack_tmp, 10)
36305 pack_tmp = packed_data(ipack)
36306 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
36307 pack_tmp = ishft(pack_tmp, -10)
36309 data_tmp = iand(pack_tmp, mask_right(nbits))
36310 full_data(idata) = data_tmp
36311 pack_tmp = ishft(pack_tmp, -nbits)
36313 data_tmp = ishft(pack_tmp, 38)
36315 pack_tmp = packed_data(ipack)
36316 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
36317 pack_tmp = ishft(pack_tmp, -38)
36319 data_tmp = ishft(pack_tmp, 20)
36321 pack_tmp = packed_data(ipack)
36322 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
36323 pack_tmp = ishft(pack_tmp, -20)
36325 data_tmp = ishft(pack_tmp, 2)
36327 pack_tmp = packed_data(ipack)
36328 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
36329 pack_tmp = ishft(pack_tmp, -2)
36331 data_tmp = iand(pack_tmp, mask_right(nbits))
36332 full_data(idata) = data_tmp
36333 pack_tmp = ishft(pack_tmp, -nbits)
36335 data_tmp = ishft(pack_tmp, 30)
36337 pack_tmp = packed_data(ipack)
36338 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
36339 pack_tmp = ishft(pack_tmp, -30)
36341 data_tmp = ishft(pack_tmp, 12)
36343 pack_tmp = packed_data(ipack)
36344 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
36345 pack_tmp = ishft(pack_tmp, -12)
36347 data_tmp = iand(pack_tmp, mask_right(nbits))
36348 full_data(idata) = data_tmp
36349 pack_tmp = ishft(pack_tmp, -nbits)
36351 data_tmp = ishft(pack_tmp, 40)
36353 pack_tmp = packed_data(ipack)
36354 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
36355 pack_tmp = ishft(pack_tmp, -40)
36357 data_tmp = ishft(pack_tmp, 22)
36359 pack_tmp = packed_data(ipack)
36360 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
36361 pack_tmp = ishft(pack_tmp, -22)
36363 data_tmp = ishft(pack_tmp, 4)
36365 pack_tmp = packed_data(ipack)
36366 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
36367 pack_tmp = ishft(pack_tmp, -4)
36369 data_tmp = iand(pack_tmp, mask_right(nbits))
36370 full_data(idata) = data_tmp
36371 pack_tmp = ishft(pack_tmp, -nbits)
36373 data_tmp = ishft(pack_tmp, 32)
36375 pack_tmp = packed_data(ipack)
36376 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
36377 pack_tmp = ishft(pack_tmp, -32)
36379 data_tmp = ishft(pack_tmp, 14)
36381 pack_tmp = packed_data(ipack)
36382 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
36383 pack_tmp = ishft(pack_tmp, -14)
36385 data_tmp = iand(pack_tmp, mask_right(nbits))
36386 full_data(idata) = data_tmp
36387 pack_tmp = ishft(pack_tmp, -nbits)
36389 data_tmp = ishft(pack_tmp, 42)
36391 pack_tmp = packed_data(ipack)
36392 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
36393 pack_tmp = ishft(pack_tmp, -42)
36395 data_tmp = ishft(pack_tmp, 24)
36397 pack_tmp = packed_data(ipack)
36398 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
36399 pack_tmp = ishft(pack_tmp, -24)
36401 data_tmp = ishft(pack_tmp, 6)
36403 pack_tmp = packed_data(ipack)
36404 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
36405 pack_tmp = ishft(pack_tmp, -6)
36407 data_tmp = iand(pack_tmp, mask_right(nbits))
36408 full_data(idata) = data_tmp
36409 pack_tmp = ishft(pack_tmp, -nbits)
36411 data_tmp = ishft(pack_tmp, 34)
36413 pack_tmp = packed_data(ipack)
36414 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
36415 pack_tmp = ishft(pack_tmp, -34)
36417 data_tmp = ishft(pack_tmp, 16)
36419 pack_tmp = packed_data(ipack)
36420 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
36421 pack_tmp = ishft(pack_tmp, -16)
36423 data_tmp = iand(pack_tmp, mask_right(nbits))
36424 full_data(idata) = data_tmp
36425 pack_tmp = ishft(pack_tmp, -nbits)
36427 data_tmp = ishft(pack_tmp, 44)
36429 pack_tmp = packed_data(ipack)
36430 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
36431 pack_tmp = ishft(pack_tmp, -44)
36433 data_tmp = ishft(pack_tmp, 26)
36435 pack_tmp = packed_data(ipack)
36436 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
36437 pack_tmp = ishft(pack_tmp, -26)
36439 data_tmp = ishft(pack_tmp, 8)
36441 pack_tmp = packed_data(ipack)
36442 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
36443 pack_tmp = ishft(pack_tmp, -8)
36445 data_tmp = iand(pack_tmp, mask_right(nbits))
36446 full_data(idata) = data_tmp
36447 pack_tmp = ishft(pack_tmp, -nbits)
36449 data_tmp = ishft(pack_tmp, 36)
36451 pack_tmp = packed_data(ipack)
36452 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
36453 pack_tmp = ishft(pack_tmp, -36)
36455 data_tmp = ishft(pack_tmp, 18)
36457 pack_tmp = packed_data(ipack)
36458 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
36459 pack_tmp = ishft(pack_tmp, -18)
36461 data_tmp = iand(pack_tmp, mask_right(nbits))
36462 full_data(idata) = data_tmp
36463 pack_tmp = ishft(pack_tmp, -nbits)
36465 data_tmp = ishft(pack_tmp, 46)
36467 pack_tmp = packed_data(ipack)
36468 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
36469 pack_tmp = ishft(pack_tmp, -46)
36471 data_tmp = ishft(pack_tmp, 28)
36473 pack_tmp = packed_data(ipack)
36474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
36475 pack_tmp = ishft(pack_tmp, -28)
36477 data_tmp = ishft(pack_tmp, 10)
36479 pack_tmp = packed_data(ipack)
36480 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
36481 pack_tmp = ishft(pack_tmp, -10)
36483 data_tmp = iand(pack_tmp, mask_right(nbits))
36484 full_data(idata) = data_tmp
36485 pack_tmp = ishft(pack_tmp, -nbits)
36487 data_tmp = ishft(pack_tmp, 38)
36489 pack_tmp = packed_data(ipack)
36490 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
36491 pack_tmp = ishft(pack_tmp, -38)
36493 data_tmp = ishft(pack_tmp, 20)
36495 pack_tmp = packed_data(ipack)
36496 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
36497 pack_tmp = ishft(pack_tmp, -20)
36499 data_tmp = ishft(pack_tmp, 2)
36501 pack_tmp = packed_data(ipack)
36502 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
36503 pack_tmp = ishft(pack_tmp, -2)
36505 data_tmp = iand(pack_tmp, mask_right(nbits))
36506 full_data(idata) = data_tmp
36507 pack_tmp = ishft(pack_tmp, -nbits)
36509 data_tmp = ishft(pack_tmp, 30)
36511 pack_tmp = packed_data(ipack)
36512 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
36513 pack_tmp = ishft(pack_tmp, -30)
36515 data_tmp = ishft(pack_tmp, 12)
36517 pack_tmp = packed_data(ipack)
36518 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
36519 pack_tmp = ishft(pack_tmp, -12)
36521 data_tmp = iand(pack_tmp, mask_right(nbits))
36522 full_data(idata) = data_tmp
36523 pack_tmp = ishft(pack_tmp, -nbits)
36525 data_tmp = ishft(pack_tmp, 40)
36527 pack_tmp = packed_data(ipack)
36528 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
36529 pack_tmp = ishft(pack_tmp, -40)
36531 data_tmp = ishft(pack_tmp, 22)
36533 pack_tmp = packed_data(ipack)
36534 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
36535 pack_tmp = ishft(pack_tmp, -22)
36537 data_tmp = ishft(pack_tmp, 4)
36539 pack_tmp = packed_data(ipack)
36540 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
36541 pack_tmp = ishft(pack_tmp, -4)
36543 data_tmp = iand(pack_tmp, mask_right(nbits))
36544 full_data(idata) = data_tmp
36545 pack_tmp = ishft(pack_tmp, -nbits)
36547 data_tmp = ishft(pack_tmp, 32)
36549 pack_tmp = packed_data(ipack)
36550 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
36551 pack_tmp = ishft(pack_tmp, -32)
36553 data_tmp = ishft(pack_tmp, 14)
36555 pack_tmp = packed_data(ipack)
36556 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
36557 pack_tmp = ishft(pack_tmp, -14)
36559 data_tmp = iand(pack_tmp, mask_right(nbits))
36560 full_data(idata) = data_tmp
36561 pack_tmp = ishft(pack_tmp, -nbits)
36563 data_tmp = ishft(pack_tmp, 42)
36565 pack_tmp = packed_data(ipack)
36566 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
36567 pack_tmp = ishft(pack_tmp, -42)
36569 data_tmp = ishft(pack_tmp, 24)
36571 pack_tmp = packed_data(ipack)
36572 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
36573 pack_tmp = ishft(pack_tmp, -24)
36575 data_tmp = ishft(pack_tmp, 6)
36577 pack_tmp = packed_data(ipack)
36578 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
36579 pack_tmp = ishft(pack_tmp, -6)
36581 data_tmp = iand(pack_tmp, mask_right(nbits))
36582 full_data(idata) = data_tmp
36583 pack_tmp = ishft(pack_tmp, -nbits)
36585 data_tmp = ishft(pack_tmp, 34)
36587 pack_tmp = packed_data(ipack)
36588 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
36589 pack_tmp = ishft(pack_tmp, -34)
36591 data_tmp = ishft(pack_tmp, 16)
36593 pack_tmp = packed_data(ipack)
36594 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
36595 pack_tmp = ishft(pack_tmp, -16)
36597 data_tmp = iand(pack_tmp, mask_right(nbits))
36598 full_data(idata) = data_tmp
36599 pack_tmp = ishft(pack_tmp, -nbits)
36601 data_tmp = ishft(pack_tmp, 44)
36603 pack_tmp = packed_data(ipack)
36604 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
36605 pack_tmp = ishft(pack_tmp, -44)
36607 data_tmp = ishft(pack_tmp, 26)
36609 pack_tmp = packed_data(ipack)
36610 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
36611 pack_tmp = ishft(pack_tmp, -26)
36613 data_tmp = ishft(pack_tmp, 8)
36615 pack_tmp = packed_data(ipack)
36616 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
36617 pack_tmp = ishft(pack_tmp, -8)
36619 data_tmp = iand(pack_tmp, mask_right(nbits))
36620 full_data(idata) = data_tmp
36621 pack_tmp = ishft(pack_tmp, -nbits)
36623 data_tmp = ishft(pack_tmp, 36)
36625 pack_tmp = packed_data(ipack)
36626 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
36627 pack_tmp = ishft(pack_tmp, -36)
36629 data_tmp = ishft(pack_tmp, 18)
36631 pack_tmp = packed_data(ipack)
36632 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
36633 pack_tmp = ishft(pack_tmp, -18)
36635 data_tmp = iand(pack_tmp, mask_right(nbits))
36636 full_data(idata) = data_tmp
36637 pack_tmp = ishft(pack_tmp, -nbits)
36639 IF (ndata_rep < ndata)
THEN
36640 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
36642 END SUBROUTINE bits2ints_46
36650 SUBROUTINE ints2bits_47(Ndata, packed_data, full_data)
36651 INTEGER,
INTENT(IN) :: Ndata
36652 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
36653 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
36655 INTEGER,
PARAMETER :: Nbits = 47
36657 INTEGER :: idata, ipack, kdata, Ndata_rep
36658 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
36662 ndata_rep = (ndata/64)*64
36663 DO kdata = 1, ndata_rep, 64
36666 data_tmp = full_data(idata)
36667 data_tmp = ishft(data_tmp, 17)
36668 pack_tmp = ior(pack_tmp, data_tmp)
36669 pack_tmp = ishft(pack_tmp, -17)
36671 data_tmp = full_data(idata)
36672 data_tmp = ishft(data_tmp, 17)
36673 data_tmp = iand(data_tmp, mask_left(17))
36674 pack_tmp = ior(pack_tmp, data_tmp)
36676 packed_data(ipack) = pack_tmp
36677 data_tmp = full_data(idata)
36678 pack_tmp = ishft(data_tmp, 34)
36679 pack_tmp = ishft(pack_tmp, -34)
36681 data_tmp = full_data(idata)
36682 data_tmp = ishft(data_tmp, 17)
36683 data_tmp = iand(data_tmp, mask_left(34))
36684 pack_tmp = ior(pack_tmp, data_tmp)
36686 packed_data(ipack) = pack_tmp
36687 data_tmp = full_data(idata)
36688 pack_tmp = ishft(data_tmp, 51)
36689 pack_tmp = ishft(pack_tmp, -47)
36691 data_tmp = full_data(idata)
36692 data_tmp = ishft(data_tmp, 17)
36693 pack_tmp = ior(pack_tmp, data_tmp)
36694 pack_tmp = ishft(pack_tmp, -4)
36696 data_tmp = full_data(idata)
36697 data_tmp = ishft(data_tmp, 17)
36698 data_tmp = iand(data_tmp, mask_left(4))
36699 pack_tmp = ior(pack_tmp, data_tmp)
36701 packed_data(ipack) = pack_tmp
36702 data_tmp = full_data(idata)
36703 pack_tmp = ishft(data_tmp, 21)
36704 pack_tmp = ishft(pack_tmp, -21)
36706 data_tmp = full_data(idata)
36707 data_tmp = ishft(data_tmp, 17)
36708 data_tmp = iand(data_tmp, mask_left(21))
36709 pack_tmp = ior(pack_tmp, data_tmp)
36711 packed_data(ipack) = pack_tmp
36712 data_tmp = full_data(idata)
36713 pack_tmp = ishft(data_tmp, 38)
36714 pack_tmp = ishft(pack_tmp, -38)
36716 data_tmp = full_data(idata)
36717 data_tmp = ishft(data_tmp, 17)
36718 data_tmp = iand(data_tmp, mask_left(38))
36719 pack_tmp = ior(pack_tmp, data_tmp)
36721 packed_data(ipack) = pack_tmp
36722 data_tmp = full_data(idata)
36723 pack_tmp = ishft(data_tmp, 55)
36724 pack_tmp = ishft(pack_tmp, -47)
36726 data_tmp = full_data(idata)
36727 data_tmp = ishft(data_tmp, 17)
36728 pack_tmp = ior(pack_tmp, data_tmp)
36729 pack_tmp = ishft(pack_tmp, -8)
36731 data_tmp = full_data(idata)
36732 data_tmp = ishft(data_tmp, 17)
36733 data_tmp = iand(data_tmp, mask_left(8))
36734 pack_tmp = ior(pack_tmp, data_tmp)
36736 packed_data(ipack) = pack_tmp
36737 data_tmp = full_data(idata)
36738 pack_tmp = ishft(data_tmp, 25)
36739 pack_tmp = ishft(pack_tmp, -25)
36741 data_tmp = full_data(idata)
36742 data_tmp = ishft(data_tmp, 17)
36743 data_tmp = iand(data_tmp, mask_left(25))
36744 pack_tmp = ior(pack_tmp, data_tmp)
36746 packed_data(ipack) = pack_tmp
36747 data_tmp = full_data(idata)
36748 pack_tmp = ishft(data_tmp, 42)
36749 pack_tmp = ishft(pack_tmp, -42)
36751 data_tmp = full_data(idata)
36752 data_tmp = ishft(data_tmp, 17)
36753 data_tmp = iand(data_tmp, mask_left(42))
36754 pack_tmp = ior(pack_tmp, data_tmp)
36756 packed_data(ipack) = pack_tmp
36757 data_tmp = full_data(idata)
36758 pack_tmp = ishft(data_tmp, 59)
36759 pack_tmp = ishft(pack_tmp, -47)
36761 data_tmp = full_data(idata)
36762 data_tmp = ishft(data_tmp, 17)
36763 pack_tmp = ior(pack_tmp, data_tmp)
36764 pack_tmp = ishft(pack_tmp, -12)
36766 data_tmp = full_data(idata)
36767 data_tmp = ishft(data_tmp, 17)
36768 data_tmp = iand(data_tmp, mask_left(12))
36769 pack_tmp = ior(pack_tmp, data_tmp)
36771 packed_data(ipack) = pack_tmp
36772 data_tmp = full_data(idata)
36773 pack_tmp = ishft(data_tmp, 29)
36774 pack_tmp = ishft(pack_tmp, -29)
36776 data_tmp = full_data(idata)
36777 data_tmp = ishft(data_tmp, 17)
36778 data_tmp = iand(data_tmp, mask_left(29))
36779 pack_tmp = ior(pack_tmp, data_tmp)
36781 packed_data(ipack) = pack_tmp
36782 data_tmp = full_data(idata)
36783 pack_tmp = ishft(data_tmp, 46)
36784 pack_tmp = ishft(pack_tmp, -46)
36786 data_tmp = full_data(idata)
36787 data_tmp = ishft(data_tmp, 17)
36788 data_tmp = iand(data_tmp, mask_left(46))
36789 pack_tmp = ior(pack_tmp, data_tmp)
36791 packed_data(ipack) = pack_tmp
36792 data_tmp = full_data(idata)
36793 pack_tmp = ishft(data_tmp, 63)
36794 pack_tmp = ishft(pack_tmp, -47)
36796 data_tmp = full_data(idata)
36797 data_tmp = ishft(data_tmp, 17)
36798 pack_tmp = ior(pack_tmp, data_tmp)
36799 pack_tmp = ishft(pack_tmp, -16)
36801 data_tmp = full_data(idata)
36802 data_tmp = ishft(data_tmp, 17)
36803 data_tmp = iand(data_tmp, mask_left(16))
36804 pack_tmp = ior(pack_tmp, data_tmp)
36806 packed_data(ipack) = pack_tmp
36807 data_tmp = full_data(idata)
36808 pack_tmp = ishft(data_tmp, 33)
36809 pack_tmp = ishft(pack_tmp, -33)
36811 data_tmp = full_data(idata)
36812 data_tmp = ishft(data_tmp, 17)
36813 data_tmp = iand(data_tmp, mask_left(33))
36814 pack_tmp = ior(pack_tmp, data_tmp)
36816 packed_data(ipack) = pack_tmp
36817 data_tmp = full_data(idata)
36818 pack_tmp = ishft(data_tmp, 50)
36819 pack_tmp = ishft(pack_tmp, -47)
36821 data_tmp = full_data(idata)
36822 data_tmp = ishft(data_tmp, 17)
36823 pack_tmp = ior(pack_tmp, data_tmp)
36824 pack_tmp = ishft(pack_tmp, -3)
36826 data_tmp = full_data(idata)
36827 data_tmp = ishft(data_tmp, 17)
36828 data_tmp = iand(data_tmp, mask_left(3))
36829 pack_tmp = ior(pack_tmp, data_tmp)
36831 packed_data(ipack) = pack_tmp
36832 data_tmp = full_data(idata)
36833 pack_tmp = ishft(data_tmp, 20)
36834 pack_tmp = ishft(pack_tmp, -20)
36836 data_tmp = full_data(idata)
36837 data_tmp = ishft(data_tmp, 17)
36838 data_tmp = iand(data_tmp, mask_left(20))
36839 pack_tmp = ior(pack_tmp, data_tmp)
36841 packed_data(ipack) = pack_tmp
36842 data_tmp = full_data(idata)
36843 pack_tmp = ishft(data_tmp, 37)
36844 pack_tmp = ishft(pack_tmp, -37)
36846 data_tmp = full_data(idata)
36847 data_tmp = ishft(data_tmp, 17)
36848 data_tmp = iand(data_tmp, mask_left(37))
36849 pack_tmp = ior(pack_tmp, data_tmp)
36851 packed_data(ipack) = pack_tmp
36852 data_tmp = full_data(idata)
36853 pack_tmp = ishft(data_tmp, 54)
36854 pack_tmp = ishft(pack_tmp, -47)
36856 data_tmp = full_data(idata)
36857 data_tmp = ishft(data_tmp, 17)
36858 pack_tmp = ior(pack_tmp, data_tmp)
36859 pack_tmp = ishft(pack_tmp, -7)
36861 data_tmp = full_data(idata)
36862 data_tmp = ishft(data_tmp, 17)
36863 data_tmp = iand(data_tmp, mask_left(7))
36864 pack_tmp = ior(pack_tmp, data_tmp)
36866 packed_data(ipack) = pack_tmp
36867 data_tmp = full_data(idata)
36868 pack_tmp = ishft(data_tmp, 24)
36869 pack_tmp = ishft(pack_tmp, -24)
36871 data_tmp = full_data(idata)
36872 data_tmp = ishft(data_tmp, 17)
36873 data_tmp = iand(data_tmp, mask_left(24))
36874 pack_tmp = ior(pack_tmp, data_tmp)
36876 packed_data(ipack) = pack_tmp
36877 data_tmp = full_data(idata)
36878 pack_tmp = ishft(data_tmp, 41)
36879 pack_tmp = ishft(pack_tmp, -41)
36881 data_tmp = full_data(idata)
36882 data_tmp = ishft(data_tmp, 17)
36883 data_tmp = iand(data_tmp, mask_left(41))
36884 pack_tmp = ior(pack_tmp, data_tmp)
36886 packed_data(ipack) = pack_tmp
36887 data_tmp = full_data(idata)
36888 pack_tmp = ishft(data_tmp, 58)
36889 pack_tmp = ishft(pack_tmp, -47)
36891 data_tmp = full_data(idata)
36892 data_tmp = ishft(data_tmp, 17)
36893 pack_tmp = ior(pack_tmp, data_tmp)
36894 pack_tmp = ishft(pack_tmp, -11)
36896 data_tmp = full_data(idata)
36897 data_tmp = ishft(data_tmp, 17)
36898 data_tmp = iand(data_tmp, mask_left(11))
36899 pack_tmp = ior(pack_tmp, data_tmp)
36901 packed_data(ipack) = pack_tmp
36902 data_tmp = full_data(idata)
36903 pack_tmp = ishft(data_tmp, 28)
36904 pack_tmp = ishft(pack_tmp, -28)
36906 data_tmp = full_data(idata)
36907 data_tmp = ishft(data_tmp, 17)
36908 data_tmp = iand(data_tmp, mask_left(28))
36909 pack_tmp = ior(pack_tmp, data_tmp)
36911 packed_data(ipack) = pack_tmp
36912 data_tmp = full_data(idata)
36913 pack_tmp = ishft(data_tmp, 45)
36914 pack_tmp = ishft(pack_tmp, -45)
36916 data_tmp = full_data(idata)
36917 data_tmp = ishft(data_tmp, 17)
36918 data_tmp = iand(data_tmp, mask_left(45))
36919 pack_tmp = ior(pack_tmp, data_tmp)
36921 packed_data(ipack) = pack_tmp
36922 data_tmp = full_data(idata)
36923 pack_tmp = ishft(data_tmp, 62)
36924 pack_tmp = ishft(pack_tmp, -47)
36926 data_tmp = full_data(idata)
36927 data_tmp = ishft(data_tmp, 17)
36928 pack_tmp = ior(pack_tmp, data_tmp)
36929 pack_tmp = ishft(pack_tmp, -15)
36931 data_tmp = full_data(idata)
36932 data_tmp = ishft(data_tmp, 17)
36933 data_tmp = iand(data_tmp, mask_left(15))
36934 pack_tmp = ior(pack_tmp, data_tmp)
36936 packed_data(ipack) = pack_tmp
36937 data_tmp = full_data(idata)
36938 pack_tmp = ishft(data_tmp, 32)
36939 pack_tmp = ishft(pack_tmp, -32)
36941 data_tmp = full_data(idata)
36942 data_tmp = ishft(data_tmp, 17)
36943 data_tmp = iand(data_tmp, mask_left(32))
36944 pack_tmp = ior(pack_tmp, data_tmp)
36946 packed_data(ipack) = pack_tmp
36947 data_tmp = full_data(idata)
36948 pack_tmp = ishft(data_tmp, 49)
36949 pack_tmp = ishft(pack_tmp, -47)
36951 data_tmp = full_data(idata)
36952 data_tmp = ishft(data_tmp, 17)
36953 pack_tmp = ior(pack_tmp, data_tmp)
36954 pack_tmp = ishft(pack_tmp, -2)
36956 data_tmp = full_data(idata)
36957 data_tmp = ishft(data_tmp, 17)
36958 data_tmp = iand(data_tmp, mask_left(2))
36959 pack_tmp = ior(pack_tmp, data_tmp)
36961 packed_data(ipack) = pack_tmp
36962 data_tmp = full_data(idata)
36963 pack_tmp = ishft(data_tmp, 19)
36964 pack_tmp = ishft(pack_tmp, -19)
36966 data_tmp = full_data(idata)
36967 data_tmp = ishft(data_tmp, 17)
36968 data_tmp = iand(data_tmp, mask_left(19))
36969 pack_tmp = ior(pack_tmp, data_tmp)
36971 packed_data(ipack) = pack_tmp
36972 data_tmp = full_data(idata)
36973 pack_tmp = ishft(data_tmp, 36)
36974 pack_tmp = ishft(pack_tmp, -36)
36976 data_tmp = full_data(idata)
36977 data_tmp = ishft(data_tmp, 17)
36978 data_tmp = iand(data_tmp, mask_left(36))
36979 pack_tmp = ior(pack_tmp, data_tmp)
36981 packed_data(ipack) = pack_tmp
36982 data_tmp = full_data(idata)
36983 pack_tmp = ishft(data_tmp, 53)
36984 pack_tmp = ishft(pack_tmp, -47)
36986 data_tmp = full_data(idata)
36987 data_tmp = ishft(data_tmp, 17)
36988 pack_tmp = ior(pack_tmp, data_tmp)
36989 pack_tmp = ishft(pack_tmp, -6)
36991 data_tmp = full_data(idata)
36992 data_tmp = ishft(data_tmp, 17)
36993 data_tmp = iand(data_tmp, mask_left(6))
36994 pack_tmp = ior(pack_tmp, data_tmp)
36996 packed_data(ipack) = pack_tmp
36997 data_tmp = full_data(idata)
36998 pack_tmp = ishft(data_tmp, 23)
36999 pack_tmp = ishft(pack_tmp, -23)
37001 data_tmp = full_data(idata)
37002 data_tmp = ishft(data_tmp, 17)
37003 data_tmp = iand(data_tmp, mask_left(23))
37004 pack_tmp = ior(pack_tmp, data_tmp)
37006 packed_data(ipack) = pack_tmp
37007 data_tmp = full_data(idata)
37008 pack_tmp = ishft(data_tmp, 40)
37009 pack_tmp = ishft(pack_tmp, -40)
37011 data_tmp = full_data(idata)
37012 data_tmp = ishft(data_tmp, 17)
37013 data_tmp = iand(data_tmp, mask_left(40))
37014 pack_tmp = ior(pack_tmp, data_tmp)
37016 packed_data(ipack) = pack_tmp
37017 data_tmp = full_data(idata)
37018 pack_tmp = ishft(data_tmp, 57)
37019 pack_tmp = ishft(pack_tmp, -47)
37021 data_tmp = full_data(idata)
37022 data_tmp = ishft(data_tmp, 17)
37023 pack_tmp = ior(pack_tmp, data_tmp)
37024 pack_tmp = ishft(pack_tmp, -10)
37026 data_tmp = full_data(idata)
37027 data_tmp = ishft(data_tmp, 17)
37028 data_tmp = iand(data_tmp, mask_left(10))
37029 pack_tmp = ior(pack_tmp, data_tmp)
37031 packed_data(ipack) = pack_tmp
37032 data_tmp = full_data(idata)
37033 pack_tmp = ishft(data_tmp, 27)
37034 pack_tmp = ishft(pack_tmp, -27)
37036 data_tmp = full_data(idata)
37037 data_tmp = ishft(data_tmp, 17)
37038 data_tmp = iand(data_tmp, mask_left(27))
37039 pack_tmp = ior(pack_tmp, data_tmp)
37041 packed_data(ipack) = pack_tmp
37042 data_tmp = full_data(idata)
37043 pack_tmp = ishft(data_tmp, 44)
37044 pack_tmp = ishft(pack_tmp, -44)
37046 data_tmp = full_data(idata)
37047 data_tmp = ishft(data_tmp, 17)
37048 data_tmp = iand(data_tmp, mask_left(44))
37049 pack_tmp = ior(pack_tmp, data_tmp)
37051 packed_data(ipack) = pack_tmp
37052 data_tmp = full_data(idata)
37053 pack_tmp = ishft(data_tmp, 61)
37054 pack_tmp = ishft(pack_tmp, -47)
37056 data_tmp = full_data(idata)
37057 data_tmp = ishft(data_tmp, 17)
37058 pack_tmp = ior(pack_tmp, data_tmp)
37059 pack_tmp = ishft(pack_tmp, -14)
37061 data_tmp = full_data(idata)
37062 data_tmp = ishft(data_tmp, 17)
37063 data_tmp = iand(data_tmp, mask_left(14))
37064 pack_tmp = ior(pack_tmp, data_tmp)
37066 packed_data(ipack) = pack_tmp
37067 data_tmp = full_data(idata)
37068 pack_tmp = ishft(data_tmp, 31)
37069 pack_tmp = ishft(pack_tmp, -31)
37071 data_tmp = full_data(idata)
37072 data_tmp = ishft(data_tmp, 17)
37073 data_tmp = iand(data_tmp, mask_left(31))
37074 pack_tmp = ior(pack_tmp, data_tmp)
37076 packed_data(ipack) = pack_tmp
37077 data_tmp = full_data(idata)
37078 pack_tmp = ishft(data_tmp, 48)
37079 pack_tmp = ishft(pack_tmp, -47)
37081 data_tmp = full_data(idata)
37082 data_tmp = ishft(data_tmp, 17)
37083 pack_tmp = ior(pack_tmp, data_tmp)
37084 pack_tmp = ishft(pack_tmp, -1)
37086 data_tmp = full_data(idata)
37087 data_tmp = ishft(data_tmp, 17)
37088 data_tmp = iand(data_tmp, mask_left(1))
37089 pack_tmp = ior(pack_tmp, data_tmp)
37091 packed_data(ipack) = pack_tmp
37092 data_tmp = full_data(idata)
37093 pack_tmp = ishft(data_tmp, 18)
37094 pack_tmp = ishft(pack_tmp, -18)
37096 data_tmp = full_data(idata)
37097 data_tmp = ishft(data_tmp, 17)
37098 data_tmp = iand(data_tmp, mask_left(18))
37099 pack_tmp = ior(pack_tmp, data_tmp)
37101 packed_data(ipack) = pack_tmp
37102 data_tmp = full_data(idata)
37103 pack_tmp = ishft(data_tmp, 35)
37104 pack_tmp = ishft(pack_tmp, -35)
37106 data_tmp = full_data(idata)
37107 data_tmp = ishft(data_tmp, 17)
37108 data_tmp = iand(data_tmp, mask_left(35))
37109 pack_tmp = ior(pack_tmp, data_tmp)
37111 packed_data(ipack) = pack_tmp
37112 data_tmp = full_data(idata)
37113 pack_tmp = ishft(data_tmp, 52)
37114 pack_tmp = ishft(pack_tmp, -47)
37116 data_tmp = full_data(idata)
37117 data_tmp = ishft(data_tmp, 17)
37118 pack_tmp = ior(pack_tmp, data_tmp)
37119 pack_tmp = ishft(pack_tmp, -5)
37121 data_tmp = full_data(idata)
37122 data_tmp = ishft(data_tmp, 17)
37123 data_tmp = iand(data_tmp, mask_left(5))
37124 pack_tmp = ior(pack_tmp, data_tmp)
37126 packed_data(ipack) = pack_tmp
37127 data_tmp = full_data(idata)
37128 pack_tmp = ishft(data_tmp, 22)
37129 pack_tmp = ishft(pack_tmp, -22)
37131 data_tmp = full_data(idata)
37132 data_tmp = ishft(data_tmp, 17)
37133 data_tmp = iand(data_tmp, mask_left(22))
37134 pack_tmp = ior(pack_tmp, data_tmp)
37136 packed_data(ipack) = pack_tmp
37137 data_tmp = full_data(idata)
37138 pack_tmp = ishft(data_tmp, 39)
37139 pack_tmp = ishft(pack_tmp, -39)
37141 data_tmp = full_data(idata)
37142 data_tmp = ishft(data_tmp, 17)
37143 data_tmp = iand(data_tmp, mask_left(39))
37144 pack_tmp = ior(pack_tmp, data_tmp)
37146 packed_data(ipack) = pack_tmp
37147 data_tmp = full_data(idata)
37148 pack_tmp = ishft(data_tmp, 56)
37149 pack_tmp = ishft(pack_tmp, -47)
37151 data_tmp = full_data(idata)
37152 data_tmp = ishft(data_tmp, 17)
37153 pack_tmp = ior(pack_tmp, data_tmp)
37154 pack_tmp = ishft(pack_tmp, -9)
37156 data_tmp = full_data(idata)
37157 data_tmp = ishft(data_tmp, 17)
37158 data_tmp = iand(data_tmp, mask_left(9))
37159 pack_tmp = ior(pack_tmp, data_tmp)
37161 packed_data(ipack) = pack_tmp
37162 data_tmp = full_data(idata)
37163 pack_tmp = ishft(data_tmp, 26)
37164 pack_tmp = ishft(pack_tmp, -26)
37166 data_tmp = full_data(idata)
37167 data_tmp = ishft(data_tmp, 17)
37168 data_tmp = iand(data_tmp, mask_left(26))
37169 pack_tmp = ior(pack_tmp, data_tmp)
37171 packed_data(ipack) = pack_tmp
37172 data_tmp = full_data(idata)
37173 pack_tmp = ishft(data_tmp, 43)
37174 pack_tmp = ishft(pack_tmp, -43)
37176 data_tmp = full_data(idata)
37177 data_tmp = ishft(data_tmp, 17)
37178 data_tmp = iand(data_tmp, mask_left(43))
37179 pack_tmp = ior(pack_tmp, data_tmp)
37181 packed_data(ipack) = pack_tmp
37182 data_tmp = full_data(idata)
37183 pack_tmp = ishft(data_tmp, 60)
37184 pack_tmp = ishft(pack_tmp, -47)
37186 data_tmp = full_data(idata)
37187 data_tmp = ishft(data_tmp, 17)
37188 pack_tmp = ior(pack_tmp, data_tmp)
37189 pack_tmp = ishft(pack_tmp, -13)
37191 data_tmp = full_data(idata)
37192 data_tmp = ishft(data_tmp, 17)
37193 data_tmp = iand(data_tmp, mask_left(13))
37194 pack_tmp = ior(pack_tmp, data_tmp)
37196 packed_data(ipack) = pack_tmp
37197 data_tmp = full_data(idata)
37198 pack_tmp = ishft(data_tmp, 30)
37199 pack_tmp = ishft(pack_tmp, -30)
37201 data_tmp = full_data(idata)
37202 data_tmp = ishft(data_tmp, 17)
37203 data_tmp = iand(data_tmp, mask_left(30))
37204 pack_tmp = ior(pack_tmp, data_tmp)
37206 packed_data(ipack) = pack_tmp
37207 data_tmp = full_data(idata)
37208 pack_tmp = ishft(data_tmp, 47)
37209 pack_tmp = ishft(pack_tmp, -47)
37211 data_tmp = full_data(idata)
37212 data_tmp = ishft(data_tmp, 17)
37213 pack_tmp = ior(pack_tmp, data_tmp)
37214 pack_tmp = ishft(pack_tmp, 0)
37215 pack_tmp = ishft(pack_tmp, 0)
37217 packed_data(ipack) = pack_tmp
37219 IF (ndata_rep < ndata)
THEN
37220 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
37222 END SUBROUTINE ints2bits_47
37230 SUBROUTINE bits2ints_47(Ndata, packed_data, full_data)
37231 INTEGER,
INTENT(IN) :: Ndata
37232 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
37233 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
37235 INTEGER,
PARAMETER :: Nbits = 47
37237 INTEGER :: idata, ipack, kdata, Ndata_rep
37238 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
37243 ndata_rep = (ndata/64)*64
37244 DO kdata = 1, ndata_rep, 64
37246 data_tmp = ishft(pack_tmp, 47)
37248 pack_tmp = packed_data(ipack)
37249 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
37250 pack_tmp = ishft(pack_tmp, -47)
37252 data_tmp = ishft(pack_tmp, 30)
37254 pack_tmp = packed_data(ipack)
37255 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
37256 pack_tmp = ishft(pack_tmp, -30)
37258 data_tmp = ishft(pack_tmp, 13)
37260 pack_tmp = packed_data(ipack)
37261 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
37262 pack_tmp = ishft(pack_tmp, -13)
37264 data_tmp = iand(pack_tmp, mask_right(nbits))
37265 full_data(idata) = data_tmp
37266 pack_tmp = ishft(pack_tmp, -nbits)
37268 data_tmp = ishft(pack_tmp, 43)
37270 pack_tmp = packed_data(ipack)
37271 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
37272 pack_tmp = ishft(pack_tmp, -43)
37274 data_tmp = ishft(pack_tmp, 26)
37276 pack_tmp = packed_data(ipack)
37277 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
37278 pack_tmp = ishft(pack_tmp, -26)
37280 data_tmp = ishft(pack_tmp, 9)
37282 pack_tmp = packed_data(ipack)
37283 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
37284 pack_tmp = ishft(pack_tmp, -9)
37286 data_tmp = iand(pack_tmp, mask_right(nbits))
37287 full_data(idata) = data_tmp
37288 pack_tmp = ishft(pack_tmp, -nbits)
37290 data_tmp = ishft(pack_tmp, 39)
37292 pack_tmp = packed_data(ipack)
37293 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
37294 pack_tmp = ishft(pack_tmp, -39)
37296 data_tmp = ishft(pack_tmp, 22)
37298 pack_tmp = packed_data(ipack)
37299 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
37300 pack_tmp = ishft(pack_tmp, -22)
37302 data_tmp = ishft(pack_tmp, 5)
37304 pack_tmp = packed_data(ipack)
37305 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
37306 pack_tmp = ishft(pack_tmp, -5)
37308 data_tmp = iand(pack_tmp, mask_right(nbits))
37309 full_data(idata) = data_tmp
37310 pack_tmp = ishft(pack_tmp, -nbits)
37312 data_tmp = ishft(pack_tmp, 35)
37314 pack_tmp = packed_data(ipack)
37315 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
37316 pack_tmp = ishft(pack_tmp, -35)
37318 data_tmp = ishft(pack_tmp, 18)
37320 pack_tmp = packed_data(ipack)
37321 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
37322 pack_tmp = ishft(pack_tmp, -18)
37324 data_tmp = ishft(pack_tmp, 1)
37326 pack_tmp = packed_data(ipack)
37327 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
37328 pack_tmp = ishft(pack_tmp, -1)
37330 data_tmp = iand(pack_tmp, mask_right(nbits))
37331 full_data(idata) = data_tmp
37332 pack_tmp = ishft(pack_tmp, -nbits)
37334 data_tmp = ishft(pack_tmp, 31)
37336 pack_tmp = packed_data(ipack)
37337 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
37338 pack_tmp = ishft(pack_tmp, -31)
37340 data_tmp = ishft(pack_tmp, 14)
37342 pack_tmp = packed_data(ipack)
37343 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
37344 pack_tmp = ishft(pack_tmp, -14)
37346 data_tmp = iand(pack_tmp, mask_right(nbits))
37347 full_data(idata) = data_tmp
37348 pack_tmp = ishft(pack_tmp, -nbits)
37350 data_tmp = ishft(pack_tmp, 44)
37352 pack_tmp = packed_data(ipack)
37353 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
37354 pack_tmp = ishft(pack_tmp, -44)
37356 data_tmp = ishft(pack_tmp, 27)
37358 pack_tmp = packed_data(ipack)
37359 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
37360 pack_tmp = ishft(pack_tmp, -27)
37362 data_tmp = ishft(pack_tmp, 10)
37364 pack_tmp = packed_data(ipack)
37365 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
37366 pack_tmp = ishft(pack_tmp, -10)
37368 data_tmp = iand(pack_tmp, mask_right(nbits))
37369 full_data(idata) = data_tmp
37370 pack_tmp = ishft(pack_tmp, -nbits)
37372 data_tmp = ishft(pack_tmp, 40)
37374 pack_tmp = packed_data(ipack)
37375 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
37376 pack_tmp = ishft(pack_tmp, -40)
37378 data_tmp = ishft(pack_tmp, 23)
37380 pack_tmp = packed_data(ipack)
37381 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
37382 pack_tmp = ishft(pack_tmp, -23)
37384 data_tmp = ishft(pack_tmp, 6)
37386 pack_tmp = packed_data(ipack)
37387 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
37388 pack_tmp = ishft(pack_tmp, -6)
37390 data_tmp = iand(pack_tmp, mask_right(nbits))
37391 full_data(idata) = data_tmp
37392 pack_tmp = ishft(pack_tmp, -nbits)
37394 data_tmp = ishft(pack_tmp, 36)
37396 pack_tmp = packed_data(ipack)
37397 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
37398 pack_tmp = ishft(pack_tmp, -36)
37400 data_tmp = ishft(pack_tmp, 19)
37402 pack_tmp = packed_data(ipack)
37403 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
37404 pack_tmp = ishft(pack_tmp, -19)
37406 data_tmp = ishft(pack_tmp, 2)
37408 pack_tmp = packed_data(ipack)
37409 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
37410 pack_tmp = ishft(pack_tmp, -2)
37412 data_tmp = iand(pack_tmp, mask_right(nbits))
37413 full_data(idata) = data_tmp
37414 pack_tmp = ishft(pack_tmp, -nbits)
37416 data_tmp = ishft(pack_tmp, 32)
37418 pack_tmp = packed_data(ipack)
37419 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
37420 pack_tmp = ishft(pack_tmp, -32)
37422 data_tmp = ishft(pack_tmp, 15)
37424 pack_tmp = packed_data(ipack)
37425 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
37426 pack_tmp = ishft(pack_tmp, -15)
37428 data_tmp = iand(pack_tmp, mask_right(nbits))
37429 full_data(idata) = data_tmp
37430 pack_tmp = ishft(pack_tmp, -nbits)
37432 data_tmp = ishft(pack_tmp, 45)
37434 pack_tmp = packed_data(ipack)
37435 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
37436 pack_tmp = ishft(pack_tmp, -45)
37438 data_tmp = ishft(pack_tmp, 28)
37440 pack_tmp = packed_data(ipack)
37441 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
37442 pack_tmp = ishft(pack_tmp, -28)
37444 data_tmp = ishft(pack_tmp, 11)
37446 pack_tmp = packed_data(ipack)
37447 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
37448 pack_tmp = ishft(pack_tmp, -11)
37450 data_tmp = iand(pack_tmp, mask_right(nbits))
37451 full_data(idata) = data_tmp
37452 pack_tmp = ishft(pack_tmp, -nbits)
37454 data_tmp = ishft(pack_tmp, 41)
37456 pack_tmp = packed_data(ipack)
37457 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
37458 pack_tmp = ishft(pack_tmp, -41)
37460 data_tmp = ishft(pack_tmp, 24)
37462 pack_tmp = packed_data(ipack)
37463 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
37464 pack_tmp = ishft(pack_tmp, -24)
37466 data_tmp = ishft(pack_tmp, 7)
37468 pack_tmp = packed_data(ipack)
37469 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
37470 pack_tmp = ishft(pack_tmp, -7)
37472 data_tmp = iand(pack_tmp, mask_right(nbits))
37473 full_data(idata) = data_tmp
37474 pack_tmp = ishft(pack_tmp, -nbits)
37476 data_tmp = ishft(pack_tmp, 37)
37478 pack_tmp = packed_data(ipack)
37479 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
37480 pack_tmp = ishft(pack_tmp, -37)
37482 data_tmp = ishft(pack_tmp, 20)
37484 pack_tmp = packed_data(ipack)
37485 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
37486 pack_tmp = ishft(pack_tmp, -20)
37488 data_tmp = ishft(pack_tmp, 3)
37490 pack_tmp = packed_data(ipack)
37491 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
37492 pack_tmp = ishft(pack_tmp, -3)
37494 data_tmp = iand(pack_tmp, mask_right(nbits))
37495 full_data(idata) = data_tmp
37496 pack_tmp = ishft(pack_tmp, -nbits)
37498 data_tmp = ishft(pack_tmp, 33)
37500 pack_tmp = packed_data(ipack)
37501 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
37502 pack_tmp = ishft(pack_tmp, -33)
37504 data_tmp = ishft(pack_tmp, 16)
37506 pack_tmp = packed_data(ipack)
37507 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
37508 pack_tmp = ishft(pack_tmp, -16)
37510 data_tmp = iand(pack_tmp, mask_right(nbits))
37511 full_data(idata) = data_tmp
37512 pack_tmp = ishft(pack_tmp, -nbits)
37514 data_tmp = ishft(pack_tmp, 46)
37516 pack_tmp = packed_data(ipack)
37517 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
37518 pack_tmp = ishft(pack_tmp, -46)
37520 data_tmp = ishft(pack_tmp, 29)
37522 pack_tmp = packed_data(ipack)
37523 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
37524 pack_tmp = ishft(pack_tmp, -29)
37526 data_tmp = ishft(pack_tmp, 12)
37528 pack_tmp = packed_data(ipack)
37529 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
37530 pack_tmp = ishft(pack_tmp, -12)
37532 data_tmp = iand(pack_tmp, mask_right(nbits))
37533 full_data(idata) = data_tmp
37534 pack_tmp = ishft(pack_tmp, -nbits)
37536 data_tmp = ishft(pack_tmp, 42)
37538 pack_tmp = packed_data(ipack)
37539 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
37540 pack_tmp = ishft(pack_tmp, -42)
37542 data_tmp = ishft(pack_tmp, 25)
37544 pack_tmp = packed_data(ipack)
37545 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
37546 pack_tmp = ishft(pack_tmp, -25)
37548 data_tmp = ishft(pack_tmp, 8)
37550 pack_tmp = packed_data(ipack)
37551 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
37552 pack_tmp = ishft(pack_tmp, -8)
37554 data_tmp = iand(pack_tmp, mask_right(nbits))
37555 full_data(idata) = data_tmp
37556 pack_tmp = ishft(pack_tmp, -nbits)
37558 data_tmp = ishft(pack_tmp, 38)
37560 pack_tmp = packed_data(ipack)
37561 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
37562 pack_tmp = ishft(pack_tmp, -38)
37564 data_tmp = ishft(pack_tmp, 21)
37566 pack_tmp = packed_data(ipack)
37567 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
37568 pack_tmp = ishft(pack_tmp, -21)
37570 data_tmp = ishft(pack_tmp, 4)
37572 pack_tmp = packed_data(ipack)
37573 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
37574 pack_tmp = ishft(pack_tmp, -4)
37576 data_tmp = iand(pack_tmp, mask_right(nbits))
37577 full_data(idata) = data_tmp
37578 pack_tmp = ishft(pack_tmp, -nbits)
37580 data_tmp = ishft(pack_tmp, 34)
37582 pack_tmp = packed_data(ipack)
37583 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
37584 pack_tmp = ishft(pack_tmp, -34)
37586 data_tmp = ishft(pack_tmp, 17)
37588 pack_tmp = packed_data(ipack)
37589 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
37590 pack_tmp = ishft(pack_tmp, -17)
37592 data_tmp = iand(pack_tmp, mask_right(nbits))
37593 full_data(idata) = data_tmp
37594 pack_tmp = ishft(pack_tmp, -nbits)
37596 IF (ndata_rep < ndata)
THEN
37597 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
37599 END SUBROUTINE bits2ints_47
37607 SUBROUTINE ints2bits_48(Ndata, packed_data, full_data)
37608 INTEGER,
INTENT(IN) :: Ndata
37609 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
37610 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
37612 INTEGER,
PARAMETER :: Nbits = 48
37614 INTEGER :: idata, ipack, kdata, Ndata_rep
37615 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
37619 ndata_rep = (ndata/64)*64
37620 DO kdata = 1, ndata_rep, 64
37623 data_tmp = full_data(idata)
37624 data_tmp = ishft(data_tmp, 16)
37625 pack_tmp = ior(pack_tmp, data_tmp)
37626 pack_tmp = ishft(pack_tmp, -16)
37628 data_tmp = full_data(idata)
37629 data_tmp = ishft(data_tmp, 16)
37630 data_tmp = iand(data_tmp, mask_left(16))
37631 pack_tmp = ior(pack_tmp, data_tmp)
37633 packed_data(ipack) = pack_tmp
37634 data_tmp = full_data(idata)
37635 pack_tmp = ishft(data_tmp, 32)
37636 pack_tmp = ishft(pack_tmp, -32)
37638 data_tmp = full_data(idata)
37639 data_tmp = ishft(data_tmp, 16)
37640 data_tmp = iand(data_tmp, mask_left(32))
37641 pack_tmp = ior(pack_tmp, data_tmp)
37643 packed_data(ipack) = pack_tmp
37644 data_tmp = full_data(idata)
37645 pack_tmp = ishft(data_tmp, 48)
37646 pack_tmp = ishft(pack_tmp, -48)
37648 data_tmp = full_data(idata)
37649 data_tmp = ishft(data_tmp, 16)
37650 pack_tmp = ior(pack_tmp, data_tmp)
37651 pack_tmp = ishft(pack_tmp, 0)
37653 data_tmp = full_data(idata)
37654 data_tmp = ishft(data_tmp, 16)
37655 data_tmp = iand(data_tmp, mask_left(0))
37656 pack_tmp = ior(pack_tmp, data_tmp)
37658 packed_data(ipack) = pack_tmp
37659 data_tmp = full_data(idata)
37660 pack_tmp = ishft(data_tmp, 16)
37661 pack_tmp = ishft(pack_tmp, -16)
37663 data_tmp = full_data(idata)
37664 data_tmp = ishft(data_tmp, 16)
37665 data_tmp = iand(data_tmp, mask_left(16))
37666 pack_tmp = ior(pack_tmp, data_tmp)
37668 packed_data(ipack) = pack_tmp
37669 data_tmp = full_data(idata)
37670 pack_tmp = ishft(data_tmp, 32)
37671 pack_tmp = ishft(pack_tmp, -32)
37673 data_tmp = full_data(idata)
37674 data_tmp = ishft(data_tmp, 16)
37675 data_tmp = iand(data_tmp, mask_left(32))
37676 pack_tmp = ior(pack_tmp, data_tmp)
37678 packed_data(ipack) = pack_tmp
37679 data_tmp = full_data(idata)
37680 pack_tmp = ishft(data_tmp, 48)
37681 pack_tmp = ishft(pack_tmp, -48)
37683 data_tmp = full_data(idata)
37684 data_tmp = ishft(data_tmp, 16)
37685 pack_tmp = ior(pack_tmp, data_tmp)
37686 pack_tmp = ishft(pack_tmp, 0)
37688 data_tmp = full_data(idata)
37689 data_tmp = ishft(data_tmp, 16)
37690 data_tmp = iand(data_tmp, mask_left(0))
37691 pack_tmp = ior(pack_tmp, data_tmp)
37693 packed_data(ipack) = pack_tmp
37694 data_tmp = full_data(idata)
37695 pack_tmp = ishft(data_tmp, 16)
37696 pack_tmp = ishft(pack_tmp, -16)
37698 data_tmp = full_data(idata)
37699 data_tmp = ishft(data_tmp, 16)
37700 data_tmp = iand(data_tmp, mask_left(16))
37701 pack_tmp = ior(pack_tmp, data_tmp)
37703 packed_data(ipack) = pack_tmp
37704 data_tmp = full_data(idata)
37705 pack_tmp = ishft(data_tmp, 32)
37706 pack_tmp = ishft(pack_tmp, -32)
37708 data_tmp = full_data(idata)
37709 data_tmp = ishft(data_tmp, 16)
37710 data_tmp = iand(data_tmp, mask_left(32))
37711 pack_tmp = ior(pack_tmp, data_tmp)
37713 packed_data(ipack) = pack_tmp
37714 data_tmp = full_data(idata)
37715 pack_tmp = ishft(data_tmp, 48)
37716 pack_tmp = ishft(pack_tmp, -48)
37718 data_tmp = full_data(idata)
37719 data_tmp = ishft(data_tmp, 16)
37720 pack_tmp = ior(pack_tmp, data_tmp)
37721 pack_tmp = ishft(pack_tmp, 0)
37723 data_tmp = full_data(idata)
37724 data_tmp = ishft(data_tmp, 16)
37725 data_tmp = iand(data_tmp, mask_left(0))
37726 pack_tmp = ior(pack_tmp, data_tmp)
37728 packed_data(ipack) = pack_tmp
37729 data_tmp = full_data(idata)
37730 pack_tmp = ishft(data_tmp, 16)
37731 pack_tmp = ishft(pack_tmp, -16)
37733 data_tmp = full_data(idata)
37734 data_tmp = ishft(data_tmp, 16)
37735 data_tmp = iand(data_tmp, mask_left(16))
37736 pack_tmp = ior(pack_tmp, data_tmp)
37738 packed_data(ipack) = pack_tmp
37739 data_tmp = full_data(idata)
37740 pack_tmp = ishft(data_tmp, 32)
37741 pack_tmp = ishft(pack_tmp, -32)
37743 data_tmp = full_data(idata)
37744 data_tmp = ishft(data_tmp, 16)
37745 data_tmp = iand(data_tmp, mask_left(32))
37746 pack_tmp = ior(pack_tmp, data_tmp)
37748 packed_data(ipack) = pack_tmp
37749 data_tmp = full_data(idata)
37750 pack_tmp = ishft(data_tmp, 48)
37751 pack_tmp = ishft(pack_tmp, -48)
37753 data_tmp = full_data(idata)
37754 data_tmp = ishft(data_tmp, 16)
37755 pack_tmp = ior(pack_tmp, data_tmp)
37756 pack_tmp = ishft(pack_tmp, 0)
37758 data_tmp = full_data(idata)
37759 data_tmp = ishft(data_tmp, 16)
37760 data_tmp = iand(data_tmp, mask_left(0))
37761 pack_tmp = ior(pack_tmp, data_tmp)
37763 packed_data(ipack) = pack_tmp
37764 data_tmp = full_data(idata)
37765 pack_tmp = ishft(data_tmp, 16)
37766 pack_tmp = ishft(pack_tmp, -16)
37768 data_tmp = full_data(idata)
37769 data_tmp = ishft(data_tmp, 16)
37770 data_tmp = iand(data_tmp, mask_left(16))
37771 pack_tmp = ior(pack_tmp, data_tmp)
37773 packed_data(ipack) = pack_tmp
37774 data_tmp = full_data(idata)
37775 pack_tmp = ishft(data_tmp, 32)
37776 pack_tmp = ishft(pack_tmp, -32)
37778 data_tmp = full_data(idata)
37779 data_tmp = ishft(data_tmp, 16)
37780 data_tmp = iand(data_tmp, mask_left(32))
37781 pack_tmp = ior(pack_tmp, data_tmp)
37783 packed_data(ipack) = pack_tmp
37784 data_tmp = full_data(idata)
37785 pack_tmp = ishft(data_tmp, 48)
37786 pack_tmp = ishft(pack_tmp, -48)
37788 data_tmp = full_data(idata)
37789 data_tmp = ishft(data_tmp, 16)
37790 pack_tmp = ior(pack_tmp, data_tmp)
37791 pack_tmp = ishft(pack_tmp, 0)
37793 data_tmp = full_data(idata)
37794 data_tmp = ishft(data_tmp, 16)
37795 data_tmp = iand(data_tmp, mask_left(0))
37796 pack_tmp = ior(pack_tmp, data_tmp)
37798 packed_data(ipack) = pack_tmp
37799 data_tmp = full_data(idata)
37800 pack_tmp = ishft(data_tmp, 16)
37801 pack_tmp = ishft(pack_tmp, -16)
37803 data_tmp = full_data(idata)
37804 data_tmp = ishft(data_tmp, 16)
37805 data_tmp = iand(data_tmp, mask_left(16))
37806 pack_tmp = ior(pack_tmp, data_tmp)
37808 packed_data(ipack) = pack_tmp
37809 data_tmp = full_data(idata)
37810 pack_tmp = ishft(data_tmp, 32)
37811 pack_tmp = ishft(pack_tmp, -32)
37813 data_tmp = full_data(idata)
37814 data_tmp = ishft(data_tmp, 16)
37815 data_tmp = iand(data_tmp, mask_left(32))
37816 pack_tmp = ior(pack_tmp, data_tmp)
37818 packed_data(ipack) = pack_tmp
37819 data_tmp = full_data(idata)
37820 pack_tmp = ishft(data_tmp, 48)
37821 pack_tmp = ishft(pack_tmp, -48)
37823 data_tmp = full_data(idata)
37824 data_tmp = ishft(data_tmp, 16)
37825 pack_tmp = ior(pack_tmp, data_tmp)
37826 pack_tmp = ishft(pack_tmp, 0)
37828 data_tmp = full_data(idata)
37829 data_tmp = ishft(data_tmp, 16)
37830 data_tmp = iand(data_tmp, mask_left(0))
37831 pack_tmp = ior(pack_tmp, data_tmp)
37833 packed_data(ipack) = pack_tmp
37834 data_tmp = full_data(idata)
37835 pack_tmp = ishft(data_tmp, 16)
37836 pack_tmp = ishft(pack_tmp, -16)
37838 data_tmp = full_data(idata)
37839 data_tmp = ishft(data_tmp, 16)
37840 data_tmp = iand(data_tmp, mask_left(16))
37841 pack_tmp = ior(pack_tmp, data_tmp)
37843 packed_data(ipack) = pack_tmp
37844 data_tmp = full_data(idata)
37845 pack_tmp = ishft(data_tmp, 32)
37846 pack_tmp = ishft(pack_tmp, -32)
37848 data_tmp = full_data(idata)
37849 data_tmp = ishft(data_tmp, 16)
37850 data_tmp = iand(data_tmp, mask_left(32))
37851 pack_tmp = ior(pack_tmp, data_tmp)
37853 packed_data(ipack) = pack_tmp
37854 data_tmp = full_data(idata)
37855 pack_tmp = ishft(data_tmp, 48)
37856 pack_tmp = ishft(pack_tmp, -48)
37858 data_tmp = full_data(idata)
37859 data_tmp = ishft(data_tmp, 16)
37860 pack_tmp = ior(pack_tmp, data_tmp)
37861 pack_tmp = ishft(pack_tmp, 0)
37863 data_tmp = full_data(idata)
37864 data_tmp = ishft(data_tmp, 16)
37865 data_tmp = iand(data_tmp, mask_left(0))
37866 pack_tmp = ior(pack_tmp, data_tmp)
37868 packed_data(ipack) = pack_tmp
37869 data_tmp = full_data(idata)
37870 pack_tmp = ishft(data_tmp, 16)
37871 pack_tmp = ishft(pack_tmp, -16)
37873 data_tmp = full_data(idata)
37874 data_tmp = ishft(data_tmp, 16)
37875 data_tmp = iand(data_tmp, mask_left(16))
37876 pack_tmp = ior(pack_tmp, data_tmp)
37878 packed_data(ipack) = pack_tmp
37879 data_tmp = full_data(idata)
37880 pack_tmp = ishft(data_tmp, 32)
37881 pack_tmp = ishft(pack_tmp, -32)
37883 data_tmp = full_data(idata)
37884 data_tmp = ishft(data_tmp, 16)
37885 data_tmp = iand(data_tmp, mask_left(32))
37886 pack_tmp = ior(pack_tmp, data_tmp)
37888 packed_data(ipack) = pack_tmp
37889 data_tmp = full_data(idata)
37890 pack_tmp = ishft(data_tmp, 48)
37891 pack_tmp = ishft(pack_tmp, -48)
37893 data_tmp = full_data(idata)
37894 data_tmp = ishft(data_tmp, 16)
37895 pack_tmp = ior(pack_tmp, data_tmp)
37896 pack_tmp = ishft(pack_tmp, 0)
37898 data_tmp = full_data(idata)
37899 data_tmp = ishft(data_tmp, 16)
37900 data_tmp = iand(data_tmp, mask_left(0))
37901 pack_tmp = ior(pack_tmp, data_tmp)
37903 packed_data(ipack) = pack_tmp
37904 data_tmp = full_data(idata)
37905 pack_tmp = ishft(data_tmp, 16)
37906 pack_tmp = ishft(pack_tmp, -16)
37908 data_tmp = full_data(idata)
37909 data_tmp = ishft(data_tmp, 16)
37910 data_tmp = iand(data_tmp, mask_left(16))
37911 pack_tmp = ior(pack_tmp, data_tmp)
37913 packed_data(ipack) = pack_tmp
37914 data_tmp = full_data(idata)
37915 pack_tmp = ishft(data_tmp, 32)
37916 pack_tmp = ishft(pack_tmp, -32)
37918 data_tmp = full_data(idata)
37919 data_tmp = ishft(data_tmp, 16)
37920 data_tmp = iand(data_tmp, mask_left(32))
37921 pack_tmp = ior(pack_tmp, data_tmp)
37923 packed_data(ipack) = pack_tmp
37924 data_tmp = full_data(idata)
37925 pack_tmp = ishft(data_tmp, 48)
37926 pack_tmp = ishft(pack_tmp, -48)
37928 data_tmp = full_data(idata)
37929 data_tmp = ishft(data_tmp, 16)
37930 pack_tmp = ior(pack_tmp, data_tmp)
37931 pack_tmp = ishft(pack_tmp, 0)
37933 data_tmp = full_data(idata)
37934 data_tmp = ishft(data_tmp, 16)
37935 data_tmp = iand(data_tmp, mask_left(0))
37936 pack_tmp = ior(pack_tmp, data_tmp)
37938 packed_data(ipack) = pack_tmp
37939 data_tmp = full_data(idata)
37940 pack_tmp = ishft(data_tmp, 16)
37941 pack_tmp = ishft(pack_tmp, -16)
37943 data_tmp = full_data(idata)
37944 data_tmp = ishft(data_tmp, 16)
37945 data_tmp = iand(data_tmp, mask_left(16))
37946 pack_tmp = ior(pack_tmp, data_tmp)
37948 packed_data(ipack) = pack_tmp
37949 data_tmp = full_data(idata)
37950 pack_tmp = ishft(data_tmp, 32)
37951 pack_tmp = ishft(pack_tmp, -32)
37953 data_tmp = full_data(idata)
37954 data_tmp = ishft(data_tmp, 16)
37955 data_tmp = iand(data_tmp, mask_left(32))
37956 pack_tmp = ior(pack_tmp, data_tmp)
37958 packed_data(ipack) = pack_tmp
37959 data_tmp = full_data(idata)
37960 pack_tmp = ishft(data_tmp, 48)
37961 pack_tmp = ishft(pack_tmp, -48)
37963 data_tmp = full_data(idata)
37964 data_tmp = ishft(data_tmp, 16)
37965 pack_tmp = ior(pack_tmp, data_tmp)
37966 pack_tmp = ishft(pack_tmp, 0)
37968 data_tmp = full_data(idata)
37969 data_tmp = ishft(data_tmp, 16)
37970 data_tmp = iand(data_tmp, mask_left(0))
37971 pack_tmp = ior(pack_tmp, data_tmp)
37973 packed_data(ipack) = pack_tmp
37974 data_tmp = full_data(idata)
37975 pack_tmp = ishft(data_tmp, 16)
37976 pack_tmp = ishft(pack_tmp, -16)
37978 data_tmp = full_data(idata)
37979 data_tmp = ishft(data_tmp, 16)
37980 data_tmp = iand(data_tmp, mask_left(16))
37981 pack_tmp = ior(pack_tmp, data_tmp)
37983 packed_data(ipack) = pack_tmp
37984 data_tmp = full_data(idata)
37985 pack_tmp = ishft(data_tmp, 32)
37986 pack_tmp = ishft(pack_tmp, -32)
37988 data_tmp = full_data(idata)
37989 data_tmp = ishft(data_tmp, 16)
37990 data_tmp = iand(data_tmp, mask_left(32))
37991 pack_tmp = ior(pack_tmp, data_tmp)
37993 packed_data(ipack) = pack_tmp
37994 data_tmp = full_data(idata)
37995 pack_tmp = ishft(data_tmp, 48)
37996 pack_tmp = ishft(pack_tmp, -48)
37998 data_tmp = full_data(idata)
37999 data_tmp = ishft(data_tmp, 16)
38000 pack_tmp = ior(pack_tmp, data_tmp)
38001 pack_tmp = ishft(pack_tmp, 0)
38003 data_tmp = full_data(idata)
38004 data_tmp = ishft(data_tmp, 16)
38005 data_tmp = iand(data_tmp, mask_left(0))
38006 pack_tmp = ior(pack_tmp, data_tmp)
38008 packed_data(ipack) = pack_tmp
38009 data_tmp = full_data(idata)
38010 pack_tmp = ishft(data_tmp, 16)
38011 pack_tmp = ishft(pack_tmp, -16)
38013 data_tmp = full_data(idata)
38014 data_tmp = ishft(data_tmp, 16)
38015 data_tmp = iand(data_tmp, mask_left(16))
38016 pack_tmp = ior(pack_tmp, data_tmp)
38018 packed_data(ipack) = pack_tmp
38019 data_tmp = full_data(idata)
38020 pack_tmp = ishft(data_tmp, 32)
38021 pack_tmp = ishft(pack_tmp, -32)
38023 data_tmp = full_data(idata)
38024 data_tmp = ishft(data_tmp, 16)
38025 data_tmp = iand(data_tmp, mask_left(32))
38026 pack_tmp = ior(pack_tmp, data_tmp)
38028 packed_data(ipack) = pack_tmp
38029 data_tmp = full_data(idata)
38030 pack_tmp = ishft(data_tmp, 48)
38031 pack_tmp = ishft(pack_tmp, -48)
38033 data_tmp = full_data(idata)
38034 data_tmp = ishft(data_tmp, 16)
38035 pack_tmp = ior(pack_tmp, data_tmp)
38036 pack_tmp = ishft(pack_tmp, 0)
38038 data_tmp = full_data(idata)
38039 data_tmp = ishft(data_tmp, 16)
38040 data_tmp = iand(data_tmp, mask_left(0))
38041 pack_tmp = ior(pack_tmp, data_tmp)
38043 packed_data(ipack) = pack_tmp
38044 data_tmp = full_data(idata)
38045 pack_tmp = ishft(data_tmp, 16)
38046 pack_tmp = ishft(pack_tmp, -16)
38048 data_tmp = full_data(idata)
38049 data_tmp = ishft(data_tmp, 16)
38050 data_tmp = iand(data_tmp, mask_left(16))
38051 pack_tmp = ior(pack_tmp, data_tmp)
38053 packed_data(ipack) = pack_tmp
38054 data_tmp = full_data(idata)
38055 pack_tmp = ishft(data_tmp, 32)
38056 pack_tmp = ishft(pack_tmp, -32)
38058 data_tmp = full_data(idata)
38059 data_tmp = ishft(data_tmp, 16)
38060 data_tmp = iand(data_tmp, mask_left(32))
38061 pack_tmp = ior(pack_tmp, data_tmp)
38063 packed_data(ipack) = pack_tmp
38064 data_tmp = full_data(idata)
38065 pack_tmp = ishft(data_tmp, 48)
38066 pack_tmp = ishft(pack_tmp, -48)
38068 data_tmp = full_data(idata)
38069 data_tmp = ishft(data_tmp, 16)
38070 pack_tmp = ior(pack_tmp, data_tmp)
38071 pack_tmp = ishft(pack_tmp, 0)
38073 data_tmp = full_data(idata)
38074 data_tmp = ishft(data_tmp, 16)
38075 data_tmp = iand(data_tmp, mask_left(0))
38076 pack_tmp = ior(pack_tmp, data_tmp)
38078 packed_data(ipack) = pack_tmp
38079 data_tmp = full_data(idata)
38080 pack_tmp = ishft(data_tmp, 16)
38081 pack_tmp = ishft(pack_tmp, -16)
38083 data_tmp = full_data(idata)
38084 data_tmp = ishft(data_tmp, 16)
38085 data_tmp = iand(data_tmp, mask_left(16))
38086 pack_tmp = ior(pack_tmp, data_tmp)
38088 packed_data(ipack) = pack_tmp
38089 data_tmp = full_data(idata)
38090 pack_tmp = ishft(data_tmp, 32)
38091 pack_tmp = ishft(pack_tmp, -32)
38093 data_tmp = full_data(idata)
38094 data_tmp = ishft(data_tmp, 16)
38095 data_tmp = iand(data_tmp, mask_left(32))
38096 pack_tmp = ior(pack_tmp, data_tmp)
38098 packed_data(ipack) = pack_tmp
38099 data_tmp = full_data(idata)
38100 pack_tmp = ishft(data_tmp, 48)
38101 pack_tmp = ishft(pack_tmp, -48)
38103 data_tmp = full_data(idata)
38104 data_tmp = ishft(data_tmp, 16)
38105 pack_tmp = ior(pack_tmp, data_tmp)
38106 pack_tmp = ishft(pack_tmp, 0)
38108 data_tmp = full_data(idata)
38109 data_tmp = ishft(data_tmp, 16)
38110 data_tmp = iand(data_tmp, mask_left(0))
38111 pack_tmp = ior(pack_tmp, data_tmp)
38113 packed_data(ipack) = pack_tmp
38114 data_tmp = full_data(idata)
38115 pack_tmp = ishft(data_tmp, 16)
38116 pack_tmp = ishft(pack_tmp, -16)
38118 data_tmp = full_data(idata)
38119 data_tmp = ishft(data_tmp, 16)
38120 data_tmp = iand(data_tmp, mask_left(16))
38121 pack_tmp = ior(pack_tmp, data_tmp)
38123 packed_data(ipack) = pack_tmp
38124 data_tmp = full_data(idata)
38125 pack_tmp = ishft(data_tmp, 32)
38126 pack_tmp = ishft(pack_tmp, -32)
38128 data_tmp = full_data(idata)
38129 data_tmp = ishft(data_tmp, 16)
38130 data_tmp = iand(data_tmp, mask_left(32))
38131 pack_tmp = ior(pack_tmp, data_tmp)
38133 packed_data(ipack) = pack_tmp
38134 data_tmp = full_data(idata)
38135 pack_tmp = ishft(data_tmp, 48)
38136 pack_tmp = ishft(pack_tmp, -48)
38138 data_tmp = full_data(idata)
38139 data_tmp = ishft(data_tmp, 16)
38140 pack_tmp = ior(pack_tmp, data_tmp)
38141 pack_tmp = ishft(pack_tmp, 0)
38143 data_tmp = full_data(idata)
38144 data_tmp = ishft(data_tmp, 16)
38145 data_tmp = iand(data_tmp, mask_left(0))
38146 pack_tmp = ior(pack_tmp, data_tmp)
38148 packed_data(ipack) = pack_tmp
38149 data_tmp = full_data(idata)
38150 pack_tmp = ishft(data_tmp, 16)
38151 pack_tmp = ishft(pack_tmp, -16)
38153 data_tmp = full_data(idata)
38154 data_tmp = ishft(data_tmp, 16)
38155 data_tmp = iand(data_tmp, mask_left(16))
38156 pack_tmp = ior(pack_tmp, data_tmp)
38158 packed_data(ipack) = pack_tmp
38159 data_tmp = full_data(idata)
38160 pack_tmp = ishft(data_tmp, 32)
38161 pack_tmp = ishft(pack_tmp, -32)
38163 data_tmp = full_data(idata)
38164 data_tmp = ishft(data_tmp, 16)
38165 data_tmp = iand(data_tmp, mask_left(32))
38166 pack_tmp = ior(pack_tmp, data_tmp)
38168 packed_data(ipack) = pack_tmp
38169 data_tmp = full_data(idata)
38170 pack_tmp = ishft(data_tmp, 48)
38171 pack_tmp = ishft(pack_tmp, -48)
38173 data_tmp = full_data(idata)
38174 data_tmp = ishft(data_tmp, 16)
38175 pack_tmp = ior(pack_tmp, data_tmp)
38176 pack_tmp = ishft(pack_tmp, 0)
38177 pack_tmp = ishft(pack_tmp, 0)
38179 packed_data(ipack) = pack_tmp
38181 IF (ndata_rep < ndata)
THEN
38182 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
38184 END SUBROUTINE ints2bits_48
38192 SUBROUTINE bits2ints_48(Ndata, packed_data, full_data)
38193 INTEGER,
INTENT(IN) :: Ndata
38194 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
38195 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
38197 INTEGER,
PARAMETER :: Nbits = 48
38199 INTEGER :: idata, ipack, kdata, Ndata_rep
38200 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
38205 ndata_rep = (ndata/64)*64
38206 DO kdata = 1, ndata_rep, 64
38208 data_tmp = ishft(pack_tmp, 48)
38210 pack_tmp = packed_data(ipack)
38211 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38212 pack_tmp = ishft(pack_tmp, -48)
38214 data_tmp = ishft(pack_tmp, 32)
38216 pack_tmp = packed_data(ipack)
38217 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38218 pack_tmp = ishft(pack_tmp, -32)
38220 data_tmp = ishft(pack_tmp, 16)
38222 pack_tmp = packed_data(ipack)
38223 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38224 pack_tmp = ishft(pack_tmp, -16)
38226 data_tmp = iand(pack_tmp, mask_right(nbits))
38227 full_data(idata) = data_tmp
38228 pack_tmp = ishft(pack_tmp, -nbits)
38230 data_tmp = ishft(pack_tmp, 48)
38232 pack_tmp = packed_data(ipack)
38233 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38234 pack_tmp = ishft(pack_tmp, -48)
38236 data_tmp = ishft(pack_tmp, 32)
38238 pack_tmp = packed_data(ipack)
38239 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38240 pack_tmp = ishft(pack_tmp, -32)
38242 data_tmp = ishft(pack_tmp, 16)
38244 pack_tmp = packed_data(ipack)
38245 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38246 pack_tmp = ishft(pack_tmp, -16)
38248 data_tmp = iand(pack_tmp, mask_right(nbits))
38249 full_data(idata) = data_tmp
38250 pack_tmp = ishft(pack_tmp, -nbits)
38252 data_tmp = ishft(pack_tmp, 48)
38254 pack_tmp = packed_data(ipack)
38255 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38256 pack_tmp = ishft(pack_tmp, -48)
38258 data_tmp = ishft(pack_tmp, 32)
38260 pack_tmp = packed_data(ipack)
38261 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38262 pack_tmp = ishft(pack_tmp, -32)
38264 data_tmp = ishft(pack_tmp, 16)
38266 pack_tmp = packed_data(ipack)
38267 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38268 pack_tmp = ishft(pack_tmp, -16)
38270 data_tmp = iand(pack_tmp, mask_right(nbits))
38271 full_data(idata) = data_tmp
38272 pack_tmp = ishft(pack_tmp, -nbits)
38274 data_tmp = ishft(pack_tmp, 48)
38276 pack_tmp = packed_data(ipack)
38277 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38278 pack_tmp = ishft(pack_tmp, -48)
38280 data_tmp = ishft(pack_tmp, 32)
38282 pack_tmp = packed_data(ipack)
38283 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38284 pack_tmp = ishft(pack_tmp, -32)
38286 data_tmp = ishft(pack_tmp, 16)
38288 pack_tmp = packed_data(ipack)
38289 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38290 pack_tmp = ishft(pack_tmp, -16)
38292 data_tmp = iand(pack_tmp, mask_right(nbits))
38293 full_data(idata) = data_tmp
38294 pack_tmp = ishft(pack_tmp, -nbits)
38296 data_tmp = ishft(pack_tmp, 48)
38298 pack_tmp = packed_data(ipack)
38299 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38300 pack_tmp = ishft(pack_tmp, -48)
38302 data_tmp = ishft(pack_tmp, 32)
38304 pack_tmp = packed_data(ipack)
38305 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38306 pack_tmp = ishft(pack_tmp, -32)
38308 data_tmp = ishft(pack_tmp, 16)
38310 pack_tmp = packed_data(ipack)
38311 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38312 pack_tmp = ishft(pack_tmp, -16)
38314 data_tmp = iand(pack_tmp, mask_right(nbits))
38315 full_data(idata) = data_tmp
38316 pack_tmp = ishft(pack_tmp, -nbits)
38318 data_tmp = ishft(pack_tmp, 48)
38320 pack_tmp = packed_data(ipack)
38321 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38322 pack_tmp = ishft(pack_tmp, -48)
38324 data_tmp = ishft(pack_tmp, 32)
38326 pack_tmp = packed_data(ipack)
38327 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38328 pack_tmp = ishft(pack_tmp, -32)
38330 data_tmp = ishft(pack_tmp, 16)
38332 pack_tmp = packed_data(ipack)
38333 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38334 pack_tmp = ishft(pack_tmp, -16)
38336 data_tmp = iand(pack_tmp, mask_right(nbits))
38337 full_data(idata) = data_tmp
38338 pack_tmp = ishft(pack_tmp, -nbits)
38340 data_tmp = ishft(pack_tmp, 48)
38342 pack_tmp = packed_data(ipack)
38343 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38344 pack_tmp = ishft(pack_tmp, -48)
38346 data_tmp = ishft(pack_tmp, 32)
38348 pack_tmp = packed_data(ipack)
38349 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38350 pack_tmp = ishft(pack_tmp, -32)
38352 data_tmp = ishft(pack_tmp, 16)
38354 pack_tmp = packed_data(ipack)
38355 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38356 pack_tmp = ishft(pack_tmp, -16)
38358 data_tmp = iand(pack_tmp, mask_right(nbits))
38359 full_data(idata) = data_tmp
38360 pack_tmp = ishft(pack_tmp, -nbits)
38362 data_tmp = ishft(pack_tmp, 48)
38364 pack_tmp = packed_data(ipack)
38365 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38366 pack_tmp = ishft(pack_tmp, -48)
38368 data_tmp = ishft(pack_tmp, 32)
38370 pack_tmp = packed_data(ipack)
38371 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38372 pack_tmp = ishft(pack_tmp, -32)
38374 data_tmp = ishft(pack_tmp, 16)
38376 pack_tmp = packed_data(ipack)
38377 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38378 pack_tmp = ishft(pack_tmp, -16)
38380 data_tmp = iand(pack_tmp, mask_right(nbits))
38381 full_data(idata) = data_tmp
38382 pack_tmp = ishft(pack_tmp, -nbits)
38384 data_tmp = ishft(pack_tmp, 48)
38386 pack_tmp = packed_data(ipack)
38387 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38388 pack_tmp = ishft(pack_tmp, -48)
38390 data_tmp = ishft(pack_tmp, 32)
38392 pack_tmp = packed_data(ipack)
38393 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38394 pack_tmp = ishft(pack_tmp, -32)
38396 data_tmp = ishft(pack_tmp, 16)
38398 pack_tmp = packed_data(ipack)
38399 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38400 pack_tmp = ishft(pack_tmp, -16)
38402 data_tmp = iand(pack_tmp, mask_right(nbits))
38403 full_data(idata) = data_tmp
38404 pack_tmp = ishft(pack_tmp, -nbits)
38406 data_tmp = ishft(pack_tmp, 48)
38408 pack_tmp = packed_data(ipack)
38409 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38410 pack_tmp = ishft(pack_tmp, -48)
38412 data_tmp = ishft(pack_tmp, 32)
38414 pack_tmp = packed_data(ipack)
38415 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38416 pack_tmp = ishft(pack_tmp, -32)
38418 data_tmp = ishft(pack_tmp, 16)
38420 pack_tmp = packed_data(ipack)
38421 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38422 pack_tmp = ishft(pack_tmp, -16)
38424 data_tmp = iand(pack_tmp, mask_right(nbits))
38425 full_data(idata) = data_tmp
38426 pack_tmp = ishft(pack_tmp, -nbits)
38428 data_tmp = ishft(pack_tmp, 48)
38430 pack_tmp = packed_data(ipack)
38431 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38432 pack_tmp = ishft(pack_tmp, -48)
38434 data_tmp = ishft(pack_tmp, 32)
38436 pack_tmp = packed_data(ipack)
38437 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38438 pack_tmp = ishft(pack_tmp, -32)
38440 data_tmp = ishft(pack_tmp, 16)
38442 pack_tmp = packed_data(ipack)
38443 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38444 pack_tmp = ishft(pack_tmp, -16)
38446 data_tmp = iand(pack_tmp, mask_right(nbits))
38447 full_data(idata) = data_tmp
38448 pack_tmp = ishft(pack_tmp, -nbits)
38450 data_tmp = ishft(pack_tmp, 48)
38452 pack_tmp = packed_data(ipack)
38453 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38454 pack_tmp = ishft(pack_tmp, -48)
38456 data_tmp = ishft(pack_tmp, 32)
38458 pack_tmp = packed_data(ipack)
38459 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38460 pack_tmp = ishft(pack_tmp, -32)
38462 data_tmp = ishft(pack_tmp, 16)
38464 pack_tmp = packed_data(ipack)
38465 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38466 pack_tmp = ishft(pack_tmp, -16)
38468 data_tmp = iand(pack_tmp, mask_right(nbits))
38469 full_data(idata) = data_tmp
38470 pack_tmp = ishft(pack_tmp, -nbits)
38472 data_tmp = ishft(pack_tmp, 48)
38474 pack_tmp = packed_data(ipack)
38475 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38476 pack_tmp = ishft(pack_tmp, -48)
38478 data_tmp = ishft(pack_tmp, 32)
38480 pack_tmp = packed_data(ipack)
38481 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38482 pack_tmp = ishft(pack_tmp, -32)
38484 data_tmp = ishft(pack_tmp, 16)
38486 pack_tmp = packed_data(ipack)
38487 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38488 pack_tmp = ishft(pack_tmp, -16)
38490 data_tmp = iand(pack_tmp, mask_right(nbits))
38491 full_data(idata) = data_tmp
38492 pack_tmp = ishft(pack_tmp, -nbits)
38494 data_tmp = ishft(pack_tmp, 48)
38496 pack_tmp = packed_data(ipack)
38497 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38498 pack_tmp = ishft(pack_tmp, -48)
38500 data_tmp = ishft(pack_tmp, 32)
38502 pack_tmp = packed_data(ipack)
38503 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38504 pack_tmp = ishft(pack_tmp, -32)
38506 data_tmp = ishft(pack_tmp, 16)
38508 pack_tmp = packed_data(ipack)
38509 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38510 pack_tmp = ishft(pack_tmp, -16)
38512 data_tmp = iand(pack_tmp, mask_right(nbits))
38513 full_data(idata) = data_tmp
38514 pack_tmp = ishft(pack_tmp, -nbits)
38516 data_tmp = ishft(pack_tmp, 48)
38518 pack_tmp = packed_data(ipack)
38519 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38520 pack_tmp = ishft(pack_tmp, -48)
38522 data_tmp = ishft(pack_tmp, 32)
38524 pack_tmp = packed_data(ipack)
38525 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38526 pack_tmp = ishft(pack_tmp, -32)
38528 data_tmp = ishft(pack_tmp, 16)
38530 pack_tmp = packed_data(ipack)
38531 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38532 pack_tmp = ishft(pack_tmp, -16)
38534 data_tmp = iand(pack_tmp, mask_right(nbits))
38535 full_data(idata) = data_tmp
38536 pack_tmp = ishft(pack_tmp, -nbits)
38538 data_tmp = ishft(pack_tmp, 48)
38540 pack_tmp = packed_data(ipack)
38541 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
38542 pack_tmp = ishft(pack_tmp, -48)
38544 data_tmp = ishft(pack_tmp, 32)
38546 pack_tmp = packed_data(ipack)
38547 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
38548 pack_tmp = ishft(pack_tmp, -32)
38550 data_tmp = ishft(pack_tmp, 16)
38552 pack_tmp = packed_data(ipack)
38553 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
38554 pack_tmp = ishft(pack_tmp, -16)
38556 data_tmp = iand(pack_tmp, mask_right(nbits))
38557 full_data(idata) = data_tmp
38558 pack_tmp = ishft(pack_tmp, -nbits)
38560 IF (ndata_rep < ndata)
THEN
38561 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
38563 END SUBROUTINE bits2ints_48
38571 SUBROUTINE ints2bits_49(Ndata, packed_data, full_data)
38572 INTEGER,
INTENT(IN) :: Ndata
38573 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
38574 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
38576 INTEGER,
PARAMETER :: Nbits = 49
38578 INTEGER :: idata, ipack, kdata, Ndata_rep
38579 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
38583 ndata_rep = (ndata/64)*64
38584 DO kdata = 1, ndata_rep, 64
38587 data_tmp = full_data(idata)
38588 data_tmp = ishft(data_tmp, 15)
38589 pack_tmp = ior(pack_tmp, data_tmp)
38590 pack_tmp = ishft(pack_tmp, -15)
38592 data_tmp = full_data(idata)
38593 data_tmp = ishft(data_tmp, 15)
38594 data_tmp = iand(data_tmp, mask_left(15))
38595 pack_tmp = ior(pack_tmp, data_tmp)
38597 packed_data(ipack) = pack_tmp
38598 data_tmp = full_data(idata)
38599 pack_tmp = ishft(data_tmp, 30)
38600 pack_tmp = ishft(pack_tmp, -30)
38602 data_tmp = full_data(idata)
38603 data_tmp = ishft(data_tmp, 15)
38604 data_tmp = iand(data_tmp, mask_left(30))
38605 pack_tmp = ior(pack_tmp, data_tmp)
38607 packed_data(ipack) = pack_tmp
38608 data_tmp = full_data(idata)
38609 pack_tmp = ishft(data_tmp, 45)
38610 pack_tmp = ishft(pack_tmp, -45)
38612 data_tmp = full_data(idata)
38613 data_tmp = ishft(data_tmp, 15)
38614 data_tmp = iand(data_tmp, mask_left(45))
38615 pack_tmp = ior(pack_tmp, data_tmp)
38617 packed_data(ipack) = pack_tmp
38618 data_tmp = full_data(idata)
38619 pack_tmp = ishft(data_tmp, 60)
38620 pack_tmp = ishft(pack_tmp, -49)
38622 data_tmp = full_data(idata)
38623 data_tmp = ishft(data_tmp, 15)
38624 pack_tmp = ior(pack_tmp, data_tmp)
38625 pack_tmp = ishft(pack_tmp, -11)
38627 data_tmp = full_data(idata)
38628 data_tmp = ishft(data_tmp, 15)
38629 data_tmp = iand(data_tmp, mask_left(11))
38630 pack_tmp = ior(pack_tmp, data_tmp)
38632 packed_data(ipack) = pack_tmp
38633 data_tmp = full_data(idata)
38634 pack_tmp = ishft(data_tmp, 26)
38635 pack_tmp = ishft(pack_tmp, -26)
38637 data_tmp = full_data(idata)
38638 data_tmp = ishft(data_tmp, 15)
38639 data_tmp = iand(data_tmp, mask_left(26))
38640 pack_tmp = ior(pack_tmp, data_tmp)
38642 packed_data(ipack) = pack_tmp
38643 data_tmp = full_data(idata)
38644 pack_tmp = ishft(data_tmp, 41)
38645 pack_tmp = ishft(pack_tmp, -41)
38647 data_tmp = full_data(idata)
38648 data_tmp = ishft(data_tmp, 15)
38649 data_tmp = iand(data_tmp, mask_left(41))
38650 pack_tmp = ior(pack_tmp, data_tmp)
38652 packed_data(ipack) = pack_tmp
38653 data_tmp = full_data(idata)
38654 pack_tmp = ishft(data_tmp, 56)
38655 pack_tmp = ishft(pack_tmp, -49)
38657 data_tmp = full_data(idata)
38658 data_tmp = ishft(data_tmp, 15)
38659 pack_tmp = ior(pack_tmp, data_tmp)
38660 pack_tmp = ishft(pack_tmp, -7)
38662 data_tmp = full_data(idata)
38663 data_tmp = ishft(data_tmp, 15)
38664 data_tmp = iand(data_tmp, mask_left(7))
38665 pack_tmp = ior(pack_tmp, data_tmp)
38667 packed_data(ipack) = pack_tmp
38668 data_tmp = full_data(idata)
38669 pack_tmp = ishft(data_tmp, 22)
38670 pack_tmp = ishft(pack_tmp, -22)
38672 data_tmp = full_data(idata)
38673 data_tmp = ishft(data_tmp, 15)
38674 data_tmp = iand(data_tmp, mask_left(22))
38675 pack_tmp = ior(pack_tmp, data_tmp)
38677 packed_data(ipack) = pack_tmp
38678 data_tmp = full_data(idata)
38679 pack_tmp = ishft(data_tmp, 37)
38680 pack_tmp = ishft(pack_tmp, -37)
38682 data_tmp = full_data(idata)
38683 data_tmp = ishft(data_tmp, 15)
38684 data_tmp = iand(data_tmp, mask_left(37))
38685 pack_tmp = ior(pack_tmp, data_tmp)
38687 packed_data(ipack) = pack_tmp
38688 data_tmp = full_data(idata)
38689 pack_tmp = ishft(data_tmp, 52)
38690 pack_tmp = ishft(pack_tmp, -49)
38692 data_tmp = full_data(idata)
38693 data_tmp = ishft(data_tmp, 15)
38694 pack_tmp = ior(pack_tmp, data_tmp)
38695 pack_tmp = ishft(pack_tmp, -3)
38697 data_tmp = full_data(idata)
38698 data_tmp = ishft(data_tmp, 15)
38699 data_tmp = iand(data_tmp, mask_left(3))
38700 pack_tmp = ior(pack_tmp, data_tmp)
38702 packed_data(ipack) = pack_tmp
38703 data_tmp = full_data(idata)
38704 pack_tmp = ishft(data_tmp, 18)
38705 pack_tmp = ishft(pack_tmp, -18)
38707 data_tmp = full_data(idata)
38708 data_tmp = ishft(data_tmp, 15)
38709 data_tmp = iand(data_tmp, mask_left(18))
38710 pack_tmp = ior(pack_tmp, data_tmp)
38712 packed_data(ipack) = pack_tmp
38713 data_tmp = full_data(idata)
38714 pack_tmp = ishft(data_tmp, 33)
38715 pack_tmp = ishft(pack_tmp, -33)
38717 data_tmp = full_data(idata)
38718 data_tmp = ishft(data_tmp, 15)
38719 data_tmp = iand(data_tmp, mask_left(33))
38720 pack_tmp = ior(pack_tmp, data_tmp)
38722 packed_data(ipack) = pack_tmp
38723 data_tmp = full_data(idata)
38724 pack_tmp = ishft(data_tmp, 48)
38725 pack_tmp = ishft(pack_tmp, -48)
38727 data_tmp = full_data(idata)
38728 data_tmp = ishft(data_tmp, 15)
38729 data_tmp = iand(data_tmp, mask_left(48))
38730 pack_tmp = ior(pack_tmp, data_tmp)
38732 packed_data(ipack) = pack_tmp
38733 data_tmp = full_data(idata)
38734 pack_tmp = ishft(data_tmp, 63)
38735 pack_tmp = ishft(pack_tmp, -49)
38737 data_tmp = full_data(idata)
38738 data_tmp = ishft(data_tmp, 15)
38739 pack_tmp = ior(pack_tmp, data_tmp)
38740 pack_tmp = ishft(pack_tmp, -14)
38742 data_tmp = full_data(idata)
38743 data_tmp = ishft(data_tmp, 15)
38744 data_tmp = iand(data_tmp, mask_left(14))
38745 pack_tmp = ior(pack_tmp, data_tmp)
38747 packed_data(ipack) = pack_tmp
38748 data_tmp = full_data(idata)
38749 pack_tmp = ishft(data_tmp, 29)
38750 pack_tmp = ishft(pack_tmp, -29)
38752 data_tmp = full_data(idata)
38753 data_tmp = ishft(data_tmp, 15)
38754 data_tmp = iand(data_tmp, mask_left(29))
38755 pack_tmp = ior(pack_tmp, data_tmp)
38757 packed_data(ipack) = pack_tmp
38758 data_tmp = full_data(idata)
38759 pack_tmp = ishft(data_tmp, 44)
38760 pack_tmp = ishft(pack_tmp, -44)
38762 data_tmp = full_data(idata)
38763 data_tmp = ishft(data_tmp, 15)
38764 data_tmp = iand(data_tmp, mask_left(44))
38765 pack_tmp = ior(pack_tmp, data_tmp)
38767 packed_data(ipack) = pack_tmp
38768 data_tmp = full_data(idata)
38769 pack_tmp = ishft(data_tmp, 59)
38770 pack_tmp = ishft(pack_tmp, -49)
38772 data_tmp = full_data(idata)
38773 data_tmp = ishft(data_tmp, 15)
38774 pack_tmp = ior(pack_tmp, data_tmp)
38775 pack_tmp = ishft(pack_tmp, -10)
38777 data_tmp = full_data(idata)
38778 data_tmp = ishft(data_tmp, 15)
38779 data_tmp = iand(data_tmp, mask_left(10))
38780 pack_tmp = ior(pack_tmp, data_tmp)
38782 packed_data(ipack) = pack_tmp
38783 data_tmp = full_data(idata)
38784 pack_tmp = ishft(data_tmp, 25)
38785 pack_tmp = ishft(pack_tmp, -25)
38787 data_tmp = full_data(idata)
38788 data_tmp = ishft(data_tmp, 15)
38789 data_tmp = iand(data_tmp, mask_left(25))
38790 pack_tmp = ior(pack_tmp, data_tmp)
38792 packed_data(ipack) = pack_tmp
38793 data_tmp = full_data(idata)
38794 pack_tmp = ishft(data_tmp, 40)
38795 pack_tmp = ishft(pack_tmp, -40)
38797 data_tmp = full_data(idata)
38798 data_tmp = ishft(data_tmp, 15)
38799 data_tmp = iand(data_tmp, mask_left(40))
38800 pack_tmp = ior(pack_tmp, data_tmp)
38802 packed_data(ipack) = pack_tmp
38803 data_tmp = full_data(idata)
38804 pack_tmp = ishft(data_tmp, 55)
38805 pack_tmp = ishft(pack_tmp, -49)
38807 data_tmp = full_data(idata)
38808 data_tmp = ishft(data_tmp, 15)
38809 pack_tmp = ior(pack_tmp, data_tmp)
38810 pack_tmp = ishft(pack_tmp, -6)
38812 data_tmp = full_data(idata)
38813 data_tmp = ishft(data_tmp, 15)
38814 data_tmp = iand(data_tmp, mask_left(6))
38815 pack_tmp = ior(pack_tmp, data_tmp)
38817 packed_data(ipack) = pack_tmp
38818 data_tmp = full_data(idata)
38819 pack_tmp = ishft(data_tmp, 21)
38820 pack_tmp = ishft(pack_tmp, -21)
38822 data_tmp = full_data(idata)
38823 data_tmp = ishft(data_tmp, 15)
38824 data_tmp = iand(data_tmp, mask_left(21))
38825 pack_tmp = ior(pack_tmp, data_tmp)
38827 packed_data(ipack) = pack_tmp
38828 data_tmp = full_data(idata)
38829 pack_tmp = ishft(data_tmp, 36)
38830 pack_tmp = ishft(pack_tmp, -36)
38832 data_tmp = full_data(idata)
38833 data_tmp = ishft(data_tmp, 15)
38834 data_tmp = iand(data_tmp, mask_left(36))
38835 pack_tmp = ior(pack_tmp, data_tmp)
38837 packed_data(ipack) = pack_tmp
38838 data_tmp = full_data(idata)
38839 pack_tmp = ishft(data_tmp, 51)
38840 pack_tmp = ishft(pack_tmp, -49)
38842 data_tmp = full_data(idata)
38843 data_tmp = ishft(data_tmp, 15)
38844 pack_tmp = ior(pack_tmp, data_tmp)
38845 pack_tmp = ishft(pack_tmp, -2)
38847 data_tmp = full_data(idata)
38848 data_tmp = ishft(data_tmp, 15)
38849 data_tmp = iand(data_tmp, mask_left(2))
38850 pack_tmp = ior(pack_tmp, data_tmp)
38852 packed_data(ipack) = pack_tmp
38853 data_tmp = full_data(idata)
38854 pack_tmp = ishft(data_tmp, 17)
38855 pack_tmp = ishft(pack_tmp, -17)
38857 data_tmp = full_data(idata)
38858 data_tmp = ishft(data_tmp, 15)
38859 data_tmp = iand(data_tmp, mask_left(17))
38860 pack_tmp = ior(pack_tmp, data_tmp)
38862 packed_data(ipack) = pack_tmp
38863 data_tmp = full_data(idata)
38864 pack_tmp = ishft(data_tmp, 32)
38865 pack_tmp = ishft(pack_tmp, -32)
38867 data_tmp = full_data(idata)
38868 data_tmp = ishft(data_tmp, 15)
38869 data_tmp = iand(data_tmp, mask_left(32))
38870 pack_tmp = ior(pack_tmp, data_tmp)
38872 packed_data(ipack) = pack_tmp
38873 data_tmp = full_data(idata)
38874 pack_tmp = ishft(data_tmp, 47)
38875 pack_tmp = ishft(pack_tmp, -47)
38877 data_tmp = full_data(idata)
38878 data_tmp = ishft(data_tmp, 15)
38879 data_tmp = iand(data_tmp, mask_left(47))
38880 pack_tmp = ior(pack_tmp, data_tmp)
38882 packed_data(ipack) = pack_tmp
38883 data_tmp = full_data(idata)
38884 pack_tmp = ishft(data_tmp, 62)
38885 pack_tmp = ishft(pack_tmp, -49)
38887 data_tmp = full_data(idata)
38888 data_tmp = ishft(data_tmp, 15)
38889 pack_tmp = ior(pack_tmp, data_tmp)
38890 pack_tmp = ishft(pack_tmp, -13)
38892 data_tmp = full_data(idata)
38893 data_tmp = ishft(data_tmp, 15)
38894 data_tmp = iand(data_tmp, mask_left(13))
38895 pack_tmp = ior(pack_tmp, data_tmp)
38897 packed_data(ipack) = pack_tmp
38898 data_tmp = full_data(idata)
38899 pack_tmp = ishft(data_tmp, 28)
38900 pack_tmp = ishft(pack_tmp, -28)
38902 data_tmp = full_data(idata)
38903 data_tmp = ishft(data_tmp, 15)
38904 data_tmp = iand(data_tmp, mask_left(28))
38905 pack_tmp = ior(pack_tmp, data_tmp)
38907 packed_data(ipack) = pack_tmp
38908 data_tmp = full_data(idata)
38909 pack_tmp = ishft(data_tmp, 43)
38910 pack_tmp = ishft(pack_tmp, -43)
38912 data_tmp = full_data(idata)
38913 data_tmp = ishft(data_tmp, 15)
38914 data_tmp = iand(data_tmp, mask_left(43))
38915 pack_tmp = ior(pack_tmp, data_tmp)
38917 packed_data(ipack) = pack_tmp
38918 data_tmp = full_data(idata)
38919 pack_tmp = ishft(data_tmp, 58)
38920 pack_tmp = ishft(pack_tmp, -49)
38922 data_tmp = full_data(idata)
38923 data_tmp = ishft(data_tmp, 15)
38924 pack_tmp = ior(pack_tmp, data_tmp)
38925 pack_tmp = ishft(pack_tmp, -9)
38927 data_tmp = full_data(idata)
38928 data_tmp = ishft(data_tmp, 15)
38929 data_tmp = iand(data_tmp, mask_left(9))
38930 pack_tmp = ior(pack_tmp, data_tmp)
38932 packed_data(ipack) = pack_tmp
38933 data_tmp = full_data(idata)
38934 pack_tmp = ishft(data_tmp, 24)
38935 pack_tmp = ishft(pack_tmp, -24)
38937 data_tmp = full_data(idata)
38938 data_tmp = ishft(data_tmp, 15)
38939 data_tmp = iand(data_tmp, mask_left(24))
38940 pack_tmp = ior(pack_tmp, data_tmp)
38942 packed_data(ipack) = pack_tmp
38943 data_tmp = full_data(idata)
38944 pack_tmp = ishft(data_tmp, 39)
38945 pack_tmp = ishft(pack_tmp, -39)
38947 data_tmp = full_data(idata)
38948 data_tmp = ishft(data_tmp, 15)
38949 data_tmp = iand(data_tmp, mask_left(39))
38950 pack_tmp = ior(pack_tmp, data_tmp)
38952 packed_data(ipack) = pack_tmp
38953 data_tmp = full_data(idata)
38954 pack_tmp = ishft(data_tmp, 54)
38955 pack_tmp = ishft(pack_tmp, -49)
38957 data_tmp = full_data(idata)
38958 data_tmp = ishft(data_tmp, 15)
38959 pack_tmp = ior(pack_tmp, data_tmp)
38960 pack_tmp = ishft(pack_tmp, -5)
38962 data_tmp = full_data(idata)
38963 data_tmp = ishft(data_tmp, 15)
38964 data_tmp = iand(data_tmp, mask_left(5))
38965 pack_tmp = ior(pack_tmp, data_tmp)
38967 packed_data(ipack) = pack_tmp
38968 data_tmp = full_data(idata)
38969 pack_tmp = ishft(data_tmp, 20)
38970 pack_tmp = ishft(pack_tmp, -20)
38972 data_tmp = full_data(idata)
38973 data_tmp = ishft(data_tmp, 15)
38974 data_tmp = iand(data_tmp, mask_left(20))
38975 pack_tmp = ior(pack_tmp, data_tmp)
38977 packed_data(ipack) = pack_tmp
38978 data_tmp = full_data(idata)
38979 pack_tmp = ishft(data_tmp, 35)
38980 pack_tmp = ishft(pack_tmp, -35)
38982 data_tmp = full_data(idata)
38983 data_tmp = ishft(data_tmp, 15)
38984 data_tmp = iand(data_tmp, mask_left(35))
38985 pack_tmp = ior(pack_tmp, data_tmp)
38987 packed_data(ipack) = pack_tmp
38988 data_tmp = full_data(idata)
38989 pack_tmp = ishft(data_tmp, 50)
38990 pack_tmp = ishft(pack_tmp, -49)
38992 data_tmp = full_data(idata)
38993 data_tmp = ishft(data_tmp, 15)
38994 pack_tmp = ior(pack_tmp, data_tmp)
38995 pack_tmp = ishft(pack_tmp, -1)
38997 data_tmp = full_data(idata)
38998 data_tmp = ishft(data_tmp, 15)
38999 data_tmp = iand(data_tmp, mask_left(1))
39000 pack_tmp = ior(pack_tmp, data_tmp)
39002 packed_data(ipack) = pack_tmp
39003 data_tmp = full_data(idata)
39004 pack_tmp = ishft(data_tmp, 16)
39005 pack_tmp = ishft(pack_tmp, -16)
39007 data_tmp = full_data(idata)
39008 data_tmp = ishft(data_tmp, 15)
39009 data_tmp = iand(data_tmp, mask_left(16))
39010 pack_tmp = ior(pack_tmp, data_tmp)
39012 packed_data(ipack) = pack_tmp
39013 data_tmp = full_data(idata)
39014 pack_tmp = ishft(data_tmp, 31)
39015 pack_tmp = ishft(pack_tmp, -31)
39017 data_tmp = full_data(idata)
39018 data_tmp = ishft(data_tmp, 15)
39019 data_tmp = iand(data_tmp, mask_left(31))
39020 pack_tmp = ior(pack_tmp, data_tmp)
39022 packed_data(ipack) = pack_tmp
39023 data_tmp = full_data(idata)
39024 pack_tmp = ishft(data_tmp, 46)
39025 pack_tmp = ishft(pack_tmp, -46)
39027 data_tmp = full_data(idata)
39028 data_tmp = ishft(data_tmp, 15)
39029 data_tmp = iand(data_tmp, mask_left(46))
39030 pack_tmp = ior(pack_tmp, data_tmp)
39032 packed_data(ipack) = pack_tmp
39033 data_tmp = full_data(idata)
39034 pack_tmp = ishft(data_tmp, 61)
39035 pack_tmp = ishft(pack_tmp, -49)
39037 data_tmp = full_data(idata)
39038 data_tmp = ishft(data_tmp, 15)
39039 pack_tmp = ior(pack_tmp, data_tmp)
39040 pack_tmp = ishft(pack_tmp, -12)
39042 data_tmp = full_data(idata)
39043 data_tmp = ishft(data_tmp, 15)
39044 data_tmp = iand(data_tmp, mask_left(12))
39045 pack_tmp = ior(pack_tmp, data_tmp)
39047 packed_data(ipack) = pack_tmp
39048 data_tmp = full_data(idata)
39049 pack_tmp = ishft(data_tmp, 27)
39050 pack_tmp = ishft(pack_tmp, -27)
39052 data_tmp = full_data(idata)
39053 data_tmp = ishft(data_tmp, 15)
39054 data_tmp = iand(data_tmp, mask_left(27))
39055 pack_tmp = ior(pack_tmp, data_tmp)
39057 packed_data(ipack) = pack_tmp
39058 data_tmp = full_data(idata)
39059 pack_tmp = ishft(data_tmp, 42)
39060 pack_tmp = ishft(pack_tmp, -42)
39062 data_tmp = full_data(idata)
39063 data_tmp = ishft(data_tmp, 15)
39064 data_tmp = iand(data_tmp, mask_left(42))
39065 pack_tmp = ior(pack_tmp, data_tmp)
39067 packed_data(ipack) = pack_tmp
39068 data_tmp = full_data(idata)
39069 pack_tmp = ishft(data_tmp, 57)
39070 pack_tmp = ishft(pack_tmp, -49)
39072 data_tmp = full_data(idata)
39073 data_tmp = ishft(data_tmp, 15)
39074 pack_tmp = ior(pack_tmp, data_tmp)
39075 pack_tmp = ishft(pack_tmp, -8)
39077 data_tmp = full_data(idata)
39078 data_tmp = ishft(data_tmp, 15)
39079 data_tmp = iand(data_tmp, mask_left(8))
39080 pack_tmp = ior(pack_tmp, data_tmp)
39082 packed_data(ipack) = pack_tmp
39083 data_tmp = full_data(idata)
39084 pack_tmp = ishft(data_tmp, 23)
39085 pack_tmp = ishft(pack_tmp, -23)
39087 data_tmp = full_data(idata)
39088 data_tmp = ishft(data_tmp, 15)
39089 data_tmp = iand(data_tmp, mask_left(23))
39090 pack_tmp = ior(pack_tmp, data_tmp)
39092 packed_data(ipack) = pack_tmp
39093 data_tmp = full_data(idata)
39094 pack_tmp = ishft(data_tmp, 38)
39095 pack_tmp = ishft(pack_tmp, -38)
39097 data_tmp = full_data(idata)
39098 data_tmp = ishft(data_tmp, 15)
39099 data_tmp = iand(data_tmp, mask_left(38))
39100 pack_tmp = ior(pack_tmp, data_tmp)
39102 packed_data(ipack) = pack_tmp
39103 data_tmp = full_data(idata)
39104 pack_tmp = ishft(data_tmp, 53)
39105 pack_tmp = ishft(pack_tmp, -49)
39107 data_tmp = full_data(idata)
39108 data_tmp = ishft(data_tmp, 15)
39109 pack_tmp = ior(pack_tmp, data_tmp)
39110 pack_tmp = ishft(pack_tmp, -4)
39112 data_tmp = full_data(idata)
39113 data_tmp = ishft(data_tmp, 15)
39114 data_tmp = iand(data_tmp, mask_left(4))
39115 pack_tmp = ior(pack_tmp, data_tmp)
39117 packed_data(ipack) = pack_tmp
39118 data_tmp = full_data(idata)
39119 pack_tmp = ishft(data_tmp, 19)
39120 pack_tmp = ishft(pack_tmp, -19)
39122 data_tmp = full_data(idata)
39123 data_tmp = ishft(data_tmp, 15)
39124 data_tmp = iand(data_tmp, mask_left(19))
39125 pack_tmp = ior(pack_tmp, data_tmp)
39127 packed_data(ipack) = pack_tmp
39128 data_tmp = full_data(idata)
39129 pack_tmp = ishft(data_tmp, 34)
39130 pack_tmp = ishft(pack_tmp, -34)
39132 data_tmp = full_data(idata)
39133 data_tmp = ishft(data_tmp, 15)
39134 data_tmp = iand(data_tmp, mask_left(34))
39135 pack_tmp = ior(pack_tmp, data_tmp)
39137 packed_data(ipack) = pack_tmp
39138 data_tmp = full_data(idata)
39139 pack_tmp = ishft(data_tmp, 49)
39140 pack_tmp = ishft(pack_tmp, -49)
39142 data_tmp = full_data(idata)
39143 data_tmp = ishft(data_tmp, 15)
39144 pack_tmp = ior(pack_tmp, data_tmp)
39145 pack_tmp = ishft(pack_tmp, 0)
39146 pack_tmp = ishft(pack_tmp, 0)
39148 packed_data(ipack) = pack_tmp
39150 IF (ndata_rep < ndata)
THEN
39151 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
39153 END SUBROUTINE ints2bits_49
39161 SUBROUTINE bits2ints_49(Ndata, packed_data, full_data)
39162 INTEGER,
INTENT(IN) :: Ndata
39163 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
39164 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
39166 INTEGER,
PARAMETER :: Nbits = 49
39168 INTEGER :: idata, ipack, kdata, Ndata_rep
39169 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
39174 ndata_rep = (ndata/64)*64
39175 DO kdata = 1, ndata_rep, 64
39177 data_tmp = ishft(pack_tmp, 49)
39179 pack_tmp = packed_data(ipack)
39180 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
39181 pack_tmp = ishft(pack_tmp, -49)
39183 data_tmp = ishft(pack_tmp, 34)
39185 pack_tmp = packed_data(ipack)
39186 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
39187 pack_tmp = ishft(pack_tmp, -34)
39189 data_tmp = ishft(pack_tmp, 19)
39191 pack_tmp = packed_data(ipack)
39192 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
39193 pack_tmp = ishft(pack_tmp, -19)
39195 data_tmp = ishft(pack_tmp, 4)
39197 pack_tmp = packed_data(ipack)
39198 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
39199 pack_tmp = ishft(pack_tmp, -4)
39201 data_tmp = iand(pack_tmp, mask_right(nbits))
39202 full_data(idata) = data_tmp
39203 pack_tmp = ishft(pack_tmp, -nbits)
39205 data_tmp = ishft(pack_tmp, 38)
39207 pack_tmp = packed_data(ipack)
39208 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
39209 pack_tmp = ishft(pack_tmp, -38)
39211 data_tmp = ishft(pack_tmp, 23)
39213 pack_tmp = packed_data(ipack)
39214 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
39215 pack_tmp = ishft(pack_tmp, -23)
39217 data_tmp = ishft(pack_tmp, 8)
39219 pack_tmp = packed_data(ipack)
39220 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
39221 pack_tmp = ishft(pack_tmp, -8)
39223 data_tmp = iand(pack_tmp, mask_right(nbits))
39224 full_data(idata) = data_tmp
39225 pack_tmp = ishft(pack_tmp, -nbits)
39227 data_tmp = ishft(pack_tmp, 42)
39229 pack_tmp = packed_data(ipack)
39230 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
39231 pack_tmp = ishft(pack_tmp, -42)
39233 data_tmp = ishft(pack_tmp, 27)
39235 pack_tmp = packed_data(ipack)
39236 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
39237 pack_tmp = ishft(pack_tmp, -27)
39239 data_tmp = ishft(pack_tmp, 12)
39241 pack_tmp = packed_data(ipack)
39242 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
39243 pack_tmp = ishft(pack_tmp, -12)
39245 data_tmp = iand(pack_tmp, mask_right(nbits))
39246 full_data(idata) = data_tmp
39247 pack_tmp = ishft(pack_tmp, -nbits)
39249 data_tmp = ishft(pack_tmp, 46)
39251 pack_tmp = packed_data(ipack)
39252 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
39253 pack_tmp = ishft(pack_tmp, -46)
39255 data_tmp = ishft(pack_tmp, 31)
39257 pack_tmp = packed_data(ipack)
39258 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
39259 pack_tmp = ishft(pack_tmp, -31)
39261 data_tmp = ishft(pack_tmp, 16)
39263 pack_tmp = packed_data(ipack)
39264 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
39265 pack_tmp = ishft(pack_tmp, -16)
39267 data_tmp = ishft(pack_tmp, 1)
39269 pack_tmp = packed_data(ipack)
39270 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
39271 pack_tmp = ishft(pack_tmp, -1)
39273 data_tmp = iand(pack_tmp, mask_right(nbits))
39274 full_data(idata) = data_tmp
39275 pack_tmp = ishft(pack_tmp, -nbits)
39277 data_tmp = ishft(pack_tmp, 35)
39279 pack_tmp = packed_data(ipack)
39280 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
39281 pack_tmp = ishft(pack_tmp, -35)
39283 data_tmp = ishft(pack_tmp, 20)
39285 pack_tmp = packed_data(ipack)
39286 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
39287 pack_tmp = ishft(pack_tmp, -20)
39289 data_tmp = ishft(pack_tmp, 5)
39291 pack_tmp = packed_data(ipack)
39292 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
39293 pack_tmp = ishft(pack_tmp, -5)
39295 data_tmp = iand(pack_tmp, mask_right(nbits))
39296 full_data(idata) = data_tmp
39297 pack_tmp = ishft(pack_tmp, -nbits)
39299 data_tmp = ishft(pack_tmp, 39)
39301 pack_tmp = packed_data(ipack)
39302 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
39303 pack_tmp = ishft(pack_tmp, -39)
39305 data_tmp = ishft(pack_tmp, 24)
39307 pack_tmp = packed_data(ipack)
39308 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
39309 pack_tmp = ishft(pack_tmp, -24)
39311 data_tmp = ishft(pack_tmp, 9)
39313 pack_tmp = packed_data(ipack)
39314 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
39315 pack_tmp = ishft(pack_tmp, -9)
39317 data_tmp = iand(pack_tmp, mask_right(nbits))
39318 full_data(idata) = data_tmp
39319 pack_tmp = ishft(pack_tmp, -nbits)
39321 data_tmp = ishft(pack_tmp, 43)
39323 pack_tmp = packed_data(ipack)
39324 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
39325 pack_tmp = ishft(pack_tmp, -43)
39327 data_tmp = ishft(pack_tmp, 28)
39329 pack_tmp = packed_data(ipack)
39330 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
39331 pack_tmp = ishft(pack_tmp, -28)
39333 data_tmp = ishft(pack_tmp, 13)
39335 pack_tmp = packed_data(ipack)
39336 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
39337 pack_tmp = ishft(pack_tmp, -13)
39339 data_tmp = iand(pack_tmp, mask_right(nbits))
39340 full_data(idata) = data_tmp
39341 pack_tmp = ishft(pack_tmp, -nbits)
39343 data_tmp = ishft(pack_tmp, 47)
39345 pack_tmp = packed_data(ipack)
39346 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
39347 pack_tmp = ishft(pack_tmp, -47)
39349 data_tmp = ishft(pack_tmp, 32)
39351 pack_tmp = packed_data(ipack)
39352 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
39353 pack_tmp = ishft(pack_tmp, -32)
39355 data_tmp = ishft(pack_tmp, 17)
39357 pack_tmp = packed_data(ipack)
39358 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
39359 pack_tmp = ishft(pack_tmp, -17)
39361 data_tmp = ishft(pack_tmp, 2)
39363 pack_tmp = packed_data(ipack)
39364 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
39365 pack_tmp = ishft(pack_tmp, -2)
39367 data_tmp = iand(pack_tmp, mask_right(nbits))
39368 full_data(idata) = data_tmp
39369 pack_tmp = ishft(pack_tmp, -nbits)
39371 data_tmp = ishft(pack_tmp, 36)
39373 pack_tmp = packed_data(ipack)
39374 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
39375 pack_tmp = ishft(pack_tmp, -36)
39377 data_tmp = ishft(pack_tmp, 21)
39379 pack_tmp = packed_data(ipack)
39380 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
39381 pack_tmp = ishft(pack_tmp, -21)
39383 data_tmp = ishft(pack_tmp, 6)
39385 pack_tmp = packed_data(ipack)
39386 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
39387 pack_tmp = ishft(pack_tmp, -6)
39389 data_tmp = iand(pack_tmp, mask_right(nbits))
39390 full_data(idata) = data_tmp
39391 pack_tmp = ishft(pack_tmp, -nbits)
39393 data_tmp = ishft(pack_tmp, 40)
39395 pack_tmp = packed_data(ipack)
39396 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
39397 pack_tmp = ishft(pack_tmp, -40)
39399 data_tmp = ishft(pack_tmp, 25)
39401 pack_tmp = packed_data(ipack)
39402 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
39403 pack_tmp = ishft(pack_tmp, -25)
39405 data_tmp = ishft(pack_tmp, 10)
39407 pack_tmp = packed_data(ipack)
39408 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
39409 pack_tmp = ishft(pack_tmp, -10)
39411 data_tmp = iand(pack_tmp, mask_right(nbits))
39412 full_data(idata) = data_tmp
39413 pack_tmp = ishft(pack_tmp, -nbits)
39415 data_tmp = ishft(pack_tmp, 44)
39417 pack_tmp = packed_data(ipack)
39418 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
39419 pack_tmp = ishft(pack_tmp, -44)
39421 data_tmp = ishft(pack_tmp, 29)
39423 pack_tmp = packed_data(ipack)
39424 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
39425 pack_tmp = ishft(pack_tmp, -29)
39427 data_tmp = ishft(pack_tmp, 14)
39429 pack_tmp = packed_data(ipack)
39430 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
39431 pack_tmp = ishft(pack_tmp, -14)
39433 data_tmp = iand(pack_tmp, mask_right(nbits))
39434 full_data(idata) = data_tmp
39435 pack_tmp = ishft(pack_tmp, -nbits)
39437 data_tmp = ishft(pack_tmp, 48)
39439 pack_tmp = packed_data(ipack)
39440 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
39441 pack_tmp = ishft(pack_tmp, -48)
39443 data_tmp = ishft(pack_tmp, 33)
39445 pack_tmp = packed_data(ipack)
39446 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
39447 pack_tmp = ishft(pack_tmp, -33)
39449 data_tmp = ishft(pack_tmp, 18)
39451 pack_tmp = packed_data(ipack)
39452 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
39453 pack_tmp = ishft(pack_tmp, -18)
39455 data_tmp = ishft(pack_tmp, 3)
39457 pack_tmp = packed_data(ipack)
39458 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
39459 pack_tmp = ishft(pack_tmp, -3)
39461 data_tmp = iand(pack_tmp, mask_right(nbits))
39462 full_data(idata) = data_tmp
39463 pack_tmp = ishft(pack_tmp, -nbits)
39465 data_tmp = ishft(pack_tmp, 37)
39467 pack_tmp = packed_data(ipack)
39468 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
39469 pack_tmp = ishft(pack_tmp, -37)
39471 data_tmp = ishft(pack_tmp, 22)
39473 pack_tmp = packed_data(ipack)
39474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
39475 pack_tmp = ishft(pack_tmp, -22)
39477 data_tmp = ishft(pack_tmp, 7)
39479 pack_tmp = packed_data(ipack)
39480 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
39481 pack_tmp = ishft(pack_tmp, -7)
39483 data_tmp = iand(pack_tmp, mask_right(nbits))
39484 full_data(idata) = data_tmp
39485 pack_tmp = ishft(pack_tmp, -nbits)
39487 data_tmp = ishft(pack_tmp, 41)
39489 pack_tmp = packed_data(ipack)
39490 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
39491 pack_tmp = ishft(pack_tmp, -41)
39493 data_tmp = ishft(pack_tmp, 26)
39495 pack_tmp = packed_data(ipack)
39496 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
39497 pack_tmp = ishft(pack_tmp, -26)
39499 data_tmp = ishft(pack_tmp, 11)
39501 pack_tmp = packed_data(ipack)
39502 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
39503 pack_tmp = ishft(pack_tmp, -11)
39505 data_tmp = iand(pack_tmp, mask_right(nbits))
39506 full_data(idata) = data_tmp
39507 pack_tmp = ishft(pack_tmp, -nbits)
39509 data_tmp = ishft(pack_tmp, 45)
39511 pack_tmp = packed_data(ipack)
39512 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
39513 pack_tmp = ishft(pack_tmp, -45)
39515 data_tmp = ishft(pack_tmp, 30)
39517 pack_tmp = packed_data(ipack)
39518 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
39519 pack_tmp = ishft(pack_tmp, -30)
39521 data_tmp = ishft(pack_tmp, 15)
39523 pack_tmp = packed_data(ipack)
39524 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
39525 pack_tmp = ishft(pack_tmp, -15)
39527 data_tmp = iand(pack_tmp, mask_right(nbits))
39528 full_data(idata) = data_tmp
39529 pack_tmp = ishft(pack_tmp, -nbits)
39531 IF (ndata_rep < ndata)
THEN
39532 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
39534 END SUBROUTINE bits2ints_49
39542 SUBROUTINE ints2bits_50(Ndata, packed_data, full_data)
39543 INTEGER,
INTENT(IN) :: Ndata
39544 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
39545 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
39547 INTEGER,
PARAMETER :: Nbits = 50
39549 INTEGER :: idata, ipack, kdata, Ndata_rep
39550 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
39554 ndata_rep = (ndata/64)*64
39555 DO kdata = 1, ndata_rep, 64
39558 data_tmp = full_data(idata)
39559 data_tmp = ishft(data_tmp, 14)
39560 pack_tmp = ior(pack_tmp, data_tmp)
39561 pack_tmp = ishft(pack_tmp, -14)
39563 data_tmp = full_data(idata)
39564 data_tmp = ishft(data_tmp, 14)
39565 data_tmp = iand(data_tmp, mask_left(14))
39566 pack_tmp = ior(pack_tmp, data_tmp)
39568 packed_data(ipack) = pack_tmp
39569 data_tmp = full_data(idata)
39570 pack_tmp = ishft(data_tmp, 28)
39571 pack_tmp = ishft(pack_tmp, -28)
39573 data_tmp = full_data(idata)
39574 data_tmp = ishft(data_tmp, 14)
39575 data_tmp = iand(data_tmp, mask_left(28))
39576 pack_tmp = ior(pack_tmp, data_tmp)
39578 packed_data(ipack) = pack_tmp
39579 data_tmp = full_data(idata)
39580 pack_tmp = ishft(data_tmp, 42)
39581 pack_tmp = ishft(pack_tmp, -42)
39583 data_tmp = full_data(idata)
39584 data_tmp = ishft(data_tmp, 14)
39585 data_tmp = iand(data_tmp, mask_left(42))
39586 pack_tmp = ior(pack_tmp, data_tmp)
39588 packed_data(ipack) = pack_tmp
39589 data_tmp = full_data(idata)
39590 pack_tmp = ishft(data_tmp, 56)
39591 pack_tmp = ishft(pack_tmp, -50)
39593 data_tmp = full_data(idata)
39594 data_tmp = ishft(data_tmp, 14)
39595 pack_tmp = ior(pack_tmp, data_tmp)
39596 pack_tmp = ishft(pack_tmp, -6)
39598 data_tmp = full_data(idata)
39599 data_tmp = ishft(data_tmp, 14)
39600 data_tmp = iand(data_tmp, mask_left(6))
39601 pack_tmp = ior(pack_tmp, data_tmp)
39603 packed_data(ipack) = pack_tmp
39604 data_tmp = full_data(idata)
39605 pack_tmp = ishft(data_tmp, 20)
39606 pack_tmp = ishft(pack_tmp, -20)
39608 data_tmp = full_data(idata)
39609 data_tmp = ishft(data_tmp, 14)
39610 data_tmp = iand(data_tmp, mask_left(20))
39611 pack_tmp = ior(pack_tmp, data_tmp)
39613 packed_data(ipack) = pack_tmp
39614 data_tmp = full_data(idata)
39615 pack_tmp = ishft(data_tmp, 34)
39616 pack_tmp = ishft(pack_tmp, -34)
39618 data_tmp = full_data(idata)
39619 data_tmp = ishft(data_tmp, 14)
39620 data_tmp = iand(data_tmp, mask_left(34))
39621 pack_tmp = ior(pack_tmp, data_tmp)
39623 packed_data(ipack) = pack_tmp
39624 data_tmp = full_data(idata)
39625 pack_tmp = ishft(data_tmp, 48)
39626 pack_tmp = ishft(pack_tmp, -48)
39628 data_tmp = full_data(idata)
39629 data_tmp = ishft(data_tmp, 14)
39630 data_tmp = iand(data_tmp, mask_left(48))
39631 pack_tmp = ior(pack_tmp, data_tmp)
39633 packed_data(ipack) = pack_tmp
39634 data_tmp = full_data(idata)
39635 pack_tmp = ishft(data_tmp, 62)
39636 pack_tmp = ishft(pack_tmp, -50)
39638 data_tmp = full_data(idata)
39639 data_tmp = ishft(data_tmp, 14)
39640 pack_tmp = ior(pack_tmp, data_tmp)
39641 pack_tmp = ishft(pack_tmp, -12)
39643 data_tmp = full_data(idata)
39644 data_tmp = ishft(data_tmp, 14)
39645 data_tmp = iand(data_tmp, mask_left(12))
39646 pack_tmp = ior(pack_tmp, data_tmp)
39648 packed_data(ipack) = pack_tmp
39649 data_tmp = full_data(idata)
39650 pack_tmp = ishft(data_tmp, 26)
39651 pack_tmp = ishft(pack_tmp, -26)
39653 data_tmp = full_data(idata)
39654 data_tmp = ishft(data_tmp, 14)
39655 data_tmp = iand(data_tmp, mask_left(26))
39656 pack_tmp = ior(pack_tmp, data_tmp)
39658 packed_data(ipack) = pack_tmp
39659 data_tmp = full_data(idata)
39660 pack_tmp = ishft(data_tmp, 40)
39661 pack_tmp = ishft(pack_tmp, -40)
39663 data_tmp = full_data(idata)
39664 data_tmp = ishft(data_tmp, 14)
39665 data_tmp = iand(data_tmp, mask_left(40))
39666 pack_tmp = ior(pack_tmp, data_tmp)
39668 packed_data(ipack) = pack_tmp
39669 data_tmp = full_data(idata)
39670 pack_tmp = ishft(data_tmp, 54)
39671 pack_tmp = ishft(pack_tmp, -50)
39673 data_tmp = full_data(idata)
39674 data_tmp = ishft(data_tmp, 14)
39675 pack_tmp = ior(pack_tmp, data_tmp)
39676 pack_tmp = ishft(pack_tmp, -4)
39678 data_tmp = full_data(idata)
39679 data_tmp = ishft(data_tmp, 14)
39680 data_tmp = iand(data_tmp, mask_left(4))
39681 pack_tmp = ior(pack_tmp, data_tmp)
39683 packed_data(ipack) = pack_tmp
39684 data_tmp = full_data(idata)
39685 pack_tmp = ishft(data_tmp, 18)
39686 pack_tmp = ishft(pack_tmp, -18)
39688 data_tmp = full_data(idata)
39689 data_tmp = ishft(data_tmp, 14)
39690 data_tmp = iand(data_tmp, mask_left(18))
39691 pack_tmp = ior(pack_tmp, data_tmp)
39693 packed_data(ipack) = pack_tmp
39694 data_tmp = full_data(idata)
39695 pack_tmp = ishft(data_tmp, 32)
39696 pack_tmp = ishft(pack_tmp, -32)
39698 data_tmp = full_data(idata)
39699 data_tmp = ishft(data_tmp, 14)
39700 data_tmp = iand(data_tmp, mask_left(32))
39701 pack_tmp = ior(pack_tmp, data_tmp)
39703 packed_data(ipack) = pack_tmp
39704 data_tmp = full_data(idata)
39705 pack_tmp = ishft(data_tmp, 46)
39706 pack_tmp = ishft(pack_tmp, -46)
39708 data_tmp = full_data(idata)
39709 data_tmp = ishft(data_tmp, 14)
39710 data_tmp = iand(data_tmp, mask_left(46))
39711 pack_tmp = ior(pack_tmp, data_tmp)
39713 packed_data(ipack) = pack_tmp
39714 data_tmp = full_data(idata)
39715 pack_tmp = ishft(data_tmp, 60)
39716 pack_tmp = ishft(pack_tmp, -50)
39718 data_tmp = full_data(idata)
39719 data_tmp = ishft(data_tmp, 14)
39720 pack_tmp = ior(pack_tmp, data_tmp)
39721 pack_tmp = ishft(pack_tmp, -10)
39723 data_tmp = full_data(idata)
39724 data_tmp = ishft(data_tmp, 14)
39725 data_tmp = iand(data_tmp, mask_left(10))
39726 pack_tmp = ior(pack_tmp, data_tmp)
39728 packed_data(ipack) = pack_tmp
39729 data_tmp = full_data(idata)
39730 pack_tmp = ishft(data_tmp, 24)
39731 pack_tmp = ishft(pack_tmp, -24)
39733 data_tmp = full_data(idata)
39734 data_tmp = ishft(data_tmp, 14)
39735 data_tmp = iand(data_tmp, mask_left(24))
39736 pack_tmp = ior(pack_tmp, data_tmp)
39738 packed_data(ipack) = pack_tmp
39739 data_tmp = full_data(idata)
39740 pack_tmp = ishft(data_tmp, 38)
39741 pack_tmp = ishft(pack_tmp, -38)
39743 data_tmp = full_data(idata)
39744 data_tmp = ishft(data_tmp, 14)
39745 data_tmp = iand(data_tmp, mask_left(38))
39746 pack_tmp = ior(pack_tmp, data_tmp)
39748 packed_data(ipack) = pack_tmp
39749 data_tmp = full_data(idata)
39750 pack_tmp = ishft(data_tmp, 52)
39751 pack_tmp = ishft(pack_tmp, -50)
39753 data_tmp = full_data(idata)
39754 data_tmp = ishft(data_tmp, 14)
39755 pack_tmp = ior(pack_tmp, data_tmp)
39756 pack_tmp = ishft(pack_tmp, -2)
39758 data_tmp = full_data(idata)
39759 data_tmp = ishft(data_tmp, 14)
39760 data_tmp = iand(data_tmp, mask_left(2))
39761 pack_tmp = ior(pack_tmp, data_tmp)
39763 packed_data(ipack) = pack_tmp
39764 data_tmp = full_data(idata)
39765 pack_tmp = ishft(data_tmp, 16)
39766 pack_tmp = ishft(pack_tmp, -16)
39768 data_tmp = full_data(idata)
39769 data_tmp = ishft(data_tmp, 14)
39770 data_tmp = iand(data_tmp, mask_left(16))
39771 pack_tmp = ior(pack_tmp, data_tmp)
39773 packed_data(ipack) = pack_tmp
39774 data_tmp = full_data(idata)
39775 pack_tmp = ishft(data_tmp, 30)
39776 pack_tmp = ishft(pack_tmp, -30)
39778 data_tmp = full_data(idata)
39779 data_tmp = ishft(data_tmp, 14)
39780 data_tmp = iand(data_tmp, mask_left(30))
39781 pack_tmp = ior(pack_tmp, data_tmp)
39783 packed_data(ipack) = pack_tmp
39784 data_tmp = full_data(idata)
39785 pack_tmp = ishft(data_tmp, 44)
39786 pack_tmp = ishft(pack_tmp, -44)
39788 data_tmp = full_data(idata)
39789 data_tmp = ishft(data_tmp, 14)
39790 data_tmp = iand(data_tmp, mask_left(44))
39791 pack_tmp = ior(pack_tmp, data_tmp)
39793 packed_data(ipack) = pack_tmp
39794 data_tmp = full_data(idata)
39795 pack_tmp = ishft(data_tmp, 58)
39796 pack_tmp = ishft(pack_tmp, -50)
39798 data_tmp = full_data(idata)
39799 data_tmp = ishft(data_tmp, 14)
39800 pack_tmp = ior(pack_tmp, data_tmp)
39801 pack_tmp = ishft(pack_tmp, -8)
39803 data_tmp = full_data(idata)
39804 data_tmp = ishft(data_tmp, 14)
39805 data_tmp = iand(data_tmp, mask_left(8))
39806 pack_tmp = ior(pack_tmp, data_tmp)
39808 packed_data(ipack) = pack_tmp
39809 data_tmp = full_data(idata)
39810 pack_tmp = ishft(data_tmp, 22)
39811 pack_tmp = ishft(pack_tmp, -22)
39813 data_tmp = full_data(idata)
39814 data_tmp = ishft(data_tmp, 14)
39815 data_tmp = iand(data_tmp, mask_left(22))
39816 pack_tmp = ior(pack_tmp, data_tmp)
39818 packed_data(ipack) = pack_tmp
39819 data_tmp = full_data(idata)
39820 pack_tmp = ishft(data_tmp, 36)
39821 pack_tmp = ishft(pack_tmp, -36)
39823 data_tmp = full_data(idata)
39824 data_tmp = ishft(data_tmp, 14)
39825 data_tmp = iand(data_tmp, mask_left(36))
39826 pack_tmp = ior(pack_tmp, data_tmp)
39828 packed_data(ipack) = pack_tmp
39829 data_tmp = full_data(idata)
39830 pack_tmp = ishft(data_tmp, 50)
39831 pack_tmp = ishft(pack_tmp, -50)
39833 data_tmp = full_data(idata)
39834 data_tmp = ishft(data_tmp, 14)
39835 pack_tmp = ior(pack_tmp, data_tmp)
39836 pack_tmp = ishft(pack_tmp, 0)
39838 data_tmp = full_data(idata)
39839 data_tmp = ishft(data_tmp, 14)
39840 data_tmp = iand(data_tmp, mask_left(0))
39841 pack_tmp = ior(pack_tmp, data_tmp)
39843 packed_data(ipack) = pack_tmp
39844 data_tmp = full_data(idata)
39845 pack_tmp = ishft(data_tmp, 14)
39846 pack_tmp = ishft(pack_tmp, -14)
39848 data_tmp = full_data(idata)
39849 data_tmp = ishft(data_tmp, 14)
39850 data_tmp = iand(data_tmp, mask_left(14))
39851 pack_tmp = ior(pack_tmp, data_tmp)
39853 packed_data(ipack) = pack_tmp
39854 data_tmp = full_data(idata)
39855 pack_tmp = ishft(data_tmp, 28)
39856 pack_tmp = ishft(pack_tmp, -28)
39858 data_tmp = full_data(idata)
39859 data_tmp = ishft(data_tmp, 14)
39860 data_tmp = iand(data_tmp, mask_left(28))
39861 pack_tmp = ior(pack_tmp, data_tmp)
39863 packed_data(ipack) = pack_tmp
39864 data_tmp = full_data(idata)
39865 pack_tmp = ishft(data_tmp, 42)
39866 pack_tmp = ishft(pack_tmp, -42)
39868 data_tmp = full_data(idata)
39869 data_tmp = ishft(data_tmp, 14)
39870 data_tmp = iand(data_tmp, mask_left(42))
39871 pack_tmp = ior(pack_tmp, data_tmp)
39873 packed_data(ipack) = pack_tmp
39874 data_tmp = full_data(idata)
39875 pack_tmp = ishft(data_tmp, 56)
39876 pack_tmp = ishft(pack_tmp, -50)
39878 data_tmp = full_data(idata)
39879 data_tmp = ishft(data_tmp, 14)
39880 pack_tmp = ior(pack_tmp, data_tmp)
39881 pack_tmp = ishft(pack_tmp, -6)
39883 data_tmp = full_data(idata)
39884 data_tmp = ishft(data_tmp, 14)
39885 data_tmp = iand(data_tmp, mask_left(6))
39886 pack_tmp = ior(pack_tmp, data_tmp)
39888 packed_data(ipack) = pack_tmp
39889 data_tmp = full_data(idata)
39890 pack_tmp = ishft(data_tmp, 20)
39891 pack_tmp = ishft(pack_tmp, -20)
39893 data_tmp = full_data(idata)
39894 data_tmp = ishft(data_tmp, 14)
39895 data_tmp = iand(data_tmp, mask_left(20))
39896 pack_tmp = ior(pack_tmp, data_tmp)
39898 packed_data(ipack) = pack_tmp
39899 data_tmp = full_data(idata)
39900 pack_tmp = ishft(data_tmp, 34)
39901 pack_tmp = ishft(pack_tmp, -34)
39903 data_tmp = full_data(idata)
39904 data_tmp = ishft(data_tmp, 14)
39905 data_tmp = iand(data_tmp, mask_left(34))
39906 pack_tmp = ior(pack_tmp, data_tmp)
39908 packed_data(ipack) = pack_tmp
39909 data_tmp = full_data(idata)
39910 pack_tmp = ishft(data_tmp, 48)
39911 pack_tmp = ishft(pack_tmp, -48)
39913 data_tmp = full_data(idata)
39914 data_tmp = ishft(data_tmp, 14)
39915 data_tmp = iand(data_tmp, mask_left(48))
39916 pack_tmp = ior(pack_tmp, data_tmp)
39918 packed_data(ipack) = pack_tmp
39919 data_tmp = full_data(idata)
39920 pack_tmp = ishft(data_tmp, 62)
39921 pack_tmp = ishft(pack_tmp, -50)
39923 data_tmp = full_data(idata)
39924 data_tmp = ishft(data_tmp, 14)
39925 pack_tmp = ior(pack_tmp, data_tmp)
39926 pack_tmp = ishft(pack_tmp, -12)
39928 data_tmp = full_data(idata)
39929 data_tmp = ishft(data_tmp, 14)
39930 data_tmp = iand(data_tmp, mask_left(12))
39931 pack_tmp = ior(pack_tmp, data_tmp)
39933 packed_data(ipack) = pack_tmp
39934 data_tmp = full_data(idata)
39935 pack_tmp = ishft(data_tmp, 26)
39936 pack_tmp = ishft(pack_tmp, -26)
39938 data_tmp = full_data(idata)
39939 data_tmp = ishft(data_tmp, 14)
39940 data_tmp = iand(data_tmp, mask_left(26))
39941 pack_tmp = ior(pack_tmp, data_tmp)
39943 packed_data(ipack) = pack_tmp
39944 data_tmp = full_data(idata)
39945 pack_tmp = ishft(data_tmp, 40)
39946 pack_tmp = ishft(pack_tmp, -40)
39948 data_tmp = full_data(idata)
39949 data_tmp = ishft(data_tmp, 14)
39950 data_tmp = iand(data_tmp, mask_left(40))
39951 pack_tmp = ior(pack_tmp, data_tmp)
39953 packed_data(ipack) = pack_tmp
39954 data_tmp = full_data(idata)
39955 pack_tmp = ishft(data_tmp, 54)
39956 pack_tmp = ishft(pack_tmp, -50)
39958 data_tmp = full_data(idata)
39959 data_tmp = ishft(data_tmp, 14)
39960 pack_tmp = ior(pack_tmp, data_tmp)
39961 pack_tmp = ishft(pack_tmp, -4)
39963 data_tmp = full_data(idata)
39964 data_tmp = ishft(data_tmp, 14)
39965 data_tmp = iand(data_tmp, mask_left(4))
39966 pack_tmp = ior(pack_tmp, data_tmp)
39968 packed_data(ipack) = pack_tmp
39969 data_tmp = full_data(idata)
39970 pack_tmp = ishft(data_tmp, 18)
39971 pack_tmp = ishft(pack_tmp, -18)
39973 data_tmp = full_data(idata)
39974 data_tmp = ishft(data_tmp, 14)
39975 data_tmp = iand(data_tmp, mask_left(18))
39976 pack_tmp = ior(pack_tmp, data_tmp)
39978 packed_data(ipack) = pack_tmp
39979 data_tmp = full_data(idata)
39980 pack_tmp = ishft(data_tmp, 32)
39981 pack_tmp = ishft(pack_tmp, -32)
39983 data_tmp = full_data(idata)
39984 data_tmp = ishft(data_tmp, 14)
39985 data_tmp = iand(data_tmp, mask_left(32))
39986 pack_tmp = ior(pack_tmp, data_tmp)
39988 packed_data(ipack) = pack_tmp
39989 data_tmp = full_data(idata)
39990 pack_tmp = ishft(data_tmp, 46)
39991 pack_tmp = ishft(pack_tmp, -46)
39993 data_tmp = full_data(idata)
39994 data_tmp = ishft(data_tmp, 14)
39995 data_tmp = iand(data_tmp, mask_left(46))
39996 pack_tmp = ior(pack_tmp, data_tmp)
39998 packed_data(ipack) = pack_tmp
39999 data_tmp = full_data(idata)
40000 pack_tmp = ishft(data_tmp, 60)
40001 pack_tmp = ishft(pack_tmp, -50)
40003 data_tmp = full_data(idata)
40004 data_tmp = ishft(data_tmp, 14)
40005 pack_tmp = ior(pack_tmp, data_tmp)
40006 pack_tmp = ishft(pack_tmp, -10)
40008 data_tmp = full_data(idata)
40009 data_tmp = ishft(data_tmp, 14)
40010 data_tmp = iand(data_tmp, mask_left(10))
40011 pack_tmp = ior(pack_tmp, data_tmp)
40013 packed_data(ipack) = pack_tmp
40014 data_tmp = full_data(idata)
40015 pack_tmp = ishft(data_tmp, 24)
40016 pack_tmp = ishft(pack_tmp, -24)
40018 data_tmp = full_data(idata)
40019 data_tmp = ishft(data_tmp, 14)
40020 data_tmp = iand(data_tmp, mask_left(24))
40021 pack_tmp = ior(pack_tmp, data_tmp)
40023 packed_data(ipack) = pack_tmp
40024 data_tmp = full_data(idata)
40025 pack_tmp = ishft(data_tmp, 38)
40026 pack_tmp = ishft(pack_tmp, -38)
40028 data_tmp = full_data(idata)
40029 data_tmp = ishft(data_tmp, 14)
40030 data_tmp = iand(data_tmp, mask_left(38))
40031 pack_tmp = ior(pack_tmp, data_tmp)
40033 packed_data(ipack) = pack_tmp
40034 data_tmp = full_data(idata)
40035 pack_tmp = ishft(data_tmp, 52)
40036 pack_tmp = ishft(pack_tmp, -50)
40038 data_tmp = full_data(idata)
40039 data_tmp = ishft(data_tmp, 14)
40040 pack_tmp = ior(pack_tmp, data_tmp)
40041 pack_tmp = ishft(pack_tmp, -2)
40043 data_tmp = full_data(idata)
40044 data_tmp = ishft(data_tmp, 14)
40045 data_tmp = iand(data_tmp, mask_left(2))
40046 pack_tmp = ior(pack_tmp, data_tmp)
40048 packed_data(ipack) = pack_tmp
40049 data_tmp = full_data(idata)
40050 pack_tmp = ishft(data_tmp, 16)
40051 pack_tmp = ishft(pack_tmp, -16)
40053 data_tmp = full_data(idata)
40054 data_tmp = ishft(data_tmp, 14)
40055 data_tmp = iand(data_tmp, mask_left(16))
40056 pack_tmp = ior(pack_tmp, data_tmp)
40058 packed_data(ipack) = pack_tmp
40059 data_tmp = full_data(idata)
40060 pack_tmp = ishft(data_tmp, 30)
40061 pack_tmp = ishft(pack_tmp, -30)
40063 data_tmp = full_data(idata)
40064 data_tmp = ishft(data_tmp, 14)
40065 data_tmp = iand(data_tmp, mask_left(30))
40066 pack_tmp = ior(pack_tmp, data_tmp)
40068 packed_data(ipack) = pack_tmp
40069 data_tmp = full_data(idata)
40070 pack_tmp = ishft(data_tmp, 44)
40071 pack_tmp = ishft(pack_tmp, -44)
40073 data_tmp = full_data(idata)
40074 data_tmp = ishft(data_tmp, 14)
40075 data_tmp = iand(data_tmp, mask_left(44))
40076 pack_tmp = ior(pack_tmp, data_tmp)
40078 packed_data(ipack) = pack_tmp
40079 data_tmp = full_data(idata)
40080 pack_tmp = ishft(data_tmp, 58)
40081 pack_tmp = ishft(pack_tmp, -50)
40083 data_tmp = full_data(idata)
40084 data_tmp = ishft(data_tmp, 14)
40085 pack_tmp = ior(pack_tmp, data_tmp)
40086 pack_tmp = ishft(pack_tmp, -8)
40088 data_tmp = full_data(idata)
40089 data_tmp = ishft(data_tmp, 14)
40090 data_tmp = iand(data_tmp, mask_left(8))
40091 pack_tmp = ior(pack_tmp, data_tmp)
40093 packed_data(ipack) = pack_tmp
40094 data_tmp = full_data(idata)
40095 pack_tmp = ishft(data_tmp, 22)
40096 pack_tmp = ishft(pack_tmp, -22)
40098 data_tmp = full_data(idata)
40099 data_tmp = ishft(data_tmp, 14)
40100 data_tmp = iand(data_tmp, mask_left(22))
40101 pack_tmp = ior(pack_tmp, data_tmp)
40103 packed_data(ipack) = pack_tmp
40104 data_tmp = full_data(idata)
40105 pack_tmp = ishft(data_tmp, 36)
40106 pack_tmp = ishft(pack_tmp, -36)
40108 data_tmp = full_data(idata)
40109 data_tmp = ishft(data_tmp, 14)
40110 data_tmp = iand(data_tmp, mask_left(36))
40111 pack_tmp = ior(pack_tmp, data_tmp)
40113 packed_data(ipack) = pack_tmp
40114 data_tmp = full_data(idata)
40115 pack_tmp = ishft(data_tmp, 50)
40116 pack_tmp = ishft(pack_tmp, -50)
40118 data_tmp = full_data(idata)
40119 data_tmp = ishft(data_tmp, 14)
40120 pack_tmp = ior(pack_tmp, data_tmp)
40121 pack_tmp = ishft(pack_tmp, 0)
40122 pack_tmp = ishft(pack_tmp, 0)
40124 packed_data(ipack) = pack_tmp
40126 IF (ndata_rep < ndata)
THEN
40127 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
40129 END SUBROUTINE ints2bits_50
40137 SUBROUTINE bits2ints_50(Ndata, packed_data, full_data)
40138 INTEGER,
INTENT(IN) :: Ndata
40139 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
40140 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
40142 INTEGER,
PARAMETER :: Nbits = 50
40144 INTEGER :: idata, ipack, kdata, Ndata_rep
40145 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
40150 ndata_rep = (ndata/64)*64
40151 DO kdata = 1, ndata_rep, 64
40153 data_tmp = ishft(pack_tmp, 50)
40155 pack_tmp = packed_data(ipack)
40156 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
40157 pack_tmp = ishft(pack_tmp, -50)
40159 data_tmp = ishft(pack_tmp, 36)
40161 pack_tmp = packed_data(ipack)
40162 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
40163 pack_tmp = ishft(pack_tmp, -36)
40165 data_tmp = ishft(pack_tmp, 22)
40167 pack_tmp = packed_data(ipack)
40168 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
40169 pack_tmp = ishft(pack_tmp, -22)
40171 data_tmp = ishft(pack_tmp, 8)
40173 pack_tmp = packed_data(ipack)
40174 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
40175 pack_tmp = ishft(pack_tmp, -8)
40177 data_tmp = iand(pack_tmp, mask_right(nbits))
40178 full_data(idata) = data_tmp
40179 pack_tmp = ishft(pack_tmp, -nbits)
40181 data_tmp = ishft(pack_tmp, 44)
40183 pack_tmp = packed_data(ipack)
40184 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
40185 pack_tmp = ishft(pack_tmp, -44)
40187 data_tmp = ishft(pack_tmp, 30)
40189 pack_tmp = packed_data(ipack)
40190 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
40191 pack_tmp = ishft(pack_tmp, -30)
40193 data_tmp = ishft(pack_tmp, 16)
40195 pack_tmp = packed_data(ipack)
40196 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
40197 pack_tmp = ishft(pack_tmp, -16)
40199 data_tmp = ishft(pack_tmp, 2)
40201 pack_tmp = packed_data(ipack)
40202 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
40203 pack_tmp = ishft(pack_tmp, -2)
40205 data_tmp = iand(pack_tmp, mask_right(nbits))
40206 full_data(idata) = data_tmp
40207 pack_tmp = ishft(pack_tmp, -nbits)
40209 data_tmp = ishft(pack_tmp, 38)
40211 pack_tmp = packed_data(ipack)
40212 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
40213 pack_tmp = ishft(pack_tmp, -38)
40215 data_tmp = ishft(pack_tmp, 24)
40217 pack_tmp = packed_data(ipack)
40218 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
40219 pack_tmp = ishft(pack_tmp, -24)
40221 data_tmp = ishft(pack_tmp, 10)
40223 pack_tmp = packed_data(ipack)
40224 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
40225 pack_tmp = ishft(pack_tmp, -10)
40227 data_tmp = iand(pack_tmp, mask_right(nbits))
40228 full_data(idata) = data_tmp
40229 pack_tmp = ishft(pack_tmp, -nbits)
40231 data_tmp = ishft(pack_tmp, 46)
40233 pack_tmp = packed_data(ipack)
40234 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
40235 pack_tmp = ishft(pack_tmp, -46)
40237 data_tmp = ishft(pack_tmp, 32)
40239 pack_tmp = packed_data(ipack)
40240 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
40241 pack_tmp = ishft(pack_tmp, -32)
40243 data_tmp = ishft(pack_tmp, 18)
40245 pack_tmp = packed_data(ipack)
40246 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
40247 pack_tmp = ishft(pack_tmp, -18)
40249 data_tmp = ishft(pack_tmp, 4)
40251 pack_tmp = packed_data(ipack)
40252 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
40253 pack_tmp = ishft(pack_tmp, -4)
40255 data_tmp = iand(pack_tmp, mask_right(nbits))
40256 full_data(idata) = data_tmp
40257 pack_tmp = ishft(pack_tmp, -nbits)
40259 data_tmp = ishft(pack_tmp, 40)
40261 pack_tmp = packed_data(ipack)
40262 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
40263 pack_tmp = ishft(pack_tmp, -40)
40265 data_tmp = ishft(pack_tmp, 26)
40267 pack_tmp = packed_data(ipack)
40268 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
40269 pack_tmp = ishft(pack_tmp, -26)
40271 data_tmp = ishft(pack_tmp, 12)
40273 pack_tmp = packed_data(ipack)
40274 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
40275 pack_tmp = ishft(pack_tmp, -12)
40277 data_tmp = iand(pack_tmp, mask_right(nbits))
40278 full_data(idata) = data_tmp
40279 pack_tmp = ishft(pack_tmp, -nbits)
40281 data_tmp = ishft(pack_tmp, 48)
40283 pack_tmp = packed_data(ipack)
40284 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
40285 pack_tmp = ishft(pack_tmp, -48)
40287 data_tmp = ishft(pack_tmp, 34)
40289 pack_tmp = packed_data(ipack)
40290 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
40291 pack_tmp = ishft(pack_tmp, -34)
40293 data_tmp = ishft(pack_tmp, 20)
40295 pack_tmp = packed_data(ipack)
40296 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
40297 pack_tmp = ishft(pack_tmp, -20)
40299 data_tmp = ishft(pack_tmp, 6)
40301 pack_tmp = packed_data(ipack)
40302 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
40303 pack_tmp = ishft(pack_tmp, -6)
40305 data_tmp = iand(pack_tmp, mask_right(nbits))
40306 full_data(idata) = data_tmp
40307 pack_tmp = ishft(pack_tmp, -nbits)
40309 data_tmp = ishft(pack_tmp, 42)
40311 pack_tmp = packed_data(ipack)
40312 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
40313 pack_tmp = ishft(pack_tmp, -42)
40315 data_tmp = ishft(pack_tmp, 28)
40317 pack_tmp = packed_data(ipack)
40318 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
40319 pack_tmp = ishft(pack_tmp, -28)
40321 data_tmp = ishft(pack_tmp, 14)
40323 pack_tmp = packed_data(ipack)
40324 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
40325 pack_tmp = ishft(pack_tmp, -14)
40327 data_tmp = iand(pack_tmp, mask_right(nbits))
40328 full_data(idata) = data_tmp
40329 pack_tmp = ishft(pack_tmp, -nbits)
40331 data_tmp = ishft(pack_tmp, 50)
40333 pack_tmp = packed_data(ipack)
40334 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
40335 pack_tmp = ishft(pack_tmp, -50)
40337 data_tmp = ishft(pack_tmp, 36)
40339 pack_tmp = packed_data(ipack)
40340 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
40341 pack_tmp = ishft(pack_tmp, -36)
40343 data_tmp = ishft(pack_tmp, 22)
40345 pack_tmp = packed_data(ipack)
40346 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
40347 pack_tmp = ishft(pack_tmp, -22)
40349 data_tmp = ishft(pack_tmp, 8)
40351 pack_tmp = packed_data(ipack)
40352 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
40353 pack_tmp = ishft(pack_tmp, -8)
40355 data_tmp = iand(pack_tmp, mask_right(nbits))
40356 full_data(idata) = data_tmp
40357 pack_tmp = ishft(pack_tmp, -nbits)
40359 data_tmp = ishft(pack_tmp, 44)
40361 pack_tmp = packed_data(ipack)
40362 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
40363 pack_tmp = ishft(pack_tmp, -44)
40365 data_tmp = ishft(pack_tmp, 30)
40367 pack_tmp = packed_data(ipack)
40368 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
40369 pack_tmp = ishft(pack_tmp, -30)
40371 data_tmp = ishft(pack_tmp, 16)
40373 pack_tmp = packed_data(ipack)
40374 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
40375 pack_tmp = ishft(pack_tmp, -16)
40377 data_tmp = ishft(pack_tmp, 2)
40379 pack_tmp = packed_data(ipack)
40380 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
40381 pack_tmp = ishft(pack_tmp, -2)
40383 data_tmp = iand(pack_tmp, mask_right(nbits))
40384 full_data(idata) = data_tmp
40385 pack_tmp = ishft(pack_tmp, -nbits)
40387 data_tmp = ishft(pack_tmp, 38)
40389 pack_tmp = packed_data(ipack)
40390 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
40391 pack_tmp = ishft(pack_tmp, -38)
40393 data_tmp = ishft(pack_tmp, 24)
40395 pack_tmp = packed_data(ipack)
40396 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
40397 pack_tmp = ishft(pack_tmp, -24)
40399 data_tmp = ishft(pack_tmp, 10)
40401 pack_tmp = packed_data(ipack)
40402 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
40403 pack_tmp = ishft(pack_tmp, -10)
40405 data_tmp = iand(pack_tmp, mask_right(nbits))
40406 full_data(idata) = data_tmp
40407 pack_tmp = ishft(pack_tmp, -nbits)
40409 data_tmp = ishft(pack_tmp, 46)
40411 pack_tmp = packed_data(ipack)
40412 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
40413 pack_tmp = ishft(pack_tmp, -46)
40415 data_tmp = ishft(pack_tmp, 32)
40417 pack_tmp = packed_data(ipack)
40418 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
40419 pack_tmp = ishft(pack_tmp, -32)
40421 data_tmp = ishft(pack_tmp, 18)
40423 pack_tmp = packed_data(ipack)
40424 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
40425 pack_tmp = ishft(pack_tmp, -18)
40427 data_tmp = ishft(pack_tmp, 4)
40429 pack_tmp = packed_data(ipack)
40430 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
40431 pack_tmp = ishft(pack_tmp, -4)
40433 data_tmp = iand(pack_tmp, mask_right(nbits))
40434 full_data(idata) = data_tmp
40435 pack_tmp = ishft(pack_tmp, -nbits)
40437 data_tmp = ishft(pack_tmp, 40)
40439 pack_tmp = packed_data(ipack)
40440 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
40441 pack_tmp = ishft(pack_tmp, -40)
40443 data_tmp = ishft(pack_tmp, 26)
40445 pack_tmp = packed_data(ipack)
40446 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
40447 pack_tmp = ishft(pack_tmp, -26)
40449 data_tmp = ishft(pack_tmp, 12)
40451 pack_tmp = packed_data(ipack)
40452 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
40453 pack_tmp = ishft(pack_tmp, -12)
40455 data_tmp = iand(pack_tmp, mask_right(nbits))
40456 full_data(idata) = data_tmp
40457 pack_tmp = ishft(pack_tmp, -nbits)
40459 data_tmp = ishft(pack_tmp, 48)
40461 pack_tmp = packed_data(ipack)
40462 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
40463 pack_tmp = ishft(pack_tmp, -48)
40465 data_tmp = ishft(pack_tmp, 34)
40467 pack_tmp = packed_data(ipack)
40468 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
40469 pack_tmp = ishft(pack_tmp, -34)
40471 data_tmp = ishft(pack_tmp, 20)
40473 pack_tmp = packed_data(ipack)
40474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
40475 pack_tmp = ishft(pack_tmp, -20)
40477 data_tmp = ishft(pack_tmp, 6)
40479 pack_tmp = packed_data(ipack)
40480 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
40481 pack_tmp = ishft(pack_tmp, -6)
40483 data_tmp = iand(pack_tmp, mask_right(nbits))
40484 full_data(idata) = data_tmp
40485 pack_tmp = ishft(pack_tmp, -nbits)
40487 data_tmp = ishft(pack_tmp, 42)
40489 pack_tmp = packed_data(ipack)
40490 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
40491 pack_tmp = ishft(pack_tmp, -42)
40493 data_tmp = ishft(pack_tmp, 28)
40495 pack_tmp = packed_data(ipack)
40496 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
40497 pack_tmp = ishft(pack_tmp, -28)
40499 data_tmp = ishft(pack_tmp, 14)
40501 pack_tmp = packed_data(ipack)
40502 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
40503 pack_tmp = ishft(pack_tmp, -14)
40505 data_tmp = iand(pack_tmp, mask_right(nbits))
40506 full_data(idata) = data_tmp
40507 pack_tmp = ishft(pack_tmp, -nbits)
40509 IF (ndata_rep < ndata)
THEN
40510 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
40512 END SUBROUTINE bits2ints_50
40520 SUBROUTINE ints2bits_51(Ndata, packed_data, full_data)
40521 INTEGER,
INTENT(IN) :: Ndata
40522 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
40523 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
40525 INTEGER,
PARAMETER :: Nbits = 51
40527 INTEGER :: idata, ipack, kdata, Ndata_rep
40528 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
40532 ndata_rep = (ndata/64)*64
40533 DO kdata = 1, ndata_rep, 64
40536 data_tmp = full_data(idata)
40537 data_tmp = ishft(data_tmp, 13)
40538 pack_tmp = ior(pack_tmp, data_tmp)
40539 pack_tmp = ishft(pack_tmp, -13)
40541 data_tmp = full_data(idata)
40542 data_tmp = ishft(data_tmp, 13)
40543 data_tmp = iand(data_tmp, mask_left(13))
40544 pack_tmp = ior(pack_tmp, data_tmp)
40546 packed_data(ipack) = pack_tmp
40547 data_tmp = full_data(idata)
40548 pack_tmp = ishft(data_tmp, 26)
40549 pack_tmp = ishft(pack_tmp, -26)
40551 data_tmp = full_data(idata)
40552 data_tmp = ishft(data_tmp, 13)
40553 data_tmp = iand(data_tmp, mask_left(26))
40554 pack_tmp = ior(pack_tmp, data_tmp)
40556 packed_data(ipack) = pack_tmp
40557 data_tmp = full_data(idata)
40558 pack_tmp = ishft(data_tmp, 39)
40559 pack_tmp = ishft(pack_tmp, -39)
40561 data_tmp = full_data(idata)
40562 data_tmp = ishft(data_tmp, 13)
40563 data_tmp = iand(data_tmp, mask_left(39))
40564 pack_tmp = ior(pack_tmp, data_tmp)
40566 packed_data(ipack) = pack_tmp
40567 data_tmp = full_data(idata)
40568 pack_tmp = ishft(data_tmp, 52)
40569 pack_tmp = ishft(pack_tmp, -51)
40571 data_tmp = full_data(idata)
40572 data_tmp = ishft(data_tmp, 13)
40573 pack_tmp = ior(pack_tmp, data_tmp)
40574 pack_tmp = ishft(pack_tmp, -1)
40576 data_tmp = full_data(idata)
40577 data_tmp = ishft(data_tmp, 13)
40578 data_tmp = iand(data_tmp, mask_left(1))
40579 pack_tmp = ior(pack_tmp, data_tmp)
40581 packed_data(ipack) = pack_tmp
40582 data_tmp = full_data(idata)
40583 pack_tmp = ishft(data_tmp, 14)
40584 pack_tmp = ishft(pack_tmp, -14)
40586 data_tmp = full_data(idata)
40587 data_tmp = ishft(data_tmp, 13)
40588 data_tmp = iand(data_tmp, mask_left(14))
40589 pack_tmp = ior(pack_tmp, data_tmp)
40591 packed_data(ipack) = pack_tmp
40592 data_tmp = full_data(idata)
40593 pack_tmp = ishft(data_tmp, 27)
40594 pack_tmp = ishft(pack_tmp, -27)
40596 data_tmp = full_data(idata)
40597 data_tmp = ishft(data_tmp, 13)
40598 data_tmp = iand(data_tmp, mask_left(27))
40599 pack_tmp = ior(pack_tmp, data_tmp)
40601 packed_data(ipack) = pack_tmp
40602 data_tmp = full_data(idata)
40603 pack_tmp = ishft(data_tmp, 40)
40604 pack_tmp = ishft(pack_tmp, -40)
40606 data_tmp = full_data(idata)
40607 data_tmp = ishft(data_tmp, 13)
40608 data_tmp = iand(data_tmp, mask_left(40))
40609 pack_tmp = ior(pack_tmp, data_tmp)
40611 packed_data(ipack) = pack_tmp
40612 data_tmp = full_data(idata)
40613 pack_tmp = ishft(data_tmp, 53)
40614 pack_tmp = ishft(pack_tmp, -51)
40616 data_tmp = full_data(idata)
40617 data_tmp = ishft(data_tmp, 13)
40618 pack_tmp = ior(pack_tmp, data_tmp)
40619 pack_tmp = ishft(pack_tmp, -2)
40621 data_tmp = full_data(idata)
40622 data_tmp = ishft(data_tmp, 13)
40623 data_tmp = iand(data_tmp, mask_left(2))
40624 pack_tmp = ior(pack_tmp, data_tmp)
40626 packed_data(ipack) = pack_tmp
40627 data_tmp = full_data(idata)
40628 pack_tmp = ishft(data_tmp, 15)
40629 pack_tmp = ishft(pack_tmp, -15)
40631 data_tmp = full_data(idata)
40632 data_tmp = ishft(data_tmp, 13)
40633 data_tmp = iand(data_tmp, mask_left(15))
40634 pack_tmp = ior(pack_tmp, data_tmp)
40636 packed_data(ipack) = pack_tmp
40637 data_tmp = full_data(idata)
40638 pack_tmp = ishft(data_tmp, 28)
40639 pack_tmp = ishft(pack_tmp, -28)
40641 data_tmp = full_data(idata)
40642 data_tmp = ishft(data_tmp, 13)
40643 data_tmp = iand(data_tmp, mask_left(28))
40644 pack_tmp = ior(pack_tmp, data_tmp)
40646 packed_data(ipack) = pack_tmp
40647 data_tmp = full_data(idata)
40648 pack_tmp = ishft(data_tmp, 41)
40649 pack_tmp = ishft(pack_tmp, -41)
40651 data_tmp = full_data(idata)
40652 data_tmp = ishft(data_tmp, 13)
40653 data_tmp = iand(data_tmp, mask_left(41))
40654 pack_tmp = ior(pack_tmp, data_tmp)
40656 packed_data(ipack) = pack_tmp
40657 data_tmp = full_data(idata)
40658 pack_tmp = ishft(data_tmp, 54)
40659 pack_tmp = ishft(pack_tmp, -51)
40661 data_tmp = full_data(idata)
40662 data_tmp = ishft(data_tmp, 13)
40663 pack_tmp = ior(pack_tmp, data_tmp)
40664 pack_tmp = ishft(pack_tmp, -3)
40666 data_tmp = full_data(idata)
40667 data_tmp = ishft(data_tmp, 13)
40668 data_tmp = iand(data_tmp, mask_left(3))
40669 pack_tmp = ior(pack_tmp, data_tmp)
40671 packed_data(ipack) = pack_tmp
40672 data_tmp = full_data(idata)
40673 pack_tmp = ishft(data_tmp, 16)
40674 pack_tmp = ishft(pack_tmp, -16)
40676 data_tmp = full_data(idata)
40677 data_tmp = ishft(data_tmp, 13)
40678 data_tmp = iand(data_tmp, mask_left(16))
40679 pack_tmp = ior(pack_tmp, data_tmp)
40681 packed_data(ipack) = pack_tmp
40682 data_tmp = full_data(idata)
40683 pack_tmp = ishft(data_tmp, 29)
40684 pack_tmp = ishft(pack_tmp, -29)
40686 data_tmp = full_data(idata)
40687 data_tmp = ishft(data_tmp, 13)
40688 data_tmp = iand(data_tmp, mask_left(29))
40689 pack_tmp = ior(pack_tmp, data_tmp)
40691 packed_data(ipack) = pack_tmp
40692 data_tmp = full_data(idata)
40693 pack_tmp = ishft(data_tmp, 42)
40694 pack_tmp = ishft(pack_tmp, -42)
40696 data_tmp = full_data(idata)
40697 data_tmp = ishft(data_tmp, 13)
40698 data_tmp = iand(data_tmp, mask_left(42))
40699 pack_tmp = ior(pack_tmp, data_tmp)
40701 packed_data(ipack) = pack_tmp
40702 data_tmp = full_data(idata)
40703 pack_tmp = ishft(data_tmp, 55)
40704 pack_tmp = ishft(pack_tmp, -51)
40706 data_tmp = full_data(idata)
40707 data_tmp = ishft(data_tmp, 13)
40708 pack_tmp = ior(pack_tmp, data_tmp)
40709 pack_tmp = ishft(pack_tmp, -4)
40711 data_tmp = full_data(idata)
40712 data_tmp = ishft(data_tmp, 13)
40713 data_tmp = iand(data_tmp, mask_left(4))
40714 pack_tmp = ior(pack_tmp, data_tmp)
40716 packed_data(ipack) = pack_tmp
40717 data_tmp = full_data(idata)
40718 pack_tmp = ishft(data_tmp, 17)
40719 pack_tmp = ishft(pack_tmp, -17)
40721 data_tmp = full_data(idata)
40722 data_tmp = ishft(data_tmp, 13)
40723 data_tmp = iand(data_tmp, mask_left(17))
40724 pack_tmp = ior(pack_tmp, data_tmp)
40726 packed_data(ipack) = pack_tmp
40727 data_tmp = full_data(idata)
40728 pack_tmp = ishft(data_tmp, 30)
40729 pack_tmp = ishft(pack_tmp, -30)
40731 data_tmp = full_data(idata)
40732 data_tmp = ishft(data_tmp, 13)
40733 data_tmp = iand(data_tmp, mask_left(30))
40734 pack_tmp = ior(pack_tmp, data_tmp)
40736 packed_data(ipack) = pack_tmp
40737 data_tmp = full_data(idata)
40738 pack_tmp = ishft(data_tmp, 43)
40739 pack_tmp = ishft(pack_tmp, -43)
40741 data_tmp = full_data(idata)
40742 data_tmp = ishft(data_tmp, 13)
40743 data_tmp = iand(data_tmp, mask_left(43))
40744 pack_tmp = ior(pack_tmp, data_tmp)
40746 packed_data(ipack) = pack_tmp
40747 data_tmp = full_data(idata)
40748 pack_tmp = ishft(data_tmp, 56)
40749 pack_tmp = ishft(pack_tmp, -51)
40751 data_tmp = full_data(idata)
40752 data_tmp = ishft(data_tmp, 13)
40753 pack_tmp = ior(pack_tmp, data_tmp)
40754 pack_tmp = ishft(pack_tmp, -5)
40756 data_tmp = full_data(idata)
40757 data_tmp = ishft(data_tmp, 13)
40758 data_tmp = iand(data_tmp, mask_left(5))
40759 pack_tmp = ior(pack_tmp, data_tmp)
40761 packed_data(ipack) = pack_tmp
40762 data_tmp = full_data(idata)
40763 pack_tmp = ishft(data_tmp, 18)
40764 pack_tmp = ishft(pack_tmp, -18)
40766 data_tmp = full_data(idata)
40767 data_tmp = ishft(data_tmp, 13)
40768 data_tmp = iand(data_tmp, mask_left(18))
40769 pack_tmp = ior(pack_tmp, data_tmp)
40771 packed_data(ipack) = pack_tmp
40772 data_tmp = full_data(idata)
40773 pack_tmp = ishft(data_tmp, 31)
40774 pack_tmp = ishft(pack_tmp, -31)
40776 data_tmp = full_data(idata)
40777 data_tmp = ishft(data_tmp, 13)
40778 data_tmp = iand(data_tmp, mask_left(31))
40779 pack_tmp = ior(pack_tmp, data_tmp)
40781 packed_data(ipack) = pack_tmp
40782 data_tmp = full_data(idata)
40783 pack_tmp = ishft(data_tmp, 44)
40784 pack_tmp = ishft(pack_tmp, -44)
40786 data_tmp = full_data(idata)
40787 data_tmp = ishft(data_tmp, 13)
40788 data_tmp = iand(data_tmp, mask_left(44))
40789 pack_tmp = ior(pack_tmp, data_tmp)
40791 packed_data(ipack) = pack_tmp
40792 data_tmp = full_data(idata)
40793 pack_tmp = ishft(data_tmp, 57)
40794 pack_tmp = ishft(pack_tmp, -51)
40796 data_tmp = full_data(idata)
40797 data_tmp = ishft(data_tmp, 13)
40798 pack_tmp = ior(pack_tmp, data_tmp)
40799 pack_tmp = ishft(pack_tmp, -6)
40801 data_tmp = full_data(idata)
40802 data_tmp = ishft(data_tmp, 13)
40803 data_tmp = iand(data_tmp, mask_left(6))
40804 pack_tmp = ior(pack_tmp, data_tmp)
40806 packed_data(ipack) = pack_tmp
40807 data_tmp = full_data(idata)
40808 pack_tmp = ishft(data_tmp, 19)
40809 pack_tmp = ishft(pack_tmp, -19)
40811 data_tmp = full_data(idata)
40812 data_tmp = ishft(data_tmp, 13)
40813 data_tmp = iand(data_tmp, mask_left(19))
40814 pack_tmp = ior(pack_tmp, data_tmp)
40816 packed_data(ipack) = pack_tmp
40817 data_tmp = full_data(idata)
40818 pack_tmp = ishft(data_tmp, 32)
40819 pack_tmp = ishft(pack_tmp, -32)
40821 data_tmp = full_data(idata)
40822 data_tmp = ishft(data_tmp, 13)
40823 data_tmp = iand(data_tmp, mask_left(32))
40824 pack_tmp = ior(pack_tmp, data_tmp)
40826 packed_data(ipack) = pack_tmp
40827 data_tmp = full_data(idata)
40828 pack_tmp = ishft(data_tmp, 45)
40829 pack_tmp = ishft(pack_tmp, -45)
40831 data_tmp = full_data(idata)
40832 data_tmp = ishft(data_tmp, 13)
40833 data_tmp = iand(data_tmp, mask_left(45))
40834 pack_tmp = ior(pack_tmp, data_tmp)
40836 packed_data(ipack) = pack_tmp
40837 data_tmp = full_data(idata)
40838 pack_tmp = ishft(data_tmp, 58)
40839 pack_tmp = ishft(pack_tmp, -51)
40841 data_tmp = full_data(idata)
40842 data_tmp = ishft(data_tmp, 13)
40843 pack_tmp = ior(pack_tmp, data_tmp)
40844 pack_tmp = ishft(pack_tmp, -7)
40846 data_tmp = full_data(idata)
40847 data_tmp = ishft(data_tmp, 13)
40848 data_tmp = iand(data_tmp, mask_left(7))
40849 pack_tmp = ior(pack_tmp, data_tmp)
40851 packed_data(ipack) = pack_tmp
40852 data_tmp = full_data(idata)
40853 pack_tmp = ishft(data_tmp, 20)
40854 pack_tmp = ishft(pack_tmp, -20)
40856 data_tmp = full_data(idata)
40857 data_tmp = ishft(data_tmp, 13)
40858 data_tmp = iand(data_tmp, mask_left(20))
40859 pack_tmp = ior(pack_tmp, data_tmp)
40861 packed_data(ipack) = pack_tmp
40862 data_tmp = full_data(idata)
40863 pack_tmp = ishft(data_tmp, 33)
40864 pack_tmp = ishft(pack_tmp, -33)
40866 data_tmp = full_data(idata)
40867 data_tmp = ishft(data_tmp, 13)
40868 data_tmp = iand(data_tmp, mask_left(33))
40869 pack_tmp = ior(pack_tmp, data_tmp)
40871 packed_data(ipack) = pack_tmp
40872 data_tmp = full_data(idata)
40873 pack_tmp = ishft(data_tmp, 46)
40874 pack_tmp = ishft(pack_tmp, -46)
40876 data_tmp = full_data(idata)
40877 data_tmp = ishft(data_tmp, 13)
40878 data_tmp = iand(data_tmp, mask_left(46))
40879 pack_tmp = ior(pack_tmp, data_tmp)
40881 packed_data(ipack) = pack_tmp
40882 data_tmp = full_data(idata)
40883 pack_tmp = ishft(data_tmp, 59)
40884 pack_tmp = ishft(pack_tmp, -51)
40886 data_tmp = full_data(idata)
40887 data_tmp = ishft(data_tmp, 13)
40888 pack_tmp = ior(pack_tmp, data_tmp)
40889 pack_tmp = ishft(pack_tmp, -8)
40891 data_tmp = full_data(idata)
40892 data_tmp = ishft(data_tmp, 13)
40893 data_tmp = iand(data_tmp, mask_left(8))
40894 pack_tmp = ior(pack_tmp, data_tmp)
40896 packed_data(ipack) = pack_tmp
40897 data_tmp = full_data(idata)
40898 pack_tmp = ishft(data_tmp, 21)
40899 pack_tmp = ishft(pack_tmp, -21)
40901 data_tmp = full_data(idata)
40902 data_tmp = ishft(data_tmp, 13)
40903 data_tmp = iand(data_tmp, mask_left(21))
40904 pack_tmp = ior(pack_tmp, data_tmp)
40906 packed_data(ipack) = pack_tmp
40907 data_tmp = full_data(idata)
40908 pack_tmp = ishft(data_tmp, 34)
40909 pack_tmp = ishft(pack_tmp, -34)
40911 data_tmp = full_data(idata)
40912 data_tmp = ishft(data_tmp, 13)
40913 data_tmp = iand(data_tmp, mask_left(34))
40914 pack_tmp = ior(pack_tmp, data_tmp)
40916 packed_data(ipack) = pack_tmp
40917 data_tmp = full_data(idata)
40918 pack_tmp = ishft(data_tmp, 47)
40919 pack_tmp = ishft(pack_tmp, -47)
40921 data_tmp = full_data(idata)
40922 data_tmp = ishft(data_tmp, 13)
40923 data_tmp = iand(data_tmp, mask_left(47))
40924 pack_tmp = ior(pack_tmp, data_tmp)
40926 packed_data(ipack) = pack_tmp
40927 data_tmp = full_data(idata)
40928 pack_tmp = ishft(data_tmp, 60)
40929 pack_tmp = ishft(pack_tmp, -51)
40931 data_tmp = full_data(idata)
40932 data_tmp = ishft(data_tmp, 13)
40933 pack_tmp = ior(pack_tmp, data_tmp)
40934 pack_tmp = ishft(pack_tmp, -9)
40936 data_tmp = full_data(idata)
40937 data_tmp = ishft(data_tmp, 13)
40938 data_tmp = iand(data_tmp, mask_left(9))
40939 pack_tmp = ior(pack_tmp, data_tmp)
40941 packed_data(ipack) = pack_tmp
40942 data_tmp = full_data(idata)
40943 pack_tmp = ishft(data_tmp, 22)
40944 pack_tmp = ishft(pack_tmp, -22)
40946 data_tmp = full_data(idata)
40947 data_tmp = ishft(data_tmp, 13)
40948 data_tmp = iand(data_tmp, mask_left(22))
40949 pack_tmp = ior(pack_tmp, data_tmp)
40951 packed_data(ipack) = pack_tmp
40952 data_tmp = full_data(idata)
40953 pack_tmp = ishft(data_tmp, 35)
40954 pack_tmp = ishft(pack_tmp, -35)
40956 data_tmp = full_data(idata)
40957 data_tmp = ishft(data_tmp, 13)
40958 data_tmp = iand(data_tmp, mask_left(35))
40959 pack_tmp = ior(pack_tmp, data_tmp)
40961 packed_data(ipack) = pack_tmp
40962 data_tmp = full_data(idata)
40963 pack_tmp = ishft(data_tmp, 48)
40964 pack_tmp = ishft(pack_tmp, -48)
40966 data_tmp = full_data(idata)
40967 data_tmp = ishft(data_tmp, 13)
40968 data_tmp = iand(data_tmp, mask_left(48))
40969 pack_tmp = ior(pack_tmp, data_tmp)
40971 packed_data(ipack) = pack_tmp
40972 data_tmp = full_data(idata)
40973 pack_tmp = ishft(data_tmp, 61)
40974 pack_tmp = ishft(pack_tmp, -51)
40976 data_tmp = full_data(idata)
40977 data_tmp = ishft(data_tmp, 13)
40978 pack_tmp = ior(pack_tmp, data_tmp)
40979 pack_tmp = ishft(pack_tmp, -10)
40981 data_tmp = full_data(idata)
40982 data_tmp = ishft(data_tmp, 13)
40983 data_tmp = iand(data_tmp, mask_left(10))
40984 pack_tmp = ior(pack_tmp, data_tmp)
40986 packed_data(ipack) = pack_tmp
40987 data_tmp = full_data(idata)
40988 pack_tmp = ishft(data_tmp, 23)
40989 pack_tmp = ishft(pack_tmp, -23)
40991 data_tmp = full_data(idata)
40992 data_tmp = ishft(data_tmp, 13)
40993 data_tmp = iand(data_tmp, mask_left(23))
40994 pack_tmp = ior(pack_tmp, data_tmp)
40996 packed_data(ipack) = pack_tmp
40997 data_tmp = full_data(idata)
40998 pack_tmp = ishft(data_tmp, 36)
40999 pack_tmp = ishft(pack_tmp, -36)
41001 data_tmp = full_data(idata)
41002 data_tmp = ishft(data_tmp, 13)
41003 data_tmp = iand(data_tmp, mask_left(36))
41004 pack_tmp = ior(pack_tmp, data_tmp)
41006 packed_data(ipack) = pack_tmp
41007 data_tmp = full_data(idata)
41008 pack_tmp = ishft(data_tmp, 49)
41009 pack_tmp = ishft(pack_tmp, -49)
41011 data_tmp = full_data(idata)
41012 data_tmp = ishft(data_tmp, 13)
41013 data_tmp = iand(data_tmp, mask_left(49))
41014 pack_tmp = ior(pack_tmp, data_tmp)
41016 packed_data(ipack) = pack_tmp
41017 data_tmp = full_data(idata)
41018 pack_tmp = ishft(data_tmp, 62)
41019 pack_tmp = ishft(pack_tmp, -51)
41021 data_tmp = full_data(idata)
41022 data_tmp = ishft(data_tmp, 13)
41023 pack_tmp = ior(pack_tmp, data_tmp)
41024 pack_tmp = ishft(pack_tmp, -11)
41026 data_tmp = full_data(idata)
41027 data_tmp = ishft(data_tmp, 13)
41028 data_tmp = iand(data_tmp, mask_left(11))
41029 pack_tmp = ior(pack_tmp, data_tmp)
41031 packed_data(ipack) = pack_tmp
41032 data_tmp = full_data(idata)
41033 pack_tmp = ishft(data_tmp, 24)
41034 pack_tmp = ishft(pack_tmp, -24)
41036 data_tmp = full_data(idata)
41037 data_tmp = ishft(data_tmp, 13)
41038 data_tmp = iand(data_tmp, mask_left(24))
41039 pack_tmp = ior(pack_tmp, data_tmp)
41041 packed_data(ipack) = pack_tmp
41042 data_tmp = full_data(idata)
41043 pack_tmp = ishft(data_tmp, 37)
41044 pack_tmp = ishft(pack_tmp, -37)
41046 data_tmp = full_data(idata)
41047 data_tmp = ishft(data_tmp, 13)
41048 data_tmp = iand(data_tmp, mask_left(37))
41049 pack_tmp = ior(pack_tmp, data_tmp)
41051 packed_data(ipack) = pack_tmp
41052 data_tmp = full_data(idata)
41053 pack_tmp = ishft(data_tmp, 50)
41054 pack_tmp = ishft(pack_tmp, -50)
41056 data_tmp = full_data(idata)
41057 data_tmp = ishft(data_tmp, 13)
41058 data_tmp = iand(data_tmp, mask_left(50))
41059 pack_tmp = ior(pack_tmp, data_tmp)
41061 packed_data(ipack) = pack_tmp
41062 data_tmp = full_data(idata)
41063 pack_tmp = ishft(data_tmp, 63)
41064 pack_tmp = ishft(pack_tmp, -51)
41066 data_tmp = full_data(idata)
41067 data_tmp = ishft(data_tmp, 13)
41068 pack_tmp = ior(pack_tmp, data_tmp)
41069 pack_tmp = ishft(pack_tmp, -12)
41071 data_tmp = full_data(idata)
41072 data_tmp = ishft(data_tmp, 13)
41073 data_tmp = iand(data_tmp, mask_left(12))
41074 pack_tmp = ior(pack_tmp, data_tmp)
41076 packed_data(ipack) = pack_tmp
41077 data_tmp = full_data(idata)
41078 pack_tmp = ishft(data_tmp, 25)
41079 pack_tmp = ishft(pack_tmp, -25)
41081 data_tmp = full_data(idata)
41082 data_tmp = ishft(data_tmp, 13)
41083 data_tmp = iand(data_tmp, mask_left(25))
41084 pack_tmp = ior(pack_tmp, data_tmp)
41086 packed_data(ipack) = pack_tmp
41087 data_tmp = full_data(idata)
41088 pack_tmp = ishft(data_tmp, 38)
41089 pack_tmp = ishft(pack_tmp, -38)
41091 data_tmp = full_data(idata)
41092 data_tmp = ishft(data_tmp, 13)
41093 data_tmp = iand(data_tmp, mask_left(38))
41094 pack_tmp = ior(pack_tmp, data_tmp)
41096 packed_data(ipack) = pack_tmp
41097 data_tmp = full_data(idata)
41098 pack_tmp = ishft(data_tmp, 51)
41099 pack_tmp = ishft(pack_tmp, -51)
41101 data_tmp = full_data(idata)
41102 data_tmp = ishft(data_tmp, 13)
41103 pack_tmp = ior(pack_tmp, data_tmp)
41104 pack_tmp = ishft(pack_tmp, 0)
41105 pack_tmp = ishft(pack_tmp, 0)
41107 packed_data(ipack) = pack_tmp
41109 IF (ndata_rep < ndata)
THEN
41110 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
41112 END SUBROUTINE ints2bits_51
41120 SUBROUTINE bits2ints_51(Ndata, packed_data, full_data)
41121 INTEGER,
INTENT(IN) :: Ndata
41122 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
41123 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
41125 INTEGER,
PARAMETER :: Nbits = 51
41127 INTEGER :: idata, ipack, kdata, Ndata_rep
41128 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
41133 ndata_rep = (ndata/64)*64
41134 DO kdata = 1, ndata_rep, 64
41136 data_tmp = ishft(pack_tmp, 51)
41138 pack_tmp = packed_data(ipack)
41139 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(51)))
41140 pack_tmp = ishft(pack_tmp, -51)
41142 data_tmp = ishft(pack_tmp, 38)
41144 pack_tmp = packed_data(ipack)
41145 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
41146 pack_tmp = ishft(pack_tmp, -38)
41148 data_tmp = ishft(pack_tmp, 25)
41150 pack_tmp = packed_data(ipack)
41151 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
41152 pack_tmp = ishft(pack_tmp, -25)
41154 data_tmp = ishft(pack_tmp, 12)
41156 pack_tmp = packed_data(ipack)
41157 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
41158 pack_tmp = ishft(pack_tmp, -12)
41160 data_tmp = iand(pack_tmp, mask_right(nbits))
41161 full_data(idata) = data_tmp
41162 pack_tmp = ishft(pack_tmp, -nbits)
41164 data_tmp = ishft(pack_tmp, 50)
41166 pack_tmp = packed_data(ipack)
41167 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
41168 pack_tmp = ishft(pack_tmp, -50)
41170 data_tmp = ishft(pack_tmp, 37)
41172 pack_tmp = packed_data(ipack)
41173 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
41174 pack_tmp = ishft(pack_tmp, -37)
41176 data_tmp = ishft(pack_tmp, 24)
41178 pack_tmp = packed_data(ipack)
41179 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
41180 pack_tmp = ishft(pack_tmp, -24)
41182 data_tmp = ishft(pack_tmp, 11)
41184 pack_tmp = packed_data(ipack)
41185 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
41186 pack_tmp = ishft(pack_tmp, -11)
41188 data_tmp = iand(pack_tmp, mask_right(nbits))
41189 full_data(idata) = data_tmp
41190 pack_tmp = ishft(pack_tmp, -nbits)
41192 data_tmp = ishft(pack_tmp, 49)
41194 pack_tmp = packed_data(ipack)
41195 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
41196 pack_tmp = ishft(pack_tmp, -49)
41198 data_tmp = ishft(pack_tmp, 36)
41200 pack_tmp = packed_data(ipack)
41201 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
41202 pack_tmp = ishft(pack_tmp, -36)
41204 data_tmp = ishft(pack_tmp, 23)
41206 pack_tmp = packed_data(ipack)
41207 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
41208 pack_tmp = ishft(pack_tmp, -23)
41210 data_tmp = ishft(pack_tmp, 10)
41212 pack_tmp = packed_data(ipack)
41213 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
41214 pack_tmp = ishft(pack_tmp, -10)
41216 data_tmp = iand(pack_tmp, mask_right(nbits))
41217 full_data(idata) = data_tmp
41218 pack_tmp = ishft(pack_tmp, -nbits)
41220 data_tmp = ishft(pack_tmp, 48)
41222 pack_tmp = packed_data(ipack)
41223 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
41224 pack_tmp = ishft(pack_tmp, -48)
41226 data_tmp = ishft(pack_tmp, 35)
41228 pack_tmp = packed_data(ipack)
41229 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
41230 pack_tmp = ishft(pack_tmp, -35)
41232 data_tmp = ishft(pack_tmp, 22)
41234 pack_tmp = packed_data(ipack)
41235 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
41236 pack_tmp = ishft(pack_tmp, -22)
41238 data_tmp = ishft(pack_tmp, 9)
41240 pack_tmp = packed_data(ipack)
41241 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
41242 pack_tmp = ishft(pack_tmp, -9)
41244 data_tmp = iand(pack_tmp, mask_right(nbits))
41245 full_data(idata) = data_tmp
41246 pack_tmp = ishft(pack_tmp, -nbits)
41248 data_tmp = ishft(pack_tmp, 47)
41250 pack_tmp = packed_data(ipack)
41251 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
41252 pack_tmp = ishft(pack_tmp, -47)
41254 data_tmp = ishft(pack_tmp, 34)
41256 pack_tmp = packed_data(ipack)
41257 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
41258 pack_tmp = ishft(pack_tmp, -34)
41260 data_tmp = ishft(pack_tmp, 21)
41262 pack_tmp = packed_data(ipack)
41263 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
41264 pack_tmp = ishft(pack_tmp, -21)
41266 data_tmp = ishft(pack_tmp, 8)
41268 pack_tmp = packed_data(ipack)
41269 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
41270 pack_tmp = ishft(pack_tmp, -8)
41272 data_tmp = iand(pack_tmp, mask_right(nbits))
41273 full_data(idata) = data_tmp
41274 pack_tmp = ishft(pack_tmp, -nbits)
41276 data_tmp = ishft(pack_tmp, 46)
41278 pack_tmp = packed_data(ipack)
41279 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
41280 pack_tmp = ishft(pack_tmp, -46)
41282 data_tmp = ishft(pack_tmp, 33)
41284 pack_tmp = packed_data(ipack)
41285 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
41286 pack_tmp = ishft(pack_tmp, -33)
41288 data_tmp = ishft(pack_tmp, 20)
41290 pack_tmp = packed_data(ipack)
41291 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
41292 pack_tmp = ishft(pack_tmp, -20)
41294 data_tmp = ishft(pack_tmp, 7)
41296 pack_tmp = packed_data(ipack)
41297 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
41298 pack_tmp = ishft(pack_tmp, -7)
41300 data_tmp = iand(pack_tmp, mask_right(nbits))
41301 full_data(idata) = data_tmp
41302 pack_tmp = ishft(pack_tmp, -nbits)
41304 data_tmp = ishft(pack_tmp, 45)
41306 pack_tmp = packed_data(ipack)
41307 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
41308 pack_tmp = ishft(pack_tmp, -45)
41310 data_tmp = ishft(pack_tmp, 32)
41312 pack_tmp = packed_data(ipack)
41313 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
41314 pack_tmp = ishft(pack_tmp, -32)
41316 data_tmp = ishft(pack_tmp, 19)
41318 pack_tmp = packed_data(ipack)
41319 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
41320 pack_tmp = ishft(pack_tmp, -19)
41322 data_tmp = ishft(pack_tmp, 6)
41324 pack_tmp = packed_data(ipack)
41325 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
41326 pack_tmp = ishft(pack_tmp, -6)
41328 data_tmp = iand(pack_tmp, mask_right(nbits))
41329 full_data(idata) = data_tmp
41330 pack_tmp = ishft(pack_tmp, -nbits)
41332 data_tmp = ishft(pack_tmp, 44)
41334 pack_tmp = packed_data(ipack)
41335 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
41336 pack_tmp = ishft(pack_tmp, -44)
41338 data_tmp = ishft(pack_tmp, 31)
41340 pack_tmp = packed_data(ipack)
41341 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
41342 pack_tmp = ishft(pack_tmp, -31)
41344 data_tmp = ishft(pack_tmp, 18)
41346 pack_tmp = packed_data(ipack)
41347 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
41348 pack_tmp = ishft(pack_tmp, -18)
41350 data_tmp = ishft(pack_tmp, 5)
41352 pack_tmp = packed_data(ipack)
41353 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
41354 pack_tmp = ishft(pack_tmp, -5)
41356 data_tmp = iand(pack_tmp, mask_right(nbits))
41357 full_data(idata) = data_tmp
41358 pack_tmp = ishft(pack_tmp, -nbits)
41360 data_tmp = ishft(pack_tmp, 43)
41362 pack_tmp = packed_data(ipack)
41363 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
41364 pack_tmp = ishft(pack_tmp, -43)
41366 data_tmp = ishft(pack_tmp, 30)
41368 pack_tmp = packed_data(ipack)
41369 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
41370 pack_tmp = ishft(pack_tmp, -30)
41372 data_tmp = ishft(pack_tmp, 17)
41374 pack_tmp = packed_data(ipack)
41375 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
41376 pack_tmp = ishft(pack_tmp, -17)
41378 data_tmp = ishft(pack_tmp, 4)
41380 pack_tmp = packed_data(ipack)
41381 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
41382 pack_tmp = ishft(pack_tmp, -4)
41384 data_tmp = iand(pack_tmp, mask_right(nbits))
41385 full_data(idata) = data_tmp
41386 pack_tmp = ishft(pack_tmp, -nbits)
41388 data_tmp = ishft(pack_tmp, 42)
41390 pack_tmp = packed_data(ipack)
41391 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
41392 pack_tmp = ishft(pack_tmp, -42)
41394 data_tmp = ishft(pack_tmp, 29)
41396 pack_tmp = packed_data(ipack)
41397 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
41398 pack_tmp = ishft(pack_tmp, -29)
41400 data_tmp = ishft(pack_tmp, 16)
41402 pack_tmp = packed_data(ipack)
41403 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
41404 pack_tmp = ishft(pack_tmp, -16)
41406 data_tmp = ishft(pack_tmp, 3)
41408 pack_tmp = packed_data(ipack)
41409 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
41410 pack_tmp = ishft(pack_tmp, -3)
41412 data_tmp = iand(pack_tmp, mask_right(nbits))
41413 full_data(idata) = data_tmp
41414 pack_tmp = ishft(pack_tmp, -nbits)
41416 data_tmp = ishft(pack_tmp, 41)
41418 pack_tmp = packed_data(ipack)
41419 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
41420 pack_tmp = ishft(pack_tmp, -41)
41422 data_tmp = ishft(pack_tmp, 28)
41424 pack_tmp = packed_data(ipack)
41425 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
41426 pack_tmp = ishft(pack_tmp, -28)
41428 data_tmp = ishft(pack_tmp, 15)
41430 pack_tmp = packed_data(ipack)
41431 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
41432 pack_tmp = ishft(pack_tmp, -15)
41434 data_tmp = ishft(pack_tmp, 2)
41436 pack_tmp = packed_data(ipack)
41437 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
41438 pack_tmp = ishft(pack_tmp, -2)
41440 data_tmp = iand(pack_tmp, mask_right(nbits))
41441 full_data(idata) = data_tmp
41442 pack_tmp = ishft(pack_tmp, -nbits)
41444 data_tmp = ishft(pack_tmp, 40)
41446 pack_tmp = packed_data(ipack)
41447 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
41448 pack_tmp = ishft(pack_tmp, -40)
41450 data_tmp = ishft(pack_tmp, 27)
41452 pack_tmp = packed_data(ipack)
41453 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
41454 pack_tmp = ishft(pack_tmp, -27)
41456 data_tmp = ishft(pack_tmp, 14)
41458 pack_tmp = packed_data(ipack)
41459 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
41460 pack_tmp = ishft(pack_tmp, -14)
41462 data_tmp = ishft(pack_tmp, 1)
41464 pack_tmp = packed_data(ipack)
41465 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
41466 pack_tmp = ishft(pack_tmp, -1)
41468 data_tmp = iand(pack_tmp, mask_right(nbits))
41469 full_data(idata) = data_tmp
41470 pack_tmp = ishft(pack_tmp, -nbits)
41472 data_tmp = ishft(pack_tmp, 39)
41474 pack_tmp = packed_data(ipack)
41475 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
41476 pack_tmp = ishft(pack_tmp, -39)
41478 data_tmp = ishft(pack_tmp, 26)
41480 pack_tmp = packed_data(ipack)
41481 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
41482 pack_tmp = ishft(pack_tmp, -26)
41484 data_tmp = ishft(pack_tmp, 13)
41486 pack_tmp = packed_data(ipack)
41487 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
41488 pack_tmp = ishft(pack_tmp, -13)
41490 data_tmp = iand(pack_tmp, mask_right(nbits))
41491 full_data(idata) = data_tmp
41492 pack_tmp = ishft(pack_tmp, -nbits)
41494 IF (ndata_rep < ndata)
THEN
41495 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
41497 END SUBROUTINE bits2ints_51
41505 SUBROUTINE ints2bits_52(Ndata, packed_data, full_data)
41506 INTEGER,
INTENT(IN) :: Ndata
41507 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
41508 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
41510 INTEGER,
PARAMETER :: Nbits = 52
41512 INTEGER :: idata, ipack, kdata, Ndata_rep
41513 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
41517 ndata_rep = (ndata/64)*64
41518 DO kdata = 1, ndata_rep, 64
41521 data_tmp = full_data(idata)
41522 data_tmp = ishft(data_tmp, 12)
41523 pack_tmp = ior(pack_tmp, data_tmp)
41524 pack_tmp = ishft(pack_tmp, -12)
41526 data_tmp = full_data(idata)
41527 data_tmp = ishft(data_tmp, 12)
41528 data_tmp = iand(data_tmp, mask_left(12))
41529 pack_tmp = ior(pack_tmp, data_tmp)
41531 packed_data(ipack) = pack_tmp
41532 data_tmp = full_data(idata)
41533 pack_tmp = ishft(data_tmp, 24)
41534 pack_tmp = ishft(pack_tmp, -24)
41536 data_tmp = full_data(idata)
41537 data_tmp = ishft(data_tmp, 12)
41538 data_tmp = iand(data_tmp, mask_left(24))
41539 pack_tmp = ior(pack_tmp, data_tmp)
41541 packed_data(ipack) = pack_tmp
41542 data_tmp = full_data(idata)
41543 pack_tmp = ishft(data_tmp, 36)
41544 pack_tmp = ishft(pack_tmp, -36)
41546 data_tmp = full_data(idata)
41547 data_tmp = ishft(data_tmp, 12)
41548 data_tmp = iand(data_tmp, mask_left(36))
41549 pack_tmp = ior(pack_tmp, data_tmp)
41551 packed_data(ipack) = pack_tmp
41552 data_tmp = full_data(idata)
41553 pack_tmp = ishft(data_tmp, 48)
41554 pack_tmp = ishft(pack_tmp, -48)
41556 data_tmp = full_data(idata)
41557 data_tmp = ishft(data_tmp, 12)
41558 data_tmp = iand(data_tmp, mask_left(48))
41559 pack_tmp = ior(pack_tmp, data_tmp)
41561 packed_data(ipack) = pack_tmp
41562 data_tmp = full_data(idata)
41563 pack_tmp = ishft(data_tmp, 60)
41564 pack_tmp = ishft(pack_tmp, -52)
41566 data_tmp = full_data(idata)
41567 data_tmp = ishft(data_tmp, 12)
41568 pack_tmp = ior(pack_tmp, data_tmp)
41569 pack_tmp = ishft(pack_tmp, -8)
41571 data_tmp = full_data(idata)
41572 data_tmp = ishft(data_tmp, 12)
41573 data_tmp = iand(data_tmp, mask_left(8))
41574 pack_tmp = ior(pack_tmp, data_tmp)
41576 packed_data(ipack) = pack_tmp
41577 data_tmp = full_data(idata)
41578 pack_tmp = ishft(data_tmp, 20)
41579 pack_tmp = ishft(pack_tmp, -20)
41581 data_tmp = full_data(idata)
41582 data_tmp = ishft(data_tmp, 12)
41583 data_tmp = iand(data_tmp, mask_left(20))
41584 pack_tmp = ior(pack_tmp, data_tmp)
41586 packed_data(ipack) = pack_tmp
41587 data_tmp = full_data(idata)
41588 pack_tmp = ishft(data_tmp, 32)
41589 pack_tmp = ishft(pack_tmp, -32)
41591 data_tmp = full_data(idata)
41592 data_tmp = ishft(data_tmp, 12)
41593 data_tmp = iand(data_tmp, mask_left(32))
41594 pack_tmp = ior(pack_tmp, data_tmp)
41596 packed_data(ipack) = pack_tmp
41597 data_tmp = full_data(idata)
41598 pack_tmp = ishft(data_tmp, 44)
41599 pack_tmp = ishft(pack_tmp, -44)
41601 data_tmp = full_data(idata)
41602 data_tmp = ishft(data_tmp, 12)
41603 data_tmp = iand(data_tmp, mask_left(44))
41604 pack_tmp = ior(pack_tmp, data_tmp)
41606 packed_data(ipack) = pack_tmp
41607 data_tmp = full_data(idata)
41608 pack_tmp = ishft(data_tmp, 56)
41609 pack_tmp = ishft(pack_tmp, -52)
41611 data_tmp = full_data(idata)
41612 data_tmp = ishft(data_tmp, 12)
41613 pack_tmp = ior(pack_tmp, data_tmp)
41614 pack_tmp = ishft(pack_tmp, -4)
41616 data_tmp = full_data(idata)
41617 data_tmp = ishft(data_tmp, 12)
41618 data_tmp = iand(data_tmp, mask_left(4))
41619 pack_tmp = ior(pack_tmp, data_tmp)
41621 packed_data(ipack) = pack_tmp
41622 data_tmp = full_data(idata)
41623 pack_tmp = ishft(data_tmp, 16)
41624 pack_tmp = ishft(pack_tmp, -16)
41626 data_tmp = full_data(idata)
41627 data_tmp = ishft(data_tmp, 12)
41628 data_tmp = iand(data_tmp, mask_left(16))
41629 pack_tmp = ior(pack_tmp, data_tmp)
41631 packed_data(ipack) = pack_tmp
41632 data_tmp = full_data(idata)
41633 pack_tmp = ishft(data_tmp, 28)
41634 pack_tmp = ishft(pack_tmp, -28)
41636 data_tmp = full_data(idata)
41637 data_tmp = ishft(data_tmp, 12)
41638 data_tmp = iand(data_tmp, mask_left(28))
41639 pack_tmp = ior(pack_tmp, data_tmp)
41641 packed_data(ipack) = pack_tmp
41642 data_tmp = full_data(idata)
41643 pack_tmp = ishft(data_tmp, 40)
41644 pack_tmp = ishft(pack_tmp, -40)
41646 data_tmp = full_data(idata)
41647 data_tmp = ishft(data_tmp, 12)
41648 data_tmp = iand(data_tmp, mask_left(40))
41649 pack_tmp = ior(pack_tmp, data_tmp)
41651 packed_data(ipack) = pack_tmp
41652 data_tmp = full_data(idata)
41653 pack_tmp = ishft(data_tmp, 52)
41654 pack_tmp = ishft(pack_tmp, -52)
41656 data_tmp = full_data(idata)
41657 data_tmp = ishft(data_tmp, 12)
41658 pack_tmp = ior(pack_tmp, data_tmp)
41659 pack_tmp = ishft(pack_tmp, 0)
41661 data_tmp = full_data(idata)
41662 data_tmp = ishft(data_tmp, 12)
41663 data_tmp = iand(data_tmp, mask_left(0))
41664 pack_tmp = ior(pack_tmp, data_tmp)
41666 packed_data(ipack) = pack_tmp
41667 data_tmp = full_data(idata)
41668 pack_tmp = ishft(data_tmp, 12)
41669 pack_tmp = ishft(pack_tmp, -12)
41671 data_tmp = full_data(idata)
41672 data_tmp = ishft(data_tmp, 12)
41673 data_tmp = iand(data_tmp, mask_left(12))
41674 pack_tmp = ior(pack_tmp, data_tmp)
41676 packed_data(ipack) = pack_tmp
41677 data_tmp = full_data(idata)
41678 pack_tmp = ishft(data_tmp, 24)
41679 pack_tmp = ishft(pack_tmp, -24)
41681 data_tmp = full_data(idata)
41682 data_tmp = ishft(data_tmp, 12)
41683 data_tmp = iand(data_tmp, mask_left(24))
41684 pack_tmp = ior(pack_tmp, data_tmp)
41686 packed_data(ipack) = pack_tmp
41687 data_tmp = full_data(idata)
41688 pack_tmp = ishft(data_tmp, 36)
41689 pack_tmp = ishft(pack_tmp, -36)
41691 data_tmp = full_data(idata)
41692 data_tmp = ishft(data_tmp, 12)
41693 data_tmp = iand(data_tmp, mask_left(36))
41694 pack_tmp = ior(pack_tmp, data_tmp)
41696 packed_data(ipack) = pack_tmp
41697 data_tmp = full_data(idata)
41698 pack_tmp = ishft(data_tmp, 48)
41699 pack_tmp = ishft(pack_tmp, -48)
41701 data_tmp = full_data(idata)
41702 data_tmp = ishft(data_tmp, 12)
41703 data_tmp = iand(data_tmp, mask_left(48))
41704 pack_tmp = ior(pack_tmp, data_tmp)
41706 packed_data(ipack) = pack_tmp
41707 data_tmp = full_data(idata)
41708 pack_tmp = ishft(data_tmp, 60)
41709 pack_tmp = ishft(pack_tmp, -52)
41711 data_tmp = full_data(idata)
41712 data_tmp = ishft(data_tmp, 12)
41713 pack_tmp = ior(pack_tmp, data_tmp)
41714 pack_tmp = ishft(pack_tmp, -8)
41716 data_tmp = full_data(idata)
41717 data_tmp = ishft(data_tmp, 12)
41718 data_tmp = iand(data_tmp, mask_left(8))
41719 pack_tmp = ior(pack_tmp, data_tmp)
41721 packed_data(ipack) = pack_tmp
41722 data_tmp = full_data(idata)
41723 pack_tmp = ishft(data_tmp, 20)
41724 pack_tmp = ishft(pack_tmp, -20)
41726 data_tmp = full_data(idata)
41727 data_tmp = ishft(data_tmp, 12)
41728 data_tmp = iand(data_tmp, mask_left(20))
41729 pack_tmp = ior(pack_tmp, data_tmp)
41731 packed_data(ipack) = pack_tmp
41732 data_tmp = full_data(idata)
41733 pack_tmp = ishft(data_tmp, 32)
41734 pack_tmp = ishft(pack_tmp, -32)
41736 data_tmp = full_data(idata)
41737 data_tmp = ishft(data_tmp, 12)
41738 data_tmp = iand(data_tmp, mask_left(32))
41739 pack_tmp = ior(pack_tmp, data_tmp)
41741 packed_data(ipack) = pack_tmp
41742 data_tmp = full_data(idata)
41743 pack_tmp = ishft(data_tmp, 44)
41744 pack_tmp = ishft(pack_tmp, -44)
41746 data_tmp = full_data(idata)
41747 data_tmp = ishft(data_tmp, 12)
41748 data_tmp = iand(data_tmp, mask_left(44))
41749 pack_tmp = ior(pack_tmp, data_tmp)
41751 packed_data(ipack) = pack_tmp
41752 data_tmp = full_data(idata)
41753 pack_tmp = ishft(data_tmp, 56)
41754 pack_tmp = ishft(pack_tmp, -52)
41756 data_tmp = full_data(idata)
41757 data_tmp = ishft(data_tmp, 12)
41758 pack_tmp = ior(pack_tmp, data_tmp)
41759 pack_tmp = ishft(pack_tmp, -4)
41761 data_tmp = full_data(idata)
41762 data_tmp = ishft(data_tmp, 12)
41763 data_tmp = iand(data_tmp, mask_left(4))
41764 pack_tmp = ior(pack_tmp, data_tmp)
41766 packed_data(ipack) = pack_tmp
41767 data_tmp = full_data(idata)
41768 pack_tmp = ishft(data_tmp, 16)
41769 pack_tmp = ishft(pack_tmp, -16)
41771 data_tmp = full_data(idata)
41772 data_tmp = ishft(data_tmp, 12)
41773 data_tmp = iand(data_tmp, mask_left(16))
41774 pack_tmp = ior(pack_tmp, data_tmp)
41776 packed_data(ipack) = pack_tmp
41777 data_tmp = full_data(idata)
41778 pack_tmp = ishft(data_tmp, 28)
41779 pack_tmp = ishft(pack_tmp, -28)
41781 data_tmp = full_data(idata)
41782 data_tmp = ishft(data_tmp, 12)
41783 data_tmp = iand(data_tmp, mask_left(28))
41784 pack_tmp = ior(pack_tmp, data_tmp)
41786 packed_data(ipack) = pack_tmp
41787 data_tmp = full_data(idata)
41788 pack_tmp = ishft(data_tmp, 40)
41789 pack_tmp = ishft(pack_tmp, -40)
41791 data_tmp = full_data(idata)
41792 data_tmp = ishft(data_tmp, 12)
41793 data_tmp = iand(data_tmp, mask_left(40))
41794 pack_tmp = ior(pack_tmp, data_tmp)
41796 packed_data(ipack) = pack_tmp
41797 data_tmp = full_data(idata)
41798 pack_tmp = ishft(data_tmp, 52)
41799 pack_tmp = ishft(pack_tmp, -52)
41801 data_tmp = full_data(idata)
41802 data_tmp = ishft(data_tmp, 12)
41803 pack_tmp = ior(pack_tmp, data_tmp)
41804 pack_tmp = ishft(pack_tmp, 0)
41806 data_tmp = full_data(idata)
41807 data_tmp = ishft(data_tmp, 12)
41808 data_tmp = iand(data_tmp, mask_left(0))
41809 pack_tmp = ior(pack_tmp, data_tmp)
41811 packed_data(ipack) = pack_tmp
41812 data_tmp = full_data(idata)
41813 pack_tmp = ishft(data_tmp, 12)
41814 pack_tmp = ishft(pack_tmp, -12)
41816 data_tmp = full_data(idata)
41817 data_tmp = ishft(data_tmp, 12)
41818 data_tmp = iand(data_tmp, mask_left(12))
41819 pack_tmp = ior(pack_tmp, data_tmp)
41821 packed_data(ipack) = pack_tmp
41822 data_tmp = full_data(idata)
41823 pack_tmp = ishft(data_tmp, 24)
41824 pack_tmp = ishft(pack_tmp, -24)
41826 data_tmp = full_data(idata)
41827 data_tmp = ishft(data_tmp, 12)
41828 data_tmp = iand(data_tmp, mask_left(24))
41829 pack_tmp = ior(pack_tmp, data_tmp)
41831 packed_data(ipack) = pack_tmp
41832 data_tmp = full_data(idata)
41833 pack_tmp = ishft(data_tmp, 36)
41834 pack_tmp = ishft(pack_tmp, -36)
41836 data_tmp = full_data(idata)
41837 data_tmp = ishft(data_tmp, 12)
41838 data_tmp = iand(data_tmp, mask_left(36))
41839 pack_tmp = ior(pack_tmp, data_tmp)
41841 packed_data(ipack) = pack_tmp
41842 data_tmp = full_data(idata)
41843 pack_tmp = ishft(data_tmp, 48)
41844 pack_tmp = ishft(pack_tmp, -48)
41846 data_tmp = full_data(idata)
41847 data_tmp = ishft(data_tmp, 12)
41848 data_tmp = iand(data_tmp, mask_left(48))
41849 pack_tmp = ior(pack_tmp, data_tmp)
41851 packed_data(ipack) = pack_tmp
41852 data_tmp = full_data(idata)
41853 pack_tmp = ishft(data_tmp, 60)
41854 pack_tmp = ishft(pack_tmp, -52)
41856 data_tmp = full_data(idata)
41857 data_tmp = ishft(data_tmp, 12)
41858 pack_tmp = ior(pack_tmp, data_tmp)
41859 pack_tmp = ishft(pack_tmp, -8)
41861 data_tmp = full_data(idata)
41862 data_tmp = ishft(data_tmp, 12)
41863 data_tmp = iand(data_tmp, mask_left(8))
41864 pack_tmp = ior(pack_tmp, data_tmp)
41866 packed_data(ipack) = pack_tmp
41867 data_tmp = full_data(idata)
41868 pack_tmp = ishft(data_tmp, 20)
41869 pack_tmp = ishft(pack_tmp, -20)
41871 data_tmp = full_data(idata)
41872 data_tmp = ishft(data_tmp, 12)
41873 data_tmp = iand(data_tmp, mask_left(20))
41874 pack_tmp = ior(pack_tmp, data_tmp)
41876 packed_data(ipack) = pack_tmp
41877 data_tmp = full_data(idata)
41878 pack_tmp = ishft(data_tmp, 32)
41879 pack_tmp = ishft(pack_tmp, -32)
41881 data_tmp = full_data(idata)
41882 data_tmp = ishft(data_tmp, 12)
41883 data_tmp = iand(data_tmp, mask_left(32))
41884 pack_tmp = ior(pack_tmp, data_tmp)
41886 packed_data(ipack) = pack_tmp
41887 data_tmp = full_data(idata)
41888 pack_tmp = ishft(data_tmp, 44)
41889 pack_tmp = ishft(pack_tmp, -44)
41891 data_tmp = full_data(idata)
41892 data_tmp = ishft(data_tmp, 12)
41893 data_tmp = iand(data_tmp, mask_left(44))
41894 pack_tmp = ior(pack_tmp, data_tmp)
41896 packed_data(ipack) = pack_tmp
41897 data_tmp = full_data(idata)
41898 pack_tmp = ishft(data_tmp, 56)
41899 pack_tmp = ishft(pack_tmp, -52)
41901 data_tmp = full_data(idata)
41902 data_tmp = ishft(data_tmp, 12)
41903 pack_tmp = ior(pack_tmp, data_tmp)
41904 pack_tmp = ishft(pack_tmp, -4)
41906 data_tmp = full_data(idata)
41907 data_tmp = ishft(data_tmp, 12)
41908 data_tmp = iand(data_tmp, mask_left(4))
41909 pack_tmp = ior(pack_tmp, data_tmp)
41911 packed_data(ipack) = pack_tmp
41912 data_tmp = full_data(idata)
41913 pack_tmp = ishft(data_tmp, 16)
41914 pack_tmp = ishft(pack_tmp, -16)
41916 data_tmp = full_data(idata)
41917 data_tmp = ishft(data_tmp, 12)
41918 data_tmp = iand(data_tmp, mask_left(16))
41919 pack_tmp = ior(pack_tmp, data_tmp)
41921 packed_data(ipack) = pack_tmp
41922 data_tmp = full_data(idata)
41923 pack_tmp = ishft(data_tmp, 28)
41924 pack_tmp = ishft(pack_tmp, -28)
41926 data_tmp = full_data(idata)
41927 data_tmp = ishft(data_tmp, 12)
41928 data_tmp = iand(data_tmp, mask_left(28))
41929 pack_tmp = ior(pack_tmp, data_tmp)
41931 packed_data(ipack) = pack_tmp
41932 data_tmp = full_data(idata)
41933 pack_tmp = ishft(data_tmp, 40)
41934 pack_tmp = ishft(pack_tmp, -40)
41936 data_tmp = full_data(idata)
41937 data_tmp = ishft(data_tmp, 12)
41938 data_tmp = iand(data_tmp, mask_left(40))
41939 pack_tmp = ior(pack_tmp, data_tmp)
41941 packed_data(ipack) = pack_tmp
41942 data_tmp = full_data(idata)
41943 pack_tmp = ishft(data_tmp, 52)
41944 pack_tmp = ishft(pack_tmp, -52)
41946 data_tmp = full_data(idata)
41947 data_tmp = ishft(data_tmp, 12)
41948 pack_tmp = ior(pack_tmp, data_tmp)
41949 pack_tmp = ishft(pack_tmp, 0)
41951 data_tmp = full_data(idata)
41952 data_tmp = ishft(data_tmp, 12)
41953 data_tmp = iand(data_tmp, mask_left(0))
41954 pack_tmp = ior(pack_tmp, data_tmp)
41956 packed_data(ipack) = pack_tmp
41957 data_tmp = full_data(idata)
41958 pack_tmp = ishft(data_tmp, 12)
41959 pack_tmp = ishft(pack_tmp, -12)
41961 data_tmp = full_data(idata)
41962 data_tmp = ishft(data_tmp, 12)
41963 data_tmp = iand(data_tmp, mask_left(12))
41964 pack_tmp = ior(pack_tmp, data_tmp)
41966 packed_data(ipack) = pack_tmp
41967 data_tmp = full_data(idata)
41968 pack_tmp = ishft(data_tmp, 24)
41969 pack_tmp = ishft(pack_tmp, -24)
41971 data_tmp = full_data(idata)
41972 data_tmp = ishft(data_tmp, 12)
41973 data_tmp = iand(data_tmp, mask_left(24))
41974 pack_tmp = ior(pack_tmp, data_tmp)
41976 packed_data(ipack) = pack_tmp
41977 data_tmp = full_data(idata)
41978 pack_tmp = ishft(data_tmp, 36)
41979 pack_tmp = ishft(pack_tmp, -36)
41981 data_tmp = full_data(idata)
41982 data_tmp = ishft(data_tmp, 12)
41983 data_tmp = iand(data_tmp, mask_left(36))
41984 pack_tmp = ior(pack_tmp, data_tmp)
41986 packed_data(ipack) = pack_tmp
41987 data_tmp = full_data(idata)
41988 pack_tmp = ishft(data_tmp, 48)
41989 pack_tmp = ishft(pack_tmp, -48)
41991 data_tmp = full_data(idata)
41992 data_tmp = ishft(data_tmp, 12)
41993 data_tmp = iand(data_tmp, mask_left(48))
41994 pack_tmp = ior(pack_tmp, data_tmp)
41996 packed_data(ipack) = pack_tmp
41997 data_tmp = full_data(idata)
41998 pack_tmp = ishft(data_tmp, 60)
41999 pack_tmp = ishft(pack_tmp, -52)
42001 data_tmp = full_data(idata)
42002 data_tmp = ishft(data_tmp, 12)
42003 pack_tmp = ior(pack_tmp, data_tmp)
42004 pack_tmp = ishft(pack_tmp, -8)
42006 data_tmp = full_data(idata)
42007 data_tmp = ishft(data_tmp, 12)
42008 data_tmp = iand(data_tmp, mask_left(8))
42009 pack_tmp = ior(pack_tmp, data_tmp)
42011 packed_data(ipack) = pack_tmp
42012 data_tmp = full_data(idata)
42013 pack_tmp = ishft(data_tmp, 20)
42014 pack_tmp = ishft(pack_tmp, -20)
42016 data_tmp = full_data(idata)
42017 data_tmp = ishft(data_tmp, 12)
42018 data_tmp = iand(data_tmp, mask_left(20))
42019 pack_tmp = ior(pack_tmp, data_tmp)
42021 packed_data(ipack) = pack_tmp
42022 data_tmp = full_data(idata)
42023 pack_tmp = ishft(data_tmp, 32)
42024 pack_tmp = ishft(pack_tmp, -32)
42026 data_tmp = full_data(idata)
42027 data_tmp = ishft(data_tmp, 12)
42028 data_tmp = iand(data_tmp, mask_left(32))
42029 pack_tmp = ior(pack_tmp, data_tmp)
42031 packed_data(ipack) = pack_tmp
42032 data_tmp = full_data(idata)
42033 pack_tmp = ishft(data_tmp, 44)
42034 pack_tmp = ishft(pack_tmp, -44)
42036 data_tmp = full_data(idata)
42037 data_tmp = ishft(data_tmp, 12)
42038 data_tmp = iand(data_tmp, mask_left(44))
42039 pack_tmp = ior(pack_tmp, data_tmp)
42041 packed_data(ipack) = pack_tmp
42042 data_tmp = full_data(idata)
42043 pack_tmp = ishft(data_tmp, 56)
42044 pack_tmp = ishft(pack_tmp, -52)
42046 data_tmp = full_data(idata)
42047 data_tmp = ishft(data_tmp, 12)
42048 pack_tmp = ior(pack_tmp, data_tmp)
42049 pack_tmp = ishft(pack_tmp, -4)
42051 data_tmp = full_data(idata)
42052 data_tmp = ishft(data_tmp, 12)
42053 data_tmp = iand(data_tmp, mask_left(4))
42054 pack_tmp = ior(pack_tmp, data_tmp)
42056 packed_data(ipack) = pack_tmp
42057 data_tmp = full_data(idata)
42058 pack_tmp = ishft(data_tmp, 16)
42059 pack_tmp = ishft(pack_tmp, -16)
42061 data_tmp = full_data(idata)
42062 data_tmp = ishft(data_tmp, 12)
42063 data_tmp = iand(data_tmp, mask_left(16))
42064 pack_tmp = ior(pack_tmp, data_tmp)
42066 packed_data(ipack) = pack_tmp
42067 data_tmp = full_data(idata)
42068 pack_tmp = ishft(data_tmp, 28)
42069 pack_tmp = ishft(pack_tmp, -28)
42071 data_tmp = full_data(idata)
42072 data_tmp = ishft(data_tmp, 12)
42073 data_tmp = iand(data_tmp, mask_left(28))
42074 pack_tmp = ior(pack_tmp, data_tmp)
42076 packed_data(ipack) = pack_tmp
42077 data_tmp = full_data(idata)
42078 pack_tmp = ishft(data_tmp, 40)
42079 pack_tmp = ishft(pack_tmp, -40)
42081 data_tmp = full_data(idata)
42082 data_tmp = ishft(data_tmp, 12)
42083 data_tmp = iand(data_tmp, mask_left(40))
42084 pack_tmp = ior(pack_tmp, data_tmp)
42086 packed_data(ipack) = pack_tmp
42087 data_tmp = full_data(idata)
42088 pack_tmp = ishft(data_tmp, 52)
42089 pack_tmp = ishft(pack_tmp, -52)
42091 data_tmp = full_data(idata)
42092 data_tmp = ishft(data_tmp, 12)
42093 pack_tmp = ior(pack_tmp, data_tmp)
42094 pack_tmp = ishft(pack_tmp, 0)
42095 pack_tmp = ishft(pack_tmp, 0)
42097 packed_data(ipack) = pack_tmp
42099 IF (ndata_rep < ndata)
THEN
42100 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
42102 END SUBROUTINE ints2bits_52
42110 SUBROUTINE bits2ints_52(Ndata, packed_data, full_data)
42111 INTEGER,
INTENT(IN) :: Ndata
42112 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
42113 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
42115 INTEGER,
PARAMETER :: Nbits = 52
42117 INTEGER :: idata, ipack, kdata, Ndata_rep
42118 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
42123 ndata_rep = (ndata/64)*64
42124 DO kdata = 1, ndata_rep, 64
42126 data_tmp = ishft(pack_tmp, 52)
42128 pack_tmp = packed_data(ipack)
42129 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
42130 pack_tmp = ishft(pack_tmp, -52)
42132 data_tmp = ishft(pack_tmp, 40)
42134 pack_tmp = packed_data(ipack)
42135 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
42136 pack_tmp = ishft(pack_tmp, -40)
42138 data_tmp = ishft(pack_tmp, 28)
42140 pack_tmp = packed_data(ipack)
42141 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
42142 pack_tmp = ishft(pack_tmp, -28)
42144 data_tmp = ishft(pack_tmp, 16)
42146 pack_tmp = packed_data(ipack)
42147 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
42148 pack_tmp = ishft(pack_tmp, -16)
42150 data_tmp = ishft(pack_tmp, 4)
42152 pack_tmp = packed_data(ipack)
42153 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
42154 pack_tmp = ishft(pack_tmp, -4)
42156 data_tmp = iand(pack_tmp, mask_right(nbits))
42157 full_data(idata) = data_tmp
42158 pack_tmp = ishft(pack_tmp, -nbits)
42160 data_tmp = ishft(pack_tmp, 44)
42162 pack_tmp = packed_data(ipack)
42163 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
42164 pack_tmp = ishft(pack_tmp, -44)
42166 data_tmp = ishft(pack_tmp, 32)
42168 pack_tmp = packed_data(ipack)
42169 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
42170 pack_tmp = ishft(pack_tmp, -32)
42172 data_tmp = ishft(pack_tmp, 20)
42174 pack_tmp = packed_data(ipack)
42175 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
42176 pack_tmp = ishft(pack_tmp, -20)
42178 data_tmp = ishft(pack_tmp, 8)
42180 pack_tmp = packed_data(ipack)
42181 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
42182 pack_tmp = ishft(pack_tmp, -8)
42184 data_tmp = iand(pack_tmp, mask_right(nbits))
42185 full_data(idata) = data_tmp
42186 pack_tmp = ishft(pack_tmp, -nbits)
42188 data_tmp = ishft(pack_tmp, 48)
42190 pack_tmp = packed_data(ipack)
42191 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
42192 pack_tmp = ishft(pack_tmp, -48)
42194 data_tmp = ishft(pack_tmp, 36)
42196 pack_tmp = packed_data(ipack)
42197 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
42198 pack_tmp = ishft(pack_tmp, -36)
42200 data_tmp = ishft(pack_tmp, 24)
42202 pack_tmp = packed_data(ipack)
42203 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
42204 pack_tmp = ishft(pack_tmp, -24)
42206 data_tmp = ishft(pack_tmp, 12)
42208 pack_tmp = packed_data(ipack)
42209 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
42210 pack_tmp = ishft(pack_tmp, -12)
42212 data_tmp = iand(pack_tmp, mask_right(nbits))
42213 full_data(idata) = data_tmp
42214 pack_tmp = ishft(pack_tmp, -nbits)
42216 data_tmp = ishft(pack_tmp, 52)
42218 pack_tmp = packed_data(ipack)
42219 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
42220 pack_tmp = ishft(pack_tmp, -52)
42222 data_tmp = ishft(pack_tmp, 40)
42224 pack_tmp = packed_data(ipack)
42225 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
42226 pack_tmp = ishft(pack_tmp, -40)
42228 data_tmp = ishft(pack_tmp, 28)
42230 pack_tmp = packed_data(ipack)
42231 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
42232 pack_tmp = ishft(pack_tmp, -28)
42234 data_tmp = ishft(pack_tmp, 16)
42236 pack_tmp = packed_data(ipack)
42237 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
42238 pack_tmp = ishft(pack_tmp, -16)
42240 data_tmp = ishft(pack_tmp, 4)
42242 pack_tmp = packed_data(ipack)
42243 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
42244 pack_tmp = ishft(pack_tmp, -4)
42246 data_tmp = iand(pack_tmp, mask_right(nbits))
42247 full_data(idata) = data_tmp
42248 pack_tmp = ishft(pack_tmp, -nbits)
42250 data_tmp = ishft(pack_tmp, 44)
42252 pack_tmp = packed_data(ipack)
42253 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
42254 pack_tmp = ishft(pack_tmp, -44)
42256 data_tmp = ishft(pack_tmp, 32)
42258 pack_tmp = packed_data(ipack)
42259 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
42260 pack_tmp = ishft(pack_tmp, -32)
42262 data_tmp = ishft(pack_tmp, 20)
42264 pack_tmp = packed_data(ipack)
42265 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
42266 pack_tmp = ishft(pack_tmp, -20)
42268 data_tmp = ishft(pack_tmp, 8)
42270 pack_tmp = packed_data(ipack)
42271 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
42272 pack_tmp = ishft(pack_tmp, -8)
42274 data_tmp = iand(pack_tmp, mask_right(nbits))
42275 full_data(idata) = data_tmp
42276 pack_tmp = ishft(pack_tmp, -nbits)
42278 data_tmp = ishft(pack_tmp, 48)
42280 pack_tmp = packed_data(ipack)
42281 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
42282 pack_tmp = ishft(pack_tmp, -48)
42284 data_tmp = ishft(pack_tmp, 36)
42286 pack_tmp = packed_data(ipack)
42287 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
42288 pack_tmp = ishft(pack_tmp, -36)
42290 data_tmp = ishft(pack_tmp, 24)
42292 pack_tmp = packed_data(ipack)
42293 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
42294 pack_tmp = ishft(pack_tmp, -24)
42296 data_tmp = ishft(pack_tmp, 12)
42298 pack_tmp = packed_data(ipack)
42299 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
42300 pack_tmp = ishft(pack_tmp, -12)
42302 data_tmp = iand(pack_tmp, mask_right(nbits))
42303 full_data(idata) = data_tmp
42304 pack_tmp = ishft(pack_tmp, -nbits)
42306 data_tmp = ishft(pack_tmp, 52)
42308 pack_tmp = packed_data(ipack)
42309 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
42310 pack_tmp = ishft(pack_tmp, -52)
42312 data_tmp = ishft(pack_tmp, 40)
42314 pack_tmp = packed_data(ipack)
42315 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
42316 pack_tmp = ishft(pack_tmp, -40)
42318 data_tmp = ishft(pack_tmp, 28)
42320 pack_tmp = packed_data(ipack)
42321 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
42322 pack_tmp = ishft(pack_tmp, -28)
42324 data_tmp = ishft(pack_tmp, 16)
42326 pack_tmp = packed_data(ipack)
42327 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
42328 pack_tmp = ishft(pack_tmp, -16)
42330 data_tmp = ishft(pack_tmp, 4)
42332 pack_tmp = packed_data(ipack)
42333 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
42334 pack_tmp = ishft(pack_tmp, -4)
42336 data_tmp = iand(pack_tmp, mask_right(nbits))
42337 full_data(idata) = data_tmp
42338 pack_tmp = ishft(pack_tmp, -nbits)
42340 data_tmp = ishft(pack_tmp, 44)
42342 pack_tmp = packed_data(ipack)
42343 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
42344 pack_tmp = ishft(pack_tmp, -44)
42346 data_tmp = ishft(pack_tmp, 32)
42348 pack_tmp = packed_data(ipack)
42349 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
42350 pack_tmp = ishft(pack_tmp, -32)
42352 data_tmp = ishft(pack_tmp, 20)
42354 pack_tmp = packed_data(ipack)
42355 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
42356 pack_tmp = ishft(pack_tmp, -20)
42358 data_tmp = ishft(pack_tmp, 8)
42360 pack_tmp = packed_data(ipack)
42361 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
42362 pack_tmp = ishft(pack_tmp, -8)
42364 data_tmp = iand(pack_tmp, mask_right(nbits))
42365 full_data(idata) = data_tmp
42366 pack_tmp = ishft(pack_tmp, -nbits)
42368 data_tmp = ishft(pack_tmp, 48)
42370 pack_tmp = packed_data(ipack)
42371 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
42372 pack_tmp = ishft(pack_tmp, -48)
42374 data_tmp = ishft(pack_tmp, 36)
42376 pack_tmp = packed_data(ipack)
42377 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
42378 pack_tmp = ishft(pack_tmp, -36)
42380 data_tmp = ishft(pack_tmp, 24)
42382 pack_tmp = packed_data(ipack)
42383 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
42384 pack_tmp = ishft(pack_tmp, -24)
42386 data_tmp = ishft(pack_tmp, 12)
42388 pack_tmp = packed_data(ipack)
42389 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
42390 pack_tmp = ishft(pack_tmp, -12)
42392 data_tmp = iand(pack_tmp, mask_right(nbits))
42393 full_data(idata) = data_tmp
42394 pack_tmp = ishft(pack_tmp, -nbits)
42396 data_tmp = ishft(pack_tmp, 52)
42398 pack_tmp = packed_data(ipack)
42399 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
42400 pack_tmp = ishft(pack_tmp, -52)
42402 data_tmp = ishft(pack_tmp, 40)
42404 pack_tmp = packed_data(ipack)
42405 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
42406 pack_tmp = ishft(pack_tmp, -40)
42408 data_tmp = ishft(pack_tmp, 28)
42410 pack_tmp = packed_data(ipack)
42411 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
42412 pack_tmp = ishft(pack_tmp, -28)
42414 data_tmp = ishft(pack_tmp, 16)
42416 pack_tmp = packed_data(ipack)
42417 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
42418 pack_tmp = ishft(pack_tmp, -16)
42420 data_tmp = ishft(pack_tmp, 4)
42422 pack_tmp = packed_data(ipack)
42423 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
42424 pack_tmp = ishft(pack_tmp, -4)
42426 data_tmp = iand(pack_tmp, mask_right(nbits))
42427 full_data(idata) = data_tmp
42428 pack_tmp = ishft(pack_tmp, -nbits)
42430 data_tmp = ishft(pack_tmp, 44)
42432 pack_tmp = packed_data(ipack)
42433 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
42434 pack_tmp = ishft(pack_tmp, -44)
42436 data_tmp = ishft(pack_tmp, 32)
42438 pack_tmp = packed_data(ipack)
42439 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
42440 pack_tmp = ishft(pack_tmp, -32)
42442 data_tmp = ishft(pack_tmp, 20)
42444 pack_tmp = packed_data(ipack)
42445 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
42446 pack_tmp = ishft(pack_tmp, -20)
42448 data_tmp = ishft(pack_tmp, 8)
42450 pack_tmp = packed_data(ipack)
42451 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
42452 pack_tmp = ishft(pack_tmp, -8)
42454 data_tmp = iand(pack_tmp, mask_right(nbits))
42455 full_data(idata) = data_tmp
42456 pack_tmp = ishft(pack_tmp, -nbits)
42458 data_tmp = ishft(pack_tmp, 48)
42460 pack_tmp = packed_data(ipack)
42461 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
42462 pack_tmp = ishft(pack_tmp, -48)
42464 data_tmp = ishft(pack_tmp, 36)
42466 pack_tmp = packed_data(ipack)
42467 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
42468 pack_tmp = ishft(pack_tmp, -36)
42470 data_tmp = ishft(pack_tmp, 24)
42472 pack_tmp = packed_data(ipack)
42473 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
42474 pack_tmp = ishft(pack_tmp, -24)
42476 data_tmp = ishft(pack_tmp, 12)
42478 pack_tmp = packed_data(ipack)
42479 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
42480 pack_tmp = ishft(pack_tmp, -12)
42482 data_tmp = iand(pack_tmp, mask_right(nbits))
42483 full_data(idata) = data_tmp
42484 pack_tmp = ishft(pack_tmp, -nbits)
42486 IF (ndata_rep < ndata)
THEN
42487 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
42489 END SUBROUTINE bits2ints_52
42497 SUBROUTINE ints2bits_53(Ndata, packed_data, full_data)
42498 INTEGER,
INTENT(IN) :: Ndata
42499 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
42500 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
42502 INTEGER,
PARAMETER :: Nbits = 53
42504 INTEGER :: idata, ipack, kdata, Ndata_rep
42505 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
42509 ndata_rep = (ndata/64)*64
42510 DO kdata = 1, ndata_rep, 64
42513 data_tmp = full_data(idata)
42514 data_tmp = ishft(data_tmp, 11)
42515 pack_tmp = ior(pack_tmp, data_tmp)
42516 pack_tmp = ishft(pack_tmp, -11)
42518 data_tmp = full_data(idata)
42519 data_tmp = ishft(data_tmp, 11)
42520 data_tmp = iand(data_tmp, mask_left(11))
42521 pack_tmp = ior(pack_tmp, data_tmp)
42523 packed_data(ipack) = pack_tmp
42524 data_tmp = full_data(idata)
42525 pack_tmp = ishft(data_tmp, 22)
42526 pack_tmp = ishft(pack_tmp, -22)
42528 data_tmp = full_data(idata)
42529 data_tmp = ishft(data_tmp, 11)
42530 data_tmp = iand(data_tmp, mask_left(22))
42531 pack_tmp = ior(pack_tmp, data_tmp)
42533 packed_data(ipack) = pack_tmp
42534 data_tmp = full_data(idata)
42535 pack_tmp = ishft(data_tmp, 33)
42536 pack_tmp = ishft(pack_tmp, -33)
42538 data_tmp = full_data(idata)
42539 data_tmp = ishft(data_tmp, 11)
42540 data_tmp = iand(data_tmp, mask_left(33))
42541 pack_tmp = ior(pack_tmp, data_tmp)
42543 packed_data(ipack) = pack_tmp
42544 data_tmp = full_data(idata)
42545 pack_tmp = ishft(data_tmp, 44)
42546 pack_tmp = ishft(pack_tmp, -44)
42548 data_tmp = full_data(idata)
42549 data_tmp = ishft(data_tmp, 11)
42550 data_tmp = iand(data_tmp, mask_left(44))
42551 pack_tmp = ior(pack_tmp, data_tmp)
42553 packed_data(ipack) = pack_tmp
42554 data_tmp = full_data(idata)
42555 pack_tmp = ishft(data_tmp, 55)
42556 pack_tmp = ishft(pack_tmp, -53)
42558 data_tmp = full_data(idata)
42559 data_tmp = ishft(data_tmp, 11)
42560 pack_tmp = ior(pack_tmp, data_tmp)
42561 pack_tmp = ishft(pack_tmp, -2)
42563 data_tmp = full_data(idata)
42564 data_tmp = ishft(data_tmp, 11)
42565 data_tmp = iand(data_tmp, mask_left(2))
42566 pack_tmp = ior(pack_tmp, data_tmp)
42568 packed_data(ipack) = pack_tmp
42569 data_tmp = full_data(idata)
42570 pack_tmp = ishft(data_tmp, 13)
42571 pack_tmp = ishft(pack_tmp, -13)
42573 data_tmp = full_data(idata)
42574 data_tmp = ishft(data_tmp, 11)
42575 data_tmp = iand(data_tmp, mask_left(13))
42576 pack_tmp = ior(pack_tmp, data_tmp)
42578 packed_data(ipack) = pack_tmp
42579 data_tmp = full_data(idata)
42580 pack_tmp = ishft(data_tmp, 24)
42581 pack_tmp = ishft(pack_tmp, -24)
42583 data_tmp = full_data(idata)
42584 data_tmp = ishft(data_tmp, 11)
42585 data_tmp = iand(data_tmp, mask_left(24))
42586 pack_tmp = ior(pack_tmp, data_tmp)
42588 packed_data(ipack) = pack_tmp
42589 data_tmp = full_data(idata)
42590 pack_tmp = ishft(data_tmp, 35)
42591 pack_tmp = ishft(pack_tmp, -35)
42593 data_tmp = full_data(idata)
42594 data_tmp = ishft(data_tmp, 11)
42595 data_tmp = iand(data_tmp, mask_left(35))
42596 pack_tmp = ior(pack_tmp, data_tmp)
42598 packed_data(ipack) = pack_tmp
42599 data_tmp = full_data(idata)
42600 pack_tmp = ishft(data_tmp, 46)
42601 pack_tmp = ishft(pack_tmp, -46)
42603 data_tmp = full_data(idata)
42604 data_tmp = ishft(data_tmp, 11)
42605 data_tmp = iand(data_tmp, mask_left(46))
42606 pack_tmp = ior(pack_tmp, data_tmp)
42608 packed_data(ipack) = pack_tmp
42609 data_tmp = full_data(idata)
42610 pack_tmp = ishft(data_tmp, 57)
42611 pack_tmp = ishft(pack_tmp, -53)
42613 data_tmp = full_data(idata)
42614 data_tmp = ishft(data_tmp, 11)
42615 pack_tmp = ior(pack_tmp, data_tmp)
42616 pack_tmp = ishft(pack_tmp, -4)
42618 data_tmp = full_data(idata)
42619 data_tmp = ishft(data_tmp, 11)
42620 data_tmp = iand(data_tmp, mask_left(4))
42621 pack_tmp = ior(pack_tmp, data_tmp)
42623 packed_data(ipack) = pack_tmp
42624 data_tmp = full_data(idata)
42625 pack_tmp = ishft(data_tmp, 15)
42626 pack_tmp = ishft(pack_tmp, -15)
42628 data_tmp = full_data(idata)
42629 data_tmp = ishft(data_tmp, 11)
42630 data_tmp = iand(data_tmp, mask_left(15))
42631 pack_tmp = ior(pack_tmp, data_tmp)
42633 packed_data(ipack) = pack_tmp
42634 data_tmp = full_data(idata)
42635 pack_tmp = ishft(data_tmp, 26)
42636 pack_tmp = ishft(pack_tmp, -26)
42638 data_tmp = full_data(idata)
42639 data_tmp = ishft(data_tmp, 11)
42640 data_tmp = iand(data_tmp, mask_left(26))
42641 pack_tmp = ior(pack_tmp, data_tmp)
42643 packed_data(ipack) = pack_tmp
42644 data_tmp = full_data(idata)
42645 pack_tmp = ishft(data_tmp, 37)
42646 pack_tmp = ishft(pack_tmp, -37)
42648 data_tmp = full_data(idata)
42649 data_tmp = ishft(data_tmp, 11)
42650 data_tmp = iand(data_tmp, mask_left(37))
42651 pack_tmp = ior(pack_tmp, data_tmp)
42653 packed_data(ipack) = pack_tmp
42654 data_tmp = full_data(idata)
42655 pack_tmp = ishft(data_tmp, 48)
42656 pack_tmp = ishft(pack_tmp, -48)
42658 data_tmp = full_data(idata)
42659 data_tmp = ishft(data_tmp, 11)
42660 data_tmp = iand(data_tmp, mask_left(48))
42661 pack_tmp = ior(pack_tmp, data_tmp)
42663 packed_data(ipack) = pack_tmp
42664 data_tmp = full_data(idata)
42665 pack_tmp = ishft(data_tmp, 59)
42666 pack_tmp = ishft(pack_tmp, -53)
42668 data_tmp = full_data(idata)
42669 data_tmp = ishft(data_tmp, 11)
42670 pack_tmp = ior(pack_tmp, data_tmp)
42671 pack_tmp = ishft(pack_tmp, -6)
42673 data_tmp = full_data(idata)
42674 data_tmp = ishft(data_tmp, 11)
42675 data_tmp = iand(data_tmp, mask_left(6))
42676 pack_tmp = ior(pack_tmp, data_tmp)
42678 packed_data(ipack) = pack_tmp
42679 data_tmp = full_data(idata)
42680 pack_tmp = ishft(data_tmp, 17)
42681 pack_tmp = ishft(pack_tmp, -17)
42683 data_tmp = full_data(idata)
42684 data_tmp = ishft(data_tmp, 11)
42685 data_tmp = iand(data_tmp, mask_left(17))
42686 pack_tmp = ior(pack_tmp, data_tmp)
42688 packed_data(ipack) = pack_tmp
42689 data_tmp = full_data(idata)
42690 pack_tmp = ishft(data_tmp, 28)
42691 pack_tmp = ishft(pack_tmp, -28)
42693 data_tmp = full_data(idata)
42694 data_tmp = ishft(data_tmp, 11)
42695 data_tmp = iand(data_tmp, mask_left(28))
42696 pack_tmp = ior(pack_tmp, data_tmp)
42698 packed_data(ipack) = pack_tmp
42699 data_tmp = full_data(idata)
42700 pack_tmp = ishft(data_tmp, 39)
42701 pack_tmp = ishft(pack_tmp, -39)
42703 data_tmp = full_data(idata)
42704 data_tmp = ishft(data_tmp, 11)
42705 data_tmp = iand(data_tmp, mask_left(39))
42706 pack_tmp = ior(pack_tmp, data_tmp)
42708 packed_data(ipack) = pack_tmp
42709 data_tmp = full_data(idata)
42710 pack_tmp = ishft(data_tmp, 50)
42711 pack_tmp = ishft(pack_tmp, -50)
42713 data_tmp = full_data(idata)
42714 data_tmp = ishft(data_tmp, 11)
42715 data_tmp = iand(data_tmp, mask_left(50))
42716 pack_tmp = ior(pack_tmp, data_tmp)
42718 packed_data(ipack) = pack_tmp
42719 data_tmp = full_data(idata)
42720 pack_tmp = ishft(data_tmp, 61)
42721 pack_tmp = ishft(pack_tmp, -53)
42723 data_tmp = full_data(idata)
42724 data_tmp = ishft(data_tmp, 11)
42725 pack_tmp = ior(pack_tmp, data_tmp)
42726 pack_tmp = ishft(pack_tmp, -8)
42728 data_tmp = full_data(idata)
42729 data_tmp = ishft(data_tmp, 11)
42730 data_tmp = iand(data_tmp, mask_left(8))
42731 pack_tmp = ior(pack_tmp, data_tmp)
42733 packed_data(ipack) = pack_tmp
42734 data_tmp = full_data(idata)
42735 pack_tmp = ishft(data_tmp, 19)
42736 pack_tmp = ishft(pack_tmp, -19)
42738 data_tmp = full_data(idata)
42739 data_tmp = ishft(data_tmp, 11)
42740 data_tmp = iand(data_tmp, mask_left(19))
42741 pack_tmp = ior(pack_tmp, data_tmp)
42743 packed_data(ipack) = pack_tmp
42744 data_tmp = full_data(idata)
42745 pack_tmp = ishft(data_tmp, 30)
42746 pack_tmp = ishft(pack_tmp, -30)
42748 data_tmp = full_data(idata)
42749 data_tmp = ishft(data_tmp, 11)
42750 data_tmp = iand(data_tmp, mask_left(30))
42751 pack_tmp = ior(pack_tmp, data_tmp)
42753 packed_data(ipack) = pack_tmp
42754 data_tmp = full_data(idata)
42755 pack_tmp = ishft(data_tmp, 41)
42756 pack_tmp = ishft(pack_tmp, -41)
42758 data_tmp = full_data(idata)
42759 data_tmp = ishft(data_tmp, 11)
42760 data_tmp = iand(data_tmp, mask_left(41))
42761 pack_tmp = ior(pack_tmp, data_tmp)
42763 packed_data(ipack) = pack_tmp
42764 data_tmp = full_data(idata)
42765 pack_tmp = ishft(data_tmp, 52)
42766 pack_tmp = ishft(pack_tmp, -52)
42768 data_tmp = full_data(idata)
42769 data_tmp = ishft(data_tmp, 11)
42770 data_tmp = iand(data_tmp, mask_left(52))
42771 pack_tmp = ior(pack_tmp, data_tmp)
42773 packed_data(ipack) = pack_tmp
42774 data_tmp = full_data(idata)
42775 pack_tmp = ishft(data_tmp, 63)
42776 pack_tmp = ishft(pack_tmp, -53)
42778 data_tmp = full_data(idata)
42779 data_tmp = ishft(data_tmp, 11)
42780 pack_tmp = ior(pack_tmp, data_tmp)
42781 pack_tmp = ishft(pack_tmp, -10)
42783 data_tmp = full_data(idata)
42784 data_tmp = ishft(data_tmp, 11)
42785 data_tmp = iand(data_tmp, mask_left(10))
42786 pack_tmp = ior(pack_tmp, data_tmp)
42788 packed_data(ipack) = pack_tmp
42789 data_tmp = full_data(idata)
42790 pack_tmp = ishft(data_tmp, 21)
42791 pack_tmp = ishft(pack_tmp, -21)
42793 data_tmp = full_data(idata)
42794 data_tmp = ishft(data_tmp, 11)
42795 data_tmp = iand(data_tmp, mask_left(21))
42796 pack_tmp = ior(pack_tmp, data_tmp)
42798 packed_data(ipack) = pack_tmp
42799 data_tmp = full_data(idata)
42800 pack_tmp = ishft(data_tmp, 32)
42801 pack_tmp = ishft(pack_tmp, -32)
42803 data_tmp = full_data(idata)
42804 data_tmp = ishft(data_tmp, 11)
42805 data_tmp = iand(data_tmp, mask_left(32))
42806 pack_tmp = ior(pack_tmp, data_tmp)
42808 packed_data(ipack) = pack_tmp
42809 data_tmp = full_data(idata)
42810 pack_tmp = ishft(data_tmp, 43)
42811 pack_tmp = ishft(pack_tmp, -43)
42813 data_tmp = full_data(idata)
42814 data_tmp = ishft(data_tmp, 11)
42815 data_tmp = iand(data_tmp, mask_left(43))
42816 pack_tmp = ior(pack_tmp, data_tmp)
42818 packed_data(ipack) = pack_tmp
42819 data_tmp = full_data(idata)
42820 pack_tmp = ishft(data_tmp, 54)
42821 pack_tmp = ishft(pack_tmp, -53)
42823 data_tmp = full_data(idata)
42824 data_tmp = ishft(data_tmp, 11)
42825 pack_tmp = ior(pack_tmp, data_tmp)
42826 pack_tmp = ishft(pack_tmp, -1)
42828 data_tmp = full_data(idata)
42829 data_tmp = ishft(data_tmp, 11)
42830 data_tmp = iand(data_tmp, mask_left(1))
42831 pack_tmp = ior(pack_tmp, data_tmp)
42833 packed_data(ipack) = pack_tmp
42834 data_tmp = full_data(idata)
42835 pack_tmp = ishft(data_tmp, 12)
42836 pack_tmp = ishft(pack_tmp, -12)
42838 data_tmp = full_data(idata)
42839 data_tmp = ishft(data_tmp, 11)
42840 data_tmp = iand(data_tmp, mask_left(12))
42841 pack_tmp = ior(pack_tmp, data_tmp)
42843 packed_data(ipack) = pack_tmp
42844 data_tmp = full_data(idata)
42845 pack_tmp = ishft(data_tmp, 23)
42846 pack_tmp = ishft(pack_tmp, -23)
42848 data_tmp = full_data(idata)
42849 data_tmp = ishft(data_tmp, 11)
42850 data_tmp = iand(data_tmp, mask_left(23))
42851 pack_tmp = ior(pack_tmp, data_tmp)
42853 packed_data(ipack) = pack_tmp
42854 data_tmp = full_data(idata)
42855 pack_tmp = ishft(data_tmp, 34)
42856 pack_tmp = ishft(pack_tmp, -34)
42858 data_tmp = full_data(idata)
42859 data_tmp = ishft(data_tmp, 11)
42860 data_tmp = iand(data_tmp, mask_left(34))
42861 pack_tmp = ior(pack_tmp, data_tmp)
42863 packed_data(ipack) = pack_tmp
42864 data_tmp = full_data(idata)
42865 pack_tmp = ishft(data_tmp, 45)
42866 pack_tmp = ishft(pack_tmp, -45)
42868 data_tmp = full_data(idata)
42869 data_tmp = ishft(data_tmp, 11)
42870 data_tmp = iand(data_tmp, mask_left(45))
42871 pack_tmp = ior(pack_tmp, data_tmp)
42873 packed_data(ipack) = pack_tmp
42874 data_tmp = full_data(idata)
42875 pack_tmp = ishft(data_tmp, 56)
42876 pack_tmp = ishft(pack_tmp, -53)
42878 data_tmp = full_data(idata)
42879 data_tmp = ishft(data_tmp, 11)
42880 pack_tmp = ior(pack_tmp, data_tmp)
42881 pack_tmp = ishft(pack_tmp, -3)
42883 data_tmp = full_data(idata)
42884 data_tmp = ishft(data_tmp, 11)
42885 data_tmp = iand(data_tmp, mask_left(3))
42886 pack_tmp = ior(pack_tmp, data_tmp)
42888 packed_data(ipack) = pack_tmp
42889 data_tmp = full_data(idata)
42890 pack_tmp = ishft(data_tmp, 14)
42891 pack_tmp = ishft(pack_tmp, -14)
42893 data_tmp = full_data(idata)
42894 data_tmp = ishft(data_tmp, 11)
42895 data_tmp = iand(data_tmp, mask_left(14))
42896 pack_tmp = ior(pack_tmp, data_tmp)
42898 packed_data(ipack) = pack_tmp
42899 data_tmp = full_data(idata)
42900 pack_tmp = ishft(data_tmp, 25)
42901 pack_tmp = ishft(pack_tmp, -25)
42903 data_tmp = full_data(idata)
42904 data_tmp = ishft(data_tmp, 11)
42905 data_tmp = iand(data_tmp, mask_left(25))
42906 pack_tmp = ior(pack_tmp, data_tmp)
42908 packed_data(ipack) = pack_tmp
42909 data_tmp = full_data(idata)
42910 pack_tmp = ishft(data_tmp, 36)
42911 pack_tmp = ishft(pack_tmp, -36)
42913 data_tmp = full_data(idata)
42914 data_tmp = ishft(data_tmp, 11)
42915 data_tmp = iand(data_tmp, mask_left(36))
42916 pack_tmp = ior(pack_tmp, data_tmp)
42918 packed_data(ipack) = pack_tmp
42919 data_tmp = full_data(idata)
42920 pack_tmp = ishft(data_tmp, 47)
42921 pack_tmp = ishft(pack_tmp, -47)
42923 data_tmp = full_data(idata)
42924 data_tmp = ishft(data_tmp, 11)
42925 data_tmp = iand(data_tmp, mask_left(47))
42926 pack_tmp = ior(pack_tmp, data_tmp)
42928 packed_data(ipack) = pack_tmp
42929 data_tmp = full_data(idata)
42930 pack_tmp = ishft(data_tmp, 58)
42931 pack_tmp = ishft(pack_tmp, -53)
42933 data_tmp = full_data(idata)
42934 data_tmp = ishft(data_tmp, 11)
42935 pack_tmp = ior(pack_tmp, data_tmp)
42936 pack_tmp = ishft(pack_tmp, -5)
42938 data_tmp = full_data(idata)
42939 data_tmp = ishft(data_tmp, 11)
42940 data_tmp = iand(data_tmp, mask_left(5))
42941 pack_tmp = ior(pack_tmp, data_tmp)
42943 packed_data(ipack) = pack_tmp
42944 data_tmp = full_data(idata)
42945 pack_tmp = ishft(data_tmp, 16)
42946 pack_tmp = ishft(pack_tmp, -16)
42948 data_tmp = full_data(idata)
42949 data_tmp = ishft(data_tmp, 11)
42950 data_tmp = iand(data_tmp, mask_left(16))
42951 pack_tmp = ior(pack_tmp, data_tmp)
42953 packed_data(ipack) = pack_tmp
42954 data_tmp = full_data(idata)
42955 pack_tmp = ishft(data_tmp, 27)
42956 pack_tmp = ishft(pack_tmp, -27)
42958 data_tmp = full_data(idata)
42959 data_tmp = ishft(data_tmp, 11)
42960 data_tmp = iand(data_tmp, mask_left(27))
42961 pack_tmp = ior(pack_tmp, data_tmp)
42963 packed_data(ipack) = pack_tmp
42964 data_tmp = full_data(idata)
42965 pack_tmp = ishft(data_tmp, 38)
42966 pack_tmp = ishft(pack_tmp, -38)
42968 data_tmp = full_data(idata)
42969 data_tmp = ishft(data_tmp, 11)
42970 data_tmp = iand(data_tmp, mask_left(38))
42971 pack_tmp = ior(pack_tmp, data_tmp)
42973 packed_data(ipack) = pack_tmp
42974 data_tmp = full_data(idata)
42975 pack_tmp = ishft(data_tmp, 49)
42976 pack_tmp = ishft(pack_tmp, -49)
42978 data_tmp = full_data(idata)
42979 data_tmp = ishft(data_tmp, 11)
42980 data_tmp = iand(data_tmp, mask_left(49))
42981 pack_tmp = ior(pack_tmp, data_tmp)
42983 packed_data(ipack) = pack_tmp
42984 data_tmp = full_data(idata)
42985 pack_tmp = ishft(data_tmp, 60)
42986 pack_tmp = ishft(pack_tmp, -53)
42988 data_tmp = full_data(idata)
42989 data_tmp = ishft(data_tmp, 11)
42990 pack_tmp = ior(pack_tmp, data_tmp)
42991 pack_tmp = ishft(pack_tmp, -7)
42993 data_tmp = full_data(idata)
42994 data_tmp = ishft(data_tmp, 11)
42995 data_tmp = iand(data_tmp, mask_left(7))
42996 pack_tmp = ior(pack_tmp, data_tmp)
42998 packed_data(ipack) = pack_tmp
42999 data_tmp = full_data(idata)
43000 pack_tmp = ishft(data_tmp, 18)
43001 pack_tmp = ishft(pack_tmp, -18)
43003 data_tmp = full_data(idata)
43004 data_tmp = ishft(data_tmp, 11)
43005 data_tmp = iand(data_tmp, mask_left(18))
43006 pack_tmp = ior(pack_tmp, data_tmp)
43008 packed_data(ipack) = pack_tmp
43009 data_tmp = full_data(idata)
43010 pack_tmp = ishft(data_tmp, 29)
43011 pack_tmp = ishft(pack_tmp, -29)
43013 data_tmp = full_data(idata)
43014 data_tmp = ishft(data_tmp, 11)
43015 data_tmp = iand(data_tmp, mask_left(29))
43016 pack_tmp = ior(pack_tmp, data_tmp)
43018 packed_data(ipack) = pack_tmp
43019 data_tmp = full_data(idata)
43020 pack_tmp = ishft(data_tmp, 40)
43021 pack_tmp = ishft(pack_tmp, -40)
43023 data_tmp = full_data(idata)
43024 data_tmp = ishft(data_tmp, 11)
43025 data_tmp = iand(data_tmp, mask_left(40))
43026 pack_tmp = ior(pack_tmp, data_tmp)
43028 packed_data(ipack) = pack_tmp
43029 data_tmp = full_data(idata)
43030 pack_tmp = ishft(data_tmp, 51)
43031 pack_tmp = ishft(pack_tmp, -51)
43033 data_tmp = full_data(idata)
43034 data_tmp = ishft(data_tmp, 11)
43035 data_tmp = iand(data_tmp, mask_left(51))
43036 pack_tmp = ior(pack_tmp, data_tmp)
43038 packed_data(ipack) = pack_tmp
43039 data_tmp = full_data(idata)
43040 pack_tmp = ishft(data_tmp, 62)
43041 pack_tmp = ishft(pack_tmp, -53)
43043 data_tmp = full_data(idata)
43044 data_tmp = ishft(data_tmp, 11)
43045 pack_tmp = ior(pack_tmp, data_tmp)
43046 pack_tmp = ishft(pack_tmp, -9)
43048 data_tmp = full_data(idata)
43049 data_tmp = ishft(data_tmp, 11)
43050 data_tmp = iand(data_tmp, mask_left(9))
43051 pack_tmp = ior(pack_tmp, data_tmp)
43053 packed_data(ipack) = pack_tmp
43054 data_tmp = full_data(idata)
43055 pack_tmp = ishft(data_tmp, 20)
43056 pack_tmp = ishft(pack_tmp, -20)
43058 data_tmp = full_data(idata)
43059 data_tmp = ishft(data_tmp, 11)
43060 data_tmp = iand(data_tmp, mask_left(20))
43061 pack_tmp = ior(pack_tmp, data_tmp)
43063 packed_data(ipack) = pack_tmp
43064 data_tmp = full_data(idata)
43065 pack_tmp = ishft(data_tmp, 31)
43066 pack_tmp = ishft(pack_tmp, -31)
43068 data_tmp = full_data(idata)
43069 data_tmp = ishft(data_tmp, 11)
43070 data_tmp = iand(data_tmp, mask_left(31))
43071 pack_tmp = ior(pack_tmp, data_tmp)
43073 packed_data(ipack) = pack_tmp
43074 data_tmp = full_data(idata)
43075 pack_tmp = ishft(data_tmp, 42)
43076 pack_tmp = ishft(pack_tmp, -42)
43078 data_tmp = full_data(idata)
43079 data_tmp = ishft(data_tmp, 11)
43080 data_tmp = iand(data_tmp, mask_left(42))
43081 pack_tmp = ior(pack_tmp, data_tmp)
43083 packed_data(ipack) = pack_tmp
43084 data_tmp = full_data(idata)
43085 pack_tmp = ishft(data_tmp, 53)
43086 pack_tmp = ishft(pack_tmp, -53)
43088 data_tmp = full_data(idata)
43089 data_tmp = ishft(data_tmp, 11)
43090 pack_tmp = ior(pack_tmp, data_tmp)
43091 pack_tmp = ishft(pack_tmp, 0)
43092 pack_tmp = ishft(pack_tmp, 0)
43094 packed_data(ipack) = pack_tmp
43096 IF (ndata_rep < ndata)
THEN
43097 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
43099 END SUBROUTINE ints2bits_53
43107 SUBROUTINE bits2ints_53(Ndata, packed_data, full_data)
43108 INTEGER,
INTENT(IN) :: Ndata
43109 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
43110 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
43112 INTEGER,
PARAMETER :: Nbits = 53
43114 INTEGER :: idata, ipack, kdata, Ndata_rep
43115 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
43120 ndata_rep = (ndata/64)*64
43121 DO kdata = 1, ndata_rep, 64
43123 data_tmp = ishft(pack_tmp, 53)
43125 pack_tmp = packed_data(ipack)
43126 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(53)))
43127 pack_tmp = ishft(pack_tmp, -53)
43129 data_tmp = ishft(pack_tmp, 42)
43131 pack_tmp = packed_data(ipack)
43132 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
43133 pack_tmp = ishft(pack_tmp, -42)
43135 data_tmp = ishft(pack_tmp, 31)
43137 pack_tmp = packed_data(ipack)
43138 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
43139 pack_tmp = ishft(pack_tmp, -31)
43141 data_tmp = ishft(pack_tmp, 20)
43143 pack_tmp = packed_data(ipack)
43144 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
43145 pack_tmp = ishft(pack_tmp, -20)
43147 data_tmp = ishft(pack_tmp, 9)
43149 pack_tmp = packed_data(ipack)
43150 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
43151 pack_tmp = ishft(pack_tmp, -9)
43153 data_tmp = iand(pack_tmp, mask_right(nbits))
43154 full_data(idata) = data_tmp
43155 pack_tmp = ishft(pack_tmp, -nbits)
43157 data_tmp = ishft(pack_tmp, 51)
43159 pack_tmp = packed_data(ipack)
43160 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(51)))
43161 pack_tmp = ishft(pack_tmp, -51)
43163 data_tmp = ishft(pack_tmp, 40)
43165 pack_tmp = packed_data(ipack)
43166 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
43167 pack_tmp = ishft(pack_tmp, -40)
43169 data_tmp = ishft(pack_tmp, 29)
43171 pack_tmp = packed_data(ipack)
43172 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
43173 pack_tmp = ishft(pack_tmp, -29)
43175 data_tmp = ishft(pack_tmp, 18)
43177 pack_tmp = packed_data(ipack)
43178 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
43179 pack_tmp = ishft(pack_tmp, -18)
43181 data_tmp = ishft(pack_tmp, 7)
43183 pack_tmp = packed_data(ipack)
43184 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
43185 pack_tmp = ishft(pack_tmp, -7)
43187 data_tmp = iand(pack_tmp, mask_right(nbits))
43188 full_data(idata) = data_tmp
43189 pack_tmp = ishft(pack_tmp, -nbits)
43191 data_tmp = ishft(pack_tmp, 49)
43193 pack_tmp = packed_data(ipack)
43194 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
43195 pack_tmp = ishft(pack_tmp, -49)
43197 data_tmp = ishft(pack_tmp, 38)
43199 pack_tmp = packed_data(ipack)
43200 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
43201 pack_tmp = ishft(pack_tmp, -38)
43203 data_tmp = ishft(pack_tmp, 27)
43205 pack_tmp = packed_data(ipack)
43206 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
43207 pack_tmp = ishft(pack_tmp, -27)
43209 data_tmp = ishft(pack_tmp, 16)
43211 pack_tmp = packed_data(ipack)
43212 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
43213 pack_tmp = ishft(pack_tmp, -16)
43215 data_tmp = ishft(pack_tmp, 5)
43217 pack_tmp = packed_data(ipack)
43218 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
43219 pack_tmp = ishft(pack_tmp, -5)
43221 data_tmp = iand(pack_tmp, mask_right(nbits))
43222 full_data(idata) = data_tmp
43223 pack_tmp = ishft(pack_tmp, -nbits)
43225 data_tmp = ishft(pack_tmp, 47)
43227 pack_tmp = packed_data(ipack)
43228 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
43229 pack_tmp = ishft(pack_tmp, -47)
43231 data_tmp = ishft(pack_tmp, 36)
43233 pack_tmp = packed_data(ipack)
43234 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
43235 pack_tmp = ishft(pack_tmp, -36)
43237 data_tmp = ishft(pack_tmp, 25)
43239 pack_tmp = packed_data(ipack)
43240 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
43241 pack_tmp = ishft(pack_tmp, -25)
43243 data_tmp = ishft(pack_tmp, 14)
43245 pack_tmp = packed_data(ipack)
43246 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
43247 pack_tmp = ishft(pack_tmp, -14)
43249 data_tmp = ishft(pack_tmp, 3)
43251 pack_tmp = packed_data(ipack)
43252 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
43253 pack_tmp = ishft(pack_tmp, -3)
43255 data_tmp = iand(pack_tmp, mask_right(nbits))
43256 full_data(idata) = data_tmp
43257 pack_tmp = ishft(pack_tmp, -nbits)
43259 data_tmp = ishft(pack_tmp, 45)
43261 pack_tmp = packed_data(ipack)
43262 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
43263 pack_tmp = ishft(pack_tmp, -45)
43265 data_tmp = ishft(pack_tmp, 34)
43267 pack_tmp = packed_data(ipack)
43268 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
43269 pack_tmp = ishft(pack_tmp, -34)
43271 data_tmp = ishft(pack_tmp, 23)
43273 pack_tmp = packed_data(ipack)
43274 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
43275 pack_tmp = ishft(pack_tmp, -23)
43277 data_tmp = ishft(pack_tmp, 12)
43279 pack_tmp = packed_data(ipack)
43280 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
43281 pack_tmp = ishft(pack_tmp, -12)
43283 data_tmp = ishft(pack_tmp, 1)
43285 pack_tmp = packed_data(ipack)
43286 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
43287 pack_tmp = ishft(pack_tmp, -1)
43289 data_tmp = iand(pack_tmp, mask_right(nbits))
43290 full_data(idata) = data_tmp
43291 pack_tmp = ishft(pack_tmp, -nbits)
43293 data_tmp = ishft(pack_tmp, 43)
43295 pack_tmp = packed_data(ipack)
43296 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
43297 pack_tmp = ishft(pack_tmp, -43)
43299 data_tmp = ishft(pack_tmp, 32)
43301 pack_tmp = packed_data(ipack)
43302 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
43303 pack_tmp = ishft(pack_tmp, -32)
43305 data_tmp = ishft(pack_tmp, 21)
43307 pack_tmp = packed_data(ipack)
43308 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
43309 pack_tmp = ishft(pack_tmp, -21)
43311 data_tmp = ishft(pack_tmp, 10)
43313 pack_tmp = packed_data(ipack)
43314 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
43315 pack_tmp = ishft(pack_tmp, -10)
43317 data_tmp = iand(pack_tmp, mask_right(nbits))
43318 full_data(idata) = data_tmp
43319 pack_tmp = ishft(pack_tmp, -nbits)
43321 data_tmp = ishft(pack_tmp, 52)
43323 pack_tmp = packed_data(ipack)
43324 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
43325 pack_tmp = ishft(pack_tmp, -52)
43327 data_tmp = ishft(pack_tmp, 41)
43329 pack_tmp = packed_data(ipack)
43330 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
43331 pack_tmp = ishft(pack_tmp, -41)
43333 data_tmp = ishft(pack_tmp, 30)
43335 pack_tmp = packed_data(ipack)
43336 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
43337 pack_tmp = ishft(pack_tmp, -30)
43339 data_tmp = ishft(pack_tmp, 19)
43341 pack_tmp = packed_data(ipack)
43342 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
43343 pack_tmp = ishft(pack_tmp, -19)
43345 data_tmp = ishft(pack_tmp, 8)
43347 pack_tmp = packed_data(ipack)
43348 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
43349 pack_tmp = ishft(pack_tmp, -8)
43351 data_tmp = iand(pack_tmp, mask_right(nbits))
43352 full_data(idata) = data_tmp
43353 pack_tmp = ishft(pack_tmp, -nbits)
43355 data_tmp = ishft(pack_tmp, 50)
43357 pack_tmp = packed_data(ipack)
43358 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
43359 pack_tmp = ishft(pack_tmp, -50)
43361 data_tmp = ishft(pack_tmp, 39)
43363 pack_tmp = packed_data(ipack)
43364 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
43365 pack_tmp = ishft(pack_tmp, -39)
43367 data_tmp = ishft(pack_tmp, 28)
43369 pack_tmp = packed_data(ipack)
43370 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
43371 pack_tmp = ishft(pack_tmp, -28)
43373 data_tmp = ishft(pack_tmp, 17)
43375 pack_tmp = packed_data(ipack)
43376 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
43377 pack_tmp = ishft(pack_tmp, -17)
43379 data_tmp = ishft(pack_tmp, 6)
43381 pack_tmp = packed_data(ipack)
43382 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
43383 pack_tmp = ishft(pack_tmp, -6)
43385 data_tmp = iand(pack_tmp, mask_right(nbits))
43386 full_data(idata) = data_tmp
43387 pack_tmp = ishft(pack_tmp, -nbits)
43389 data_tmp = ishft(pack_tmp, 48)
43391 pack_tmp = packed_data(ipack)
43392 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
43393 pack_tmp = ishft(pack_tmp, -48)
43395 data_tmp = ishft(pack_tmp, 37)
43397 pack_tmp = packed_data(ipack)
43398 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
43399 pack_tmp = ishft(pack_tmp, -37)
43401 data_tmp = ishft(pack_tmp, 26)
43403 pack_tmp = packed_data(ipack)
43404 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
43405 pack_tmp = ishft(pack_tmp, -26)
43407 data_tmp = ishft(pack_tmp, 15)
43409 pack_tmp = packed_data(ipack)
43410 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
43411 pack_tmp = ishft(pack_tmp, -15)
43413 data_tmp = ishft(pack_tmp, 4)
43415 pack_tmp = packed_data(ipack)
43416 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
43417 pack_tmp = ishft(pack_tmp, -4)
43419 data_tmp = iand(pack_tmp, mask_right(nbits))
43420 full_data(idata) = data_tmp
43421 pack_tmp = ishft(pack_tmp, -nbits)
43423 data_tmp = ishft(pack_tmp, 46)
43425 pack_tmp = packed_data(ipack)
43426 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
43427 pack_tmp = ishft(pack_tmp, -46)
43429 data_tmp = ishft(pack_tmp, 35)
43431 pack_tmp = packed_data(ipack)
43432 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
43433 pack_tmp = ishft(pack_tmp, -35)
43435 data_tmp = ishft(pack_tmp, 24)
43437 pack_tmp = packed_data(ipack)
43438 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
43439 pack_tmp = ishft(pack_tmp, -24)
43441 data_tmp = ishft(pack_tmp, 13)
43443 pack_tmp = packed_data(ipack)
43444 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
43445 pack_tmp = ishft(pack_tmp, -13)
43447 data_tmp = ishft(pack_tmp, 2)
43449 pack_tmp = packed_data(ipack)
43450 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
43451 pack_tmp = ishft(pack_tmp, -2)
43453 data_tmp = iand(pack_tmp, mask_right(nbits))
43454 full_data(idata) = data_tmp
43455 pack_tmp = ishft(pack_tmp, -nbits)
43457 data_tmp = ishft(pack_tmp, 44)
43459 pack_tmp = packed_data(ipack)
43460 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
43461 pack_tmp = ishft(pack_tmp, -44)
43463 data_tmp = ishft(pack_tmp, 33)
43465 pack_tmp = packed_data(ipack)
43466 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
43467 pack_tmp = ishft(pack_tmp, -33)
43469 data_tmp = ishft(pack_tmp, 22)
43471 pack_tmp = packed_data(ipack)
43472 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
43473 pack_tmp = ishft(pack_tmp, -22)
43475 data_tmp = ishft(pack_tmp, 11)
43477 pack_tmp = packed_data(ipack)
43478 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
43479 pack_tmp = ishft(pack_tmp, -11)
43481 data_tmp = iand(pack_tmp, mask_right(nbits))
43482 full_data(idata) = data_tmp
43483 pack_tmp = ishft(pack_tmp, -nbits)
43485 IF (ndata_rep < ndata)
THEN
43486 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
43488 END SUBROUTINE bits2ints_53
43496 SUBROUTINE ints2bits_54(Ndata, packed_data, full_data)
43497 INTEGER,
INTENT(IN) :: Ndata
43498 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
43499 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
43501 INTEGER,
PARAMETER :: Nbits = 54
43503 INTEGER :: idata, ipack, kdata, Ndata_rep
43504 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
43508 ndata_rep = (ndata/64)*64
43509 DO kdata = 1, ndata_rep, 64
43512 data_tmp = full_data(idata)
43513 data_tmp = ishft(data_tmp, 10)
43514 pack_tmp = ior(pack_tmp, data_tmp)
43515 pack_tmp = ishft(pack_tmp, -10)
43517 data_tmp = full_data(idata)
43518 data_tmp = ishft(data_tmp, 10)
43519 data_tmp = iand(data_tmp, mask_left(10))
43520 pack_tmp = ior(pack_tmp, data_tmp)
43522 packed_data(ipack) = pack_tmp
43523 data_tmp = full_data(idata)
43524 pack_tmp = ishft(data_tmp, 20)
43525 pack_tmp = ishft(pack_tmp, -20)
43527 data_tmp = full_data(idata)
43528 data_tmp = ishft(data_tmp, 10)
43529 data_tmp = iand(data_tmp, mask_left(20))
43530 pack_tmp = ior(pack_tmp, data_tmp)
43532 packed_data(ipack) = pack_tmp
43533 data_tmp = full_data(idata)
43534 pack_tmp = ishft(data_tmp, 30)
43535 pack_tmp = ishft(pack_tmp, -30)
43537 data_tmp = full_data(idata)
43538 data_tmp = ishft(data_tmp, 10)
43539 data_tmp = iand(data_tmp, mask_left(30))
43540 pack_tmp = ior(pack_tmp, data_tmp)
43542 packed_data(ipack) = pack_tmp
43543 data_tmp = full_data(idata)
43544 pack_tmp = ishft(data_tmp, 40)
43545 pack_tmp = ishft(pack_tmp, -40)
43547 data_tmp = full_data(idata)
43548 data_tmp = ishft(data_tmp, 10)
43549 data_tmp = iand(data_tmp, mask_left(40))
43550 pack_tmp = ior(pack_tmp, data_tmp)
43552 packed_data(ipack) = pack_tmp
43553 data_tmp = full_data(idata)
43554 pack_tmp = ishft(data_tmp, 50)
43555 pack_tmp = ishft(pack_tmp, -50)
43557 data_tmp = full_data(idata)
43558 data_tmp = ishft(data_tmp, 10)
43559 data_tmp = iand(data_tmp, mask_left(50))
43560 pack_tmp = ior(pack_tmp, data_tmp)
43562 packed_data(ipack) = pack_tmp
43563 data_tmp = full_data(idata)
43564 pack_tmp = ishft(data_tmp, 60)
43565 pack_tmp = ishft(pack_tmp, -54)
43567 data_tmp = full_data(idata)
43568 data_tmp = ishft(data_tmp, 10)
43569 pack_tmp = ior(pack_tmp, data_tmp)
43570 pack_tmp = ishft(pack_tmp, -6)
43572 data_tmp = full_data(idata)
43573 data_tmp = ishft(data_tmp, 10)
43574 data_tmp = iand(data_tmp, mask_left(6))
43575 pack_tmp = ior(pack_tmp, data_tmp)
43577 packed_data(ipack) = pack_tmp
43578 data_tmp = full_data(idata)
43579 pack_tmp = ishft(data_tmp, 16)
43580 pack_tmp = ishft(pack_tmp, -16)
43582 data_tmp = full_data(idata)
43583 data_tmp = ishft(data_tmp, 10)
43584 data_tmp = iand(data_tmp, mask_left(16))
43585 pack_tmp = ior(pack_tmp, data_tmp)
43587 packed_data(ipack) = pack_tmp
43588 data_tmp = full_data(idata)
43589 pack_tmp = ishft(data_tmp, 26)
43590 pack_tmp = ishft(pack_tmp, -26)
43592 data_tmp = full_data(idata)
43593 data_tmp = ishft(data_tmp, 10)
43594 data_tmp = iand(data_tmp, mask_left(26))
43595 pack_tmp = ior(pack_tmp, data_tmp)
43597 packed_data(ipack) = pack_tmp
43598 data_tmp = full_data(idata)
43599 pack_tmp = ishft(data_tmp, 36)
43600 pack_tmp = ishft(pack_tmp, -36)
43602 data_tmp = full_data(idata)
43603 data_tmp = ishft(data_tmp, 10)
43604 data_tmp = iand(data_tmp, mask_left(36))
43605 pack_tmp = ior(pack_tmp, data_tmp)
43607 packed_data(ipack) = pack_tmp
43608 data_tmp = full_data(idata)
43609 pack_tmp = ishft(data_tmp, 46)
43610 pack_tmp = ishft(pack_tmp, -46)
43612 data_tmp = full_data(idata)
43613 data_tmp = ishft(data_tmp, 10)
43614 data_tmp = iand(data_tmp, mask_left(46))
43615 pack_tmp = ior(pack_tmp, data_tmp)
43617 packed_data(ipack) = pack_tmp
43618 data_tmp = full_data(idata)
43619 pack_tmp = ishft(data_tmp, 56)
43620 pack_tmp = ishft(pack_tmp, -54)
43622 data_tmp = full_data(idata)
43623 data_tmp = ishft(data_tmp, 10)
43624 pack_tmp = ior(pack_tmp, data_tmp)
43625 pack_tmp = ishft(pack_tmp, -2)
43627 data_tmp = full_data(idata)
43628 data_tmp = ishft(data_tmp, 10)
43629 data_tmp = iand(data_tmp, mask_left(2))
43630 pack_tmp = ior(pack_tmp, data_tmp)
43632 packed_data(ipack) = pack_tmp
43633 data_tmp = full_data(idata)
43634 pack_tmp = ishft(data_tmp, 12)
43635 pack_tmp = ishft(pack_tmp, -12)
43637 data_tmp = full_data(idata)
43638 data_tmp = ishft(data_tmp, 10)
43639 data_tmp = iand(data_tmp, mask_left(12))
43640 pack_tmp = ior(pack_tmp, data_tmp)
43642 packed_data(ipack) = pack_tmp
43643 data_tmp = full_data(idata)
43644 pack_tmp = ishft(data_tmp, 22)
43645 pack_tmp = ishft(pack_tmp, -22)
43647 data_tmp = full_data(idata)
43648 data_tmp = ishft(data_tmp, 10)
43649 data_tmp = iand(data_tmp, mask_left(22))
43650 pack_tmp = ior(pack_tmp, data_tmp)
43652 packed_data(ipack) = pack_tmp
43653 data_tmp = full_data(idata)
43654 pack_tmp = ishft(data_tmp, 32)
43655 pack_tmp = ishft(pack_tmp, -32)
43657 data_tmp = full_data(idata)
43658 data_tmp = ishft(data_tmp, 10)
43659 data_tmp = iand(data_tmp, mask_left(32))
43660 pack_tmp = ior(pack_tmp, data_tmp)
43662 packed_data(ipack) = pack_tmp
43663 data_tmp = full_data(idata)
43664 pack_tmp = ishft(data_tmp, 42)
43665 pack_tmp = ishft(pack_tmp, -42)
43667 data_tmp = full_data(idata)
43668 data_tmp = ishft(data_tmp, 10)
43669 data_tmp = iand(data_tmp, mask_left(42))
43670 pack_tmp = ior(pack_tmp, data_tmp)
43672 packed_data(ipack) = pack_tmp
43673 data_tmp = full_data(idata)
43674 pack_tmp = ishft(data_tmp, 52)
43675 pack_tmp = ishft(pack_tmp, -52)
43677 data_tmp = full_data(idata)
43678 data_tmp = ishft(data_tmp, 10)
43679 data_tmp = iand(data_tmp, mask_left(52))
43680 pack_tmp = ior(pack_tmp, data_tmp)
43682 packed_data(ipack) = pack_tmp
43683 data_tmp = full_data(idata)
43684 pack_tmp = ishft(data_tmp, 62)
43685 pack_tmp = ishft(pack_tmp, -54)
43687 data_tmp = full_data(idata)
43688 data_tmp = ishft(data_tmp, 10)
43689 pack_tmp = ior(pack_tmp, data_tmp)
43690 pack_tmp = ishft(pack_tmp, -8)
43692 data_tmp = full_data(idata)
43693 data_tmp = ishft(data_tmp, 10)
43694 data_tmp = iand(data_tmp, mask_left(8))
43695 pack_tmp = ior(pack_tmp, data_tmp)
43697 packed_data(ipack) = pack_tmp
43698 data_tmp = full_data(idata)
43699 pack_tmp = ishft(data_tmp, 18)
43700 pack_tmp = ishft(pack_tmp, -18)
43702 data_tmp = full_data(idata)
43703 data_tmp = ishft(data_tmp, 10)
43704 data_tmp = iand(data_tmp, mask_left(18))
43705 pack_tmp = ior(pack_tmp, data_tmp)
43707 packed_data(ipack) = pack_tmp
43708 data_tmp = full_data(idata)
43709 pack_tmp = ishft(data_tmp, 28)
43710 pack_tmp = ishft(pack_tmp, -28)
43712 data_tmp = full_data(idata)
43713 data_tmp = ishft(data_tmp, 10)
43714 data_tmp = iand(data_tmp, mask_left(28))
43715 pack_tmp = ior(pack_tmp, data_tmp)
43717 packed_data(ipack) = pack_tmp
43718 data_tmp = full_data(idata)
43719 pack_tmp = ishft(data_tmp, 38)
43720 pack_tmp = ishft(pack_tmp, -38)
43722 data_tmp = full_data(idata)
43723 data_tmp = ishft(data_tmp, 10)
43724 data_tmp = iand(data_tmp, mask_left(38))
43725 pack_tmp = ior(pack_tmp, data_tmp)
43727 packed_data(ipack) = pack_tmp
43728 data_tmp = full_data(idata)
43729 pack_tmp = ishft(data_tmp, 48)
43730 pack_tmp = ishft(pack_tmp, -48)
43732 data_tmp = full_data(idata)
43733 data_tmp = ishft(data_tmp, 10)
43734 data_tmp = iand(data_tmp, mask_left(48))
43735 pack_tmp = ior(pack_tmp, data_tmp)
43737 packed_data(ipack) = pack_tmp
43738 data_tmp = full_data(idata)
43739 pack_tmp = ishft(data_tmp, 58)
43740 pack_tmp = ishft(pack_tmp, -54)
43742 data_tmp = full_data(idata)
43743 data_tmp = ishft(data_tmp, 10)
43744 pack_tmp = ior(pack_tmp, data_tmp)
43745 pack_tmp = ishft(pack_tmp, -4)
43747 data_tmp = full_data(idata)
43748 data_tmp = ishft(data_tmp, 10)
43749 data_tmp = iand(data_tmp, mask_left(4))
43750 pack_tmp = ior(pack_tmp, data_tmp)
43752 packed_data(ipack) = pack_tmp
43753 data_tmp = full_data(idata)
43754 pack_tmp = ishft(data_tmp, 14)
43755 pack_tmp = ishft(pack_tmp, -14)
43757 data_tmp = full_data(idata)
43758 data_tmp = ishft(data_tmp, 10)
43759 data_tmp = iand(data_tmp, mask_left(14))
43760 pack_tmp = ior(pack_tmp, data_tmp)
43762 packed_data(ipack) = pack_tmp
43763 data_tmp = full_data(idata)
43764 pack_tmp = ishft(data_tmp, 24)
43765 pack_tmp = ishft(pack_tmp, -24)
43767 data_tmp = full_data(idata)
43768 data_tmp = ishft(data_tmp, 10)
43769 data_tmp = iand(data_tmp, mask_left(24))
43770 pack_tmp = ior(pack_tmp, data_tmp)
43772 packed_data(ipack) = pack_tmp
43773 data_tmp = full_data(idata)
43774 pack_tmp = ishft(data_tmp, 34)
43775 pack_tmp = ishft(pack_tmp, -34)
43777 data_tmp = full_data(idata)
43778 data_tmp = ishft(data_tmp, 10)
43779 data_tmp = iand(data_tmp, mask_left(34))
43780 pack_tmp = ior(pack_tmp, data_tmp)
43782 packed_data(ipack) = pack_tmp
43783 data_tmp = full_data(idata)
43784 pack_tmp = ishft(data_tmp, 44)
43785 pack_tmp = ishft(pack_tmp, -44)
43787 data_tmp = full_data(idata)
43788 data_tmp = ishft(data_tmp, 10)
43789 data_tmp = iand(data_tmp, mask_left(44))
43790 pack_tmp = ior(pack_tmp, data_tmp)
43792 packed_data(ipack) = pack_tmp
43793 data_tmp = full_data(idata)
43794 pack_tmp = ishft(data_tmp, 54)
43795 pack_tmp = ishft(pack_tmp, -54)
43797 data_tmp = full_data(idata)
43798 data_tmp = ishft(data_tmp, 10)
43799 pack_tmp = ior(pack_tmp, data_tmp)
43800 pack_tmp = ishft(pack_tmp, 0)
43802 data_tmp = full_data(idata)
43803 data_tmp = ishft(data_tmp, 10)
43804 data_tmp = iand(data_tmp, mask_left(0))
43805 pack_tmp = ior(pack_tmp, data_tmp)
43807 packed_data(ipack) = pack_tmp
43808 data_tmp = full_data(idata)
43809 pack_tmp = ishft(data_tmp, 10)
43810 pack_tmp = ishft(pack_tmp, -10)
43812 data_tmp = full_data(idata)
43813 data_tmp = ishft(data_tmp, 10)
43814 data_tmp = iand(data_tmp, mask_left(10))
43815 pack_tmp = ior(pack_tmp, data_tmp)
43817 packed_data(ipack) = pack_tmp
43818 data_tmp = full_data(idata)
43819 pack_tmp = ishft(data_tmp, 20)
43820 pack_tmp = ishft(pack_tmp, -20)
43822 data_tmp = full_data(idata)
43823 data_tmp = ishft(data_tmp, 10)
43824 data_tmp = iand(data_tmp, mask_left(20))
43825 pack_tmp = ior(pack_tmp, data_tmp)
43827 packed_data(ipack) = pack_tmp
43828 data_tmp = full_data(idata)
43829 pack_tmp = ishft(data_tmp, 30)
43830 pack_tmp = ishft(pack_tmp, -30)
43832 data_tmp = full_data(idata)
43833 data_tmp = ishft(data_tmp, 10)
43834 data_tmp = iand(data_tmp, mask_left(30))
43835 pack_tmp = ior(pack_tmp, data_tmp)
43837 packed_data(ipack) = pack_tmp
43838 data_tmp = full_data(idata)
43839 pack_tmp = ishft(data_tmp, 40)
43840 pack_tmp = ishft(pack_tmp, -40)
43842 data_tmp = full_data(idata)
43843 data_tmp = ishft(data_tmp, 10)
43844 data_tmp = iand(data_tmp, mask_left(40))
43845 pack_tmp = ior(pack_tmp, data_tmp)
43847 packed_data(ipack) = pack_tmp
43848 data_tmp = full_data(idata)
43849 pack_tmp = ishft(data_tmp, 50)
43850 pack_tmp = ishft(pack_tmp, -50)
43852 data_tmp = full_data(idata)
43853 data_tmp = ishft(data_tmp, 10)
43854 data_tmp = iand(data_tmp, mask_left(50))
43855 pack_tmp = ior(pack_tmp, data_tmp)
43857 packed_data(ipack) = pack_tmp
43858 data_tmp = full_data(idata)
43859 pack_tmp = ishft(data_tmp, 60)
43860 pack_tmp = ishft(pack_tmp, -54)
43862 data_tmp = full_data(idata)
43863 data_tmp = ishft(data_tmp, 10)
43864 pack_tmp = ior(pack_tmp, data_tmp)
43865 pack_tmp = ishft(pack_tmp, -6)
43867 data_tmp = full_data(idata)
43868 data_tmp = ishft(data_tmp, 10)
43869 data_tmp = iand(data_tmp, mask_left(6))
43870 pack_tmp = ior(pack_tmp, data_tmp)
43872 packed_data(ipack) = pack_tmp
43873 data_tmp = full_data(idata)
43874 pack_tmp = ishft(data_tmp, 16)
43875 pack_tmp = ishft(pack_tmp, -16)
43877 data_tmp = full_data(idata)
43878 data_tmp = ishft(data_tmp, 10)
43879 data_tmp = iand(data_tmp, mask_left(16))
43880 pack_tmp = ior(pack_tmp, data_tmp)
43882 packed_data(ipack) = pack_tmp
43883 data_tmp = full_data(idata)
43884 pack_tmp = ishft(data_tmp, 26)
43885 pack_tmp = ishft(pack_tmp, -26)
43887 data_tmp = full_data(idata)
43888 data_tmp = ishft(data_tmp, 10)
43889 data_tmp = iand(data_tmp, mask_left(26))
43890 pack_tmp = ior(pack_tmp, data_tmp)
43892 packed_data(ipack) = pack_tmp
43893 data_tmp = full_data(idata)
43894 pack_tmp = ishft(data_tmp, 36)
43895 pack_tmp = ishft(pack_tmp, -36)
43897 data_tmp = full_data(idata)
43898 data_tmp = ishft(data_tmp, 10)
43899 data_tmp = iand(data_tmp, mask_left(36))
43900 pack_tmp = ior(pack_tmp, data_tmp)
43902 packed_data(ipack) = pack_tmp
43903 data_tmp = full_data(idata)
43904 pack_tmp = ishft(data_tmp, 46)
43905 pack_tmp = ishft(pack_tmp, -46)
43907 data_tmp = full_data(idata)
43908 data_tmp = ishft(data_tmp, 10)
43909 data_tmp = iand(data_tmp, mask_left(46))
43910 pack_tmp = ior(pack_tmp, data_tmp)
43912 packed_data(ipack) = pack_tmp
43913 data_tmp = full_data(idata)
43914 pack_tmp = ishft(data_tmp, 56)
43915 pack_tmp = ishft(pack_tmp, -54)
43917 data_tmp = full_data(idata)
43918 data_tmp = ishft(data_tmp, 10)
43919 pack_tmp = ior(pack_tmp, data_tmp)
43920 pack_tmp = ishft(pack_tmp, -2)
43922 data_tmp = full_data(idata)
43923 data_tmp = ishft(data_tmp, 10)
43924 data_tmp = iand(data_tmp, mask_left(2))
43925 pack_tmp = ior(pack_tmp, data_tmp)
43927 packed_data(ipack) = pack_tmp
43928 data_tmp = full_data(idata)
43929 pack_tmp = ishft(data_tmp, 12)
43930 pack_tmp = ishft(pack_tmp, -12)
43932 data_tmp = full_data(idata)
43933 data_tmp = ishft(data_tmp, 10)
43934 data_tmp = iand(data_tmp, mask_left(12))
43935 pack_tmp = ior(pack_tmp, data_tmp)
43937 packed_data(ipack) = pack_tmp
43938 data_tmp = full_data(idata)
43939 pack_tmp = ishft(data_tmp, 22)
43940 pack_tmp = ishft(pack_tmp, -22)
43942 data_tmp = full_data(idata)
43943 data_tmp = ishft(data_tmp, 10)
43944 data_tmp = iand(data_tmp, mask_left(22))
43945 pack_tmp = ior(pack_tmp, data_tmp)
43947 packed_data(ipack) = pack_tmp
43948 data_tmp = full_data(idata)
43949 pack_tmp = ishft(data_tmp, 32)
43950 pack_tmp = ishft(pack_tmp, -32)
43952 data_tmp = full_data(idata)
43953 data_tmp = ishft(data_tmp, 10)
43954 data_tmp = iand(data_tmp, mask_left(32))
43955 pack_tmp = ior(pack_tmp, data_tmp)
43957 packed_data(ipack) = pack_tmp
43958 data_tmp = full_data(idata)
43959 pack_tmp = ishft(data_tmp, 42)
43960 pack_tmp = ishft(pack_tmp, -42)
43962 data_tmp = full_data(idata)
43963 data_tmp = ishft(data_tmp, 10)
43964 data_tmp = iand(data_tmp, mask_left(42))
43965 pack_tmp = ior(pack_tmp, data_tmp)
43967 packed_data(ipack) = pack_tmp
43968 data_tmp = full_data(idata)
43969 pack_tmp = ishft(data_tmp, 52)
43970 pack_tmp = ishft(pack_tmp, -52)
43972 data_tmp = full_data(idata)
43973 data_tmp = ishft(data_tmp, 10)
43974 data_tmp = iand(data_tmp, mask_left(52))
43975 pack_tmp = ior(pack_tmp, data_tmp)
43977 packed_data(ipack) = pack_tmp
43978 data_tmp = full_data(idata)
43979 pack_tmp = ishft(data_tmp, 62)
43980 pack_tmp = ishft(pack_tmp, -54)
43982 data_tmp = full_data(idata)
43983 data_tmp = ishft(data_tmp, 10)
43984 pack_tmp = ior(pack_tmp, data_tmp)
43985 pack_tmp = ishft(pack_tmp, -8)
43987 data_tmp = full_data(idata)
43988 data_tmp = ishft(data_tmp, 10)
43989 data_tmp = iand(data_tmp, mask_left(8))
43990 pack_tmp = ior(pack_tmp, data_tmp)
43992 packed_data(ipack) = pack_tmp
43993 data_tmp = full_data(idata)
43994 pack_tmp = ishft(data_tmp, 18)
43995 pack_tmp = ishft(pack_tmp, -18)
43997 data_tmp = full_data(idata)
43998 data_tmp = ishft(data_tmp, 10)
43999 data_tmp = iand(data_tmp, mask_left(18))
44000 pack_tmp = ior(pack_tmp, data_tmp)
44002 packed_data(ipack) = pack_tmp
44003 data_tmp = full_data(idata)
44004 pack_tmp = ishft(data_tmp, 28)
44005 pack_tmp = ishft(pack_tmp, -28)
44007 data_tmp = full_data(idata)
44008 data_tmp = ishft(data_tmp, 10)
44009 data_tmp = iand(data_tmp, mask_left(28))
44010 pack_tmp = ior(pack_tmp, data_tmp)
44012 packed_data(ipack) = pack_tmp
44013 data_tmp = full_data(idata)
44014 pack_tmp = ishft(data_tmp, 38)
44015 pack_tmp = ishft(pack_tmp, -38)
44017 data_tmp = full_data(idata)
44018 data_tmp = ishft(data_tmp, 10)
44019 data_tmp = iand(data_tmp, mask_left(38))
44020 pack_tmp = ior(pack_tmp, data_tmp)
44022 packed_data(ipack) = pack_tmp
44023 data_tmp = full_data(idata)
44024 pack_tmp = ishft(data_tmp, 48)
44025 pack_tmp = ishft(pack_tmp, -48)
44027 data_tmp = full_data(idata)
44028 data_tmp = ishft(data_tmp, 10)
44029 data_tmp = iand(data_tmp, mask_left(48))
44030 pack_tmp = ior(pack_tmp, data_tmp)
44032 packed_data(ipack) = pack_tmp
44033 data_tmp = full_data(idata)
44034 pack_tmp = ishft(data_tmp, 58)
44035 pack_tmp = ishft(pack_tmp, -54)
44037 data_tmp = full_data(idata)
44038 data_tmp = ishft(data_tmp, 10)
44039 pack_tmp = ior(pack_tmp, data_tmp)
44040 pack_tmp = ishft(pack_tmp, -4)
44042 data_tmp = full_data(idata)
44043 data_tmp = ishft(data_tmp, 10)
44044 data_tmp = iand(data_tmp, mask_left(4))
44045 pack_tmp = ior(pack_tmp, data_tmp)
44047 packed_data(ipack) = pack_tmp
44048 data_tmp = full_data(idata)
44049 pack_tmp = ishft(data_tmp, 14)
44050 pack_tmp = ishft(pack_tmp, -14)
44052 data_tmp = full_data(idata)
44053 data_tmp = ishft(data_tmp, 10)
44054 data_tmp = iand(data_tmp, mask_left(14))
44055 pack_tmp = ior(pack_tmp, data_tmp)
44057 packed_data(ipack) = pack_tmp
44058 data_tmp = full_data(idata)
44059 pack_tmp = ishft(data_tmp, 24)
44060 pack_tmp = ishft(pack_tmp, -24)
44062 data_tmp = full_data(idata)
44063 data_tmp = ishft(data_tmp, 10)
44064 data_tmp = iand(data_tmp, mask_left(24))
44065 pack_tmp = ior(pack_tmp, data_tmp)
44067 packed_data(ipack) = pack_tmp
44068 data_tmp = full_data(idata)
44069 pack_tmp = ishft(data_tmp, 34)
44070 pack_tmp = ishft(pack_tmp, -34)
44072 data_tmp = full_data(idata)
44073 data_tmp = ishft(data_tmp, 10)
44074 data_tmp = iand(data_tmp, mask_left(34))
44075 pack_tmp = ior(pack_tmp, data_tmp)
44077 packed_data(ipack) = pack_tmp
44078 data_tmp = full_data(idata)
44079 pack_tmp = ishft(data_tmp, 44)
44080 pack_tmp = ishft(pack_tmp, -44)
44082 data_tmp = full_data(idata)
44083 data_tmp = ishft(data_tmp, 10)
44084 data_tmp = iand(data_tmp, mask_left(44))
44085 pack_tmp = ior(pack_tmp, data_tmp)
44087 packed_data(ipack) = pack_tmp
44088 data_tmp = full_data(idata)
44089 pack_tmp = ishft(data_tmp, 54)
44090 pack_tmp = ishft(pack_tmp, -54)
44092 data_tmp = full_data(idata)
44093 data_tmp = ishft(data_tmp, 10)
44094 pack_tmp = ior(pack_tmp, data_tmp)
44095 pack_tmp = ishft(pack_tmp, 0)
44096 pack_tmp = ishft(pack_tmp, 0)
44098 packed_data(ipack) = pack_tmp
44100 IF (ndata_rep < ndata)
THEN
44101 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
44103 END SUBROUTINE ints2bits_54
44111 SUBROUTINE bits2ints_54(Ndata, packed_data, full_data)
44112 INTEGER,
INTENT(IN) :: Ndata
44113 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
44114 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
44116 INTEGER,
PARAMETER :: Nbits = 54
44118 INTEGER :: idata, ipack, kdata, Ndata_rep
44119 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
44124 ndata_rep = (ndata/64)*64
44125 DO kdata = 1, ndata_rep, 64
44127 data_tmp = ishft(pack_tmp, 54)
44129 pack_tmp = packed_data(ipack)
44130 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
44131 pack_tmp = ishft(pack_tmp, -54)
44133 data_tmp = ishft(pack_tmp, 44)
44135 pack_tmp = packed_data(ipack)
44136 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
44137 pack_tmp = ishft(pack_tmp, -44)
44139 data_tmp = ishft(pack_tmp, 34)
44141 pack_tmp = packed_data(ipack)
44142 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
44143 pack_tmp = ishft(pack_tmp, -34)
44145 data_tmp = ishft(pack_tmp, 24)
44147 pack_tmp = packed_data(ipack)
44148 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
44149 pack_tmp = ishft(pack_tmp, -24)
44151 data_tmp = ishft(pack_tmp, 14)
44153 pack_tmp = packed_data(ipack)
44154 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
44155 pack_tmp = ishft(pack_tmp, -14)
44157 data_tmp = ishft(pack_tmp, 4)
44159 pack_tmp = packed_data(ipack)
44160 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
44161 pack_tmp = ishft(pack_tmp, -4)
44163 data_tmp = iand(pack_tmp, mask_right(nbits))
44164 full_data(idata) = data_tmp
44165 pack_tmp = ishft(pack_tmp, -nbits)
44167 data_tmp = ishft(pack_tmp, 48)
44169 pack_tmp = packed_data(ipack)
44170 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
44171 pack_tmp = ishft(pack_tmp, -48)
44173 data_tmp = ishft(pack_tmp, 38)
44175 pack_tmp = packed_data(ipack)
44176 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
44177 pack_tmp = ishft(pack_tmp, -38)
44179 data_tmp = ishft(pack_tmp, 28)
44181 pack_tmp = packed_data(ipack)
44182 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
44183 pack_tmp = ishft(pack_tmp, -28)
44185 data_tmp = ishft(pack_tmp, 18)
44187 pack_tmp = packed_data(ipack)
44188 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
44189 pack_tmp = ishft(pack_tmp, -18)
44191 data_tmp = ishft(pack_tmp, 8)
44193 pack_tmp = packed_data(ipack)
44194 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
44195 pack_tmp = ishft(pack_tmp, -8)
44197 data_tmp = iand(pack_tmp, mask_right(nbits))
44198 full_data(idata) = data_tmp
44199 pack_tmp = ishft(pack_tmp, -nbits)
44201 data_tmp = ishft(pack_tmp, 52)
44203 pack_tmp = packed_data(ipack)
44204 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
44205 pack_tmp = ishft(pack_tmp, -52)
44207 data_tmp = ishft(pack_tmp, 42)
44209 pack_tmp = packed_data(ipack)
44210 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
44211 pack_tmp = ishft(pack_tmp, -42)
44213 data_tmp = ishft(pack_tmp, 32)
44215 pack_tmp = packed_data(ipack)
44216 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
44217 pack_tmp = ishft(pack_tmp, -32)
44219 data_tmp = ishft(pack_tmp, 22)
44221 pack_tmp = packed_data(ipack)
44222 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
44223 pack_tmp = ishft(pack_tmp, -22)
44225 data_tmp = ishft(pack_tmp, 12)
44227 pack_tmp = packed_data(ipack)
44228 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
44229 pack_tmp = ishft(pack_tmp, -12)
44231 data_tmp = ishft(pack_tmp, 2)
44233 pack_tmp = packed_data(ipack)
44234 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
44235 pack_tmp = ishft(pack_tmp, -2)
44237 data_tmp = iand(pack_tmp, mask_right(nbits))
44238 full_data(idata) = data_tmp
44239 pack_tmp = ishft(pack_tmp, -nbits)
44241 data_tmp = ishft(pack_tmp, 46)
44243 pack_tmp = packed_data(ipack)
44244 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
44245 pack_tmp = ishft(pack_tmp, -46)
44247 data_tmp = ishft(pack_tmp, 36)
44249 pack_tmp = packed_data(ipack)
44250 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
44251 pack_tmp = ishft(pack_tmp, -36)
44253 data_tmp = ishft(pack_tmp, 26)
44255 pack_tmp = packed_data(ipack)
44256 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
44257 pack_tmp = ishft(pack_tmp, -26)
44259 data_tmp = ishft(pack_tmp, 16)
44261 pack_tmp = packed_data(ipack)
44262 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
44263 pack_tmp = ishft(pack_tmp, -16)
44265 data_tmp = ishft(pack_tmp, 6)
44267 pack_tmp = packed_data(ipack)
44268 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
44269 pack_tmp = ishft(pack_tmp, -6)
44271 data_tmp = iand(pack_tmp, mask_right(nbits))
44272 full_data(idata) = data_tmp
44273 pack_tmp = ishft(pack_tmp, -nbits)
44275 data_tmp = ishft(pack_tmp, 50)
44277 pack_tmp = packed_data(ipack)
44278 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
44279 pack_tmp = ishft(pack_tmp, -50)
44281 data_tmp = ishft(pack_tmp, 40)
44283 pack_tmp = packed_data(ipack)
44284 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
44285 pack_tmp = ishft(pack_tmp, -40)
44287 data_tmp = ishft(pack_tmp, 30)
44289 pack_tmp = packed_data(ipack)
44290 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
44291 pack_tmp = ishft(pack_tmp, -30)
44293 data_tmp = ishft(pack_tmp, 20)
44295 pack_tmp = packed_data(ipack)
44296 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
44297 pack_tmp = ishft(pack_tmp, -20)
44299 data_tmp = ishft(pack_tmp, 10)
44301 pack_tmp = packed_data(ipack)
44302 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
44303 pack_tmp = ishft(pack_tmp, -10)
44305 data_tmp = iand(pack_tmp, mask_right(nbits))
44306 full_data(idata) = data_tmp
44307 pack_tmp = ishft(pack_tmp, -nbits)
44309 data_tmp = ishft(pack_tmp, 54)
44311 pack_tmp = packed_data(ipack)
44312 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
44313 pack_tmp = ishft(pack_tmp, -54)
44315 data_tmp = ishft(pack_tmp, 44)
44317 pack_tmp = packed_data(ipack)
44318 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
44319 pack_tmp = ishft(pack_tmp, -44)
44321 data_tmp = ishft(pack_tmp, 34)
44323 pack_tmp = packed_data(ipack)
44324 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
44325 pack_tmp = ishft(pack_tmp, -34)
44327 data_tmp = ishft(pack_tmp, 24)
44329 pack_tmp = packed_data(ipack)
44330 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
44331 pack_tmp = ishft(pack_tmp, -24)
44333 data_tmp = ishft(pack_tmp, 14)
44335 pack_tmp = packed_data(ipack)
44336 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
44337 pack_tmp = ishft(pack_tmp, -14)
44339 data_tmp = ishft(pack_tmp, 4)
44341 pack_tmp = packed_data(ipack)
44342 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
44343 pack_tmp = ishft(pack_tmp, -4)
44345 data_tmp = iand(pack_tmp, mask_right(nbits))
44346 full_data(idata) = data_tmp
44347 pack_tmp = ishft(pack_tmp, -nbits)
44349 data_tmp = ishft(pack_tmp, 48)
44351 pack_tmp = packed_data(ipack)
44352 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
44353 pack_tmp = ishft(pack_tmp, -48)
44355 data_tmp = ishft(pack_tmp, 38)
44357 pack_tmp = packed_data(ipack)
44358 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
44359 pack_tmp = ishft(pack_tmp, -38)
44361 data_tmp = ishft(pack_tmp, 28)
44363 pack_tmp = packed_data(ipack)
44364 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
44365 pack_tmp = ishft(pack_tmp, -28)
44367 data_tmp = ishft(pack_tmp, 18)
44369 pack_tmp = packed_data(ipack)
44370 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
44371 pack_tmp = ishft(pack_tmp, -18)
44373 data_tmp = ishft(pack_tmp, 8)
44375 pack_tmp = packed_data(ipack)
44376 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
44377 pack_tmp = ishft(pack_tmp, -8)
44379 data_tmp = iand(pack_tmp, mask_right(nbits))
44380 full_data(idata) = data_tmp
44381 pack_tmp = ishft(pack_tmp, -nbits)
44383 data_tmp = ishft(pack_tmp, 52)
44385 pack_tmp = packed_data(ipack)
44386 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
44387 pack_tmp = ishft(pack_tmp, -52)
44389 data_tmp = ishft(pack_tmp, 42)
44391 pack_tmp = packed_data(ipack)
44392 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
44393 pack_tmp = ishft(pack_tmp, -42)
44395 data_tmp = ishft(pack_tmp, 32)
44397 pack_tmp = packed_data(ipack)
44398 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
44399 pack_tmp = ishft(pack_tmp, -32)
44401 data_tmp = ishft(pack_tmp, 22)
44403 pack_tmp = packed_data(ipack)
44404 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
44405 pack_tmp = ishft(pack_tmp, -22)
44407 data_tmp = ishft(pack_tmp, 12)
44409 pack_tmp = packed_data(ipack)
44410 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
44411 pack_tmp = ishft(pack_tmp, -12)
44413 data_tmp = ishft(pack_tmp, 2)
44415 pack_tmp = packed_data(ipack)
44416 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
44417 pack_tmp = ishft(pack_tmp, -2)
44419 data_tmp = iand(pack_tmp, mask_right(nbits))
44420 full_data(idata) = data_tmp
44421 pack_tmp = ishft(pack_tmp, -nbits)
44423 data_tmp = ishft(pack_tmp, 46)
44425 pack_tmp = packed_data(ipack)
44426 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
44427 pack_tmp = ishft(pack_tmp, -46)
44429 data_tmp = ishft(pack_tmp, 36)
44431 pack_tmp = packed_data(ipack)
44432 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
44433 pack_tmp = ishft(pack_tmp, -36)
44435 data_tmp = ishft(pack_tmp, 26)
44437 pack_tmp = packed_data(ipack)
44438 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
44439 pack_tmp = ishft(pack_tmp, -26)
44441 data_tmp = ishft(pack_tmp, 16)
44443 pack_tmp = packed_data(ipack)
44444 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
44445 pack_tmp = ishft(pack_tmp, -16)
44447 data_tmp = ishft(pack_tmp, 6)
44449 pack_tmp = packed_data(ipack)
44450 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
44451 pack_tmp = ishft(pack_tmp, -6)
44453 data_tmp = iand(pack_tmp, mask_right(nbits))
44454 full_data(idata) = data_tmp
44455 pack_tmp = ishft(pack_tmp, -nbits)
44457 data_tmp = ishft(pack_tmp, 50)
44459 pack_tmp = packed_data(ipack)
44460 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
44461 pack_tmp = ishft(pack_tmp, -50)
44463 data_tmp = ishft(pack_tmp, 40)
44465 pack_tmp = packed_data(ipack)
44466 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
44467 pack_tmp = ishft(pack_tmp, -40)
44469 data_tmp = ishft(pack_tmp, 30)
44471 pack_tmp = packed_data(ipack)
44472 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
44473 pack_tmp = ishft(pack_tmp, -30)
44475 data_tmp = ishft(pack_tmp, 20)
44477 pack_tmp = packed_data(ipack)
44478 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
44479 pack_tmp = ishft(pack_tmp, -20)
44481 data_tmp = ishft(pack_tmp, 10)
44483 pack_tmp = packed_data(ipack)
44484 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
44485 pack_tmp = ishft(pack_tmp, -10)
44487 data_tmp = iand(pack_tmp, mask_right(nbits))
44488 full_data(idata) = data_tmp
44489 pack_tmp = ishft(pack_tmp, -nbits)
44491 IF (ndata_rep < ndata)
THEN
44492 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
44494 END SUBROUTINE bits2ints_54
44502 SUBROUTINE ints2bits_55(Ndata, packed_data, full_data)
44503 INTEGER,
INTENT(IN) :: Ndata
44504 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
44505 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
44507 INTEGER,
PARAMETER :: Nbits = 55
44509 INTEGER :: idata, ipack, kdata, Ndata_rep
44510 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
44514 ndata_rep = (ndata/64)*64
44515 DO kdata = 1, ndata_rep, 64
44518 data_tmp = full_data(idata)
44519 data_tmp = ishft(data_tmp, 9)
44520 pack_tmp = ior(pack_tmp, data_tmp)
44521 pack_tmp = ishft(pack_tmp, -9)
44523 data_tmp = full_data(idata)
44524 data_tmp = ishft(data_tmp, 9)
44525 data_tmp = iand(data_tmp, mask_left(9))
44526 pack_tmp = ior(pack_tmp, data_tmp)
44528 packed_data(ipack) = pack_tmp
44529 data_tmp = full_data(idata)
44530 pack_tmp = ishft(data_tmp, 18)
44531 pack_tmp = ishft(pack_tmp, -18)
44533 data_tmp = full_data(idata)
44534 data_tmp = ishft(data_tmp, 9)
44535 data_tmp = iand(data_tmp, mask_left(18))
44536 pack_tmp = ior(pack_tmp, data_tmp)
44538 packed_data(ipack) = pack_tmp
44539 data_tmp = full_data(idata)
44540 pack_tmp = ishft(data_tmp, 27)
44541 pack_tmp = ishft(pack_tmp, -27)
44543 data_tmp = full_data(idata)
44544 data_tmp = ishft(data_tmp, 9)
44545 data_tmp = iand(data_tmp, mask_left(27))
44546 pack_tmp = ior(pack_tmp, data_tmp)
44548 packed_data(ipack) = pack_tmp
44549 data_tmp = full_data(idata)
44550 pack_tmp = ishft(data_tmp, 36)
44551 pack_tmp = ishft(pack_tmp, -36)
44553 data_tmp = full_data(idata)
44554 data_tmp = ishft(data_tmp, 9)
44555 data_tmp = iand(data_tmp, mask_left(36))
44556 pack_tmp = ior(pack_tmp, data_tmp)
44558 packed_data(ipack) = pack_tmp
44559 data_tmp = full_data(idata)
44560 pack_tmp = ishft(data_tmp, 45)
44561 pack_tmp = ishft(pack_tmp, -45)
44563 data_tmp = full_data(idata)
44564 data_tmp = ishft(data_tmp, 9)
44565 data_tmp = iand(data_tmp, mask_left(45))
44566 pack_tmp = ior(pack_tmp, data_tmp)
44568 packed_data(ipack) = pack_tmp
44569 data_tmp = full_data(idata)
44570 pack_tmp = ishft(data_tmp, 54)
44571 pack_tmp = ishft(pack_tmp, -54)
44573 data_tmp = full_data(idata)
44574 data_tmp = ishft(data_tmp, 9)
44575 data_tmp = iand(data_tmp, mask_left(54))
44576 pack_tmp = ior(pack_tmp, data_tmp)
44578 packed_data(ipack) = pack_tmp
44579 data_tmp = full_data(idata)
44580 pack_tmp = ishft(data_tmp, 63)
44581 pack_tmp = ishft(pack_tmp, -55)
44583 data_tmp = full_data(idata)
44584 data_tmp = ishft(data_tmp, 9)
44585 pack_tmp = ior(pack_tmp, data_tmp)
44586 pack_tmp = ishft(pack_tmp, -8)
44588 data_tmp = full_data(idata)
44589 data_tmp = ishft(data_tmp, 9)
44590 data_tmp = iand(data_tmp, mask_left(8))
44591 pack_tmp = ior(pack_tmp, data_tmp)
44593 packed_data(ipack) = pack_tmp
44594 data_tmp = full_data(idata)
44595 pack_tmp = ishft(data_tmp, 17)
44596 pack_tmp = ishft(pack_tmp, -17)
44598 data_tmp = full_data(idata)
44599 data_tmp = ishft(data_tmp, 9)
44600 data_tmp = iand(data_tmp, mask_left(17))
44601 pack_tmp = ior(pack_tmp, data_tmp)
44603 packed_data(ipack) = pack_tmp
44604 data_tmp = full_data(idata)
44605 pack_tmp = ishft(data_tmp, 26)
44606 pack_tmp = ishft(pack_tmp, -26)
44608 data_tmp = full_data(idata)
44609 data_tmp = ishft(data_tmp, 9)
44610 data_tmp = iand(data_tmp, mask_left(26))
44611 pack_tmp = ior(pack_tmp, data_tmp)
44613 packed_data(ipack) = pack_tmp
44614 data_tmp = full_data(idata)
44615 pack_tmp = ishft(data_tmp, 35)
44616 pack_tmp = ishft(pack_tmp, -35)
44618 data_tmp = full_data(idata)
44619 data_tmp = ishft(data_tmp, 9)
44620 data_tmp = iand(data_tmp, mask_left(35))
44621 pack_tmp = ior(pack_tmp, data_tmp)
44623 packed_data(ipack) = pack_tmp
44624 data_tmp = full_data(idata)
44625 pack_tmp = ishft(data_tmp, 44)
44626 pack_tmp = ishft(pack_tmp, -44)
44628 data_tmp = full_data(idata)
44629 data_tmp = ishft(data_tmp, 9)
44630 data_tmp = iand(data_tmp, mask_left(44))
44631 pack_tmp = ior(pack_tmp, data_tmp)
44633 packed_data(ipack) = pack_tmp
44634 data_tmp = full_data(idata)
44635 pack_tmp = ishft(data_tmp, 53)
44636 pack_tmp = ishft(pack_tmp, -53)
44638 data_tmp = full_data(idata)
44639 data_tmp = ishft(data_tmp, 9)
44640 data_tmp = iand(data_tmp, mask_left(53))
44641 pack_tmp = ior(pack_tmp, data_tmp)
44643 packed_data(ipack) = pack_tmp
44644 data_tmp = full_data(idata)
44645 pack_tmp = ishft(data_tmp, 62)
44646 pack_tmp = ishft(pack_tmp, -55)
44648 data_tmp = full_data(idata)
44649 data_tmp = ishft(data_tmp, 9)
44650 pack_tmp = ior(pack_tmp, data_tmp)
44651 pack_tmp = ishft(pack_tmp, -7)
44653 data_tmp = full_data(idata)
44654 data_tmp = ishft(data_tmp, 9)
44655 data_tmp = iand(data_tmp, mask_left(7))
44656 pack_tmp = ior(pack_tmp, data_tmp)
44658 packed_data(ipack) = pack_tmp
44659 data_tmp = full_data(idata)
44660 pack_tmp = ishft(data_tmp, 16)
44661 pack_tmp = ishft(pack_tmp, -16)
44663 data_tmp = full_data(idata)
44664 data_tmp = ishft(data_tmp, 9)
44665 data_tmp = iand(data_tmp, mask_left(16))
44666 pack_tmp = ior(pack_tmp, data_tmp)
44668 packed_data(ipack) = pack_tmp
44669 data_tmp = full_data(idata)
44670 pack_tmp = ishft(data_tmp, 25)
44671 pack_tmp = ishft(pack_tmp, -25)
44673 data_tmp = full_data(idata)
44674 data_tmp = ishft(data_tmp, 9)
44675 data_tmp = iand(data_tmp, mask_left(25))
44676 pack_tmp = ior(pack_tmp, data_tmp)
44678 packed_data(ipack) = pack_tmp
44679 data_tmp = full_data(idata)
44680 pack_tmp = ishft(data_tmp, 34)
44681 pack_tmp = ishft(pack_tmp, -34)
44683 data_tmp = full_data(idata)
44684 data_tmp = ishft(data_tmp, 9)
44685 data_tmp = iand(data_tmp, mask_left(34))
44686 pack_tmp = ior(pack_tmp, data_tmp)
44688 packed_data(ipack) = pack_tmp
44689 data_tmp = full_data(idata)
44690 pack_tmp = ishft(data_tmp, 43)
44691 pack_tmp = ishft(pack_tmp, -43)
44693 data_tmp = full_data(idata)
44694 data_tmp = ishft(data_tmp, 9)
44695 data_tmp = iand(data_tmp, mask_left(43))
44696 pack_tmp = ior(pack_tmp, data_tmp)
44698 packed_data(ipack) = pack_tmp
44699 data_tmp = full_data(idata)
44700 pack_tmp = ishft(data_tmp, 52)
44701 pack_tmp = ishft(pack_tmp, -52)
44703 data_tmp = full_data(idata)
44704 data_tmp = ishft(data_tmp, 9)
44705 data_tmp = iand(data_tmp, mask_left(52))
44706 pack_tmp = ior(pack_tmp, data_tmp)
44708 packed_data(ipack) = pack_tmp
44709 data_tmp = full_data(idata)
44710 pack_tmp = ishft(data_tmp, 61)
44711 pack_tmp = ishft(pack_tmp, -55)
44713 data_tmp = full_data(idata)
44714 data_tmp = ishft(data_tmp, 9)
44715 pack_tmp = ior(pack_tmp, data_tmp)
44716 pack_tmp = ishft(pack_tmp, -6)
44718 data_tmp = full_data(idata)
44719 data_tmp = ishft(data_tmp, 9)
44720 data_tmp = iand(data_tmp, mask_left(6))
44721 pack_tmp = ior(pack_tmp, data_tmp)
44723 packed_data(ipack) = pack_tmp
44724 data_tmp = full_data(idata)
44725 pack_tmp = ishft(data_tmp, 15)
44726 pack_tmp = ishft(pack_tmp, -15)
44728 data_tmp = full_data(idata)
44729 data_tmp = ishft(data_tmp, 9)
44730 data_tmp = iand(data_tmp, mask_left(15))
44731 pack_tmp = ior(pack_tmp, data_tmp)
44733 packed_data(ipack) = pack_tmp
44734 data_tmp = full_data(idata)
44735 pack_tmp = ishft(data_tmp, 24)
44736 pack_tmp = ishft(pack_tmp, -24)
44738 data_tmp = full_data(idata)
44739 data_tmp = ishft(data_tmp, 9)
44740 data_tmp = iand(data_tmp, mask_left(24))
44741 pack_tmp = ior(pack_tmp, data_tmp)
44743 packed_data(ipack) = pack_tmp
44744 data_tmp = full_data(idata)
44745 pack_tmp = ishft(data_tmp, 33)
44746 pack_tmp = ishft(pack_tmp, -33)
44748 data_tmp = full_data(idata)
44749 data_tmp = ishft(data_tmp, 9)
44750 data_tmp = iand(data_tmp, mask_left(33))
44751 pack_tmp = ior(pack_tmp, data_tmp)
44753 packed_data(ipack) = pack_tmp
44754 data_tmp = full_data(idata)
44755 pack_tmp = ishft(data_tmp, 42)
44756 pack_tmp = ishft(pack_tmp, -42)
44758 data_tmp = full_data(idata)
44759 data_tmp = ishft(data_tmp, 9)
44760 data_tmp = iand(data_tmp, mask_left(42))
44761 pack_tmp = ior(pack_tmp, data_tmp)
44763 packed_data(ipack) = pack_tmp
44764 data_tmp = full_data(idata)
44765 pack_tmp = ishft(data_tmp, 51)
44766 pack_tmp = ishft(pack_tmp, -51)
44768 data_tmp = full_data(idata)
44769 data_tmp = ishft(data_tmp, 9)
44770 data_tmp = iand(data_tmp, mask_left(51))
44771 pack_tmp = ior(pack_tmp, data_tmp)
44773 packed_data(ipack) = pack_tmp
44774 data_tmp = full_data(idata)
44775 pack_tmp = ishft(data_tmp, 60)
44776 pack_tmp = ishft(pack_tmp, -55)
44778 data_tmp = full_data(idata)
44779 data_tmp = ishft(data_tmp, 9)
44780 pack_tmp = ior(pack_tmp, data_tmp)
44781 pack_tmp = ishft(pack_tmp, -5)
44783 data_tmp = full_data(idata)
44784 data_tmp = ishft(data_tmp, 9)
44785 data_tmp = iand(data_tmp, mask_left(5))
44786 pack_tmp = ior(pack_tmp, data_tmp)
44788 packed_data(ipack) = pack_tmp
44789 data_tmp = full_data(idata)
44790 pack_tmp = ishft(data_tmp, 14)
44791 pack_tmp = ishft(pack_tmp, -14)
44793 data_tmp = full_data(idata)
44794 data_tmp = ishft(data_tmp, 9)
44795 data_tmp = iand(data_tmp, mask_left(14))
44796 pack_tmp = ior(pack_tmp, data_tmp)
44798 packed_data(ipack) = pack_tmp
44799 data_tmp = full_data(idata)
44800 pack_tmp = ishft(data_tmp, 23)
44801 pack_tmp = ishft(pack_tmp, -23)
44803 data_tmp = full_data(idata)
44804 data_tmp = ishft(data_tmp, 9)
44805 data_tmp = iand(data_tmp, mask_left(23))
44806 pack_tmp = ior(pack_tmp, data_tmp)
44808 packed_data(ipack) = pack_tmp
44809 data_tmp = full_data(idata)
44810 pack_tmp = ishft(data_tmp, 32)
44811 pack_tmp = ishft(pack_tmp, -32)
44813 data_tmp = full_data(idata)
44814 data_tmp = ishft(data_tmp, 9)
44815 data_tmp = iand(data_tmp, mask_left(32))
44816 pack_tmp = ior(pack_tmp, data_tmp)
44818 packed_data(ipack) = pack_tmp
44819 data_tmp = full_data(idata)
44820 pack_tmp = ishft(data_tmp, 41)
44821 pack_tmp = ishft(pack_tmp, -41)
44823 data_tmp = full_data(idata)
44824 data_tmp = ishft(data_tmp, 9)
44825 data_tmp = iand(data_tmp, mask_left(41))
44826 pack_tmp = ior(pack_tmp, data_tmp)
44828 packed_data(ipack) = pack_tmp
44829 data_tmp = full_data(idata)
44830 pack_tmp = ishft(data_tmp, 50)
44831 pack_tmp = ishft(pack_tmp, -50)
44833 data_tmp = full_data(idata)
44834 data_tmp = ishft(data_tmp, 9)
44835 data_tmp = iand(data_tmp, mask_left(50))
44836 pack_tmp = ior(pack_tmp, data_tmp)
44838 packed_data(ipack) = pack_tmp
44839 data_tmp = full_data(idata)
44840 pack_tmp = ishft(data_tmp, 59)
44841 pack_tmp = ishft(pack_tmp, -55)
44843 data_tmp = full_data(idata)
44844 data_tmp = ishft(data_tmp, 9)
44845 pack_tmp = ior(pack_tmp, data_tmp)
44846 pack_tmp = ishft(pack_tmp, -4)
44848 data_tmp = full_data(idata)
44849 data_tmp = ishft(data_tmp, 9)
44850 data_tmp = iand(data_tmp, mask_left(4))
44851 pack_tmp = ior(pack_tmp, data_tmp)
44853 packed_data(ipack) = pack_tmp
44854 data_tmp = full_data(idata)
44855 pack_tmp = ishft(data_tmp, 13)
44856 pack_tmp = ishft(pack_tmp, -13)
44858 data_tmp = full_data(idata)
44859 data_tmp = ishft(data_tmp, 9)
44860 data_tmp = iand(data_tmp, mask_left(13))
44861 pack_tmp = ior(pack_tmp, data_tmp)
44863 packed_data(ipack) = pack_tmp
44864 data_tmp = full_data(idata)
44865 pack_tmp = ishft(data_tmp, 22)
44866 pack_tmp = ishft(pack_tmp, -22)
44868 data_tmp = full_data(idata)
44869 data_tmp = ishft(data_tmp, 9)
44870 data_tmp = iand(data_tmp, mask_left(22))
44871 pack_tmp = ior(pack_tmp, data_tmp)
44873 packed_data(ipack) = pack_tmp
44874 data_tmp = full_data(idata)
44875 pack_tmp = ishft(data_tmp, 31)
44876 pack_tmp = ishft(pack_tmp, -31)
44878 data_tmp = full_data(idata)
44879 data_tmp = ishft(data_tmp, 9)
44880 data_tmp = iand(data_tmp, mask_left(31))
44881 pack_tmp = ior(pack_tmp, data_tmp)
44883 packed_data(ipack) = pack_tmp
44884 data_tmp = full_data(idata)
44885 pack_tmp = ishft(data_tmp, 40)
44886 pack_tmp = ishft(pack_tmp, -40)
44888 data_tmp = full_data(idata)
44889 data_tmp = ishft(data_tmp, 9)
44890 data_tmp = iand(data_tmp, mask_left(40))
44891 pack_tmp = ior(pack_tmp, data_tmp)
44893 packed_data(ipack) = pack_tmp
44894 data_tmp = full_data(idata)
44895 pack_tmp = ishft(data_tmp, 49)
44896 pack_tmp = ishft(pack_tmp, -49)
44898 data_tmp = full_data(idata)
44899 data_tmp = ishft(data_tmp, 9)
44900 data_tmp = iand(data_tmp, mask_left(49))
44901 pack_tmp = ior(pack_tmp, data_tmp)
44903 packed_data(ipack) = pack_tmp
44904 data_tmp = full_data(idata)
44905 pack_tmp = ishft(data_tmp, 58)
44906 pack_tmp = ishft(pack_tmp, -55)
44908 data_tmp = full_data(idata)
44909 data_tmp = ishft(data_tmp, 9)
44910 pack_tmp = ior(pack_tmp, data_tmp)
44911 pack_tmp = ishft(pack_tmp, -3)
44913 data_tmp = full_data(idata)
44914 data_tmp = ishft(data_tmp, 9)
44915 data_tmp = iand(data_tmp, mask_left(3))
44916 pack_tmp = ior(pack_tmp, data_tmp)
44918 packed_data(ipack) = pack_tmp
44919 data_tmp = full_data(idata)
44920 pack_tmp = ishft(data_tmp, 12)
44921 pack_tmp = ishft(pack_tmp, -12)
44923 data_tmp = full_data(idata)
44924 data_tmp = ishft(data_tmp, 9)
44925 data_tmp = iand(data_tmp, mask_left(12))
44926 pack_tmp = ior(pack_tmp, data_tmp)
44928 packed_data(ipack) = pack_tmp
44929 data_tmp = full_data(idata)
44930 pack_tmp = ishft(data_tmp, 21)
44931 pack_tmp = ishft(pack_tmp, -21)
44933 data_tmp = full_data(idata)
44934 data_tmp = ishft(data_tmp, 9)
44935 data_tmp = iand(data_tmp, mask_left(21))
44936 pack_tmp = ior(pack_tmp, data_tmp)
44938 packed_data(ipack) = pack_tmp
44939 data_tmp = full_data(idata)
44940 pack_tmp = ishft(data_tmp, 30)
44941 pack_tmp = ishft(pack_tmp, -30)
44943 data_tmp = full_data(idata)
44944 data_tmp = ishft(data_tmp, 9)
44945 data_tmp = iand(data_tmp, mask_left(30))
44946 pack_tmp = ior(pack_tmp, data_tmp)
44948 packed_data(ipack) = pack_tmp
44949 data_tmp = full_data(idata)
44950 pack_tmp = ishft(data_tmp, 39)
44951 pack_tmp = ishft(pack_tmp, -39)
44953 data_tmp = full_data(idata)
44954 data_tmp = ishft(data_tmp, 9)
44955 data_tmp = iand(data_tmp, mask_left(39))
44956 pack_tmp = ior(pack_tmp, data_tmp)
44958 packed_data(ipack) = pack_tmp
44959 data_tmp = full_data(idata)
44960 pack_tmp = ishft(data_tmp, 48)
44961 pack_tmp = ishft(pack_tmp, -48)
44963 data_tmp = full_data(idata)
44964 data_tmp = ishft(data_tmp, 9)
44965 data_tmp = iand(data_tmp, mask_left(48))
44966 pack_tmp = ior(pack_tmp, data_tmp)
44968 packed_data(ipack) = pack_tmp
44969 data_tmp = full_data(idata)
44970 pack_tmp = ishft(data_tmp, 57)
44971 pack_tmp = ishft(pack_tmp, -55)
44973 data_tmp = full_data(idata)
44974 data_tmp = ishft(data_tmp, 9)
44975 pack_tmp = ior(pack_tmp, data_tmp)
44976 pack_tmp = ishft(pack_tmp, -2)
44978 data_tmp = full_data(idata)
44979 data_tmp = ishft(data_tmp, 9)
44980 data_tmp = iand(data_tmp, mask_left(2))
44981 pack_tmp = ior(pack_tmp, data_tmp)
44983 packed_data(ipack) = pack_tmp
44984 data_tmp = full_data(idata)
44985 pack_tmp = ishft(data_tmp, 11)
44986 pack_tmp = ishft(pack_tmp, -11)
44988 data_tmp = full_data(idata)
44989 data_tmp = ishft(data_tmp, 9)
44990 data_tmp = iand(data_tmp, mask_left(11))
44991 pack_tmp = ior(pack_tmp, data_tmp)
44993 packed_data(ipack) = pack_tmp
44994 data_tmp = full_data(idata)
44995 pack_tmp = ishft(data_tmp, 20)
44996 pack_tmp = ishft(pack_tmp, -20)
44998 data_tmp = full_data(idata)
44999 data_tmp = ishft(data_tmp, 9)
45000 data_tmp = iand(data_tmp, mask_left(20))
45001 pack_tmp = ior(pack_tmp, data_tmp)
45003 packed_data(ipack) = pack_tmp
45004 data_tmp = full_data(idata)
45005 pack_tmp = ishft(data_tmp, 29)
45006 pack_tmp = ishft(pack_tmp, -29)
45008 data_tmp = full_data(idata)
45009 data_tmp = ishft(data_tmp, 9)
45010 data_tmp = iand(data_tmp, mask_left(29))
45011 pack_tmp = ior(pack_tmp, data_tmp)
45013 packed_data(ipack) = pack_tmp
45014 data_tmp = full_data(idata)
45015 pack_tmp = ishft(data_tmp, 38)
45016 pack_tmp = ishft(pack_tmp, -38)
45018 data_tmp = full_data(idata)
45019 data_tmp = ishft(data_tmp, 9)
45020 data_tmp = iand(data_tmp, mask_left(38))
45021 pack_tmp = ior(pack_tmp, data_tmp)
45023 packed_data(ipack) = pack_tmp
45024 data_tmp = full_data(idata)
45025 pack_tmp = ishft(data_tmp, 47)
45026 pack_tmp = ishft(pack_tmp, -47)
45028 data_tmp = full_data(idata)
45029 data_tmp = ishft(data_tmp, 9)
45030 data_tmp = iand(data_tmp, mask_left(47))
45031 pack_tmp = ior(pack_tmp, data_tmp)
45033 packed_data(ipack) = pack_tmp
45034 data_tmp = full_data(idata)
45035 pack_tmp = ishft(data_tmp, 56)
45036 pack_tmp = ishft(pack_tmp, -55)
45038 data_tmp = full_data(idata)
45039 data_tmp = ishft(data_tmp, 9)
45040 pack_tmp = ior(pack_tmp, data_tmp)
45041 pack_tmp = ishft(pack_tmp, -1)
45043 data_tmp = full_data(idata)
45044 data_tmp = ishft(data_tmp, 9)
45045 data_tmp = iand(data_tmp, mask_left(1))
45046 pack_tmp = ior(pack_tmp, data_tmp)
45048 packed_data(ipack) = pack_tmp
45049 data_tmp = full_data(idata)
45050 pack_tmp = ishft(data_tmp, 10)
45051 pack_tmp = ishft(pack_tmp, -10)
45053 data_tmp = full_data(idata)
45054 data_tmp = ishft(data_tmp, 9)
45055 data_tmp = iand(data_tmp, mask_left(10))
45056 pack_tmp = ior(pack_tmp, data_tmp)
45058 packed_data(ipack) = pack_tmp
45059 data_tmp = full_data(idata)
45060 pack_tmp = ishft(data_tmp, 19)
45061 pack_tmp = ishft(pack_tmp, -19)
45063 data_tmp = full_data(idata)
45064 data_tmp = ishft(data_tmp, 9)
45065 data_tmp = iand(data_tmp, mask_left(19))
45066 pack_tmp = ior(pack_tmp, data_tmp)
45068 packed_data(ipack) = pack_tmp
45069 data_tmp = full_data(idata)
45070 pack_tmp = ishft(data_tmp, 28)
45071 pack_tmp = ishft(pack_tmp, -28)
45073 data_tmp = full_data(idata)
45074 data_tmp = ishft(data_tmp, 9)
45075 data_tmp = iand(data_tmp, mask_left(28))
45076 pack_tmp = ior(pack_tmp, data_tmp)
45078 packed_data(ipack) = pack_tmp
45079 data_tmp = full_data(idata)
45080 pack_tmp = ishft(data_tmp, 37)
45081 pack_tmp = ishft(pack_tmp, -37)
45083 data_tmp = full_data(idata)
45084 data_tmp = ishft(data_tmp, 9)
45085 data_tmp = iand(data_tmp, mask_left(37))
45086 pack_tmp = ior(pack_tmp, data_tmp)
45088 packed_data(ipack) = pack_tmp
45089 data_tmp = full_data(idata)
45090 pack_tmp = ishft(data_tmp, 46)
45091 pack_tmp = ishft(pack_tmp, -46)
45093 data_tmp = full_data(idata)
45094 data_tmp = ishft(data_tmp, 9)
45095 data_tmp = iand(data_tmp, mask_left(46))
45096 pack_tmp = ior(pack_tmp, data_tmp)
45098 packed_data(ipack) = pack_tmp
45099 data_tmp = full_data(idata)
45100 pack_tmp = ishft(data_tmp, 55)
45101 pack_tmp = ishft(pack_tmp, -55)
45103 data_tmp = full_data(idata)
45104 data_tmp = ishft(data_tmp, 9)
45105 pack_tmp = ior(pack_tmp, data_tmp)
45106 pack_tmp = ishft(pack_tmp, 0)
45107 pack_tmp = ishft(pack_tmp, 0)
45109 packed_data(ipack) = pack_tmp
45111 IF (ndata_rep < ndata)
THEN
45112 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
45114 END SUBROUTINE ints2bits_55
45122 SUBROUTINE bits2ints_55(Ndata, packed_data, full_data)
45123 INTEGER,
INTENT(IN) :: Ndata
45124 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
45125 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
45127 INTEGER,
PARAMETER :: Nbits = 55
45129 INTEGER :: idata, ipack, kdata, Ndata_rep
45130 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
45135 ndata_rep = (ndata/64)*64
45136 DO kdata = 1, ndata_rep, 64
45138 data_tmp = ishft(pack_tmp, 55)
45140 pack_tmp = packed_data(ipack)
45141 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(55)))
45142 pack_tmp = ishft(pack_tmp, -55)
45144 data_tmp = ishft(pack_tmp, 46)
45146 pack_tmp = packed_data(ipack)
45147 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
45148 pack_tmp = ishft(pack_tmp, -46)
45150 data_tmp = ishft(pack_tmp, 37)
45152 pack_tmp = packed_data(ipack)
45153 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
45154 pack_tmp = ishft(pack_tmp, -37)
45156 data_tmp = ishft(pack_tmp, 28)
45158 pack_tmp = packed_data(ipack)
45159 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
45160 pack_tmp = ishft(pack_tmp, -28)
45162 data_tmp = ishft(pack_tmp, 19)
45164 pack_tmp = packed_data(ipack)
45165 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
45166 pack_tmp = ishft(pack_tmp, -19)
45168 data_tmp = ishft(pack_tmp, 10)
45170 pack_tmp = packed_data(ipack)
45171 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
45172 pack_tmp = ishft(pack_tmp, -10)
45174 data_tmp = ishft(pack_tmp, 1)
45176 pack_tmp = packed_data(ipack)
45177 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
45178 pack_tmp = ishft(pack_tmp, -1)
45180 data_tmp = iand(pack_tmp, mask_right(nbits))
45181 full_data(idata) = data_tmp
45182 pack_tmp = ishft(pack_tmp, -nbits)
45184 data_tmp = ishft(pack_tmp, 47)
45186 pack_tmp = packed_data(ipack)
45187 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
45188 pack_tmp = ishft(pack_tmp, -47)
45190 data_tmp = ishft(pack_tmp, 38)
45192 pack_tmp = packed_data(ipack)
45193 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
45194 pack_tmp = ishft(pack_tmp, -38)
45196 data_tmp = ishft(pack_tmp, 29)
45198 pack_tmp = packed_data(ipack)
45199 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
45200 pack_tmp = ishft(pack_tmp, -29)
45202 data_tmp = ishft(pack_tmp, 20)
45204 pack_tmp = packed_data(ipack)
45205 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
45206 pack_tmp = ishft(pack_tmp, -20)
45208 data_tmp = ishft(pack_tmp, 11)
45210 pack_tmp = packed_data(ipack)
45211 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
45212 pack_tmp = ishft(pack_tmp, -11)
45214 data_tmp = ishft(pack_tmp, 2)
45216 pack_tmp = packed_data(ipack)
45217 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
45218 pack_tmp = ishft(pack_tmp, -2)
45220 data_tmp = iand(pack_tmp, mask_right(nbits))
45221 full_data(idata) = data_tmp
45222 pack_tmp = ishft(pack_tmp, -nbits)
45224 data_tmp = ishft(pack_tmp, 48)
45226 pack_tmp = packed_data(ipack)
45227 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
45228 pack_tmp = ishft(pack_tmp, -48)
45230 data_tmp = ishft(pack_tmp, 39)
45232 pack_tmp = packed_data(ipack)
45233 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
45234 pack_tmp = ishft(pack_tmp, -39)
45236 data_tmp = ishft(pack_tmp, 30)
45238 pack_tmp = packed_data(ipack)
45239 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
45240 pack_tmp = ishft(pack_tmp, -30)
45242 data_tmp = ishft(pack_tmp, 21)
45244 pack_tmp = packed_data(ipack)
45245 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
45246 pack_tmp = ishft(pack_tmp, -21)
45248 data_tmp = ishft(pack_tmp, 12)
45250 pack_tmp = packed_data(ipack)
45251 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
45252 pack_tmp = ishft(pack_tmp, -12)
45254 data_tmp = ishft(pack_tmp, 3)
45256 pack_tmp = packed_data(ipack)
45257 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
45258 pack_tmp = ishft(pack_tmp, -3)
45260 data_tmp = iand(pack_tmp, mask_right(nbits))
45261 full_data(idata) = data_tmp
45262 pack_tmp = ishft(pack_tmp, -nbits)
45264 data_tmp = ishft(pack_tmp, 49)
45266 pack_tmp = packed_data(ipack)
45267 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
45268 pack_tmp = ishft(pack_tmp, -49)
45270 data_tmp = ishft(pack_tmp, 40)
45272 pack_tmp = packed_data(ipack)
45273 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
45274 pack_tmp = ishft(pack_tmp, -40)
45276 data_tmp = ishft(pack_tmp, 31)
45278 pack_tmp = packed_data(ipack)
45279 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
45280 pack_tmp = ishft(pack_tmp, -31)
45282 data_tmp = ishft(pack_tmp, 22)
45284 pack_tmp = packed_data(ipack)
45285 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
45286 pack_tmp = ishft(pack_tmp, -22)
45288 data_tmp = ishft(pack_tmp, 13)
45290 pack_tmp = packed_data(ipack)
45291 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
45292 pack_tmp = ishft(pack_tmp, -13)
45294 data_tmp = ishft(pack_tmp, 4)
45296 pack_tmp = packed_data(ipack)
45297 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
45298 pack_tmp = ishft(pack_tmp, -4)
45300 data_tmp = iand(pack_tmp, mask_right(nbits))
45301 full_data(idata) = data_tmp
45302 pack_tmp = ishft(pack_tmp, -nbits)
45304 data_tmp = ishft(pack_tmp, 50)
45306 pack_tmp = packed_data(ipack)
45307 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
45308 pack_tmp = ishft(pack_tmp, -50)
45310 data_tmp = ishft(pack_tmp, 41)
45312 pack_tmp = packed_data(ipack)
45313 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
45314 pack_tmp = ishft(pack_tmp, -41)
45316 data_tmp = ishft(pack_tmp, 32)
45318 pack_tmp = packed_data(ipack)
45319 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
45320 pack_tmp = ishft(pack_tmp, -32)
45322 data_tmp = ishft(pack_tmp, 23)
45324 pack_tmp = packed_data(ipack)
45325 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
45326 pack_tmp = ishft(pack_tmp, -23)
45328 data_tmp = ishft(pack_tmp, 14)
45330 pack_tmp = packed_data(ipack)
45331 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
45332 pack_tmp = ishft(pack_tmp, -14)
45334 data_tmp = ishft(pack_tmp, 5)
45336 pack_tmp = packed_data(ipack)
45337 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
45338 pack_tmp = ishft(pack_tmp, -5)
45340 data_tmp = iand(pack_tmp, mask_right(nbits))
45341 full_data(idata) = data_tmp
45342 pack_tmp = ishft(pack_tmp, -nbits)
45344 data_tmp = ishft(pack_tmp, 51)
45346 pack_tmp = packed_data(ipack)
45347 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(51)))
45348 pack_tmp = ishft(pack_tmp, -51)
45350 data_tmp = ishft(pack_tmp, 42)
45352 pack_tmp = packed_data(ipack)
45353 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
45354 pack_tmp = ishft(pack_tmp, -42)
45356 data_tmp = ishft(pack_tmp, 33)
45358 pack_tmp = packed_data(ipack)
45359 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
45360 pack_tmp = ishft(pack_tmp, -33)
45362 data_tmp = ishft(pack_tmp, 24)
45364 pack_tmp = packed_data(ipack)
45365 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
45366 pack_tmp = ishft(pack_tmp, -24)
45368 data_tmp = ishft(pack_tmp, 15)
45370 pack_tmp = packed_data(ipack)
45371 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
45372 pack_tmp = ishft(pack_tmp, -15)
45374 data_tmp = ishft(pack_tmp, 6)
45376 pack_tmp = packed_data(ipack)
45377 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
45378 pack_tmp = ishft(pack_tmp, -6)
45380 data_tmp = iand(pack_tmp, mask_right(nbits))
45381 full_data(idata) = data_tmp
45382 pack_tmp = ishft(pack_tmp, -nbits)
45384 data_tmp = ishft(pack_tmp, 52)
45386 pack_tmp = packed_data(ipack)
45387 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
45388 pack_tmp = ishft(pack_tmp, -52)
45390 data_tmp = ishft(pack_tmp, 43)
45392 pack_tmp = packed_data(ipack)
45393 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
45394 pack_tmp = ishft(pack_tmp, -43)
45396 data_tmp = ishft(pack_tmp, 34)
45398 pack_tmp = packed_data(ipack)
45399 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
45400 pack_tmp = ishft(pack_tmp, -34)
45402 data_tmp = ishft(pack_tmp, 25)
45404 pack_tmp = packed_data(ipack)
45405 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
45406 pack_tmp = ishft(pack_tmp, -25)
45408 data_tmp = ishft(pack_tmp, 16)
45410 pack_tmp = packed_data(ipack)
45411 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
45412 pack_tmp = ishft(pack_tmp, -16)
45414 data_tmp = ishft(pack_tmp, 7)
45416 pack_tmp = packed_data(ipack)
45417 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
45418 pack_tmp = ishft(pack_tmp, -7)
45420 data_tmp = iand(pack_tmp, mask_right(nbits))
45421 full_data(idata) = data_tmp
45422 pack_tmp = ishft(pack_tmp, -nbits)
45424 data_tmp = ishft(pack_tmp, 53)
45426 pack_tmp = packed_data(ipack)
45427 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(53)))
45428 pack_tmp = ishft(pack_tmp, -53)
45430 data_tmp = ishft(pack_tmp, 44)
45432 pack_tmp = packed_data(ipack)
45433 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
45434 pack_tmp = ishft(pack_tmp, -44)
45436 data_tmp = ishft(pack_tmp, 35)
45438 pack_tmp = packed_data(ipack)
45439 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
45440 pack_tmp = ishft(pack_tmp, -35)
45442 data_tmp = ishft(pack_tmp, 26)
45444 pack_tmp = packed_data(ipack)
45445 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
45446 pack_tmp = ishft(pack_tmp, -26)
45448 data_tmp = ishft(pack_tmp, 17)
45450 pack_tmp = packed_data(ipack)
45451 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
45452 pack_tmp = ishft(pack_tmp, -17)
45454 data_tmp = ishft(pack_tmp, 8)
45456 pack_tmp = packed_data(ipack)
45457 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
45458 pack_tmp = ishft(pack_tmp, -8)
45460 data_tmp = iand(pack_tmp, mask_right(nbits))
45461 full_data(idata) = data_tmp
45462 pack_tmp = ishft(pack_tmp, -nbits)
45464 data_tmp = ishft(pack_tmp, 54)
45466 pack_tmp = packed_data(ipack)
45467 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
45468 pack_tmp = ishft(pack_tmp, -54)
45470 data_tmp = ishft(pack_tmp, 45)
45472 pack_tmp = packed_data(ipack)
45473 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
45474 pack_tmp = ishft(pack_tmp, -45)
45476 data_tmp = ishft(pack_tmp, 36)
45478 pack_tmp = packed_data(ipack)
45479 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
45480 pack_tmp = ishft(pack_tmp, -36)
45482 data_tmp = ishft(pack_tmp, 27)
45484 pack_tmp = packed_data(ipack)
45485 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
45486 pack_tmp = ishft(pack_tmp, -27)
45488 data_tmp = ishft(pack_tmp, 18)
45490 pack_tmp = packed_data(ipack)
45491 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
45492 pack_tmp = ishft(pack_tmp, -18)
45494 data_tmp = ishft(pack_tmp, 9)
45496 pack_tmp = packed_data(ipack)
45497 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
45498 pack_tmp = ishft(pack_tmp, -9)
45500 data_tmp = iand(pack_tmp, mask_right(nbits))
45501 full_data(idata) = data_tmp
45502 pack_tmp = ishft(pack_tmp, -nbits)
45504 IF (ndata_rep < ndata)
THEN
45505 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
45507 END SUBROUTINE bits2ints_55
45515 SUBROUTINE ints2bits_56(Ndata, packed_data, full_data)
45516 INTEGER,
INTENT(IN) :: Ndata
45517 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
45518 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
45520 INTEGER,
PARAMETER :: Nbits = 56
45522 INTEGER :: idata, ipack, kdata, Ndata_rep
45523 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
45527 ndata_rep = (ndata/64)*64
45528 DO kdata = 1, ndata_rep, 64
45531 data_tmp = full_data(idata)
45532 data_tmp = ishft(data_tmp, 8)
45533 pack_tmp = ior(pack_tmp, data_tmp)
45534 pack_tmp = ishft(pack_tmp, -8)
45536 data_tmp = full_data(idata)
45537 data_tmp = ishft(data_tmp, 8)
45538 data_tmp = iand(data_tmp, mask_left(8))
45539 pack_tmp = ior(pack_tmp, data_tmp)
45541 packed_data(ipack) = pack_tmp
45542 data_tmp = full_data(idata)
45543 pack_tmp = ishft(data_tmp, 16)
45544 pack_tmp = ishft(pack_tmp, -16)
45546 data_tmp = full_data(idata)
45547 data_tmp = ishft(data_tmp, 8)
45548 data_tmp = iand(data_tmp, mask_left(16))
45549 pack_tmp = ior(pack_tmp, data_tmp)
45551 packed_data(ipack) = pack_tmp
45552 data_tmp = full_data(idata)
45553 pack_tmp = ishft(data_tmp, 24)
45554 pack_tmp = ishft(pack_tmp, -24)
45556 data_tmp = full_data(idata)
45557 data_tmp = ishft(data_tmp, 8)
45558 data_tmp = iand(data_tmp, mask_left(24))
45559 pack_tmp = ior(pack_tmp, data_tmp)
45561 packed_data(ipack) = pack_tmp
45562 data_tmp = full_data(idata)
45563 pack_tmp = ishft(data_tmp, 32)
45564 pack_tmp = ishft(pack_tmp, -32)
45566 data_tmp = full_data(idata)
45567 data_tmp = ishft(data_tmp, 8)
45568 data_tmp = iand(data_tmp, mask_left(32))
45569 pack_tmp = ior(pack_tmp, data_tmp)
45571 packed_data(ipack) = pack_tmp
45572 data_tmp = full_data(idata)
45573 pack_tmp = ishft(data_tmp, 40)
45574 pack_tmp = ishft(pack_tmp, -40)
45576 data_tmp = full_data(idata)
45577 data_tmp = ishft(data_tmp, 8)
45578 data_tmp = iand(data_tmp, mask_left(40))
45579 pack_tmp = ior(pack_tmp, data_tmp)
45581 packed_data(ipack) = pack_tmp
45582 data_tmp = full_data(idata)
45583 pack_tmp = ishft(data_tmp, 48)
45584 pack_tmp = ishft(pack_tmp, -48)
45586 data_tmp = full_data(idata)
45587 data_tmp = ishft(data_tmp, 8)
45588 data_tmp = iand(data_tmp, mask_left(48))
45589 pack_tmp = ior(pack_tmp, data_tmp)
45591 packed_data(ipack) = pack_tmp
45592 data_tmp = full_data(idata)
45593 pack_tmp = ishft(data_tmp, 56)
45594 pack_tmp = ishft(pack_tmp, -56)
45596 data_tmp = full_data(idata)
45597 data_tmp = ishft(data_tmp, 8)
45598 pack_tmp = ior(pack_tmp, data_tmp)
45599 pack_tmp = ishft(pack_tmp, 0)
45601 data_tmp = full_data(idata)
45602 data_tmp = ishft(data_tmp, 8)
45603 data_tmp = iand(data_tmp, mask_left(0))
45604 pack_tmp = ior(pack_tmp, data_tmp)
45606 packed_data(ipack) = pack_tmp
45607 data_tmp = full_data(idata)
45608 pack_tmp = ishft(data_tmp, 8)
45609 pack_tmp = ishft(pack_tmp, -8)
45611 data_tmp = full_data(idata)
45612 data_tmp = ishft(data_tmp, 8)
45613 data_tmp = iand(data_tmp, mask_left(8))
45614 pack_tmp = ior(pack_tmp, data_tmp)
45616 packed_data(ipack) = pack_tmp
45617 data_tmp = full_data(idata)
45618 pack_tmp = ishft(data_tmp, 16)
45619 pack_tmp = ishft(pack_tmp, -16)
45621 data_tmp = full_data(idata)
45622 data_tmp = ishft(data_tmp, 8)
45623 data_tmp = iand(data_tmp, mask_left(16))
45624 pack_tmp = ior(pack_tmp, data_tmp)
45626 packed_data(ipack) = pack_tmp
45627 data_tmp = full_data(idata)
45628 pack_tmp = ishft(data_tmp, 24)
45629 pack_tmp = ishft(pack_tmp, -24)
45631 data_tmp = full_data(idata)
45632 data_tmp = ishft(data_tmp, 8)
45633 data_tmp = iand(data_tmp, mask_left(24))
45634 pack_tmp = ior(pack_tmp, data_tmp)
45636 packed_data(ipack) = pack_tmp
45637 data_tmp = full_data(idata)
45638 pack_tmp = ishft(data_tmp, 32)
45639 pack_tmp = ishft(pack_tmp, -32)
45641 data_tmp = full_data(idata)
45642 data_tmp = ishft(data_tmp, 8)
45643 data_tmp = iand(data_tmp, mask_left(32))
45644 pack_tmp = ior(pack_tmp, data_tmp)
45646 packed_data(ipack) = pack_tmp
45647 data_tmp = full_data(idata)
45648 pack_tmp = ishft(data_tmp, 40)
45649 pack_tmp = ishft(pack_tmp, -40)
45651 data_tmp = full_data(idata)
45652 data_tmp = ishft(data_tmp, 8)
45653 data_tmp = iand(data_tmp, mask_left(40))
45654 pack_tmp = ior(pack_tmp, data_tmp)
45656 packed_data(ipack) = pack_tmp
45657 data_tmp = full_data(idata)
45658 pack_tmp = ishft(data_tmp, 48)
45659 pack_tmp = ishft(pack_tmp, -48)
45661 data_tmp = full_data(idata)
45662 data_tmp = ishft(data_tmp, 8)
45663 data_tmp = iand(data_tmp, mask_left(48))
45664 pack_tmp = ior(pack_tmp, data_tmp)
45666 packed_data(ipack) = pack_tmp
45667 data_tmp = full_data(idata)
45668 pack_tmp = ishft(data_tmp, 56)
45669 pack_tmp = ishft(pack_tmp, -56)
45671 data_tmp = full_data(idata)
45672 data_tmp = ishft(data_tmp, 8)
45673 pack_tmp = ior(pack_tmp, data_tmp)
45674 pack_tmp = ishft(pack_tmp, 0)
45676 data_tmp = full_data(idata)
45677 data_tmp = ishft(data_tmp, 8)
45678 data_tmp = iand(data_tmp, mask_left(0))
45679 pack_tmp = ior(pack_tmp, data_tmp)
45681 packed_data(ipack) = pack_tmp
45682 data_tmp = full_data(idata)
45683 pack_tmp = ishft(data_tmp, 8)
45684 pack_tmp = ishft(pack_tmp, -8)
45686 data_tmp = full_data(idata)
45687 data_tmp = ishft(data_tmp, 8)
45688 data_tmp = iand(data_tmp, mask_left(8))
45689 pack_tmp = ior(pack_tmp, data_tmp)
45691 packed_data(ipack) = pack_tmp
45692 data_tmp = full_data(idata)
45693 pack_tmp = ishft(data_tmp, 16)
45694 pack_tmp = ishft(pack_tmp, -16)
45696 data_tmp = full_data(idata)
45697 data_tmp = ishft(data_tmp, 8)
45698 data_tmp = iand(data_tmp, mask_left(16))
45699 pack_tmp = ior(pack_tmp, data_tmp)
45701 packed_data(ipack) = pack_tmp
45702 data_tmp = full_data(idata)
45703 pack_tmp = ishft(data_tmp, 24)
45704 pack_tmp = ishft(pack_tmp, -24)
45706 data_tmp = full_data(idata)
45707 data_tmp = ishft(data_tmp, 8)
45708 data_tmp = iand(data_tmp, mask_left(24))
45709 pack_tmp = ior(pack_tmp, data_tmp)
45711 packed_data(ipack) = pack_tmp
45712 data_tmp = full_data(idata)
45713 pack_tmp = ishft(data_tmp, 32)
45714 pack_tmp = ishft(pack_tmp, -32)
45716 data_tmp = full_data(idata)
45717 data_tmp = ishft(data_tmp, 8)
45718 data_tmp = iand(data_tmp, mask_left(32))
45719 pack_tmp = ior(pack_tmp, data_tmp)
45721 packed_data(ipack) = pack_tmp
45722 data_tmp = full_data(idata)
45723 pack_tmp = ishft(data_tmp, 40)
45724 pack_tmp = ishft(pack_tmp, -40)
45726 data_tmp = full_data(idata)
45727 data_tmp = ishft(data_tmp, 8)
45728 data_tmp = iand(data_tmp, mask_left(40))
45729 pack_tmp = ior(pack_tmp, data_tmp)
45731 packed_data(ipack) = pack_tmp
45732 data_tmp = full_data(idata)
45733 pack_tmp = ishft(data_tmp, 48)
45734 pack_tmp = ishft(pack_tmp, -48)
45736 data_tmp = full_data(idata)
45737 data_tmp = ishft(data_tmp, 8)
45738 data_tmp = iand(data_tmp, mask_left(48))
45739 pack_tmp = ior(pack_tmp, data_tmp)
45741 packed_data(ipack) = pack_tmp
45742 data_tmp = full_data(idata)
45743 pack_tmp = ishft(data_tmp, 56)
45744 pack_tmp = ishft(pack_tmp, -56)
45746 data_tmp = full_data(idata)
45747 data_tmp = ishft(data_tmp, 8)
45748 pack_tmp = ior(pack_tmp, data_tmp)
45749 pack_tmp = ishft(pack_tmp, 0)
45751 data_tmp = full_data(idata)
45752 data_tmp = ishft(data_tmp, 8)
45753 data_tmp = iand(data_tmp, mask_left(0))
45754 pack_tmp = ior(pack_tmp, data_tmp)
45756 packed_data(ipack) = pack_tmp
45757 data_tmp = full_data(idata)
45758 pack_tmp = ishft(data_tmp, 8)
45759 pack_tmp = ishft(pack_tmp, -8)
45761 data_tmp = full_data(idata)
45762 data_tmp = ishft(data_tmp, 8)
45763 data_tmp = iand(data_tmp, mask_left(8))
45764 pack_tmp = ior(pack_tmp, data_tmp)
45766 packed_data(ipack) = pack_tmp
45767 data_tmp = full_data(idata)
45768 pack_tmp = ishft(data_tmp, 16)
45769 pack_tmp = ishft(pack_tmp, -16)
45771 data_tmp = full_data(idata)
45772 data_tmp = ishft(data_tmp, 8)
45773 data_tmp = iand(data_tmp, mask_left(16))
45774 pack_tmp = ior(pack_tmp, data_tmp)
45776 packed_data(ipack) = pack_tmp
45777 data_tmp = full_data(idata)
45778 pack_tmp = ishft(data_tmp, 24)
45779 pack_tmp = ishft(pack_tmp, -24)
45781 data_tmp = full_data(idata)
45782 data_tmp = ishft(data_tmp, 8)
45783 data_tmp = iand(data_tmp, mask_left(24))
45784 pack_tmp = ior(pack_tmp, data_tmp)
45786 packed_data(ipack) = pack_tmp
45787 data_tmp = full_data(idata)
45788 pack_tmp = ishft(data_tmp, 32)
45789 pack_tmp = ishft(pack_tmp, -32)
45791 data_tmp = full_data(idata)
45792 data_tmp = ishft(data_tmp, 8)
45793 data_tmp = iand(data_tmp, mask_left(32))
45794 pack_tmp = ior(pack_tmp, data_tmp)
45796 packed_data(ipack) = pack_tmp
45797 data_tmp = full_data(idata)
45798 pack_tmp = ishft(data_tmp, 40)
45799 pack_tmp = ishft(pack_tmp, -40)
45801 data_tmp = full_data(idata)
45802 data_tmp = ishft(data_tmp, 8)
45803 data_tmp = iand(data_tmp, mask_left(40))
45804 pack_tmp = ior(pack_tmp, data_tmp)
45806 packed_data(ipack) = pack_tmp
45807 data_tmp = full_data(idata)
45808 pack_tmp = ishft(data_tmp, 48)
45809 pack_tmp = ishft(pack_tmp, -48)
45811 data_tmp = full_data(idata)
45812 data_tmp = ishft(data_tmp, 8)
45813 data_tmp = iand(data_tmp, mask_left(48))
45814 pack_tmp = ior(pack_tmp, data_tmp)
45816 packed_data(ipack) = pack_tmp
45817 data_tmp = full_data(idata)
45818 pack_tmp = ishft(data_tmp, 56)
45819 pack_tmp = ishft(pack_tmp, -56)
45821 data_tmp = full_data(idata)
45822 data_tmp = ishft(data_tmp, 8)
45823 pack_tmp = ior(pack_tmp, data_tmp)
45824 pack_tmp = ishft(pack_tmp, 0)
45826 data_tmp = full_data(idata)
45827 data_tmp = ishft(data_tmp, 8)
45828 data_tmp = iand(data_tmp, mask_left(0))
45829 pack_tmp = ior(pack_tmp, data_tmp)
45831 packed_data(ipack) = pack_tmp
45832 data_tmp = full_data(idata)
45833 pack_tmp = ishft(data_tmp, 8)
45834 pack_tmp = ishft(pack_tmp, -8)
45836 data_tmp = full_data(idata)
45837 data_tmp = ishft(data_tmp, 8)
45838 data_tmp = iand(data_tmp, mask_left(8))
45839 pack_tmp = ior(pack_tmp, data_tmp)
45841 packed_data(ipack) = pack_tmp
45842 data_tmp = full_data(idata)
45843 pack_tmp = ishft(data_tmp, 16)
45844 pack_tmp = ishft(pack_tmp, -16)
45846 data_tmp = full_data(idata)
45847 data_tmp = ishft(data_tmp, 8)
45848 data_tmp = iand(data_tmp, mask_left(16))
45849 pack_tmp = ior(pack_tmp, data_tmp)
45851 packed_data(ipack) = pack_tmp
45852 data_tmp = full_data(idata)
45853 pack_tmp = ishft(data_tmp, 24)
45854 pack_tmp = ishft(pack_tmp, -24)
45856 data_tmp = full_data(idata)
45857 data_tmp = ishft(data_tmp, 8)
45858 data_tmp = iand(data_tmp, mask_left(24))
45859 pack_tmp = ior(pack_tmp, data_tmp)
45861 packed_data(ipack) = pack_tmp
45862 data_tmp = full_data(idata)
45863 pack_tmp = ishft(data_tmp, 32)
45864 pack_tmp = ishft(pack_tmp, -32)
45866 data_tmp = full_data(idata)
45867 data_tmp = ishft(data_tmp, 8)
45868 data_tmp = iand(data_tmp, mask_left(32))
45869 pack_tmp = ior(pack_tmp, data_tmp)
45871 packed_data(ipack) = pack_tmp
45872 data_tmp = full_data(idata)
45873 pack_tmp = ishft(data_tmp, 40)
45874 pack_tmp = ishft(pack_tmp, -40)
45876 data_tmp = full_data(idata)
45877 data_tmp = ishft(data_tmp, 8)
45878 data_tmp = iand(data_tmp, mask_left(40))
45879 pack_tmp = ior(pack_tmp, data_tmp)
45881 packed_data(ipack) = pack_tmp
45882 data_tmp = full_data(idata)
45883 pack_tmp = ishft(data_tmp, 48)
45884 pack_tmp = ishft(pack_tmp, -48)
45886 data_tmp = full_data(idata)
45887 data_tmp = ishft(data_tmp, 8)
45888 data_tmp = iand(data_tmp, mask_left(48))
45889 pack_tmp = ior(pack_tmp, data_tmp)
45891 packed_data(ipack) = pack_tmp
45892 data_tmp = full_data(idata)
45893 pack_tmp = ishft(data_tmp, 56)
45894 pack_tmp = ishft(pack_tmp, -56)
45896 data_tmp = full_data(idata)
45897 data_tmp = ishft(data_tmp, 8)
45898 pack_tmp = ior(pack_tmp, data_tmp)
45899 pack_tmp = ishft(pack_tmp, 0)
45901 data_tmp = full_data(idata)
45902 data_tmp = ishft(data_tmp, 8)
45903 data_tmp = iand(data_tmp, mask_left(0))
45904 pack_tmp = ior(pack_tmp, data_tmp)
45906 packed_data(ipack) = pack_tmp
45907 data_tmp = full_data(idata)
45908 pack_tmp = ishft(data_tmp, 8)
45909 pack_tmp = ishft(pack_tmp, -8)
45911 data_tmp = full_data(idata)
45912 data_tmp = ishft(data_tmp, 8)
45913 data_tmp = iand(data_tmp, mask_left(8))
45914 pack_tmp = ior(pack_tmp, data_tmp)
45916 packed_data(ipack) = pack_tmp
45917 data_tmp = full_data(idata)
45918 pack_tmp = ishft(data_tmp, 16)
45919 pack_tmp = ishft(pack_tmp, -16)
45921 data_tmp = full_data(idata)
45922 data_tmp = ishft(data_tmp, 8)
45923 data_tmp = iand(data_tmp, mask_left(16))
45924 pack_tmp = ior(pack_tmp, data_tmp)
45926 packed_data(ipack) = pack_tmp
45927 data_tmp = full_data(idata)
45928 pack_tmp = ishft(data_tmp, 24)
45929 pack_tmp = ishft(pack_tmp, -24)
45931 data_tmp = full_data(idata)
45932 data_tmp = ishft(data_tmp, 8)
45933 data_tmp = iand(data_tmp, mask_left(24))
45934 pack_tmp = ior(pack_tmp, data_tmp)
45936 packed_data(ipack) = pack_tmp
45937 data_tmp = full_data(idata)
45938 pack_tmp = ishft(data_tmp, 32)
45939 pack_tmp = ishft(pack_tmp, -32)
45941 data_tmp = full_data(idata)
45942 data_tmp = ishft(data_tmp, 8)
45943 data_tmp = iand(data_tmp, mask_left(32))
45944 pack_tmp = ior(pack_tmp, data_tmp)
45946 packed_data(ipack) = pack_tmp
45947 data_tmp = full_data(idata)
45948 pack_tmp = ishft(data_tmp, 40)
45949 pack_tmp = ishft(pack_tmp, -40)
45951 data_tmp = full_data(idata)
45952 data_tmp = ishft(data_tmp, 8)
45953 data_tmp = iand(data_tmp, mask_left(40))
45954 pack_tmp = ior(pack_tmp, data_tmp)
45956 packed_data(ipack) = pack_tmp
45957 data_tmp = full_data(idata)
45958 pack_tmp = ishft(data_tmp, 48)
45959 pack_tmp = ishft(pack_tmp, -48)
45961 data_tmp = full_data(idata)
45962 data_tmp = ishft(data_tmp, 8)
45963 data_tmp = iand(data_tmp, mask_left(48))
45964 pack_tmp = ior(pack_tmp, data_tmp)
45966 packed_data(ipack) = pack_tmp
45967 data_tmp = full_data(idata)
45968 pack_tmp = ishft(data_tmp, 56)
45969 pack_tmp = ishft(pack_tmp, -56)
45971 data_tmp = full_data(idata)
45972 data_tmp = ishft(data_tmp, 8)
45973 pack_tmp = ior(pack_tmp, data_tmp)
45974 pack_tmp = ishft(pack_tmp, 0)
45976 data_tmp = full_data(idata)
45977 data_tmp = ishft(data_tmp, 8)
45978 data_tmp = iand(data_tmp, mask_left(0))
45979 pack_tmp = ior(pack_tmp, data_tmp)
45981 packed_data(ipack) = pack_tmp
45982 data_tmp = full_data(idata)
45983 pack_tmp = ishft(data_tmp, 8)
45984 pack_tmp = ishft(pack_tmp, -8)
45986 data_tmp = full_data(idata)
45987 data_tmp = ishft(data_tmp, 8)
45988 data_tmp = iand(data_tmp, mask_left(8))
45989 pack_tmp = ior(pack_tmp, data_tmp)
45991 packed_data(ipack) = pack_tmp
45992 data_tmp = full_data(idata)
45993 pack_tmp = ishft(data_tmp, 16)
45994 pack_tmp = ishft(pack_tmp, -16)
45996 data_tmp = full_data(idata)
45997 data_tmp = ishft(data_tmp, 8)
45998 data_tmp = iand(data_tmp, mask_left(16))
45999 pack_tmp = ior(pack_tmp, data_tmp)
46001 packed_data(ipack) = pack_tmp
46002 data_tmp = full_data(idata)
46003 pack_tmp = ishft(data_tmp, 24)
46004 pack_tmp = ishft(pack_tmp, -24)
46006 data_tmp = full_data(idata)
46007 data_tmp = ishft(data_tmp, 8)
46008 data_tmp = iand(data_tmp, mask_left(24))
46009 pack_tmp = ior(pack_tmp, data_tmp)
46011 packed_data(ipack) = pack_tmp
46012 data_tmp = full_data(idata)
46013 pack_tmp = ishft(data_tmp, 32)
46014 pack_tmp = ishft(pack_tmp, -32)
46016 data_tmp = full_data(idata)
46017 data_tmp = ishft(data_tmp, 8)
46018 data_tmp = iand(data_tmp, mask_left(32))
46019 pack_tmp = ior(pack_tmp, data_tmp)
46021 packed_data(ipack) = pack_tmp
46022 data_tmp = full_data(idata)
46023 pack_tmp = ishft(data_tmp, 40)
46024 pack_tmp = ishft(pack_tmp, -40)
46026 data_tmp = full_data(idata)
46027 data_tmp = ishft(data_tmp, 8)
46028 data_tmp = iand(data_tmp, mask_left(40))
46029 pack_tmp = ior(pack_tmp, data_tmp)
46031 packed_data(ipack) = pack_tmp
46032 data_tmp = full_data(idata)
46033 pack_tmp = ishft(data_tmp, 48)
46034 pack_tmp = ishft(pack_tmp, -48)
46036 data_tmp = full_data(idata)
46037 data_tmp = ishft(data_tmp, 8)
46038 data_tmp = iand(data_tmp, mask_left(48))
46039 pack_tmp = ior(pack_tmp, data_tmp)
46041 packed_data(ipack) = pack_tmp
46042 data_tmp = full_data(idata)
46043 pack_tmp = ishft(data_tmp, 56)
46044 pack_tmp = ishft(pack_tmp, -56)
46046 data_tmp = full_data(idata)
46047 data_tmp = ishft(data_tmp, 8)
46048 pack_tmp = ior(pack_tmp, data_tmp)
46049 pack_tmp = ishft(pack_tmp, 0)
46051 data_tmp = full_data(idata)
46052 data_tmp = ishft(data_tmp, 8)
46053 data_tmp = iand(data_tmp, mask_left(0))
46054 pack_tmp = ior(pack_tmp, data_tmp)
46056 packed_data(ipack) = pack_tmp
46057 data_tmp = full_data(idata)
46058 pack_tmp = ishft(data_tmp, 8)
46059 pack_tmp = ishft(pack_tmp, -8)
46061 data_tmp = full_data(idata)
46062 data_tmp = ishft(data_tmp, 8)
46063 data_tmp = iand(data_tmp, mask_left(8))
46064 pack_tmp = ior(pack_tmp, data_tmp)
46066 packed_data(ipack) = pack_tmp
46067 data_tmp = full_data(idata)
46068 pack_tmp = ishft(data_tmp, 16)
46069 pack_tmp = ishft(pack_tmp, -16)
46071 data_tmp = full_data(idata)
46072 data_tmp = ishft(data_tmp, 8)
46073 data_tmp = iand(data_tmp, mask_left(16))
46074 pack_tmp = ior(pack_tmp, data_tmp)
46076 packed_data(ipack) = pack_tmp
46077 data_tmp = full_data(idata)
46078 pack_tmp = ishft(data_tmp, 24)
46079 pack_tmp = ishft(pack_tmp, -24)
46081 data_tmp = full_data(idata)
46082 data_tmp = ishft(data_tmp, 8)
46083 data_tmp = iand(data_tmp, mask_left(24))
46084 pack_tmp = ior(pack_tmp, data_tmp)
46086 packed_data(ipack) = pack_tmp
46087 data_tmp = full_data(idata)
46088 pack_tmp = ishft(data_tmp, 32)
46089 pack_tmp = ishft(pack_tmp, -32)
46091 data_tmp = full_data(idata)
46092 data_tmp = ishft(data_tmp, 8)
46093 data_tmp = iand(data_tmp, mask_left(32))
46094 pack_tmp = ior(pack_tmp, data_tmp)
46096 packed_data(ipack) = pack_tmp
46097 data_tmp = full_data(idata)
46098 pack_tmp = ishft(data_tmp, 40)
46099 pack_tmp = ishft(pack_tmp, -40)
46101 data_tmp = full_data(idata)
46102 data_tmp = ishft(data_tmp, 8)
46103 data_tmp = iand(data_tmp, mask_left(40))
46104 pack_tmp = ior(pack_tmp, data_tmp)
46106 packed_data(ipack) = pack_tmp
46107 data_tmp = full_data(idata)
46108 pack_tmp = ishft(data_tmp, 48)
46109 pack_tmp = ishft(pack_tmp, -48)
46111 data_tmp = full_data(idata)
46112 data_tmp = ishft(data_tmp, 8)
46113 data_tmp = iand(data_tmp, mask_left(48))
46114 pack_tmp = ior(pack_tmp, data_tmp)
46116 packed_data(ipack) = pack_tmp
46117 data_tmp = full_data(idata)
46118 pack_tmp = ishft(data_tmp, 56)
46119 pack_tmp = ishft(pack_tmp, -56)
46121 data_tmp = full_data(idata)
46122 data_tmp = ishft(data_tmp, 8)
46123 pack_tmp = ior(pack_tmp, data_tmp)
46124 pack_tmp = ishft(pack_tmp, 0)
46125 pack_tmp = ishft(pack_tmp, 0)
46127 packed_data(ipack) = pack_tmp
46129 IF (ndata_rep < ndata)
THEN
46130 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
46132 END SUBROUTINE ints2bits_56
46140 SUBROUTINE bits2ints_56(Ndata, packed_data, full_data)
46141 INTEGER,
INTENT(IN) :: Ndata
46142 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
46143 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
46145 INTEGER,
PARAMETER :: Nbits = 56
46147 INTEGER :: idata, ipack, kdata, Ndata_rep
46148 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
46153 ndata_rep = (ndata/64)*64
46154 DO kdata = 1, ndata_rep, 64
46156 data_tmp = ishft(pack_tmp, 56)
46158 pack_tmp = packed_data(ipack)
46159 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46160 pack_tmp = ishft(pack_tmp, -56)
46162 data_tmp = ishft(pack_tmp, 48)
46164 pack_tmp = packed_data(ipack)
46165 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46166 pack_tmp = ishft(pack_tmp, -48)
46168 data_tmp = ishft(pack_tmp, 40)
46170 pack_tmp = packed_data(ipack)
46171 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46172 pack_tmp = ishft(pack_tmp, -40)
46174 data_tmp = ishft(pack_tmp, 32)
46176 pack_tmp = packed_data(ipack)
46177 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46178 pack_tmp = ishft(pack_tmp, -32)
46180 data_tmp = ishft(pack_tmp, 24)
46182 pack_tmp = packed_data(ipack)
46183 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46184 pack_tmp = ishft(pack_tmp, -24)
46186 data_tmp = ishft(pack_tmp, 16)
46188 pack_tmp = packed_data(ipack)
46189 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46190 pack_tmp = ishft(pack_tmp, -16)
46192 data_tmp = ishft(pack_tmp, 8)
46194 pack_tmp = packed_data(ipack)
46195 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46196 pack_tmp = ishft(pack_tmp, -8)
46198 data_tmp = iand(pack_tmp, mask_right(nbits))
46199 full_data(idata) = data_tmp
46200 pack_tmp = ishft(pack_tmp, -nbits)
46202 data_tmp = ishft(pack_tmp, 56)
46204 pack_tmp = packed_data(ipack)
46205 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46206 pack_tmp = ishft(pack_tmp, -56)
46208 data_tmp = ishft(pack_tmp, 48)
46210 pack_tmp = packed_data(ipack)
46211 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46212 pack_tmp = ishft(pack_tmp, -48)
46214 data_tmp = ishft(pack_tmp, 40)
46216 pack_tmp = packed_data(ipack)
46217 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46218 pack_tmp = ishft(pack_tmp, -40)
46220 data_tmp = ishft(pack_tmp, 32)
46222 pack_tmp = packed_data(ipack)
46223 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46224 pack_tmp = ishft(pack_tmp, -32)
46226 data_tmp = ishft(pack_tmp, 24)
46228 pack_tmp = packed_data(ipack)
46229 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46230 pack_tmp = ishft(pack_tmp, -24)
46232 data_tmp = ishft(pack_tmp, 16)
46234 pack_tmp = packed_data(ipack)
46235 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46236 pack_tmp = ishft(pack_tmp, -16)
46238 data_tmp = ishft(pack_tmp, 8)
46240 pack_tmp = packed_data(ipack)
46241 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46242 pack_tmp = ishft(pack_tmp, -8)
46244 data_tmp = iand(pack_tmp, mask_right(nbits))
46245 full_data(idata) = data_tmp
46246 pack_tmp = ishft(pack_tmp, -nbits)
46248 data_tmp = ishft(pack_tmp, 56)
46250 pack_tmp = packed_data(ipack)
46251 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46252 pack_tmp = ishft(pack_tmp, -56)
46254 data_tmp = ishft(pack_tmp, 48)
46256 pack_tmp = packed_data(ipack)
46257 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46258 pack_tmp = ishft(pack_tmp, -48)
46260 data_tmp = ishft(pack_tmp, 40)
46262 pack_tmp = packed_data(ipack)
46263 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46264 pack_tmp = ishft(pack_tmp, -40)
46266 data_tmp = ishft(pack_tmp, 32)
46268 pack_tmp = packed_data(ipack)
46269 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46270 pack_tmp = ishft(pack_tmp, -32)
46272 data_tmp = ishft(pack_tmp, 24)
46274 pack_tmp = packed_data(ipack)
46275 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46276 pack_tmp = ishft(pack_tmp, -24)
46278 data_tmp = ishft(pack_tmp, 16)
46280 pack_tmp = packed_data(ipack)
46281 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46282 pack_tmp = ishft(pack_tmp, -16)
46284 data_tmp = ishft(pack_tmp, 8)
46286 pack_tmp = packed_data(ipack)
46287 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46288 pack_tmp = ishft(pack_tmp, -8)
46290 data_tmp = iand(pack_tmp, mask_right(nbits))
46291 full_data(idata) = data_tmp
46292 pack_tmp = ishft(pack_tmp, -nbits)
46294 data_tmp = ishft(pack_tmp, 56)
46296 pack_tmp = packed_data(ipack)
46297 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46298 pack_tmp = ishft(pack_tmp, -56)
46300 data_tmp = ishft(pack_tmp, 48)
46302 pack_tmp = packed_data(ipack)
46303 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46304 pack_tmp = ishft(pack_tmp, -48)
46306 data_tmp = ishft(pack_tmp, 40)
46308 pack_tmp = packed_data(ipack)
46309 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46310 pack_tmp = ishft(pack_tmp, -40)
46312 data_tmp = ishft(pack_tmp, 32)
46314 pack_tmp = packed_data(ipack)
46315 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46316 pack_tmp = ishft(pack_tmp, -32)
46318 data_tmp = ishft(pack_tmp, 24)
46320 pack_tmp = packed_data(ipack)
46321 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46322 pack_tmp = ishft(pack_tmp, -24)
46324 data_tmp = ishft(pack_tmp, 16)
46326 pack_tmp = packed_data(ipack)
46327 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46328 pack_tmp = ishft(pack_tmp, -16)
46330 data_tmp = ishft(pack_tmp, 8)
46332 pack_tmp = packed_data(ipack)
46333 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46334 pack_tmp = ishft(pack_tmp, -8)
46336 data_tmp = iand(pack_tmp, mask_right(nbits))
46337 full_data(idata) = data_tmp
46338 pack_tmp = ishft(pack_tmp, -nbits)
46340 data_tmp = ishft(pack_tmp, 56)
46342 pack_tmp = packed_data(ipack)
46343 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46344 pack_tmp = ishft(pack_tmp, -56)
46346 data_tmp = ishft(pack_tmp, 48)
46348 pack_tmp = packed_data(ipack)
46349 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46350 pack_tmp = ishft(pack_tmp, -48)
46352 data_tmp = ishft(pack_tmp, 40)
46354 pack_tmp = packed_data(ipack)
46355 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46356 pack_tmp = ishft(pack_tmp, -40)
46358 data_tmp = ishft(pack_tmp, 32)
46360 pack_tmp = packed_data(ipack)
46361 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46362 pack_tmp = ishft(pack_tmp, -32)
46364 data_tmp = ishft(pack_tmp, 24)
46366 pack_tmp = packed_data(ipack)
46367 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46368 pack_tmp = ishft(pack_tmp, -24)
46370 data_tmp = ishft(pack_tmp, 16)
46372 pack_tmp = packed_data(ipack)
46373 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46374 pack_tmp = ishft(pack_tmp, -16)
46376 data_tmp = ishft(pack_tmp, 8)
46378 pack_tmp = packed_data(ipack)
46379 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46380 pack_tmp = ishft(pack_tmp, -8)
46382 data_tmp = iand(pack_tmp, mask_right(nbits))
46383 full_data(idata) = data_tmp
46384 pack_tmp = ishft(pack_tmp, -nbits)
46386 data_tmp = ishft(pack_tmp, 56)
46388 pack_tmp = packed_data(ipack)
46389 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46390 pack_tmp = ishft(pack_tmp, -56)
46392 data_tmp = ishft(pack_tmp, 48)
46394 pack_tmp = packed_data(ipack)
46395 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46396 pack_tmp = ishft(pack_tmp, -48)
46398 data_tmp = ishft(pack_tmp, 40)
46400 pack_tmp = packed_data(ipack)
46401 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46402 pack_tmp = ishft(pack_tmp, -40)
46404 data_tmp = ishft(pack_tmp, 32)
46406 pack_tmp = packed_data(ipack)
46407 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46408 pack_tmp = ishft(pack_tmp, -32)
46410 data_tmp = ishft(pack_tmp, 24)
46412 pack_tmp = packed_data(ipack)
46413 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46414 pack_tmp = ishft(pack_tmp, -24)
46416 data_tmp = ishft(pack_tmp, 16)
46418 pack_tmp = packed_data(ipack)
46419 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46420 pack_tmp = ishft(pack_tmp, -16)
46422 data_tmp = ishft(pack_tmp, 8)
46424 pack_tmp = packed_data(ipack)
46425 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46426 pack_tmp = ishft(pack_tmp, -8)
46428 data_tmp = iand(pack_tmp, mask_right(nbits))
46429 full_data(idata) = data_tmp
46430 pack_tmp = ishft(pack_tmp, -nbits)
46432 data_tmp = ishft(pack_tmp, 56)
46434 pack_tmp = packed_data(ipack)
46435 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46436 pack_tmp = ishft(pack_tmp, -56)
46438 data_tmp = ishft(pack_tmp, 48)
46440 pack_tmp = packed_data(ipack)
46441 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46442 pack_tmp = ishft(pack_tmp, -48)
46444 data_tmp = ishft(pack_tmp, 40)
46446 pack_tmp = packed_data(ipack)
46447 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46448 pack_tmp = ishft(pack_tmp, -40)
46450 data_tmp = ishft(pack_tmp, 32)
46452 pack_tmp = packed_data(ipack)
46453 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46454 pack_tmp = ishft(pack_tmp, -32)
46456 data_tmp = ishft(pack_tmp, 24)
46458 pack_tmp = packed_data(ipack)
46459 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46460 pack_tmp = ishft(pack_tmp, -24)
46462 data_tmp = ishft(pack_tmp, 16)
46464 pack_tmp = packed_data(ipack)
46465 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46466 pack_tmp = ishft(pack_tmp, -16)
46468 data_tmp = ishft(pack_tmp, 8)
46470 pack_tmp = packed_data(ipack)
46471 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46472 pack_tmp = ishft(pack_tmp, -8)
46474 data_tmp = iand(pack_tmp, mask_right(nbits))
46475 full_data(idata) = data_tmp
46476 pack_tmp = ishft(pack_tmp, -nbits)
46478 data_tmp = ishft(pack_tmp, 56)
46480 pack_tmp = packed_data(ipack)
46481 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
46482 pack_tmp = ishft(pack_tmp, -56)
46484 data_tmp = ishft(pack_tmp, 48)
46486 pack_tmp = packed_data(ipack)
46487 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
46488 pack_tmp = ishft(pack_tmp, -48)
46490 data_tmp = ishft(pack_tmp, 40)
46492 pack_tmp = packed_data(ipack)
46493 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
46494 pack_tmp = ishft(pack_tmp, -40)
46496 data_tmp = ishft(pack_tmp, 32)
46498 pack_tmp = packed_data(ipack)
46499 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
46500 pack_tmp = ishft(pack_tmp, -32)
46502 data_tmp = ishft(pack_tmp, 24)
46504 pack_tmp = packed_data(ipack)
46505 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
46506 pack_tmp = ishft(pack_tmp, -24)
46508 data_tmp = ishft(pack_tmp, 16)
46510 pack_tmp = packed_data(ipack)
46511 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
46512 pack_tmp = ishft(pack_tmp, -16)
46514 data_tmp = ishft(pack_tmp, 8)
46516 pack_tmp = packed_data(ipack)
46517 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
46518 pack_tmp = ishft(pack_tmp, -8)
46520 data_tmp = iand(pack_tmp, mask_right(nbits))
46521 full_data(idata) = data_tmp
46522 pack_tmp = ishft(pack_tmp, -nbits)
46524 IF (ndata_rep < ndata)
THEN
46525 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
46527 END SUBROUTINE bits2ints_56
46535 SUBROUTINE ints2bits_57(Ndata, packed_data, full_data)
46536 INTEGER,
INTENT(IN) :: Ndata
46537 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
46538 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
46540 INTEGER,
PARAMETER :: Nbits = 57
46542 INTEGER :: idata, ipack, kdata, Ndata_rep
46543 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
46547 ndata_rep = (ndata/64)*64
46548 DO kdata = 1, ndata_rep, 64
46551 data_tmp = full_data(idata)
46552 data_tmp = ishft(data_tmp, 7)
46553 pack_tmp = ior(pack_tmp, data_tmp)
46554 pack_tmp = ishft(pack_tmp, -7)
46556 data_tmp = full_data(idata)
46557 data_tmp = ishft(data_tmp, 7)
46558 data_tmp = iand(data_tmp, mask_left(7))
46559 pack_tmp = ior(pack_tmp, data_tmp)
46561 packed_data(ipack) = pack_tmp
46562 data_tmp = full_data(idata)
46563 pack_tmp = ishft(data_tmp, 14)
46564 pack_tmp = ishft(pack_tmp, -14)
46566 data_tmp = full_data(idata)
46567 data_tmp = ishft(data_tmp, 7)
46568 data_tmp = iand(data_tmp, mask_left(14))
46569 pack_tmp = ior(pack_tmp, data_tmp)
46571 packed_data(ipack) = pack_tmp
46572 data_tmp = full_data(idata)
46573 pack_tmp = ishft(data_tmp, 21)
46574 pack_tmp = ishft(pack_tmp, -21)
46576 data_tmp = full_data(idata)
46577 data_tmp = ishft(data_tmp, 7)
46578 data_tmp = iand(data_tmp, mask_left(21))
46579 pack_tmp = ior(pack_tmp, data_tmp)
46581 packed_data(ipack) = pack_tmp
46582 data_tmp = full_data(idata)
46583 pack_tmp = ishft(data_tmp, 28)
46584 pack_tmp = ishft(pack_tmp, -28)
46586 data_tmp = full_data(idata)
46587 data_tmp = ishft(data_tmp, 7)
46588 data_tmp = iand(data_tmp, mask_left(28))
46589 pack_tmp = ior(pack_tmp, data_tmp)
46591 packed_data(ipack) = pack_tmp
46592 data_tmp = full_data(idata)
46593 pack_tmp = ishft(data_tmp, 35)
46594 pack_tmp = ishft(pack_tmp, -35)
46596 data_tmp = full_data(idata)
46597 data_tmp = ishft(data_tmp, 7)
46598 data_tmp = iand(data_tmp, mask_left(35))
46599 pack_tmp = ior(pack_tmp, data_tmp)
46601 packed_data(ipack) = pack_tmp
46602 data_tmp = full_data(idata)
46603 pack_tmp = ishft(data_tmp, 42)
46604 pack_tmp = ishft(pack_tmp, -42)
46606 data_tmp = full_data(idata)
46607 data_tmp = ishft(data_tmp, 7)
46608 data_tmp = iand(data_tmp, mask_left(42))
46609 pack_tmp = ior(pack_tmp, data_tmp)
46611 packed_data(ipack) = pack_tmp
46612 data_tmp = full_data(idata)
46613 pack_tmp = ishft(data_tmp, 49)
46614 pack_tmp = ishft(pack_tmp, -49)
46616 data_tmp = full_data(idata)
46617 data_tmp = ishft(data_tmp, 7)
46618 data_tmp = iand(data_tmp, mask_left(49))
46619 pack_tmp = ior(pack_tmp, data_tmp)
46621 packed_data(ipack) = pack_tmp
46622 data_tmp = full_data(idata)
46623 pack_tmp = ishft(data_tmp, 56)
46624 pack_tmp = ishft(pack_tmp, -56)
46626 data_tmp = full_data(idata)
46627 data_tmp = ishft(data_tmp, 7)
46628 data_tmp = iand(data_tmp, mask_left(56))
46629 pack_tmp = ior(pack_tmp, data_tmp)
46631 packed_data(ipack) = pack_tmp
46632 data_tmp = full_data(idata)
46633 pack_tmp = ishft(data_tmp, 63)
46634 pack_tmp = ishft(pack_tmp, -57)
46636 data_tmp = full_data(idata)
46637 data_tmp = ishft(data_tmp, 7)
46638 pack_tmp = ior(pack_tmp, data_tmp)
46639 pack_tmp = ishft(pack_tmp, -6)
46641 data_tmp = full_data(idata)
46642 data_tmp = ishft(data_tmp, 7)
46643 data_tmp = iand(data_tmp, mask_left(6))
46644 pack_tmp = ior(pack_tmp, data_tmp)
46646 packed_data(ipack) = pack_tmp
46647 data_tmp = full_data(idata)
46648 pack_tmp = ishft(data_tmp, 13)
46649 pack_tmp = ishft(pack_tmp, -13)
46651 data_tmp = full_data(idata)
46652 data_tmp = ishft(data_tmp, 7)
46653 data_tmp = iand(data_tmp, mask_left(13))
46654 pack_tmp = ior(pack_tmp, data_tmp)
46656 packed_data(ipack) = pack_tmp
46657 data_tmp = full_data(idata)
46658 pack_tmp = ishft(data_tmp, 20)
46659 pack_tmp = ishft(pack_tmp, -20)
46661 data_tmp = full_data(idata)
46662 data_tmp = ishft(data_tmp, 7)
46663 data_tmp = iand(data_tmp, mask_left(20))
46664 pack_tmp = ior(pack_tmp, data_tmp)
46666 packed_data(ipack) = pack_tmp
46667 data_tmp = full_data(idata)
46668 pack_tmp = ishft(data_tmp, 27)
46669 pack_tmp = ishft(pack_tmp, -27)
46671 data_tmp = full_data(idata)
46672 data_tmp = ishft(data_tmp, 7)
46673 data_tmp = iand(data_tmp, mask_left(27))
46674 pack_tmp = ior(pack_tmp, data_tmp)
46676 packed_data(ipack) = pack_tmp
46677 data_tmp = full_data(idata)
46678 pack_tmp = ishft(data_tmp, 34)
46679 pack_tmp = ishft(pack_tmp, -34)
46681 data_tmp = full_data(idata)
46682 data_tmp = ishft(data_tmp, 7)
46683 data_tmp = iand(data_tmp, mask_left(34))
46684 pack_tmp = ior(pack_tmp, data_tmp)
46686 packed_data(ipack) = pack_tmp
46687 data_tmp = full_data(idata)
46688 pack_tmp = ishft(data_tmp, 41)
46689 pack_tmp = ishft(pack_tmp, -41)
46691 data_tmp = full_data(idata)
46692 data_tmp = ishft(data_tmp, 7)
46693 data_tmp = iand(data_tmp, mask_left(41))
46694 pack_tmp = ior(pack_tmp, data_tmp)
46696 packed_data(ipack) = pack_tmp
46697 data_tmp = full_data(idata)
46698 pack_tmp = ishft(data_tmp, 48)
46699 pack_tmp = ishft(pack_tmp, -48)
46701 data_tmp = full_data(idata)
46702 data_tmp = ishft(data_tmp, 7)
46703 data_tmp = iand(data_tmp, mask_left(48))
46704 pack_tmp = ior(pack_tmp, data_tmp)
46706 packed_data(ipack) = pack_tmp
46707 data_tmp = full_data(idata)
46708 pack_tmp = ishft(data_tmp, 55)
46709 pack_tmp = ishft(pack_tmp, -55)
46711 data_tmp = full_data(idata)
46712 data_tmp = ishft(data_tmp, 7)
46713 data_tmp = iand(data_tmp, mask_left(55))
46714 pack_tmp = ior(pack_tmp, data_tmp)
46716 packed_data(ipack) = pack_tmp
46717 data_tmp = full_data(idata)
46718 pack_tmp = ishft(data_tmp, 62)
46719 pack_tmp = ishft(pack_tmp, -57)
46721 data_tmp = full_data(idata)
46722 data_tmp = ishft(data_tmp, 7)
46723 pack_tmp = ior(pack_tmp, data_tmp)
46724 pack_tmp = ishft(pack_tmp, -5)
46726 data_tmp = full_data(idata)
46727 data_tmp = ishft(data_tmp, 7)
46728 data_tmp = iand(data_tmp, mask_left(5))
46729 pack_tmp = ior(pack_tmp, data_tmp)
46731 packed_data(ipack) = pack_tmp
46732 data_tmp = full_data(idata)
46733 pack_tmp = ishft(data_tmp, 12)
46734 pack_tmp = ishft(pack_tmp, -12)
46736 data_tmp = full_data(idata)
46737 data_tmp = ishft(data_tmp, 7)
46738 data_tmp = iand(data_tmp, mask_left(12))
46739 pack_tmp = ior(pack_tmp, data_tmp)
46741 packed_data(ipack) = pack_tmp
46742 data_tmp = full_data(idata)
46743 pack_tmp = ishft(data_tmp, 19)
46744 pack_tmp = ishft(pack_tmp, -19)
46746 data_tmp = full_data(idata)
46747 data_tmp = ishft(data_tmp, 7)
46748 data_tmp = iand(data_tmp, mask_left(19))
46749 pack_tmp = ior(pack_tmp, data_tmp)
46751 packed_data(ipack) = pack_tmp
46752 data_tmp = full_data(idata)
46753 pack_tmp = ishft(data_tmp, 26)
46754 pack_tmp = ishft(pack_tmp, -26)
46756 data_tmp = full_data(idata)
46757 data_tmp = ishft(data_tmp, 7)
46758 data_tmp = iand(data_tmp, mask_left(26))
46759 pack_tmp = ior(pack_tmp, data_tmp)
46761 packed_data(ipack) = pack_tmp
46762 data_tmp = full_data(idata)
46763 pack_tmp = ishft(data_tmp, 33)
46764 pack_tmp = ishft(pack_tmp, -33)
46766 data_tmp = full_data(idata)
46767 data_tmp = ishft(data_tmp, 7)
46768 data_tmp = iand(data_tmp, mask_left(33))
46769 pack_tmp = ior(pack_tmp, data_tmp)
46771 packed_data(ipack) = pack_tmp
46772 data_tmp = full_data(idata)
46773 pack_tmp = ishft(data_tmp, 40)
46774 pack_tmp = ishft(pack_tmp, -40)
46776 data_tmp = full_data(idata)
46777 data_tmp = ishft(data_tmp, 7)
46778 data_tmp = iand(data_tmp, mask_left(40))
46779 pack_tmp = ior(pack_tmp, data_tmp)
46781 packed_data(ipack) = pack_tmp
46782 data_tmp = full_data(idata)
46783 pack_tmp = ishft(data_tmp, 47)
46784 pack_tmp = ishft(pack_tmp, -47)
46786 data_tmp = full_data(idata)
46787 data_tmp = ishft(data_tmp, 7)
46788 data_tmp = iand(data_tmp, mask_left(47))
46789 pack_tmp = ior(pack_tmp, data_tmp)
46791 packed_data(ipack) = pack_tmp
46792 data_tmp = full_data(idata)
46793 pack_tmp = ishft(data_tmp, 54)
46794 pack_tmp = ishft(pack_tmp, -54)
46796 data_tmp = full_data(idata)
46797 data_tmp = ishft(data_tmp, 7)
46798 data_tmp = iand(data_tmp, mask_left(54))
46799 pack_tmp = ior(pack_tmp, data_tmp)
46801 packed_data(ipack) = pack_tmp
46802 data_tmp = full_data(idata)
46803 pack_tmp = ishft(data_tmp, 61)
46804 pack_tmp = ishft(pack_tmp, -57)
46806 data_tmp = full_data(idata)
46807 data_tmp = ishft(data_tmp, 7)
46808 pack_tmp = ior(pack_tmp, data_tmp)
46809 pack_tmp = ishft(pack_tmp, -4)
46811 data_tmp = full_data(idata)
46812 data_tmp = ishft(data_tmp, 7)
46813 data_tmp = iand(data_tmp, mask_left(4))
46814 pack_tmp = ior(pack_tmp, data_tmp)
46816 packed_data(ipack) = pack_tmp
46817 data_tmp = full_data(idata)
46818 pack_tmp = ishft(data_tmp, 11)
46819 pack_tmp = ishft(pack_tmp, -11)
46821 data_tmp = full_data(idata)
46822 data_tmp = ishft(data_tmp, 7)
46823 data_tmp = iand(data_tmp, mask_left(11))
46824 pack_tmp = ior(pack_tmp, data_tmp)
46826 packed_data(ipack) = pack_tmp
46827 data_tmp = full_data(idata)
46828 pack_tmp = ishft(data_tmp, 18)
46829 pack_tmp = ishft(pack_tmp, -18)
46831 data_tmp = full_data(idata)
46832 data_tmp = ishft(data_tmp, 7)
46833 data_tmp = iand(data_tmp, mask_left(18))
46834 pack_tmp = ior(pack_tmp, data_tmp)
46836 packed_data(ipack) = pack_tmp
46837 data_tmp = full_data(idata)
46838 pack_tmp = ishft(data_tmp, 25)
46839 pack_tmp = ishft(pack_tmp, -25)
46841 data_tmp = full_data(idata)
46842 data_tmp = ishft(data_tmp, 7)
46843 data_tmp = iand(data_tmp, mask_left(25))
46844 pack_tmp = ior(pack_tmp, data_tmp)
46846 packed_data(ipack) = pack_tmp
46847 data_tmp = full_data(idata)
46848 pack_tmp = ishft(data_tmp, 32)
46849 pack_tmp = ishft(pack_tmp, -32)
46851 data_tmp = full_data(idata)
46852 data_tmp = ishft(data_tmp, 7)
46853 data_tmp = iand(data_tmp, mask_left(32))
46854 pack_tmp = ior(pack_tmp, data_tmp)
46856 packed_data(ipack) = pack_tmp
46857 data_tmp = full_data(idata)
46858 pack_tmp = ishft(data_tmp, 39)
46859 pack_tmp = ishft(pack_tmp, -39)
46861 data_tmp = full_data(idata)
46862 data_tmp = ishft(data_tmp, 7)
46863 data_tmp = iand(data_tmp, mask_left(39))
46864 pack_tmp = ior(pack_tmp, data_tmp)
46866 packed_data(ipack) = pack_tmp
46867 data_tmp = full_data(idata)
46868 pack_tmp = ishft(data_tmp, 46)
46869 pack_tmp = ishft(pack_tmp, -46)
46871 data_tmp = full_data(idata)
46872 data_tmp = ishft(data_tmp, 7)
46873 data_tmp = iand(data_tmp, mask_left(46))
46874 pack_tmp = ior(pack_tmp, data_tmp)
46876 packed_data(ipack) = pack_tmp
46877 data_tmp = full_data(idata)
46878 pack_tmp = ishft(data_tmp, 53)
46879 pack_tmp = ishft(pack_tmp, -53)
46881 data_tmp = full_data(idata)
46882 data_tmp = ishft(data_tmp, 7)
46883 data_tmp = iand(data_tmp, mask_left(53))
46884 pack_tmp = ior(pack_tmp, data_tmp)
46886 packed_data(ipack) = pack_tmp
46887 data_tmp = full_data(idata)
46888 pack_tmp = ishft(data_tmp, 60)
46889 pack_tmp = ishft(pack_tmp, -57)
46891 data_tmp = full_data(idata)
46892 data_tmp = ishft(data_tmp, 7)
46893 pack_tmp = ior(pack_tmp, data_tmp)
46894 pack_tmp = ishft(pack_tmp, -3)
46896 data_tmp = full_data(idata)
46897 data_tmp = ishft(data_tmp, 7)
46898 data_tmp = iand(data_tmp, mask_left(3))
46899 pack_tmp = ior(pack_tmp, data_tmp)
46901 packed_data(ipack) = pack_tmp
46902 data_tmp = full_data(idata)
46903 pack_tmp = ishft(data_tmp, 10)
46904 pack_tmp = ishft(pack_tmp, -10)
46906 data_tmp = full_data(idata)
46907 data_tmp = ishft(data_tmp, 7)
46908 data_tmp = iand(data_tmp, mask_left(10))
46909 pack_tmp = ior(pack_tmp, data_tmp)
46911 packed_data(ipack) = pack_tmp
46912 data_tmp = full_data(idata)
46913 pack_tmp = ishft(data_tmp, 17)
46914 pack_tmp = ishft(pack_tmp, -17)
46916 data_tmp = full_data(idata)
46917 data_tmp = ishft(data_tmp, 7)
46918 data_tmp = iand(data_tmp, mask_left(17))
46919 pack_tmp = ior(pack_tmp, data_tmp)
46921 packed_data(ipack) = pack_tmp
46922 data_tmp = full_data(idata)
46923 pack_tmp = ishft(data_tmp, 24)
46924 pack_tmp = ishft(pack_tmp, -24)
46926 data_tmp = full_data(idata)
46927 data_tmp = ishft(data_tmp, 7)
46928 data_tmp = iand(data_tmp, mask_left(24))
46929 pack_tmp = ior(pack_tmp, data_tmp)
46931 packed_data(ipack) = pack_tmp
46932 data_tmp = full_data(idata)
46933 pack_tmp = ishft(data_tmp, 31)
46934 pack_tmp = ishft(pack_tmp, -31)
46936 data_tmp = full_data(idata)
46937 data_tmp = ishft(data_tmp, 7)
46938 data_tmp = iand(data_tmp, mask_left(31))
46939 pack_tmp = ior(pack_tmp, data_tmp)
46941 packed_data(ipack) = pack_tmp
46942 data_tmp = full_data(idata)
46943 pack_tmp = ishft(data_tmp, 38)
46944 pack_tmp = ishft(pack_tmp, -38)
46946 data_tmp = full_data(idata)
46947 data_tmp = ishft(data_tmp, 7)
46948 data_tmp = iand(data_tmp, mask_left(38))
46949 pack_tmp = ior(pack_tmp, data_tmp)
46951 packed_data(ipack) = pack_tmp
46952 data_tmp = full_data(idata)
46953 pack_tmp = ishft(data_tmp, 45)
46954 pack_tmp = ishft(pack_tmp, -45)
46956 data_tmp = full_data(idata)
46957 data_tmp = ishft(data_tmp, 7)
46958 data_tmp = iand(data_tmp, mask_left(45))
46959 pack_tmp = ior(pack_tmp, data_tmp)
46961 packed_data(ipack) = pack_tmp
46962 data_tmp = full_data(idata)
46963 pack_tmp = ishft(data_tmp, 52)
46964 pack_tmp = ishft(pack_tmp, -52)
46966 data_tmp = full_data(idata)
46967 data_tmp = ishft(data_tmp, 7)
46968 data_tmp = iand(data_tmp, mask_left(52))
46969 pack_tmp = ior(pack_tmp, data_tmp)
46971 packed_data(ipack) = pack_tmp
46972 data_tmp = full_data(idata)
46973 pack_tmp = ishft(data_tmp, 59)
46974 pack_tmp = ishft(pack_tmp, -57)
46976 data_tmp = full_data(idata)
46977 data_tmp = ishft(data_tmp, 7)
46978 pack_tmp = ior(pack_tmp, data_tmp)
46979 pack_tmp = ishft(pack_tmp, -2)
46981 data_tmp = full_data(idata)
46982 data_tmp = ishft(data_tmp, 7)
46983 data_tmp = iand(data_tmp, mask_left(2))
46984 pack_tmp = ior(pack_tmp, data_tmp)
46986 packed_data(ipack) = pack_tmp
46987 data_tmp = full_data(idata)
46988 pack_tmp = ishft(data_tmp, 9)
46989 pack_tmp = ishft(pack_tmp, -9)
46991 data_tmp = full_data(idata)
46992 data_tmp = ishft(data_tmp, 7)
46993 data_tmp = iand(data_tmp, mask_left(9))
46994 pack_tmp = ior(pack_tmp, data_tmp)
46996 packed_data(ipack) = pack_tmp
46997 data_tmp = full_data(idata)
46998 pack_tmp = ishft(data_tmp, 16)
46999 pack_tmp = ishft(pack_tmp, -16)
47001 data_tmp = full_data(idata)
47002 data_tmp = ishft(data_tmp, 7)
47003 data_tmp = iand(data_tmp, mask_left(16))
47004 pack_tmp = ior(pack_tmp, data_tmp)
47006 packed_data(ipack) = pack_tmp
47007 data_tmp = full_data(idata)
47008 pack_tmp = ishft(data_tmp, 23)
47009 pack_tmp = ishft(pack_tmp, -23)
47011 data_tmp = full_data(idata)
47012 data_tmp = ishft(data_tmp, 7)
47013 data_tmp = iand(data_tmp, mask_left(23))
47014 pack_tmp = ior(pack_tmp, data_tmp)
47016 packed_data(ipack) = pack_tmp
47017 data_tmp = full_data(idata)
47018 pack_tmp = ishft(data_tmp, 30)
47019 pack_tmp = ishft(pack_tmp, -30)
47021 data_tmp = full_data(idata)
47022 data_tmp = ishft(data_tmp, 7)
47023 data_tmp = iand(data_tmp, mask_left(30))
47024 pack_tmp = ior(pack_tmp, data_tmp)
47026 packed_data(ipack) = pack_tmp
47027 data_tmp = full_data(idata)
47028 pack_tmp = ishft(data_tmp, 37)
47029 pack_tmp = ishft(pack_tmp, -37)
47031 data_tmp = full_data(idata)
47032 data_tmp = ishft(data_tmp, 7)
47033 data_tmp = iand(data_tmp, mask_left(37))
47034 pack_tmp = ior(pack_tmp, data_tmp)
47036 packed_data(ipack) = pack_tmp
47037 data_tmp = full_data(idata)
47038 pack_tmp = ishft(data_tmp, 44)
47039 pack_tmp = ishft(pack_tmp, -44)
47041 data_tmp = full_data(idata)
47042 data_tmp = ishft(data_tmp, 7)
47043 data_tmp = iand(data_tmp, mask_left(44))
47044 pack_tmp = ior(pack_tmp, data_tmp)
47046 packed_data(ipack) = pack_tmp
47047 data_tmp = full_data(idata)
47048 pack_tmp = ishft(data_tmp, 51)
47049 pack_tmp = ishft(pack_tmp, -51)
47051 data_tmp = full_data(idata)
47052 data_tmp = ishft(data_tmp, 7)
47053 data_tmp = iand(data_tmp, mask_left(51))
47054 pack_tmp = ior(pack_tmp, data_tmp)
47056 packed_data(ipack) = pack_tmp
47057 data_tmp = full_data(idata)
47058 pack_tmp = ishft(data_tmp, 58)
47059 pack_tmp = ishft(pack_tmp, -57)
47061 data_tmp = full_data(idata)
47062 data_tmp = ishft(data_tmp, 7)
47063 pack_tmp = ior(pack_tmp, data_tmp)
47064 pack_tmp = ishft(pack_tmp, -1)
47066 data_tmp = full_data(idata)
47067 data_tmp = ishft(data_tmp, 7)
47068 data_tmp = iand(data_tmp, mask_left(1))
47069 pack_tmp = ior(pack_tmp, data_tmp)
47071 packed_data(ipack) = pack_tmp
47072 data_tmp = full_data(idata)
47073 pack_tmp = ishft(data_tmp, 8)
47074 pack_tmp = ishft(pack_tmp, -8)
47076 data_tmp = full_data(idata)
47077 data_tmp = ishft(data_tmp, 7)
47078 data_tmp = iand(data_tmp, mask_left(8))
47079 pack_tmp = ior(pack_tmp, data_tmp)
47081 packed_data(ipack) = pack_tmp
47082 data_tmp = full_data(idata)
47083 pack_tmp = ishft(data_tmp, 15)
47084 pack_tmp = ishft(pack_tmp, -15)
47086 data_tmp = full_data(idata)
47087 data_tmp = ishft(data_tmp, 7)
47088 data_tmp = iand(data_tmp, mask_left(15))
47089 pack_tmp = ior(pack_tmp, data_tmp)
47091 packed_data(ipack) = pack_tmp
47092 data_tmp = full_data(idata)
47093 pack_tmp = ishft(data_tmp, 22)
47094 pack_tmp = ishft(pack_tmp, -22)
47096 data_tmp = full_data(idata)
47097 data_tmp = ishft(data_tmp, 7)
47098 data_tmp = iand(data_tmp, mask_left(22))
47099 pack_tmp = ior(pack_tmp, data_tmp)
47101 packed_data(ipack) = pack_tmp
47102 data_tmp = full_data(idata)
47103 pack_tmp = ishft(data_tmp, 29)
47104 pack_tmp = ishft(pack_tmp, -29)
47106 data_tmp = full_data(idata)
47107 data_tmp = ishft(data_tmp, 7)
47108 data_tmp = iand(data_tmp, mask_left(29))
47109 pack_tmp = ior(pack_tmp, data_tmp)
47111 packed_data(ipack) = pack_tmp
47112 data_tmp = full_data(idata)
47113 pack_tmp = ishft(data_tmp, 36)
47114 pack_tmp = ishft(pack_tmp, -36)
47116 data_tmp = full_data(idata)
47117 data_tmp = ishft(data_tmp, 7)
47118 data_tmp = iand(data_tmp, mask_left(36))
47119 pack_tmp = ior(pack_tmp, data_tmp)
47121 packed_data(ipack) = pack_tmp
47122 data_tmp = full_data(idata)
47123 pack_tmp = ishft(data_tmp, 43)
47124 pack_tmp = ishft(pack_tmp, -43)
47126 data_tmp = full_data(idata)
47127 data_tmp = ishft(data_tmp, 7)
47128 data_tmp = iand(data_tmp, mask_left(43))
47129 pack_tmp = ior(pack_tmp, data_tmp)
47131 packed_data(ipack) = pack_tmp
47132 data_tmp = full_data(idata)
47133 pack_tmp = ishft(data_tmp, 50)
47134 pack_tmp = ishft(pack_tmp, -50)
47136 data_tmp = full_data(idata)
47137 data_tmp = ishft(data_tmp, 7)
47138 data_tmp = iand(data_tmp, mask_left(50))
47139 pack_tmp = ior(pack_tmp, data_tmp)
47141 packed_data(ipack) = pack_tmp
47142 data_tmp = full_data(idata)
47143 pack_tmp = ishft(data_tmp, 57)
47144 pack_tmp = ishft(pack_tmp, -57)
47146 data_tmp = full_data(idata)
47147 data_tmp = ishft(data_tmp, 7)
47148 pack_tmp = ior(pack_tmp, data_tmp)
47149 pack_tmp = ishft(pack_tmp, 0)
47150 pack_tmp = ishft(pack_tmp, 0)
47152 packed_data(ipack) = pack_tmp
47154 IF (ndata_rep < ndata)
THEN
47155 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
47157 END SUBROUTINE ints2bits_57
47165 SUBROUTINE bits2ints_57(Ndata, packed_data, full_data)
47166 INTEGER,
INTENT(IN) :: Ndata
47167 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
47168 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
47170 INTEGER,
PARAMETER :: Nbits = 57
47172 INTEGER :: idata, ipack, kdata, Ndata_rep
47173 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
47178 ndata_rep = (ndata/64)*64
47179 DO kdata = 1, ndata_rep, 64
47181 data_tmp = ishft(pack_tmp, 57)
47183 pack_tmp = packed_data(ipack)
47184 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(57)))
47185 pack_tmp = ishft(pack_tmp, -57)
47187 data_tmp = ishft(pack_tmp, 50)
47189 pack_tmp = packed_data(ipack)
47190 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
47191 pack_tmp = ishft(pack_tmp, -50)
47193 data_tmp = ishft(pack_tmp, 43)
47195 pack_tmp = packed_data(ipack)
47196 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
47197 pack_tmp = ishft(pack_tmp, -43)
47199 data_tmp = ishft(pack_tmp, 36)
47201 pack_tmp = packed_data(ipack)
47202 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
47203 pack_tmp = ishft(pack_tmp, -36)
47205 data_tmp = ishft(pack_tmp, 29)
47207 pack_tmp = packed_data(ipack)
47208 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
47209 pack_tmp = ishft(pack_tmp, -29)
47211 data_tmp = ishft(pack_tmp, 22)
47213 pack_tmp = packed_data(ipack)
47214 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
47215 pack_tmp = ishft(pack_tmp, -22)
47217 data_tmp = ishft(pack_tmp, 15)
47219 pack_tmp = packed_data(ipack)
47220 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
47221 pack_tmp = ishft(pack_tmp, -15)
47223 data_tmp = ishft(pack_tmp, 8)
47225 pack_tmp = packed_data(ipack)
47226 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
47227 pack_tmp = ishft(pack_tmp, -8)
47229 data_tmp = ishft(pack_tmp, 1)
47231 pack_tmp = packed_data(ipack)
47232 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
47233 pack_tmp = ishft(pack_tmp, -1)
47235 data_tmp = iand(pack_tmp, mask_right(nbits))
47236 full_data(idata) = data_tmp
47237 pack_tmp = ishft(pack_tmp, -nbits)
47239 data_tmp = ishft(pack_tmp, 51)
47241 pack_tmp = packed_data(ipack)
47242 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(51)))
47243 pack_tmp = ishft(pack_tmp, -51)
47245 data_tmp = ishft(pack_tmp, 44)
47247 pack_tmp = packed_data(ipack)
47248 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
47249 pack_tmp = ishft(pack_tmp, -44)
47251 data_tmp = ishft(pack_tmp, 37)
47253 pack_tmp = packed_data(ipack)
47254 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
47255 pack_tmp = ishft(pack_tmp, -37)
47257 data_tmp = ishft(pack_tmp, 30)
47259 pack_tmp = packed_data(ipack)
47260 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
47261 pack_tmp = ishft(pack_tmp, -30)
47263 data_tmp = ishft(pack_tmp, 23)
47265 pack_tmp = packed_data(ipack)
47266 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
47267 pack_tmp = ishft(pack_tmp, -23)
47269 data_tmp = ishft(pack_tmp, 16)
47271 pack_tmp = packed_data(ipack)
47272 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
47273 pack_tmp = ishft(pack_tmp, -16)
47275 data_tmp = ishft(pack_tmp, 9)
47277 pack_tmp = packed_data(ipack)
47278 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
47279 pack_tmp = ishft(pack_tmp, -9)
47281 data_tmp = ishft(pack_tmp, 2)
47283 pack_tmp = packed_data(ipack)
47284 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
47285 pack_tmp = ishft(pack_tmp, -2)
47287 data_tmp = iand(pack_tmp, mask_right(nbits))
47288 full_data(idata) = data_tmp
47289 pack_tmp = ishft(pack_tmp, -nbits)
47291 data_tmp = ishft(pack_tmp, 52)
47293 pack_tmp = packed_data(ipack)
47294 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
47295 pack_tmp = ishft(pack_tmp, -52)
47297 data_tmp = ishft(pack_tmp, 45)
47299 pack_tmp = packed_data(ipack)
47300 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
47301 pack_tmp = ishft(pack_tmp, -45)
47303 data_tmp = ishft(pack_tmp, 38)
47305 pack_tmp = packed_data(ipack)
47306 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
47307 pack_tmp = ishft(pack_tmp, -38)
47309 data_tmp = ishft(pack_tmp, 31)
47311 pack_tmp = packed_data(ipack)
47312 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
47313 pack_tmp = ishft(pack_tmp, -31)
47315 data_tmp = ishft(pack_tmp, 24)
47317 pack_tmp = packed_data(ipack)
47318 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
47319 pack_tmp = ishft(pack_tmp, -24)
47321 data_tmp = ishft(pack_tmp, 17)
47323 pack_tmp = packed_data(ipack)
47324 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
47325 pack_tmp = ishft(pack_tmp, -17)
47327 data_tmp = ishft(pack_tmp, 10)
47329 pack_tmp = packed_data(ipack)
47330 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
47331 pack_tmp = ishft(pack_tmp, -10)
47333 data_tmp = ishft(pack_tmp, 3)
47335 pack_tmp = packed_data(ipack)
47336 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
47337 pack_tmp = ishft(pack_tmp, -3)
47339 data_tmp = iand(pack_tmp, mask_right(nbits))
47340 full_data(idata) = data_tmp
47341 pack_tmp = ishft(pack_tmp, -nbits)
47343 data_tmp = ishft(pack_tmp, 53)
47345 pack_tmp = packed_data(ipack)
47346 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(53)))
47347 pack_tmp = ishft(pack_tmp, -53)
47349 data_tmp = ishft(pack_tmp, 46)
47351 pack_tmp = packed_data(ipack)
47352 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
47353 pack_tmp = ishft(pack_tmp, -46)
47355 data_tmp = ishft(pack_tmp, 39)
47357 pack_tmp = packed_data(ipack)
47358 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
47359 pack_tmp = ishft(pack_tmp, -39)
47361 data_tmp = ishft(pack_tmp, 32)
47363 pack_tmp = packed_data(ipack)
47364 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
47365 pack_tmp = ishft(pack_tmp, -32)
47367 data_tmp = ishft(pack_tmp, 25)
47369 pack_tmp = packed_data(ipack)
47370 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
47371 pack_tmp = ishft(pack_tmp, -25)
47373 data_tmp = ishft(pack_tmp, 18)
47375 pack_tmp = packed_data(ipack)
47376 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
47377 pack_tmp = ishft(pack_tmp, -18)
47379 data_tmp = ishft(pack_tmp, 11)
47381 pack_tmp = packed_data(ipack)
47382 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
47383 pack_tmp = ishft(pack_tmp, -11)
47385 data_tmp = ishft(pack_tmp, 4)
47387 pack_tmp = packed_data(ipack)
47388 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
47389 pack_tmp = ishft(pack_tmp, -4)
47391 data_tmp = iand(pack_tmp, mask_right(nbits))
47392 full_data(idata) = data_tmp
47393 pack_tmp = ishft(pack_tmp, -nbits)
47395 data_tmp = ishft(pack_tmp, 54)
47397 pack_tmp = packed_data(ipack)
47398 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
47399 pack_tmp = ishft(pack_tmp, -54)
47401 data_tmp = ishft(pack_tmp, 47)
47403 pack_tmp = packed_data(ipack)
47404 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
47405 pack_tmp = ishft(pack_tmp, -47)
47407 data_tmp = ishft(pack_tmp, 40)
47409 pack_tmp = packed_data(ipack)
47410 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
47411 pack_tmp = ishft(pack_tmp, -40)
47413 data_tmp = ishft(pack_tmp, 33)
47415 pack_tmp = packed_data(ipack)
47416 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
47417 pack_tmp = ishft(pack_tmp, -33)
47419 data_tmp = ishft(pack_tmp, 26)
47421 pack_tmp = packed_data(ipack)
47422 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
47423 pack_tmp = ishft(pack_tmp, -26)
47425 data_tmp = ishft(pack_tmp, 19)
47427 pack_tmp = packed_data(ipack)
47428 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
47429 pack_tmp = ishft(pack_tmp, -19)
47431 data_tmp = ishft(pack_tmp, 12)
47433 pack_tmp = packed_data(ipack)
47434 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
47435 pack_tmp = ishft(pack_tmp, -12)
47437 data_tmp = ishft(pack_tmp, 5)
47439 pack_tmp = packed_data(ipack)
47440 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
47441 pack_tmp = ishft(pack_tmp, -5)
47443 data_tmp = iand(pack_tmp, mask_right(nbits))
47444 full_data(idata) = data_tmp
47445 pack_tmp = ishft(pack_tmp, -nbits)
47447 data_tmp = ishft(pack_tmp, 55)
47449 pack_tmp = packed_data(ipack)
47450 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(55)))
47451 pack_tmp = ishft(pack_tmp, -55)
47453 data_tmp = ishft(pack_tmp, 48)
47455 pack_tmp = packed_data(ipack)
47456 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
47457 pack_tmp = ishft(pack_tmp, -48)
47459 data_tmp = ishft(pack_tmp, 41)
47461 pack_tmp = packed_data(ipack)
47462 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
47463 pack_tmp = ishft(pack_tmp, -41)
47465 data_tmp = ishft(pack_tmp, 34)
47467 pack_tmp = packed_data(ipack)
47468 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
47469 pack_tmp = ishft(pack_tmp, -34)
47471 data_tmp = ishft(pack_tmp, 27)
47473 pack_tmp = packed_data(ipack)
47474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
47475 pack_tmp = ishft(pack_tmp, -27)
47477 data_tmp = ishft(pack_tmp, 20)
47479 pack_tmp = packed_data(ipack)
47480 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
47481 pack_tmp = ishft(pack_tmp, -20)
47483 data_tmp = ishft(pack_tmp, 13)
47485 pack_tmp = packed_data(ipack)
47486 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
47487 pack_tmp = ishft(pack_tmp, -13)
47489 data_tmp = ishft(pack_tmp, 6)
47491 pack_tmp = packed_data(ipack)
47492 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
47493 pack_tmp = ishft(pack_tmp, -6)
47495 data_tmp = iand(pack_tmp, mask_right(nbits))
47496 full_data(idata) = data_tmp
47497 pack_tmp = ishft(pack_tmp, -nbits)
47499 data_tmp = ishft(pack_tmp, 56)
47501 pack_tmp = packed_data(ipack)
47502 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
47503 pack_tmp = ishft(pack_tmp, -56)
47505 data_tmp = ishft(pack_tmp, 49)
47507 pack_tmp = packed_data(ipack)
47508 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
47509 pack_tmp = ishft(pack_tmp, -49)
47511 data_tmp = ishft(pack_tmp, 42)
47513 pack_tmp = packed_data(ipack)
47514 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
47515 pack_tmp = ishft(pack_tmp, -42)
47517 data_tmp = ishft(pack_tmp, 35)
47519 pack_tmp = packed_data(ipack)
47520 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
47521 pack_tmp = ishft(pack_tmp, -35)
47523 data_tmp = ishft(pack_tmp, 28)
47525 pack_tmp = packed_data(ipack)
47526 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
47527 pack_tmp = ishft(pack_tmp, -28)
47529 data_tmp = ishft(pack_tmp, 21)
47531 pack_tmp = packed_data(ipack)
47532 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
47533 pack_tmp = ishft(pack_tmp, -21)
47535 data_tmp = ishft(pack_tmp, 14)
47537 pack_tmp = packed_data(ipack)
47538 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
47539 pack_tmp = ishft(pack_tmp, -14)
47541 data_tmp = ishft(pack_tmp, 7)
47543 pack_tmp = packed_data(ipack)
47544 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
47545 pack_tmp = ishft(pack_tmp, -7)
47547 data_tmp = iand(pack_tmp, mask_right(nbits))
47548 full_data(idata) = data_tmp
47549 pack_tmp = ishft(pack_tmp, -nbits)
47551 IF (ndata_rep < ndata)
THEN
47552 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
47554 END SUBROUTINE bits2ints_57
47562 SUBROUTINE ints2bits_58(Ndata, packed_data, full_data)
47563 INTEGER,
INTENT(IN) :: Ndata
47564 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
47565 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
47567 INTEGER,
PARAMETER :: Nbits = 58
47569 INTEGER :: idata, ipack, kdata, Ndata_rep
47570 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
47574 ndata_rep = (ndata/64)*64
47575 DO kdata = 1, ndata_rep, 64
47578 data_tmp = full_data(idata)
47579 data_tmp = ishft(data_tmp, 6)
47580 pack_tmp = ior(pack_tmp, data_tmp)
47581 pack_tmp = ishft(pack_tmp, -6)
47583 data_tmp = full_data(idata)
47584 data_tmp = ishft(data_tmp, 6)
47585 data_tmp = iand(data_tmp, mask_left(6))
47586 pack_tmp = ior(pack_tmp, data_tmp)
47588 packed_data(ipack) = pack_tmp
47589 data_tmp = full_data(idata)
47590 pack_tmp = ishft(data_tmp, 12)
47591 pack_tmp = ishft(pack_tmp, -12)
47593 data_tmp = full_data(idata)
47594 data_tmp = ishft(data_tmp, 6)
47595 data_tmp = iand(data_tmp, mask_left(12))
47596 pack_tmp = ior(pack_tmp, data_tmp)
47598 packed_data(ipack) = pack_tmp
47599 data_tmp = full_data(idata)
47600 pack_tmp = ishft(data_tmp, 18)
47601 pack_tmp = ishft(pack_tmp, -18)
47603 data_tmp = full_data(idata)
47604 data_tmp = ishft(data_tmp, 6)
47605 data_tmp = iand(data_tmp, mask_left(18))
47606 pack_tmp = ior(pack_tmp, data_tmp)
47608 packed_data(ipack) = pack_tmp
47609 data_tmp = full_data(idata)
47610 pack_tmp = ishft(data_tmp, 24)
47611 pack_tmp = ishft(pack_tmp, -24)
47613 data_tmp = full_data(idata)
47614 data_tmp = ishft(data_tmp, 6)
47615 data_tmp = iand(data_tmp, mask_left(24))
47616 pack_tmp = ior(pack_tmp, data_tmp)
47618 packed_data(ipack) = pack_tmp
47619 data_tmp = full_data(idata)
47620 pack_tmp = ishft(data_tmp, 30)
47621 pack_tmp = ishft(pack_tmp, -30)
47623 data_tmp = full_data(idata)
47624 data_tmp = ishft(data_tmp, 6)
47625 data_tmp = iand(data_tmp, mask_left(30))
47626 pack_tmp = ior(pack_tmp, data_tmp)
47628 packed_data(ipack) = pack_tmp
47629 data_tmp = full_data(idata)
47630 pack_tmp = ishft(data_tmp, 36)
47631 pack_tmp = ishft(pack_tmp, -36)
47633 data_tmp = full_data(idata)
47634 data_tmp = ishft(data_tmp, 6)
47635 data_tmp = iand(data_tmp, mask_left(36))
47636 pack_tmp = ior(pack_tmp, data_tmp)
47638 packed_data(ipack) = pack_tmp
47639 data_tmp = full_data(idata)
47640 pack_tmp = ishft(data_tmp, 42)
47641 pack_tmp = ishft(pack_tmp, -42)
47643 data_tmp = full_data(idata)
47644 data_tmp = ishft(data_tmp, 6)
47645 data_tmp = iand(data_tmp, mask_left(42))
47646 pack_tmp = ior(pack_tmp, data_tmp)
47648 packed_data(ipack) = pack_tmp
47649 data_tmp = full_data(idata)
47650 pack_tmp = ishft(data_tmp, 48)
47651 pack_tmp = ishft(pack_tmp, -48)
47653 data_tmp = full_data(idata)
47654 data_tmp = ishft(data_tmp, 6)
47655 data_tmp = iand(data_tmp, mask_left(48))
47656 pack_tmp = ior(pack_tmp, data_tmp)
47658 packed_data(ipack) = pack_tmp
47659 data_tmp = full_data(idata)
47660 pack_tmp = ishft(data_tmp, 54)
47661 pack_tmp = ishft(pack_tmp, -54)
47663 data_tmp = full_data(idata)
47664 data_tmp = ishft(data_tmp, 6)
47665 data_tmp = iand(data_tmp, mask_left(54))
47666 pack_tmp = ior(pack_tmp, data_tmp)
47668 packed_data(ipack) = pack_tmp
47669 data_tmp = full_data(idata)
47670 pack_tmp = ishft(data_tmp, 60)
47671 pack_tmp = ishft(pack_tmp, -58)
47673 data_tmp = full_data(idata)
47674 data_tmp = ishft(data_tmp, 6)
47675 pack_tmp = ior(pack_tmp, data_tmp)
47676 pack_tmp = ishft(pack_tmp, -2)
47678 data_tmp = full_data(idata)
47679 data_tmp = ishft(data_tmp, 6)
47680 data_tmp = iand(data_tmp, mask_left(2))
47681 pack_tmp = ior(pack_tmp, data_tmp)
47683 packed_data(ipack) = pack_tmp
47684 data_tmp = full_data(idata)
47685 pack_tmp = ishft(data_tmp, 8)
47686 pack_tmp = ishft(pack_tmp, -8)
47688 data_tmp = full_data(idata)
47689 data_tmp = ishft(data_tmp, 6)
47690 data_tmp = iand(data_tmp, mask_left(8))
47691 pack_tmp = ior(pack_tmp, data_tmp)
47693 packed_data(ipack) = pack_tmp
47694 data_tmp = full_data(idata)
47695 pack_tmp = ishft(data_tmp, 14)
47696 pack_tmp = ishft(pack_tmp, -14)
47698 data_tmp = full_data(idata)
47699 data_tmp = ishft(data_tmp, 6)
47700 data_tmp = iand(data_tmp, mask_left(14))
47701 pack_tmp = ior(pack_tmp, data_tmp)
47703 packed_data(ipack) = pack_tmp
47704 data_tmp = full_data(idata)
47705 pack_tmp = ishft(data_tmp, 20)
47706 pack_tmp = ishft(pack_tmp, -20)
47708 data_tmp = full_data(idata)
47709 data_tmp = ishft(data_tmp, 6)
47710 data_tmp = iand(data_tmp, mask_left(20))
47711 pack_tmp = ior(pack_tmp, data_tmp)
47713 packed_data(ipack) = pack_tmp
47714 data_tmp = full_data(idata)
47715 pack_tmp = ishft(data_tmp, 26)
47716 pack_tmp = ishft(pack_tmp, -26)
47718 data_tmp = full_data(idata)
47719 data_tmp = ishft(data_tmp, 6)
47720 data_tmp = iand(data_tmp, mask_left(26))
47721 pack_tmp = ior(pack_tmp, data_tmp)
47723 packed_data(ipack) = pack_tmp
47724 data_tmp = full_data(idata)
47725 pack_tmp = ishft(data_tmp, 32)
47726 pack_tmp = ishft(pack_tmp, -32)
47728 data_tmp = full_data(idata)
47729 data_tmp = ishft(data_tmp, 6)
47730 data_tmp = iand(data_tmp, mask_left(32))
47731 pack_tmp = ior(pack_tmp, data_tmp)
47733 packed_data(ipack) = pack_tmp
47734 data_tmp = full_data(idata)
47735 pack_tmp = ishft(data_tmp, 38)
47736 pack_tmp = ishft(pack_tmp, -38)
47738 data_tmp = full_data(idata)
47739 data_tmp = ishft(data_tmp, 6)
47740 data_tmp = iand(data_tmp, mask_left(38))
47741 pack_tmp = ior(pack_tmp, data_tmp)
47743 packed_data(ipack) = pack_tmp
47744 data_tmp = full_data(idata)
47745 pack_tmp = ishft(data_tmp, 44)
47746 pack_tmp = ishft(pack_tmp, -44)
47748 data_tmp = full_data(idata)
47749 data_tmp = ishft(data_tmp, 6)
47750 data_tmp = iand(data_tmp, mask_left(44))
47751 pack_tmp = ior(pack_tmp, data_tmp)
47753 packed_data(ipack) = pack_tmp
47754 data_tmp = full_data(idata)
47755 pack_tmp = ishft(data_tmp, 50)
47756 pack_tmp = ishft(pack_tmp, -50)
47758 data_tmp = full_data(idata)
47759 data_tmp = ishft(data_tmp, 6)
47760 data_tmp = iand(data_tmp, mask_left(50))
47761 pack_tmp = ior(pack_tmp, data_tmp)
47763 packed_data(ipack) = pack_tmp
47764 data_tmp = full_data(idata)
47765 pack_tmp = ishft(data_tmp, 56)
47766 pack_tmp = ishft(pack_tmp, -56)
47768 data_tmp = full_data(idata)
47769 data_tmp = ishft(data_tmp, 6)
47770 data_tmp = iand(data_tmp, mask_left(56))
47771 pack_tmp = ior(pack_tmp, data_tmp)
47773 packed_data(ipack) = pack_tmp
47774 data_tmp = full_data(idata)
47775 pack_tmp = ishft(data_tmp, 62)
47776 pack_tmp = ishft(pack_tmp, -58)
47778 data_tmp = full_data(idata)
47779 data_tmp = ishft(data_tmp, 6)
47780 pack_tmp = ior(pack_tmp, data_tmp)
47781 pack_tmp = ishft(pack_tmp, -4)
47783 data_tmp = full_data(idata)
47784 data_tmp = ishft(data_tmp, 6)
47785 data_tmp = iand(data_tmp, mask_left(4))
47786 pack_tmp = ior(pack_tmp, data_tmp)
47788 packed_data(ipack) = pack_tmp
47789 data_tmp = full_data(idata)
47790 pack_tmp = ishft(data_tmp, 10)
47791 pack_tmp = ishft(pack_tmp, -10)
47793 data_tmp = full_data(idata)
47794 data_tmp = ishft(data_tmp, 6)
47795 data_tmp = iand(data_tmp, mask_left(10))
47796 pack_tmp = ior(pack_tmp, data_tmp)
47798 packed_data(ipack) = pack_tmp
47799 data_tmp = full_data(idata)
47800 pack_tmp = ishft(data_tmp, 16)
47801 pack_tmp = ishft(pack_tmp, -16)
47803 data_tmp = full_data(idata)
47804 data_tmp = ishft(data_tmp, 6)
47805 data_tmp = iand(data_tmp, mask_left(16))
47806 pack_tmp = ior(pack_tmp, data_tmp)
47808 packed_data(ipack) = pack_tmp
47809 data_tmp = full_data(idata)
47810 pack_tmp = ishft(data_tmp, 22)
47811 pack_tmp = ishft(pack_tmp, -22)
47813 data_tmp = full_data(idata)
47814 data_tmp = ishft(data_tmp, 6)
47815 data_tmp = iand(data_tmp, mask_left(22))
47816 pack_tmp = ior(pack_tmp, data_tmp)
47818 packed_data(ipack) = pack_tmp
47819 data_tmp = full_data(idata)
47820 pack_tmp = ishft(data_tmp, 28)
47821 pack_tmp = ishft(pack_tmp, -28)
47823 data_tmp = full_data(idata)
47824 data_tmp = ishft(data_tmp, 6)
47825 data_tmp = iand(data_tmp, mask_left(28))
47826 pack_tmp = ior(pack_tmp, data_tmp)
47828 packed_data(ipack) = pack_tmp
47829 data_tmp = full_data(idata)
47830 pack_tmp = ishft(data_tmp, 34)
47831 pack_tmp = ishft(pack_tmp, -34)
47833 data_tmp = full_data(idata)
47834 data_tmp = ishft(data_tmp, 6)
47835 data_tmp = iand(data_tmp, mask_left(34))
47836 pack_tmp = ior(pack_tmp, data_tmp)
47838 packed_data(ipack) = pack_tmp
47839 data_tmp = full_data(idata)
47840 pack_tmp = ishft(data_tmp, 40)
47841 pack_tmp = ishft(pack_tmp, -40)
47843 data_tmp = full_data(idata)
47844 data_tmp = ishft(data_tmp, 6)
47845 data_tmp = iand(data_tmp, mask_left(40))
47846 pack_tmp = ior(pack_tmp, data_tmp)
47848 packed_data(ipack) = pack_tmp
47849 data_tmp = full_data(idata)
47850 pack_tmp = ishft(data_tmp, 46)
47851 pack_tmp = ishft(pack_tmp, -46)
47853 data_tmp = full_data(idata)
47854 data_tmp = ishft(data_tmp, 6)
47855 data_tmp = iand(data_tmp, mask_left(46))
47856 pack_tmp = ior(pack_tmp, data_tmp)
47858 packed_data(ipack) = pack_tmp
47859 data_tmp = full_data(idata)
47860 pack_tmp = ishft(data_tmp, 52)
47861 pack_tmp = ishft(pack_tmp, -52)
47863 data_tmp = full_data(idata)
47864 data_tmp = ishft(data_tmp, 6)
47865 data_tmp = iand(data_tmp, mask_left(52))
47866 pack_tmp = ior(pack_tmp, data_tmp)
47868 packed_data(ipack) = pack_tmp
47869 data_tmp = full_data(idata)
47870 pack_tmp = ishft(data_tmp, 58)
47871 pack_tmp = ishft(pack_tmp, -58)
47873 data_tmp = full_data(idata)
47874 data_tmp = ishft(data_tmp, 6)
47875 pack_tmp = ior(pack_tmp, data_tmp)
47876 pack_tmp = ishft(pack_tmp, 0)
47878 data_tmp = full_data(idata)
47879 data_tmp = ishft(data_tmp, 6)
47880 data_tmp = iand(data_tmp, mask_left(0))
47881 pack_tmp = ior(pack_tmp, data_tmp)
47883 packed_data(ipack) = pack_tmp
47884 data_tmp = full_data(idata)
47885 pack_tmp = ishft(data_tmp, 6)
47886 pack_tmp = ishft(pack_tmp, -6)
47888 data_tmp = full_data(idata)
47889 data_tmp = ishft(data_tmp, 6)
47890 data_tmp = iand(data_tmp, mask_left(6))
47891 pack_tmp = ior(pack_tmp, data_tmp)
47893 packed_data(ipack) = pack_tmp
47894 data_tmp = full_data(idata)
47895 pack_tmp = ishft(data_tmp, 12)
47896 pack_tmp = ishft(pack_tmp, -12)
47898 data_tmp = full_data(idata)
47899 data_tmp = ishft(data_tmp, 6)
47900 data_tmp = iand(data_tmp, mask_left(12))
47901 pack_tmp = ior(pack_tmp, data_tmp)
47903 packed_data(ipack) = pack_tmp
47904 data_tmp = full_data(idata)
47905 pack_tmp = ishft(data_tmp, 18)
47906 pack_tmp = ishft(pack_tmp, -18)
47908 data_tmp = full_data(idata)
47909 data_tmp = ishft(data_tmp, 6)
47910 data_tmp = iand(data_tmp, mask_left(18))
47911 pack_tmp = ior(pack_tmp, data_tmp)
47913 packed_data(ipack) = pack_tmp
47914 data_tmp = full_data(idata)
47915 pack_tmp = ishft(data_tmp, 24)
47916 pack_tmp = ishft(pack_tmp, -24)
47918 data_tmp = full_data(idata)
47919 data_tmp = ishft(data_tmp, 6)
47920 data_tmp = iand(data_tmp, mask_left(24))
47921 pack_tmp = ior(pack_tmp, data_tmp)
47923 packed_data(ipack) = pack_tmp
47924 data_tmp = full_data(idata)
47925 pack_tmp = ishft(data_tmp, 30)
47926 pack_tmp = ishft(pack_tmp, -30)
47928 data_tmp = full_data(idata)
47929 data_tmp = ishft(data_tmp, 6)
47930 data_tmp = iand(data_tmp, mask_left(30))
47931 pack_tmp = ior(pack_tmp, data_tmp)
47933 packed_data(ipack) = pack_tmp
47934 data_tmp = full_data(idata)
47935 pack_tmp = ishft(data_tmp, 36)
47936 pack_tmp = ishft(pack_tmp, -36)
47938 data_tmp = full_data(idata)
47939 data_tmp = ishft(data_tmp, 6)
47940 data_tmp = iand(data_tmp, mask_left(36))
47941 pack_tmp = ior(pack_tmp, data_tmp)
47943 packed_data(ipack) = pack_tmp
47944 data_tmp = full_data(idata)
47945 pack_tmp = ishft(data_tmp, 42)
47946 pack_tmp = ishft(pack_tmp, -42)
47948 data_tmp = full_data(idata)
47949 data_tmp = ishft(data_tmp, 6)
47950 data_tmp = iand(data_tmp, mask_left(42))
47951 pack_tmp = ior(pack_tmp, data_tmp)
47953 packed_data(ipack) = pack_tmp
47954 data_tmp = full_data(idata)
47955 pack_tmp = ishft(data_tmp, 48)
47956 pack_tmp = ishft(pack_tmp, -48)
47958 data_tmp = full_data(idata)
47959 data_tmp = ishft(data_tmp, 6)
47960 data_tmp = iand(data_tmp, mask_left(48))
47961 pack_tmp = ior(pack_tmp, data_tmp)
47963 packed_data(ipack) = pack_tmp
47964 data_tmp = full_data(idata)
47965 pack_tmp = ishft(data_tmp, 54)
47966 pack_tmp = ishft(pack_tmp, -54)
47968 data_tmp = full_data(idata)
47969 data_tmp = ishft(data_tmp, 6)
47970 data_tmp = iand(data_tmp, mask_left(54))
47971 pack_tmp = ior(pack_tmp, data_tmp)
47973 packed_data(ipack) = pack_tmp
47974 data_tmp = full_data(idata)
47975 pack_tmp = ishft(data_tmp, 60)
47976 pack_tmp = ishft(pack_tmp, -58)
47978 data_tmp = full_data(idata)
47979 data_tmp = ishft(data_tmp, 6)
47980 pack_tmp = ior(pack_tmp, data_tmp)
47981 pack_tmp = ishft(pack_tmp, -2)
47983 data_tmp = full_data(idata)
47984 data_tmp = ishft(data_tmp, 6)
47985 data_tmp = iand(data_tmp, mask_left(2))
47986 pack_tmp = ior(pack_tmp, data_tmp)
47988 packed_data(ipack) = pack_tmp
47989 data_tmp = full_data(idata)
47990 pack_tmp = ishft(data_tmp, 8)
47991 pack_tmp = ishft(pack_tmp, -8)
47993 data_tmp = full_data(idata)
47994 data_tmp = ishft(data_tmp, 6)
47995 data_tmp = iand(data_tmp, mask_left(8))
47996 pack_tmp = ior(pack_tmp, data_tmp)
47998 packed_data(ipack) = pack_tmp
47999 data_tmp = full_data(idata)
48000 pack_tmp = ishft(data_tmp, 14)
48001 pack_tmp = ishft(pack_tmp, -14)
48003 data_tmp = full_data(idata)
48004 data_tmp = ishft(data_tmp, 6)
48005 data_tmp = iand(data_tmp, mask_left(14))
48006 pack_tmp = ior(pack_tmp, data_tmp)
48008 packed_data(ipack) = pack_tmp
48009 data_tmp = full_data(idata)
48010 pack_tmp = ishft(data_tmp, 20)
48011 pack_tmp = ishft(pack_tmp, -20)
48013 data_tmp = full_data(idata)
48014 data_tmp = ishft(data_tmp, 6)
48015 data_tmp = iand(data_tmp, mask_left(20))
48016 pack_tmp = ior(pack_tmp, data_tmp)
48018 packed_data(ipack) = pack_tmp
48019 data_tmp = full_data(idata)
48020 pack_tmp = ishft(data_tmp, 26)
48021 pack_tmp = ishft(pack_tmp, -26)
48023 data_tmp = full_data(idata)
48024 data_tmp = ishft(data_tmp, 6)
48025 data_tmp = iand(data_tmp, mask_left(26))
48026 pack_tmp = ior(pack_tmp, data_tmp)
48028 packed_data(ipack) = pack_tmp
48029 data_tmp = full_data(idata)
48030 pack_tmp = ishft(data_tmp, 32)
48031 pack_tmp = ishft(pack_tmp, -32)
48033 data_tmp = full_data(idata)
48034 data_tmp = ishft(data_tmp, 6)
48035 data_tmp = iand(data_tmp, mask_left(32))
48036 pack_tmp = ior(pack_tmp, data_tmp)
48038 packed_data(ipack) = pack_tmp
48039 data_tmp = full_data(idata)
48040 pack_tmp = ishft(data_tmp, 38)
48041 pack_tmp = ishft(pack_tmp, -38)
48043 data_tmp = full_data(idata)
48044 data_tmp = ishft(data_tmp, 6)
48045 data_tmp = iand(data_tmp, mask_left(38))
48046 pack_tmp = ior(pack_tmp, data_tmp)
48048 packed_data(ipack) = pack_tmp
48049 data_tmp = full_data(idata)
48050 pack_tmp = ishft(data_tmp, 44)
48051 pack_tmp = ishft(pack_tmp, -44)
48053 data_tmp = full_data(idata)
48054 data_tmp = ishft(data_tmp, 6)
48055 data_tmp = iand(data_tmp, mask_left(44))
48056 pack_tmp = ior(pack_tmp, data_tmp)
48058 packed_data(ipack) = pack_tmp
48059 data_tmp = full_data(idata)
48060 pack_tmp = ishft(data_tmp, 50)
48061 pack_tmp = ishft(pack_tmp, -50)
48063 data_tmp = full_data(idata)
48064 data_tmp = ishft(data_tmp, 6)
48065 data_tmp = iand(data_tmp, mask_left(50))
48066 pack_tmp = ior(pack_tmp, data_tmp)
48068 packed_data(ipack) = pack_tmp
48069 data_tmp = full_data(idata)
48070 pack_tmp = ishft(data_tmp, 56)
48071 pack_tmp = ishft(pack_tmp, -56)
48073 data_tmp = full_data(idata)
48074 data_tmp = ishft(data_tmp, 6)
48075 data_tmp = iand(data_tmp, mask_left(56))
48076 pack_tmp = ior(pack_tmp, data_tmp)
48078 packed_data(ipack) = pack_tmp
48079 data_tmp = full_data(idata)
48080 pack_tmp = ishft(data_tmp, 62)
48081 pack_tmp = ishft(pack_tmp, -58)
48083 data_tmp = full_data(idata)
48084 data_tmp = ishft(data_tmp, 6)
48085 pack_tmp = ior(pack_tmp, data_tmp)
48086 pack_tmp = ishft(pack_tmp, -4)
48088 data_tmp = full_data(idata)
48089 data_tmp = ishft(data_tmp, 6)
48090 data_tmp = iand(data_tmp, mask_left(4))
48091 pack_tmp = ior(pack_tmp, data_tmp)
48093 packed_data(ipack) = pack_tmp
48094 data_tmp = full_data(idata)
48095 pack_tmp = ishft(data_tmp, 10)
48096 pack_tmp = ishft(pack_tmp, -10)
48098 data_tmp = full_data(idata)
48099 data_tmp = ishft(data_tmp, 6)
48100 data_tmp = iand(data_tmp, mask_left(10))
48101 pack_tmp = ior(pack_tmp, data_tmp)
48103 packed_data(ipack) = pack_tmp
48104 data_tmp = full_data(idata)
48105 pack_tmp = ishft(data_tmp, 16)
48106 pack_tmp = ishft(pack_tmp, -16)
48108 data_tmp = full_data(idata)
48109 data_tmp = ishft(data_tmp, 6)
48110 data_tmp = iand(data_tmp, mask_left(16))
48111 pack_tmp = ior(pack_tmp, data_tmp)
48113 packed_data(ipack) = pack_tmp
48114 data_tmp = full_data(idata)
48115 pack_tmp = ishft(data_tmp, 22)
48116 pack_tmp = ishft(pack_tmp, -22)
48118 data_tmp = full_data(idata)
48119 data_tmp = ishft(data_tmp, 6)
48120 data_tmp = iand(data_tmp, mask_left(22))
48121 pack_tmp = ior(pack_tmp, data_tmp)
48123 packed_data(ipack) = pack_tmp
48124 data_tmp = full_data(idata)
48125 pack_tmp = ishft(data_tmp, 28)
48126 pack_tmp = ishft(pack_tmp, -28)
48128 data_tmp = full_data(idata)
48129 data_tmp = ishft(data_tmp, 6)
48130 data_tmp = iand(data_tmp, mask_left(28))
48131 pack_tmp = ior(pack_tmp, data_tmp)
48133 packed_data(ipack) = pack_tmp
48134 data_tmp = full_data(idata)
48135 pack_tmp = ishft(data_tmp, 34)
48136 pack_tmp = ishft(pack_tmp, -34)
48138 data_tmp = full_data(idata)
48139 data_tmp = ishft(data_tmp, 6)
48140 data_tmp = iand(data_tmp, mask_left(34))
48141 pack_tmp = ior(pack_tmp, data_tmp)
48143 packed_data(ipack) = pack_tmp
48144 data_tmp = full_data(idata)
48145 pack_tmp = ishft(data_tmp, 40)
48146 pack_tmp = ishft(pack_tmp, -40)
48148 data_tmp = full_data(idata)
48149 data_tmp = ishft(data_tmp, 6)
48150 data_tmp = iand(data_tmp, mask_left(40))
48151 pack_tmp = ior(pack_tmp, data_tmp)
48153 packed_data(ipack) = pack_tmp
48154 data_tmp = full_data(idata)
48155 pack_tmp = ishft(data_tmp, 46)
48156 pack_tmp = ishft(pack_tmp, -46)
48158 data_tmp = full_data(idata)
48159 data_tmp = ishft(data_tmp, 6)
48160 data_tmp = iand(data_tmp, mask_left(46))
48161 pack_tmp = ior(pack_tmp, data_tmp)
48163 packed_data(ipack) = pack_tmp
48164 data_tmp = full_data(idata)
48165 pack_tmp = ishft(data_tmp, 52)
48166 pack_tmp = ishft(pack_tmp, -52)
48168 data_tmp = full_data(idata)
48169 data_tmp = ishft(data_tmp, 6)
48170 data_tmp = iand(data_tmp, mask_left(52))
48171 pack_tmp = ior(pack_tmp, data_tmp)
48173 packed_data(ipack) = pack_tmp
48174 data_tmp = full_data(idata)
48175 pack_tmp = ishft(data_tmp, 58)
48176 pack_tmp = ishft(pack_tmp, -58)
48178 data_tmp = full_data(idata)
48179 data_tmp = ishft(data_tmp, 6)
48180 pack_tmp = ior(pack_tmp, data_tmp)
48181 pack_tmp = ishft(pack_tmp, 0)
48182 pack_tmp = ishft(pack_tmp, 0)
48184 packed_data(ipack) = pack_tmp
48186 IF (ndata_rep < ndata)
THEN
48187 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
48189 END SUBROUTINE ints2bits_58
48197 SUBROUTINE bits2ints_58(Ndata, packed_data, full_data)
48198 INTEGER,
INTENT(IN) :: Ndata
48199 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
48200 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
48202 INTEGER,
PARAMETER :: Nbits = 58
48204 INTEGER :: idata, ipack, kdata, Ndata_rep
48205 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
48210 ndata_rep = (ndata/64)*64
48211 DO kdata = 1, ndata_rep, 64
48213 data_tmp = ishft(pack_tmp, 58)
48215 pack_tmp = packed_data(ipack)
48216 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(58)))
48217 pack_tmp = ishft(pack_tmp, -58)
48219 data_tmp = ishft(pack_tmp, 52)
48221 pack_tmp = packed_data(ipack)
48222 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
48223 pack_tmp = ishft(pack_tmp, -52)
48225 data_tmp = ishft(pack_tmp, 46)
48227 pack_tmp = packed_data(ipack)
48228 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
48229 pack_tmp = ishft(pack_tmp, -46)
48231 data_tmp = ishft(pack_tmp, 40)
48233 pack_tmp = packed_data(ipack)
48234 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
48235 pack_tmp = ishft(pack_tmp, -40)
48237 data_tmp = ishft(pack_tmp, 34)
48239 pack_tmp = packed_data(ipack)
48240 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
48241 pack_tmp = ishft(pack_tmp, -34)
48243 data_tmp = ishft(pack_tmp, 28)
48245 pack_tmp = packed_data(ipack)
48246 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
48247 pack_tmp = ishft(pack_tmp, -28)
48249 data_tmp = ishft(pack_tmp, 22)
48251 pack_tmp = packed_data(ipack)
48252 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
48253 pack_tmp = ishft(pack_tmp, -22)
48255 data_tmp = ishft(pack_tmp, 16)
48257 pack_tmp = packed_data(ipack)
48258 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
48259 pack_tmp = ishft(pack_tmp, -16)
48261 data_tmp = ishft(pack_tmp, 10)
48263 pack_tmp = packed_data(ipack)
48264 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
48265 pack_tmp = ishft(pack_tmp, -10)
48267 data_tmp = ishft(pack_tmp, 4)
48269 pack_tmp = packed_data(ipack)
48270 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
48271 pack_tmp = ishft(pack_tmp, -4)
48273 data_tmp = iand(pack_tmp, mask_right(nbits))
48274 full_data(idata) = data_tmp
48275 pack_tmp = ishft(pack_tmp, -nbits)
48277 data_tmp = ishft(pack_tmp, 56)
48279 pack_tmp = packed_data(ipack)
48280 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
48281 pack_tmp = ishft(pack_tmp, -56)
48283 data_tmp = ishft(pack_tmp, 50)
48285 pack_tmp = packed_data(ipack)
48286 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
48287 pack_tmp = ishft(pack_tmp, -50)
48289 data_tmp = ishft(pack_tmp, 44)
48291 pack_tmp = packed_data(ipack)
48292 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
48293 pack_tmp = ishft(pack_tmp, -44)
48295 data_tmp = ishft(pack_tmp, 38)
48297 pack_tmp = packed_data(ipack)
48298 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
48299 pack_tmp = ishft(pack_tmp, -38)
48301 data_tmp = ishft(pack_tmp, 32)
48303 pack_tmp = packed_data(ipack)
48304 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
48305 pack_tmp = ishft(pack_tmp, -32)
48307 data_tmp = ishft(pack_tmp, 26)
48309 pack_tmp = packed_data(ipack)
48310 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
48311 pack_tmp = ishft(pack_tmp, -26)
48313 data_tmp = ishft(pack_tmp, 20)
48315 pack_tmp = packed_data(ipack)
48316 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
48317 pack_tmp = ishft(pack_tmp, -20)
48319 data_tmp = ishft(pack_tmp, 14)
48321 pack_tmp = packed_data(ipack)
48322 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
48323 pack_tmp = ishft(pack_tmp, -14)
48325 data_tmp = ishft(pack_tmp, 8)
48327 pack_tmp = packed_data(ipack)
48328 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
48329 pack_tmp = ishft(pack_tmp, -8)
48331 data_tmp = ishft(pack_tmp, 2)
48333 pack_tmp = packed_data(ipack)
48334 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
48335 pack_tmp = ishft(pack_tmp, -2)
48337 data_tmp = iand(pack_tmp, mask_right(nbits))
48338 full_data(idata) = data_tmp
48339 pack_tmp = ishft(pack_tmp, -nbits)
48341 data_tmp = ishft(pack_tmp, 54)
48343 pack_tmp = packed_data(ipack)
48344 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
48345 pack_tmp = ishft(pack_tmp, -54)
48347 data_tmp = ishft(pack_tmp, 48)
48349 pack_tmp = packed_data(ipack)
48350 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
48351 pack_tmp = ishft(pack_tmp, -48)
48353 data_tmp = ishft(pack_tmp, 42)
48355 pack_tmp = packed_data(ipack)
48356 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
48357 pack_tmp = ishft(pack_tmp, -42)
48359 data_tmp = ishft(pack_tmp, 36)
48361 pack_tmp = packed_data(ipack)
48362 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
48363 pack_tmp = ishft(pack_tmp, -36)
48365 data_tmp = ishft(pack_tmp, 30)
48367 pack_tmp = packed_data(ipack)
48368 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
48369 pack_tmp = ishft(pack_tmp, -30)
48371 data_tmp = ishft(pack_tmp, 24)
48373 pack_tmp = packed_data(ipack)
48374 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
48375 pack_tmp = ishft(pack_tmp, -24)
48377 data_tmp = ishft(pack_tmp, 18)
48379 pack_tmp = packed_data(ipack)
48380 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
48381 pack_tmp = ishft(pack_tmp, -18)
48383 data_tmp = ishft(pack_tmp, 12)
48385 pack_tmp = packed_data(ipack)
48386 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
48387 pack_tmp = ishft(pack_tmp, -12)
48389 data_tmp = ishft(pack_tmp, 6)
48391 pack_tmp = packed_data(ipack)
48392 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
48393 pack_tmp = ishft(pack_tmp, -6)
48395 data_tmp = iand(pack_tmp, mask_right(nbits))
48396 full_data(idata) = data_tmp
48397 pack_tmp = ishft(pack_tmp, -nbits)
48399 data_tmp = ishft(pack_tmp, 58)
48401 pack_tmp = packed_data(ipack)
48402 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(58)))
48403 pack_tmp = ishft(pack_tmp, -58)
48405 data_tmp = ishft(pack_tmp, 52)
48407 pack_tmp = packed_data(ipack)
48408 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
48409 pack_tmp = ishft(pack_tmp, -52)
48411 data_tmp = ishft(pack_tmp, 46)
48413 pack_tmp = packed_data(ipack)
48414 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
48415 pack_tmp = ishft(pack_tmp, -46)
48417 data_tmp = ishft(pack_tmp, 40)
48419 pack_tmp = packed_data(ipack)
48420 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
48421 pack_tmp = ishft(pack_tmp, -40)
48423 data_tmp = ishft(pack_tmp, 34)
48425 pack_tmp = packed_data(ipack)
48426 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
48427 pack_tmp = ishft(pack_tmp, -34)
48429 data_tmp = ishft(pack_tmp, 28)
48431 pack_tmp = packed_data(ipack)
48432 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
48433 pack_tmp = ishft(pack_tmp, -28)
48435 data_tmp = ishft(pack_tmp, 22)
48437 pack_tmp = packed_data(ipack)
48438 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
48439 pack_tmp = ishft(pack_tmp, -22)
48441 data_tmp = ishft(pack_tmp, 16)
48443 pack_tmp = packed_data(ipack)
48444 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
48445 pack_tmp = ishft(pack_tmp, -16)
48447 data_tmp = ishft(pack_tmp, 10)
48449 pack_tmp = packed_data(ipack)
48450 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
48451 pack_tmp = ishft(pack_tmp, -10)
48453 data_tmp = ishft(pack_tmp, 4)
48455 pack_tmp = packed_data(ipack)
48456 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
48457 pack_tmp = ishft(pack_tmp, -4)
48459 data_tmp = iand(pack_tmp, mask_right(nbits))
48460 full_data(idata) = data_tmp
48461 pack_tmp = ishft(pack_tmp, -nbits)
48463 data_tmp = ishft(pack_tmp, 56)
48465 pack_tmp = packed_data(ipack)
48466 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
48467 pack_tmp = ishft(pack_tmp, -56)
48469 data_tmp = ishft(pack_tmp, 50)
48471 pack_tmp = packed_data(ipack)
48472 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
48473 pack_tmp = ishft(pack_tmp, -50)
48475 data_tmp = ishft(pack_tmp, 44)
48477 pack_tmp = packed_data(ipack)
48478 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
48479 pack_tmp = ishft(pack_tmp, -44)
48481 data_tmp = ishft(pack_tmp, 38)
48483 pack_tmp = packed_data(ipack)
48484 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
48485 pack_tmp = ishft(pack_tmp, -38)
48487 data_tmp = ishft(pack_tmp, 32)
48489 pack_tmp = packed_data(ipack)
48490 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
48491 pack_tmp = ishft(pack_tmp, -32)
48493 data_tmp = ishft(pack_tmp, 26)
48495 pack_tmp = packed_data(ipack)
48496 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
48497 pack_tmp = ishft(pack_tmp, -26)
48499 data_tmp = ishft(pack_tmp, 20)
48501 pack_tmp = packed_data(ipack)
48502 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
48503 pack_tmp = ishft(pack_tmp, -20)
48505 data_tmp = ishft(pack_tmp, 14)
48507 pack_tmp = packed_data(ipack)
48508 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
48509 pack_tmp = ishft(pack_tmp, -14)
48511 data_tmp = ishft(pack_tmp, 8)
48513 pack_tmp = packed_data(ipack)
48514 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
48515 pack_tmp = ishft(pack_tmp, -8)
48517 data_tmp = ishft(pack_tmp, 2)
48519 pack_tmp = packed_data(ipack)
48520 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
48521 pack_tmp = ishft(pack_tmp, -2)
48523 data_tmp = iand(pack_tmp, mask_right(nbits))
48524 full_data(idata) = data_tmp
48525 pack_tmp = ishft(pack_tmp, -nbits)
48527 data_tmp = ishft(pack_tmp, 54)
48529 pack_tmp = packed_data(ipack)
48530 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
48531 pack_tmp = ishft(pack_tmp, -54)
48533 data_tmp = ishft(pack_tmp, 48)
48535 pack_tmp = packed_data(ipack)
48536 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
48537 pack_tmp = ishft(pack_tmp, -48)
48539 data_tmp = ishft(pack_tmp, 42)
48541 pack_tmp = packed_data(ipack)
48542 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
48543 pack_tmp = ishft(pack_tmp, -42)
48545 data_tmp = ishft(pack_tmp, 36)
48547 pack_tmp = packed_data(ipack)
48548 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
48549 pack_tmp = ishft(pack_tmp, -36)
48551 data_tmp = ishft(pack_tmp, 30)
48553 pack_tmp = packed_data(ipack)
48554 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
48555 pack_tmp = ishft(pack_tmp, -30)
48557 data_tmp = ishft(pack_tmp, 24)
48559 pack_tmp = packed_data(ipack)
48560 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
48561 pack_tmp = ishft(pack_tmp, -24)
48563 data_tmp = ishft(pack_tmp, 18)
48565 pack_tmp = packed_data(ipack)
48566 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
48567 pack_tmp = ishft(pack_tmp, -18)
48569 data_tmp = ishft(pack_tmp, 12)
48571 pack_tmp = packed_data(ipack)
48572 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
48573 pack_tmp = ishft(pack_tmp, -12)
48575 data_tmp = ishft(pack_tmp, 6)
48577 pack_tmp = packed_data(ipack)
48578 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
48579 pack_tmp = ishft(pack_tmp, -6)
48581 data_tmp = iand(pack_tmp, mask_right(nbits))
48582 full_data(idata) = data_tmp
48583 pack_tmp = ishft(pack_tmp, -nbits)
48585 IF (ndata_rep < ndata)
THEN
48586 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
48588 END SUBROUTINE bits2ints_58
48596 SUBROUTINE ints2bits_59(Ndata, packed_data, full_data)
48597 INTEGER,
INTENT(IN) :: Ndata
48598 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
48599 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
48601 INTEGER,
PARAMETER :: Nbits = 59
48603 INTEGER :: idata, ipack, kdata, Ndata_rep
48604 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
48608 ndata_rep = (ndata/64)*64
48609 DO kdata = 1, ndata_rep, 64
48612 data_tmp = full_data(idata)
48613 data_tmp = ishft(data_tmp, 5)
48614 pack_tmp = ior(pack_tmp, data_tmp)
48615 pack_tmp = ishft(pack_tmp, -5)
48617 data_tmp = full_data(idata)
48618 data_tmp = ishft(data_tmp, 5)
48619 data_tmp = iand(data_tmp, mask_left(5))
48620 pack_tmp = ior(pack_tmp, data_tmp)
48622 packed_data(ipack) = pack_tmp
48623 data_tmp = full_data(idata)
48624 pack_tmp = ishft(data_tmp, 10)
48625 pack_tmp = ishft(pack_tmp, -10)
48627 data_tmp = full_data(idata)
48628 data_tmp = ishft(data_tmp, 5)
48629 data_tmp = iand(data_tmp, mask_left(10))
48630 pack_tmp = ior(pack_tmp, data_tmp)
48632 packed_data(ipack) = pack_tmp
48633 data_tmp = full_data(idata)
48634 pack_tmp = ishft(data_tmp, 15)
48635 pack_tmp = ishft(pack_tmp, -15)
48637 data_tmp = full_data(idata)
48638 data_tmp = ishft(data_tmp, 5)
48639 data_tmp = iand(data_tmp, mask_left(15))
48640 pack_tmp = ior(pack_tmp, data_tmp)
48642 packed_data(ipack) = pack_tmp
48643 data_tmp = full_data(idata)
48644 pack_tmp = ishft(data_tmp, 20)
48645 pack_tmp = ishft(pack_tmp, -20)
48647 data_tmp = full_data(idata)
48648 data_tmp = ishft(data_tmp, 5)
48649 data_tmp = iand(data_tmp, mask_left(20))
48650 pack_tmp = ior(pack_tmp, data_tmp)
48652 packed_data(ipack) = pack_tmp
48653 data_tmp = full_data(idata)
48654 pack_tmp = ishft(data_tmp, 25)
48655 pack_tmp = ishft(pack_tmp, -25)
48657 data_tmp = full_data(idata)
48658 data_tmp = ishft(data_tmp, 5)
48659 data_tmp = iand(data_tmp, mask_left(25))
48660 pack_tmp = ior(pack_tmp, data_tmp)
48662 packed_data(ipack) = pack_tmp
48663 data_tmp = full_data(idata)
48664 pack_tmp = ishft(data_tmp, 30)
48665 pack_tmp = ishft(pack_tmp, -30)
48667 data_tmp = full_data(idata)
48668 data_tmp = ishft(data_tmp, 5)
48669 data_tmp = iand(data_tmp, mask_left(30))
48670 pack_tmp = ior(pack_tmp, data_tmp)
48672 packed_data(ipack) = pack_tmp
48673 data_tmp = full_data(idata)
48674 pack_tmp = ishft(data_tmp, 35)
48675 pack_tmp = ishft(pack_tmp, -35)
48677 data_tmp = full_data(idata)
48678 data_tmp = ishft(data_tmp, 5)
48679 data_tmp = iand(data_tmp, mask_left(35))
48680 pack_tmp = ior(pack_tmp, data_tmp)
48682 packed_data(ipack) = pack_tmp
48683 data_tmp = full_data(idata)
48684 pack_tmp = ishft(data_tmp, 40)
48685 pack_tmp = ishft(pack_tmp, -40)
48687 data_tmp = full_data(idata)
48688 data_tmp = ishft(data_tmp, 5)
48689 data_tmp = iand(data_tmp, mask_left(40))
48690 pack_tmp = ior(pack_tmp, data_tmp)
48692 packed_data(ipack) = pack_tmp
48693 data_tmp = full_data(idata)
48694 pack_tmp = ishft(data_tmp, 45)
48695 pack_tmp = ishft(pack_tmp, -45)
48697 data_tmp = full_data(idata)
48698 data_tmp = ishft(data_tmp, 5)
48699 data_tmp = iand(data_tmp, mask_left(45))
48700 pack_tmp = ior(pack_tmp, data_tmp)
48702 packed_data(ipack) = pack_tmp
48703 data_tmp = full_data(idata)
48704 pack_tmp = ishft(data_tmp, 50)
48705 pack_tmp = ishft(pack_tmp, -50)
48707 data_tmp = full_data(idata)
48708 data_tmp = ishft(data_tmp, 5)
48709 data_tmp = iand(data_tmp, mask_left(50))
48710 pack_tmp = ior(pack_tmp, data_tmp)
48712 packed_data(ipack) = pack_tmp
48713 data_tmp = full_data(idata)
48714 pack_tmp = ishft(data_tmp, 55)
48715 pack_tmp = ishft(pack_tmp, -55)
48717 data_tmp = full_data(idata)
48718 data_tmp = ishft(data_tmp, 5)
48719 data_tmp = iand(data_tmp, mask_left(55))
48720 pack_tmp = ior(pack_tmp, data_tmp)
48722 packed_data(ipack) = pack_tmp
48723 data_tmp = full_data(idata)
48724 pack_tmp = ishft(data_tmp, 60)
48725 pack_tmp = ishft(pack_tmp, -59)
48727 data_tmp = full_data(idata)
48728 data_tmp = ishft(data_tmp, 5)
48729 pack_tmp = ior(pack_tmp, data_tmp)
48730 pack_tmp = ishft(pack_tmp, -1)
48732 data_tmp = full_data(idata)
48733 data_tmp = ishft(data_tmp, 5)
48734 data_tmp = iand(data_tmp, mask_left(1))
48735 pack_tmp = ior(pack_tmp, data_tmp)
48737 packed_data(ipack) = pack_tmp
48738 data_tmp = full_data(idata)
48739 pack_tmp = ishft(data_tmp, 6)
48740 pack_tmp = ishft(pack_tmp, -6)
48742 data_tmp = full_data(idata)
48743 data_tmp = ishft(data_tmp, 5)
48744 data_tmp = iand(data_tmp, mask_left(6))
48745 pack_tmp = ior(pack_tmp, data_tmp)
48747 packed_data(ipack) = pack_tmp
48748 data_tmp = full_data(idata)
48749 pack_tmp = ishft(data_tmp, 11)
48750 pack_tmp = ishft(pack_tmp, -11)
48752 data_tmp = full_data(idata)
48753 data_tmp = ishft(data_tmp, 5)
48754 data_tmp = iand(data_tmp, mask_left(11))
48755 pack_tmp = ior(pack_tmp, data_tmp)
48757 packed_data(ipack) = pack_tmp
48758 data_tmp = full_data(idata)
48759 pack_tmp = ishft(data_tmp, 16)
48760 pack_tmp = ishft(pack_tmp, -16)
48762 data_tmp = full_data(idata)
48763 data_tmp = ishft(data_tmp, 5)
48764 data_tmp = iand(data_tmp, mask_left(16))
48765 pack_tmp = ior(pack_tmp, data_tmp)
48767 packed_data(ipack) = pack_tmp
48768 data_tmp = full_data(idata)
48769 pack_tmp = ishft(data_tmp, 21)
48770 pack_tmp = ishft(pack_tmp, -21)
48772 data_tmp = full_data(idata)
48773 data_tmp = ishft(data_tmp, 5)
48774 data_tmp = iand(data_tmp, mask_left(21))
48775 pack_tmp = ior(pack_tmp, data_tmp)
48777 packed_data(ipack) = pack_tmp
48778 data_tmp = full_data(idata)
48779 pack_tmp = ishft(data_tmp, 26)
48780 pack_tmp = ishft(pack_tmp, -26)
48782 data_tmp = full_data(idata)
48783 data_tmp = ishft(data_tmp, 5)
48784 data_tmp = iand(data_tmp, mask_left(26))
48785 pack_tmp = ior(pack_tmp, data_tmp)
48787 packed_data(ipack) = pack_tmp
48788 data_tmp = full_data(idata)
48789 pack_tmp = ishft(data_tmp, 31)
48790 pack_tmp = ishft(pack_tmp, -31)
48792 data_tmp = full_data(idata)
48793 data_tmp = ishft(data_tmp, 5)
48794 data_tmp = iand(data_tmp, mask_left(31))
48795 pack_tmp = ior(pack_tmp, data_tmp)
48797 packed_data(ipack) = pack_tmp
48798 data_tmp = full_data(idata)
48799 pack_tmp = ishft(data_tmp, 36)
48800 pack_tmp = ishft(pack_tmp, -36)
48802 data_tmp = full_data(idata)
48803 data_tmp = ishft(data_tmp, 5)
48804 data_tmp = iand(data_tmp, mask_left(36))
48805 pack_tmp = ior(pack_tmp, data_tmp)
48807 packed_data(ipack) = pack_tmp
48808 data_tmp = full_data(idata)
48809 pack_tmp = ishft(data_tmp, 41)
48810 pack_tmp = ishft(pack_tmp, -41)
48812 data_tmp = full_data(idata)
48813 data_tmp = ishft(data_tmp, 5)
48814 data_tmp = iand(data_tmp, mask_left(41))
48815 pack_tmp = ior(pack_tmp, data_tmp)
48817 packed_data(ipack) = pack_tmp
48818 data_tmp = full_data(idata)
48819 pack_tmp = ishft(data_tmp, 46)
48820 pack_tmp = ishft(pack_tmp, -46)
48822 data_tmp = full_data(idata)
48823 data_tmp = ishft(data_tmp, 5)
48824 data_tmp = iand(data_tmp, mask_left(46))
48825 pack_tmp = ior(pack_tmp, data_tmp)
48827 packed_data(ipack) = pack_tmp
48828 data_tmp = full_data(idata)
48829 pack_tmp = ishft(data_tmp, 51)
48830 pack_tmp = ishft(pack_tmp, -51)
48832 data_tmp = full_data(idata)
48833 data_tmp = ishft(data_tmp, 5)
48834 data_tmp = iand(data_tmp, mask_left(51))
48835 pack_tmp = ior(pack_tmp, data_tmp)
48837 packed_data(ipack) = pack_tmp
48838 data_tmp = full_data(idata)
48839 pack_tmp = ishft(data_tmp, 56)
48840 pack_tmp = ishft(pack_tmp, -56)
48842 data_tmp = full_data(idata)
48843 data_tmp = ishft(data_tmp, 5)
48844 data_tmp = iand(data_tmp, mask_left(56))
48845 pack_tmp = ior(pack_tmp, data_tmp)
48847 packed_data(ipack) = pack_tmp
48848 data_tmp = full_data(idata)
48849 pack_tmp = ishft(data_tmp, 61)
48850 pack_tmp = ishft(pack_tmp, -59)
48852 data_tmp = full_data(idata)
48853 data_tmp = ishft(data_tmp, 5)
48854 pack_tmp = ior(pack_tmp, data_tmp)
48855 pack_tmp = ishft(pack_tmp, -2)
48857 data_tmp = full_data(idata)
48858 data_tmp = ishft(data_tmp, 5)
48859 data_tmp = iand(data_tmp, mask_left(2))
48860 pack_tmp = ior(pack_tmp, data_tmp)
48862 packed_data(ipack) = pack_tmp
48863 data_tmp = full_data(idata)
48864 pack_tmp = ishft(data_tmp, 7)
48865 pack_tmp = ishft(pack_tmp, -7)
48867 data_tmp = full_data(idata)
48868 data_tmp = ishft(data_tmp, 5)
48869 data_tmp = iand(data_tmp, mask_left(7))
48870 pack_tmp = ior(pack_tmp, data_tmp)
48872 packed_data(ipack) = pack_tmp
48873 data_tmp = full_data(idata)
48874 pack_tmp = ishft(data_tmp, 12)
48875 pack_tmp = ishft(pack_tmp, -12)
48877 data_tmp = full_data(idata)
48878 data_tmp = ishft(data_tmp, 5)
48879 data_tmp = iand(data_tmp, mask_left(12))
48880 pack_tmp = ior(pack_tmp, data_tmp)
48882 packed_data(ipack) = pack_tmp
48883 data_tmp = full_data(idata)
48884 pack_tmp = ishft(data_tmp, 17)
48885 pack_tmp = ishft(pack_tmp, -17)
48887 data_tmp = full_data(idata)
48888 data_tmp = ishft(data_tmp, 5)
48889 data_tmp = iand(data_tmp, mask_left(17))
48890 pack_tmp = ior(pack_tmp, data_tmp)
48892 packed_data(ipack) = pack_tmp
48893 data_tmp = full_data(idata)
48894 pack_tmp = ishft(data_tmp, 22)
48895 pack_tmp = ishft(pack_tmp, -22)
48897 data_tmp = full_data(idata)
48898 data_tmp = ishft(data_tmp, 5)
48899 data_tmp = iand(data_tmp, mask_left(22))
48900 pack_tmp = ior(pack_tmp, data_tmp)
48902 packed_data(ipack) = pack_tmp
48903 data_tmp = full_data(idata)
48904 pack_tmp = ishft(data_tmp, 27)
48905 pack_tmp = ishft(pack_tmp, -27)
48907 data_tmp = full_data(idata)
48908 data_tmp = ishft(data_tmp, 5)
48909 data_tmp = iand(data_tmp, mask_left(27))
48910 pack_tmp = ior(pack_tmp, data_tmp)
48912 packed_data(ipack) = pack_tmp
48913 data_tmp = full_data(idata)
48914 pack_tmp = ishft(data_tmp, 32)
48915 pack_tmp = ishft(pack_tmp, -32)
48917 data_tmp = full_data(idata)
48918 data_tmp = ishft(data_tmp, 5)
48919 data_tmp = iand(data_tmp, mask_left(32))
48920 pack_tmp = ior(pack_tmp, data_tmp)
48922 packed_data(ipack) = pack_tmp
48923 data_tmp = full_data(idata)
48924 pack_tmp = ishft(data_tmp, 37)
48925 pack_tmp = ishft(pack_tmp, -37)
48927 data_tmp = full_data(idata)
48928 data_tmp = ishft(data_tmp, 5)
48929 data_tmp = iand(data_tmp, mask_left(37))
48930 pack_tmp = ior(pack_tmp, data_tmp)
48932 packed_data(ipack) = pack_tmp
48933 data_tmp = full_data(idata)
48934 pack_tmp = ishft(data_tmp, 42)
48935 pack_tmp = ishft(pack_tmp, -42)
48937 data_tmp = full_data(idata)
48938 data_tmp = ishft(data_tmp, 5)
48939 data_tmp = iand(data_tmp, mask_left(42))
48940 pack_tmp = ior(pack_tmp, data_tmp)
48942 packed_data(ipack) = pack_tmp
48943 data_tmp = full_data(idata)
48944 pack_tmp = ishft(data_tmp, 47)
48945 pack_tmp = ishft(pack_tmp, -47)
48947 data_tmp = full_data(idata)
48948 data_tmp = ishft(data_tmp, 5)
48949 data_tmp = iand(data_tmp, mask_left(47))
48950 pack_tmp = ior(pack_tmp, data_tmp)
48952 packed_data(ipack) = pack_tmp
48953 data_tmp = full_data(idata)
48954 pack_tmp = ishft(data_tmp, 52)
48955 pack_tmp = ishft(pack_tmp, -52)
48957 data_tmp = full_data(idata)
48958 data_tmp = ishft(data_tmp, 5)
48959 data_tmp = iand(data_tmp, mask_left(52))
48960 pack_tmp = ior(pack_tmp, data_tmp)
48962 packed_data(ipack) = pack_tmp
48963 data_tmp = full_data(idata)
48964 pack_tmp = ishft(data_tmp, 57)
48965 pack_tmp = ishft(pack_tmp, -57)
48967 data_tmp = full_data(idata)
48968 data_tmp = ishft(data_tmp, 5)
48969 data_tmp = iand(data_tmp, mask_left(57))
48970 pack_tmp = ior(pack_tmp, data_tmp)
48972 packed_data(ipack) = pack_tmp
48973 data_tmp = full_data(idata)
48974 pack_tmp = ishft(data_tmp, 62)
48975 pack_tmp = ishft(pack_tmp, -59)
48977 data_tmp = full_data(idata)
48978 data_tmp = ishft(data_tmp, 5)
48979 pack_tmp = ior(pack_tmp, data_tmp)
48980 pack_tmp = ishft(pack_tmp, -3)
48982 data_tmp = full_data(idata)
48983 data_tmp = ishft(data_tmp, 5)
48984 data_tmp = iand(data_tmp, mask_left(3))
48985 pack_tmp = ior(pack_tmp, data_tmp)
48987 packed_data(ipack) = pack_tmp
48988 data_tmp = full_data(idata)
48989 pack_tmp = ishft(data_tmp, 8)
48990 pack_tmp = ishft(pack_tmp, -8)
48992 data_tmp = full_data(idata)
48993 data_tmp = ishft(data_tmp, 5)
48994 data_tmp = iand(data_tmp, mask_left(8))
48995 pack_tmp = ior(pack_tmp, data_tmp)
48997 packed_data(ipack) = pack_tmp
48998 data_tmp = full_data(idata)
48999 pack_tmp = ishft(data_tmp, 13)
49000 pack_tmp = ishft(pack_tmp, -13)
49002 data_tmp = full_data(idata)
49003 data_tmp = ishft(data_tmp, 5)
49004 data_tmp = iand(data_tmp, mask_left(13))
49005 pack_tmp = ior(pack_tmp, data_tmp)
49007 packed_data(ipack) = pack_tmp
49008 data_tmp = full_data(idata)
49009 pack_tmp = ishft(data_tmp, 18)
49010 pack_tmp = ishft(pack_tmp, -18)
49012 data_tmp = full_data(idata)
49013 data_tmp = ishft(data_tmp, 5)
49014 data_tmp = iand(data_tmp, mask_left(18))
49015 pack_tmp = ior(pack_tmp, data_tmp)
49017 packed_data(ipack) = pack_tmp
49018 data_tmp = full_data(idata)
49019 pack_tmp = ishft(data_tmp, 23)
49020 pack_tmp = ishft(pack_tmp, -23)
49022 data_tmp = full_data(idata)
49023 data_tmp = ishft(data_tmp, 5)
49024 data_tmp = iand(data_tmp, mask_left(23))
49025 pack_tmp = ior(pack_tmp, data_tmp)
49027 packed_data(ipack) = pack_tmp
49028 data_tmp = full_data(idata)
49029 pack_tmp = ishft(data_tmp, 28)
49030 pack_tmp = ishft(pack_tmp, -28)
49032 data_tmp = full_data(idata)
49033 data_tmp = ishft(data_tmp, 5)
49034 data_tmp = iand(data_tmp, mask_left(28))
49035 pack_tmp = ior(pack_tmp, data_tmp)
49037 packed_data(ipack) = pack_tmp
49038 data_tmp = full_data(idata)
49039 pack_tmp = ishft(data_tmp, 33)
49040 pack_tmp = ishft(pack_tmp, -33)
49042 data_tmp = full_data(idata)
49043 data_tmp = ishft(data_tmp, 5)
49044 data_tmp = iand(data_tmp, mask_left(33))
49045 pack_tmp = ior(pack_tmp, data_tmp)
49047 packed_data(ipack) = pack_tmp
49048 data_tmp = full_data(idata)
49049 pack_tmp = ishft(data_tmp, 38)
49050 pack_tmp = ishft(pack_tmp, -38)
49052 data_tmp = full_data(idata)
49053 data_tmp = ishft(data_tmp, 5)
49054 data_tmp = iand(data_tmp, mask_left(38))
49055 pack_tmp = ior(pack_tmp, data_tmp)
49057 packed_data(ipack) = pack_tmp
49058 data_tmp = full_data(idata)
49059 pack_tmp = ishft(data_tmp, 43)
49060 pack_tmp = ishft(pack_tmp, -43)
49062 data_tmp = full_data(idata)
49063 data_tmp = ishft(data_tmp, 5)
49064 data_tmp = iand(data_tmp, mask_left(43))
49065 pack_tmp = ior(pack_tmp, data_tmp)
49067 packed_data(ipack) = pack_tmp
49068 data_tmp = full_data(idata)
49069 pack_tmp = ishft(data_tmp, 48)
49070 pack_tmp = ishft(pack_tmp, -48)
49072 data_tmp = full_data(idata)
49073 data_tmp = ishft(data_tmp, 5)
49074 data_tmp = iand(data_tmp, mask_left(48))
49075 pack_tmp = ior(pack_tmp, data_tmp)
49077 packed_data(ipack) = pack_tmp
49078 data_tmp = full_data(idata)
49079 pack_tmp = ishft(data_tmp, 53)
49080 pack_tmp = ishft(pack_tmp, -53)
49082 data_tmp = full_data(idata)
49083 data_tmp = ishft(data_tmp, 5)
49084 data_tmp = iand(data_tmp, mask_left(53))
49085 pack_tmp = ior(pack_tmp, data_tmp)
49087 packed_data(ipack) = pack_tmp
49088 data_tmp = full_data(idata)
49089 pack_tmp = ishft(data_tmp, 58)
49090 pack_tmp = ishft(pack_tmp, -58)
49092 data_tmp = full_data(idata)
49093 data_tmp = ishft(data_tmp, 5)
49094 data_tmp = iand(data_tmp, mask_left(58))
49095 pack_tmp = ior(pack_tmp, data_tmp)
49097 packed_data(ipack) = pack_tmp
49098 data_tmp = full_data(idata)
49099 pack_tmp = ishft(data_tmp, 63)
49100 pack_tmp = ishft(pack_tmp, -59)
49102 data_tmp = full_data(idata)
49103 data_tmp = ishft(data_tmp, 5)
49104 pack_tmp = ior(pack_tmp, data_tmp)
49105 pack_tmp = ishft(pack_tmp, -4)
49107 data_tmp = full_data(idata)
49108 data_tmp = ishft(data_tmp, 5)
49109 data_tmp = iand(data_tmp, mask_left(4))
49110 pack_tmp = ior(pack_tmp, data_tmp)
49112 packed_data(ipack) = pack_tmp
49113 data_tmp = full_data(idata)
49114 pack_tmp = ishft(data_tmp, 9)
49115 pack_tmp = ishft(pack_tmp, -9)
49117 data_tmp = full_data(idata)
49118 data_tmp = ishft(data_tmp, 5)
49119 data_tmp = iand(data_tmp, mask_left(9))
49120 pack_tmp = ior(pack_tmp, data_tmp)
49122 packed_data(ipack) = pack_tmp
49123 data_tmp = full_data(idata)
49124 pack_tmp = ishft(data_tmp, 14)
49125 pack_tmp = ishft(pack_tmp, -14)
49127 data_tmp = full_data(idata)
49128 data_tmp = ishft(data_tmp, 5)
49129 data_tmp = iand(data_tmp, mask_left(14))
49130 pack_tmp = ior(pack_tmp, data_tmp)
49132 packed_data(ipack) = pack_tmp
49133 data_tmp = full_data(idata)
49134 pack_tmp = ishft(data_tmp, 19)
49135 pack_tmp = ishft(pack_tmp, -19)
49137 data_tmp = full_data(idata)
49138 data_tmp = ishft(data_tmp, 5)
49139 data_tmp = iand(data_tmp, mask_left(19))
49140 pack_tmp = ior(pack_tmp, data_tmp)
49142 packed_data(ipack) = pack_tmp
49143 data_tmp = full_data(idata)
49144 pack_tmp = ishft(data_tmp, 24)
49145 pack_tmp = ishft(pack_tmp, -24)
49147 data_tmp = full_data(idata)
49148 data_tmp = ishft(data_tmp, 5)
49149 data_tmp = iand(data_tmp, mask_left(24))
49150 pack_tmp = ior(pack_tmp, data_tmp)
49152 packed_data(ipack) = pack_tmp
49153 data_tmp = full_data(idata)
49154 pack_tmp = ishft(data_tmp, 29)
49155 pack_tmp = ishft(pack_tmp, -29)
49157 data_tmp = full_data(idata)
49158 data_tmp = ishft(data_tmp, 5)
49159 data_tmp = iand(data_tmp, mask_left(29))
49160 pack_tmp = ior(pack_tmp, data_tmp)
49162 packed_data(ipack) = pack_tmp
49163 data_tmp = full_data(idata)
49164 pack_tmp = ishft(data_tmp, 34)
49165 pack_tmp = ishft(pack_tmp, -34)
49167 data_tmp = full_data(idata)
49168 data_tmp = ishft(data_tmp, 5)
49169 data_tmp = iand(data_tmp, mask_left(34))
49170 pack_tmp = ior(pack_tmp, data_tmp)
49172 packed_data(ipack) = pack_tmp
49173 data_tmp = full_data(idata)
49174 pack_tmp = ishft(data_tmp, 39)
49175 pack_tmp = ishft(pack_tmp, -39)
49177 data_tmp = full_data(idata)
49178 data_tmp = ishft(data_tmp, 5)
49179 data_tmp = iand(data_tmp, mask_left(39))
49180 pack_tmp = ior(pack_tmp, data_tmp)
49182 packed_data(ipack) = pack_tmp
49183 data_tmp = full_data(idata)
49184 pack_tmp = ishft(data_tmp, 44)
49185 pack_tmp = ishft(pack_tmp, -44)
49187 data_tmp = full_data(idata)
49188 data_tmp = ishft(data_tmp, 5)
49189 data_tmp = iand(data_tmp, mask_left(44))
49190 pack_tmp = ior(pack_tmp, data_tmp)
49192 packed_data(ipack) = pack_tmp
49193 data_tmp = full_data(idata)
49194 pack_tmp = ishft(data_tmp, 49)
49195 pack_tmp = ishft(pack_tmp, -49)
49197 data_tmp = full_data(idata)
49198 data_tmp = ishft(data_tmp, 5)
49199 data_tmp = iand(data_tmp, mask_left(49))
49200 pack_tmp = ior(pack_tmp, data_tmp)
49202 packed_data(ipack) = pack_tmp
49203 data_tmp = full_data(idata)
49204 pack_tmp = ishft(data_tmp, 54)
49205 pack_tmp = ishft(pack_tmp, -54)
49207 data_tmp = full_data(idata)
49208 data_tmp = ishft(data_tmp, 5)
49209 data_tmp = iand(data_tmp, mask_left(54))
49210 pack_tmp = ior(pack_tmp, data_tmp)
49212 packed_data(ipack) = pack_tmp
49213 data_tmp = full_data(idata)
49214 pack_tmp = ishft(data_tmp, 59)
49215 pack_tmp = ishft(pack_tmp, -59)
49217 data_tmp = full_data(idata)
49218 data_tmp = ishft(data_tmp, 5)
49219 pack_tmp = ior(pack_tmp, data_tmp)
49220 pack_tmp = ishft(pack_tmp, 0)
49221 pack_tmp = ishft(pack_tmp, 0)
49223 packed_data(ipack) = pack_tmp
49225 IF (ndata_rep < ndata)
THEN
49226 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
49228 END SUBROUTINE ints2bits_59
49236 SUBROUTINE bits2ints_59(Ndata, packed_data, full_data)
49237 INTEGER,
INTENT(IN) :: Ndata
49238 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
49239 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
49241 INTEGER,
PARAMETER :: Nbits = 59
49243 INTEGER :: idata, ipack, kdata, Ndata_rep
49244 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
49249 ndata_rep = (ndata/64)*64
49250 DO kdata = 1, ndata_rep, 64
49252 data_tmp = ishft(pack_tmp, 59)
49254 pack_tmp = packed_data(ipack)
49255 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(59)))
49256 pack_tmp = ishft(pack_tmp, -59)
49258 data_tmp = ishft(pack_tmp, 54)
49260 pack_tmp = packed_data(ipack)
49261 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
49262 pack_tmp = ishft(pack_tmp, -54)
49264 data_tmp = ishft(pack_tmp, 49)
49266 pack_tmp = packed_data(ipack)
49267 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
49268 pack_tmp = ishft(pack_tmp, -49)
49270 data_tmp = ishft(pack_tmp, 44)
49272 pack_tmp = packed_data(ipack)
49273 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
49274 pack_tmp = ishft(pack_tmp, -44)
49276 data_tmp = ishft(pack_tmp, 39)
49278 pack_tmp = packed_data(ipack)
49279 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
49280 pack_tmp = ishft(pack_tmp, -39)
49282 data_tmp = ishft(pack_tmp, 34)
49284 pack_tmp = packed_data(ipack)
49285 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
49286 pack_tmp = ishft(pack_tmp, -34)
49288 data_tmp = ishft(pack_tmp, 29)
49290 pack_tmp = packed_data(ipack)
49291 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
49292 pack_tmp = ishft(pack_tmp, -29)
49294 data_tmp = ishft(pack_tmp, 24)
49296 pack_tmp = packed_data(ipack)
49297 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
49298 pack_tmp = ishft(pack_tmp, -24)
49300 data_tmp = ishft(pack_tmp, 19)
49302 pack_tmp = packed_data(ipack)
49303 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
49304 pack_tmp = ishft(pack_tmp, -19)
49306 data_tmp = ishft(pack_tmp, 14)
49308 pack_tmp = packed_data(ipack)
49309 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
49310 pack_tmp = ishft(pack_tmp, -14)
49312 data_tmp = ishft(pack_tmp, 9)
49314 pack_tmp = packed_data(ipack)
49315 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
49316 pack_tmp = ishft(pack_tmp, -9)
49318 data_tmp = ishft(pack_tmp, 4)
49320 pack_tmp = packed_data(ipack)
49321 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
49322 pack_tmp = ishft(pack_tmp, -4)
49324 data_tmp = iand(pack_tmp, mask_right(nbits))
49325 full_data(idata) = data_tmp
49326 pack_tmp = ishft(pack_tmp, -nbits)
49328 data_tmp = ishft(pack_tmp, 58)
49330 pack_tmp = packed_data(ipack)
49331 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(58)))
49332 pack_tmp = ishft(pack_tmp, -58)
49334 data_tmp = ishft(pack_tmp, 53)
49336 pack_tmp = packed_data(ipack)
49337 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(53)))
49338 pack_tmp = ishft(pack_tmp, -53)
49340 data_tmp = ishft(pack_tmp, 48)
49342 pack_tmp = packed_data(ipack)
49343 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
49344 pack_tmp = ishft(pack_tmp, -48)
49346 data_tmp = ishft(pack_tmp, 43)
49348 pack_tmp = packed_data(ipack)
49349 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
49350 pack_tmp = ishft(pack_tmp, -43)
49352 data_tmp = ishft(pack_tmp, 38)
49354 pack_tmp = packed_data(ipack)
49355 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
49356 pack_tmp = ishft(pack_tmp, -38)
49358 data_tmp = ishft(pack_tmp, 33)
49360 pack_tmp = packed_data(ipack)
49361 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
49362 pack_tmp = ishft(pack_tmp, -33)
49364 data_tmp = ishft(pack_tmp, 28)
49366 pack_tmp = packed_data(ipack)
49367 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
49368 pack_tmp = ishft(pack_tmp, -28)
49370 data_tmp = ishft(pack_tmp, 23)
49372 pack_tmp = packed_data(ipack)
49373 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
49374 pack_tmp = ishft(pack_tmp, -23)
49376 data_tmp = ishft(pack_tmp, 18)
49378 pack_tmp = packed_data(ipack)
49379 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
49380 pack_tmp = ishft(pack_tmp, -18)
49382 data_tmp = ishft(pack_tmp, 13)
49384 pack_tmp = packed_data(ipack)
49385 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
49386 pack_tmp = ishft(pack_tmp, -13)
49388 data_tmp = ishft(pack_tmp, 8)
49390 pack_tmp = packed_data(ipack)
49391 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
49392 pack_tmp = ishft(pack_tmp, -8)
49394 data_tmp = ishft(pack_tmp, 3)
49396 pack_tmp = packed_data(ipack)
49397 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
49398 pack_tmp = ishft(pack_tmp, -3)
49400 data_tmp = iand(pack_tmp, mask_right(nbits))
49401 full_data(idata) = data_tmp
49402 pack_tmp = ishft(pack_tmp, -nbits)
49404 data_tmp = ishft(pack_tmp, 57)
49406 pack_tmp = packed_data(ipack)
49407 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(57)))
49408 pack_tmp = ishft(pack_tmp, -57)
49410 data_tmp = ishft(pack_tmp, 52)
49412 pack_tmp = packed_data(ipack)
49413 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
49414 pack_tmp = ishft(pack_tmp, -52)
49416 data_tmp = ishft(pack_tmp, 47)
49418 pack_tmp = packed_data(ipack)
49419 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
49420 pack_tmp = ishft(pack_tmp, -47)
49422 data_tmp = ishft(pack_tmp, 42)
49424 pack_tmp = packed_data(ipack)
49425 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
49426 pack_tmp = ishft(pack_tmp, -42)
49428 data_tmp = ishft(pack_tmp, 37)
49430 pack_tmp = packed_data(ipack)
49431 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
49432 pack_tmp = ishft(pack_tmp, -37)
49434 data_tmp = ishft(pack_tmp, 32)
49436 pack_tmp = packed_data(ipack)
49437 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
49438 pack_tmp = ishft(pack_tmp, -32)
49440 data_tmp = ishft(pack_tmp, 27)
49442 pack_tmp = packed_data(ipack)
49443 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
49444 pack_tmp = ishft(pack_tmp, -27)
49446 data_tmp = ishft(pack_tmp, 22)
49448 pack_tmp = packed_data(ipack)
49449 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
49450 pack_tmp = ishft(pack_tmp, -22)
49452 data_tmp = ishft(pack_tmp, 17)
49454 pack_tmp = packed_data(ipack)
49455 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
49456 pack_tmp = ishft(pack_tmp, -17)
49458 data_tmp = ishft(pack_tmp, 12)
49460 pack_tmp = packed_data(ipack)
49461 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
49462 pack_tmp = ishft(pack_tmp, -12)
49464 data_tmp = ishft(pack_tmp, 7)
49466 pack_tmp = packed_data(ipack)
49467 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
49468 pack_tmp = ishft(pack_tmp, -7)
49470 data_tmp = ishft(pack_tmp, 2)
49472 pack_tmp = packed_data(ipack)
49473 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
49474 pack_tmp = ishft(pack_tmp, -2)
49476 data_tmp = iand(pack_tmp, mask_right(nbits))
49477 full_data(idata) = data_tmp
49478 pack_tmp = ishft(pack_tmp, -nbits)
49480 data_tmp = ishft(pack_tmp, 56)
49482 pack_tmp = packed_data(ipack)
49483 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
49484 pack_tmp = ishft(pack_tmp, -56)
49486 data_tmp = ishft(pack_tmp, 51)
49488 pack_tmp = packed_data(ipack)
49489 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(51)))
49490 pack_tmp = ishft(pack_tmp, -51)
49492 data_tmp = ishft(pack_tmp, 46)
49494 pack_tmp = packed_data(ipack)
49495 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
49496 pack_tmp = ishft(pack_tmp, -46)
49498 data_tmp = ishft(pack_tmp, 41)
49500 pack_tmp = packed_data(ipack)
49501 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
49502 pack_tmp = ishft(pack_tmp, -41)
49504 data_tmp = ishft(pack_tmp, 36)
49506 pack_tmp = packed_data(ipack)
49507 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
49508 pack_tmp = ishft(pack_tmp, -36)
49510 data_tmp = ishft(pack_tmp, 31)
49512 pack_tmp = packed_data(ipack)
49513 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
49514 pack_tmp = ishft(pack_tmp, -31)
49516 data_tmp = ishft(pack_tmp, 26)
49518 pack_tmp = packed_data(ipack)
49519 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
49520 pack_tmp = ishft(pack_tmp, -26)
49522 data_tmp = ishft(pack_tmp, 21)
49524 pack_tmp = packed_data(ipack)
49525 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
49526 pack_tmp = ishft(pack_tmp, -21)
49528 data_tmp = ishft(pack_tmp, 16)
49530 pack_tmp = packed_data(ipack)
49531 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
49532 pack_tmp = ishft(pack_tmp, -16)
49534 data_tmp = ishft(pack_tmp, 11)
49536 pack_tmp = packed_data(ipack)
49537 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
49538 pack_tmp = ishft(pack_tmp, -11)
49540 data_tmp = ishft(pack_tmp, 6)
49542 pack_tmp = packed_data(ipack)
49543 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
49544 pack_tmp = ishft(pack_tmp, -6)
49546 data_tmp = ishft(pack_tmp, 1)
49548 pack_tmp = packed_data(ipack)
49549 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
49550 pack_tmp = ishft(pack_tmp, -1)
49552 data_tmp = iand(pack_tmp, mask_right(nbits))
49553 full_data(idata) = data_tmp
49554 pack_tmp = ishft(pack_tmp, -nbits)
49556 data_tmp = ishft(pack_tmp, 55)
49558 pack_tmp = packed_data(ipack)
49559 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(55)))
49560 pack_tmp = ishft(pack_tmp, -55)
49562 data_tmp = ishft(pack_tmp, 50)
49564 pack_tmp = packed_data(ipack)
49565 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
49566 pack_tmp = ishft(pack_tmp, -50)
49568 data_tmp = ishft(pack_tmp, 45)
49570 pack_tmp = packed_data(ipack)
49571 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
49572 pack_tmp = ishft(pack_tmp, -45)
49574 data_tmp = ishft(pack_tmp, 40)
49576 pack_tmp = packed_data(ipack)
49577 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
49578 pack_tmp = ishft(pack_tmp, -40)
49580 data_tmp = ishft(pack_tmp, 35)
49582 pack_tmp = packed_data(ipack)
49583 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
49584 pack_tmp = ishft(pack_tmp, -35)
49586 data_tmp = ishft(pack_tmp, 30)
49588 pack_tmp = packed_data(ipack)
49589 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
49590 pack_tmp = ishft(pack_tmp, -30)
49592 data_tmp = ishft(pack_tmp, 25)
49594 pack_tmp = packed_data(ipack)
49595 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
49596 pack_tmp = ishft(pack_tmp, -25)
49598 data_tmp = ishft(pack_tmp, 20)
49600 pack_tmp = packed_data(ipack)
49601 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
49602 pack_tmp = ishft(pack_tmp, -20)
49604 data_tmp = ishft(pack_tmp, 15)
49606 pack_tmp = packed_data(ipack)
49607 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
49608 pack_tmp = ishft(pack_tmp, -15)
49610 data_tmp = ishft(pack_tmp, 10)
49612 pack_tmp = packed_data(ipack)
49613 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
49614 pack_tmp = ishft(pack_tmp, -10)
49616 data_tmp = ishft(pack_tmp, 5)
49618 pack_tmp = packed_data(ipack)
49619 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
49620 pack_tmp = ishft(pack_tmp, -5)
49622 data_tmp = iand(pack_tmp, mask_right(nbits))
49623 full_data(idata) = data_tmp
49624 pack_tmp = ishft(pack_tmp, -nbits)
49626 IF (ndata_rep < ndata)
THEN
49627 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
49629 END SUBROUTINE bits2ints_59
49637 SUBROUTINE ints2bits_60(Ndata, packed_data, full_data)
49638 INTEGER,
INTENT(IN) :: Ndata
49639 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
49640 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
49642 INTEGER,
PARAMETER :: Nbits = 60
49644 INTEGER :: idata, ipack, kdata, Ndata_rep
49645 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
49649 ndata_rep = (ndata/64)*64
49650 DO kdata = 1, ndata_rep, 64
49653 data_tmp = full_data(idata)
49654 data_tmp = ishft(data_tmp, 4)
49655 pack_tmp = ior(pack_tmp, data_tmp)
49656 pack_tmp = ishft(pack_tmp, -4)
49658 data_tmp = full_data(idata)
49659 data_tmp = ishft(data_tmp, 4)
49660 data_tmp = iand(data_tmp, mask_left(4))
49661 pack_tmp = ior(pack_tmp, data_tmp)
49663 packed_data(ipack) = pack_tmp
49664 data_tmp = full_data(idata)
49665 pack_tmp = ishft(data_tmp, 8)
49666 pack_tmp = ishft(pack_tmp, -8)
49668 data_tmp = full_data(idata)
49669 data_tmp = ishft(data_tmp, 4)
49670 data_tmp = iand(data_tmp, mask_left(8))
49671 pack_tmp = ior(pack_tmp, data_tmp)
49673 packed_data(ipack) = pack_tmp
49674 data_tmp = full_data(idata)
49675 pack_tmp = ishft(data_tmp, 12)
49676 pack_tmp = ishft(pack_tmp, -12)
49678 data_tmp = full_data(idata)
49679 data_tmp = ishft(data_tmp, 4)
49680 data_tmp = iand(data_tmp, mask_left(12))
49681 pack_tmp = ior(pack_tmp, data_tmp)
49683 packed_data(ipack) = pack_tmp
49684 data_tmp = full_data(idata)
49685 pack_tmp = ishft(data_tmp, 16)
49686 pack_tmp = ishft(pack_tmp, -16)
49688 data_tmp = full_data(idata)
49689 data_tmp = ishft(data_tmp, 4)
49690 data_tmp = iand(data_tmp, mask_left(16))
49691 pack_tmp = ior(pack_tmp, data_tmp)
49693 packed_data(ipack) = pack_tmp
49694 data_tmp = full_data(idata)
49695 pack_tmp = ishft(data_tmp, 20)
49696 pack_tmp = ishft(pack_tmp, -20)
49698 data_tmp = full_data(idata)
49699 data_tmp = ishft(data_tmp, 4)
49700 data_tmp = iand(data_tmp, mask_left(20))
49701 pack_tmp = ior(pack_tmp, data_tmp)
49703 packed_data(ipack) = pack_tmp
49704 data_tmp = full_data(idata)
49705 pack_tmp = ishft(data_tmp, 24)
49706 pack_tmp = ishft(pack_tmp, -24)
49708 data_tmp = full_data(idata)
49709 data_tmp = ishft(data_tmp, 4)
49710 data_tmp = iand(data_tmp, mask_left(24))
49711 pack_tmp = ior(pack_tmp, data_tmp)
49713 packed_data(ipack) = pack_tmp
49714 data_tmp = full_data(idata)
49715 pack_tmp = ishft(data_tmp, 28)
49716 pack_tmp = ishft(pack_tmp, -28)
49718 data_tmp = full_data(idata)
49719 data_tmp = ishft(data_tmp, 4)
49720 data_tmp = iand(data_tmp, mask_left(28))
49721 pack_tmp = ior(pack_tmp, data_tmp)
49723 packed_data(ipack) = pack_tmp
49724 data_tmp = full_data(idata)
49725 pack_tmp = ishft(data_tmp, 32)
49726 pack_tmp = ishft(pack_tmp, -32)
49728 data_tmp = full_data(idata)
49729 data_tmp = ishft(data_tmp, 4)
49730 data_tmp = iand(data_tmp, mask_left(32))
49731 pack_tmp = ior(pack_tmp, data_tmp)
49733 packed_data(ipack) = pack_tmp
49734 data_tmp = full_data(idata)
49735 pack_tmp = ishft(data_tmp, 36)
49736 pack_tmp = ishft(pack_tmp, -36)
49738 data_tmp = full_data(idata)
49739 data_tmp = ishft(data_tmp, 4)
49740 data_tmp = iand(data_tmp, mask_left(36))
49741 pack_tmp = ior(pack_tmp, data_tmp)
49743 packed_data(ipack) = pack_tmp
49744 data_tmp = full_data(idata)
49745 pack_tmp = ishft(data_tmp, 40)
49746 pack_tmp = ishft(pack_tmp, -40)
49748 data_tmp = full_data(idata)
49749 data_tmp = ishft(data_tmp, 4)
49750 data_tmp = iand(data_tmp, mask_left(40))
49751 pack_tmp = ior(pack_tmp, data_tmp)
49753 packed_data(ipack) = pack_tmp
49754 data_tmp = full_data(idata)
49755 pack_tmp = ishft(data_tmp, 44)
49756 pack_tmp = ishft(pack_tmp, -44)
49758 data_tmp = full_data(idata)
49759 data_tmp = ishft(data_tmp, 4)
49760 data_tmp = iand(data_tmp, mask_left(44))
49761 pack_tmp = ior(pack_tmp, data_tmp)
49763 packed_data(ipack) = pack_tmp
49764 data_tmp = full_data(idata)
49765 pack_tmp = ishft(data_tmp, 48)
49766 pack_tmp = ishft(pack_tmp, -48)
49768 data_tmp = full_data(idata)
49769 data_tmp = ishft(data_tmp, 4)
49770 data_tmp = iand(data_tmp, mask_left(48))
49771 pack_tmp = ior(pack_tmp, data_tmp)
49773 packed_data(ipack) = pack_tmp
49774 data_tmp = full_data(idata)
49775 pack_tmp = ishft(data_tmp, 52)
49776 pack_tmp = ishft(pack_tmp, -52)
49778 data_tmp = full_data(idata)
49779 data_tmp = ishft(data_tmp, 4)
49780 data_tmp = iand(data_tmp, mask_left(52))
49781 pack_tmp = ior(pack_tmp, data_tmp)
49783 packed_data(ipack) = pack_tmp
49784 data_tmp = full_data(idata)
49785 pack_tmp = ishft(data_tmp, 56)
49786 pack_tmp = ishft(pack_tmp, -56)
49788 data_tmp = full_data(idata)
49789 data_tmp = ishft(data_tmp, 4)
49790 data_tmp = iand(data_tmp, mask_left(56))
49791 pack_tmp = ior(pack_tmp, data_tmp)
49793 packed_data(ipack) = pack_tmp
49794 data_tmp = full_data(idata)
49795 pack_tmp = ishft(data_tmp, 60)
49796 pack_tmp = ishft(pack_tmp, -60)
49798 data_tmp = full_data(idata)
49799 data_tmp = ishft(data_tmp, 4)
49800 pack_tmp = ior(pack_tmp, data_tmp)
49801 pack_tmp = ishft(pack_tmp, 0)
49803 data_tmp = full_data(idata)
49804 data_tmp = ishft(data_tmp, 4)
49805 data_tmp = iand(data_tmp, mask_left(0))
49806 pack_tmp = ior(pack_tmp, data_tmp)
49808 packed_data(ipack) = pack_tmp
49809 data_tmp = full_data(idata)
49810 pack_tmp = ishft(data_tmp, 4)
49811 pack_tmp = ishft(pack_tmp, -4)
49813 data_tmp = full_data(idata)
49814 data_tmp = ishft(data_tmp, 4)
49815 data_tmp = iand(data_tmp, mask_left(4))
49816 pack_tmp = ior(pack_tmp, data_tmp)
49818 packed_data(ipack) = pack_tmp
49819 data_tmp = full_data(idata)
49820 pack_tmp = ishft(data_tmp, 8)
49821 pack_tmp = ishft(pack_tmp, -8)
49823 data_tmp = full_data(idata)
49824 data_tmp = ishft(data_tmp, 4)
49825 data_tmp = iand(data_tmp, mask_left(8))
49826 pack_tmp = ior(pack_tmp, data_tmp)
49828 packed_data(ipack) = pack_tmp
49829 data_tmp = full_data(idata)
49830 pack_tmp = ishft(data_tmp, 12)
49831 pack_tmp = ishft(pack_tmp, -12)
49833 data_tmp = full_data(idata)
49834 data_tmp = ishft(data_tmp, 4)
49835 data_tmp = iand(data_tmp, mask_left(12))
49836 pack_tmp = ior(pack_tmp, data_tmp)
49838 packed_data(ipack) = pack_tmp
49839 data_tmp = full_data(idata)
49840 pack_tmp = ishft(data_tmp, 16)
49841 pack_tmp = ishft(pack_tmp, -16)
49843 data_tmp = full_data(idata)
49844 data_tmp = ishft(data_tmp, 4)
49845 data_tmp = iand(data_tmp, mask_left(16))
49846 pack_tmp = ior(pack_tmp, data_tmp)
49848 packed_data(ipack) = pack_tmp
49849 data_tmp = full_data(idata)
49850 pack_tmp = ishft(data_tmp, 20)
49851 pack_tmp = ishft(pack_tmp, -20)
49853 data_tmp = full_data(idata)
49854 data_tmp = ishft(data_tmp, 4)
49855 data_tmp = iand(data_tmp, mask_left(20))
49856 pack_tmp = ior(pack_tmp, data_tmp)
49858 packed_data(ipack) = pack_tmp
49859 data_tmp = full_data(idata)
49860 pack_tmp = ishft(data_tmp, 24)
49861 pack_tmp = ishft(pack_tmp, -24)
49863 data_tmp = full_data(idata)
49864 data_tmp = ishft(data_tmp, 4)
49865 data_tmp = iand(data_tmp, mask_left(24))
49866 pack_tmp = ior(pack_tmp, data_tmp)
49868 packed_data(ipack) = pack_tmp
49869 data_tmp = full_data(idata)
49870 pack_tmp = ishft(data_tmp, 28)
49871 pack_tmp = ishft(pack_tmp, -28)
49873 data_tmp = full_data(idata)
49874 data_tmp = ishft(data_tmp, 4)
49875 data_tmp = iand(data_tmp, mask_left(28))
49876 pack_tmp = ior(pack_tmp, data_tmp)
49878 packed_data(ipack) = pack_tmp
49879 data_tmp = full_data(idata)
49880 pack_tmp = ishft(data_tmp, 32)
49881 pack_tmp = ishft(pack_tmp, -32)
49883 data_tmp = full_data(idata)
49884 data_tmp = ishft(data_tmp, 4)
49885 data_tmp = iand(data_tmp, mask_left(32))
49886 pack_tmp = ior(pack_tmp, data_tmp)
49888 packed_data(ipack) = pack_tmp
49889 data_tmp = full_data(idata)
49890 pack_tmp = ishft(data_tmp, 36)
49891 pack_tmp = ishft(pack_tmp, -36)
49893 data_tmp = full_data(idata)
49894 data_tmp = ishft(data_tmp, 4)
49895 data_tmp = iand(data_tmp, mask_left(36))
49896 pack_tmp = ior(pack_tmp, data_tmp)
49898 packed_data(ipack) = pack_tmp
49899 data_tmp = full_data(idata)
49900 pack_tmp = ishft(data_tmp, 40)
49901 pack_tmp = ishft(pack_tmp, -40)
49903 data_tmp = full_data(idata)
49904 data_tmp = ishft(data_tmp, 4)
49905 data_tmp = iand(data_tmp, mask_left(40))
49906 pack_tmp = ior(pack_tmp, data_tmp)
49908 packed_data(ipack) = pack_tmp
49909 data_tmp = full_data(idata)
49910 pack_tmp = ishft(data_tmp, 44)
49911 pack_tmp = ishft(pack_tmp, -44)
49913 data_tmp = full_data(idata)
49914 data_tmp = ishft(data_tmp, 4)
49915 data_tmp = iand(data_tmp, mask_left(44))
49916 pack_tmp = ior(pack_tmp, data_tmp)
49918 packed_data(ipack) = pack_tmp
49919 data_tmp = full_data(idata)
49920 pack_tmp = ishft(data_tmp, 48)
49921 pack_tmp = ishft(pack_tmp, -48)
49923 data_tmp = full_data(idata)
49924 data_tmp = ishft(data_tmp, 4)
49925 data_tmp = iand(data_tmp, mask_left(48))
49926 pack_tmp = ior(pack_tmp, data_tmp)
49928 packed_data(ipack) = pack_tmp
49929 data_tmp = full_data(idata)
49930 pack_tmp = ishft(data_tmp, 52)
49931 pack_tmp = ishft(pack_tmp, -52)
49933 data_tmp = full_data(idata)
49934 data_tmp = ishft(data_tmp, 4)
49935 data_tmp = iand(data_tmp, mask_left(52))
49936 pack_tmp = ior(pack_tmp, data_tmp)
49938 packed_data(ipack) = pack_tmp
49939 data_tmp = full_data(idata)
49940 pack_tmp = ishft(data_tmp, 56)
49941 pack_tmp = ishft(pack_tmp, -56)
49943 data_tmp = full_data(idata)
49944 data_tmp = ishft(data_tmp, 4)
49945 data_tmp = iand(data_tmp, mask_left(56))
49946 pack_tmp = ior(pack_tmp, data_tmp)
49948 packed_data(ipack) = pack_tmp
49949 data_tmp = full_data(idata)
49950 pack_tmp = ishft(data_tmp, 60)
49951 pack_tmp = ishft(pack_tmp, -60)
49953 data_tmp = full_data(idata)
49954 data_tmp = ishft(data_tmp, 4)
49955 pack_tmp = ior(pack_tmp, data_tmp)
49956 pack_tmp = ishft(pack_tmp, 0)
49958 data_tmp = full_data(idata)
49959 data_tmp = ishft(data_tmp, 4)
49960 data_tmp = iand(data_tmp, mask_left(0))
49961 pack_tmp = ior(pack_tmp, data_tmp)
49963 packed_data(ipack) = pack_tmp
49964 data_tmp = full_data(idata)
49965 pack_tmp = ishft(data_tmp, 4)
49966 pack_tmp = ishft(pack_tmp, -4)
49968 data_tmp = full_data(idata)
49969 data_tmp = ishft(data_tmp, 4)
49970 data_tmp = iand(data_tmp, mask_left(4))
49971 pack_tmp = ior(pack_tmp, data_tmp)
49973 packed_data(ipack) = pack_tmp
49974 data_tmp = full_data(idata)
49975 pack_tmp = ishft(data_tmp, 8)
49976 pack_tmp = ishft(pack_tmp, -8)
49978 data_tmp = full_data(idata)
49979 data_tmp = ishft(data_tmp, 4)
49980 data_tmp = iand(data_tmp, mask_left(8))
49981 pack_tmp = ior(pack_tmp, data_tmp)
49983 packed_data(ipack) = pack_tmp
49984 data_tmp = full_data(idata)
49985 pack_tmp = ishft(data_tmp, 12)
49986 pack_tmp = ishft(pack_tmp, -12)
49988 data_tmp = full_data(idata)
49989 data_tmp = ishft(data_tmp, 4)
49990 data_tmp = iand(data_tmp, mask_left(12))
49991 pack_tmp = ior(pack_tmp, data_tmp)
49993 packed_data(ipack) = pack_tmp
49994 data_tmp = full_data(idata)
49995 pack_tmp = ishft(data_tmp, 16)
49996 pack_tmp = ishft(pack_tmp, -16)
49998 data_tmp = full_data(idata)
49999 data_tmp = ishft(data_tmp, 4)
50000 data_tmp = iand(data_tmp, mask_left(16))
50001 pack_tmp = ior(pack_tmp, data_tmp)
50003 packed_data(ipack) = pack_tmp
50004 data_tmp = full_data(idata)
50005 pack_tmp = ishft(data_tmp, 20)
50006 pack_tmp = ishft(pack_tmp, -20)
50008 data_tmp = full_data(idata)
50009 data_tmp = ishft(data_tmp, 4)
50010 data_tmp = iand(data_tmp, mask_left(20))
50011 pack_tmp = ior(pack_tmp, data_tmp)
50013 packed_data(ipack) = pack_tmp
50014 data_tmp = full_data(idata)
50015 pack_tmp = ishft(data_tmp, 24)
50016 pack_tmp = ishft(pack_tmp, -24)
50018 data_tmp = full_data(idata)
50019 data_tmp = ishft(data_tmp, 4)
50020 data_tmp = iand(data_tmp, mask_left(24))
50021 pack_tmp = ior(pack_tmp, data_tmp)
50023 packed_data(ipack) = pack_tmp
50024 data_tmp = full_data(idata)
50025 pack_tmp = ishft(data_tmp, 28)
50026 pack_tmp = ishft(pack_tmp, -28)
50028 data_tmp = full_data(idata)
50029 data_tmp = ishft(data_tmp, 4)
50030 data_tmp = iand(data_tmp, mask_left(28))
50031 pack_tmp = ior(pack_tmp, data_tmp)
50033 packed_data(ipack) = pack_tmp
50034 data_tmp = full_data(idata)
50035 pack_tmp = ishft(data_tmp, 32)
50036 pack_tmp = ishft(pack_tmp, -32)
50038 data_tmp = full_data(idata)
50039 data_tmp = ishft(data_tmp, 4)
50040 data_tmp = iand(data_tmp, mask_left(32))
50041 pack_tmp = ior(pack_tmp, data_tmp)
50043 packed_data(ipack) = pack_tmp
50044 data_tmp = full_data(idata)
50045 pack_tmp = ishft(data_tmp, 36)
50046 pack_tmp = ishft(pack_tmp, -36)
50048 data_tmp = full_data(idata)
50049 data_tmp = ishft(data_tmp, 4)
50050 data_tmp = iand(data_tmp, mask_left(36))
50051 pack_tmp = ior(pack_tmp, data_tmp)
50053 packed_data(ipack) = pack_tmp
50054 data_tmp = full_data(idata)
50055 pack_tmp = ishft(data_tmp, 40)
50056 pack_tmp = ishft(pack_tmp, -40)
50058 data_tmp = full_data(idata)
50059 data_tmp = ishft(data_tmp, 4)
50060 data_tmp = iand(data_tmp, mask_left(40))
50061 pack_tmp = ior(pack_tmp, data_tmp)
50063 packed_data(ipack) = pack_tmp
50064 data_tmp = full_data(idata)
50065 pack_tmp = ishft(data_tmp, 44)
50066 pack_tmp = ishft(pack_tmp, -44)
50068 data_tmp = full_data(idata)
50069 data_tmp = ishft(data_tmp, 4)
50070 data_tmp = iand(data_tmp, mask_left(44))
50071 pack_tmp = ior(pack_tmp, data_tmp)
50073 packed_data(ipack) = pack_tmp
50074 data_tmp = full_data(idata)
50075 pack_tmp = ishft(data_tmp, 48)
50076 pack_tmp = ishft(pack_tmp, -48)
50078 data_tmp = full_data(idata)
50079 data_tmp = ishft(data_tmp, 4)
50080 data_tmp = iand(data_tmp, mask_left(48))
50081 pack_tmp = ior(pack_tmp, data_tmp)
50083 packed_data(ipack) = pack_tmp
50084 data_tmp = full_data(idata)
50085 pack_tmp = ishft(data_tmp, 52)
50086 pack_tmp = ishft(pack_tmp, -52)
50088 data_tmp = full_data(idata)
50089 data_tmp = ishft(data_tmp, 4)
50090 data_tmp = iand(data_tmp, mask_left(52))
50091 pack_tmp = ior(pack_tmp, data_tmp)
50093 packed_data(ipack) = pack_tmp
50094 data_tmp = full_data(idata)
50095 pack_tmp = ishft(data_tmp, 56)
50096 pack_tmp = ishft(pack_tmp, -56)
50098 data_tmp = full_data(idata)
50099 data_tmp = ishft(data_tmp, 4)
50100 data_tmp = iand(data_tmp, mask_left(56))
50101 pack_tmp = ior(pack_tmp, data_tmp)
50103 packed_data(ipack) = pack_tmp
50104 data_tmp = full_data(idata)
50105 pack_tmp = ishft(data_tmp, 60)
50106 pack_tmp = ishft(pack_tmp, -60)
50108 data_tmp = full_data(idata)
50109 data_tmp = ishft(data_tmp, 4)
50110 pack_tmp = ior(pack_tmp, data_tmp)
50111 pack_tmp = ishft(pack_tmp, 0)
50113 data_tmp = full_data(idata)
50114 data_tmp = ishft(data_tmp, 4)
50115 data_tmp = iand(data_tmp, mask_left(0))
50116 pack_tmp = ior(pack_tmp, data_tmp)
50118 packed_data(ipack) = pack_tmp
50119 data_tmp = full_data(idata)
50120 pack_tmp = ishft(data_tmp, 4)
50121 pack_tmp = ishft(pack_tmp, -4)
50123 data_tmp = full_data(idata)
50124 data_tmp = ishft(data_tmp, 4)
50125 data_tmp = iand(data_tmp, mask_left(4))
50126 pack_tmp = ior(pack_tmp, data_tmp)
50128 packed_data(ipack) = pack_tmp
50129 data_tmp = full_data(idata)
50130 pack_tmp = ishft(data_tmp, 8)
50131 pack_tmp = ishft(pack_tmp, -8)
50133 data_tmp = full_data(idata)
50134 data_tmp = ishft(data_tmp, 4)
50135 data_tmp = iand(data_tmp, mask_left(8))
50136 pack_tmp = ior(pack_tmp, data_tmp)
50138 packed_data(ipack) = pack_tmp
50139 data_tmp = full_data(idata)
50140 pack_tmp = ishft(data_tmp, 12)
50141 pack_tmp = ishft(pack_tmp, -12)
50143 data_tmp = full_data(idata)
50144 data_tmp = ishft(data_tmp, 4)
50145 data_tmp = iand(data_tmp, mask_left(12))
50146 pack_tmp = ior(pack_tmp, data_tmp)
50148 packed_data(ipack) = pack_tmp
50149 data_tmp = full_data(idata)
50150 pack_tmp = ishft(data_tmp, 16)
50151 pack_tmp = ishft(pack_tmp, -16)
50153 data_tmp = full_data(idata)
50154 data_tmp = ishft(data_tmp, 4)
50155 data_tmp = iand(data_tmp, mask_left(16))
50156 pack_tmp = ior(pack_tmp, data_tmp)
50158 packed_data(ipack) = pack_tmp
50159 data_tmp = full_data(idata)
50160 pack_tmp = ishft(data_tmp, 20)
50161 pack_tmp = ishft(pack_tmp, -20)
50163 data_tmp = full_data(idata)
50164 data_tmp = ishft(data_tmp, 4)
50165 data_tmp = iand(data_tmp, mask_left(20))
50166 pack_tmp = ior(pack_tmp, data_tmp)
50168 packed_data(ipack) = pack_tmp
50169 data_tmp = full_data(idata)
50170 pack_tmp = ishft(data_tmp, 24)
50171 pack_tmp = ishft(pack_tmp, -24)
50173 data_tmp = full_data(idata)
50174 data_tmp = ishft(data_tmp, 4)
50175 data_tmp = iand(data_tmp, mask_left(24))
50176 pack_tmp = ior(pack_tmp, data_tmp)
50178 packed_data(ipack) = pack_tmp
50179 data_tmp = full_data(idata)
50180 pack_tmp = ishft(data_tmp, 28)
50181 pack_tmp = ishft(pack_tmp, -28)
50183 data_tmp = full_data(idata)
50184 data_tmp = ishft(data_tmp, 4)
50185 data_tmp = iand(data_tmp, mask_left(28))
50186 pack_tmp = ior(pack_tmp, data_tmp)
50188 packed_data(ipack) = pack_tmp
50189 data_tmp = full_data(idata)
50190 pack_tmp = ishft(data_tmp, 32)
50191 pack_tmp = ishft(pack_tmp, -32)
50193 data_tmp = full_data(idata)
50194 data_tmp = ishft(data_tmp, 4)
50195 data_tmp = iand(data_tmp, mask_left(32))
50196 pack_tmp = ior(pack_tmp, data_tmp)
50198 packed_data(ipack) = pack_tmp
50199 data_tmp = full_data(idata)
50200 pack_tmp = ishft(data_tmp, 36)
50201 pack_tmp = ishft(pack_tmp, -36)
50203 data_tmp = full_data(idata)
50204 data_tmp = ishft(data_tmp, 4)
50205 data_tmp = iand(data_tmp, mask_left(36))
50206 pack_tmp = ior(pack_tmp, data_tmp)
50208 packed_data(ipack) = pack_tmp
50209 data_tmp = full_data(idata)
50210 pack_tmp = ishft(data_tmp, 40)
50211 pack_tmp = ishft(pack_tmp, -40)
50213 data_tmp = full_data(idata)
50214 data_tmp = ishft(data_tmp, 4)
50215 data_tmp = iand(data_tmp, mask_left(40))
50216 pack_tmp = ior(pack_tmp, data_tmp)
50218 packed_data(ipack) = pack_tmp
50219 data_tmp = full_data(idata)
50220 pack_tmp = ishft(data_tmp, 44)
50221 pack_tmp = ishft(pack_tmp, -44)
50223 data_tmp = full_data(idata)
50224 data_tmp = ishft(data_tmp, 4)
50225 data_tmp = iand(data_tmp, mask_left(44))
50226 pack_tmp = ior(pack_tmp, data_tmp)
50228 packed_data(ipack) = pack_tmp
50229 data_tmp = full_data(idata)
50230 pack_tmp = ishft(data_tmp, 48)
50231 pack_tmp = ishft(pack_tmp, -48)
50233 data_tmp = full_data(idata)
50234 data_tmp = ishft(data_tmp, 4)
50235 data_tmp = iand(data_tmp, mask_left(48))
50236 pack_tmp = ior(pack_tmp, data_tmp)
50238 packed_data(ipack) = pack_tmp
50239 data_tmp = full_data(idata)
50240 pack_tmp = ishft(data_tmp, 52)
50241 pack_tmp = ishft(pack_tmp, -52)
50243 data_tmp = full_data(idata)
50244 data_tmp = ishft(data_tmp, 4)
50245 data_tmp = iand(data_tmp, mask_left(52))
50246 pack_tmp = ior(pack_tmp, data_tmp)
50248 packed_data(ipack) = pack_tmp
50249 data_tmp = full_data(idata)
50250 pack_tmp = ishft(data_tmp, 56)
50251 pack_tmp = ishft(pack_tmp, -56)
50253 data_tmp = full_data(idata)
50254 data_tmp = ishft(data_tmp, 4)
50255 data_tmp = iand(data_tmp, mask_left(56))
50256 pack_tmp = ior(pack_tmp, data_tmp)
50258 packed_data(ipack) = pack_tmp
50259 data_tmp = full_data(idata)
50260 pack_tmp = ishft(data_tmp, 60)
50261 pack_tmp = ishft(pack_tmp, -60)
50263 data_tmp = full_data(idata)
50264 data_tmp = ishft(data_tmp, 4)
50265 pack_tmp = ior(pack_tmp, data_tmp)
50266 pack_tmp = ishft(pack_tmp, 0)
50267 pack_tmp = ishft(pack_tmp, 0)
50269 packed_data(ipack) = pack_tmp
50271 IF (ndata_rep < ndata)
THEN
50272 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
50274 END SUBROUTINE ints2bits_60
50282 SUBROUTINE bits2ints_60(Ndata, packed_data, full_data)
50283 INTEGER,
INTENT(IN) :: Ndata
50284 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
50285 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
50287 INTEGER,
PARAMETER :: Nbits = 60
50289 INTEGER :: idata, ipack, kdata, Ndata_rep
50290 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
50295 ndata_rep = (ndata/64)*64
50296 DO kdata = 1, ndata_rep, 64
50298 data_tmp = ishft(pack_tmp, 60)
50300 pack_tmp = packed_data(ipack)
50301 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
50302 pack_tmp = ishft(pack_tmp, -60)
50304 data_tmp = ishft(pack_tmp, 56)
50306 pack_tmp = packed_data(ipack)
50307 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
50308 pack_tmp = ishft(pack_tmp, -56)
50310 data_tmp = ishft(pack_tmp, 52)
50312 pack_tmp = packed_data(ipack)
50313 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
50314 pack_tmp = ishft(pack_tmp, -52)
50316 data_tmp = ishft(pack_tmp, 48)
50318 pack_tmp = packed_data(ipack)
50319 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
50320 pack_tmp = ishft(pack_tmp, -48)
50322 data_tmp = ishft(pack_tmp, 44)
50324 pack_tmp = packed_data(ipack)
50325 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
50326 pack_tmp = ishft(pack_tmp, -44)
50328 data_tmp = ishft(pack_tmp, 40)
50330 pack_tmp = packed_data(ipack)
50331 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
50332 pack_tmp = ishft(pack_tmp, -40)
50334 data_tmp = ishft(pack_tmp, 36)
50336 pack_tmp = packed_data(ipack)
50337 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
50338 pack_tmp = ishft(pack_tmp, -36)
50340 data_tmp = ishft(pack_tmp, 32)
50342 pack_tmp = packed_data(ipack)
50343 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
50344 pack_tmp = ishft(pack_tmp, -32)
50346 data_tmp = ishft(pack_tmp, 28)
50348 pack_tmp = packed_data(ipack)
50349 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
50350 pack_tmp = ishft(pack_tmp, -28)
50352 data_tmp = ishft(pack_tmp, 24)
50354 pack_tmp = packed_data(ipack)
50355 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
50356 pack_tmp = ishft(pack_tmp, -24)
50358 data_tmp = ishft(pack_tmp, 20)
50360 pack_tmp = packed_data(ipack)
50361 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
50362 pack_tmp = ishft(pack_tmp, -20)
50364 data_tmp = ishft(pack_tmp, 16)
50366 pack_tmp = packed_data(ipack)
50367 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
50368 pack_tmp = ishft(pack_tmp, -16)
50370 data_tmp = ishft(pack_tmp, 12)
50372 pack_tmp = packed_data(ipack)
50373 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
50374 pack_tmp = ishft(pack_tmp, -12)
50376 data_tmp = ishft(pack_tmp, 8)
50378 pack_tmp = packed_data(ipack)
50379 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
50380 pack_tmp = ishft(pack_tmp, -8)
50382 data_tmp = ishft(pack_tmp, 4)
50384 pack_tmp = packed_data(ipack)
50385 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
50386 pack_tmp = ishft(pack_tmp, -4)
50388 data_tmp = iand(pack_tmp, mask_right(nbits))
50389 full_data(idata) = data_tmp
50390 pack_tmp = ishft(pack_tmp, -nbits)
50392 data_tmp = ishft(pack_tmp, 60)
50394 pack_tmp = packed_data(ipack)
50395 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
50396 pack_tmp = ishft(pack_tmp, -60)
50398 data_tmp = ishft(pack_tmp, 56)
50400 pack_tmp = packed_data(ipack)
50401 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
50402 pack_tmp = ishft(pack_tmp, -56)
50404 data_tmp = ishft(pack_tmp, 52)
50406 pack_tmp = packed_data(ipack)
50407 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
50408 pack_tmp = ishft(pack_tmp, -52)
50410 data_tmp = ishft(pack_tmp, 48)
50412 pack_tmp = packed_data(ipack)
50413 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
50414 pack_tmp = ishft(pack_tmp, -48)
50416 data_tmp = ishft(pack_tmp, 44)
50418 pack_tmp = packed_data(ipack)
50419 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
50420 pack_tmp = ishft(pack_tmp, -44)
50422 data_tmp = ishft(pack_tmp, 40)
50424 pack_tmp = packed_data(ipack)
50425 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
50426 pack_tmp = ishft(pack_tmp, -40)
50428 data_tmp = ishft(pack_tmp, 36)
50430 pack_tmp = packed_data(ipack)
50431 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
50432 pack_tmp = ishft(pack_tmp, -36)
50434 data_tmp = ishft(pack_tmp, 32)
50436 pack_tmp = packed_data(ipack)
50437 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
50438 pack_tmp = ishft(pack_tmp, -32)
50440 data_tmp = ishft(pack_tmp, 28)
50442 pack_tmp = packed_data(ipack)
50443 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
50444 pack_tmp = ishft(pack_tmp, -28)
50446 data_tmp = ishft(pack_tmp, 24)
50448 pack_tmp = packed_data(ipack)
50449 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
50450 pack_tmp = ishft(pack_tmp, -24)
50452 data_tmp = ishft(pack_tmp, 20)
50454 pack_tmp = packed_data(ipack)
50455 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
50456 pack_tmp = ishft(pack_tmp, -20)
50458 data_tmp = ishft(pack_tmp, 16)
50460 pack_tmp = packed_data(ipack)
50461 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
50462 pack_tmp = ishft(pack_tmp, -16)
50464 data_tmp = ishft(pack_tmp, 12)
50466 pack_tmp = packed_data(ipack)
50467 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
50468 pack_tmp = ishft(pack_tmp, -12)
50470 data_tmp = ishft(pack_tmp, 8)
50472 pack_tmp = packed_data(ipack)
50473 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
50474 pack_tmp = ishft(pack_tmp, -8)
50476 data_tmp = ishft(pack_tmp, 4)
50478 pack_tmp = packed_data(ipack)
50479 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
50480 pack_tmp = ishft(pack_tmp, -4)
50482 data_tmp = iand(pack_tmp, mask_right(nbits))
50483 full_data(idata) = data_tmp
50484 pack_tmp = ishft(pack_tmp, -nbits)
50486 data_tmp = ishft(pack_tmp, 60)
50488 pack_tmp = packed_data(ipack)
50489 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
50490 pack_tmp = ishft(pack_tmp, -60)
50492 data_tmp = ishft(pack_tmp, 56)
50494 pack_tmp = packed_data(ipack)
50495 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
50496 pack_tmp = ishft(pack_tmp, -56)
50498 data_tmp = ishft(pack_tmp, 52)
50500 pack_tmp = packed_data(ipack)
50501 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
50502 pack_tmp = ishft(pack_tmp, -52)
50504 data_tmp = ishft(pack_tmp, 48)
50506 pack_tmp = packed_data(ipack)
50507 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
50508 pack_tmp = ishft(pack_tmp, -48)
50510 data_tmp = ishft(pack_tmp, 44)
50512 pack_tmp = packed_data(ipack)
50513 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
50514 pack_tmp = ishft(pack_tmp, -44)
50516 data_tmp = ishft(pack_tmp, 40)
50518 pack_tmp = packed_data(ipack)
50519 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
50520 pack_tmp = ishft(pack_tmp, -40)
50522 data_tmp = ishft(pack_tmp, 36)
50524 pack_tmp = packed_data(ipack)
50525 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
50526 pack_tmp = ishft(pack_tmp, -36)
50528 data_tmp = ishft(pack_tmp, 32)
50530 pack_tmp = packed_data(ipack)
50531 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
50532 pack_tmp = ishft(pack_tmp, -32)
50534 data_tmp = ishft(pack_tmp, 28)
50536 pack_tmp = packed_data(ipack)
50537 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
50538 pack_tmp = ishft(pack_tmp, -28)
50540 data_tmp = ishft(pack_tmp, 24)
50542 pack_tmp = packed_data(ipack)
50543 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
50544 pack_tmp = ishft(pack_tmp, -24)
50546 data_tmp = ishft(pack_tmp, 20)
50548 pack_tmp = packed_data(ipack)
50549 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
50550 pack_tmp = ishft(pack_tmp, -20)
50552 data_tmp = ishft(pack_tmp, 16)
50554 pack_tmp = packed_data(ipack)
50555 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
50556 pack_tmp = ishft(pack_tmp, -16)
50558 data_tmp = ishft(pack_tmp, 12)
50560 pack_tmp = packed_data(ipack)
50561 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
50562 pack_tmp = ishft(pack_tmp, -12)
50564 data_tmp = ishft(pack_tmp, 8)
50566 pack_tmp = packed_data(ipack)
50567 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
50568 pack_tmp = ishft(pack_tmp, -8)
50570 data_tmp = ishft(pack_tmp, 4)
50572 pack_tmp = packed_data(ipack)
50573 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
50574 pack_tmp = ishft(pack_tmp, -4)
50576 data_tmp = iand(pack_tmp, mask_right(nbits))
50577 full_data(idata) = data_tmp
50578 pack_tmp = ishft(pack_tmp, -nbits)
50580 data_tmp = ishft(pack_tmp, 60)
50582 pack_tmp = packed_data(ipack)
50583 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
50584 pack_tmp = ishft(pack_tmp, -60)
50586 data_tmp = ishft(pack_tmp, 56)
50588 pack_tmp = packed_data(ipack)
50589 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
50590 pack_tmp = ishft(pack_tmp, -56)
50592 data_tmp = ishft(pack_tmp, 52)
50594 pack_tmp = packed_data(ipack)
50595 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
50596 pack_tmp = ishft(pack_tmp, -52)
50598 data_tmp = ishft(pack_tmp, 48)
50600 pack_tmp = packed_data(ipack)
50601 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
50602 pack_tmp = ishft(pack_tmp, -48)
50604 data_tmp = ishft(pack_tmp, 44)
50606 pack_tmp = packed_data(ipack)
50607 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
50608 pack_tmp = ishft(pack_tmp, -44)
50610 data_tmp = ishft(pack_tmp, 40)
50612 pack_tmp = packed_data(ipack)
50613 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
50614 pack_tmp = ishft(pack_tmp, -40)
50616 data_tmp = ishft(pack_tmp, 36)
50618 pack_tmp = packed_data(ipack)
50619 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
50620 pack_tmp = ishft(pack_tmp, -36)
50622 data_tmp = ishft(pack_tmp, 32)
50624 pack_tmp = packed_data(ipack)
50625 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
50626 pack_tmp = ishft(pack_tmp, -32)
50628 data_tmp = ishft(pack_tmp, 28)
50630 pack_tmp = packed_data(ipack)
50631 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
50632 pack_tmp = ishft(pack_tmp, -28)
50634 data_tmp = ishft(pack_tmp, 24)
50636 pack_tmp = packed_data(ipack)
50637 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
50638 pack_tmp = ishft(pack_tmp, -24)
50640 data_tmp = ishft(pack_tmp, 20)
50642 pack_tmp = packed_data(ipack)
50643 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
50644 pack_tmp = ishft(pack_tmp, -20)
50646 data_tmp = ishft(pack_tmp, 16)
50648 pack_tmp = packed_data(ipack)
50649 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
50650 pack_tmp = ishft(pack_tmp, -16)
50652 data_tmp = ishft(pack_tmp, 12)
50654 pack_tmp = packed_data(ipack)
50655 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
50656 pack_tmp = ishft(pack_tmp, -12)
50658 data_tmp = ishft(pack_tmp, 8)
50660 pack_tmp = packed_data(ipack)
50661 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
50662 pack_tmp = ishft(pack_tmp, -8)
50664 data_tmp = ishft(pack_tmp, 4)
50666 pack_tmp = packed_data(ipack)
50667 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
50668 pack_tmp = ishft(pack_tmp, -4)
50670 data_tmp = iand(pack_tmp, mask_right(nbits))
50671 full_data(idata) = data_tmp
50672 pack_tmp = ishft(pack_tmp, -nbits)
50674 IF (ndata_rep < ndata)
THEN
50675 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
50677 END SUBROUTINE bits2ints_60
50685 SUBROUTINE ints2bits_61(Ndata, packed_data, full_data)
50686 INTEGER,
INTENT(IN) :: Ndata
50687 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
50688 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
50690 INTEGER,
PARAMETER :: Nbits = 61
50692 INTEGER :: idata, ipack, kdata, Ndata_rep
50693 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
50697 ndata_rep = (ndata/64)*64
50698 DO kdata = 1, ndata_rep, 64
50701 data_tmp = full_data(idata)
50702 data_tmp = ishft(data_tmp, 3)
50703 pack_tmp = ior(pack_tmp, data_tmp)
50704 pack_tmp = ishft(pack_tmp, -3)
50706 data_tmp = full_data(idata)
50707 data_tmp = ishft(data_tmp, 3)
50708 data_tmp = iand(data_tmp, mask_left(3))
50709 pack_tmp = ior(pack_tmp, data_tmp)
50711 packed_data(ipack) = pack_tmp
50712 data_tmp = full_data(idata)
50713 pack_tmp = ishft(data_tmp, 6)
50714 pack_tmp = ishft(pack_tmp, -6)
50716 data_tmp = full_data(idata)
50717 data_tmp = ishft(data_tmp, 3)
50718 data_tmp = iand(data_tmp, mask_left(6))
50719 pack_tmp = ior(pack_tmp, data_tmp)
50721 packed_data(ipack) = pack_tmp
50722 data_tmp = full_data(idata)
50723 pack_tmp = ishft(data_tmp, 9)
50724 pack_tmp = ishft(pack_tmp, -9)
50726 data_tmp = full_data(idata)
50727 data_tmp = ishft(data_tmp, 3)
50728 data_tmp = iand(data_tmp, mask_left(9))
50729 pack_tmp = ior(pack_tmp, data_tmp)
50731 packed_data(ipack) = pack_tmp
50732 data_tmp = full_data(idata)
50733 pack_tmp = ishft(data_tmp, 12)
50734 pack_tmp = ishft(pack_tmp, -12)
50736 data_tmp = full_data(idata)
50737 data_tmp = ishft(data_tmp, 3)
50738 data_tmp = iand(data_tmp, mask_left(12))
50739 pack_tmp = ior(pack_tmp, data_tmp)
50741 packed_data(ipack) = pack_tmp
50742 data_tmp = full_data(idata)
50743 pack_tmp = ishft(data_tmp, 15)
50744 pack_tmp = ishft(pack_tmp, -15)
50746 data_tmp = full_data(idata)
50747 data_tmp = ishft(data_tmp, 3)
50748 data_tmp = iand(data_tmp, mask_left(15))
50749 pack_tmp = ior(pack_tmp, data_tmp)
50751 packed_data(ipack) = pack_tmp
50752 data_tmp = full_data(idata)
50753 pack_tmp = ishft(data_tmp, 18)
50754 pack_tmp = ishft(pack_tmp, -18)
50756 data_tmp = full_data(idata)
50757 data_tmp = ishft(data_tmp, 3)
50758 data_tmp = iand(data_tmp, mask_left(18))
50759 pack_tmp = ior(pack_tmp, data_tmp)
50761 packed_data(ipack) = pack_tmp
50762 data_tmp = full_data(idata)
50763 pack_tmp = ishft(data_tmp, 21)
50764 pack_tmp = ishft(pack_tmp, -21)
50766 data_tmp = full_data(idata)
50767 data_tmp = ishft(data_tmp, 3)
50768 data_tmp = iand(data_tmp, mask_left(21))
50769 pack_tmp = ior(pack_tmp, data_tmp)
50771 packed_data(ipack) = pack_tmp
50772 data_tmp = full_data(idata)
50773 pack_tmp = ishft(data_tmp, 24)
50774 pack_tmp = ishft(pack_tmp, -24)
50776 data_tmp = full_data(idata)
50777 data_tmp = ishft(data_tmp, 3)
50778 data_tmp = iand(data_tmp, mask_left(24))
50779 pack_tmp = ior(pack_tmp, data_tmp)
50781 packed_data(ipack) = pack_tmp
50782 data_tmp = full_data(idata)
50783 pack_tmp = ishft(data_tmp, 27)
50784 pack_tmp = ishft(pack_tmp, -27)
50786 data_tmp = full_data(idata)
50787 data_tmp = ishft(data_tmp, 3)
50788 data_tmp = iand(data_tmp, mask_left(27))
50789 pack_tmp = ior(pack_tmp, data_tmp)
50791 packed_data(ipack) = pack_tmp
50792 data_tmp = full_data(idata)
50793 pack_tmp = ishft(data_tmp, 30)
50794 pack_tmp = ishft(pack_tmp, -30)
50796 data_tmp = full_data(idata)
50797 data_tmp = ishft(data_tmp, 3)
50798 data_tmp = iand(data_tmp, mask_left(30))
50799 pack_tmp = ior(pack_tmp, data_tmp)
50801 packed_data(ipack) = pack_tmp
50802 data_tmp = full_data(idata)
50803 pack_tmp = ishft(data_tmp, 33)
50804 pack_tmp = ishft(pack_tmp, -33)
50806 data_tmp = full_data(idata)
50807 data_tmp = ishft(data_tmp, 3)
50808 data_tmp = iand(data_tmp, mask_left(33))
50809 pack_tmp = ior(pack_tmp, data_tmp)
50811 packed_data(ipack) = pack_tmp
50812 data_tmp = full_data(idata)
50813 pack_tmp = ishft(data_tmp, 36)
50814 pack_tmp = ishft(pack_tmp, -36)
50816 data_tmp = full_data(idata)
50817 data_tmp = ishft(data_tmp, 3)
50818 data_tmp = iand(data_tmp, mask_left(36))
50819 pack_tmp = ior(pack_tmp, data_tmp)
50821 packed_data(ipack) = pack_tmp
50822 data_tmp = full_data(idata)
50823 pack_tmp = ishft(data_tmp, 39)
50824 pack_tmp = ishft(pack_tmp, -39)
50826 data_tmp = full_data(idata)
50827 data_tmp = ishft(data_tmp, 3)
50828 data_tmp = iand(data_tmp, mask_left(39))
50829 pack_tmp = ior(pack_tmp, data_tmp)
50831 packed_data(ipack) = pack_tmp
50832 data_tmp = full_data(idata)
50833 pack_tmp = ishft(data_tmp, 42)
50834 pack_tmp = ishft(pack_tmp, -42)
50836 data_tmp = full_data(idata)
50837 data_tmp = ishft(data_tmp, 3)
50838 data_tmp = iand(data_tmp, mask_left(42))
50839 pack_tmp = ior(pack_tmp, data_tmp)
50841 packed_data(ipack) = pack_tmp
50842 data_tmp = full_data(idata)
50843 pack_tmp = ishft(data_tmp, 45)
50844 pack_tmp = ishft(pack_tmp, -45)
50846 data_tmp = full_data(idata)
50847 data_tmp = ishft(data_tmp, 3)
50848 data_tmp = iand(data_tmp, mask_left(45))
50849 pack_tmp = ior(pack_tmp, data_tmp)
50851 packed_data(ipack) = pack_tmp
50852 data_tmp = full_data(idata)
50853 pack_tmp = ishft(data_tmp, 48)
50854 pack_tmp = ishft(pack_tmp, -48)
50856 data_tmp = full_data(idata)
50857 data_tmp = ishft(data_tmp, 3)
50858 data_tmp = iand(data_tmp, mask_left(48))
50859 pack_tmp = ior(pack_tmp, data_tmp)
50861 packed_data(ipack) = pack_tmp
50862 data_tmp = full_data(idata)
50863 pack_tmp = ishft(data_tmp, 51)
50864 pack_tmp = ishft(pack_tmp, -51)
50866 data_tmp = full_data(idata)
50867 data_tmp = ishft(data_tmp, 3)
50868 data_tmp = iand(data_tmp, mask_left(51))
50869 pack_tmp = ior(pack_tmp, data_tmp)
50871 packed_data(ipack) = pack_tmp
50872 data_tmp = full_data(idata)
50873 pack_tmp = ishft(data_tmp, 54)
50874 pack_tmp = ishft(pack_tmp, -54)
50876 data_tmp = full_data(idata)
50877 data_tmp = ishft(data_tmp, 3)
50878 data_tmp = iand(data_tmp, mask_left(54))
50879 pack_tmp = ior(pack_tmp, data_tmp)
50881 packed_data(ipack) = pack_tmp
50882 data_tmp = full_data(idata)
50883 pack_tmp = ishft(data_tmp, 57)
50884 pack_tmp = ishft(pack_tmp, -57)
50886 data_tmp = full_data(idata)
50887 data_tmp = ishft(data_tmp, 3)
50888 data_tmp = iand(data_tmp, mask_left(57))
50889 pack_tmp = ior(pack_tmp, data_tmp)
50891 packed_data(ipack) = pack_tmp
50892 data_tmp = full_data(idata)
50893 pack_tmp = ishft(data_tmp, 60)
50894 pack_tmp = ishft(pack_tmp, -60)
50896 data_tmp = full_data(idata)
50897 data_tmp = ishft(data_tmp, 3)
50898 data_tmp = iand(data_tmp, mask_left(60))
50899 pack_tmp = ior(pack_tmp, data_tmp)
50901 packed_data(ipack) = pack_tmp
50902 data_tmp = full_data(idata)
50903 pack_tmp = ishft(data_tmp, 63)
50904 pack_tmp = ishft(pack_tmp, -61)
50906 data_tmp = full_data(idata)
50907 data_tmp = ishft(data_tmp, 3)
50908 pack_tmp = ior(pack_tmp, data_tmp)
50909 pack_tmp = ishft(pack_tmp, -2)
50911 data_tmp = full_data(idata)
50912 data_tmp = ishft(data_tmp, 3)
50913 data_tmp = iand(data_tmp, mask_left(2))
50914 pack_tmp = ior(pack_tmp, data_tmp)
50916 packed_data(ipack) = pack_tmp
50917 data_tmp = full_data(idata)
50918 pack_tmp = ishft(data_tmp, 5)
50919 pack_tmp = ishft(pack_tmp, -5)
50921 data_tmp = full_data(idata)
50922 data_tmp = ishft(data_tmp, 3)
50923 data_tmp = iand(data_tmp, mask_left(5))
50924 pack_tmp = ior(pack_tmp, data_tmp)
50926 packed_data(ipack) = pack_tmp
50927 data_tmp = full_data(idata)
50928 pack_tmp = ishft(data_tmp, 8)
50929 pack_tmp = ishft(pack_tmp, -8)
50931 data_tmp = full_data(idata)
50932 data_tmp = ishft(data_tmp, 3)
50933 data_tmp = iand(data_tmp, mask_left(8))
50934 pack_tmp = ior(pack_tmp, data_tmp)
50936 packed_data(ipack) = pack_tmp
50937 data_tmp = full_data(idata)
50938 pack_tmp = ishft(data_tmp, 11)
50939 pack_tmp = ishft(pack_tmp, -11)
50941 data_tmp = full_data(idata)
50942 data_tmp = ishft(data_tmp, 3)
50943 data_tmp = iand(data_tmp, mask_left(11))
50944 pack_tmp = ior(pack_tmp, data_tmp)
50946 packed_data(ipack) = pack_tmp
50947 data_tmp = full_data(idata)
50948 pack_tmp = ishft(data_tmp, 14)
50949 pack_tmp = ishft(pack_tmp, -14)
50951 data_tmp = full_data(idata)
50952 data_tmp = ishft(data_tmp, 3)
50953 data_tmp = iand(data_tmp, mask_left(14))
50954 pack_tmp = ior(pack_tmp, data_tmp)
50956 packed_data(ipack) = pack_tmp
50957 data_tmp = full_data(idata)
50958 pack_tmp = ishft(data_tmp, 17)
50959 pack_tmp = ishft(pack_tmp, -17)
50961 data_tmp = full_data(idata)
50962 data_tmp = ishft(data_tmp, 3)
50963 data_tmp = iand(data_tmp, mask_left(17))
50964 pack_tmp = ior(pack_tmp, data_tmp)
50966 packed_data(ipack) = pack_tmp
50967 data_tmp = full_data(idata)
50968 pack_tmp = ishft(data_tmp, 20)
50969 pack_tmp = ishft(pack_tmp, -20)
50971 data_tmp = full_data(idata)
50972 data_tmp = ishft(data_tmp, 3)
50973 data_tmp = iand(data_tmp, mask_left(20))
50974 pack_tmp = ior(pack_tmp, data_tmp)
50976 packed_data(ipack) = pack_tmp
50977 data_tmp = full_data(idata)
50978 pack_tmp = ishft(data_tmp, 23)
50979 pack_tmp = ishft(pack_tmp, -23)
50981 data_tmp = full_data(idata)
50982 data_tmp = ishft(data_tmp, 3)
50983 data_tmp = iand(data_tmp, mask_left(23))
50984 pack_tmp = ior(pack_tmp, data_tmp)
50986 packed_data(ipack) = pack_tmp
50987 data_tmp = full_data(idata)
50988 pack_tmp = ishft(data_tmp, 26)
50989 pack_tmp = ishft(pack_tmp, -26)
50991 data_tmp = full_data(idata)
50992 data_tmp = ishft(data_tmp, 3)
50993 data_tmp = iand(data_tmp, mask_left(26))
50994 pack_tmp = ior(pack_tmp, data_tmp)
50996 packed_data(ipack) = pack_tmp
50997 data_tmp = full_data(idata)
50998 pack_tmp = ishft(data_tmp, 29)
50999 pack_tmp = ishft(pack_tmp, -29)
51001 data_tmp = full_data(idata)
51002 data_tmp = ishft(data_tmp, 3)
51003 data_tmp = iand(data_tmp, mask_left(29))
51004 pack_tmp = ior(pack_tmp, data_tmp)
51006 packed_data(ipack) = pack_tmp
51007 data_tmp = full_data(idata)
51008 pack_tmp = ishft(data_tmp, 32)
51009 pack_tmp = ishft(pack_tmp, -32)
51011 data_tmp = full_data(idata)
51012 data_tmp = ishft(data_tmp, 3)
51013 data_tmp = iand(data_tmp, mask_left(32))
51014 pack_tmp = ior(pack_tmp, data_tmp)
51016 packed_data(ipack) = pack_tmp
51017 data_tmp = full_data(idata)
51018 pack_tmp = ishft(data_tmp, 35)
51019 pack_tmp = ishft(pack_tmp, -35)
51021 data_tmp = full_data(idata)
51022 data_tmp = ishft(data_tmp, 3)
51023 data_tmp = iand(data_tmp, mask_left(35))
51024 pack_tmp = ior(pack_tmp, data_tmp)
51026 packed_data(ipack) = pack_tmp
51027 data_tmp = full_data(idata)
51028 pack_tmp = ishft(data_tmp, 38)
51029 pack_tmp = ishft(pack_tmp, -38)
51031 data_tmp = full_data(idata)
51032 data_tmp = ishft(data_tmp, 3)
51033 data_tmp = iand(data_tmp, mask_left(38))
51034 pack_tmp = ior(pack_tmp, data_tmp)
51036 packed_data(ipack) = pack_tmp
51037 data_tmp = full_data(idata)
51038 pack_tmp = ishft(data_tmp, 41)
51039 pack_tmp = ishft(pack_tmp, -41)
51041 data_tmp = full_data(idata)
51042 data_tmp = ishft(data_tmp, 3)
51043 data_tmp = iand(data_tmp, mask_left(41))
51044 pack_tmp = ior(pack_tmp, data_tmp)
51046 packed_data(ipack) = pack_tmp
51047 data_tmp = full_data(idata)
51048 pack_tmp = ishft(data_tmp, 44)
51049 pack_tmp = ishft(pack_tmp, -44)
51051 data_tmp = full_data(idata)
51052 data_tmp = ishft(data_tmp, 3)
51053 data_tmp = iand(data_tmp, mask_left(44))
51054 pack_tmp = ior(pack_tmp, data_tmp)
51056 packed_data(ipack) = pack_tmp
51057 data_tmp = full_data(idata)
51058 pack_tmp = ishft(data_tmp, 47)
51059 pack_tmp = ishft(pack_tmp, -47)
51061 data_tmp = full_data(idata)
51062 data_tmp = ishft(data_tmp, 3)
51063 data_tmp = iand(data_tmp, mask_left(47))
51064 pack_tmp = ior(pack_tmp, data_tmp)
51066 packed_data(ipack) = pack_tmp
51067 data_tmp = full_data(idata)
51068 pack_tmp = ishft(data_tmp, 50)
51069 pack_tmp = ishft(pack_tmp, -50)
51071 data_tmp = full_data(idata)
51072 data_tmp = ishft(data_tmp, 3)
51073 data_tmp = iand(data_tmp, mask_left(50))
51074 pack_tmp = ior(pack_tmp, data_tmp)
51076 packed_data(ipack) = pack_tmp
51077 data_tmp = full_data(idata)
51078 pack_tmp = ishft(data_tmp, 53)
51079 pack_tmp = ishft(pack_tmp, -53)
51081 data_tmp = full_data(idata)
51082 data_tmp = ishft(data_tmp, 3)
51083 data_tmp = iand(data_tmp, mask_left(53))
51084 pack_tmp = ior(pack_tmp, data_tmp)
51086 packed_data(ipack) = pack_tmp
51087 data_tmp = full_data(idata)
51088 pack_tmp = ishft(data_tmp, 56)
51089 pack_tmp = ishft(pack_tmp, -56)
51091 data_tmp = full_data(idata)
51092 data_tmp = ishft(data_tmp, 3)
51093 data_tmp = iand(data_tmp, mask_left(56))
51094 pack_tmp = ior(pack_tmp, data_tmp)
51096 packed_data(ipack) = pack_tmp
51097 data_tmp = full_data(idata)
51098 pack_tmp = ishft(data_tmp, 59)
51099 pack_tmp = ishft(pack_tmp, -59)
51101 data_tmp = full_data(idata)
51102 data_tmp = ishft(data_tmp, 3)
51103 data_tmp = iand(data_tmp, mask_left(59))
51104 pack_tmp = ior(pack_tmp, data_tmp)
51106 packed_data(ipack) = pack_tmp
51107 data_tmp = full_data(idata)
51108 pack_tmp = ishft(data_tmp, 62)
51109 pack_tmp = ishft(pack_tmp, -61)
51111 data_tmp = full_data(idata)
51112 data_tmp = ishft(data_tmp, 3)
51113 pack_tmp = ior(pack_tmp, data_tmp)
51114 pack_tmp = ishft(pack_tmp, -1)
51116 data_tmp = full_data(idata)
51117 data_tmp = ishft(data_tmp, 3)
51118 data_tmp = iand(data_tmp, mask_left(1))
51119 pack_tmp = ior(pack_tmp, data_tmp)
51121 packed_data(ipack) = pack_tmp
51122 data_tmp = full_data(idata)
51123 pack_tmp = ishft(data_tmp, 4)
51124 pack_tmp = ishft(pack_tmp, -4)
51126 data_tmp = full_data(idata)
51127 data_tmp = ishft(data_tmp, 3)
51128 data_tmp = iand(data_tmp, mask_left(4))
51129 pack_tmp = ior(pack_tmp, data_tmp)
51131 packed_data(ipack) = pack_tmp
51132 data_tmp = full_data(idata)
51133 pack_tmp = ishft(data_tmp, 7)
51134 pack_tmp = ishft(pack_tmp, -7)
51136 data_tmp = full_data(idata)
51137 data_tmp = ishft(data_tmp, 3)
51138 data_tmp = iand(data_tmp, mask_left(7))
51139 pack_tmp = ior(pack_tmp, data_tmp)
51141 packed_data(ipack) = pack_tmp
51142 data_tmp = full_data(idata)
51143 pack_tmp = ishft(data_tmp, 10)
51144 pack_tmp = ishft(pack_tmp, -10)
51146 data_tmp = full_data(idata)
51147 data_tmp = ishft(data_tmp, 3)
51148 data_tmp = iand(data_tmp, mask_left(10))
51149 pack_tmp = ior(pack_tmp, data_tmp)
51151 packed_data(ipack) = pack_tmp
51152 data_tmp = full_data(idata)
51153 pack_tmp = ishft(data_tmp, 13)
51154 pack_tmp = ishft(pack_tmp, -13)
51156 data_tmp = full_data(idata)
51157 data_tmp = ishft(data_tmp, 3)
51158 data_tmp = iand(data_tmp, mask_left(13))
51159 pack_tmp = ior(pack_tmp, data_tmp)
51161 packed_data(ipack) = pack_tmp
51162 data_tmp = full_data(idata)
51163 pack_tmp = ishft(data_tmp, 16)
51164 pack_tmp = ishft(pack_tmp, -16)
51166 data_tmp = full_data(idata)
51167 data_tmp = ishft(data_tmp, 3)
51168 data_tmp = iand(data_tmp, mask_left(16))
51169 pack_tmp = ior(pack_tmp, data_tmp)
51171 packed_data(ipack) = pack_tmp
51172 data_tmp = full_data(idata)
51173 pack_tmp = ishft(data_tmp, 19)
51174 pack_tmp = ishft(pack_tmp, -19)
51176 data_tmp = full_data(idata)
51177 data_tmp = ishft(data_tmp, 3)
51178 data_tmp = iand(data_tmp, mask_left(19))
51179 pack_tmp = ior(pack_tmp, data_tmp)
51181 packed_data(ipack) = pack_tmp
51182 data_tmp = full_data(idata)
51183 pack_tmp = ishft(data_tmp, 22)
51184 pack_tmp = ishft(pack_tmp, -22)
51186 data_tmp = full_data(idata)
51187 data_tmp = ishft(data_tmp, 3)
51188 data_tmp = iand(data_tmp, mask_left(22))
51189 pack_tmp = ior(pack_tmp, data_tmp)
51191 packed_data(ipack) = pack_tmp
51192 data_tmp = full_data(idata)
51193 pack_tmp = ishft(data_tmp, 25)
51194 pack_tmp = ishft(pack_tmp, -25)
51196 data_tmp = full_data(idata)
51197 data_tmp = ishft(data_tmp, 3)
51198 data_tmp = iand(data_tmp, mask_left(25))
51199 pack_tmp = ior(pack_tmp, data_tmp)
51201 packed_data(ipack) = pack_tmp
51202 data_tmp = full_data(idata)
51203 pack_tmp = ishft(data_tmp, 28)
51204 pack_tmp = ishft(pack_tmp, -28)
51206 data_tmp = full_data(idata)
51207 data_tmp = ishft(data_tmp, 3)
51208 data_tmp = iand(data_tmp, mask_left(28))
51209 pack_tmp = ior(pack_tmp, data_tmp)
51211 packed_data(ipack) = pack_tmp
51212 data_tmp = full_data(idata)
51213 pack_tmp = ishft(data_tmp, 31)
51214 pack_tmp = ishft(pack_tmp, -31)
51216 data_tmp = full_data(idata)
51217 data_tmp = ishft(data_tmp, 3)
51218 data_tmp = iand(data_tmp, mask_left(31))
51219 pack_tmp = ior(pack_tmp, data_tmp)
51221 packed_data(ipack) = pack_tmp
51222 data_tmp = full_data(idata)
51223 pack_tmp = ishft(data_tmp, 34)
51224 pack_tmp = ishft(pack_tmp, -34)
51226 data_tmp = full_data(idata)
51227 data_tmp = ishft(data_tmp, 3)
51228 data_tmp = iand(data_tmp, mask_left(34))
51229 pack_tmp = ior(pack_tmp, data_tmp)
51231 packed_data(ipack) = pack_tmp
51232 data_tmp = full_data(idata)
51233 pack_tmp = ishft(data_tmp, 37)
51234 pack_tmp = ishft(pack_tmp, -37)
51236 data_tmp = full_data(idata)
51237 data_tmp = ishft(data_tmp, 3)
51238 data_tmp = iand(data_tmp, mask_left(37))
51239 pack_tmp = ior(pack_tmp, data_tmp)
51241 packed_data(ipack) = pack_tmp
51242 data_tmp = full_data(idata)
51243 pack_tmp = ishft(data_tmp, 40)
51244 pack_tmp = ishft(pack_tmp, -40)
51246 data_tmp = full_data(idata)
51247 data_tmp = ishft(data_tmp, 3)
51248 data_tmp = iand(data_tmp, mask_left(40))
51249 pack_tmp = ior(pack_tmp, data_tmp)
51251 packed_data(ipack) = pack_tmp
51252 data_tmp = full_data(idata)
51253 pack_tmp = ishft(data_tmp, 43)
51254 pack_tmp = ishft(pack_tmp, -43)
51256 data_tmp = full_data(idata)
51257 data_tmp = ishft(data_tmp, 3)
51258 data_tmp = iand(data_tmp, mask_left(43))
51259 pack_tmp = ior(pack_tmp, data_tmp)
51261 packed_data(ipack) = pack_tmp
51262 data_tmp = full_data(idata)
51263 pack_tmp = ishft(data_tmp, 46)
51264 pack_tmp = ishft(pack_tmp, -46)
51266 data_tmp = full_data(idata)
51267 data_tmp = ishft(data_tmp, 3)
51268 data_tmp = iand(data_tmp, mask_left(46))
51269 pack_tmp = ior(pack_tmp, data_tmp)
51271 packed_data(ipack) = pack_tmp
51272 data_tmp = full_data(idata)
51273 pack_tmp = ishft(data_tmp, 49)
51274 pack_tmp = ishft(pack_tmp, -49)
51276 data_tmp = full_data(idata)
51277 data_tmp = ishft(data_tmp, 3)
51278 data_tmp = iand(data_tmp, mask_left(49))
51279 pack_tmp = ior(pack_tmp, data_tmp)
51281 packed_data(ipack) = pack_tmp
51282 data_tmp = full_data(idata)
51283 pack_tmp = ishft(data_tmp, 52)
51284 pack_tmp = ishft(pack_tmp, -52)
51286 data_tmp = full_data(idata)
51287 data_tmp = ishft(data_tmp, 3)
51288 data_tmp = iand(data_tmp, mask_left(52))
51289 pack_tmp = ior(pack_tmp, data_tmp)
51291 packed_data(ipack) = pack_tmp
51292 data_tmp = full_data(idata)
51293 pack_tmp = ishft(data_tmp, 55)
51294 pack_tmp = ishft(pack_tmp, -55)
51296 data_tmp = full_data(idata)
51297 data_tmp = ishft(data_tmp, 3)
51298 data_tmp = iand(data_tmp, mask_left(55))
51299 pack_tmp = ior(pack_tmp, data_tmp)
51301 packed_data(ipack) = pack_tmp
51302 data_tmp = full_data(idata)
51303 pack_tmp = ishft(data_tmp, 58)
51304 pack_tmp = ishft(pack_tmp, -58)
51306 data_tmp = full_data(idata)
51307 data_tmp = ishft(data_tmp, 3)
51308 data_tmp = iand(data_tmp, mask_left(58))
51309 pack_tmp = ior(pack_tmp, data_tmp)
51311 packed_data(ipack) = pack_tmp
51312 data_tmp = full_data(idata)
51313 pack_tmp = ishft(data_tmp, 61)
51314 pack_tmp = ishft(pack_tmp, -61)
51316 data_tmp = full_data(idata)
51317 data_tmp = ishft(data_tmp, 3)
51318 pack_tmp = ior(pack_tmp, data_tmp)
51319 pack_tmp = ishft(pack_tmp, 0)
51320 pack_tmp = ishft(pack_tmp, 0)
51322 packed_data(ipack) = pack_tmp
51324 IF (ndata_rep < ndata)
THEN
51325 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
51327 END SUBROUTINE ints2bits_61
51335 SUBROUTINE bits2ints_61(Ndata, packed_data, full_data)
51336 INTEGER,
INTENT(IN) :: Ndata
51337 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
51338 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
51340 INTEGER,
PARAMETER :: Nbits = 61
51342 INTEGER :: idata, ipack, kdata, Ndata_rep
51343 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
51348 ndata_rep = (ndata/64)*64
51349 DO kdata = 1, ndata_rep, 64
51351 data_tmp = ishft(pack_tmp, 61)
51353 pack_tmp = packed_data(ipack)
51354 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(61)))
51355 pack_tmp = ishft(pack_tmp, -61)
51357 data_tmp = ishft(pack_tmp, 58)
51359 pack_tmp = packed_data(ipack)
51360 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(58)))
51361 pack_tmp = ishft(pack_tmp, -58)
51363 data_tmp = ishft(pack_tmp, 55)
51365 pack_tmp = packed_data(ipack)
51366 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(55)))
51367 pack_tmp = ishft(pack_tmp, -55)
51369 data_tmp = ishft(pack_tmp, 52)
51371 pack_tmp = packed_data(ipack)
51372 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
51373 pack_tmp = ishft(pack_tmp, -52)
51375 data_tmp = ishft(pack_tmp, 49)
51377 pack_tmp = packed_data(ipack)
51378 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
51379 pack_tmp = ishft(pack_tmp, -49)
51381 data_tmp = ishft(pack_tmp, 46)
51383 pack_tmp = packed_data(ipack)
51384 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
51385 pack_tmp = ishft(pack_tmp, -46)
51387 data_tmp = ishft(pack_tmp, 43)
51389 pack_tmp = packed_data(ipack)
51390 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
51391 pack_tmp = ishft(pack_tmp, -43)
51393 data_tmp = ishft(pack_tmp, 40)
51395 pack_tmp = packed_data(ipack)
51396 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
51397 pack_tmp = ishft(pack_tmp, -40)
51399 data_tmp = ishft(pack_tmp, 37)
51401 pack_tmp = packed_data(ipack)
51402 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
51403 pack_tmp = ishft(pack_tmp, -37)
51405 data_tmp = ishft(pack_tmp, 34)
51407 pack_tmp = packed_data(ipack)
51408 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
51409 pack_tmp = ishft(pack_tmp, -34)
51411 data_tmp = ishft(pack_tmp, 31)
51413 pack_tmp = packed_data(ipack)
51414 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
51415 pack_tmp = ishft(pack_tmp, -31)
51417 data_tmp = ishft(pack_tmp, 28)
51419 pack_tmp = packed_data(ipack)
51420 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
51421 pack_tmp = ishft(pack_tmp, -28)
51423 data_tmp = ishft(pack_tmp, 25)
51425 pack_tmp = packed_data(ipack)
51426 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
51427 pack_tmp = ishft(pack_tmp, -25)
51429 data_tmp = ishft(pack_tmp, 22)
51431 pack_tmp = packed_data(ipack)
51432 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
51433 pack_tmp = ishft(pack_tmp, -22)
51435 data_tmp = ishft(pack_tmp, 19)
51437 pack_tmp = packed_data(ipack)
51438 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
51439 pack_tmp = ishft(pack_tmp, -19)
51441 data_tmp = ishft(pack_tmp, 16)
51443 pack_tmp = packed_data(ipack)
51444 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
51445 pack_tmp = ishft(pack_tmp, -16)
51447 data_tmp = ishft(pack_tmp, 13)
51449 pack_tmp = packed_data(ipack)
51450 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
51451 pack_tmp = ishft(pack_tmp, -13)
51453 data_tmp = ishft(pack_tmp, 10)
51455 pack_tmp = packed_data(ipack)
51456 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
51457 pack_tmp = ishft(pack_tmp, -10)
51459 data_tmp = ishft(pack_tmp, 7)
51461 pack_tmp = packed_data(ipack)
51462 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
51463 pack_tmp = ishft(pack_tmp, -7)
51465 data_tmp = ishft(pack_tmp, 4)
51467 pack_tmp = packed_data(ipack)
51468 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
51469 pack_tmp = ishft(pack_tmp, -4)
51471 data_tmp = ishft(pack_tmp, 1)
51473 pack_tmp = packed_data(ipack)
51474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
51475 pack_tmp = ishft(pack_tmp, -1)
51477 data_tmp = iand(pack_tmp, mask_right(nbits))
51478 full_data(idata) = data_tmp
51479 pack_tmp = ishft(pack_tmp, -nbits)
51481 data_tmp = ishft(pack_tmp, 59)
51483 pack_tmp = packed_data(ipack)
51484 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(59)))
51485 pack_tmp = ishft(pack_tmp, -59)
51487 data_tmp = ishft(pack_tmp, 56)
51489 pack_tmp = packed_data(ipack)
51490 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
51491 pack_tmp = ishft(pack_tmp, -56)
51493 data_tmp = ishft(pack_tmp, 53)
51495 pack_tmp = packed_data(ipack)
51496 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(53)))
51497 pack_tmp = ishft(pack_tmp, -53)
51499 data_tmp = ishft(pack_tmp, 50)
51501 pack_tmp = packed_data(ipack)
51502 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
51503 pack_tmp = ishft(pack_tmp, -50)
51505 data_tmp = ishft(pack_tmp, 47)
51507 pack_tmp = packed_data(ipack)
51508 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
51509 pack_tmp = ishft(pack_tmp, -47)
51511 data_tmp = ishft(pack_tmp, 44)
51513 pack_tmp = packed_data(ipack)
51514 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
51515 pack_tmp = ishft(pack_tmp, -44)
51517 data_tmp = ishft(pack_tmp, 41)
51519 pack_tmp = packed_data(ipack)
51520 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
51521 pack_tmp = ishft(pack_tmp, -41)
51523 data_tmp = ishft(pack_tmp, 38)
51525 pack_tmp = packed_data(ipack)
51526 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
51527 pack_tmp = ishft(pack_tmp, -38)
51529 data_tmp = ishft(pack_tmp, 35)
51531 pack_tmp = packed_data(ipack)
51532 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
51533 pack_tmp = ishft(pack_tmp, -35)
51535 data_tmp = ishft(pack_tmp, 32)
51537 pack_tmp = packed_data(ipack)
51538 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
51539 pack_tmp = ishft(pack_tmp, -32)
51541 data_tmp = ishft(pack_tmp, 29)
51543 pack_tmp = packed_data(ipack)
51544 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
51545 pack_tmp = ishft(pack_tmp, -29)
51547 data_tmp = ishft(pack_tmp, 26)
51549 pack_tmp = packed_data(ipack)
51550 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
51551 pack_tmp = ishft(pack_tmp, -26)
51553 data_tmp = ishft(pack_tmp, 23)
51555 pack_tmp = packed_data(ipack)
51556 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
51557 pack_tmp = ishft(pack_tmp, -23)
51559 data_tmp = ishft(pack_tmp, 20)
51561 pack_tmp = packed_data(ipack)
51562 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
51563 pack_tmp = ishft(pack_tmp, -20)
51565 data_tmp = ishft(pack_tmp, 17)
51567 pack_tmp = packed_data(ipack)
51568 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
51569 pack_tmp = ishft(pack_tmp, -17)
51571 data_tmp = ishft(pack_tmp, 14)
51573 pack_tmp = packed_data(ipack)
51574 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
51575 pack_tmp = ishft(pack_tmp, -14)
51577 data_tmp = ishft(pack_tmp, 11)
51579 pack_tmp = packed_data(ipack)
51580 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
51581 pack_tmp = ishft(pack_tmp, -11)
51583 data_tmp = ishft(pack_tmp, 8)
51585 pack_tmp = packed_data(ipack)
51586 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
51587 pack_tmp = ishft(pack_tmp, -8)
51589 data_tmp = ishft(pack_tmp, 5)
51591 pack_tmp = packed_data(ipack)
51592 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
51593 pack_tmp = ishft(pack_tmp, -5)
51595 data_tmp = ishft(pack_tmp, 2)
51597 pack_tmp = packed_data(ipack)
51598 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
51599 pack_tmp = ishft(pack_tmp, -2)
51601 data_tmp = iand(pack_tmp, mask_right(nbits))
51602 full_data(idata) = data_tmp
51603 pack_tmp = ishft(pack_tmp, -nbits)
51605 data_tmp = ishft(pack_tmp, 60)
51607 pack_tmp = packed_data(ipack)
51608 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
51609 pack_tmp = ishft(pack_tmp, -60)
51611 data_tmp = ishft(pack_tmp, 57)
51613 pack_tmp = packed_data(ipack)
51614 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(57)))
51615 pack_tmp = ishft(pack_tmp, -57)
51617 data_tmp = ishft(pack_tmp, 54)
51619 pack_tmp = packed_data(ipack)
51620 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
51621 pack_tmp = ishft(pack_tmp, -54)
51623 data_tmp = ishft(pack_tmp, 51)
51625 pack_tmp = packed_data(ipack)
51626 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(51)))
51627 pack_tmp = ishft(pack_tmp, -51)
51629 data_tmp = ishft(pack_tmp, 48)
51631 pack_tmp = packed_data(ipack)
51632 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
51633 pack_tmp = ishft(pack_tmp, -48)
51635 data_tmp = ishft(pack_tmp, 45)
51637 pack_tmp = packed_data(ipack)
51638 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
51639 pack_tmp = ishft(pack_tmp, -45)
51641 data_tmp = ishft(pack_tmp, 42)
51643 pack_tmp = packed_data(ipack)
51644 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
51645 pack_tmp = ishft(pack_tmp, -42)
51647 data_tmp = ishft(pack_tmp, 39)
51649 pack_tmp = packed_data(ipack)
51650 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
51651 pack_tmp = ishft(pack_tmp, -39)
51653 data_tmp = ishft(pack_tmp, 36)
51655 pack_tmp = packed_data(ipack)
51656 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
51657 pack_tmp = ishft(pack_tmp, -36)
51659 data_tmp = ishft(pack_tmp, 33)
51661 pack_tmp = packed_data(ipack)
51662 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
51663 pack_tmp = ishft(pack_tmp, -33)
51665 data_tmp = ishft(pack_tmp, 30)
51667 pack_tmp = packed_data(ipack)
51668 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
51669 pack_tmp = ishft(pack_tmp, -30)
51671 data_tmp = ishft(pack_tmp, 27)
51673 pack_tmp = packed_data(ipack)
51674 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
51675 pack_tmp = ishft(pack_tmp, -27)
51677 data_tmp = ishft(pack_tmp, 24)
51679 pack_tmp = packed_data(ipack)
51680 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
51681 pack_tmp = ishft(pack_tmp, -24)
51683 data_tmp = ishft(pack_tmp, 21)
51685 pack_tmp = packed_data(ipack)
51686 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
51687 pack_tmp = ishft(pack_tmp, -21)
51689 data_tmp = ishft(pack_tmp, 18)
51691 pack_tmp = packed_data(ipack)
51692 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
51693 pack_tmp = ishft(pack_tmp, -18)
51695 data_tmp = ishft(pack_tmp, 15)
51697 pack_tmp = packed_data(ipack)
51698 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
51699 pack_tmp = ishft(pack_tmp, -15)
51701 data_tmp = ishft(pack_tmp, 12)
51703 pack_tmp = packed_data(ipack)
51704 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
51705 pack_tmp = ishft(pack_tmp, -12)
51707 data_tmp = ishft(pack_tmp, 9)
51709 pack_tmp = packed_data(ipack)
51710 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
51711 pack_tmp = ishft(pack_tmp, -9)
51713 data_tmp = ishft(pack_tmp, 6)
51715 pack_tmp = packed_data(ipack)
51716 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
51717 pack_tmp = ishft(pack_tmp, -6)
51719 data_tmp = ishft(pack_tmp, 3)
51721 pack_tmp = packed_data(ipack)
51722 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
51723 pack_tmp = ishft(pack_tmp, -3)
51725 data_tmp = iand(pack_tmp, mask_right(nbits))
51726 full_data(idata) = data_tmp
51727 pack_tmp = ishft(pack_tmp, -nbits)
51729 IF (ndata_rep < ndata)
THEN
51730 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
51732 END SUBROUTINE bits2ints_61
51740 SUBROUTINE ints2bits_62(Ndata, packed_data, full_data)
51741 INTEGER,
INTENT(IN) :: Ndata
51742 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
51743 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
51745 INTEGER,
PARAMETER :: Nbits = 62
51747 INTEGER :: idata, ipack, kdata, Ndata_rep
51748 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
51752 ndata_rep = (ndata/64)*64
51753 DO kdata = 1, ndata_rep, 64
51756 data_tmp = full_data(idata)
51757 data_tmp = ishft(data_tmp, 2)
51758 pack_tmp = ior(pack_tmp, data_tmp)
51759 pack_tmp = ishft(pack_tmp, -2)
51761 data_tmp = full_data(idata)
51762 data_tmp = ishft(data_tmp, 2)
51763 data_tmp = iand(data_tmp, mask_left(2))
51764 pack_tmp = ior(pack_tmp, data_tmp)
51766 packed_data(ipack) = pack_tmp
51767 data_tmp = full_data(idata)
51768 pack_tmp = ishft(data_tmp, 4)
51769 pack_tmp = ishft(pack_tmp, -4)
51771 data_tmp = full_data(idata)
51772 data_tmp = ishft(data_tmp, 2)
51773 data_tmp = iand(data_tmp, mask_left(4))
51774 pack_tmp = ior(pack_tmp, data_tmp)
51776 packed_data(ipack) = pack_tmp
51777 data_tmp = full_data(idata)
51778 pack_tmp = ishft(data_tmp, 6)
51779 pack_tmp = ishft(pack_tmp, -6)
51781 data_tmp = full_data(idata)
51782 data_tmp = ishft(data_tmp, 2)
51783 data_tmp = iand(data_tmp, mask_left(6))
51784 pack_tmp = ior(pack_tmp, data_tmp)
51786 packed_data(ipack) = pack_tmp
51787 data_tmp = full_data(idata)
51788 pack_tmp = ishft(data_tmp, 8)
51789 pack_tmp = ishft(pack_tmp, -8)
51791 data_tmp = full_data(idata)
51792 data_tmp = ishft(data_tmp, 2)
51793 data_tmp = iand(data_tmp, mask_left(8))
51794 pack_tmp = ior(pack_tmp, data_tmp)
51796 packed_data(ipack) = pack_tmp
51797 data_tmp = full_data(idata)
51798 pack_tmp = ishft(data_tmp, 10)
51799 pack_tmp = ishft(pack_tmp, -10)
51801 data_tmp = full_data(idata)
51802 data_tmp = ishft(data_tmp, 2)
51803 data_tmp = iand(data_tmp, mask_left(10))
51804 pack_tmp = ior(pack_tmp, data_tmp)
51806 packed_data(ipack) = pack_tmp
51807 data_tmp = full_data(idata)
51808 pack_tmp = ishft(data_tmp, 12)
51809 pack_tmp = ishft(pack_tmp, -12)
51811 data_tmp = full_data(idata)
51812 data_tmp = ishft(data_tmp, 2)
51813 data_tmp = iand(data_tmp, mask_left(12))
51814 pack_tmp = ior(pack_tmp, data_tmp)
51816 packed_data(ipack) = pack_tmp
51817 data_tmp = full_data(idata)
51818 pack_tmp = ishft(data_tmp, 14)
51819 pack_tmp = ishft(pack_tmp, -14)
51821 data_tmp = full_data(idata)
51822 data_tmp = ishft(data_tmp, 2)
51823 data_tmp = iand(data_tmp, mask_left(14))
51824 pack_tmp = ior(pack_tmp, data_tmp)
51826 packed_data(ipack) = pack_tmp
51827 data_tmp = full_data(idata)
51828 pack_tmp = ishft(data_tmp, 16)
51829 pack_tmp = ishft(pack_tmp, -16)
51831 data_tmp = full_data(idata)
51832 data_tmp = ishft(data_tmp, 2)
51833 data_tmp = iand(data_tmp, mask_left(16))
51834 pack_tmp = ior(pack_tmp, data_tmp)
51836 packed_data(ipack) = pack_tmp
51837 data_tmp = full_data(idata)
51838 pack_tmp = ishft(data_tmp, 18)
51839 pack_tmp = ishft(pack_tmp, -18)
51841 data_tmp = full_data(idata)
51842 data_tmp = ishft(data_tmp, 2)
51843 data_tmp = iand(data_tmp, mask_left(18))
51844 pack_tmp = ior(pack_tmp, data_tmp)
51846 packed_data(ipack) = pack_tmp
51847 data_tmp = full_data(idata)
51848 pack_tmp = ishft(data_tmp, 20)
51849 pack_tmp = ishft(pack_tmp, -20)
51851 data_tmp = full_data(idata)
51852 data_tmp = ishft(data_tmp, 2)
51853 data_tmp = iand(data_tmp, mask_left(20))
51854 pack_tmp = ior(pack_tmp, data_tmp)
51856 packed_data(ipack) = pack_tmp
51857 data_tmp = full_data(idata)
51858 pack_tmp = ishft(data_tmp, 22)
51859 pack_tmp = ishft(pack_tmp, -22)
51861 data_tmp = full_data(idata)
51862 data_tmp = ishft(data_tmp, 2)
51863 data_tmp = iand(data_tmp, mask_left(22))
51864 pack_tmp = ior(pack_tmp, data_tmp)
51866 packed_data(ipack) = pack_tmp
51867 data_tmp = full_data(idata)
51868 pack_tmp = ishft(data_tmp, 24)
51869 pack_tmp = ishft(pack_tmp, -24)
51871 data_tmp = full_data(idata)
51872 data_tmp = ishft(data_tmp, 2)
51873 data_tmp = iand(data_tmp, mask_left(24))
51874 pack_tmp = ior(pack_tmp, data_tmp)
51876 packed_data(ipack) = pack_tmp
51877 data_tmp = full_data(idata)
51878 pack_tmp = ishft(data_tmp, 26)
51879 pack_tmp = ishft(pack_tmp, -26)
51881 data_tmp = full_data(idata)
51882 data_tmp = ishft(data_tmp, 2)
51883 data_tmp = iand(data_tmp, mask_left(26))
51884 pack_tmp = ior(pack_tmp, data_tmp)
51886 packed_data(ipack) = pack_tmp
51887 data_tmp = full_data(idata)
51888 pack_tmp = ishft(data_tmp, 28)
51889 pack_tmp = ishft(pack_tmp, -28)
51891 data_tmp = full_data(idata)
51892 data_tmp = ishft(data_tmp, 2)
51893 data_tmp = iand(data_tmp, mask_left(28))
51894 pack_tmp = ior(pack_tmp, data_tmp)
51896 packed_data(ipack) = pack_tmp
51897 data_tmp = full_data(idata)
51898 pack_tmp = ishft(data_tmp, 30)
51899 pack_tmp = ishft(pack_tmp, -30)
51901 data_tmp = full_data(idata)
51902 data_tmp = ishft(data_tmp, 2)
51903 data_tmp = iand(data_tmp, mask_left(30))
51904 pack_tmp = ior(pack_tmp, data_tmp)
51906 packed_data(ipack) = pack_tmp
51907 data_tmp = full_data(idata)
51908 pack_tmp = ishft(data_tmp, 32)
51909 pack_tmp = ishft(pack_tmp, -32)
51911 data_tmp = full_data(idata)
51912 data_tmp = ishft(data_tmp, 2)
51913 data_tmp = iand(data_tmp, mask_left(32))
51914 pack_tmp = ior(pack_tmp, data_tmp)
51916 packed_data(ipack) = pack_tmp
51917 data_tmp = full_data(idata)
51918 pack_tmp = ishft(data_tmp, 34)
51919 pack_tmp = ishft(pack_tmp, -34)
51921 data_tmp = full_data(idata)
51922 data_tmp = ishft(data_tmp, 2)
51923 data_tmp = iand(data_tmp, mask_left(34))
51924 pack_tmp = ior(pack_tmp, data_tmp)
51926 packed_data(ipack) = pack_tmp
51927 data_tmp = full_data(idata)
51928 pack_tmp = ishft(data_tmp, 36)
51929 pack_tmp = ishft(pack_tmp, -36)
51931 data_tmp = full_data(idata)
51932 data_tmp = ishft(data_tmp, 2)
51933 data_tmp = iand(data_tmp, mask_left(36))
51934 pack_tmp = ior(pack_tmp, data_tmp)
51936 packed_data(ipack) = pack_tmp
51937 data_tmp = full_data(idata)
51938 pack_tmp = ishft(data_tmp, 38)
51939 pack_tmp = ishft(pack_tmp, -38)
51941 data_tmp = full_data(idata)
51942 data_tmp = ishft(data_tmp, 2)
51943 data_tmp = iand(data_tmp, mask_left(38))
51944 pack_tmp = ior(pack_tmp, data_tmp)
51946 packed_data(ipack) = pack_tmp
51947 data_tmp = full_data(idata)
51948 pack_tmp = ishft(data_tmp, 40)
51949 pack_tmp = ishft(pack_tmp, -40)
51951 data_tmp = full_data(idata)
51952 data_tmp = ishft(data_tmp, 2)
51953 data_tmp = iand(data_tmp, mask_left(40))
51954 pack_tmp = ior(pack_tmp, data_tmp)
51956 packed_data(ipack) = pack_tmp
51957 data_tmp = full_data(idata)
51958 pack_tmp = ishft(data_tmp, 42)
51959 pack_tmp = ishft(pack_tmp, -42)
51961 data_tmp = full_data(idata)
51962 data_tmp = ishft(data_tmp, 2)
51963 data_tmp = iand(data_tmp, mask_left(42))
51964 pack_tmp = ior(pack_tmp, data_tmp)
51966 packed_data(ipack) = pack_tmp
51967 data_tmp = full_data(idata)
51968 pack_tmp = ishft(data_tmp, 44)
51969 pack_tmp = ishft(pack_tmp, -44)
51971 data_tmp = full_data(idata)
51972 data_tmp = ishft(data_tmp, 2)
51973 data_tmp = iand(data_tmp, mask_left(44))
51974 pack_tmp = ior(pack_tmp, data_tmp)
51976 packed_data(ipack) = pack_tmp
51977 data_tmp = full_data(idata)
51978 pack_tmp = ishft(data_tmp, 46)
51979 pack_tmp = ishft(pack_tmp, -46)
51981 data_tmp = full_data(idata)
51982 data_tmp = ishft(data_tmp, 2)
51983 data_tmp = iand(data_tmp, mask_left(46))
51984 pack_tmp = ior(pack_tmp, data_tmp)
51986 packed_data(ipack) = pack_tmp
51987 data_tmp = full_data(idata)
51988 pack_tmp = ishft(data_tmp, 48)
51989 pack_tmp = ishft(pack_tmp, -48)
51991 data_tmp = full_data(idata)
51992 data_tmp = ishft(data_tmp, 2)
51993 data_tmp = iand(data_tmp, mask_left(48))
51994 pack_tmp = ior(pack_tmp, data_tmp)
51996 packed_data(ipack) = pack_tmp
51997 data_tmp = full_data(idata)
51998 pack_tmp = ishft(data_tmp, 50)
51999 pack_tmp = ishft(pack_tmp, -50)
52001 data_tmp = full_data(idata)
52002 data_tmp = ishft(data_tmp, 2)
52003 data_tmp = iand(data_tmp, mask_left(50))
52004 pack_tmp = ior(pack_tmp, data_tmp)
52006 packed_data(ipack) = pack_tmp
52007 data_tmp = full_data(idata)
52008 pack_tmp = ishft(data_tmp, 52)
52009 pack_tmp = ishft(pack_tmp, -52)
52011 data_tmp = full_data(idata)
52012 data_tmp = ishft(data_tmp, 2)
52013 data_tmp = iand(data_tmp, mask_left(52))
52014 pack_tmp = ior(pack_tmp, data_tmp)
52016 packed_data(ipack) = pack_tmp
52017 data_tmp = full_data(idata)
52018 pack_tmp = ishft(data_tmp, 54)
52019 pack_tmp = ishft(pack_tmp, -54)
52021 data_tmp = full_data(idata)
52022 data_tmp = ishft(data_tmp, 2)
52023 data_tmp = iand(data_tmp, mask_left(54))
52024 pack_tmp = ior(pack_tmp, data_tmp)
52026 packed_data(ipack) = pack_tmp
52027 data_tmp = full_data(idata)
52028 pack_tmp = ishft(data_tmp, 56)
52029 pack_tmp = ishft(pack_tmp, -56)
52031 data_tmp = full_data(idata)
52032 data_tmp = ishft(data_tmp, 2)
52033 data_tmp = iand(data_tmp, mask_left(56))
52034 pack_tmp = ior(pack_tmp, data_tmp)
52036 packed_data(ipack) = pack_tmp
52037 data_tmp = full_data(idata)
52038 pack_tmp = ishft(data_tmp, 58)
52039 pack_tmp = ishft(pack_tmp, -58)
52041 data_tmp = full_data(idata)
52042 data_tmp = ishft(data_tmp, 2)
52043 data_tmp = iand(data_tmp, mask_left(58))
52044 pack_tmp = ior(pack_tmp, data_tmp)
52046 packed_data(ipack) = pack_tmp
52047 data_tmp = full_data(idata)
52048 pack_tmp = ishft(data_tmp, 60)
52049 pack_tmp = ishft(pack_tmp, -60)
52051 data_tmp = full_data(idata)
52052 data_tmp = ishft(data_tmp, 2)
52053 data_tmp = iand(data_tmp, mask_left(60))
52054 pack_tmp = ior(pack_tmp, data_tmp)
52056 packed_data(ipack) = pack_tmp
52057 data_tmp = full_data(idata)
52058 pack_tmp = ishft(data_tmp, 62)
52059 pack_tmp = ishft(pack_tmp, -62)
52061 data_tmp = full_data(idata)
52062 data_tmp = ishft(data_tmp, 2)
52063 pack_tmp = ior(pack_tmp, data_tmp)
52064 pack_tmp = ishft(pack_tmp, 0)
52066 data_tmp = full_data(idata)
52067 data_tmp = ishft(data_tmp, 2)
52068 data_tmp = iand(data_tmp, mask_left(0))
52069 pack_tmp = ior(pack_tmp, data_tmp)
52071 packed_data(ipack) = pack_tmp
52072 data_tmp = full_data(idata)
52073 pack_tmp = ishft(data_tmp, 2)
52074 pack_tmp = ishft(pack_tmp, -2)
52076 data_tmp = full_data(idata)
52077 data_tmp = ishft(data_tmp, 2)
52078 data_tmp = iand(data_tmp, mask_left(2))
52079 pack_tmp = ior(pack_tmp, data_tmp)
52081 packed_data(ipack) = pack_tmp
52082 data_tmp = full_data(idata)
52083 pack_tmp = ishft(data_tmp, 4)
52084 pack_tmp = ishft(pack_tmp, -4)
52086 data_tmp = full_data(idata)
52087 data_tmp = ishft(data_tmp, 2)
52088 data_tmp = iand(data_tmp, mask_left(4))
52089 pack_tmp = ior(pack_tmp, data_tmp)
52091 packed_data(ipack) = pack_tmp
52092 data_tmp = full_data(idata)
52093 pack_tmp = ishft(data_tmp, 6)
52094 pack_tmp = ishft(pack_tmp, -6)
52096 data_tmp = full_data(idata)
52097 data_tmp = ishft(data_tmp, 2)
52098 data_tmp = iand(data_tmp, mask_left(6))
52099 pack_tmp = ior(pack_tmp, data_tmp)
52101 packed_data(ipack) = pack_tmp
52102 data_tmp = full_data(idata)
52103 pack_tmp = ishft(data_tmp, 8)
52104 pack_tmp = ishft(pack_tmp, -8)
52106 data_tmp = full_data(idata)
52107 data_tmp = ishft(data_tmp, 2)
52108 data_tmp = iand(data_tmp, mask_left(8))
52109 pack_tmp = ior(pack_tmp, data_tmp)
52111 packed_data(ipack) = pack_tmp
52112 data_tmp = full_data(idata)
52113 pack_tmp = ishft(data_tmp, 10)
52114 pack_tmp = ishft(pack_tmp, -10)
52116 data_tmp = full_data(idata)
52117 data_tmp = ishft(data_tmp, 2)
52118 data_tmp = iand(data_tmp, mask_left(10))
52119 pack_tmp = ior(pack_tmp, data_tmp)
52121 packed_data(ipack) = pack_tmp
52122 data_tmp = full_data(idata)
52123 pack_tmp = ishft(data_tmp, 12)
52124 pack_tmp = ishft(pack_tmp, -12)
52126 data_tmp = full_data(idata)
52127 data_tmp = ishft(data_tmp, 2)
52128 data_tmp = iand(data_tmp, mask_left(12))
52129 pack_tmp = ior(pack_tmp, data_tmp)
52131 packed_data(ipack) = pack_tmp
52132 data_tmp = full_data(idata)
52133 pack_tmp = ishft(data_tmp, 14)
52134 pack_tmp = ishft(pack_tmp, -14)
52136 data_tmp = full_data(idata)
52137 data_tmp = ishft(data_tmp, 2)
52138 data_tmp = iand(data_tmp, mask_left(14))
52139 pack_tmp = ior(pack_tmp, data_tmp)
52141 packed_data(ipack) = pack_tmp
52142 data_tmp = full_data(idata)
52143 pack_tmp = ishft(data_tmp, 16)
52144 pack_tmp = ishft(pack_tmp, -16)
52146 data_tmp = full_data(idata)
52147 data_tmp = ishft(data_tmp, 2)
52148 data_tmp = iand(data_tmp, mask_left(16))
52149 pack_tmp = ior(pack_tmp, data_tmp)
52151 packed_data(ipack) = pack_tmp
52152 data_tmp = full_data(idata)
52153 pack_tmp = ishft(data_tmp, 18)
52154 pack_tmp = ishft(pack_tmp, -18)
52156 data_tmp = full_data(idata)
52157 data_tmp = ishft(data_tmp, 2)
52158 data_tmp = iand(data_tmp, mask_left(18))
52159 pack_tmp = ior(pack_tmp, data_tmp)
52161 packed_data(ipack) = pack_tmp
52162 data_tmp = full_data(idata)
52163 pack_tmp = ishft(data_tmp, 20)
52164 pack_tmp = ishft(pack_tmp, -20)
52166 data_tmp = full_data(idata)
52167 data_tmp = ishft(data_tmp, 2)
52168 data_tmp = iand(data_tmp, mask_left(20))
52169 pack_tmp = ior(pack_tmp, data_tmp)
52171 packed_data(ipack) = pack_tmp
52172 data_tmp = full_data(idata)
52173 pack_tmp = ishft(data_tmp, 22)
52174 pack_tmp = ishft(pack_tmp, -22)
52176 data_tmp = full_data(idata)
52177 data_tmp = ishft(data_tmp, 2)
52178 data_tmp = iand(data_tmp, mask_left(22))
52179 pack_tmp = ior(pack_tmp, data_tmp)
52181 packed_data(ipack) = pack_tmp
52182 data_tmp = full_data(idata)
52183 pack_tmp = ishft(data_tmp, 24)
52184 pack_tmp = ishft(pack_tmp, -24)
52186 data_tmp = full_data(idata)
52187 data_tmp = ishft(data_tmp, 2)
52188 data_tmp = iand(data_tmp, mask_left(24))
52189 pack_tmp = ior(pack_tmp, data_tmp)
52191 packed_data(ipack) = pack_tmp
52192 data_tmp = full_data(idata)
52193 pack_tmp = ishft(data_tmp, 26)
52194 pack_tmp = ishft(pack_tmp, -26)
52196 data_tmp = full_data(idata)
52197 data_tmp = ishft(data_tmp, 2)
52198 data_tmp = iand(data_tmp, mask_left(26))
52199 pack_tmp = ior(pack_tmp, data_tmp)
52201 packed_data(ipack) = pack_tmp
52202 data_tmp = full_data(idata)
52203 pack_tmp = ishft(data_tmp, 28)
52204 pack_tmp = ishft(pack_tmp, -28)
52206 data_tmp = full_data(idata)
52207 data_tmp = ishft(data_tmp, 2)
52208 data_tmp = iand(data_tmp, mask_left(28))
52209 pack_tmp = ior(pack_tmp, data_tmp)
52211 packed_data(ipack) = pack_tmp
52212 data_tmp = full_data(idata)
52213 pack_tmp = ishft(data_tmp, 30)
52214 pack_tmp = ishft(pack_tmp, -30)
52216 data_tmp = full_data(idata)
52217 data_tmp = ishft(data_tmp, 2)
52218 data_tmp = iand(data_tmp, mask_left(30))
52219 pack_tmp = ior(pack_tmp, data_tmp)
52221 packed_data(ipack) = pack_tmp
52222 data_tmp = full_data(idata)
52223 pack_tmp = ishft(data_tmp, 32)
52224 pack_tmp = ishft(pack_tmp, -32)
52226 data_tmp = full_data(idata)
52227 data_tmp = ishft(data_tmp, 2)
52228 data_tmp = iand(data_tmp, mask_left(32))
52229 pack_tmp = ior(pack_tmp, data_tmp)
52231 packed_data(ipack) = pack_tmp
52232 data_tmp = full_data(idata)
52233 pack_tmp = ishft(data_tmp, 34)
52234 pack_tmp = ishft(pack_tmp, -34)
52236 data_tmp = full_data(idata)
52237 data_tmp = ishft(data_tmp, 2)
52238 data_tmp = iand(data_tmp, mask_left(34))
52239 pack_tmp = ior(pack_tmp, data_tmp)
52241 packed_data(ipack) = pack_tmp
52242 data_tmp = full_data(idata)
52243 pack_tmp = ishft(data_tmp, 36)
52244 pack_tmp = ishft(pack_tmp, -36)
52246 data_tmp = full_data(idata)
52247 data_tmp = ishft(data_tmp, 2)
52248 data_tmp = iand(data_tmp, mask_left(36))
52249 pack_tmp = ior(pack_tmp, data_tmp)
52251 packed_data(ipack) = pack_tmp
52252 data_tmp = full_data(idata)
52253 pack_tmp = ishft(data_tmp, 38)
52254 pack_tmp = ishft(pack_tmp, -38)
52256 data_tmp = full_data(idata)
52257 data_tmp = ishft(data_tmp, 2)
52258 data_tmp = iand(data_tmp, mask_left(38))
52259 pack_tmp = ior(pack_tmp, data_tmp)
52261 packed_data(ipack) = pack_tmp
52262 data_tmp = full_data(idata)
52263 pack_tmp = ishft(data_tmp, 40)
52264 pack_tmp = ishft(pack_tmp, -40)
52266 data_tmp = full_data(idata)
52267 data_tmp = ishft(data_tmp, 2)
52268 data_tmp = iand(data_tmp, mask_left(40))
52269 pack_tmp = ior(pack_tmp, data_tmp)
52271 packed_data(ipack) = pack_tmp
52272 data_tmp = full_data(idata)
52273 pack_tmp = ishft(data_tmp, 42)
52274 pack_tmp = ishft(pack_tmp, -42)
52276 data_tmp = full_data(idata)
52277 data_tmp = ishft(data_tmp, 2)
52278 data_tmp = iand(data_tmp, mask_left(42))
52279 pack_tmp = ior(pack_tmp, data_tmp)
52281 packed_data(ipack) = pack_tmp
52282 data_tmp = full_data(idata)
52283 pack_tmp = ishft(data_tmp, 44)
52284 pack_tmp = ishft(pack_tmp, -44)
52286 data_tmp = full_data(idata)
52287 data_tmp = ishft(data_tmp, 2)
52288 data_tmp = iand(data_tmp, mask_left(44))
52289 pack_tmp = ior(pack_tmp, data_tmp)
52291 packed_data(ipack) = pack_tmp
52292 data_tmp = full_data(idata)
52293 pack_tmp = ishft(data_tmp, 46)
52294 pack_tmp = ishft(pack_tmp, -46)
52296 data_tmp = full_data(idata)
52297 data_tmp = ishft(data_tmp, 2)
52298 data_tmp = iand(data_tmp, mask_left(46))
52299 pack_tmp = ior(pack_tmp, data_tmp)
52301 packed_data(ipack) = pack_tmp
52302 data_tmp = full_data(idata)
52303 pack_tmp = ishft(data_tmp, 48)
52304 pack_tmp = ishft(pack_tmp, -48)
52306 data_tmp = full_data(idata)
52307 data_tmp = ishft(data_tmp, 2)
52308 data_tmp = iand(data_tmp, mask_left(48))
52309 pack_tmp = ior(pack_tmp, data_tmp)
52311 packed_data(ipack) = pack_tmp
52312 data_tmp = full_data(idata)
52313 pack_tmp = ishft(data_tmp, 50)
52314 pack_tmp = ishft(pack_tmp, -50)
52316 data_tmp = full_data(idata)
52317 data_tmp = ishft(data_tmp, 2)
52318 data_tmp = iand(data_tmp, mask_left(50))
52319 pack_tmp = ior(pack_tmp, data_tmp)
52321 packed_data(ipack) = pack_tmp
52322 data_tmp = full_data(idata)
52323 pack_tmp = ishft(data_tmp, 52)
52324 pack_tmp = ishft(pack_tmp, -52)
52326 data_tmp = full_data(idata)
52327 data_tmp = ishft(data_tmp, 2)
52328 data_tmp = iand(data_tmp, mask_left(52))
52329 pack_tmp = ior(pack_tmp, data_tmp)
52331 packed_data(ipack) = pack_tmp
52332 data_tmp = full_data(idata)
52333 pack_tmp = ishft(data_tmp, 54)
52334 pack_tmp = ishft(pack_tmp, -54)
52336 data_tmp = full_data(idata)
52337 data_tmp = ishft(data_tmp, 2)
52338 data_tmp = iand(data_tmp, mask_left(54))
52339 pack_tmp = ior(pack_tmp, data_tmp)
52341 packed_data(ipack) = pack_tmp
52342 data_tmp = full_data(idata)
52343 pack_tmp = ishft(data_tmp, 56)
52344 pack_tmp = ishft(pack_tmp, -56)
52346 data_tmp = full_data(idata)
52347 data_tmp = ishft(data_tmp, 2)
52348 data_tmp = iand(data_tmp, mask_left(56))
52349 pack_tmp = ior(pack_tmp, data_tmp)
52351 packed_data(ipack) = pack_tmp
52352 data_tmp = full_data(idata)
52353 pack_tmp = ishft(data_tmp, 58)
52354 pack_tmp = ishft(pack_tmp, -58)
52356 data_tmp = full_data(idata)
52357 data_tmp = ishft(data_tmp, 2)
52358 data_tmp = iand(data_tmp, mask_left(58))
52359 pack_tmp = ior(pack_tmp, data_tmp)
52361 packed_data(ipack) = pack_tmp
52362 data_tmp = full_data(idata)
52363 pack_tmp = ishft(data_tmp, 60)
52364 pack_tmp = ishft(pack_tmp, -60)
52366 data_tmp = full_data(idata)
52367 data_tmp = ishft(data_tmp, 2)
52368 data_tmp = iand(data_tmp, mask_left(60))
52369 pack_tmp = ior(pack_tmp, data_tmp)
52371 packed_data(ipack) = pack_tmp
52372 data_tmp = full_data(idata)
52373 pack_tmp = ishft(data_tmp, 62)
52374 pack_tmp = ishft(pack_tmp, -62)
52376 data_tmp = full_data(idata)
52377 data_tmp = ishft(data_tmp, 2)
52378 pack_tmp = ior(pack_tmp, data_tmp)
52379 pack_tmp = ishft(pack_tmp, 0)
52380 pack_tmp = ishft(pack_tmp, 0)
52382 packed_data(ipack) = pack_tmp
52384 IF (ndata_rep < ndata)
THEN
52385 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
52387 END SUBROUTINE ints2bits_62
52395 SUBROUTINE bits2ints_62(Ndata, packed_data, full_data)
52396 INTEGER,
INTENT(IN) :: Ndata
52397 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
52398 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
52400 INTEGER,
PARAMETER :: Nbits = 62
52402 INTEGER :: idata, ipack, kdata, Ndata_rep
52403 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
52408 ndata_rep = (ndata/64)*64
52409 DO kdata = 1, ndata_rep, 64
52411 data_tmp = ishft(pack_tmp, 62)
52413 pack_tmp = packed_data(ipack)
52414 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(62)))
52415 pack_tmp = ishft(pack_tmp, -62)
52417 data_tmp = ishft(pack_tmp, 60)
52419 pack_tmp = packed_data(ipack)
52420 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
52421 pack_tmp = ishft(pack_tmp, -60)
52423 data_tmp = ishft(pack_tmp, 58)
52425 pack_tmp = packed_data(ipack)
52426 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(58)))
52427 pack_tmp = ishft(pack_tmp, -58)
52429 data_tmp = ishft(pack_tmp, 56)
52431 pack_tmp = packed_data(ipack)
52432 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
52433 pack_tmp = ishft(pack_tmp, -56)
52435 data_tmp = ishft(pack_tmp, 54)
52437 pack_tmp = packed_data(ipack)
52438 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
52439 pack_tmp = ishft(pack_tmp, -54)
52441 data_tmp = ishft(pack_tmp, 52)
52443 pack_tmp = packed_data(ipack)
52444 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
52445 pack_tmp = ishft(pack_tmp, -52)
52447 data_tmp = ishft(pack_tmp, 50)
52449 pack_tmp = packed_data(ipack)
52450 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
52451 pack_tmp = ishft(pack_tmp, -50)
52453 data_tmp = ishft(pack_tmp, 48)
52455 pack_tmp = packed_data(ipack)
52456 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
52457 pack_tmp = ishft(pack_tmp, -48)
52459 data_tmp = ishft(pack_tmp, 46)
52461 pack_tmp = packed_data(ipack)
52462 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
52463 pack_tmp = ishft(pack_tmp, -46)
52465 data_tmp = ishft(pack_tmp, 44)
52467 pack_tmp = packed_data(ipack)
52468 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
52469 pack_tmp = ishft(pack_tmp, -44)
52471 data_tmp = ishft(pack_tmp, 42)
52473 pack_tmp = packed_data(ipack)
52474 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
52475 pack_tmp = ishft(pack_tmp, -42)
52477 data_tmp = ishft(pack_tmp, 40)
52479 pack_tmp = packed_data(ipack)
52480 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
52481 pack_tmp = ishft(pack_tmp, -40)
52483 data_tmp = ishft(pack_tmp, 38)
52485 pack_tmp = packed_data(ipack)
52486 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
52487 pack_tmp = ishft(pack_tmp, -38)
52489 data_tmp = ishft(pack_tmp, 36)
52491 pack_tmp = packed_data(ipack)
52492 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
52493 pack_tmp = ishft(pack_tmp, -36)
52495 data_tmp = ishft(pack_tmp, 34)
52497 pack_tmp = packed_data(ipack)
52498 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
52499 pack_tmp = ishft(pack_tmp, -34)
52501 data_tmp = ishft(pack_tmp, 32)
52503 pack_tmp = packed_data(ipack)
52504 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
52505 pack_tmp = ishft(pack_tmp, -32)
52507 data_tmp = ishft(pack_tmp, 30)
52509 pack_tmp = packed_data(ipack)
52510 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
52511 pack_tmp = ishft(pack_tmp, -30)
52513 data_tmp = ishft(pack_tmp, 28)
52515 pack_tmp = packed_data(ipack)
52516 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
52517 pack_tmp = ishft(pack_tmp, -28)
52519 data_tmp = ishft(pack_tmp, 26)
52521 pack_tmp = packed_data(ipack)
52522 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
52523 pack_tmp = ishft(pack_tmp, -26)
52525 data_tmp = ishft(pack_tmp, 24)
52527 pack_tmp = packed_data(ipack)
52528 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
52529 pack_tmp = ishft(pack_tmp, -24)
52531 data_tmp = ishft(pack_tmp, 22)
52533 pack_tmp = packed_data(ipack)
52534 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
52535 pack_tmp = ishft(pack_tmp, -22)
52537 data_tmp = ishft(pack_tmp, 20)
52539 pack_tmp = packed_data(ipack)
52540 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
52541 pack_tmp = ishft(pack_tmp, -20)
52543 data_tmp = ishft(pack_tmp, 18)
52545 pack_tmp = packed_data(ipack)
52546 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
52547 pack_tmp = ishft(pack_tmp, -18)
52549 data_tmp = ishft(pack_tmp, 16)
52551 pack_tmp = packed_data(ipack)
52552 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
52553 pack_tmp = ishft(pack_tmp, -16)
52555 data_tmp = ishft(pack_tmp, 14)
52557 pack_tmp = packed_data(ipack)
52558 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
52559 pack_tmp = ishft(pack_tmp, -14)
52561 data_tmp = ishft(pack_tmp, 12)
52563 pack_tmp = packed_data(ipack)
52564 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
52565 pack_tmp = ishft(pack_tmp, -12)
52567 data_tmp = ishft(pack_tmp, 10)
52569 pack_tmp = packed_data(ipack)
52570 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
52571 pack_tmp = ishft(pack_tmp, -10)
52573 data_tmp = ishft(pack_tmp, 8)
52575 pack_tmp = packed_data(ipack)
52576 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
52577 pack_tmp = ishft(pack_tmp, -8)
52579 data_tmp = ishft(pack_tmp, 6)
52581 pack_tmp = packed_data(ipack)
52582 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
52583 pack_tmp = ishft(pack_tmp, -6)
52585 data_tmp = ishft(pack_tmp, 4)
52587 pack_tmp = packed_data(ipack)
52588 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
52589 pack_tmp = ishft(pack_tmp, -4)
52591 data_tmp = ishft(pack_tmp, 2)
52593 pack_tmp = packed_data(ipack)
52594 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
52595 pack_tmp = ishft(pack_tmp, -2)
52597 data_tmp = iand(pack_tmp, mask_right(nbits))
52598 full_data(idata) = data_tmp
52599 pack_tmp = ishft(pack_tmp, -nbits)
52601 data_tmp = ishft(pack_tmp, 62)
52603 pack_tmp = packed_data(ipack)
52604 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(62)))
52605 pack_tmp = ishft(pack_tmp, -62)
52607 data_tmp = ishft(pack_tmp, 60)
52609 pack_tmp = packed_data(ipack)
52610 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
52611 pack_tmp = ishft(pack_tmp, -60)
52613 data_tmp = ishft(pack_tmp, 58)
52615 pack_tmp = packed_data(ipack)
52616 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(58)))
52617 pack_tmp = ishft(pack_tmp, -58)
52619 data_tmp = ishft(pack_tmp, 56)
52621 pack_tmp = packed_data(ipack)
52622 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
52623 pack_tmp = ishft(pack_tmp, -56)
52625 data_tmp = ishft(pack_tmp, 54)
52627 pack_tmp = packed_data(ipack)
52628 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
52629 pack_tmp = ishft(pack_tmp, -54)
52631 data_tmp = ishft(pack_tmp, 52)
52633 pack_tmp = packed_data(ipack)
52634 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
52635 pack_tmp = ishft(pack_tmp, -52)
52637 data_tmp = ishft(pack_tmp, 50)
52639 pack_tmp = packed_data(ipack)
52640 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
52641 pack_tmp = ishft(pack_tmp, -50)
52643 data_tmp = ishft(pack_tmp, 48)
52645 pack_tmp = packed_data(ipack)
52646 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
52647 pack_tmp = ishft(pack_tmp, -48)
52649 data_tmp = ishft(pack_tmp, 46)
52651 pack_tmp = packed_data(ipack)
52652 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
52653 pack_tmp = ishft(pack_tmp, -46)
52655 data_tmp = ishft(pack_tmp, 44)
52657 pack_tmp = packed_data(ipack)
52658 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
52659 pack_tmp = ishft(pack_tmp, -44)
52661 data_tmp = ishft(pack_tmp, 42)
52663 pack_tmp = packed_data(ipack)
52664 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
52665 pack_tmp = ishft(pack_tmp, -42)
52667 data_tmp = ishft(pack_tmp, 40)
52669 pack_tmp = packed_data(ipack)
52670 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
52671 pack_tmp = ishft(pack_tmp, -40)
52673 data_tmp = ishft(pack_tmp, 38)
52675 pack_tmp = packed_data(ipack)
52676 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
52677 pack_tmp = ishft(pack_tmp, -38)
52679 data_tmp = ishft(pack_tmp, 36)
52681 pack_tmp = packed_data(ipack)
52682 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
52683 pack_tmp = ishft(pack_tmp, -36)
52685 data_tmp = ishft(pack_tmp, 34)
52687 pack_tmp = packed_data(ipack)
52688 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
52689 pack_tmp = ishft(pack_tmp, -34)
52691 data_tmp = ishft(pack_tmp, 32)
52693 pack_tmp = packed_data(ipack)
52694 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
52695 pack_tmp = ishft(pack_tmp, -32)
52697 data_tmp = ishft(pack_tmp, 30)
52699 pack_tmp = packed_data(ipack)
52700 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
52701 pack_tmp = ishft(pack_tmp, -30)
52703 data_tmp = ishft(pack_tmp, 28)
52705 pack_tmp = packed_data(ipack)
52706 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
52707 pack_tmp = ishft(pack_tmp, -28)
52709 data_tmp = ishft(pack_tmp, 26)
52711 pack_tmp = packed_data(ipack)
52712 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
52713 pack_tmp = ishft(pack_tmp, -26)
52715 data_tmp = ishft(pack_tmp, 24)
52717 pack_tmp = packed_data(ipack)
52718 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
52719 pack_tmp = ishft(pack_tmp, -24)
52721 data_tmp = ishft(pack_tmp, 22)
52723 pack_tmp = packed_data(ipack)
52724 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
52725 pack_tmp = ishft(pack_tmp, -22)
52727 data_tmp = ishft(pack_tmp, 20)
52729 pack_tmp = packed_data(ipack)
52730 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
52731 pack_tmp = ishft(pack_tmp, -20)
52733 data_tmp = ishft(pack_tmp, 18)
52735 pack_tmp = packed_data(ipack)
52736 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
52737 pack_tmp = ishft(pack_tmp, -18)
52739 data_tmp = ishft(pack_tmp, 16)
52741 pack_tmp = packed_data(ipack)
52742 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
52743 pack_tmp = ishft(pack_tmp, -16)
52745 data_tmp = ishft(pack_tmp, 14)
52747 pack_tmp = packed_data(ipack)
52748 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
52749 pack_tmp = ishft(pack_tmp, -14)
52751 data_tmp = ishft(pack_tmp, 12)
52753 pack_tmp = packed_data(ipack)
52754 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
52755 pack_tmp = ishft(pack_tmp, -12)
52757 data_tmp = ishft(pack_tmp, 10)
52759 pack_tmp = packed_data(ipack)
52760 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
52761 pack_tmp = ishft(pack_tmp, -10)
52763 data_tmp = ishft(pack_tmp, 8)
52765 pack_tmp = packed_data(ipack)
52766 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
52767 pack_tmp = ishft(pack_tmp, -8)
52769 data_tmp = ishft(pack_tmp, 6)
52771 pack_tmp = packed_data(ipack)
52772 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
52773 pack_tmp = ishft(pack_tmp, -6)
52775 data_tmp = ishft(pack_tmp, 4)
52777 pack_tmp = packed_data(ipack)
52778 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
52779 pack_tmp = ishft(pack_tmp, -4)
52781 data_tmp = ishft(pack_tmp, 2)
52783 pack_tmp = packed_data(ipack)
52784 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
52785 pack_tmp = ishft(pack_tmp, -2)
52787 data_tmp = iand(pack_tmp, mask_right(nbits))
52788 full_data(idata) = data_tmp
52789 pack_tmp = ishft(pack_tmp, -nbits)
52791 IF (ndata_rep < ndata)
THEN
52792 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
52794 END SUBROUTINE bits2ints_62
52802 SUBROUTINE ints2bits_63(Ndata, packed_data, full_data)
52803 INTEGER,
INTENT(IN) :: Ndata
52804 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
52805 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
52807 INTEGER,
PARAMETER :: Nbits = 63
52809 INTEGER :: idata, ipack, kdata, Ndata_rep
52810 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
52814 ndata_rep = (ndata/64)*64
52815 DO kdata = 1, ndata_rep, 64
52818 data_tmp = full_data(idata)
52819 data_tmp = ishft(data_tmp, 1)
52820 pack_tmp = ior(pack_tmp, data_tmp)
52821 pack_tmp = ishft(pack_tmp, -1)
52823 data_tmp = full_data(idata)
52824 data_tmp = ishft(data_tmp, 1)
52825 data_tmp = iand(data_tmp, mask_left(1))
52826 pack_tmp = ior(pack_tmp, data_tmp)
52828 packed_data(ipack) = pack_tmp
52829 data_tmp = full_data(idata)
52830 pack_tmp = ishft(data_tmp, 2)
52831 pack_tmp = ishft(pack_tmp, -2)
52833 data_tmp = full_data(idata)
52834 data_tmp = ishft(data_tmp, 1)
52835 data_tmp = iand(data_tmp, mask_left(2))
52836 pack_tmp = ior(pack_tmp, data_tmp)
52838 packed_data(ipack) = pack_tmp
52839 data_tmp = full_data(idata)
52840 pack_tmp = ishft(data_tmp, 3)
52841 pack_tmp = ishft(pack_tmp, -3)
52843 data_tmp = full_data(idata)
52844 data_tmp = ishft(data_tmp, 1)
52845 data_tmp = iand(data_tmp, mask_left(3))
52846 pack_tmp = ior(pack_tmp, data_tmp)
52848 packed_data(ipack) = pack_tmp
52849 data_tmp = full_data(idata)
52850 pack_tmp = ishft(data_tmp, 4)
52851 pack_tmp = ishft(pack_tmp, -4)
52853 data_tmp = full_data(idata)
52854 data_tmp = ishft(data_tmp, 1)
52855 data_tmp = iand(data_tmp, mask_left(4))
52856 pack_tmp = ior(pack_tmp, data_tmp)
52858 packed_data(ipack) = pack_tmp
52859 data_tmp = full_data(idata)
52860 pack_tmp = ishft(data_tmp, 5)
52861 pack_tmp = ishft(pack_tmp, -5)
52863 data_tmp = full_data(idata)
52864 data_tmp = ishft(data_tmp, 1)
52865 data_tmp = iand(data_tmp, mask_left(5))
52866 pack_tmp = ior(pack_tmp, data_tmp)
52868 packed_data(ipack) = pack_tmp
52869 data_tmp = full_data(idata)
52870 pack_tmp = ishft(data_tmp, 6)
52871 pack_tmp = ishft(pack_tmp, -6)
52873 data_tmp = full_data(idata)
52874 data_tmp = ishft(data_tmp, 1)
52875 data_tmp = iand(data_tmp, mask_left(6))
52876 pack_tmp = ior(pack_tmp, data_tmp)
52878 packed_data(ipack) = pack_tmp
52879 data_tmp = full_data(idata)
52880 pack_tmp = ishft(data_tmp, 7)
52881 pack_tmp = ishft(pack_tmp, -7)
52883 data_tmp = full_data(idata)
52884 data_tmp = ishft(data_tmp, 1)
52885 data_tmp = iand(data_tmp, mask_left(7))
52886 pack_tmp = ior(pack_tmp, data_tmp)
52888 packed_data(ipack) = pack_tmp
52889 data_tmp = full_data(idata)
52890 pack_tmp = ishft(data_tmp, 8)
52891 pack_tmp = ishft(pack_tmp, -8)
52893 data_tmp = full_data(idata)
52894 data_tmp = ishft(data_tmp, 1)
52895 data_tmp = iand(data_tmp, mask_left(8))
52896 pack_tmp = ior(pack_tmp, data_tmp)
52898 packed_data(ipack) = pack_tmp
52899 data_tmp = full_data(idata)
52900 pack_tmp = ishft(data_tmp, 9)
52901 pack_tmp = ishft(pack_tmp, -9)
52903 data_tmp = full_data(idata)
52904 data_tmp = ishft(data_tmp, 1)
52905 data_tmp = iand(data_tmp, mask_left(9))
52906 pack_tmp = ior(pack_tmp, data_tmp)
52908 packed_data(ipack) = pack_tmp
52909 data_tmp = full_data(idata)
52910 pack_tmp = ishft(data_tmp, 10)
52911 pack_tmp = ishft(pack_tmp, -10)
52913 data_tmp = full_data(idata)
52914 data_tmp = ishft(data_tmp, 1)
52915 data_tmp = iand(data_tmp, mask_left(10))
52916 pack_tmp = ior(pack_tmp, data_tmp)
52918 packed_data(ipack) = pack_tmp
52919 data_tmp = full_data(idata)
52920 pack_tmp = ishft(data_tmp, 11)
52921 pack_tmp = ishft(pack_tmp, -11)
52923 data_tmp = full_data(idata)
52924 data_tmp = ishft(data_tmp, 1)
52925 data_tmp = iand(data_tmp, mask_left(11))
52926 pack_tmp = ior(pack_tmp, data_tmp)
52928 packed_data(ipack) = pack_tmp
52929 data_tmp = full_data(idata)
52930 pack_tmp = ishft(data_tmp, 12)
52931 pack_tmp = ishft(pack_tmp, -12)
52933 data_tmp = full_data(idata)
52934 data_tmp = ishft(data_tmp, 1)
52935 data_tmp = iand(data_tmp, mask_left(12))
52936 pack_tmp = ior(pack_tmp, data_tmp)
52938 packed_data(ipack) = pack_tmp
52939 data_tmp = full_data(idata)
52940 pack_tmp = ishft(data_tmp, 13)
52941 pack_tmp = ishft(pack_tmp, -13)
52943 data_tmp = full_data(idata)
52944 data_tmp = ishft(data_tmp, 1)
52945 data_tmp = iand(data_tmp, mask_left(13))
52946 pack_tmp = ior(pack_tmp, data_tmp)
52948 packed_data(ipack) = pack_tmp
52949 data_tmp = full_data(idata)
52950 pack_tmp = ishft(data_tmp, 14)
52951 pack_tmp = ishft(pack_tmp, -14)
52953 data_tmp = full_data(idata)
52954 data_tmp = ishft(data_tmp, 1)
52955 data_tmp = iand(data_tmp, mask_left(14))
52956 pack_tmp = ior(pack_tmp, data_tmp)
52958 packed_data(ipack) = pack_tmp
52959 data_tmp = full_data(idata)
52960 pack_tmp = ishft(data_tmp, 15)
52961 pack_tmp = ishft(pack_tmp, -15)
52963 data_tmp = full_data(idata)
52964 data_tmp = ishft(data_tmp, 1)
52965 data_tmp = iand(data_tmp, mask_left(15))
52966 pack_tmp = ior(pack_tmp, data_tmp)
52968 packed_data(ipack) = pack_tmp
52969 data_tmp = full_data(idata)
52970 pack_tmp = ishft(data_tmp, 16)
52971 pack_tmp = ishft(pack_tmp, -16)
52973 data_tmp = full_data(idata)
52974 data_tmp = ishft(data_tmp, 1)
52975 data_tmp = iand(data_tmp, mask_left(16))
52976 pack_tmp = ior(pack_tmp, data_tmp)
52978 packed_data(ipack) = pack_tmp
52979 data_tmp = full_data(idata)
52980 pack_tmp = ishft(data_tmp, 17)
52981 pack_tmp = ishft(pack_tmp, -17)
52983 data_tmp = full_data(idata)
52984 data_tmp = ishft(data_tmp, 1)
52985 data_tmp = iand(data_tmp, mask_left(17))
52986 pack_tmp = ior(pack_tmp, data_tmp)
52988 packed_data(ipack) = pack_tmp
52989 data_tmp = full_data(idata)
52990 pack_tmp = ishft(data_tmp, 18)
52991 pack_tmp = ishft(pack_tmp, -18)
52993 data_tmp = full_data(idata)
52994 data_tmp = ishft(data_tmp, 1)
52995 data_tmp = iand(data_tmp, mask_left(18))
52996 pack_tmp = ior(pack_tmp, data_tmp)
52998 packed_data(ipack) = pack_tmp
52999 data_tmp = full_data(idata)
53000 pack_tmp = ishft(data_tmp, 19)
53001 pack_tmp = ishft(pack_tmp, -19)
53003 data_tmp = full_data(idata)
53004 data_tmp = ishft(data_tmp, 1)
53005 data_tmp = iand(data_tmp, mask_left(19))
53006 pack_tmp = ior(pack_tmp, data_tmp)
53008 packed_data(ipack) = pack_tmp
53009 data_tmp = full_data(idata)
53010 pack_tmp = ishft(data_tmp, 20)
53011 pack_tmp = ishft(pack_tmp, -20)
53013 data_tmp = full_data(idata)
53014 data_tmp = ishft(data_tmp, 1)
53015 data_tmp = iand(data_tmp, mask_left(20))
53016 pack_tmp = ior(pack_tmp, data_tmp)
53018 packed_data(ipack) = pack_tmp
53019 data_tmp = full_data(idata)
53020 pack_tmp = ishft(data_tmp, 21)
53021 pack_tmp = ishft(pack_tmp, -21)
53023 data_tmp = full_data(idata)
53024 data_tmp = ishft(data_tmp, 1)
53025 data_tmp = iand(data_tmp, mask_left(21))
53026 pack_tmp = ior(pack_tmp, data_tmp)
53028 packed_data(ipack) = pack_tmp
53029 data_tmp = full_data(idata)
53030 pack_tmp = ishft(data_tmp, 22)
53031 pack_tmp = ishft(pack_tmp, -22)
53033 data_tmp = full_data(idata)
53034 data_tmp = ishft(data_tmp, 1)
53035 data_tmp = iand(data_tmp, mask_left(22))
53036 pack_tmp = ior(pack_tmp, data_tmp)
53038 packed_data(ipack) = pack_tmp
53039 data_tmp = full_data(idata)
53040 pack_tmp = ishft(data_tmp, 23)
53041 pack_tmp = ishft(pack_tmp, -23)
53043 data_tmp = full_data(idata)
53044 data_tmp = ishft(data_tmp, 1)
53045 data_tmp = iand(data_tmp, mask_left(23))
53046 pack_tmp = ior(pack_tmp, data_tmp)
53048 packed_data(ipack) = pack_tmp
53049 data_tmp = full_data(idata)
53050 pack_tmp = ishft(data_tmp, 24)
53051 pack_tmp = ishft(pack_tmp, -24)
53053 data_tmp = full_data(idata)
53054 data_tmp = ishft(data_tmp, 1)
53055 data_tmp = iand(data_tmp, mask_left(24))
53056 pack_tmp = ior(pack_tmp, data_tmp)
53058 packed_data(ipack) = pack_tmp
53059 data_tmp = full_data(idata)
53060 pack_tmp = ishft(data_tmp, 25)
53061 pack_tmp = ishft(pack_tmp, -25)
53063 data_tmp = full_data(idata)
53064 data_tmp = ishft(data_tmp, 1)
53065 data_tmp = iand(data_tmp, mask_left(25))
53066 pack_tmp = ior(pack_tmp, data_tmp)
53068 packed_data(ipack) = pack_tmp
53069 data_tmp = full_data(idata)
53070 pack_tmp = ishft(data_tmp, 26)
53071 pack_tmp = ishft(pack_tmp, -26)
53073 data_tmp = full_data(idata)
53074 data_tmp = ishft(data_tmp, 1)
53075 data_tmp = iand(data_tmp, mask_left(26))
53076 pack_tmp = ior(pack_tmp, data_tmp)
53078 packed_data(ipack) = pack_tmp
53079 data_tmp = full_data(idata)
53080 pack_tmp = ishft(data_tmp, 27)
53081 pack_tmp = ishft(pack_tmp, -27)
53083 data_tmp = full_data(idata)
53084 data_tmp = ishft(data_tmp, 1)
53085 data_tmp = iand(data_tmp, mask_left(27))
53086 pack_tmp = ior(pack_tmp, data_tmp)
53088 packed_data(ipack) = pack_tmp
53089 data_tmp = full_data(idata)
53090 pack_tmp = ishft(data_tmp, 28)
53091 pack_tmp = ishft(pack_tmp, -28)
53093 data_tmp = full_data(idata)
53094 data_tmp = ishft(data_tmp, 1)
53095 data_tmp = iand(data_tmp, mask_left(28))
53096 pack_tmp = ior(pack_tmp, data_tmp)
53098 packed_data(ipack) = pack_tmp
53099 data_tmp = full_data(idata)
53100 pack_tmp = ishft(data_tmp, 29)
53101 pack_tmp = ishft(pack_tmp, -29)
53103 data_tmp = full_data(idata)
53104 data_tmp = ishft(data_tmp, 1)
53105 data_tmp = iand(data_tmp, mask_left(29))
53106 pack_tmp = ior(pack_tmp, data_tmp)
53108 packed_data(ipack) = pack_tmp
53109 data_tmp = full_data(idata)
53110 pack_tmp = ishft(data_tmp, 30)
53111 pack_tmp = ishft(pack_tmp, -30)
53113 data_tmp = full_data(idata)
53114 data_tmp = ishft(data_tmp, 1)
53115 data_tmp = iand(data_tmp, mask_left(30))
53116 pack_tmp = ior(pack_tmp, data_tmp)
53118 packed_data(ipack) = pack_tmp
53119 data_tmp = full_data(idata)
53120 pack_tmp = ishft(data_tmp, 31)
53121 pack_tmp = ishft(pack_tmp, -31)
53123 data_tmp = full_data(idata)
53124 data_tmp = ishft(data_tmp, 1)
53125 data_tmp = iand(data_tmp, mask_left(31))
53126 pack_tmp = ior(pack_tmp, data_tmp)
53128 packed_data(ipack) = pack_tmp
53129 data_tmp = full_data(idata)
53130 pack_tmp = ishft(data_tmp, 32)
53131 pack_tmp = ishft(pack_tmp, -32)
53133 data_tmp = full_data(idata)
53134 data_tmp = ishft(data_tmp, 1)
53135 data_tmp = iand(data_tmp, mask_left(32))
53136 pack_tmp = ior(pack_tmp, data_tmp)
53138 packed_data(ipack) = pack_tmp
53139 data_tmp = full_data(idata)
53140 pack_tmp = ishft(data_tmp, 33)
53141 pack_tmp = ishft(pack_tmp, -33)
53143 data_tmp = full_data(idata)
53144 data_tmp = ishft(data_tmp, 1)
53145 data_tmp = iand(data_tmp, mask_left(33))
53146 pack_tmp = ior(pack_tmp, data_tmp)
53148 packed_data(ipack) = pack_tmp
53149 data_tmp = full_data(idata)
53150 pack_tmp = ishft(data_tmp, 34)
53151 pack_tmp = ishft(pack_tmp, -34)
53153 data_tmp = full_data(idata)
53154 data_tmp = ishft(data_tmp, 1)
53155 data_tmp = iand(data_tmp, mask_left(34))
53156 pack_tmp = ior(pack_tmp, data_tmp)
53158 packed_data(ipack) = pack_tmp
53159 data_tmp = full_data(idata)
53160 pack_tmp = ishft(data_tmp, 35)
53161 pack_tmp = ishft(pack_tmp, -35)
53163 data_tmp = full_data(idata)
53164 data_tmp = ishft(data_tmp, 1)
53165 data_tmp = iand(data_tmp, mask_left(35))
53166 pack_tmp = ior(pack_tmp, data_tmp)
53168 packed_data(ipack) = pack_tmp
53169 data_tmp = full_data(idata)
53170 pack_tmp = ishft(data_tmp, 36)
53171 pack_tmp = ishft(pack_tmp, -36)
53173 data_tmp = full_data(idata)
53174 data_tmp = ishft(data_tmp, 1)
53175 data_tmp = iand(data_tmp, mask_left(36))
53176 pack_tmp = ior(pack_tmp, data_tmp)
53178 packed_data(ipack) = pack_tmp
53179 data_tmp = full_data(idata)
53180 pack_tmp = ishft(data_tmp, 37)
53181 pack_tmp = ishft(pack_tmp, -37)
53183 data_tmp = full_data(idata)
53184 data_tmp = ishft(data_tmp, 1)
53185 data_tmp = iand(data_tmp, mask_left(37))
53186 pack_tmp = ior(pack_tmp, data_tmp)
53188 packed_data(ipack) = pack_tmp
53189 data_tmp = full_data(idata)
53190 pack_tmp = ishft(data_tmp, 38)
53191 pack_tmp = ishft(pack_tmp, -38)
53193 data_tmp = full_data(idata)
53194 data_tmp = ishft(data_tmp, 1)
53195 data_tmp = iand(data_tmp, mask_left(38))
53196 pack_tmp = ior(pack_tmp, data_tmp)
53198 packed_data(ipack) = pack_tmp
53199 data_tmp = full_data(idata)
53200 pack_tmp = ishft(data_tmp, 39)
53201 pack_tmp = ishft(pack_tmp, -39)
53203 data_tmp = full_data(idata)
53204 data_tmp = ishft(data_tmp, 1)
53205 data_tmp = iand(data_tmp, mask_left(39))
53206 pack_tmp = ior(pack_tmp, data_tmp)
53208 packed_data(ipack) = pack_tmp
53209 data_tmp = full_data(idata)
53210 pack_tmp = ishft(data_tmp, 40)
53211 pack_tmp = ishft(pack_tmp, -40)
53213 data_tmp = full_data(idata)
53214 data_tmp = ishft(data_tmp, 1)
53215 data_tmp = iand(data_tmp, mask_left(40))
53216 pack_tmp = ior(pack_tmp, data_tmp)
53218 packed_data(ipack) = pack_tmp
53219 data_tmp = full_data(idata)
53220 pack_tmp = ishft(data_tmp, 41)
53221 pack_tmp = ishft(pack_tmp, -41)
53223 data_tmp = full_data(idata)
53224 data_tmp = ishft(data_tmp, 1)
53225 data_tmp = iand(data_tmp, mask_left(41))
53226 pack_tmp = ior(pack_tmp, data_tmp)
53228 packed_data(ipack) = pack_tmp
53229 data_tmp = full_data(idata)
53230 pack_tmp = ishft(data_tmp, 42)
53231 pack_tmp = ishft(pack_tmp, -42)
53233 data_tmp = full_data(idata)
53234 data_tmp = ishft(data_tmp, 1)
53235 data_tmp = iand(data_tmp, mask_left(42))
53236 pack_tmp = ior(pack_tmp, data_tmp)
53238 packed_data(ipack) = pack_tmp
53239 data_tmp = full_data(idata)
53240 pack_tmp = ishft(data_tmp, 43)
53241 pack_tmp = ishft(pack_tmp, -43)
53243 data_tmp = full_data(idata)
53244 data_tmp = ishft(data_tmp, 1)
53245 data_tmp = iand(data_tmp, mask_left(43))
53246 pack_tmp = ior(pack_tmp, data_tmp)
53248 packed_data(ipack) = pack_tmp
53249 data_tmp = full_data(idata)
53250 pack_tmp = ishft(data_tmp, 44)
53251 pack_tmp = ishft(pack_tmp, -44)
53253 data_tmp = full_data(idata)
53254 data_tmp = ishft(data_tmp, 1)
53255 data_tmp = iand(data_tmp, mask_left(44))
53256 pack_tmp = ior(pack_tmp, data_tmp)
53258 packed_data(ipack) = pack_tmp
53259 data_tmp = full_data(idata)
53260 pack_tmp = ishft(data_tmp, 45)
53261 pack_tmp = ishft(pack_tmp, -45)
53263 data_tmp = full_data(idata)
53264 data_tmp = ishft(data_tmp, 1)
53265 data_tmp = iand(data_tmp, mask_left(45))
53266 pack_tmp = ior(pack_tmp, data_tmp)
53268 packed_data(ipack) = pack_tmp
53269 data_tmp = full_data(idata)
53270 pack_tmp = ishft(data_tmp, 46)
53271 pack_tmp = ishft(pack_tmp, -46)
53273 data_tmp = full_data(idata)
53274 data_tmp = ishft(data_tmp, 1)
53275 data_tmp = iand(data_tmp, mask_left(46))
53276 pack_tmp = ior(pack_tmp, data_tmp)
53278 packed_data(ipack) = pack_tmp
53279 data_tmp = full_data(idata)
53280 pack_tmp = ishft(data_tmp, 47)
53281 pack_tmp = ishft(pack_tmp, -47)
53283 data_tmp = full_data(idata)
53284 data_tmp = ishft(data_tmp, 1)
53285 data_tmp = iand(data_tmp, mask_left(47))
53286 pack_tmp = ior(pack_tmp, data_tmp)
53288 packed_data(ipack) = pack_tmp
53289 data_tmp = full_data(idata)
53290 pack_tmp = ishft(data_tmp, 48)
53291 pack_tmp = ishft(pack_tmp, -48)
53293 data_tmp = full_data(idata)
53294 data_tmp = ishft(data_tmp, 1)
53295 data_tmp = iand(data_tmp, mask_left(48))
53296 pack_tmp = ior(pack_tmp, data_tmp)
53298 packed_data(ipack) = pack_tmp
53299 data_tmp = full_data(idata)
53300 pack_tmp = ishft(data_tmp, 49)
53301 pack_tmp = ishft(pack_tmp, -49)
53303 data_tmp = full_data(idata)
53304 data_tmp = ishft(data_tmp, 1)
53305 data_tmp = iand(data_tmp, mask_left(49))
53306 pack_tmp = ior(pack_tmp, data_tmp)
53308 packed_data(ipack) = pack_tmp
53309 data_tmp = full_data(idata)
53310 pack_tmp = ishft(data_tmp, 50)
53311 pack_tmp = ishft(pack_tmp, -50)
53313 data_tmp = full_data(idata)
53314 data_tmp = ishft(data_tmp, 1)
53315 data_tmp = iand(data_tmp, mask_left(50))
53316 pack_tmp = ior(pack_tmp, data_tmp)
53318 packed_data(ipack) = pack_tmp
53319 data_tmp = full_data(idata)
53320 pack_tmp = ishft(data_tmp, 51)
53321 pack_tmp = ishft(pack_tmp, -51)
53323 data_tmp = full_data(idata)
53324 data_tmp = ishft(data_tmp, 1)
53325 data_tmp = iand(data_tmp, mask_left(51))
53326 pack_tmp = ior(pack_tmp, data_tmp)
53328 packed_data(ipack) = pack_tmp
53329 data_tmp = full_data(idata)
53330 pack_tmp = ishft(data_tmp, 52)
53331 pack_tmp = ishft(pack_tmp, -52)
53333 data_tmp = full_data(idata)
53334 data_tmp = ishft(data_tmp, 1)
53335 data_tmp = iand(data_tmp, mask_left(52))
53336 pack_tmp = ior(pack_tmp, data_tmp)
53338 packed_data(ipack) = pack_tmp
53339 data_tmp = full_data(idata)
53340 pack_tmp = ishft(data_tmp, 53)
53341 pack_tmp = ishft(pack_tmp, -53)
53343 data_tmp = full_data(idata)
53344 data_tmp = ishft(data_tmp, 1)
53345 data_tmp = iand(data_tmp, mask_left(53))
53346 pack_tmp = ior(pack_tmp, data_tmp)
53348 packed_data(ipack) = pack_tmp
53349 data_tmp = full_data(idata)
53350 pack_tmp = ishft(data_tmp, 54)
53351 pack_tmp = ishft(pack_tmp, -54)
53353 data_tmp = full_data(idata)
53354 data_tmp = ishft(data_tmp, 1)
53355 data_tmp = iand(data_tmp, mask_left(54))
53356 pack_tmp = ior(pack_tmp, data_tmp)
53358 packed_data(ipack) = pack_tmp
53359 data_tmp = full_data(idata)
53360 pack_tmp = ishft(data_tmp, 55)
53361 pack_tmp = ishft(pack_tmp, -55)
53363 data_tmp = full_data(idata)
53364 data_tmp = ishft(data_tmp, 1)
53365 data_tmp = iand(data_tmp, mask_left(55))
53366 pack_tmp = ior(pack_tmp, data_tmp)
53368 packed_data(ipack) = pack_tmp
53369 data_tmp = full_data(idata)
53370 pack_tmp = ishft(data_tmp, 56)
53371 pack_tmp = ishft(pack_tmp, -56)
53373 data_tmp = full_data(idata)
53374 data_tmp = ishft(data_tmp, 1)
53375 data_tmp = iand(data_tmp, mask_left(56))
53376 pack_tmp = ior(pack_tmp, data_tmp)
53378 packed_data(ipack) = pack_tmp
53379 data_tmp = full_data(idata)
53380 pack_tmp = ishft(data_tmp, 57)
53381 pack_tmp = ishft(pack_tmp, -57)
53383 data_tmp = full_data(idata)
53384 data_tmp = ishft(data_tmp, 1)
53385 data_tmp = iand(data_tmp, mask_left(57))
53386 pack_tmp = ior(pack_tmp, data_tmp)
53388 packed_data(ipack) = pack_tmp
53389 data_tmp = full_data(idata)
53390 pack_tmp = ishft(data_tmp, 58)
53391 pack_tmp = ishft(pack_tmp, -58)
53393 data_tmp = full_data(idata)
53394 data_tmp = ishft(data_tmp, 1)
53395 data_tmp = iand(data_tmp, mask_left(58))
53396 pack_tmp = ior(pack_tmp, data_tmp)
53398 packed_data(ipack) = pack_tmp
53399 data_tmp = full_data(idata)
53400 pack_tmp = ishft(data_tmp, 59)
53401 pack_tmp = ishft(pack_tmp, -59)
53403 data_tmp = full_data(idata)
53404 data_tmp = ishft(data_tmp, 1)
53405 data_tmp = iand(data_tmp, mask_left(59))
53406 pack_tmp = ior(pack_tmp, data_tmp)
53408 packed_data(ipack) = pack_tmp
53409 data_tmp = full_data(idata)
53410 pack_tmp = ishft(data_tmp, 60)
53411 pack_tmp = ishft(pack_tmp, -60)
53413 data_tmp = full_data(idata)
53414 data_tmp = ishft(data_tmp, 1)
53415 data_tmp = iand(data_tmp, mask_left(60))
53416 pack_tmp = ior(pack_tmp, data_tmp)
53418 packed_data(ipack) = pack_tmp
53419 data_tmp = full_data(idata)
53420 pack_tmp = ishft(data_tmp, 61)
53421 pack_tmp = ishft(pack_tmp, -61)
53423 data_tmp = full_data(idata)
53424 data_tmp = ishft(data_tmp, 1)
53425 data_tmp = iand(data_tmp, mask_left(61))
53426 pack_tmp = ior(pack_tmp, data_tmp)
53428 packed_data(ipack) = pack_tmp
53429 data_tmp = full_data(idata)
53430 pack_tmp = ishft(data_tmp, 62)
53431 pack_tmp = ishft(pack_tmp, -62)
53433 data_tmp = full_data(idata)
53434 data_tmp = ishft(data_tmp, 1)
53435 data_tmp = iand(data_tmp, mask_left(62))
53436 pack_tmp = ior(pack_tmp, data_tmp)
53438 packed_data(ipack) = pack_tmp
53439 data_tmp = full_data(idata)
53440 pack_tmp = ishft(data_tmp, 63)
53441 pack_tmp = ishft(pack_tmp, -63)
53443 data_tmp = full_data(idata)
53444 data_tmp = ishft(data_tmp, 1)
53445 pack_tmp = ior(pack_tmp, data_tmp)
53446 pack_tmp = ishft(pack_tmp, 0)
53447 pack_tmp = ishft(pack_tmp, 0)
53449 packed_data(ipack) = pack_tmp
53451 IF (ndata_rep < ndata)
THEN
53452 CALL ints2bits_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
53454 END SUBROUTINE ints2bits_63
53462 SUBROUTINE bits2ints_63(Ndata, packed_data, full_data)
53463 INTEGER,
INTENT(IN) :: Ndata
53464 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
53465 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
53467 INTEGER,
PARAMETER :: Nbits = 63
53469 INTEGER :: idata, ipack, kdata, Ndata_rep
53470 INTEGER(KIND=int_8) :: data_tmp, pack_tmp
53475 ndata_rep = (ndata/64)*64
53476 DO kdata = 1, ndata_rep, 64
53478 data_tmp = ishft(pack_tmp, 63)
53480 pack_tmp = packed_data(ipack)
53481 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(63)))
53482 pack_tmp = ishft(pack_tmp, -63)
53484 data_tmp = ishft(pack_tmp, 62)
53486 pack_tmp = packed_data(ipack)
53487 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(62)))
53488 pack_tmp = ishft(pack_tmp, -62)
53490 data_tmp = ishft(pack_tmp, 61)
53492 pack_tmp = packed_data(ipack)
53493 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(61)))
53494 pack_tmp = ishft(pack_tmp, -61)
53496 data_tmp = ishft(pack_tmp, 60)
53498 pack_tmp = packed_data(ipack)
53499 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(60)))
53500 pack_tmp = ishft(pack_tmp, -60)
53502 data_tmp = ishft(pack_tmp, 59)
53504 pack_tmp = packed_data(ipack)
53505 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(59)))
53506 pack_tmp = ishft(pack_tmp, -59)
53508 data_tmp = ishft(pack_tmp, 58)
53510 pack_tmp = packed_data(ipack)
53511 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(58)))
53512 pack_tmp = ishft(pack_tmp, -58)
53514 data_tmp = ishft(pack_tmp, 57)
53516 pack_tmp = packed_data(ipack)
53517 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(57)))
53518 pack_tmp = ishft(pack_tmp, -57)
53520 data_tmp = ishft(pack_tmp, 56)
53522 pack_tmp = packed_data(ipack)
53523 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(56)))
53524 pack_tmp = ishft(pack_tmp, -56)
53526 data_tmp = ishft(pack_tmp, 55)
53528 pack_tmp = packed_data(ipack)
53529 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(55)))
53530 pack_tmp = ishft(pack_tmp, -55)
53532 data_tmp = ishft(pack_tmp, 54)
53534 pack_tmp = packed_data(ipack)
53535 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(54)))
53536 pack_tmp = ishft(pack_tmp, -54)
53538 data_tmp = ishft(pack_tmp, 53)
53540 pack_tmp = packed_data(ipack)
53541 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(53)))
53542 pack_tmp = ishft(pack_tmp, -53)
53544 data_tmp = ishft(pack_tmp, 52)
53546 pack_tmp = packed_data(ipack)
53547 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(52)))
53548 pack_tmp = ishft(pack_tmp, -52)
53550 data_tmp = ishft(pack_tmp, 51)
53552 pack_tmp = packed_data(ipack)
53553 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(51)))
53554 pack_tmp = ishft(pack_tmp, -51)
53556 data_tmp = ishft(pack_tmp, 50)
53558 pack_tmp = packed_data(ipack)
53559 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(50)))
53560 pack_tmp = ishft(pack_tmp, -50)
53562 data_tmp = ishft(pack_tmp, 49)
53564 pack_tmp = packed_data(ipack)
53565 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(49)))
53566 pack_tmp = ishft(pack_tmp, -49)
53568 data_tmp = ishft(pack_tmp, 48)
53570 pack_tmp = packed_data(ipack)
53571 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(48)))
53572 pack_tmp = ishft(pack_tmp, -48)
53574 data_tmp = ishft(pack_tmp, 47)
53576 pack_tmp = packed_data(ipack)
53577 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(47)))
53578 pack_tmp = ishft(pack_tmp, -47)
53580 data_tmp = ishft(pack_tmp, 46)
53582 pack_tmp = packed_data(ipack)
53583 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(46)))
53584 pack_tmp = ishft(pack_tmp, -46)
53586 data_tmp = ishft(pack_tmp, 45)
53588 pack_tmp = packed_data(ipack)
53589 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(45)))
53590 pack_tmp = ishft(pack_tmp, -45)
53592 data_tmp = ishft(pack_tmp, 44)
53594 pack_tmp = packed_data(ipack)
53595 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(44)))
53596 pack_tmp = ishft(pack_tmp, -44)
53598 data_tmp = ishft(pack_tmp, 43)
53600 pack_tmp = packed_data(ipack)
53601 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(43)))
53602 pack_tmp = ishft(pack_tmp, -43)
53604 data_tmp = ishft(pack_tmp, 42)
53606 pack_tmp = packed_data(ipack)
53607 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(42)))
53608 pack_tmp = ishft(pack_tmp, -42)
53610 data_tmp = ishft(pack_tmp, 41)
53612 pack_tmp = packed_data(ipack)
53613 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(41)))
53614 pack_tmp = ishft(pack_tmp, -41)
53616 data_tmp = ishft(pack_tmp, 40)
53618 pack_tmp = packed_data(ipack)
53619 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(40)))
53620 pack_tmp = ishft(pack_tmp, -40)
53622 data_tmp = ishft(pack_tmp, 39)
53624 pack_tmp = packed_data(ipack)
53625 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(39)))
53626 pack_tmp = ishft(pack_tmp, -39)
53628 data_tmp = ishft(pack_tmp, 38)
53630 pack_tmp = packed_data(ipack)
53631 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(38)))
53632 pack_tmp = ishft(pack_tmp, -38)
53634 data_tmp = ishft(pack_tmp, 37)
53636 pack_tmp = packed_data(ipack)
53637 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(37)))
53638 pack_tmp = ishft(pack_tmp, -37)
53640 data_tmp = ishft(pack_tmp, 36)
53642 pack_tmp = packed_data(ipack)
53643 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(36)))
53644 pack_tmp = ishft(pack_tmp, -36)
53646 data_tmp = ishft(pack_tmp, 35)
53648 pack_tmp = packed_data(ipack)
53649 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(35)))
53650 pack_tmp = ishft(pack_tmp, -35)
53652 data_tmp = ishft(pack_tmp, 34)
53654 pack_tmp = packed_data(ipack)
53655 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(34)))
53656 pack_tmp = ishft(pack_tmp, -34)
53658 data_tmp = ishft(pack_tmp, 33)
53660 pack_tmp = packed_data(ipack)
53661 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(33)))
53662 pack_tmp = ishft(pack_tmp, -33)
53664 data_tmp = ishft(pack_tmp, 32)
53666 pack_tmp = packed_data(ipack)
53667 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(32)))
53668 pack_tmp = ishft(pack_tmp, -32)
53670 data_tmp = ishft(pack_tmp, 31)
53672 pack_tmp = packed_data(ipack)
53673 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(31)))
53674 pack_tmp = ishft(pack_tmp, -31)
53676 data_tmp = ishft(pack_tmp, 30)
53678 pack_tmp = packed_data(ipack)
53679 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(30)))
53680 pack_tmp = ishft(pack_tmp, -30)
53682 data_tmp = ishft(pack_tmp, 29)
53684 pack_tmp = packed_data(ipack)
53685 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(29)))
53686 pack_tmp = ishft(pack_tmp, -29)
53688 data_tmp = ishft(pack_tmp, 28)
53690 pack_tmp = packed_data(ipack)
53691 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(28)))
53692 pack_tmp = ishft(pack_tmp, -28)
53694 data_tmp = ishft(pack_tmp, 27)
53696 pack_tmp = packed_data(ipack)
53697 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(27)))
53698 pack_tmp = ishft(pack_tmp, -27)
53700 data_tmp = ishft(pack_tmp, 26)
53702 pack_tmp = packed_data(ipack)
53703 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(26)))
53704 pack_tmp = ishft(pack_tmp, -26)
53706 data_tmp = ishft(pack_tmp, 25)
53708 pack_tmp = packed_data(ipack)
53709 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(25)))
53710 pack_tmp = ishft(pack_tmp, -25)
53712 data_tmp = ishft(pack_tmp, 24)
53714 pack_tmp = packed_data(ipack)
53715 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(24)))
53716 pack_tmp = ishft(pack_tmp, -24)
53718 data_tmp = ishft(pack_tmp, 23)
53720 pack_tmp = packed_data(ipack)
53721 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(23)))
53722 pack_tmp = ishft(pack_tmp, -23)
53724 data_tmp = ishft(pack_tmp, 22)
53726 pack_tmp = packed_data(ipack)
53727 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(22)))
53728 pack_tmp = ishft(pack_tmp, -22)
53730 data_tmp = ishft(pack_tmp, 21)
53732 pack_tmp = packed_data(ipack)
53733 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(21)))
53734 pack_tmp = ishft(pack_tmp, -21)
53736 data_tmp = ishft(pack_tmp, 20)
53738 pack_tmp = packed_data(ipack)
53739 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(20)))
53740 pack_tmp = ishft(pack_tmp, -20)
53742 data_tmp = ishft(pack_tmp, 19)
53744 pack_tmp = packed_data(ipack)
53745 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(19)))
53746 pack_tmp = ishft(pack_tmp, -19)
53748 data_tmp = ishft(pack_tmp, 18)
53750 pack_tmp = packed_data(ipack)
53751 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(18)))
53752 pack_tmp = ishft(pack_tmp, -18)
53754 data_tmp = ishft(pack_tmp, 17)
53756 pack_tmp = packed_data(ipack)
53757 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(17)))
53758 pack_tmp = ishft(pack_tmp, -17)
53760 data_tmp = ishft(pack_tmp, 16)
53762 pack_tmp = packed_data(ipack)
53763 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(16)))
53764 pack_tmp = ishft(pack_tmp, -16)
53766 data_tmp = ishft(pack_tmp, 15)
53768 pack_tmp = packed_data(ipack)
53769 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(15)))
53770 pack_tmp = ishft(pack_tmp, -15)
53772 data_tmp = ishft(pack_tmp, 14)
53774 pack_tmp = packed_data(ipack)
53775 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(14)))
53776 pack_tmp = ishft(pack_tmp, -14)
53778 data_tmp = ishft(pack_tmp, 13)
53780 pack_tmp = packed_data(ipack)
53781 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(13)))
53782 pack_tmp = ishft(pack_tmp, -13)
53784 data_tmp = ishft(pack_tmp, 12)
53786 pack_tmp = packed_data(ipack)
53787 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(12)))
53788 pack_tmp = ishft(pack_tmp, -12)
53790 data_tmp = ishft(pack_tmp, 11)
53792 pack_tmp = packed_data(ipack)
53793 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(11)))
53794 pack_tmp = ishft(pack_tmp, -11)
53796 data_tmp = ishft(pack_tmp, 10)
53798 pack_tmp = packed_data(ipack)
53799 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(10)))
53800 pack_tmp = ishft(pack_tmp, -10)
53802 data_tmp = ishft(pack_tmp, 9)
53804 pack_tmp = packed_data(ipack)
53805 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(9)))
53806 pack_tmp = ishft(pack_tmp, -9)
53808 data_tmp = ishft(pack_tmp, 8)
53810 pack_tmp = packed_data(ipack)
53811 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(8)))
53812 pack_tmp = ishft(pack_tmp, -8)
53814 data_tmp = ishft(pack_tmp, 7)
53816 pack_tmp = packed_data(ipack)
53817 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(7)))
53818 pack_tmp = ishft(pack_tmp, -7)
53820 data_tmp = ishft(pack_tmp, 6)
53822 pack_tmp = packed_data(ipack)
53823 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(6)))
53824 pack_tmp = ishft(pack_tmp, -6)
53826 data_tmp = ishft(pack_tmp, 5)
53828 pack_tmp = packed_data(ipack)
53829 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(5)))
53830 pack_tmp = ishft(pack_tmp, -5)
53832 data_tmp = ishft(pack_tmp, 4)
53834 pack_tmp = packed_data(ipack)
53835 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(4)))
53836 pack_tmp = ishft(pack_tmp, -4)
53838 data_tmp = ishft(pack_tmp, 3)
53840 pack_tmp = packed_data(ipack)
53841 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(3)))
53842 pack_tmp = ishft(pack_tmp, -3)
53844 data_tmp = ishft(pack_tmp, 2)
53846 pack_tmp = packed_data(ipack)
53847 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(2)))
53848 pack_tmp = ishft(pack_tmp, -2)
53850 data_tmp = ishft(pack_tmp, 1)
53852 pack_tmp = packed_data(ipack)
53853 full_data(idata) = ior(data_tmp, iand(pack_tmp, mask_right(1)))
53854 pack_tmp = ishft(pack_tmp, -1)
53856 data_tmp = iand(pack_tmp, mask_right(nbits))
53857 full_data(idata) = data_tmp
53858 pack_tmp = ishft(pack_tmp, -nbits)
53860 IF (ndata_rep < ndata)
THEN
53861 CALL bits2ints_generic(nbits, ndata - ndata_rep, packed_data(ipack + 1), full_data(ndata_rep + 1))
53863 END SUBROUTINE bits2ints_63
53873 INTEGER,
INTENT(IN) :: nbits, ndata
53874 INTEGER(KIND=int_8),
INTENT(OUT) :: packed_data(*)
53875 INTEGER(KIND=int_8),
INTENT(IN) :: full_data(*)
53877 SELECT CASE (nbits)
53879 CALL ints2bits_1(ndata, packed_data, full_data)
53881 CALL ints2bits_2(ndata, packed_data, full_data)
53883 CALL ints2bits_3(ndata, packed_data, full_data)
53885 CALL ints2bits_4(ndata, packed_data, full_data)
53887 CALL ints2bits_5(ndata, packed_data, full_data)
53889 CALL ints2bits_6(ndata, packed_data, full_data)
53891 CALL ints2bits_7(ndata, packed_data, full_data)
53893 CALL ints2bits_8(ndata, packed_data, full_data)
53895 CALL ints2bits_9(ndata, packed_data, full_data)
53897 CALL ints2bits_10(ndata, packed_data, full_data)
53899 CALL ints2bits_11(ndata, packed_data, full_data)
53901 CALL ints2bits_12(ndata, packed_data, full_data)
53903 CALL ints2bits_13(ndata, packed_data, full_data)
53905 CALL ints2bits_14(ndata, packed_data, full_data)
53907 CALL ints2bits_15(ndata, packed_data, full_data)
53909 CALL ints2bits_16(ndata, packed_data, full_data)
53911 CALL ints2bits_17(ndata, packed_data, full_data)
53913 CALL ints2bits_18(ndata, packed_data, full_data)
53915 CALL ints2bits_19(ndata, packed_data, full_data)
53917 CALL ints2bits_20(ndata, packed_data, full_data)
53919 CALL ints2bits_21(ndata, packed_data, full_data)
53921 CALL ints2bits_22(ndata, packed_data, full_data)
53923 CALL ints2bits_23(ndata, packed_data, full_data)
53925 CALL ints2bits_24(ndata, packed_data, full_data)
53927 CALL ints2bits_25(ndata, packed_data, full_data)
53929 CALL ints2bits_26(ndata, packed_data, full_data)
53931 CALL ints2bits_27(ndata, packed_data, full_data)
53933 CALL ints2bits_28(ndata, packed_data, full_data)
53935 CALL ints2bits_29(ndata, packed_data, full_data)
53937 CALL ints2bits_30(ndata, packed_data, full_data)
53939 CALL ints2bits_31(ndata, packed_data, full_data)
53941 CALL ints2bits_32(ndata, packed_data, full_data)
53943 CALL ints2bits_33(ndata, packed_data, full_data)
53945 CALL ints2bits_34(ndata, packed_data, full_data)
53947 CALL ints2bits_35(ndata, packed_data, full_data)
53949 CALL ints2bits_36(ndata, packed_data, full_data)
53951 CALL ints2bits_37(ndata, packed_data, full_data)
53953 CALL ints2bits_38(ndata, packed_data, full_data)
53955 CALL ints2bits_39(ndata, packed_data, full_data)
53957 CALL ints2bits_40(ndata, packed_data, full_data)
53959 CALL ints2bits_41(ndata, packed_data, full_data)
53961 CALL ints2bits_42(ndata, packed_data, full_data)
53963 CALL ints2bits_43(ndata, packed_data, full_data)
53965 CALL ints2bits_44(ndata, packed_data, full_data)
53967 CALL ints2bits_45(ndata, packed_data, full_data)
53969 CALL ints2bits_46(ndata, packed_data, full_data)
53971 CALL ints2bits_47(ndata, packed_data, full_data)
53973 CALL ints2bits_48(ndata, packed_data, full_data)
53975 CALL ints2bits_49(ndata, packed_data, full_data)
53977 CALL ints2bits_50(ndata, packed_data, full_data)
53979 CALL ints2bits_51(ndata, packed_data, full_data)
53981 CALL ints2bits_52(ndata, packed_data, full_data)
53983 CALL ints2bits_53(ndata, packed_data, full_data)
53985 CALL ints2bits_54(ndata, packed_data, full_data)
53987 CALL ints2bits_55(ndata, packed_data, full_data)
53989 CALL ints2bits_56(ndata, packed_data, full_data)
53991 CALL ints2bits_57(ndata, packed_data, full_data)
53993 CALL ints2bits_58(ndata, packed_data, full_data)
53995 CALL ints2bits_59(ndata, packed_data, full_data)
53997 CALL ints2bits_60(ndata, packed_data, full_data)
53999 CALL ints2bits_61(ndata, packed_data, full_data)
54001 CALL ints2bits_62(ndata, packed_data, full_data)
54003 CALL ints2bits_63(ndata, packed_data, full_data)
54015 INTEGER,
INTENT(IN) :: nbits, ndata
54016 INTEGER(KIND=int_8),
INTENT(IN) :: packed_data(*)
54017 INTEGER(KIND=int_8),
INTENT(OUT) :: full_data(*)
54019 SELECT CASE (nbits)
54021 CALL bits2ints_1(ndata, packed_data, full_data)
54023 CALL bits2ints_2(ndata, packed_data, full_data)
54025 CALL bits2ints_3(ndata, packed_data, full_data)
54027 CALL bits2ints_4(ndata, packed_data, full_data)
54029 CALL bits2ints_5(ndata, packed_data, full_data)
54031 CALL bits2ints_6(ndata, packed_data, full_data)
54033 CALL bits2ints_7(ndata, packed_data, full_data)
54035 CALL bits2ints_8(ndata, packed_data, full_data)
54037 CALL bits2ints_9(ndata, packed_data, full_data)
54039 CALL bits2ints_10(ndata, packed_data, full_data)
54041 CALL bits2ints_11(ndata, packed_data, full_data)
54043 CALL bits2ints_12(ndata, packed_data, full_data)
54045 CALL bits2ints_13(ndata, packed_data, full_data)
54047 CALL bits2ints_14(ndata, packed_data, full_data)
54049 CALL bits2ints_15(ndata, packed_data, full_data)
54051 CALL bits2ints_16(ndata, packed_data, full_data)
54053 CALL bits2ints_17(ndata, packed_data, full_data)
54055 CALL bits2ints_18(ndata, packed_data, full_data)
54057 CALL bits2ints_19(ndata, packed_data, full_data)
54059 CALL bits2ints_20(ndata, packed_data, full_data)
54061 CALL bits2ints_21(ndata, packed_data, full_data)
54063 CALL bits2ints_22(ndata, packed_data, full_data)
54065 CALL bits2ints_23(ndata, packed_data, full_data)
54067 CALL bits2ints_24(ndata, packed_data, full_data)
54069 CALL bits2ints_25(ndata, packed_data, full_data)
54071 CALL bits2ints_26(ndata, packed_data, full_data)
54073 CALL bits2ints_27(ndata, packed_data, full_data)
54075 CALL bits2ints_28(ndata, packed_data, full_data)
54077 CALL bits2ints_29(ndata, packed_data, full_data)
54079 CALL bits2ints_30(ndata, packed_data, full_data)
54081 CALL bits2ints_31(ndata, packed_data, full_data)
54083 CALL bits2ints_32(ndata, packed_data, full_data)
54085 CALL bits2ints_33(ndata, packed_data, full_data)
54087 CALL bits2ints_34(ndata, packed_data, full_data)
54089 CALL bits2ints_35(ndata, packed_data, full_data)
54091 CALL bits2ints_36(ndata, packed_data, full_data)
54093 CALL bits2ints_37(ndata, packed_data, full_data)
54095 CALL bits2ints_38(ndata, packed_data, full_data)
54097 CALL bits2ints_39(ndata, packed_data, full_data)
54099 CALL bits2ints_40(ndata, packed_data, full_data)
54101 CALL bits2ints_41(ndata, packed_data, full_data)
54103 CALL bits2ints_42(ndata, packed_data, full_data)
54105 CALL bits2ints_43(ndata, packed_data, full_data)
54107 CALL bits2ints_44(ndata, packed_data, full_data)
54109 CALL bits2ints_45(ndata, packed_data, full_data)
54111 CALL bits2ints_46(ndata, packed_data, full_data)
54113 CALL bits2ints_47(ndata, packed_data, full_data)
54115 CALL bits2ints_48(ndata, packed_data, full_data)
54117 CALL bits2ints_49(ndata, packed_data, full_data)
54119 CALL bits2ints_50(ndata, packed_data, full_data)
54121 CALL bits2ints_51(ndata, packed_data, full_data)
54123 CALL bits2ints_52(ndata, packed_data, full_data)
54125 CALL bits2ints_53(ndata, packed_data, full_data)
54127 CALL bits2ints_54(ndata, packed_data, full_data)
54129 CALL bits2ints_55(ndata, packed_data, full_data)
54131 CALL bits2ints_56(ndata, packed_data, full_data)
54133 CALL bits2ints_57(ndata, packed_data, full_data)
54135 CALL bits2ints_58(ndata, packed_data, full_data)
54137 CALL bits2ints_59(ndata, packed_data, full_data)
54139 CALL bits2ints_60(ndata, packed_data, full_data)
54141 CALL bits2ints_61(ndata, packed_data, full_data)
54143 CALL bits2ints_62(ndata, packed_data, full_data)
54145 CALL bits2ints_63(ndata, packed_data, full_data)
Contains routines for data compression. PLEASE DO NOT MODIFY.
subroutine, public bits2ints_specific(nbits, ndata, packed_data, full_data)
...
subroutine, public ints2bits_specific(nbits, ndata, packed_data, full_data)
...
Defines the basic variable types.
integer, parameter, public int_8