Line data Source code
1 : !--------------------------------------------------------------------------------------------------!
2 : ! CP2K: A general program to perform molecular dynamics simulations !
3 : ! Copyright 2000-2026 CP2K developers group <https://cp2k.org> !
4 : ! !
5 : ! SPDX-License-Identifier: GPL-2.0-or-later !
6 : !--------------------------------------------------------------------------------------------------!
7 :
8 : ! **************************************************************************************************
9 : !> \brief Contains routines for data compression. PLEASE DO NOT MODIFY.
10 : !> \par History
11 : !> 04.2008 created [Manuel Guidon]
12 : !> \author Manuel Guidon
13 : ! **************************************************************************************************
14 : MODULE hfx_compression_core_methods
15 :
16 : USE kinds, ONLY: int_8
17 : #include "../base/base_uses.f90"
18 :
19 : IMPLICIT NONE
20 : PRIVATE
21 :
22 : ! masks the corresponding number of bits from the right
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/)
37 :
38 : ! masks the corresponding number of bits from the left
39 : ! use ishft to avoid explicitly writing -HUGE-1, and keep it out of the array a work-around for a bug in pgi 6.1-1
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, &
55 : -2_int_8/)
56 :
57 : PUBLIC :: bits2ints_specific, ints2bits_specific
58 :
59 : CONTAINS
60 :
61 : ! **************************************************************************************************
62 : !> \brief ...
63 : !> \param Ndata ...
64 : !> \param packed_data ...
65 : !> \param full_data ...
66 : ! **************************************************************************************************
67 0 : 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(*)
71 :
72 0 : full_data(1:Ndata) = packed_data(1:Ndata)
73 0 : END SUBROUTINE
74 :
75 : ! Nbits : number of relevant bits per int in the bit stream (this includes all bits)
76 : ! Ndata : number of ints that need to be extracted from the bit stream
77 : ! packed_data : the stream of bits
78 : ! full_data : the extracted ints
79 : ! **************************************************************************************************
80 : !> \brief ...
81 : !> \param Nbits ...
82 : !> \param Ndata ...
83 : !> \param packed_data ...
84 : !> \param full_data ...
85 : ! **************************************************************************************************
86 1582856 : SUBROUTINE bits2ints_generic(Nbits, Ndata, packed_data, full_data)
87 :
88 : INTEGER, INTENT(IN) :: Nbits, Ndata
89 : INTEGER(KIND=int_8), INTENT(IN) :: packed_data(*)
90 : INTEGER(KIND=int_8), INTENT(OUT) :: full_data(*)
91 :
92 : INTEGER :: i_odd_bits, ibits_remaining, idata, ipack
93 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
94 :
95 1582856 : idata = 0
96 :
97 : ! number of data bits in the pack_tmp that should still be read
98 1582856 : ibits_remaining = 64
99 1582856 : ipack = 1
100 1582856 : pack_tmp = packed_data(ipack)
101 :
102 : ! give the compiler a hint that Nbits is strictly positive
103 1582856 : IF (Nbits < 1) CPABORT("This is a bug")
104 : ! we also limit the making number of bits
105 1582856 : IF (Nbits >= 64) CPABORT("This is a bug")
106 :
107 : DO
108 : ! we've unpacked all data
109 52234248 : IF (idata == Ndata) EXIT
110 50651392 : idata = idata + 1
111 52234248 : IF (ibits_remaining >= Nbits) THEN
112 26352645 : data_tmp = IAND(pack_tmp, mask_right(Nbits)) ! get the last Nbits
113 26352645 : full_data(idata) = data_tmp
114 26352645 : pack_tmp = ISHFT(pack_tmp, -Nbits) ! and shift right to get the bits in place for the next
115 26352645 : ibits_remaining = ibits_remaining - Nbits
116 : ELSE
117 24298747 : i_odd_bits = Nbits - ibits_remaining
118 24298747 : data_tmp = ISHFT(pack_tmp, i_odd_bits) ! use all remaining bits, shifted left to make place for the missing bits
119 24298747 : ipack = ipack + 1
120 24298747 : pack_tmp = packed_data(ipack) ! get new storage
121 24298747 : ibits_remaining = 64
122 24298747 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(i_odd_bits))) ! and use the missing bits to assemble the data
123 24298747 : pack_tmp = ISHFT(pack_tmp, -i_odd_bits) ! shift right to get the bits in place for the next
124 24298747 : ibits_remaining = 64 - i_odd_bits
125 : END IF
126 : END DO
127 :
128 1582856 : END SUBROUTINE bits2ints_generic
129 :
130 : ! **************************************************************************************************
131 : !> \brief ...
132 : !> \param Nbits ...
133 : !> \param Ndata ...
134 : !> \param packed_data ...
135 : !> \param full_data ...
136 : ! **************************************************************************************************
137 271650 : 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(*)
141 :
142 : INTEGER :: i_odd_bits, ibits_remaining, idata, ipack
143 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
144 :
145 271650 : idata = 0
146 271650 : ipack = 0
147 271650 : pack_tmp = 0
148 :
149 : ! number of data bits in the pack_tmp that should still be written
150 271650 : ibits_remaining = 64
151 :
152 : ! give the compiler a hint that Nbits is strictly positive
153 271650 : IF (Nbits < 1) CPABORT("This is a bug")
154 : ! we also limit the making number of bits
155 271650 : IF (Nbits >= 64) CPABORT("This is a bug")
156 :
157 : DO
158 : ! we've packed all data
159 8964450 : IF (idata == Ndata) EXIT
160 8692800 : idata = idata + 1
161 8964450 : IF (ibits_remaining >= Nbits) THEN
162 4437136 : data_tmp = full_data(idata)
163 4437136 : data_tmp = ISHFT(data_tmp, 64 - Nbits) ! put bits on the left
164 4437136 : pack_tmp = IOR(pack_tmp, data_tmp) ! add to the packed data
165 4437136 : ibits_remaining = ibits_remaining - Nbits
166 4437136 : pack_tmp = ISHFT(pack_tmp, -MIN(Nbits, ibits_remaining)) ! and shift to the right to make place for the next
167 : ELSE
168 4255664 : i_odd_bits = ibits_remaining
169 4255664 : data_tmp = full_data(idata)
170 4255664 : data_tmp = ISHFT(data_tmp, 64 - Nbits) ! put bits on the left
171 4255664 : data_tmp = IAND(data_tmp, mask_left(i_odd_bits)) ! restrict to those bits for which we still have space
172 4255664 : pack_tmp = IOR(pack_tmp, data_tmp) ! add them to the packed bits
173 4255664 : ipack = ipack + 1
174 4255664 : packed_data(ipack) = pack_tmp ! store the full packed data away and start with a new one
175 4255664 : data_tmp = full_data(idata)
176 4255664 : pack_tmp = ISHFT(data_tmp, 64 - Nbits + i_odd_bits) ! put the missing bits on the left if pack_tmp
177 4255664 : ibits_remaining = 64 - Nbits + i_odd_bits
178 4255664 : pack_tmp = ISHFT(pack_tmp, -MIN(Nbits, ibits_remaining)) ! shift to make place, but not more than the number of available bits
179 : END IF
180 : END DO
181 :
182 : ! cleanup this unfinished packed data and store
183 271650 : pack_tmp = ISHFT(pack_tmp, -MAX(0, ibits_remaining - Nbits))
184 271650 : ipack = ipack + 1
185 271650 : packed_data(ipack) = pack_tmp
186 :
187 271650 : END SUBROUTINE ints2bits_generic
188 :
189 : ! **************************************************************************************************
190 : !> \brief ...
191 : !> \param Ndata ...
192 : !> \param packed_data ...
193 : !> \param full_data ...
194 : ! **************************************************************************************************
195 24432 : 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(*)
199 :
200 : INTEGER, PARAMETER :: Nbits = 1
201 :
202 : INTEGER :: idata, ipack, kdata, Ndata_rep
203 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
204 :
205 24432 : idata = 0
206 24432 : ipack = 0
207 24432 : Ndata_rep = (Ndata/64)*64
208 24432 : DO kdata = 1, Ndata_rep, 64
209 390912 : pack_tmp = 0
210 390912 : idata = idata + 1
211 390912 : data_tmp = full_data(idata)
212 390912 : data_tmp = ISHFT(data_tmp, 63)
213 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
214 390912 : pack_tmp = ISHFT(pack_tmp, -1)
215 390912 : idata = idata + 1
216 390912 : data_tmp = full_data(idata)
217 390912 : data_tmp = ISHFT(data_tmp, 63)
218 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
219 390912 : pack_tmp = ISHFT(pack_tmp, -1)
220 390912 : idata = idata + 1
221 390912 : data_tmp = full_data(idata)
222 390912 : data_tmp = ISHFT(data_tmp, 63)
223 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
224 390912 : pack_tmp = ISHFT(pack_tmp, -1)
225 390912 : idata = idata + 1
226 390912 : data_tmp = full_data(idata)
227 390912 : data_tmp = ISHFT(data_tmp, 63)
228 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
229 390912 : pack_tmp = ISHFT(pack_tmp, -1)
230 390912 : idata = idata + 1
231 390912 : data_tmp = full_data(idata)
232 390912 : data_tmp = ISHFT(data_tmp, 63)
233 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
234 390912 : pack_tmp = ISHFT(pack_tmp, -1)
235 390912 : idata = idata + 1
236 390912 : data_tmp = full_data(idata)
237 390912 : data_tmp = ISHFT(data_tmp, 63)
238 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
239 390912 : pack_tmp = ISHFT(pack_tmp, -1)
240 390912 : idata = idata + 1
241 390912 : data_tmp = full_data(idata)
242 390912 : data_tmp = ISHFT(data_tmp, 63)
243 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
244 390912 : pack_tmp = ISHFT(pack_tmp, -1)
245 390912 : idata = idata + 1
246 390912 : data_tmp = full_data(idata)
247 390912 : data_tmp = ISHFT(data_tmp, 63)
248 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
249 390912 : pack_tmp = ISHFT(pack_tmp, -1)
250 390912 : idata = idata + 1
251 390912 : data_tmp = full_data(idata)
252 390912 : data_tmp = ISHFT(data_tmp, 63)
253 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
254 390912 : pack_tmp = ISHFT(pack_tmp, -1)
255 390912 : idata = idata + 1
256 390912 : data_tmp = full_data(idata)
257 390912 : data_tmp = ISHFT(data_tmp, 63)
258 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
259 390912 : pack_tmp = ISHFT(pack_tmp, -1)
260 390912 : idata = idata + 1
261 390912 : data_tmp = full_data(idata)
262 390912 : data_tmp = ISHFT(data_tmp, 63)
263 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
264 390912 : pack_tmp = ISHFT(pack_tmp, -1)
265 390912 : idata = idata + 1
266 390912 : data_tmp = full_data(idata)
267 390912 : data_tmp = ISHFT(data_tmp, 63)
268 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
269 390912 : pack_tmp = ISHFT(pack_tmp, -1)
270 390912 : idata = idata + 1
271 390912 : data_tmp = full_data(idata)
272 390912 : data_tmp = ISHFT(data_tmp, 63)
273 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
274 390912 : pack_tmp = ISHFT(pack_tmp, -1)
275 390912 : idata = idata + 1
276 390912 : data_tmp = full_data(idata)
277 390912 : data_tmp = ISHFT(data_tmp, 63)
278 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
279 390912 : pack_tmp = ISHFT(pack_tmp, -1)
280 390912 : idata = idata + 1
281 390912 : data_tmp = full_data(idata)
282 390912 : data_tmp = ISHFT(data_tmp, 63)
283 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
284 390912 : pack_tmp = ISHFT(pack_tmp, -1)
285 390912 : idata = idata + 1
286 390912 : data_tmp = full_data(idata)
287 390912 : data_tmp = ISHFT(data_tmp, 63)
288 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
289 390912 : pack_tmp = ISHFT(pack_tmp, -1)
290 390912 : idata = idata + 1
291 390912 : data_tmp = full_data(idata)
292 390912 : data_tmp = ISHFT(data_tmp, 63)
293 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
294 390912 : pack_tmp = ISHFT(pack_tmp, -1)
295 390912 : idata = idata + 1
296 390912 : data_tmp = full_data(idata)
297 390912 : data_tmp = ISHFT(data_tmp, 63)
298 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
299 390912 : pack_tmp = ISHFT(pack_tmp, -1)
300 390912 : idata = idata + 1
301 390912 : data_tmp = full_data(idata)
302 390912 : data_tmp = ISHFT(data_tmp, 63)
303 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
304 390912 : pack_tmp = ISHFT(pack_tmp, -1)
305 390912 : idata = idata + 1
306 390912 : data_tmp = full_data(idata)
307 390912 : data_tmp = ISHFT(data_tmp, 63)
308 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
309 390912 : pack_tmp = ISHFT(pack_tmp, -1)
310 390912 : idata = idata + 1
311 390912 : data_tmp = full_data(idata)
312 390912 : data_tmp = ISHFT(data_tmp, 63)
313 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
314 390912 : pack_tmp = ISHFT(pack_tmp, -1)
315 390912 : idata = idata + 1
316 390912 : data_tmp = full_data(idata)
317 390912 : data_tmp = ISHFT(data_tmp, 63)
318 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
319 390912 : pack_tmp = ISHFT(pack_tmp, -1)
320 390912 : idata = idata + 1
321 390912 : data_tmp = full_data(idata)
322 390912 : data_tmp = ISHFT(data_tmp, 63)
323 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
324 390912 : pack_tmp = ISHFT(pack_tmp, -1)
325 390912 : idata = idata + 1
326 390912 : data_tmp = full_data(idata)
327 390912 : data_tmp = ISHFT(data_tmp, 63)
328 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
329 390912 : pack_tmp = ISHFT(pack_tmp, -1)
330 390912 : idata = idata + 1
331 390912 : data_tmp = full_data(idata)
332 390912 : data_tmp = ISHFT(data_tmp, 63)
333 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
334 390912 : pack_tmp = ISHFT(pack_tmp, -1)
335 390912 : idata = idata + 1
336 390912 : data_tmp = full_data(idata)
337 390912 : data_tmp = ISHFT(data_tmp, 63)
338 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
339 390912 : pack_tmp = ISHFT(pack_tmp, -1)
340 390912 : idata = idata + 1
341 390912 : data_tmp = full_data(idata)
342 390912 : data_tmp = ISHFT(data_tmp, 63)
343 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
344 390912 : pack_tmp = ISHFT(pack_tmp, -1)
345 390912 : idata = idata + 1
346 390912 : data_tmp = full_data(idata)
347 390912 : data_tmp = ISHFT(data_tmp, 63)
348 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
349 390912 : pack_tmp = ISHFT(pack_tmp, -1)
350 390912 : idata = idata + 1
351 390912 : data_tmp = full_data(idata)
352 390912 : data_tmp = ISHFT(data_tmp, 63)
353 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
354 390912 : pack_tmp = ISHFT(pack_tmp, -1)
355 390912 : idata = idata + 1
356 390912 : data_tmp = full_data(idata)
357 390912 : data_tmp = ISHFT(data_tmp, 63)
358 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
359 390912 : pack_tmp = ISHFT(pack_tmp, -1)
360 390912 : idata = idata + 1
361 390912 : data_tmp = full_data(idata)
362 390912 : data_tmp = ISHFT(data_tmp, 63)
363 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
364 390912 : pack_tmp = ISHFT(pack_tmp, -1)
365 390912 : idata = idata + 1
366 390912 : data_tmp = full_data(idata)
367 390912 : data_tmp = ISHFT(data_tmp, 63)
368 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
369 390912 : pack_tmp = ISHFT(pack_tmp, -1)
370 390912 : idata = idata + 1
371 390912 : data_tmp = full_data(idata)
372 390912 : data_tmp = ISHFT(data_tmp, 63)
373 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
374 390912 : pack_tmp = ISHFT(pack_tmp, -1)
375 390912 : idata = idata + 1
376 390912 : data_tmp = full_data(idata)
377 390912 : data_tmp = ISHFT(data_tmp, 63)
378 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
379 390912 : pack_tmp = ISHFT(pack_tmp, -1)
380 390912 : idata = idata + 1
381 390912 : data_tmp = full_data(idata)
382 390912 : data_tmp = ISHFT(data_tmp, 63)
383 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
384 390912 : pack_tmp = ISHFT(pack_tmp, -1)
385 390912 : idata = idata + 1
386 390912 : data_tmp = full_data(idata)
387 390912 : data_tmp = ISHFT(data_tmp, 63)
388 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
389 390912 : pack_tmp = ISHFT(pack_tmp, -1)
390 390912 : idata = idata + 1
391 390912 : data_tmp = full_data(idata)
392 390912 : data_tmp = ISHFT(data_tmp, 63)
393 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
394 390912 : pack_tmp = ISHFT(pack_tmp, -1)
395 390912 : idata = idata + 1
396 390912 : data_tmp = full_data(idata)
397 390912 : data_tmp = ISHFT(data_tmp, 63)
398 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
399 390912 : pack_tmp = ISHFT(pack_tmp, -1)
400 390912 : idata = idata + 1
401 390912 : data_tmp = full_data(idata)
402 390912 : data_tmp = ISHFT(data_tmp, 63)
403 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
404 390912 : pack_tmp = ISHFT(pack_tmp, -1)
405 390912 : idata = idata + 1
406 390912 : data_tmp = full_data(idata)
407 390912 : data_tmp = ISHFT(data_tmp, 63)
408 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
409 390912 : pack_tmp = ISHFT(pack_tmp, -1)
410 390912 : idata = idata + 1
411 390912 : data_tmp = full_data(idata)
412 390912 : data_tmp = ISHFT(data_tmp, 63)
413 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
414 390912 : pack_tmp = ISHFT(pack_tmp, -1)
415 390912 : idata = idata + 1
416 390912 : data_tmp = full_data(idata)
417 390912 : data_tmp = ISHFT(data_tmp, 63)
418 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
419 390912 : pack_tmp = ISHFT(pack_tmp, -1)
420 390912 : idata = idata + 1
421 390912 : data_tmp = full_data(idata)
422 390912 : data_tmp = ISHFT(data_tmp, 63)
423 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
424 390912 : pack_tmp = ISHFT(pack_tmp, -1)
425 390912 : idata = idata + 1
426 390912 : data_tmp = full_data(idata)
427 390912 : data_tmp = ISHFT(data_tmp, 63)
428 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
429 390912 : pack_tmp = ISHFT(pack_tmp, -1)
430 390912 : idata = idata + 1
431 390912 : data_tmp = full_data(idata)
432 390912 : data_tmp = ISHFT(data_tmp, 63)
433 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
434 390912 : pack_tmp = ISHFT(pack_tmp, -1)
435 390912 : idata = idata + 1
436 390912 : data_tmp = full_data(idata)
437 390912 : data_tmp = ISHFT(data_tmp, 63)
438 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
439 390912 : pack_tmp = ISHFT(pack_tmp, -1)
440 390912 : idata = idata + 1
441 390912 : data_tmp = full_data(idata)
442 390912 : data_tmp = ISHFT(data_tmp, 63)
443 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
444 390912 : pack_tmp = ISHFT(pack_tmp, -1)
445 390912 : idata = idata + 1
446 390912 : data_tmp = full_data(idata)
447 390912 : data_tmp = ISHFT(data_tmp, 63)
448 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
449 390912 : pack_tmp = ISHFT(pack_tmp, -1)
450 390912 : idata = idata + 1
451 390912 : data_tmp = full_data(idata)
452 390912 : data_tmp = ISHFT(data_tmp, 63)
453 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
454 390912 : pack_tmp = ISHFT(pack_tmp, -1)
455 390912 : idata = idata + 1
456 390912 : data_tmp = full_data(idata)
457 390912 : data_tmp = ISHFT(data_tmp, 63)
458 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
459 390912 : pack_tmp = ISHFT(pack_tmp, -1)
460 390912 : idata = idata + 1
461 390912 : data_tmp = full_data(idata)
462 390912 : data_tmp = ISHFT(data_tmp, 63)
463 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
464 390912 : pack_tmp = ISHFT(pack_tmp, -1)
465 390912 : idata = idata + 1
466 390912 : data_tmp = full_data(idata)
467 390912 : data_tmp = ISHFT(data_tmp, 63)
468 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
469 390912 : pack_tmp = ISHFT(pack_tmp, -1)
470 390912 : idata = idata + 1
471 390912 : data_tmp = full_data(idata)
472 390912 : data_tmp = ISHFT(data_tmp, 63)
473 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
474 390912 : pack_tmp = ISHFT(pack_tmp, -1)
475 390912 : idata = idata + 1
476 390912 : data_tmp = full_data(idata)
477 390912 : data_tmp = ISHFT(data_tmp, 63)
478 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
479 390912 : pack_tmp = ISHFT(pack_tmp, -1)
480 390912 : idata = idata + 1
481 390912 : data_tmp = full_data(idata)
482 390912 : data_tmp = ISHFT(data_tmp, 63)
483 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
484 390912 : pack_tmp = ISHFT(pack_tmp, -1)
485 390912 : idata = idata + 1
486 390912 : data_tmp = full_data(idata)
487 390912 : data_tmp = ISHFT(data_tmp, 63)
488 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
489 390912 : pack_tmp = ISHFT(pack_tmp, -1)
490 390912 : idata = idata + 1
491 390912 : data_tmp = full_data(idata)
492 390912 : data_tmp = ISHFT(data_tmp, 63)
493 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
494 390912 : pack_tmp = ISHFT(pack_tmp, -1)
495 390912 : idata = idata + 1
496 390912 : data_tmp = full_data(idata)
497 390912 : data_tmp = ISHFT(data_tmp, 63)
498 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
499 390912 : pack_tmp = ISHFT(pack_tmp, -1)
500 390912 : idata = idata + 1
501 390912 : data_tmp = full_data(idata)
502 390912 : data_tmp = ISHFT(data_tmp, 63)
503 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
504 390912 : pack_tmp = ISHFT(pack_tmp, -1)
505 390912 : idata = idata + 1
506 390912 : data_tmp = full_data(idata)
507 390912 : data_tmp = ISHFT(data_tmp, 63)
508 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
509 390912 : pack_tmp = ISHFT(pack_tmp, -1)
510 390912 : idata = idata + 1
511 390912 : data_tmp = full_data(idata)
512 390912 : data_tmp = ISHFT(data_tmp, 63)
513 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
514 390912 : pack_tmp = ISHFT(pack_tmp, -1)
515 390912 : idata = idata + 1
516 390912 : data_tmp = full_data(idata)
517 390912 : data_tmp = ISHFT(data_tmp, 63)
518 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
519 390912 : pack_tmp = ISHFT(pack_tmp, -1)
520 390912 : idata = idata + 1
521 390912 : data_tmp = full_data(idata)
522 390912 : data_tmp = ISHFT(data_tmp, 63)
523 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
524 390912 : pack_tmp = ISHFT(pack_tmp, -1)
525 390912 : idata = idata + 1
526 390912 : data_tmp = full_data(idata)
527 390912 : data_tmp = ISHFT(data_tmp, 63)
528 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
529 : pack_tmp = ISHFT(pack_tmp, 0)
530 390912 : pack_tmp = ISHFT(pack_tmp, 0)
531 390912 : ipack = ipack + 1
532 390912 : packed_data(ipack) = pack_tmp
533 : END DO
534 24432 : IF (Ndata_rep < Ndata) THEN
535 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
536 : END IF
537 24432 : END SUBROUTINE ints2bits_1
538 :
539 : ! **************************************************************************************************
540 : !> \brief ...
541 : !> \param Ndata ...
542 : !> \param packed_data ...
543 : !> \param full_data ...
544 : ! **************************************************************************************************
545 98465 : 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(*)
549 :
550 : INTEGER, PARAMETER :: Nbits = 1
551 :
552 : INTEGER :: idata, ipack, kdata, Ndata_rep
553 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
554 :
555 98465 : ipack = 0
556 98465 : idata = 0
557 98465 : pack_tmp = 0
558 98465 : Ndata_rep = (Ndata/64)*64
559 98465 : DO kdata = 1, Ndata_rep, 64
560 1575440 : idata = idata + 1
561 1575440 : data_tmp = ISHFT(pack_tmp, 1)
562 1575440 : ipack = ipack + 1
563 1575440 : pack_tmp = packed_data(ipack)
564 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
565 1575440 : pack_tmp = ISHFT(pack_tmp, -1)
566 1575440 : idata = idata + 1
567 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
568 1575440 : full_data(idata) = data_tmp
569 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
570 1575440 : idata = idata + 1
571 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
572 1575440 : full_data(idata) = data_tmp
573 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
574 1575440 : idata = idata + 1
575 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
576 1575440 : full_data(idata) = data_tmp
577 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
578 1575440 : idata = idata + 1
579 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
580 1575440 : full_data(idata) = data_tmp
581 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
582 1575440 : idata = idata + 1
583 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
584 1575440 : full_data(idata) = data_tmp
585 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
586 1575440 : idata = idata + 1
587 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
588 1575440 : full_data(idata) = data_tmp
589 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
590 1575440 : idata = idata + 1
591 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
592 1575440 : full_data(idata) = data_tmp
593 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
594 1575440 : idata = idata + 1
595 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
596 1575440 : full_data(idata) = data_tmp
597 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
598 1575440 : idata = idata + 1
599 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
600 1575440 : full_data(idata) = data_tmp
601 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
602 1575440 : idata = idata + 1
603 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
604 1575440 : full_data(idata) = data_tmp
605 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
606 1575440 : idata = idata + 1
607 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
608 1575440 : full_data(idata) = data_tmp
609 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
610 1575440 : idata = idata + 1
611 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
612 1575440 : full_data(idata) = data_tmp
613 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
614 1575440 : idata = idata + 1
615 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
616 1575440 : full_data(idata) = data_tmp
617 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
618 1575440 : idata = idata + 1
619 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
620 1575440 : full_data(idata) = data_tmp
621 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
622 1575440 : idata = idata + 1
623 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
624 1575440 : full_data(idata) = data_tmp
625 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
626 1575440 : idata = idata + 1
627 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
628 1575440 : full_data(idata) = data_tmp
629 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
630 1575440 : idata = idata + 1
631 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
632 1575440 : full_data(idata) = data_tmp
633 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
634 1575440 : idata = idata + 1
635 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
636 1575440 : full_data(idata) = data_tmp
637 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
638 1575440 : idata = idata + 1
639 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
640 1575440 : full_data(idata) = data_tmp
641 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
642 1575440 : idata = idata + 1
643 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
644 1575440 : full_data(idata) = data_tmp
645 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
646 1575440 : idata = idata + 1
647 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
648 1575440 : full_data(idata) = data_tmp
649 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
650 1575440 : idata = idata + 1
651 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
652 1575440 : full_data(idata) = data_tmp
653 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
654 1575440 : idata = idata + 1
655 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
656 1575440 : full_data(idata) = data_tmp
657 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
658 1575440 : idata = idata + 1
659 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
660 1575440 : full_data(idata) = data_tmp
661 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
662 1575440 : idata = idata + 1
663 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
664 1575440 : full_data(idata) = data_tmp
665 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
666 1575440 : idata = idata + 1
667 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
668 1575440 : full_data(idata) = data_tmp
669 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
670 1575440 : idata = idata + 1
671 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
672 1575440 : full_data(idata) = data_tmp
673 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
674 1575440 : idata = idata + 1
675 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
676 1575440 : full_data(idata) = data_tmp
677 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
678 1575440 : idata = idata + 1
679 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
680 1575440 : full_data(idata) = data_tmp
681 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
682 1575440 : idata = idata + 1
683 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
684 1575440 : full_data(idata) = data_tmp
685 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
686 1575440 : idata = idata + 1
687 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
688 1575440 : full_data(idata) = data_tmp
689 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
690 1575440 : idata = idata + 1
691 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
692 1575440 : full_data(idata) = data_tmp
693 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
694 1575440 : idata = idata + 1
695 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
696 1575440 : full_data(idata) = data_tmp
697 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
698 1575440 : idata = idata + 1
699 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
700 1575440 : full_data(idata) = data_tmp
701 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
702 1575440 : idata = idata + 1
703 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
704 1575440 : full_data(idata) = data_tmp
705 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
706 1575440 : idata = idata + 1
707 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
708 1575440 : full_data(idata) = data_tmp
709 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
710 1575440 : idata = idata + 1
711 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
712 1575440 : full_data(idata) = data_tmp
713 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
714 1575440 : idata = idata + 1
715 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
716 1575440 : full_data(idata) = data_tmp
717 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
718 1575440 : idata = idata + 1
719 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
720 1575440 : full_data(idata) = data_tmp
721 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
722 1575440 : idata = idata + 1
723 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
724 1575440 : full_data(idata) = data_tmp
725 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
726 1575440 : idata = idata + 1
727 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
728 1575440 : full_data(idata) = data_tmp
729 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
730 1575440 : idata = idata + 1
731 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
732 1575440 : full_data(idata) = data_tmp
733 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
734 1575440 : idata = idata + 1
735 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
736 1575440 : full_data(idata) = data_tmp
737 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
738 1575440 : idata = idata + 1
739 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
740 1575440 : full_data(idata) = data_tmp
741 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
742 1575440 : idata = idata + 1
743 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
744 1575440 : full_data(idata) = data_tmp
745 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
746 1575440 : idata = idata + 1
747 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
748 1575440 : full_data(idata) = data_tmp
749 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
750 1575440 : idata = idata + 1
751 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
752 1575440 : full_data(idata) = data_tmp
753 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
754 1575440 : idata = idata + 1
755 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
756 1575440 : full_data(idata) = data_tmp
757 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
758 1575440 : idata = idata + 1
759 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
760 1575440 : full_data(idata) = data_tmp
761 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
762 1575440 : idata = idata + 1
763 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
764 1575440 : full_data(idata) = data_tmp
765 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
766 1575440 : idata = idata + 1
767 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
768 1575440 : full_data(idata) = data_tmp
769 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
770 1575440 : idata = idata + 1
771 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
772 1575440 : full_data(idata) = data_tmp
773 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
774 1575440 : idata = idata + 1
775 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
776 1575440 : full_data(idata) = data_tmp
777 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
778 1575440 : idata = idata + 1
779 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
780 1575440 : full_data(idata) = data_tmp
781 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
782 1575440 : idata = idata + 1
783 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
784 1575440 : full_data(idata) = data_tmp
785 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
786 1575440 : idata = idata + 1
787 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
788 1575440 : full_data(idata) = data_tmp
789 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
790 1575440 : idata = idata + 1
791 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
792 1575440 : full_data(idata) = data_tmp
793 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
794 1575440 : idata = idata + 1
795 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
796 1575440 : full_data(idata) = data_tmp
797 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
798 1575440 : idata = idata + 1
799 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
800 1575440 : full_data(idata) = data_tmp
801 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
802 1575440 : idata = idata + 1
803 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
804 1575440 : full_data(idata) = data_tmp
805 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
806 1575440 : idata = idata + 1
807 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
808 1575440 : full_data(idata) = data_tmp
809 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
810 1575440 : idata = idata + 1
811 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
812 1575440 : full_data(idata) = data_tmp
813 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
814 1575440 : idata = idata + 1
815 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
816 1575440 : full_data(idata) = data_tmp
817 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
818 : END DO
819 98465 : IF (Ndata_rep < Ndata) THEN
820 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
821 : END IF
822 98465 : END SUBROUTINE bits2ints_1
823 :
824 : ! **************************************************************************************************
825 : !> \brief ...
826 : !> \param Ndata ...
827 : !> \param packed_data ...
828 : !> \param full_data ...
829 : ! **************************************************************************************************
830 24432 : 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(*)
834 :
835 : INTEGER, PARAMETER :: Nbits = 2
836 :
837 : INTEGER :: idata, ipack, kdata, Ndata_rep
838 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
839 :
840 24432 : idata = 0
841 24432 : ipack = 0
842 24432 : Ndata_rep = (Ndata/64)*64
843 24432 : DO kdata = 1, Ndata_rep, 64
844 390912 : pack_tmp = 0
845 390912 : idata = idata + 1
846 390912 : data_tmp = full_data(idata)
847 390912 : data_tmp = ISHFT(data_tmp, 62)
848 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
849 390912 : pack_tmp = ISHFT(pack_tmp, -2)
850 390912 : idata = idata + 1
851 390912 : data_tmp = full_data(idata)
852 390912 : data_tmp = ISHFT(data_tmp, 62)
853 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
854 390912 : pack_tmp = ISHFT(pack_tmp, -2)
855 390912 : idata = idata + 1
856 390912 : data_tmp = full_data(idata)
857 390912 : data_tmp = ISHFT(data_tmp, 62)
858 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
859 390912 : pack_tmp = ISHFT(pack_tmp, -2)
860 390912 : idata = idata + 1
861 390912 : data_tmp = full_data(idata)
862 390912 : data_tmp = ISHFT(data_tmp, 62)
863 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
864 390912 : pack_tmp = ISHFT(pack_tmp, -2)
865 390912 : idata = idata + 1
866 390912 : data_tmp = full_data(idata)
867 390912 : data_tmp = ISHFT(data_tmp, 62)
868 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
869 390912 : pack_tmp = ISHFT(pack_tmp, -2)
870 390912 : idata = idata + 1
871 390912 : data_tmp = full_data(idata)
872 390912 : data_tmp = ISHFT(data_tmp, 62)
873 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
874 390912 : pack_tmp = ISHFT(pack_tmp, -2)
875 390912 : idata = idata + 1
876 390912 : data_tmp = full_data(idata)
877 390912 : data_tmp = ISHFT(data_tmp, 62)
878 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
879 390912 : pack_tmp = ISHFT(pack_tmp, -2)
880 390912 : idata = idata + 1
881 390912 : data_tmp = full_data(idata)
882 390912 : data_tmp = ISHFT(data_tmp, 62)
883 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
884 390912 : pack_tmp = ISHFT(pack_tmp, -2)
885 390912 : idata = idata + 1
886 390912 : data_tmp = full_data(idata)
887 390912 : data_tmp = ISHFT(data_tmp, 62)
888 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
889 390912 : pack_tmp = ISHFT(pack_tmp, -2)
890 390912 : idata = idata + 1
891 390912 : data_tmp = full_data(idata)
892 390912 : data_tmp = ISHFT(data_tmp, 62)
893 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
894 390912 : pack_tmp = ISHFT(pack_tmp, -2)
895 390912 : idata = idata + 1
896 390912 : data_tmp = full_data(idata)
897 390912 : data_tmp = ISHFT(data_tmp, 62)
898 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
899 390912 : pack_tmp = ISHFT(pack_tmp, -2)
900 390912 : idata = idata + 1
901 390912 : data_tmp = full_data(idata)
902 390912 : data_tmp = ISHFT(data_tmp, 62)
903 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
904 390912 : pack_tmp = ISHFT(pack_tmp, -2)
905 390912 : idata = idata + 1
906 390912 : data_tmp = full_data(idata)
907 390912 : data_tmp = ISHFT(data_tmp, 62)
908 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
909 390912 : pack_tmp = ISHFT(pack_tmp, -2)
910 390912 : idata = idata + 1
911 390912 : data_tmp = full_data(idata)
912 390912 : data_tmp = ISHFT(data_tmp, 62)
913 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
914 390912 : pack_tmp = ISHFT(pack_tmp, -2)
915 390912 : idata = idata + 1
916 390912 : data_tmp = full_data(idata)
917 390912 : data_tmp = ISHFT(data_tmp, 62)
918 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
919 390912 : pack_tmp = ISHFT(pack_tmp, -2)
920 390912 : idata = idata + 1
921 390912 : data_tmp = full_data(idata)
922 390912 : data_tmp = ISHFT(data_tmp, 62)
923 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
924 390912 : pack_tmp = ISHFT(pack_tmp, -2)
925 390912 : idata = idata + 1
926 390912 : data_tmp = full_data(idata)
927 390912 : data_tmp = ISHFT(data_tmp, 62)
928 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
929 390912 : pack_tmp = ISHFT(pack_tmp, -2)
930 390912 : idata = idata + 1
931 390912 : data_tmp = full_data(idata)
932 390912 : data_tmp = ISHFT(data_tmp, 62)
933 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
934 390912 : pack_tmp = ISHFT(pack_tmp, -2)
935 390912 : idata = idata + 1
936 390912 : data_tmp = full_data(idata)
937 390912 : data_tmp = ISHFT(data_tmp, 62)
938 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
939 390912 : pack_tmp = ISHFT(pack_tmp, -2)
940 390912 : idata = idata + 1
941 390912 : data_tmp = full_data(idata)
942 390912 : data_tmp = ISHFT(data_tmp, 62)
943 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
944 390912 : pack_tmp = ISHFT(pack_tmp, -2)
945 390912 : idata = idata + 1
946 390912 : data_tmp = full_data(idata)
947 390912 : data_tmp = ISHFT(data_tmp, 62)
948 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
949 390912 : pack_tmp = ISHFT(pack_tmp, -2)
950 390912 : idata = idata + 1
951 390912 : data_tmp = full_data(idata)
952 390912 : data_tmp = ISHFT(data_tmp, 62)
953 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
954 390912 : pack_tmp = ISHFT(pack_tmp, -2)
955 390912 : idata = idata + 1
956 390912 : data_tmp = full_data(idata)
957 390912 : data_tmp = ISHFT(data_tmp, 62)
958 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
959 390912 : pack_tmp = ISHFT(pack_tmp, -2)
960 390912 : idata = idata + 1
961 390912 : data_tmp = full_data(idata)
962 390912 : data_tmp = ISHFT(data_tmp, 62)
963 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
964 390912 : pack_tmp = ISHFT(pack_tmp, -2)
965 390912 : idata = idata + 1
966 390912 : data_tmp = full_data(idata)
967 390912 : data_tmp = ISHFT(data_tmp, 62)
968 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
969 390912 : pack_tmp = ISHFT(pack_tmp, -2)
970 390912 : idata = idata + 1
971 390912 : data_tmp = full_data(idata)
972 390912 : data_tmp = ISHFT(data_tmp, 62)
973 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
974 390912 : pack_tmp = ISHFT(pack_tmp, -2)
975 390912 : idata = idata + 1
976 390912 : data_tmp = full_data(idata)
977 390912 : data_tmp = ISHFT(data_tmp, 62)
978 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
979 390912 : pack_tmp = ISHFT(pack_tmp, -2)
980 390912 : idata = idata + 1
981 390912 : data_tmp = full_data(idata)
982 390912 : data_tmp = ISHFT(data_tmp, 62)
983 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
984 390912 : pack_tmp = ISHFT(pack_tmp, -2)
985 390912 : idata = idata + 1
986 390912 : data_tmp = full_data(idata)
987 390912 : data_tmp = ISHFT(data_tmp, 62)
988 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
989 390912 : pack_tmp = ISHFT(pack_tmp, -2)
990 390912 : idata = idata + 1
991 390912 : data_tmp = full_data(idata)
992 390912 : data_tmp = ISHFT(data_tmp, 62)
993 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
994 390912 : pack_tmp = ISHFT(pack_tmp, -2)
995 390912 : idata = idata + 1
996 390912 : data_tmp = full_data(idata)
997 390912 : data_tmp = ISHFT(data_tmp, 62)
998 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
999 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1000 390912 : idata = idata + 1
1001 390912 : data_tmp = full_data(idata)
1002 390912 : data_tmp = ISHFT(data_tmp, 62)
1003 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1004 390912 : pack_tmp = ISHFT(pack_tmp, 0)
1005 390912 : idata = idata + 1
1006 390912 : data_tmp = full_data(idata)
1007 : data_tmp = ISHFT(data_tmp, 62)
1008 390912 : data_tmp = IAND(data_tmp, mask_left(0))
1009 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1010 390912 : ipack = ipack + 1
1011 390912 : packed_data(ipack) = pack_tmp
1012 390912 : data_tmp = full_data(idata)
1013 390912 : pack_tmp = ISHFT(data_tmp, 62)
1014 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1015 390912 : idata = idata + 1
1016 390912 : data_tmp = full_data(idata)
1017 390912 : data_tmp = ISHFT(data_tmp, 62)
1018 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1019 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1020 390912 : idata = idata + 1
1021 390912 : data_tmp = full_data(idata)
1022 390912 : data_tmp = ISHFT(data_tmp, 62)
1023 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1024 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1025 390912 : idata = idata + 1
1026 390912 : data_tmp = full_data(idata)
1027 390912 : data_tmp = ISHFT(data_tmp, 62)
1028 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1029 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1030 390912 : idata = idata + 1
1031 390912 : data_tmp = full_data(idata)
1032 390912 : data_tmp = ISHFT(data_tmp, 62)
1033 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1034 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1035 390912 : idata = idata + 1
1036 390912 : data_tmp = full_data(idata)
1037 390912 : data_tmp = ISHFT(data_tmp, 62)
1038 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1039 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1040 390912 : idata = idata + 1
1041 390912 : data_tmp = full_data(idata)
1042 390912 : data_tmp = ISHFT(data_tmp, 62)
1043 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1044 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1045 390912 : idata = idata + 1
1046 390912 : data_tmp = full_data(idata)
1047 390912 : data_tmp = ISHFT(data_tmp, 62)
1048 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1049 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1050 390912 : idata = idata + 1
1051 390912 : data_tmp = full_data(idata)
1052 390912 : data_tmp = ISHFT(data_tmp, 62)
1053 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1054 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1055 390912 : idata = idata + 1
1056 390912 : data_tmp = full_data(idata)
1057 390912 : data_tmp = ISHFT(data_tmp, 62)
1058 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1059 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1060 390912 : idata = idata + 1
1061 390912 : data_tmp = full_data(idata)
1062 390912 : data_tmp = ISHFT(data_tmp, 62)
1063 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1064 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1065 390912 : idata = idata + 1
1066 390912 : data_tmp = full_data(idata)
1067 390912 : data_tmp = ISHFT(data_tmp, 62)
1068 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1069 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1070 390912 : idata = idata + 1
1071 390912 : data_tmp = full_data(idata)
1072 390912 : data_tmp = ISHFT(data_tmp, 62)
1073 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1074 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1075 390912 : idata = idata + 1
1076 390912 : data_tmp = full_data(idata)
1077 390912 : data_tmp = ISHFT(data_tmp, 62)
1078 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1079 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1080 390912 : idata = idata + 1
1081 390912 : data_tmp = full_data(idata)
1082 390912 : data_tmp = ISHFT(data_tmp, 62)
1083 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1084 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1085 390912 : idata = idata + 1
1086 390912 : data_tmp = full_data(idata)
1087 390912 : data_tmp = ISHFT(data_tmp, 62)
1088 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1089 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1090 390912 : idata = idata + 1
1091 390912 : data_tmp = full_data(idata)
1092 390912 : data_tmp = ISHFT(data_tmp, 62)
1093 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1094 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1095 390912 : idata = idata + 1
1096 390912 : data_tmp = full_data(idata)
1097 390912 : data_tmp = ISHFT(data_tmp, 62)
1098 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1099 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1100 390912 : idata = idata + 1
1101 390912 : data_tmp = full_data(idata)
1102 390912 : data_tmp = ISHFT(data_tmp, 62)
1103 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1104 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1105 390912 : idata = idata + 1
1106 390912 : data_tmp = full_data(idata)
1107 390912 : data_tmp = ISHFT(data_tmp, 62)
1108 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1109 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1110 390912 : idata = idata + 1
1111 390912 : data_tmp = full_data(idata)
1112 390912 : data_tmp = ISHFT(data_tmp, 62)
1113 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1114 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1115 390912 : idata = idata + 1
1116 390912 : data_tmp = full_data(idata)
1117 390912 : data_tmp = ISHFT(data_tmp, 62)
1118 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1119 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1120 390912 : idata = idata + 1
1121 390912 : data_tmp = full_data(idata)
1122 390912 : data_tmp = ISHFT(data_tmp, 62)
1123 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1124 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1125 390912 : idata = idata + 1
1126 390912 : data_tmp = full_data(idata)
1127 390912 : data_tmp = ISHFT(data_tmp, 62)
1128 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1129 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1130 390912 : idata = idata + 1
1131 390912 : data_tmp = full_data(idata)
1132 390912 : data_tmp = ISHFT(data_tmp, 62)
1133 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1134 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1135 390912 : idata = idata + 1
1136 390912 : data_tmp = full_data(idata)
1137 390912 : data_tmp = ISHFT(data_tmp, 62)
1138 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1139 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1140 390912 : idata = idata + 1
1141 390912 : data_tmp = full_data(idata)
1142 390912 : data_tmp = ISHFT(data_tmp, 62)
1143 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1144 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1145 390912 : idata = idata + 1
1146 390912 : data_tmp = full_data(idata)
1147 390912 : data_tmp = ISHFT(data_tmp, 62)
1148 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1149 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1150 390912 : idata = idata + 1
1151 390912 : data_tmp = full_data(idata)
1152 390912 : data_tmp = ISHFT(data_tmp, 62)
1153 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1154 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1155 390912 : idata = idata + 1
1156 390912 : data_tmp = full_data(idata)
1157 390912 : data_tmp = ISHFT(data_tmp, 62)
1158 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1159 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1160 390912 : idata = idata + 1
1161 390912 : data_tmp = full_data(idata)
1162 390912 : data_tmp = ISHFT(data_tmp, 62)
1163 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1164 390912 : pack_tmp = ISHFT(pack_tmp, -2)
1165 390912 : idata = idata + 1
1166 390912 : data_tmp = full_data(idata)
1167 390912 : data_tmp = ISHFT(data_tmp, 62)
1168 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
1169 : pack_tmp = ISHFT(pack_tmp, 0)
1170 390912 : pack_tmp = ISHFT(pack_tmp, 0)
1171 390912 : ipack = ipack + 1
1172 390912 : packed_data(ipack) = pack_tmp
1173 : END DO
1174 24432 : IF (Ndata_rep < Ndata) THEN
1175 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
1176 : END IF
1177 24432 : END SUBROUTINE ints2bits_2
1178 :
1179 : ! **************************************************************************************************
1180 : !> \brief ...
1181 : !> \param Ndata ...
1182 : !> \param packed_data ...
1183 : !> \param full_data ...
1184 : ! **************************************************************************************************
1185 98465 : 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(*)
1189 :
1190 : INTEGER, PARAMETER :: Nbits = 2
1191 :
1192 : INTEGER :: idata, ipack, kdata, Ndata_rep
1193 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
1194 :
1195 98465 : ipack = 0
1196 98465 : idata = 0
1197 98465 : pack_tmp = 0
1198 98465 : Ndata_rep = (Ndata/64)*64
1199 98465 : DO kdata = 1, Ndata_rep, 64
1200 1575440 : idata = idata + 1
1201 1575440 : data_tmp = ISHFT(pack_tmp, 2)
1202 1575440 : ipack = ipack + 1
1203 1575440 : pack_tmp = packed_data(ipack)
1204 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
1205 1575440 : pack_tmp = ISHFT(pack_tmp, -2)
1206 1575440 : idata = idata + 1
1207 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1208 1575440 : full_data(idata) = data_tmp
1209 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1210 1575440 : idata = idata + 1
1211 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1212 1575440 : full_data(idata) = data_tmp
1213 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1214 1575440 : idata = idata + 1
1215 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1216 1575440 : full_data(idata) = data_tmp
1217 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1218 1575440 : idata = idata + 1
1219 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1220 1575440 : full_data(idata) = data_tmp
1221 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1222 1575440 : idata = idata + 1
1223 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1224 1575440 : full_data(idata) = data_tmp
1225 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1226 1575440 : idata = idata + 1
1227 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1228 1575440 : full_data(idata) = data_tmp
1229 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1230 1575440 : idata = idata + 1
1231 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1232 1575440 : full_data(idata) = data_tmp
1233 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1234 1575440 : idata = idata + 1
1235 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1236 1575440 : full_data(idata) = data_tmp
1237 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1238 1575440 : idata = idata + 1
1239 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1240 1575440 : full_data(idata) = data_tmp
1241 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1242 1575440 : idata = idata + 1
1243 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1244 1575440 : full_data(idata) = data_tmp
1245 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1246 1575440 : idata = idata + 1
1247 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1248 1575440 : full_data(idata) = data_tmp
1249 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1250 1575440 : idata = idata + 1
1251 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1252 1575440 : full_data(idata) = data_tmp
1253 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1254 1575440 : idata = idata + 1
1255 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1256 1575440 : full_data(idata) = data_tmp
1257 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1258 1575440 : idata = idata + 1
1259 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1260 1575440 : full_data(idata) = data_tmp
1261 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1262 1575440 : idata = idata + 1
1263 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1264 1575440 : full_data(idata) = data_tmp
1265 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1266 1575440 : idata = idata + 1
1267 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1268 1575440 : full_data(idata) = data_tmp
1269 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1270 1575440 : idata = idata + 1
1271 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1272 1575440 : full_data(idata) = data_tmp
1273 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1274 1575440 : idata = idata + 1
1275 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1276 1575440 : full_data(idata) = data_tmp
1277 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1278 1575440 : idata = idata + 1
1279 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1280 1575440 : full_data(idata) = data_tmp
1281 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1282 1575440 : idata = idata + 1
1283 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1284 1575440 : full_data(idata) = data_tmp
1285 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1286 1575440 : idata = idata + 1
1287 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1288 1575440 : full_data(idata) = data_tmp
1289 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1290 1575440 : idata = idata + 1
1291 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1292 1575440 : full_data(idata) = data_tmp
1293 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1294 1575440 : idata = idata + 1
1295 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1296 1575440 : full_data(idata) = data_tmp
1297 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1298 1575440 : idata = idata + 1
1299 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1300 1575440 : full_data(idata) = data_tmp
1301 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1302 1575440 : idata = idata + 1
1303 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1304 1575440 : full_data(idata) = data_tmp
1305 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1306 1575440 : idata = idata + 1
1307 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1308 1575440 : full_data(idata) = data_tmp
1309 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1310 1575440 : idata = idata + 1
1311 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1312 1575440 : full_data(idata) = data_tmp
1313 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1314 1575440 : idata = idata + 1
1315 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1316 1575440 : full_data(idata) = data_tmp
1317 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1318 1575440 : idata = idata + 1
1319 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1320 1575440 : full_data(idata) = data_tmp
1321 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1322 1575440 : idata = idata + 1
1323 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1324 1575440 : full_data(idata) = data_tmp
1325 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1326 1575440 : idata = idata + 1
1327 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1328 1575440 : full_data(idata) = data_tmp
1329 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1330 1575440 : idata = idata + 1
1331 1575440 : data_tmp = ISHFT(pack_tmp, 2)
1332 1575440 : ipack = ipack + 1
1333 1575440 : pack_tmp = packed_data(ipack)
1334 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
1335 1575440 : pack_tmp = ISHFT(pack_tmp, -2)
1336 1575440 : idata = idata + 1
1337 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1338 1575440 : full_data(idata) = data_tmp
1339 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1340 1575440 : idata = idata + 1
1341 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1342 1575440 : full_data(idata) = data_tmp
1343 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1344 1575440 : idata = idata + 1
1345 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1346 1575440 : full_data(idata) = data_tmp
1347 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1348 1575440 : idata = idata + 1
1349 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1350 1575440 : full_data(idata) = data_tmp
1351 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1352 1575440 : idata = idata + 1
1353 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1354 1575440 : full_data(idata) = data_tmp
1355 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1356 1575440 : idata = idata + 1
1357 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1358 1575440 : full_data(idata) = data_tmp
1359 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1360 1575440 : idata = idata + 1
1361 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1362 1575440 : full_data(idata) = data_tmp
1363 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1364 1575440 : idata = idata + 1
1365 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1366 1575440 : full_data(idata) = data_tmp
1367 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1368 1575440 : idata = idata + 1
1369 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1370 1575440 : full_data(idata) = data_tmp
1371 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1372 1575440 : idata = idata + 1
1373 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1374 1575440 : full_data(idata) = data_tmp
1375 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1376 1575440 : idata = idata + 1
1377 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1378 1575440 : full_data(idata) = data_tmp
1379 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1380 1575440 : idata = idata + 1
1381 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1382 1575440 : full_data(idata) = data_tmp
1383 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1384 1575440 : idata = idata + 1
1385 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1386 1575440 : full_data(idata) = data_tmp
1387 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1388 1575440 : idata = idata + 1
1389 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1390 1575440 : full_data(idata) = data_tmp
1391 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1392 1575440 : idata = idata + 1
1393 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1394 1575440 : full_data(idata) = data_tmp
1395 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1396 1575440 : idata = idata + 1
1397 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1398 1575440 : full_data(idata) = data_tmp
1399 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1400 1575440 : idata = idata + 1
1401 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1402 1575440 : full_data(idata) = data_tmp
1403 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1404 1575440 : idata = idata + 1
1405 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1406 1575440 : full_data(idata) = data_tmp
1407 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1408 1575440 : idata = idata + 1
1409 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1410 1575440 : full_data(idata) = data_tmp
1411 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1412 1575440 : idata = idata + 1
1413 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1414 1575440 : full_data(idata) = data_tmp
1415 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1416 1575440 : idata = idata + 1
1417 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1418 1575440 : full_data(idata) = data_tmp
1419 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1420 1575440 : idata = idata + 1
1421 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1422 1575440 : full_data(idata) = data_tmp
1423 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1424 1575440 : idata = idata + 1
1425 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1426 1575440 : full_data(idata) = data_tmp
1427 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1428 1575440 : idata = idata + 1
1429 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1430 1575440 : full_data(idata) = data_tmp
1431 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1432 1575440 : idata = idata + 1
1433 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1434 1575440 : full_data(idata) = data_tmp
1435 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1436 1575440 : idata = idata + 1
1437 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1438 1575440 : full_data(idata) = data_tmp
1439 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1440 1575440 : idata = idata + 1
1441 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1442 1575440 : full_data(idata) = data_tmp
1443 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1444 1575440 : idata = idata + 1
1445 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1446 1575440 : full_data(idata) = data_tmp
1447 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1448 1575440 : idata = idata + 1
1449 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1450 1575440 : full_data(idata) = data_tmp
1451 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1452 1575440 : idata = idata + 1
1453 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1454 1575440 : full_data(idata) = data_tmp
1455 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1456 1575440 : idata = idata + 1
1457 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1458 1575440 : full_data(idata) = data_tmp
1459 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1460 : END DO
1461 98465 : IF (Ndata_rep < Ndata) THEN
1462 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
1463 : END IF
1464 98465 : END SUBROUTINE bits2ints_2
1465 :
1466 : ! **************************************************************************************************
1467 : !> \brief ...
1468 : !> \param Ndata ...
1469 : !> \param packed_data ...
1470 : !> \param full_data ...
1471 : ! **************************************************************************************************
1472 24678 : 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(*)
1476 :
1477 : INTEGER, PARAMETER :: Nbits = 3
1478 :
1479 : INTEGER :: idata, ipack, kdata, Ndata_rep
1480 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
1481 :
1482 24678 : idata = 0
1483 24678 : ipack = 0
1484 24678 : Ndata_rep = (Ndata/64)*64
1485 24678 : DO kdata = 1, Ndata_rep, 64
1486 394712 : pack_tmp = 0
1487 394712 : idata = idata + 1
1488 394712 : data_tmp = full_data(idata)
1489 394712 : data_tmp = ISHFT(data_tmp, 61)
1490 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1491 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1492 394712 : idata = idata + 1
1493 394712 : data_tmp = full_data(idata)
1494 394712 : data_tmp = ISHFT(data_tmp, 61)
1495 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1496 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1497 394712 : idata = idata + 1
1498 394712 : data_tmp = full_data(idata)
1499 394712 : data_tmp = ISHFT(data_tmp, 61)
1500 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1501 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1502 394712 : idata = idata + 1
1503 394712 : data_tmp = full_data(idata)
1504 394712 : data_tmp = ISHFT(data_tmp, 61)
1505 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1506 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1507 394712 : idata = idata + 1
1508 394712 : data_tmp = full_data(idata)
1509 394712 : data_tmp = ISHFT(data_tmp, 61)
1510 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1511 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1512 394712 : idata = idata + 1
1513 394712 : data_tmp = full_data(idata)
1514 394712 : data_tmp = ISHFT(data_tmp, 61)
1515 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1516 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1517 394712 : idata = idata + 1
1518 394712 : data_tmp = full_data(idata)
1519 394712 : data_tmp = ISHFT(data_tmp, 61)
1520 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1521 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1522 394712 : idata = idata + 1
1523 394712 : data_tmp = full_data(idata)
1524 394712 : data_tmp = ISHFT(data_tmp, 61)
1525 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1526 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1527 394712 : idata = idata + 1
1528 394712 : data_tmp = full_data(idata)
1529 394712 : data_tmp = ISHFT(data_tmp, 61)
1530 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1531 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1532 394712 : idata = idata + 1
1533 394712 : data_tmp = full_data(idata)
1534 394712 : data_tmp = ISHFT(data_tmp, 61)
1535 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1536 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1537 394712 : idata = idata + 1
1538 394712 : data_tmp = full_data(idata)
1539 394712 : data_tmp = ISHFT(data_tmp, 61)
1540 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1541 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1542 394712 : idata = idata + 1
1543 394712 : data_tmp = full_data(idata)
1544 394712 : data_tmp = ISHFT(data_tmp, 61)
1545 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1546 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1547 394712 : idata = idata + 1
1548 394712 : data_tmp = full_data(idata)
1549 394712 : data_tmp = ISHFT(data_tmp, 61)
1550 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1551 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1552 394712 : idata = idata + 1
1553 394712 : data_tmp = full_data(idata)
1554 394712 : data_tmp = ISHFT(data_tmp, 61)
1555 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1556 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1557 394712 : idata = idata + 1
1558 394712 : data_tmp = full_data(idata)
1559 394712 : data_tmp = ISHFT(data_tmp, 61)
1560 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1561 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1562 394712 : idata = idata + 1
1563 394712 : data_tmp = full_data(idata)
1564 394712 : data_tmp = ISHFT(data_tmp, 61)
1565 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1566 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1567 394712 : idata = idata + 1
1568 394712 : data_tmp = full_data(idata)
1569 394712 : data_tmp = ISHFT(data_tmp, 61)
1570 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1571 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1572 394712 : idata = idata + 1
1573 394712 : data_tmp = full_data(idata)
1574 394712 : data_tmp = ISHFT(data_tmp, 61)
1575 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1576 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1577 394712 : idata = idata + 1
1578 394712 : data_tmp = full_data(idata)
1579 394712 : data_tmp = ISHFT(data_tmp, 61)
1580 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1581 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1582 394712 : idata = idata + 1
1583 394712 : data_tmp = full_data(idata)
1584 394712 : data_tmp = ISHFT(data_tmp, 61)
1585 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1586 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1587 394712 : idata = idata + 1
1588 394712 : data_tmp = full_data(idata)
1589 394712 : data_tmp = ISHFT(data_tmp, 61)
1590 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1591 394712 : pack_tmp = ISHFT(pack_tmp, -1)
1592 394712 : idata = idata + 1
1593 394712 : data_tmp = full_data(idata)
1594 394712 : data_tmp = ISHFT(data_tmp, 61)
1595 394712 : data_tmp = IAND(data_tmp, mask_left(1))
1596 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1597 394712 : ipack = ipack + 1
1598 394712 : packed_data(ipack) = pack_tmp
1599 394712 : data_tmp = full_data(idata)
1600 394712 : pack_tmp = ISHFT(data_tmp, 62)
1601 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1602 394712 : idata = idata + 1
1603 394712 : data_tmp = full_data(idata)
1604 394712 : data_tmp = ISHFT(data_tmp, 61)
1605 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1606 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1607 394712 : idata = idata + 1
1608 394712 : data_tmp = full_data(idata)
1609 394712 : data_tmp = ISHFT(data_tmp, 61)
1610 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1611 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1612 394712 : idata = idata + 1
1613 394712 : data_tmp = full_data(idata)
1614 394712 : data_tmp = ISHFT(data_tmp, 61)
1615 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1616 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1617 394712 : idata = idata + 1
1618 394712 : data_tmp = full_data(idata)
1619 394712 : data_tmp = ISHFT(data_tmp, 61)
1620 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1621 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1622 394712 : idata = idata + 1
1623 394712 : data_tmp = full_data(idata)
1624 394712 : data_tmp = ISHFT(data_tmp, 61)
1625 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1626 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1627 394712 : idata = idata + 1
1628 394712 : data_tmp = full_data(idata)
1629 394712 : data_tmp = ISHFT(data_tmp, 61)
1630 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1631 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1632 394712 : idata = idata + 1
1633 394712 : data_tmp = full_data(idata)
1634 394712 : data_tmp = ISHFT(data_tmp, 61)
1635 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1636 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1637 394712 : idata = idata + 1
1638 394712 : data_tmp = full_data(idata)
1639 394712 : data_tmp = ISHFT(data_tmp, 61)
1640 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1641 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1642 394712 : idata = idata + 1
1643 394712 : data_tmp = full_data(idata)
1644 394712 : data_tmp = ISHFT(data_tmp, 61)
1645 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1646 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1647 394712 : idata = idata + 1
1648 394712 : data_tmp = full_data(idata)
1649 394712 : data_tmp = ISHFT(data_tmp, 61)
1650 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1651 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1652 394712 : idata = idata + 1
1653 394712 : data_tmp = full_data(idata)
1654 394712 : data_tmp = ISHFT(data_tmp, 61)
1655 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1656 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1657 394712 : idata = idata + 1
1658 394712 : data_tmp = full_data(idata)
1659 394712 : data_tmp = ISHFT(data_tmp, 61)
1660 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1661 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1662 394712 : idata = idata + 1
1663 394712 : data_tmp = full_data(idata)
1664 394712 : data_tmp = ISHFT(data_tmp, 61)
1665 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1666 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1667 394712 : idata = idata + 1
1668 394712 : data_tmp = full_data(idata)
1669 394712 : data_tmp = ISHFT(data_tmp, 61)
1670 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1671 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1672 394712 : idata = idata + 1
1673 394712 : data_tmp = full_data(idata)
1674 394712 : data_tmp = ISHFT(data_tmp, 61)
1675 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1676 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1677 394712 : idata = idata + 1
1678 394712 : data_tmp = full_data(idata)
1679 394712 : data_tmp = ISHFT(data_tmp, 61)
1680 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1681 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1682 394712 : idata = idata + 1
1683 394712 : data_tmp = full_data(idata)
1684 394712 : data_tmp = ISHFT(data_tmp, 61)
1685 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1686 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1687 394712 : idata = idata + 1
1688 394712 : data_tmp = full_data(idata)
1689 394712 : data_tmp = ISHFT(data_tmp, 61)
1690 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1691 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1692 394712 : idata = idata + 1
1693 394712 : data_tmp = full_data(idata)
1694 394712 : data_tmp = ISHFT(data_tmp, 61)
1695 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1696 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1697 394712 : idata = idata + 1
1698 394712 : data_tmp = full_data(idata)
1699 394712 : data_tmp = ISHFT(data_tmp, 61)
1700 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1701 394712 : pack_tmp = ISHFT(pack_tmp, -2)
1702 394712 : idata = idata + 1
1703 394712 : data_tmp = full_data(idata)
1704 394712 : data_tmp = ISHFT(data_tmp, 61)
1705 394712 : data_tmp = IAND(data_tmp, mask_left(2))
1706 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1707 394712 : ipack = ipack + 1
1708 394712 : packed_data(ipack) = pack_tmp
1709 394712 : data_tmp = full_data(idata)
1710 394712 : pack_tmp = ISHFT(data_tmp, 63)
1711 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1712 394712 : idata = idata + 1
1713 394712 : data_tmp = full_data(idata)
1714 394712 : data_tmp = ISHFT(data_tmp, 61)
1715 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1716 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1717 394712 : idata = idata + 1
1718 394712 : data_tmp = full_data(idata)
1719 394712 : data_tmp = ISHFT(data_tmp, 61)
1720 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1721 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1722 394712 : idata = idata + 1
1723 394712 : data_tmp = full_data(idata)
1724 394712 : data_tmp = ISHFT(data_tmp, 61)
1725 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1726 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1727 394712 : idata = idata + 1
1728 394712 : data_tmp = full_data(idata)
1729 394712 : data_tmp = ISHFT(data_tmp, 61)
1730 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1731 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1732 394712 : idata = idata + 1
1733 394712 : data_tmp = full_data(idata)
1734 394712 : data_tmp = ISHFT(data_tmp, 61)
1735 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1736 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1737 394712 : idata = idata + 1
1738 394712 : data_tmp = full_data(idata)
1739 394712 : data_tmp = ISHFT(data_tmp, 61)
1740 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1741 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1742 394712 : idata = idata + 1
1743 394712 : data_tmp = full_data(idata)
1744 394712 : data_tmp = ISHFT(data_tmp, 61)
1745 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1746 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1747 394712 : idata = idata + 1
1748 394712 : data_tmp = full_data(idata)
1749 394712 : data_tmp = ISHFT(data_tmp, 61)
1750 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1751 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1752 394712 : idata = idata + 1
1753 394712 : data_tmp = full_data(idata)
1754 394712 : data_tmp = ISHFT(data_tmp, 61)
1755 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1756 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1757 394712 : idata = idata + 1
1758 394712 : data_tmp = full_data(idata)
1759 394712 : data_tmp = ISHFT(data_tmp, 61)
1760 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1761 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1762 394712 : idata = idata + 1
1763 394712 : data_tmp = full_data(idata)
1764 394712 : data_tmp = ISHFT(data_tmp, 61)
1765 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1766 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1767 394712 : idata = idata + 1
1768 394712 : data_tmp = full_data(idata)
1769 394712 : data_tmp = ISHFT(data_tmp, 61)
1770 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1771 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1772 394712 : idata = idata + 1
1773 394712 : data_tmp = full_data(idata)
1774 394712 : data_tmp = ISHFT(data_tmp, 61)
1775 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1776 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1777 394712 : idata = idata + 1
1778 394712 : data_tmp = full_data(idata)
1779 394712 : data_tmp = ISHFT(data_tmp, 61)
1780 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1781 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1782 394712 : idata = idata + 1
1783 394712 : data_tmp = full_data(idata)
1784 394712 : data_tmp = ISHFT(data_tmp, 61)
1785 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1786 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1787 394712 : idata = idata + 1
1788 394712 : data_tmp = full_data(idata)
1789 394712 : data_tmp = ISHFT(data_tmp, 61)
1790 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1791 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1792 394712 : idata = idata + 1
1793 394712 : data_tmp = full_data(idata)
1794 394712 : data_tmp = ISHFT(data_tmp, 61)
1795 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1796 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1797 394712 : idata = idata + 1
1798 394712 : data_tmp = full_data(idata)
1799 394712 : data_tmp = ISHFT(data_tmp, 61)
1800 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1801 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1802 394712 : idata = idata + 1
1803 394712 : data_tmp = full_data(idata)
1804 394712 : data_tmp = ISHFT(data_tmp, 61)
1805 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1806 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1807 394712 : idata = idata + 1
1808 394712 : data_tmp = full_data(idata)
1809 394712 : data_tmp = ISHFT(data_tmp, 61)
1810 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1811 394712 : pack_tmp = ISHFT(pack_tmp, -3)
1812 394712 : idata = idata + 1
1813 394712 : data_tmp = full_data(idata)
1814 394712 : data_tmp = ISHFT(data_tmp, 61)
1815 394712 : pack_tmp = IOR(pack_tmp, data_tmp)
1816 : pack_tmp = ISHFT(pack_tmp, 0)
1817 394712 : pack_tmp = ISHFT(pack_tmp, 0)
1818 394712 : ipack = ipack + 1
1819 394714 : packed_data(ipack) = pack_tmp
1820 : END DO
1821 24678 : IF (Ndata_rep < Ndata) THEN
1822 16 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
1823 : END IF
1824 24678 : END SUBROUTINE ints2bits_3
1825 :
1826 : ! **************************************************************************************************
1827 : !> \brief ...
1828 : !> \param Ndata ...
1829 : !> \param packed_data ...
1830 : !> \param full_data ...
1831 : ! **************************************************************************************************
1832 99851 : 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(*)
1836 :
1837 : INTEGER, PARAMETER :: Nbits = 3
1838 :
1839 : INTEGER :: idata, ipack, kdata, Ndata_rep
1840 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
1841 :
1842 99851 : ipack = 0
1843 99851 : idata = 0
1844 99851 : pack_tmp = 0
1845 99851 : Ndata_rep = (Ndata/64)*64
1846 99851 : DO kdata = 1, Ndata_rep, 64
1847 1596664 : idata = idata + 1
1848 1596664 : data_tmp = ISHFT(pack_tmp, 3)
1849 1596664 : ipack = ipack + 1
1850 1596664 : pack_tmp = packed_data(ipack)
1851 1596664 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
1852 1596664 : pack_tmp = ISHFT(pack_tmp, -3)
1853 1596664 : idata = idata + 1
1854 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1855 1596664 : full_data(idata) = data_tmp
1856 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1857 1596664 : idata = idata + 1
1858 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1859 1596664 : full_data(idata) = data_tmp
1860 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1861 1596664 : idata = idata + 1
1862 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1863 1596664 : full_data(idata) = data_tmp
1864 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1865 1596664 : idata = idata + 1
1866 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1867 1596664 : full_data(idata) = data_tmp
1868 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1869 1596664 : idata = idata + 1
1870 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1871 1596664 : full_data(idata) = data_tmp
1872 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1873 1596664 : idata = idata + 1
1874 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1875 1596664 : full_data(idata) = data_tmp
1876 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1877 1596664 : idata = idata + 1
1878 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1879 1596664 : full_data(idata) = data_tmp
1880 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1881 1596664 : idata = idata + 1
1882 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1883 1596664 : full_data(idata) = data_tmp
1884 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1885 1596664 : idata = idata + 1
1886 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1887 1596664 : full_data(idata) = data_tmp
1888 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1889 1596664 : idata = idata + 1
1890 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1891 1596664 : full_data(idata) = data_tmp
1892 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1893 1596664 : idata = idata + 1
1894 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1895 1596664 : full_data(idata) = data_tmp
1896 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1897 1596664 : idata = idata + 1
1898 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1899 1596664 : full_data(idata) = data_tmp
1900 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1901 1596664 : idata = idata + 1
1902 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1903 1596664 : full_data(idata) = data_tmp
1904 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1905 1596664 : idata = idata + 1
1906 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1907 1596664 : full_data(idata) = data_tmp
1908 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1909 1596664 : idata = idata + 1
1910 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1911 1596664 : full_data(idata) = data_tmp
1912 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1913 1596664 : idata = idata + 1
1914 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1915 1596664 : full_data(idata) = data_tmp
1916 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1917 1596664 : idata = idata + 1
1918 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1919 1596664 : full_data(idata) = data_tmp
1920 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1921 1596664 : idata = idata + 1
1922 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1923 1596664 : full_data(idata) = data_tmp
1924 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1925 1596664 : idata = idata + 1
1926 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1927 1596664 : full_data(idata) = data_tmp
1928 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1929 1596664 : idata = idata + 1
1930 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1931 1596664 : full_data(idata) = data_tmp
1932 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1933 1596664 : idata = idata + 1
1934 1596664 : data_tmp = ISHFT(pack_tmp, 2)
1935 1596664 : ipack = ipack + 1
1936 1596664 : pack_tmp = packed_data(ipack)
1937 1596664 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
1938 1596664 : pack_tmp = ISHFT(pack_tmp, -2)
1939 1596664 : idata = idata + 1
1940 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1941 1596664 : full_data(idata) = data_tmp
1942 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1943 1596664 : idata = idata + 1
1944 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1945 1596664 : full_data(idata) = data_tmp
1946 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1947 1596664 : idata = idata + 1
1948 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1949 1596664 : full_data(idata) = data_tmp
1950 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1951 1596664 : idata = idata + 1
1952 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1953 1596664 : full_data(idata) = data_tmp
1954 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1955 1596664 : idata = idata + 1
1956 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1957 1596664 : full_data(idata) = data_tmp
1958 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1959 1596664 : idata = idata + 1
1960 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1961 1596664 : full_data(idata) = data_tmp
1962 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1963 1596664 : idata = idata + 1
1964 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1965 1596664 : full_data(idata) = data_tmp
1966 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1967 1596664 : idata = idata + 1
1968 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1969 1596664 : full_data(idata) = data_tmp
1970 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1971 1596664 : idata = idata + 1
1972 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1973 1596664 : full_data(idata) = data_tmp
1974 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1975 1596664 : idata = idata + 1
1976 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1977 1596664 : full_data(idata) = data_tmp
1978 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1979 1596664 : idata = idata + 1
1980 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1981 1596664 : full_data(idata) = data_tmp
1982 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1983 1596664 : idata = idata + 1
1984 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1985 1596664 : full_data(idata) = data_tmp
1986 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1987 1596664 : idata = idata + 1
1988 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1989 1596664 : full_data(idata) = data_tmp
1990 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1991 1596664 : idata = idata + 1
1992 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1993 1596664 : full_data(idata) = data_tmp
1994 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1995 1596664 : idata = idata + 1
1996 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
1997 1596664 : full_data(idata) = data_tmp
1998 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
1999 1596664 : idata = idata + 1
2000 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2001 1596664 : full_data(idata) = data_tmp
2002 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2003 1596664 : idata = idata + 1
2004 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2005 1596664 : full_data(idata) = data_tmp
2006 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2007 1596664 : idata = idata + 1
2008 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2009 1596664 : full_data(idata) = data_tmp
2010 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2011 1596664 : idata = idata + 1
2012 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2013 1596664 : full_data(idata) = data_tmp
2014 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2015 1596664 : idata = idata + 1
2016 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2017 1596664 : full_data(idata) = data_tmp
2018 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2019 1596664 : idata = idata + 1
2020 1596664 : data_tmp = ISHFT(pack_tmp, 1)
2021 1596664 : ipack = ipack + 1
2022 1596664 : pack_tmp = packed_data(ipack)
2023 1596664 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
2024 1596664 : pack_tmp = ISHFT(pack_tmp, -1)
2025 1596664 : idata = idata + 1
2026 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2027 1596664 : full_data(idata) = data_tmp
2028 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2029 1596664 : idata = idata + 1
2030 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2031 1596664 : full_data(idata) = data_tmp
2032 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2033 1596664 : idata = idata + 1
2034 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2035 1596664 : full_data(idata) = data_tmp
2036 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2037 1596664 : idata = idata + 1
2038 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2039 1596664 : full_data(idata) = data_tmp
2040 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2041 1596664 : idata = idata + 1
2042 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2043 1596664 : full_data(idata) = data_tmp
2044 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2045 1596664 : idata = idata + 1
2046 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2047 1596664 : full_data(idata) = data_tmp
2048 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2049 1596664 : idata = idata + 1
2050 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2051 1596664 : full_data(idata) = data_tmp
2052 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2053 1596664 : idata = idata + 1
2054 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2055 1596664 : full_data(idata) = data_tmp
2056 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2057 1596664 : idata = idata + 1
2058 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2059 1596664 : full_data(idata) = data_tmp
2060 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2061 1596664 : idata = idata + 1
2062 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2063 1596664 : full_data(idata) = data_tmp
2064 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2065 1596664 : idata = idata + 1
2066 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2067 1596664 : full_data(idata) = data_tmp
2068 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2069 1596664 : idata = idata + 1
2070 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2071 1596664 : full_data(idata) = data_tmp
2072 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2073 1596664 : idata = idata + 1
2074 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2075 1596664 : full_data(idata) = data_tmp
2076 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2077 1596664 : idata = idata + 1
2078 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2079 1596664 : full_data(idata) = data_tmp
2080 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2081 1596664 : idata = idata + 1
2082 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2083 1596664 : full_data(idata) = data_tmp
2084 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2085 1596664 : idata = idata + 1
2086 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2087 1596664 : full_data(idata) = data_tmp
2088 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2089 1596664 : idata = idata + 1
2090 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2091 1596664 : full_data(idata) = data_tmp
2092 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2093 1596664 : idata = idata + 1
2094 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2095 1596664 : full_data(idata) = data_tmp
2096 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2097 1596664 : idata = idata + 1
2098 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2099 1596664 : full_data(idata) = data_tmp
2100 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2101 1596664 : idata = idata + 1
2102 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2103 1596664 : full_data(idata) = data_tmp
2104 1596664 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2105 1596664 : idata = idata + 1
2106 1596664 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2107 1596664 : full_data(idata) = data_tmp
2108 1596678 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2109 : END DO
2110 99851 : IF (Ndata_rep < Ndata) THEN
2111 112 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
2112 : END IF
2113 99851 : END SUBROUTINE bits2ints_3
2114 :
2115 : ! **************************************************************************************************
2116 : !> \brief ...
2117 : !> \param Ndata ...
2118 : !> \param packed_data ...
2119 : !> \param full_data ...
2120 : ! **************************************************************************************************
2121 24783 : 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(*)
2125 :
2126 : INTEGER, PARAMETER :: Nbits = 4
2127 :
2128 : INTEGER :: idata, ipack, kdata, Ndata_rep
2129 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
2130 :
2131 24783 : idata = 0
2132 24783 : ipack = 0
2133 24783 : Ndata_rep = (Ndata/64)*64
2134 24783 : DO kdata = 1, Ndata_rep, 64
2135 396224 : pack_tmp = 0
2136 396224 : idata = idata + 1
2137 396224 : data_tmp = full_data(idata)
2138 396224 : data_tmp = ISHFT(data_tmp, 60)
2139 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2140 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2141 396224 : idata = idata + 1
2142 396224 : data_tmp = full_data(idata)
2143 396224 : data_tmp = ISHFT(data_tmp, 60)
2144 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2145 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2146 396224 : idata = idata + 1
2147 396224 : data_tmp = full_data(idata)
2148 396224 : data_tmp = ISHFT(data_tmp, 60)
2149 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2150 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2151 396224 : idata = idata + 1
2152 396224 : data_tmp = full_data(idata)
2153 396224 : data_tmp = ISHFT(data_tmp, 60)
2154 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2155 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2156 396224 : idata = idata + 1
2157 396224 : data_tmp = full_data(idata)
2158 396224 : data_tmp = ISHFT(data_tmp, 60)
2159 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2160 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2161 396224 : idata = idata + 1
2162 396224 : data_tmp = full_data(idata)
2163 396224 : data_tmp = ISHFT(data_tmp, 60)
2164 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2165 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2166 396224 : idata = idata + 1
2167 396224 : data_tmp = full_data(idata)
2168 396224 : data_tmp = ISHFT(data_tmp, 60)
2169 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2170 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2171 396224 : idata = idata + 1
2172 396224 : data_tmp = full_data(idata)
2173 396224 : data_tmp = ISHFT(data_tmp, 60)
2174 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2175 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2176 396224 : idata = idata + 1
2177 396224 : data_tmp = full_data(idata)
2178 396224 : data_tmp = ISHFT(data_tmp, 60)
2179 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2180 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2181 396224 : idata = idata + 1
2182 396224 : data_tmp = full_data(idata)
2183 396224 : data_tmp = ISHFT(data_tmp, 60)
2184 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2185 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2186 396224 : idata = idata + 1
2187 396224 : data_tmp = full_data(idata)
2188 396224 : data_tmp = ISHFT(data_tmp, 60)
2189 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2190 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2191 396224 : idata = idata + 1
2192 396224 : data_tmp = full_data(idata)
2193 396224 : data_tmp = ISHFT(data_tmp, 60)
2194 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2195 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2196 396224 : idata = idata + 1
2197 396224 : data_tmp = full_data(idata)
2198 396224 : data_tmp = ISHFT(data_tmp, 60)
2199 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2200 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2201 396224 : idata = idata + 1
2202 396224 : data_tmp = full_data(idata)
2203 396224 : data_tmp = ISHFT(data_tmp, 60)
2204 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2205 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2206 396224 : idata = idata + 1
2207 396224 : data_tmp = full_data(idata)
2208 396224 : data_tmp = ISHFT(data_tmp, 60)
2209 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2210 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2211 396224 : idata = idata + 1
2212 396224 : data_tmp = full_data(idata)
2213 396224 : data_tmp = ISHFT(data_tmp, 60)
2214 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2215 396224 : pack_tmp = ISHFT(pack_tmp, 0)
2216 396224 : idata = idata + 1
2217 396224 : data_tmp = full_data(idata)
2218 : data_tmp = ISHFT(data_tmp, 60)
2219 396224 : data_tmp = IAND(data_tmp, mask_left(0))
2220 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2221 396224 : ipack = ipack + 1
2222 396224 : packed_data(ipack) = pack_tmp
2223 396224 : data_tmp = full_data(idata)
2224 396224 : pack_tmp = ISHFT(data_tmp, 60)
2225 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2226 396224 : idata = idata + 1
2227 396224 : data_tmp = full_data(idata)
2228 396224 : data_tmp = ISHFT(data_tmp, 60)
2229 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2230 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2231 396224 : idata = idata + 1
2232 396224 : data_tmp = full_data(idata)
2233 396224 : data_tmp = ISHFT(data_tmp, 60)
2234 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2235 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2236 396224 : idata = idata + 1
2237 396224 : data_tmp = full_data(idata)
2238 396224 : data_tmp = ISHFT(data_tmp, 60)
2239 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2240 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2241 396224 : idata = idata + 1
2242 396224 : data_tmp = full_data(idata)
2243 396224 : data_tmp = ISHFT(data_tmp, 60)
2244 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2245 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2246 396224 : idata = idata + 1
2247 396224 : data_tmp = full_data(idata)
2248 396224 : data_tmp = ISHFT(data_tmp, 60)
2249 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2250 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2251 396224 : idata = idata + 1
2252 396224 : data_tmp = full_data(idata)
2253 396224 : data_tmp = ISHFT(data_tmp, 60)
2254 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2255 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2256 396224 : idata = idata + 1
2257 396224 : data_tmp = full_data(idata)
2258 396224 : data_tmp = ISHFT(data_tmp, 60)
2259 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2260 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2261 396224 : idata = idata + 1
2262 396224 : data_tmp = full_data(idata)
2263 396224 : data_tmp = ISHFT(data_tmp, 60)
2264 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2265 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2266 396224 : idata = idata + 1
2267 396224 : data_tmp = full_data(idata)
2268 396224 : data_tmp = ISHFT(data_tmp, 60)
2269 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2270 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2271 396224 : idata = idata + 1
2272 396224 : data_tmp = full_data(idata)
2273 396224 : data_tmp = ISHFT(data_tmp, 60)
2274 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2275 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2276 396224 : idata = idata + 1
2277 396224 : data_tmp = full_data(idata)
2278 396224 : data_tmp = ISHFT(data_tmp, 60)
2279 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2280 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2281 396224 : idata = idata + 1
2282 396224 : data_tmp = full_data(idata)
2283 396224 : data_tmp = ISHFT(data_tmp, 60)
2284 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2285 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2286 396224 : idata = idata + 1
2287 396224 : data_tmp = full_data(idata)
2288 396224 : data_tmp = ISHFT(data_tmp, 60)
2289 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2290 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2291 396224 : idata = idata + 1
2292 396224 : data_tmp = full_data(idata)
2293 396224 : data_tmp = ISHFT(data_tmp, 60)
2294 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2295 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2296 396224 : idata = idata + 1
2297 396224 : data_tmp = full_data(idata)
2298 396224 : data_tmp = ISHFT(data_tmp, 60)
2299 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2300 396224 : pack_tmp = ISHFT(pack_tmp, 0)
2301 396224 : idata = idata + 1
2302 396224 : data_tmp = full_data(idata)
2303 : data_tmp = ISHFT(data_tmp, 60)
2304 396224 : data_tmp = IAND(data_tmp, mask_left(0))
2305 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2306 396224 : ipack = ipack + 1
2307 396224 : packed_data(ipack) = pack_tmp
2308 396224 : data_tmp = full_data(idata)
2309 396224 : pack_tmp = ISHFT(data_tmp, 60)
2310 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2311 396224 : idata = idata + 1
2312 396224 : data_tmp = full_data(idata)
2313 396224 : data_tmp = ISHFT(data_tmp, 60)
2314 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2315 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2316 396224 : idata = idata + 1
2317 396224 : data_tmp = full_data(idata)
2318 396224 : data_tmp = ISHFT(data_tmp, 60)
2319 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2320 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2321 396224 : idata = idata + 1
2322 396224 : data_tmp = full_data(idata)
2323 396224 : data_tmp = ISHFT(data_tmp, 60)
2324 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2325 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2326 396224 : idata = idata + 1
2327 396224 : data_tmp = full_data(idata)
2328 396224 : data_tmp = ISHFT(data_tmp, 60)
2329 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2330 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2331 396224 : idata = idata + 1
2332 396224 : data_tmp = full_data(idata)
2333 396224 : data_tmp = ISHFT(data_tmp, 60)
2334 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2335 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2336 396224 : idata = idata + 1
2337 396224 : data_tmp = full_data(idata)
2338 396224 : data_tmp = ISHFT(data_tmp, 60)
2339 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2340 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2341 396224 : idata = idata + 1
2342 396224 : data_tmp = full_data(idata)
2343 396224 : data_tmp = ISHFT(data_tmp, 60)
2344 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2345 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2346 396224 : idata = idata + 1
2347 396224 : data_tmp = full_data(idata)
2348 396224 : data_tmp = ISHFT(data_tmp, 60)
2349 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2350 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2351 396224 : idata = idata + 1
2352 396224 : data_tmp = full_data(idata)
2353 396224 : data_tmp = ISHFT(data_tmp, 60)
2354 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2355 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2356 396224 : idata = idata + 1
2357 396224 : data_tmp = full_data(idata)
2358 396224 : data_tmp = ISHFT(data_tmp, 60)
2359 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2360 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2361 396224 : idata = idata + 1
2362 396224 : data_tmp = full_data(idata)
2363 396224 : data_tmp = ISHFT(data_tmp, 60)
2364 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2365 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2366 396224 : idata = idata + 1
2367 396224 : data_tmp = full_data(idata)
2368 396224 : data_tmp = ISHFT(data_tmp, 60)
2369 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2370 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2371 396224 : idata = idata + 1
2372 396224 : data_tmp = full_data(idata)
2373 396224 : data_tmp = ISHFT(data_tmp, 60)
2374 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2375 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2376 396224 : idata = idata + 1
2377 396224 : data_tmp = full_data(idata)
2378 396224 : data_tmp = ISHFT(data_tmp, 60)
2379 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2380 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2381 396224 : idata = idata + 1
2382 396224 : data_tmp = full_data(idata)
2383 396224 : data_tmp = ISHFT(data_tmp, 60)
2384 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2385 396224 : pack_tmp = ISHFT(pack_tmp, 0)
2386 396224 : idata = idata + 1
2387 396224 : data_tmp = full_data(idata)
2388 : data_tmp = ISHFT(data_tmp, 60)
2389 396224 : data_tmp = IAND(data_tmp, mask_left(0))
2390 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2391 396224 : ipack = ipack + 1
2392 396224 : packed_data(ipack) = pack_tmp
2393 396224 : data_tmp = full_data(idata)
2394 396224 : pack_tmp = ISHFT(data_tmp, 60)
2395 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2396 396224 : idata = idata + 1
2397 396224 : data_tmp = full_data(idata)
2398 396224 : data_tmp = ISHFT(data_tmp, 60)
2399 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2400 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2401 396224 : idata = idata + 1
2402 396224 : data_tmp = full_data(idata)
2403 396224 : data_tmp = ISHFT(data_tmp, 60)
2404 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2405 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2406 396224 : idata = idata + 1
2407 396224 : data_tmp = full_data(idata)
2408 396224 : data_tmp = ISHFT(data_tmp, 60)
2409 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2410 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2411 396224 : idata = idata + 1
2412 396224 : data_tmp = full_data(idata)
2413 396224 : data_tmp = ISHFT(data_tmp, 60)
2414 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2415 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2416 396224 : idata = idata + 1
2417 396224 : data_tmp = full_data(idata)
2418 396224 : data_tmp = ISHFT(data_tmp, 60)
2419 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2420 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2421 396224 : idata = idata + 1
2422 396224 : data_tmp = full_data(idata)
2423 396224 : data_tmp = ISHFT(data_tmp, 60)
2424 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2425 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2426 396224 : idata = idata + 1
2427 396224 : data_tmp = full_data(idata)
2428 396224 : data_tmp = ISHFT(data_tmp, 60)
2429 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2430 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2431 396224 : idata = idata + 1
2432 396224 : data_tmp = full_data(idata)
2433 396224 : data_tmp = ISHFT(data_tmp, 60)
2434 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2435 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2436 396224 : idata = idata + 1
2437 396224 : data_tmp = full_data(idata)
2438 396224 : data_tmp = ISHFT(data_tmp, 60)
2439 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2440 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2441 396224 : idata = idata + 1
2442 396224 : data_tmp = full_data(idata)
2443 396224 : data_tmp = ISHFT(data_tmp, 60)
2444 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2445 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2446 396224 : idata = idata + 1
2447 396224 : data_tmp = full_data(idata)
2448 396224 : data_tmp = ISHFT(data_tmp, 60)
2449 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2450 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2451 396224 : idata = idata + 1
2452 396224 : data_tmp = full_data(idata)
2453 396224 : data_tmp = ISHFT(data_tmp, 60)
2454 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2455 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2456 396224 : idata = idata + 1
2457 396224 : data_tmp = full_data(idata)
2458 396224 : data_tmp = ISHFT(data_tmp, 60)
2459 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2460 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2461 396224 : idata = idata + 1
2462 396224 : data_tmp = full_data(idata)
2463 396224 : data_tmp = ISHFT(data_tmp, 60)
2464 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2465 396224 : pack_tmp = ISHFT(pack_tmp, -4)
2466 396224 : idata = idata + 1
2467 396224 : data_tmp = full_data(idata)
2468 396224 : data_tmp = ISHFT(data_tmp, 60)
2469 396224 : pack_tmp = IOR(pack_tmp, data_tmp)
2470 : pack_tmp = ISHFT(pack_tmp, 0)
2471 396224 : pack_tmp = ISHFT(pack_tmp, 0)
2472 396224 : ipack = ipack + 1
2473 396243 : packed_data(ipack) = pack_tmp
2474 : END DO
2475 24783 : IF (Ndata_rep < Ndata) THEN
2476 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
2477 : END IF
2478 24783 : END SUBROUTINE ints2bits_4
2479 :
2480 : ! **************************************************************************************************
2481 : !> \brief ...
2482 : !> \param Ndata ...
2483 : !> \param packed_data ...
2484 : !> \param full_data ...
2485 : ! **************************************************************************************************
2486 100666 : 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(*)
2490 :
2491 : INTEGER, PARAMETER :: Nbits = 4
2492 :
2493 : INTEGER :: idata, ipack, kdata, Ndata_rep
2494 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
2495 :
2496 100666 : ipack = 0
2497 100666 : idata = 0
2498 100666 : pack_tmp = 0
2499 100666 : Ndata_rep = (Ndata/64)*64
2500 100666 : DO kdata = 1, Ndata_rep, 64
2501 1608752 : idata = idata + 1
2502 1608752 : data_tmp = ISHFT(pack_tmp, 4)
2503 1608752 : ipack = ipack + 1
2504 1608752 : pack_tmp = packed_data(ipack)
2505 1608752 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2506 1608752 : pack_tmp = ISHFT(pack_tmp, -4)
2507 1608752 : idata = idata + 1
2508 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2509 1608752 : full_data(idata) = data_tmp
2510 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2511 1608752 : idata = idata + 1
2512 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2513 1608752 : full_data(idata) = data_tmp
2514 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2515 1608752 : idata = idata + 1
2516 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2517 1608752 : full_data(idata) = data_tmp
2518 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2519 1608752 : idata = idata + 1
2520 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2521 1608752 : full_data(idata) = data_tmp
2522 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2523 1608752 : idata = idata + 1
2524 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2525 1608752 : full_data(idata) = data_tmp
2526 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2527 1608752 : idata = idata + 1
2528 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2529 1608752 : full_data(idata) = data_tmp
2530 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2531 1608752 : idata = idata + 1
2532 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2533 1608752 : full_data(idata) = data_tmp
2534 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2535 1608752 : idata = idata + 1
2536 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2537 1608752 : full_data(idata) = data_tmp
2538 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2539 1608752 : idata = idata + 1
2540 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2541 1608752 : full_data(idata) = data_tmp
2542 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2543 1608752 : idata = idata + 1
2544 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2545 1608752 : full_data(idata) = data_tmp
2546 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2547 1608752 : idata = idata + 1
2548 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2549 1608752 : full_data(idata) = data_tmp
2550 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2551 1608752 : idata = idata + 1
2552 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2553 1608752 : full_data(idata) = data_tmp
2554 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2555 1608752 : idata = idata + 1
2556 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2557 1608752 : full_data(idata) = data_tmp
2558 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2559 1608752 : idata = idata + 1
2560 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2561 1608752 : full_data(idata) = data_tmp
2562 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2563 1608752 : idata = idata + 1
2564 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2565 1608752 : full_data(idata) = data_tmp
2566 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2567 1608752 : idata = idata + 1
2568 1608752 : data_tmp = ISHFT(pack_tmp, 4)
2569 1608752 : ipack = ipack + 1
2570 1608752 : pack_tmp = packed_data(ipack)
2571 1608752 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2572 1608752 : pack_tmp = ISHFT(pack_tmp, -4)
2573 1608752 : idata = idata + 1
2574 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2575 1608752 : full_data(idata) = data_tmp
2576 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2577 1608752 : idata = idata + 1
2578 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2579 1608752 : full_data(idata) = data_tmp
2580 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2581 1608752 : idata = idata + 1
2582 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2583 1608752 : full_data(idata) = data_tmp
2584 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2585 1608752 : idata = idata + 1
2586 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2587 1608752 : full_data(idata) = data_tmp
2588 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2589 1608752 : idata = idata + 1
2590 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2591 1608752 : full_data(idata) = data_tmp
2592 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2593 1608752 : idata = idata + 1
2594 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2595 1608752 : full_data(idata) = data_tmp
2596 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2597 1608752 : idata = idata + 1
2598 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2599 1608752 : full_data(idata) = data_tmp
2600 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2601 1608752 : idata = idata + 1
2602 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2603 1608752 : full_data(idata) = data_tmp
2604 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2605 1608752 : idata = idata + 1
2606 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2607 1608752 : full_data(idata) = data_tmp
2608 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2609 1608752 : idata = idata + 1
2610 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2611 1608752 : full_data(idata) = data_tmp
2612 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2613 1608752 : idata = idata + 1
2614 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2615 1608752 : full_data(idata) = data_tmp
2616 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2617 1608752 : idata = idata + 1
2618 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2619 1608752 : full_data(idata) = data_tmp
2620 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2621 1608752 : idata = idata + 1
2622 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2623 1608752 : full_data(idata) = data_tmp
2624 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2625 1608752 : idata = idata + 1
2626 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2627 1608752 : full_data(idata) = data_tmp
2628 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2629 1608752 : idata = idata + 1
2630 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2631 1608752 : full_data(idata) = data_tmp
2632 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2633 1608752 : idata = idata + 1
2634 1608752 : data_tmp = ISHFT(pack_tmp, 4)
2635 1608752 : ipack = ipack + 1
2636 1608752 : pack_tmp = packed_data(ipack)
2637 1608752 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2638 1608752 : pack_tmp = ISHFT(pack_tmp, -4)
2639 1608752 : idata = idata + 1
2640 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2641 1608752 : full_data(idata) = data_tmp
2642 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2643 1608752 : idata = idata + 1
2644 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2645 1608752 : full_data(idata) = data_tmp
2646 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2647 1608752 : idata = idata + 1
2648 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2649 1608752 : full_data(idata) = data_tmp
2650 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2651 1608752 : idata = idata + 1
2652 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2653 1608752 : full_data(idata) = data_tmp
2654 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2655 1608752 : idata = idata + 1
2656 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2657 1608752 : full_data(idata) = data_tmp
2658 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2659 1608752 : idata = idata + 1
2660 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2661 1608752 : full_data(idata) = data_tmp
2662 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2663 1608752 : idata = idata + 1
2664 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2665 1608752 : full_data(idata) = data_tmp
2666 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2667 1608752 : idata = idata + 1
2668 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2669 1608752 : full_data(idata) = data_tmp
2670 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2671 1608752 : idata = idata + 1
2672 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2673 1608752 : full_data(idata) = data_tmp
2674 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2675 1608752 : idata = idata + 1
2676 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2677 1608752 : full_data(idata) = data_tmp
2678 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2679 1608752 : idata = idata + 1
2680 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2681 1608752 : full_data(idata) = data_tmp
2682 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2683 1608752 : idata = idata + 1
2684 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2685 1608752 : full_data(idata) = data_tmp
2686 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2687 1608752 : idata = idata + 1
2688 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2689 1608752 : full_data(idata) = data_tmp
2690 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2691 1608752 : idata = idata + 1
2692 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2693 1608752 : full_data(idata) = data_tmp
2694 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2695 1608752 : idata = idata + 1
2696 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2697 1608752 : full_data(idata) = data_tmp
2698 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2699 1608752 : idata = idata + 1
2700 1608752 : data_tmp = ISHFT(pack_tmp, 4)
2701 1608752 : ipack = ipack + 1
2702 1608752 : pack_tmp = packed_data(ipack)
2703 1608752 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
2704 1608752 : pack_tmp = ISHFT(pack_tmp, -4)
2705 1608752 : idata = idata + 1
2706 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2707 1608752 : full_data(idata) = data_tmp
2708 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2709 1608752 : idata = idata + 1
2710 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2711 1608752 : full_data(idata) = data_tmp
2712 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2713 1608752 : idata = idata + 1
2714 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2715 1608752 : full_data(idata) = data_tmp
2716 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2717 1608752 : idata = idata + 1
2718 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2719 1608752 : full_data(idata) = data_tmp
2720 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2721 1608752 : idata = idata + 1
2722 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2723 1608752 : full_data(idata) = data_tmp
2724 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2725 1608752 : idata = idata + 1
2726 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2727 1608752 : full_data(idata) = data_tmp
2728 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2729 1608752 : idata = idata + 1
2730 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2731 1608752 : full_data(idata) = data_tmp
2732 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2733 1608752 : idata = idata + 1
2734 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2735 1608752 : full_data(idata) = data_tmp
2736 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2737 1608752 : idata = idata + 1
2738 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2739 1608752 : full_data(idata) = data_tmp
2740 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2741 1608752 : idata = idata + 1
2742 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2743 1608752 : full_data(idata) = data_tmp
2744 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2745 1608752 : idata = idata + 1
2746 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2747 1608752 : full_data(idata) = data_tmp
2748 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2749 1608752 : idata = idata + 1
2750 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2751 1608752 : full_data(idata) = data_tmp
2752 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2753 1608752 : idata = idata + 1
2754 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2755 1608752 : full_data(idata) = data_tmp
2756 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2757 1608752 : idata = idata + 1
2758 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2759 1608752 : full_data(idata) = data_tmp
2760 1608752 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2761 1608752 : idata = idata + 1
2762 1608752 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
2763 1608752 : full_data(idata) = data_tmp
2764 1608871 : pack_tmp = ISHFT(pack_tmp, -Nbits)
2765 : END DO
2766 100666 : IF (Ndata_rep < Ndata) THEN
2767 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
2768 : END IF
2769 100666 : END SUBROUTINE bits2ints_4
2770 :
2771 : ! **************************************************************************************************
2772 : !> \brief ...
2773 : !> \param Ndata ...
2774 : !> \param packed_data ...
2775 : !> \param full_data ...
2776 : ! **************************************************************************************************
2777 24667 : 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(*)
2781 :
2782 : INTEGER, PARAMETER :: Nbits = 5
2783 :
2784 : INTEGER :: idata, ipack, kdata, Ndata_rep
2785 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
2786 :
2787 24667 : idata = 0
2788 24667 : ipack = 0
2789 24667 : Ndata_rep = (Ndata/64)*64
2790 24667 : DO kdata = 1, Ndata_rep, 64
2791 394453 : pack_tmp = 0
2792 394453 : idata = idata + 1
2793 394453 : data_tmp = full_data(idata)
2794 394453 : data_tmp = ISHFT(data_tmp, 59)
2795 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2796 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2797 394453 : idata = idata + 1
2798 394453 : data_tmp = full_data(idata)
2799 394453 : data_tmp = ISHFT(data_tmp, 59)
2800 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2801 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2802 394453 : idata = idata + 1
2803 394453 : data_tmp = full_data(idata)
2804 394453 : data_tmp = ISHFT(data_tmp, 59)
2805 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2806 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2807 394453 : idata = idata + 1
2808 394453 : data_tmp = full_data(idata)
2809 394453 : data_tmp = ISHFT(data_tmp, 59)
2810 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2811 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2812 394453 : idata = idata + 1
2813 394453 : data_tmp = full_data(idata)
2814 394453 : data_tmp = ISHFT(data_tmp, 59)
2815 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2816 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2817 394453 : idata = idata + 1
2818 394453 : data_tmp = full_data(idata)
2819 394453 : data_tmp = ISHFT(data_tmp, 59)
2820 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2821 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2822 394453 : idata = idata + 1
2823 394453 : data_tmp = full_data(idata)
2824 394453 : data_tmp = ISHFT(data_tmp, 59)
2825 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2826 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2827 394453 : idata = idata + 1
2828 394453 : data_tmp = full_data(idata)
2829 394453 : data_tmp = ISHFT(data_tmp, 59)
2830 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2831 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2832 394453 : idata = idata + 1
2833 394453 : data_tmp = full_data(idata)
2834 394453 : data_tmp = ISHFT(data_tmp, 59)
2835 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2836 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2837 394453 : idata = idata + 1
2838 394453 : data_tmp = full_data(idata)
2839 394453 : data_tmp = ISHFT(data_tmp, 59)
2840 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2841 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2842 394453 : idata = idata + 1
2843 394453 : data_tmp = full_data(idata)
2844 394453 : data_tmp = ISHFT(data_tmp, 59)
2845 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2846 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2847 394453 : idata = idata + 1
2848 394453 : data_tmp = full_data(idata)
2849 394453 : data_tmp = ISHFT(data_tmp, 59)
2850 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2851 394453 : pack_tmp = ISHFT(pack_tmp, -4)
2852 394453 : idata = idata + 1
2853 394453 : data_tmp = full_data(idata)
2854 394453 : data_tmp = ISHFT(data_tmp, 59)
2855 394453 : data_tmp = IAND(data_tmp, mask_left(4))
2856 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2857 394453 : ipack = ipack + 1
2858 394453 : packed_data(ipack) = pack_tmp
2859 394453 : data_tmp = full_data(idata)
2860 394453 : pack_tmp = ISHFT(data_tmp, 63)
2861 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2862 394453 : idata = idata + 1
2863 394453 : data_tmp = full_data(idata)
2864 394453 : data_tmp = ISHFT(data_tmp, 59)
2865 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2866 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2867 394453 : idata = idata + 1
2868 394453 : data_tmp = full_data(idata)
2869 394453 : data_tmp = ISHFT(data_tmp, 59)
2870 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2871 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2872 394453 : idata = idata + 1
2873 394453 : data_tmp = full_data(idata)
2874 394453 : data_tmp = ISHFT(data_tmp, 59)
2875 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2876 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2877 394453 : idata = idata + 1
2878 394453 : data_tmp = full_data(idata)
2879 394453 : data_tmp = ISHFT(data_tmp, 59)
2880 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2881 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2882 394453 : idata = idata + 1
2883 394453 : data_tmp = full_data(idata)
2884 394453 : data_tmp = ISHFT(data_tmp, 59)
2885 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2886 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2887 394453 : idata = idata + 1
2888 394453 : data_tmp = full_data(idata)
2889 394453 : data_tmp = ISHFT(data_tmp, 59)
2890 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2891 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2892 394453 : idata = idata + 1
2893 394453 : data_tmp = full_data(idata)
2894 394453 : data_tmp = ISHFT(data_tmp, 59)
2895 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2896 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2897 394453 : idata = idata + 1
2898 394453 : data_tmp = full_data(idata)
2899 394453 : data_tmp = ISHFT(data_tmp, 59)
2900 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2901 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2902 394453 : idata = idata + 1
2903 394453 : data_tmp = full_data(idata)
2904 394453 : data_tmp = ISHFT(data_tmp, 59)
2905 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2906 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2907 394453 : idata = idata + 1
2908 394453 : data_tmp = full_data(idata)
2909 394453 : data_tmp = ISHFT(data_tmp, 59)
2910 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2911 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2912 394453 : idata = idata + 1
2913 394453 : data_tmp = full_data(idata)
2914 394453 : data_tmp = ISHFT(data_tmp, 59)
2915 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2916 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2917 394453 : idata = idata + 1
2918 394453 : data_tmp = full_data(idata)
2919 394453 : data_tmp = ISHFT(data_tmp, 59)
2920 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2921 394453 : pack_tmp = ISHFT(pack_tmp, -3)
2922 394453 : idata = idata + 1
2923 394453 : data_tmp = full_data(idata)
2924 394453 : data_tmp = ISHFT(data_tmp, 59)
2925 394453 : data_tmp = IAND(data_tmp, mask_left(3))
2926 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2927 394453 : ipack = ipack + 1
2928 394453 : packed_data(ipack) = pack_tmp
2929 394453 : data_tmp = full_data(idata)
2930 394453 : pack_tmp = ISHFT(data_tmp, 62)
2931 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2932 394453 : idata = idata + 1
2933 394453 : data_tmp = full_data(idata)
2934 394453 : data_tmp = ISHFT(data_tmp, 59)
2935 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2936 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2937 394453 : idata = idata + 1
2938 394453 : data_tmp = full_data(idata)
2939 394453 : data_tmp = ISHFT(data_tmp, 59)
2940 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2941 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2942 394453 : idata = idata + 1
2943 394453 : data_tmp = full_data(idata)
2944 394453 : data_tmp = ISHFT(data_tmp, 59)
2945 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2946 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2947 394453 : idata = idata + 1
2948 394453 : data_tmp = full_data(idata)
2949 394453 : data_tmp = ISHFT(data_tmp, 59)
2950 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2951 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2952 394453 : idata = idata + 1
2953 394453 : data_tmp = full_data(idata)
2954 394453 : data_tmp = ISHFT(data_tmp, 59)
2955 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2956 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2957 394453 : idata = idata + 1
2958 394453 : data_tmp = full_data(idata)
2959 394453 : data_tmp = ISHFT(data_tmp, 59)
2960 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2961 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2962 394453 : idata = idata + 1
2963 394453 : data_tmp = full_data(idata)
2964 394453 : data_tmp = ISHFT(data_tmp, 59)
2965 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2966 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2967 394453 : idata = idata + 1
2968 394453 : data_tmp = full_data(idata)
2969 394453 : data_tmp = ISHFT(data_tmp, 59)
2970 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2971 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2972 394453 : idata = idata + 1
2973 394453 : data_tmp = full_data(idata)
2974 394453 : data_tmp = ISHFT(data_tmp, 59)
2975 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2976 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2977 394453 : idata = idata + 1
2978 394453 : data_tmp = full_data(idata)
2979 394453 : data_tmp = ISHFT(data_tmp, 59)
2980 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2981 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2982 394453 : idata = idata + 1
2983 394453 : data_tmp = full_data(idata)
2984 394453 : data_tmp = ISHFT(data_tmp, 59)
2985 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2986 394453 : pack_tmp = ISHFT(pack_tmp, -5)
2987 394453 : idata = idata + 1
2988 394453 : data_tmp = full_data(idata)
2989 394453 : data_tmp = ISHFT(data_tmp, 59)
2990 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2991 394453 : pack_tmp = ISHFT(pack_tmp, -2)
2992 394453 : idata = idata + 1
2993 394453 : data_tmp = full_data(idata)
2994 394453 : data_tmp = ISHFT(data_tmp, 59)
2995 394453 : data_tmp = IAND(data_tmp, mask_left(2))
2996 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
2997 394453 : ipack = ipack + 1
2998 394453 : packed_data(ipack) = pack_tmp
2999 394453 : data_tmp = full_data(idata)
3000 394453 : pack_tmp = ISHFT(data_tmp, 61)
3001 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3002 394453 : idata = idata + 1
3003 394453 : data_tmp = full_data(idata)
3004 394453 : data_tmp = ISHFT(data_tmp, 59)
3005 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3006 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3007 394453 : idata = idata + 1
3008 394453 : data_tmp = full_data(idata)
3009 394453 : data_tmp = ISHFT(data_tmp, 59)
3010 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3011 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3012 394453 : idata = idata + 1
3013 394453 : data_tmp = full_data(idata)
3014 394453 : data_tmp = ISHFT(data_tmp, 59)
3015 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3016 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3017 394453 : idata = idata + 1
3018 394453 : data_tmp = full_data(idata)
3019 394453 : data_tmp = ISHFT(data_tmp, 59)
3020 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3021 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3022 394453 : idata = idata + 1
3023 394453 : data_tmp = full_data(idata)
3024 394453 : data_tmp = ISHFT(data_tmp, 59)
3025 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3026 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3027 394453 : idata = idata + 1
3028 394453 : data_tmp = full_data(idata)
3029 394453 : data_tmp = ISHFT(data_tmp, 59)
3030 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3031 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3032 394453 : idata = idata + 1
3033 394453 : data_tmp = full_data(idata)
3034 394453 : data_tmp = ISHFT(data_tmp, 59)
3035 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3036 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3037 394453 : idata = idata + 1
3038 394453 : data_tmp = full_data(idata)
3039 394453 : data_tmp = ISHFT(data_tmp, 59)
3040 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3041 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3042 394453 : idata = idata + 1
3043 394453 : data_tmp = full_data(idata)
3044 394453 : data_tmp = ISHFT(data_tmp, 59)
3045 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3046 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3047 394453 : idata = idata + 1
3048 394453 : data_tmp = full_data(idata)
3049 394453 : data_tmp = ISHFT(data_tmp, 59)
3050 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3051 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3052 394453 : idata = idata + 1
3053 394453 : data_tmp = full_data(idata)
3054 394453 : data_tmp = ISHFT(data_tmp, 59)
3055 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3056 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3057 394453 : idata = idata + 1
3058 394453 : data_tmp = full_data(idata)
3059 394453 : data_tmp = ISHFT(data_tmp, 59)
3060 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3061 394453 : pack_tmp = ISHFT(pack_tmp, -1)
3062 394453 : idata = idata + 1
3063 394453 : data_tmp = full_data(idata)
3064 394453 : data_tmp = ISHFT(data_tmp, 59)
3065 394453 : data_tmp = IAND(data_tmp, mask_left(1))
3066 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3067 394453 : ipack = ipack + 1
3068 394453 : packed_data(ipack) = pack_tmp
3069 394453 : data_tmp = full_data(idata)
3070 394453 : pack_tmp = ISHFT(data_tmp, 60)
3071 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3072 394453 : idata = idata + 1
3073 394453 : data_tmp = full_data(idata)
3074 394453 : data_tmp = ISHFT(data_tmp, 59)
3075 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3076 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3077 394453 : idata = idata + 1
3078 394453 : data_tmp = full_data(idata)
3079 394453 : data_tmp = ISHFT(data_tmp, 59)
3080 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3081 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3082 394453 : idata = idata + 1
3083 394453 : data_tmp = full_data(idata)
3084 394453 : data_tmp = ISHFT(data_tmp, 59)
3085 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3086 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3087 394453 : idata = idata + 1
3088 394453 : data_tmp = full_data(idata)
3089 394453 : data_tmp = ISHFT(data_tmp, 59)
3090 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3091 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3092 394453 : idata = idata + 1
3093 394453 : data_tmp = full_data(idata)
3094 394453 : data_tmp = ISHFT(data_tmp, 59)
3095 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3096 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3097 394453 : idata = idata + 1
3098 394453 : data_tmp = full_data(idata)
3099 394453 : data_tmp = ISHFT(data_tmp, 59)
3100 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3101 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3102 394453 : idata = idata + 1
3103 394453 : data_tmp = full_data(idata)
3104 394453 : data_tmp = ISHFT(data_tmp, 59)
3105 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3106 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3107 394453 : idata = idata + 1
3108 394453 : data_tmp = full_data(idata)
3109 394453 : data_tmp = ISHFT(data_tmp, 59)
3110 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3111 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3112 394453 : idata = idata + 1
3113 394453 : data_tmp = full_data(idata)
3114 394453 : data_tmp = ISHFT(data_tmp, 59)
3115 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3116 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3117 394453 : idata = idata + 1
3118 394453 : data_tmp = full_data(idata)
3119 394453 : data_tmp = ISHFT(data_tmp, 59)
3120 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3121 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3122 394453 : idata = idata + 1
3123 394453 : data_tmp = full_data(idata)
3124 394453 : data_tmp = ISHFT(data_tmp, 59)
3125 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3126 394453 : pack_tmp = ISHFT(pack_tmp, -5)
3127 394453 : idata = idata + 1
3128 394453 : data_tmp = full_data(idata)
3129 394453 : data_tmp = ISHFT(data_tmp, 59)
3130 394453 : pack_tmp = IOR(pack_tmp, data_tmp)
3131 : pack_tmp = ISHFT(pack_tmp, 0)
3132 394453 : pack_tmp = ISHFT(pack_tmp, 0)
3133 394453 : ipack = ipack + 1
3134 394454 : packed_data(ipack) = pack_tmp
3135 : END DO
3136 24667 : IF (Ndata_rep < Ndata) THEN
3137 22 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
3138 : END IF
3139 24667 : END SUBROUTINE ints2bits_5
3140 :
3141 : ! **************************************************************************************************
3142 : !> \brief ...
3143 : !> \param Ndata ...
3144 : !> \param packed_data ...
3145 : !> \param full_data ...
3146 : ! **************************************************************************************************
3147 99690 : 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(*)
3151 :
3152 : INTEGER, PARAMETER :: Nbits = 5
3153 :
3154 : INTEGER :: idata, ipack, kdata, Ndata_rep
3155 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
3156 :
3157 99690 : ipack = 0
3158 99690 : idata = 0
3159 99690 : pack_tmp = 0
3160 99690 : Ndata_rep = (Ndata/64)*64
3161 99690 : DO kdata = 1, Ndata_rep, 64
3162 1593932 : idata = idata + 1
3163 1593932 : data_tmp = ISHFT(pack_tmp, 5)
3164 1593932 : ipack = ipack + 1
3165 1593932 : pack_tmp = packed_data(ipack)
3166 1593932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
3167 1593932 : pack_tmp = ISHFT(pack_tmp, -5)
3168 1593932 : idata = idata + 1
3169 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3170 1593932 : full_data(idata) = data_tmp
3171 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3172 1593932 : idata = idata + 1
3173 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3174 1593932 : full_data(idata) = data_tmp
3175 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3176 1593932 : idata = idata + 1
3177 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3178 1593932 : full_data(idata) = data_tmp
3179 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3180 1593932 : idata = idata + 1
3181 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3182 1593932 : full_data(idata) = data_tmp
3183 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3184 1593932 : idata = idata + 1
3185 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3186 1593932 : full_data(idata) = data_tmp
3187 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3188 1593932 : idata = idata + 1
3189 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3190 1593932 : full_data(idata) = data_tmp
3191 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3192 1593932 : idata = idata + 1
3193 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3194 1593932 : full_data(idata) = data_tmp
3195 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3196 1593932 : idata = idata + 1
3197 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3198 1593932 : full_data(idata) = data_tmp
3199 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3200 1593932 : idata = idata + 1
3201 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3202 1593932 : full_data(idata) = data_tmp
3203 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3204 1593932 : idata = idata + 1
3205 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3206 1593932 : full_data(idata) = data_tmp
3207 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3208 1593932 : idata = idata + 1
3209 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3210 1593932 : full_data(idata) = data_tmp
3211 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3212 1593932 : idata = idata + 1
3213 1593932 : data_tmp = ISHFT(pack_tmp, 1)
3214 1593932 : ipack = ipack + 1
3215 1593932 : pack_tmp = packed_data(ipack)
3216 1593932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
3217 1593932 : pack_tmp = ISHFT(pack_tmp, -1)
3218 1593932 : idata = idata + 1
3219 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3220 1593932 : full_data(idata) = data_tmp
3221 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3222 1593932 : idata = idata + 1
3223 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3224 1593932 : full_data(idata) = data_tmp
3225 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3226 1593932 : idata = idata + 1
3227 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3228 1593932 : full_data(idata) = data_tmp
3229 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3230 1593932 : idata = idata + 1
3231 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3232 1593932 : full_data(idata) = data_tmp
3233 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3234 1593932 : idata = idata + 1
3235 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3236 1593932 : full_data(idata) = data_tmp
3237 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3238 1593932 : idata = idata + 1
3239 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3240 1593932 : full_data(idata) = data_tmp
3241 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3242 1593932 : idata = idata + 1
3243 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3244 1593932 : full_data(idata) = data_tmp
3245 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3246 1593932 : idata = idata + 1
3247 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3248 1593932 : full_data(idata) = data_tmp
3249 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3250 1593932 : idata = idata + 1
3251 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3252 1593932 : full_data(idata) = data_tmp
3253 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3254 1593932 : idata = idata + 1
3255 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3256 1593932 : full_data(idata) = data_tmp
3257 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3258 1593932 : idata = idata + 1
3259 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3260 1593932 : full_data(idata) = data_tmp
3261 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3262 1593932 : idata = idata + 1
3263 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3264 1593932 : full_data(idata) = data_tmp
3265 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3266 1593932 : idata = idata + 1
3267 1593932 : data_tmp = ISHFT(pack_tmp, 2)
3268 1593932 : ipack = ipack + 1
3269 1593932 : pack_tmp = packed_data(ipack)
3270 1593932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
3271 1593932 : pack_tmp = ISHFT(pack_tmp, -2)
3272 1593932 : idata = idata + 1
3273 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3274 1593932 : full_data(idata) = data_tmp
3275 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3276 1593932 : idata = idata + 1
3277 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3278 1593932 : full_data(idata) = data_tmp
3279 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3280 1593932 : idata = idata + 1
3281 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3282 1593932 : full_data(idata) = data_tmp
3283 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3284 1593932 : idata = idata + 1
3285 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3286 1593932 : full_data(idata) = data_tmp
3287 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3288 1593932 : idata = idata + 1
3289 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3290 1593932 : full_data(idata) = data_tmp
3291 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3292 1593932 : idata = idata + 1
3293 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3294 1593932 : full_data(idata) = data_tmp
3295 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3296 1593932 : idata = idata + 1
3297 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3298 1593932 : full_data(idata) = data_tmp
3299 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3300 1593932 : idata = idata + 1
3301 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3302 1593932 : full_data(idata) = data_tmp
3303 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3304 1593932 : idata = idata + 1
3305 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3306 1593932 : full_data(idata) = data_tmp
3307 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3308 1593932 : idata = idata + 1
3309 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3310 1593932 : full_data(idata) = data_tmp
3311 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3312 1593932 : idata = idata + 1
3313 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3314 1593932 : full_data(idata) = data_tmp
3315 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3316 1593932 : idata = idata + 1
3317 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3318 1593932 : full_data(idata) = data_tmp
3319 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3320 1593932 : idata = idata + 1
3321 1593932 : data_tmp = ISHFT(pack_tmp, 3)
3322 1593932 : ipack = ipack + 1
3323 1593932 : pack_tmp = packed_data(ipack)
3324 1593932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
3325 1593932 : pack_tmp = ISHFT(pack_tmp, -3)
3326 1593932 : idata = idata + 1
3327 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3328 1593932 : full_data(idata) = data_tmp
3329 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3330 1593932 : idata = idata + 1
3331 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3332 1593932 : full_data(idata) = data_tmp
3333 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3334 1593932 : idata = idata + 1
3335 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3336 1593932 : full_data(idata) = data_tmp
3337 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3338 1593932 : idata = idata + 1
3339 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3340 1593932 : full_data(idata) = data_tmp
3341 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3342 1593932 : idata = idata + 1
3343 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3344 1593932 : full_data(idata) = data_tmp
3345 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3346 1593932 : idata = idata + 1
3347 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3348 1593932 : full_data(idata) = data_tmp
3349 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3350 1593932 : idata = idata + 1
3351 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3352 1593932 : full_data(idata) = data_tmp
3353 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3354 1593932 : idata = idata + 1
3355 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3356 1593932 : full_data(idata) = data_tmp
3357 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3358 1593932 : idata = idata + 1
3359 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3360 1593932 : full_data(idata) = data_tmp
3361 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3362 1593932 : idata = idata + 1
3363 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3364 1593932 : full_data(idata) = data_tmp
3365 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3366 1593932 : idata = idata + 1
3367 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3368 1593932 : full_data(idata) = data_tmp
3369 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3370 1593932 : idata = idata + 1
3371 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3372 1593932 : full_data(idata) = data_tmp
3373 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3374 1593932 : idata = idata + 1
3375 1593932 : data_tmp = ISHFT(pack_tmp, 4)
3376 1593932 : ipack = ipack + 1
3377 1593932 : pack_tmp = packed_data(ipack)
3378 1593932 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
3379 1593932 : pack_tmp = ISHFT(pack_tmp, -4)
3380 1593932 : idata = idata + 1
3381 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3382 1593932 : full_data(idata) = data_tmp
3383 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3384 1593932 : idata = idata + 1
3385 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3386 1593932 : full_data(idata) = data_tmp
3387 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3388 1593932 : idata = idata + 1
3389 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3390 1593932 : full_data(idata) = data_tmp
3391 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3392 1593932 : idata = idata + 1
3393 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3394 1593932 : full_data(idata) = data_tmp
3395 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3396 1593932 : idata = idata + 1
3397 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3398 1593932 : full_data(idata) = data_tmp
3399 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3400 1593932 : idata = idata + 1
3401 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3402 1593932 : full_data(idata) = data_tmp
3403 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3404 1593932 : idata = idata + 1
3405 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3406 1593932 : full_data(idata) = data_tmp
3407 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3408 1593932 : idata = idata + 1
3409 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3410 1593932 : full_data(idata) = data_tmp
3411 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3412 1593932 : idata = idata + 1
3413 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3414 1593932 : full_data(idata) = data_tmp
3415 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3416 1593932 : idata = idata + 1
3417 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3418 1593932 : full_data(idata) = data_tmp
3419 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3420 1593932 : idata = idata + 1
3421 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3422 1593932 : full_data(idata) = data_tmp
3423 1593932 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3424 1593932 : idata = idata + 1
3425 1593932 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3426 1593932 : full_data(idata) = data_tmp
3427 1593939 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3428 : END DO
3429 99690 : IF (Ndata_rep < Ndata) THEN
3430 104 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
3431 : END IF
3432 99690 : END SUBROUTINE bits2ints_5
3433 :
3434 : ! **************************************************************************************************
3435 : !> \brief ...
3436 : !> \param Ndata ...
3437 : !> \param packed_data ...
3438 : !> \param full_data ...
3439 : ! **************************************************************************************************
3440 53165 : 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(*)
3444 :
3445 : INTEGER, PARAMETER :: Nbits = 6
3446 :
3447 : INTEGER :: idata, ipack, kdata, Ndata_rep
3448 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
3449 :
3450 53165 : idata = 0
3451 53165 : ipack = 0
3452 53165 : Ndata_rep = (Ndata/64)*64
3453 53165 : DO kdata = 1, Ndata_rep, 64
3454 846866 : pack_tmp = 0
3455 846866 : idata = idata + 1
3456 846866 : data_tmp = full_data(idata)
3457 846866 : data_tmp = ISHFT(data_tmp, 58)
3458 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3459 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3460 846866 : idata = idata + 1
3461 846866 : data_tmp = full_data(idata)
3462 846866 : data_tmp = ISHFT(data_tmp, 58)
3463 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3464 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3465 846866 : idata = idata + 1
3466 846866 : data_tmp = full_data(idata)
3467 846866 : data_tmp = ISHFT(data_tmp, 58)
3468 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3469 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3470 846866 : idata = idata + 1
3471 846866 : data_tmp = full_data(idata)
3472 846866 : data_tmp = ISHFT(data_tmp, 58)
3473 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3474 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3475 846866 : idata = idata + 1
3476 846866 : data_tmp = full_data(idata)
3477 846866 : data_tmp = ISHFT(data_tmp, 58)
3478 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3479 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3480 846866 : idata = idata + 1
3481 846866 : data_tmp = full_data(idata)
3482 846866 : data_tmp = ISHFT(data_tmp, 58)
3483 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3484 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3485 846866 : idata = idata + 1
3486 846866 : data_tmp = full_data(idata)
3487 846866 : data_tmp = ISHFT(data_tmp, 58)
3488 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3489 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3490 846866 : idata = idata + 1
3491 846866 : data_tmp = full_data(idata)
3492 846866 : data_tmp = ISHFT(data_tmp, 58)
3493 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3494 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3495 846866 : idata = idata + 1
3496 846866 : data_tmp = full_data(idata)
3497 846866 : data_tmp = ISHFT(data_tmp, 58)
3498 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3499 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3500 846866 : idata = idata + 1
3501 846866 : data_tmp = full_data(idata)
3502 846866 : data_tmp = ISHFT(data_tmp, 58)
3503 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3504 846866 : pack_tmp = ISHFT(pack_tmp, -4)
3505 846866 : idata = idata + 1
3506 846866 : data_tmp = full_data(idata)
3507 846866 : data_tmp = ISHFT(data_tmp, 58)
3508 846866 : data_tmp = IAND(data_tmp, mask_left(4))
3509 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3510 846866 : ipack = ipack + 1
3511 846866 : packed_data(ipack) = pack_tmp
3512 846866 : data_tmp = full_data(idata)
3513 846866 : pack_tmp = ISHFT(data_tmp, 62)
3514 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3515 846866 : idata = idata + 1
3516 846866 : data_tmp = full_data(idata)
3517 846866 : data_tmp = ISHFT(data_tmp, 58)
3518 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3519 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3520 846866 : idata = idata + 1
3521 846866 : data_tmp = full_data(idata)
3522 846866 : data_tmp = ISHFT(data_tmp, 58)
3523 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3524 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3525 846866 : idata = idata + 1
3526 846866 : data_tmp = full_data(idata)
3527 846866 : data_tmp = ISHFT(data_tmp, 58)
3528 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3529 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3530 846866 : idata = idata + 1
3531 846866 : data_tmp = full_data(idata)
3532 846866 : data_tmp = ISHFT(data_tmp, 58)
3533 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3534 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3535 846866 : idata = idata + 1
3536 846866 : data_tmp = full_data(idata)
3537 846866 : data_tmp = ISHFT(data_tmp, 58)
3538 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3539 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3540 846866 : idata = idata + 1
3541 846866 : data_tmp = full_data(idata)
3542 846866 : data_tmp = ISHFT(data_tmp, 58)
3543 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3544 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3545 846866 : idata = idata + 1
3546 846866 : data_tmp = full_data(idata)
3547 846866 : data_tmp = ISHFT(data_tmp, 58)
3548 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3549 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3550 846866 : idata = idata + 1
3551 846866 : data_tmp = full_data(idata)
3552 846866 : data_tmp = ISHFT(data_tmp, 58)
3553 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3554 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3555 846866 : idata = idata + 1
3556 846866 : data_tmp = full_data(idata)
3557 846866 : data_tmp = ISHFT(data_tmp, 58)
3558 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3559 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3560 846866 : idata = idata + 1
3561 846866 : data_tmp = full_data(idata)
3562 846866 : data_tmp = ISHFT(data_tmp, 58)
3563 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3564 846866 : pack_tmp = ISHFT(pack_tmp, -2)
3565 846866 : idata = idata + 1
3566 846866 : data_tmp = full_data(idata)
3567 846866 : data_tmp = ISHFT(data_tmp, 58)
3568 846866 : data_tmp = IAND(data_tmp, mask_left(2))
3569 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3570 846866 : ipack = ipack + 1
3571 846866 : packed_data(ipack) = pack_tmp
3572 846866 : data_tmp = full_data(idata)
3573 846866 : pack_tmp = ISHFT(data_tmp, 60)
3574 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3575 846866 : idata = idata + 1
3576 846866 : data_tmp = full_data(idata)
3577 846866 : data_tmp = ISHFT(data_tmp, 58)
3578 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3579 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3580 846866 : idata = idata + 1
3581 846866 : data_tmp = full_data(idata)
3582 846866 : data_tmp = ISHFT(data_tmp, 58)
3583 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3584 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3585 846866 : idata = idata + 1
3586 846866 : data_tmp = full_data(idata)
3587 846866 : data_tmp = ISHFT(data_tmp, 58)
3588 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3589 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3590 846866 : idata = idata + 1
3591 846866 : data_tmp = full_data(idata)
3592 846866 : data_tmp = ISHFT(data_tmp, 58)
3593 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3594 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3595 846866 : idata = idata + 1
3596 846866 : data_tmp = full_data(idata)
3597 846866 : data_tmp = ISHFT(data_tmp, 58)
3598 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3599 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3600 846866 : idata = idata + 1
3601 846866 : data_tmp = full_data(idata)
3602 846866 : data_tmp = ISHFT(data_tmp, 58)
3603 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3604 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3605 846866 : idata = idata + 1
3606 846866 : data_tmp = full_data(idata)
3607 846866 : data_tmp = ISHFT(data_tmp, 58)
3608 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3609 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3610 846866 : idata = idata + 1
3611 846866 : data_tmp = full_data(idata)
3612 846866 : data_tmp = ISHFT(data_tmp, 58)
3613 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3614 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3615 846866 : idata = idata + 1
3616 846866 : data_tmp = full_data(idata)
3617 846866 : data_tmp = ISHFT(data_tmp, 58)
3618 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3619 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3620 846866 : idata = idata + 1
3621 846866 : data_tmp = full_data(idata)
3622 846866 : data_tmp = ISHFT(data_tmp, 58)
3623 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3624 846866 : pack_tmp = ISHFT(pack_tmp, 0)
3625 846866 : idata = idata + 1
3626 846866 : data_tmp = full_data(idata)
3627 : data_tmp = ISHFT(data_tmp, 58)
3628 846866 : data_tmp = IAND(data_tmp, mask_left(0))
3629 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3630 846866 : ipack = ipack + 1
3631 846866 : packed_data(ipack) = pack_tmp
3632 846866 : data_tmp = full_data(idata)
3633 846866 : pack_tmp = ISHFT(data_tmp, 58)
3634 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3635 846866 : idata = idata + 1
3636 846866 : data_tmp = full_data(idata)
3637 846866 : data_tmp = ISHFT(data_tmp, 58)
3638 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3639 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3640 846866 : idata = idata + 1
3641 846866 : data_tmp = full_data(idata)
3642 846866 : data_tmp = ISHFT(data_tmp, 58)
3643 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3644 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3645 846866 : idata = idata + 1
3646 846866 : data_tmp = full_data(idata)
3647 846866 : data_tmp = ISHFT(data_tmp, 58)
3648 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3649 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3650 846866 : idata = idata + 1
3651 846866 : data_tmp = full_data(idata)
3652 846866 : data_tmp = ISHFT(data_tmp, 58)
3653 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3654 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3655 846866 : idata = idata + 1
3656 846866 : data_tmp = full_data(idata)
3657 846866 : data_tmp = ISHFT(data_tmp, 58)
3658 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3659 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3660 846866 : idata = idata + 1
3661 846866 : data_tmp = full_data(idata)
3662 846866 : data_tmp = ISHFT(data_tmp, 58)
3663 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3664 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3665 846866 : idata = idata + 1
3666 846866 : data_tmp = full_data(idata)
3667 846866 : data_tmp = ISHFT(data_tmp, 58)
3668 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3669 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3670 846866 : idata = idata + 1
3671 846866 : data_tmp = full_data(idata)
3672 846866 : data_tmp = ISHFT(data_tmp, 58)
3673 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3674 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3675 846866 : idata = idata + 1
3676 846866 : data_tmp = full_data(idata)
3677 846866 : data_tmp = ISHFT(data_tmp, 58)
3678 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3679 846866 : pack_tmp = ISHFT(pack_tmp, -4)
3680 846866 : idata = idata + 1
3681 846866 : data_tmp = full_data(idata)
3682 846866 : data_tmp = ISHFT(data_tmp, 58)
3683 846866 : data_tmp = IAND(data_tmp, mask_left(4))
3684 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3685 846866 : ipack = ipack + 1
3686 846866 : packed_data(ipack) = pack_tmp
3687 846866 : data_tmp = full_data(idata)
3688 846866 : pack_tmp = ISHFT(data_tmp, 62)
3689 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3690 846866 : idata = idata + 1
3691 846866 : data_tmp = full_data(idata)
3692 846866 : data_tmp = ISHFT(data_tmp, 58)
3693 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3694 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3695 846866 : idata = idata + 1
3696 846866 : data_tmp = full_data(idata)
3697 846866 : data_tmp = ISHFT(data_tmp, 58)
3698 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3699 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3700 846866 : idata = idata + 1
3701 846866 : data_tmp = full_data(idata)
3702 846866 : data_tmp = ISHFT(data_tmp, 58)
3703 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3704 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3705 846866 : idata = idata + 1
3706 846866 : data_tmp = full_data(idata)
3707 846866 : data_tmp = ISHFT(data_tmp, 58)
3708 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3709 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3710 846866 : idata = idata + 1
3711 846866 : data_tmp = full_data(idata)
3712 846866 : data_tmp = ISHFT(data_tmp, 58)
3713 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3714 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3715 846866 : idata = idata + 1
3716 846866 : data_tmp = full_data(idata)
3717 846866 : data_tmp = ISHFT(data_tmp, 58)
3718 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3719 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3720 846866 : idata = idata + 1
3721 846866 : data_tmp = full_data(idata)
3722 846866 : data_tmp = ISHFT(data_tmp, 58)
3723 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3724 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3725 846866 : idata = idata + 1
3726 846866 : data_tmp = full_data(idata)
3727 846866 : data_tmp = ISHFT(data_tmp, 58)
3728 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3729 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3730 846866 : idata = idata + 1
3731 846866 : data_tmp = full_data(idata)
3732 846866 : data_tmp = ISHFT(data_tmp, 58)
3733 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3734 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3735 846866 : idata = idata + 1
3736 846866 : data_tmp = full_data(idata)
3737 846866 : data_tmp = ISHFT(data_tmp, 58)
3738 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3739 846866 : pack_tmp = ISHFT(pack_tmp, -2)
3740 846866 : idata = idata + 1
3741 846866 : data_tmp = full_data(idata)
3742 846866 : data_tmp = ISHFT(data_tmp, 58)
3743 846866 : data_tmp = IAND(data_tmp, mask_left(2))
3744 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3745 846866 : ipack = ipack + 1
3746 846866 : packed_data(ipack) = pack_tmp
3747 846866 : data_tmp = full_data(idata)
3748 846866 : pack_tmp = ISHFT(data_tmp, 60)
3749 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3750 846866 : idata = idata + 1
3751 846866 : data_tmp = full_data(idata)
3752 846866 : data_tmp = ISHFT(data_tmp, 58)
3753 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3754 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3755 846866 : idata = idata + 1
3756 846866 : data_tmp = full_data(idata)
3757 846866 : data_tmp = ISHFT(data_tmp, 58)
3758 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3759 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3760 846866 : idata = idata + 1
3761 846866 : data_tmp = full_data(idata)
3762 846866 : data_tmp = ISHFT(data_tmp, 58)
3763 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3764 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3765 846866 : idata = idata + 1
3766 846866 : data_tmp = full_data(idata)
3767 846866 : data_tmp = ISHFT(data_tmp, 58)
3768 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3769 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3770 846866 : idata = idata + 1
3771 846866 : data_tmp = full_data(idata)
3772 846866 : data_tmp = ISHFT(data_tmp, 58)
3773 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3774 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3775 846866 : idata = idata + 1
3776 846866 : data_tmp = full_data(idata)
3777 846866 : data_tmp = ISHFT(data_tmp, 58)
3778 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3779 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3780 846866 : idata = idata + 1
3781 846866 : data_tmp = full_data(idata)
3782 846866 : data_tmp = ISHFT(data_tmp, 58)
3783 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3784 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3785 846866 : idata = idata + 1
3786 846866 : data_tmp = full_data(idata)
3787 846866 : data_tmp = ISHFT(data_tmp, 58)
3788 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3789 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3790 846866 : idata = idata + 1
3791 846866 : data_tmp = full_data(idata)
3792 846866 : data_tmp = ISHFT(data_tmp, 58)
3793 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3794 846866 : pack_tmp = ISHFT(pack_tmp, -6)
3795 846866 : idata = idata + 1
3796 846866 : data_tmp = full_data(idata)
3797 846866 : data_tmp = ISHFT(data_tmp, 58)
3798 846866 : pack_tmp = IOR(pack_tmp, data_tmp)
3799 : pack_tmp = ISHFT(pack_tmp, 0)
3800 846866 : pack_tmp = ISHFT(pack_tmp, 0)
3801 846866 : ipack = ipack + 1
3802 846895 : packed_data(ipack) = pack_tmp
3803 : END DO
3804 53165 : IF (Ndata_rep < Ndata) THEN
3805 444 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
3806 : END IF
3807 53165 : END SUBROUTINE ints2bits_6
3808 :
3809 : ! **************************************************************************************************
3810 : !> \brief ...
3811 : !> \param Ndata ...
3812 : !> \param packed_data ...
3813 : !> \param full_data ...
3814 : ! **************************************************************************************************
3815 254685 : 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(*)
3819 :
3820 : INTEGER, PARAMETER :: Nbits = 6
3821 :
3822 : INTEGER :: idata, ipack, kdata, Ndata_rep
3823 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
3824 :
3825 254685 : ipack = 0
3826 254685 : idata = 0
3827 254685 : pack_tmp = 0
3828 254685 : Ndata_rep = (Ndata/64)*64
3829 254685 : DO kdata = 1, Ndata_rep, 64
3830 4039991 : idata = idata + 1
3831 4039991 : data_tmp = ISHFT(pack_tmp, 6)
3832 4039991 : ipack = ipack + 1
3833 4039991 : pack_tmp = packed_data(ipack)
3834 4039991 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
3835 4039991 : pack_tmp = ISHFT(pack_tmp, -6)
3836 4039991 : idata = idata + 1
3837 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3838 4039991 : full_data(idata) = data_tmp
3839 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3840 4039991 : idata = idata + 1
3841 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3842 4039991 : full_data(idata) = data_tmp
3843 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3844 4039991 : idata = idata + 1
3845 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3846 4039991 : full_data(idata) = data_tmp
3847 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3848 4039991 : idata = idata + 1
3849 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3850 4039991 : full_data(idata) = data_tmp
3851 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3852 4039991 : idata = idata + 1
3853 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3854 4039991 : full_data(idata) = data_tmp
3855 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3856 4039991 : idata = idata + 1
3857 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3858 4039991 : full_data(idata) = data_tmp
3859 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3860 4039991 : idata = idata + 1
3861 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3862 4039991 : full_data(idata) = data_tmp
3863 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3864 4039991 : idata = idata + 1
3865 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3866 4039991 : full_data(idata) = data_tmp
3867 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3868 4039991 : idata = idata + 1
3869 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3870 4039991 : full_data(idata) = data_tmp
3871 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3872 4039991 : idata = idata + 1
3873 4039991 : data_tmp = ISHFT(pack_tmp, 2)
3874 4039991 : ipack = ipack + 1
3875 4039991 : pack_tmp = packed_data(ipack)
3876 4039991 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
3877 4039991 : pack_tmp = ISHFT(pack_tmp, -2)
3878 4039991 : idata = idata + 1
3879 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3880 4039991 : full_data(idata) = data_tmp
3881 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3882 4039991 : idata = idata + 1
3883 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3884 4039991 : full_data(idata) = data_tmp
3885 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3886 4039991 : idata = idata + 1
3887 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3888 4039991 : full_data(idata) = data_tmp
3889 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3890 4039991 : idata = idata + 1
3891 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3892 4039991 : full_data(idata) = data_tmp
3893 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3894 4039991 : idata = idata + 1
3895 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3896 4039991 : full_data(idata) = data_tmp
3897 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3898 4039991 : idata = idata + 1
3899 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3900 4039991 : full_data(idata) = data_tmp
3901 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3902 4039991 : idata = idata + 1
3903 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3904 4039991 : full_data(idata) = data_tmp
3905 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3906 4039991 : idata = idata + 1
3907 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3908 4039991 : full_data(idata) = data_tmp
3909 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3910 4039991 : idata = idata + 1
3911 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3912 4039991 : full_data(idata) = data_tmp
3913 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3914 4039991 : idata = idata + 1
3915 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3916 4039991 : full_data(idata) = data_tmp
3917 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3918 4039991 : idata = idata + 1
3919 4039991 : data_tmp = ISHFT(pack_tmp, 4)
3920 4039991 : ipack = ipack + 1
3921 4039991 : pack_tmp = packed_data(ipack)
3922 4039991 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
3923 4039991 : pack_tmp = ISHFT(pack_tmp, -4)
3924 4039991 : idata = idata + 1
3925 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3926 4039991 : full_data(idata) = data_tmp
3927 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3928 4039991 : idata = idata + 1
3929 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3930 4039991 : full_data(idata) = data_tmp
3931 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3932 4039991 : idata = idata + 1
3933 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3934 4039991 : full_data(idata) = data_tmp
3935 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3936 4039991 : idata = idata + 1
3937 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3938 4039991 : full_data(idata) = data_tmp
3939 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3940 4039991 : idata = idata + 1
3941 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3942 4039991 : full_data(idata) = data_tmp
3943 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3944 4039991 : idata = idata + 1
3945 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3946 4039991 : full_data(idata) = data_tmp
3947 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3948 4039991 : idata = idata + 1
3949 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3950 4039991 : full_data(idata) = data_tmp
3951 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3952 4039991 : idata = idata + 1
3953 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3954 4039991 : full_data(idata) = data_tmp
3955 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3956 4039991 : idata = idata + 1
3957 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3958 4039991 : full_data(idata) = data_tmp
3959 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3960 4039991 : idata = idata + 1
3961 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3962 4039991 : full_data(idata) = data_tmp
3963 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3964 4039991 : idata = idata + 1
3965 4039991 : data_tmp = ISHFT(pack_tmp, 6)
3966 4039991 : ipack = ipack + 1
3967 4039991 : pack_tmp = packed_data(ipack)
3968 4039991 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
3969 4039991 : pack_tmp = ISHFT(pack_tmp, -6)
3970 4039991 : idata = idata + 1
3971 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3972 4039991 : full_data(idata) = data_tmp
3973 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3974 4039991 : idata = idata + 1
3975 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3976 4039991 : full_data(idata) = data_tmp
3977 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3978 4039991 : idata = idata + 1
3979 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3980 4039991 : full_data(idata) = data_tmp
3981 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3982 4039991 : idata = idata + 1
3983 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3984 4039991 : full_data(idata) = data_tmp
3985 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3986 4039991 : idata = idata + 1
3987 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3988 4039991 : full_data(idata) = data_tmp
3989 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3990 4039991 : idata = idata + 1
3991 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3992 4039991 : full_data(idata) = data_tmp
3993 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3994 4039991 : idata = idata + 1
3995 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
3996 4039991 : full_data(idata) = data_tmp
3997 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
3998 4039991 : idata = idata + 1
3999 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4000 4039991 : full_data(idata) = data_tmp
4001 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4002 4039991 : idata = idata + 1
4003 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4004 4039991 : full_data(idata) = data_tmp
4005 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4006 4039991 : idata = idata + 1
4007 4039991 : data_tmp = ISHFT(pack_tmp, 2)
4008 4039991 : ipack = ipack + 1
4009 4039991 : pack_tmp = packed_data(ipack)
4010 4039991 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
4011 4039991 : pack_tmp = ISHFT(pack_tmp, -2)
4012 4039991 : idata = idata + 1
4013 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4014 4039991 : full_data(idata) = data_tmp
4015 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4016 4039991 : idata = idata + 1
4017 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4018 4039991 : full_data(idata) = data_tmp
4019 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4020 4039991 : idata = idata + 1
4021 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4022 4039991 : full_data(idata) = data_tmp
4023 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4024 4039991 : idata = idata + 1
4025 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4026 4039991 : full_data(idata) = data_tmp
4027 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4028 4039991 : idata = idata + 1
4029 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4030 4039991 : full_data(idata) = data_tmp
4031 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4032 4039991 : idata = idata + 1
4033 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4034 4039991 : full_data(idata) = data_tmp
4035 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4036 4039991 : idata = idata + 1
4037 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4038 4039991 : full_data(idata) = data_tmp
4039 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4040 4039991 : idata = idata + 1
4041 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4042 4039991 : full_data(idata) = data_tmp
4043 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4044 4039991 : idata = idata + 1
4045 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4046 4039991 : full_data(idata) = data_tmp
4047 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4048 4039991 : idata = idata + 1
4049 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4050 4039991 : full_data(idata) = data_tmp
4051 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4052 4039991 : idata = idata + 1
4053 4039991 : data_tmp = ISHFT(pack_tmp, 4)
4054 4039991 : ipack = ipack + 1
4055 4039991 : pack_tmp = packed_data(ipack)
4056 4039991 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
4057 4039991 : pack_tmp = ISHFT(pack_tmp, -4)
4058 4039991 : idata = idata + 1
4059 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4060 4039991 : full_data(idata) = data_tmp
4061 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4062 4039991 : idata = idata + 1
4063 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4064 4039991 : full_data(idata) = data_tmp
4065 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4066 4039991 : idata = idata + 1
4067 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4068 4039991 : full_data(idata) = data_tmp
4069 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4070 4039991 : idata = idata + 1
4071 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4072 4039991 : full_data(idata) = data_tmp
4073 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4074 4039991 : idata = idata + 1
4075 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4076 4039991 : full_data(idata) = data_tmp
4077 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4078 4039991 : idata = idata + 1
4079 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4080 4039991 : full_data(idata) = data_tmp
4081 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4082 4039991 : idata = idata + 1
4083 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4084 4039991 : full_data(idata) = data_tmp
4085 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4086 4039991 : idata = idata + 1
4087 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4088 4039991 : full_data(idata) = data_tmp
4089 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4090 4039991 : idata = idata + 1
4091 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4092 4039991 : full_data(idata) = data_tmp
4093 4039991 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4094 4039991 : idata = idata + 1
4095 4039991 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4096 4039991 : full_data(idata) = data_tmp
4097 4040204 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4098 : END DO
4099 254685 : IF (Ndata_rep < Ndata) THEN
4100 4114 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
4101 : END IF
4102 254685 : END SUBROUTINE bits2ints_6
4103 :
4104 : ! **************************************************************************************************
4105 : !> \brief ...
4106 : !> \param Ndata ...
4107 : !> \param packed_data ...
4108 : !> \param full_data ...
4109 : ! **************************************************************************************************
4110 24789 : 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(*)
4114 :
4115 : INTEGER, PARAMETER :: Nbits = 7
4116 :
4117 : INTEGER :: idata, ipack, kdata, Ndata_rep
4118 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
4119 :
4120 24789 : idata = 0
4121 24789 : ipack = 0
4122 24789 : Ndata_rep = (Ndata/64)*64
4123 24789 : DO kdata = 1, Ndata_rep, 64
4124 396082 : pack_tmp = 0
4125 396082 : idata = idata + 1
4126 396082 : data_tmp = full_data(idata)
4127 396082 : data_tmp = ISHFT(data_tmp, 57)
4128 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4129 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4130 396082 : idata = idata + 1
4131 396082 : data_tmp = full_data(idata)
4132 396082 : data_tmp = ISHFT(data_tmp, 57)
4133 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4134 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4135 396082 : idata = idata + 1
4136 396082 : data_tmp = full_data(idata)
4137 396082 : data_tmp = ISHFT(data_tmp, 57)
4138 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4139 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4140 396082 : idata = idata + 1
4141 396082 : data_tmp = full_data(idata)
4142 396082 : data_tmp = ISHFT(data_tmp, 57)
4143 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4144 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4145 396082 : idata = idata + 1
4146 396082 : data_tmp = full_data(idata)
4147 396082 : data_tmp = ISHFT(data_tmp, 57)
4148 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4149 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4150 396082 : idata = idata + 1
4151 396082 : data_tmp = full_data(idata)
4152 396082 : data_tmp = ISHFT(data_tmp, 57)
4153 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4154 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4155 396082 : idata = idata + 1
4156 396082 : data_tmp = full_data(idata)
4157 396082 : data_tmp = ISHFT(data_tmp, 57)
4158 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4159 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4160 396082 : idata = idata + 1
4161 396082 : data_tmp = full_data(idata)
4162 396082 : data_tmp = ISHFT(data_tmp, 57)
4163 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4164 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4165 396082 : idata = idata + 1
4166 396082 : data_tmp = full_data(idata)
4167 396082 : data_tmp = ISHFT(data_tmp, 57)
4168 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4169 396082 : pack_tmp = ISHFT(pack_tmp, -1)
4170 396082 : idata = idata + 1
4171 396082 : data_tmp = full_data(idata)
4172 396082 : data_tmp = ISHFT(data_tmp, 57)
4173 396082 : data_tmp = IAND(data_tmp, mask_left(1))
4174 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4175 396082 : ipack = ipack + 1
4176 396082 : packed_data(ipack) = pack_tmp
4177 396082 : data_tmp = full_data(idata)
4178 396082 : pack_tmp = ISHFT(data_tmp, 58)
4179 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4180 396082 : idata = idata + 1
4181 396082 : data_tmp = full_data(idata)
4182 396082 : data_tmp = ISHFT(data_tmp, 57)
4183 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4184 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4185 396082 : idata = idata + 1
4186 396082 : data_tmp = full_data(idata)
4187 396082 : data_tmp = ISHFT(data_tmp, 57)
4188 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4189 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4190 396082 : idata = idata + 1
4191 396082 : data_tmp = full_data(idata)
4192 396082 : data_tmp = ISHFT(data_tmp, 57)
4193 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4194 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4195 396082 : idata = idata + 1
4196 396082 : data_tmp = full_data(idata)
4197 396082 : data_tmp = ISHFT(data_tmp, 57)
4198 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4199 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4200 396082 : idata = idata + 1
4201 396082 : data_tmp = full_data(idata)
4202 396082 : data_tmp = ISHFT(data_tmp, 57)
4203 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4204 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4205 396082 : idata = idata + 1
4206 396082 : data_tmp = full_data(idata)
4207 396082 : data_tmp = ISHFT(data_tmp, 57)
4208 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4209 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4210 396082 : idata = idata + 1
4211 396082 : data_tmp = full_data(idata)
4212 396082 : data_tmp = ISHFT(data_tmp, 57)
4213 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4214 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4215 396082 : idata = idata + 1
4216 396082 : data_tmp = full_data(idata)
4217 396082 : data_tmp = ISHFT(data_tmp, 57)
4218 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4219 396082 : pack_tmp = ISHFT(pack_tmp, -2)
4220 396082 : idata = idata + 1
4221 396082 : data_tmp = full_data(idata)
4222 396082 : data_tmp = ISHFT(data_tmp, 57)
4223 396082 : data_tmp = IAND(data_tmp, mask_left(2))
4224 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4225 396082 : ipack = ipack + 1
4226 396082 : packed_data(ipack) = pack_tmp
4227 396082 : data_tmp = full_data(idata)
4228 396082 : pack_tmp = ISHFT(data_tmp, 59)
4229 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4230 396082 : idata = idata + 1
4231 396082 : data_tmp = full_data(idata)
4232 396082 : data_tmp = ISHFT(data_tmp, 57)
4233 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4234 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4235 396082 : idata = idata + 1
4236 396082 : data_tmp = full_data(idata)
4237 396082 : data_tmp = ISHFT(data_tmp, 57)
4238 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4239 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4240 396082 : idata = idata + 1
4241 396082 : data_tmp = full_data(idata)
4242 396082 : data_tmp = ISHFT(data_tmp, 57)
4243 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4244 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4245 396082 : idata = idata + 1
4246 396082 : data_tmp = full_data(idata)
4247 396082 : data_tmp = ISHFT(data_tmp, 57)
4248 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4249 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4250 396082 : idata = idata + 1
4251 396082 : data_tmp = full_data(idata)
4252 396082 : data_tmp = ISHFT(data_tmp, 57)
4253 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4254 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4255 396082 : idata = idata + 1
4256 396082 : data_tmp = full_data(idata)
4257 396082 : data_tmp = ISHFT(data_tmp, 57)
4258 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4259 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4260 396082 : idata = idata + 1
4261 396082 : data_tmp = full_data(idata)
4262 396082 : data_tmp = ISHFT(data_tmp, 57)
4263 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4264 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4265 396082 : idata = idata + 1
4266 396082 : data_tmp = full_data(idata)
4267 396082 : data_tmp = ISHFT(data_tmp, 57)
4268 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4269 396082 : pack_tmp = ISHFT(pack_tmp, -3)
4270 396082 : idata = idata + 1
4271 396082 : data_tmp = full_data(idata)
4272 396082 : data_tmp = ISHFT(data_tmp, 57)
4273 396082 : data_tmp = IAND(data_tmp, mask_left(3))
4274 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4275 396082 : ipack = ipack + 1
4276 396082 : packed_data(ipack) = pack_tmp
4277 396082 : data_tmp = full_data(idata)
4278 396082 : pack_tmp = ISHFT(data_tmp, 60)
4279 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4280 396082 : idata = idata + 1
4281 396082 : data_tmp = full_data(idata)
4282 396082 : data_tmp = ISHFT(data_tmp, 57)
4283 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4284 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4285 396082 : idata = idata + 1
4286 396082 : data_tmp = full_data(idata)
4287 396082 : data_tmp = ISHFT(data_tmp, 57)
4288 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4289 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4290 396082 : idata = idata + 1
4291 396082 : data_tmp = full_data(idata)
4292 396082 : data_tmp = ISHFT(data_tmp, 57)
4293 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4294 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4295 396082 : idata = idata + 1
4296 396082 : data_tmp = full_data(idata)
4297 396082 : data_tmp = ISHFT(data_tmp, 57)
4298 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4299 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4300 396082 : idata = idata + 1
4301 396082 : data_tmp = full_data(idata)
4302 396082 : data_tmp = ISHFT(data_tmp, 57)
4303 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4304 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4305 396082 : idata = idata + 1
4306 396082 : data_tmp = full_data(idata)
4307 396082 : data_tmp = ISHFT(data_tmp, 57)
4308 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4309 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4310 396082 : idata = idata + 1
4311 396082 : data_tmp = full_data(idata)
4312 396082 : data_tmp = ISHFT(data_tmp, 57)
4313 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4314 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4315 396082 : idata = idata + 1
4316 396082 : data_tmp = full_data(idata)
4317 396082 : data_tmp = ISHFT(data_tmp, 57)
4318 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4319 396082 : pack_tmp = ISHFT(pack_tmp, -4)
4320 396082 : idata = idata + 1
4321 396082 : data_tmp = full_data(idata)
4322 396082 : data_tmp = ISHFT(data_tmp, 57)
4323 396082 : data_tmp = IAND(data_tmp, mask_left(4))
4324 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4325 396082 : ipack = ipack + 1
4326 396082 : packed_data(ipack) = pack_tmp
4327 396082 : data_tmp = full_data(idata)
4328 396082 : pack_tmp = ISHFT(data_tmp, 61)
4329 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4330 396082 : idata = idata + 1
4331 396082 : data_tmp = full_data(idata)
4332 396082 : data_tmp = ISHFT(data_tmp, 57)
4333 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4334 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4335 396082 : idata = idata + 1
4336 396082 : data_tmp = full_data(idata)
4337 396082 : data_tmp = ISHFT(data_tmp, 57)
4338 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4339 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4340 396082 : idata = idata + 1
4341 396082 : data_tmp = full_data(idata)
4342 396082 : data_tmp = ISHFT(data_tmp, 57)
4343 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4344 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4345 396082 : idata = idata + 1
4346 396082 : data_tmp = full_data(idata)
4347 396082 : data_tmp = ISHFT(data_tmp, 57)
4348 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4349 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4350 396082 : idata = idata + 1
4351 396082 : data_tmp = full_data(idata)
4352 396082 : data_tmp = ISHFT(data_tmp, 57)
4353 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4354 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4355 396082 : idata = idata + 1
4356 396082 : data_tmp = full_data(idata)
4357 396082 : data_tmp = ISHFT(data_tmp, 57)
4358 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4359 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4360 396082 : idata = idata + 1
4361 396082 : data_tmp = full_data(idata)
4362 396082 : data_tmp = ISHFT(data_tmp, 57)
4363 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4364 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4365 396082 : idata = idata + 1
4366 396082 : data_tmp = full_data(idata)
4367 396082 : data_tmp = ISHFT(data_tmp, 57)
4368 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4369 396082 : pack_tmp = ISHFT(pack_tmp, -5)
4370 396082 : idata = idata + 1
4371 396082 : data_tmp = full_data(idata)
4372 396082 : data_tmp = ISHFT(data_tmp, 57)
4373 396082 : data_tmp = IAND(data_tmp, mask_left(5))
4374 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4375 396082 : ipack = ipack + 1
4376 396082 : packed_data(ipack) = pack_tmp
4377 396082 : data_tmp = full_data(idata)
4378 396082 : pack_tmp = ISHFT(data_tmp, 62)
4379 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4380 396082 : idata = idata + 1
4381 396082 : data_tmp = full_data(idata)
4382 396082 : data_tmp = ISHFT(data_tmp, 57)
4383 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4384 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4385 396082 : idata = idata + 1
4386 396082 : data_tmp = full_data(idata)
4387 396082 : data_tmp = ISHFT(data_tmp, 57)
4388 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4389 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4390 396082 : idata = idata + 1
4391 396082 : data_tmp = full_data(idata)
4392 396082 : data_tmp = ISHFT(data_tmp, 57)
4393 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4394 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4395 396082 : idata = idata + 1
4396 396082 : data_tmp = full_data(idata)
4397 396082 : data_tmp = ISHFT(data_tmp, 57)
4398 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4399 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4400 396082 : idata = idata + 1
4401 396082 : data_tmp = full_data(idata)
4402 396082 : data_tmp = ISHFT(data_tmp, 57)
4403 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4404 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4405 396082 : idata = idata + 1
4406 396082 : data_tmp = full_data(idata)
4407 396082 : data_tmp = ISHFT(data_tmp, 57)
4408 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4409 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4410 396082 : idata = idata + 1
4411 396082 : data_tmp = full_data(idata)
4412 396082 : data_tmp = ISHFT(data_tmp, 57)
4413 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4414 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4415 396082 : idata = idata + 1
4416 396082 : data_tmp = full_data(idata)
4417 396082 : data_tmp = ISHFT(data_tmp, 57)
4418 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4419 396082 : pack_tmp = ISHFT(pack_tmp, -6)
4420 396082 : idata = idata + 1
4421 396082 : data_tmp = full_data(idata)
4422 396082 : data_tmp = ISHFT(data_tmp, 57)
4423 396082 : data_tmp = IAND(data_tmp, mask_left(6))
4424 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4425 396082 : ipack = ipack + 1
4426 396082 : packed_data(ipack) = pack_tmp
4427 396082 : data_tmp = full_data(idata)
4428 396082 : pack_tmp = ISHFT(data_tmp, 63)
4429 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4430 396082 : idata = idata + 1
4431 396082 : data_tmp = full_data(idata)
4432 396082 : data_tmp = ISHFT(data_tmp, 57)
4433 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4434 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4435 396082 : idata = idata + 1
4436 396082 : data_tmp = full_data(idata)
4437 396082 : data_tmp = ISHFT(data_tmp, 57)
4438 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4439 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4440 396082 : idata = idata + 1
4441 396082 : data_tmp = full_data(idata)
4442 396082 : data_tmp = ISHFT(data_tmp, 57)
4443 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4444 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4445 396082 : idata = idata + 1
4446 396082 : data_tmp = full_data(idata)
4447 396082 : data_tmp = ISHFT(data_tmp, 57)
4448 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4449 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4450 396082 : idata = idata + 1
4451 396082 : data_tmp = full_data(idata)
4452 396082 : data_tmp = ISHFT(data_tmp, 57)
4453 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4454 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4455 396082 : idata = idata + 1
4456 396082 : data_tmp = full_data(idata)
4457 396082 : data_tmp = ISHFT(data_tmp, 57)
4458 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4459 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4460 396082 : idata = idata + 1
4461 396082 : data_tmp = full_data(idata)
4462 396082 : data_tmp = ISHFT(data_tmp, 57)
4463 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4464 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4465 396082 : idata = idata + 1
4466 396082 : data_tmp = full_data(idata)
4467 396082 : data_tmp = ISHFT(data_tmp, 57)
4468 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4469 396082 : pack_tmp = ISHFT(pack_tmp, -7)
4470 396082 : idata = idata + 1
4471 396082 : data_tmp = full_data(idata)
4472 396082 : data_tmp = ISHFT(data_tmp, 57)
4473 396082 : pack_tmp = IOR(pack_tmp, data_tmp)
4474 : pack_tmp = ISHFT(pack_tmp, 0)
4475 396082 : pack_tmp = ISHFT(pack_tmp, 0)
4476 396082 : ipack = ipack + 1
4477 396084 : packed_data(ipack) = pack_tmp
4478 : END DO
4479 24789 : IF (Ndata_rep < Ndata) THEN
4480 60 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
4481 : END IF
4482 24789 : END SUBROUTINE ints2bits_7
4483 :
4484 : ! **************************************************************************************************
4485 : !> \brief ...
4486 : !> \param Ndata ...
4487 : !> \param packed_data ...
4488 : !> \param full_data ...
4489 : ! **************************************************************************************************
4490 101997 : 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(*)
4494 :
4495 : INTEGER, PARAMETER :: Nbits = 7
4496 :
4497 : INTEGER :: idata, ipack, kdata, Ndata_rep
4498 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
4499 :
4500 101997 : ipack = 0
4501 101997 : idata = 0
4502 101997 : pack_tmp = 0
4503 101997 : Ndata_rep = (Ndata/64)*64
4504 101997 : DO kdata = 1, Ndata_rep, 64
4505 1626543 : idata = idata + 1
4506 1626543 : data_tmp = ISHFT(pack_tmp, 7)
4507 1626543 : ipack = ipack + 1
4508 1626543 : pack_tmp = packed_data(ipack)
4509 1626543 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
4510 1626543 : pack_tmp = ISHFT(pack_tmp, -7)
4511 1626543 : idata = idata + 1
4512 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4513 1626543 : full_data(idata) = data_tmp
4514 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4515 1626543 : idata = idata + 1
4516 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4517 1626543 : full_data(idata) = data_tmp
4518 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4519 1626543 : idata = idata + 1
4520 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4521 1626543 : full_data(idata) = data_tmp
4522 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4523 1626543 : idata = idata + 1
4524 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4525 1626543 : full_data(idata) = data_tmp
4526 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4527 1626543 : idata = idata + 1
4528 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4529 1626543 : full_data(idata) = data_tmp
4530 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4531 1626543 : idata = idata + 1
4532 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4533 1626543 : full_data(idata) = data_tmp
4534 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4535 1626543 : idata = idata + 1
4536 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4537 1626543 : full_data(idata) = data_tmp
4538 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4539 1626543 : idata = idata + 1
4540 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4541 1626543 : full_data(idata) = data_tmp
4542 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4543 1626543 : idata = idata + 1
4544 1626543 : data_tmp = ISHFT(pack_tmp, 6)
4545 1626543 : ipack = ipack + 1
4546 1626543 : pack_tmp = packed_data(ipack)
4547 1626543 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
4548 1626543 : pack_tmp = ISHFT(pack_tmp, -6)
4549 1626543 : idata = idata + 1
4550 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4551 1626543 : full_data(idata) = data_tmp
4552 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4553 1626543 : idata = idata + 1
4554 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4555 1626543 : full_data(idata) = data_tmp
4556 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4557 1626543 : idata = idata + 1
4558 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4559 1626543 : full_data(idata) = data_tmp
4560 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4561 1626543 : idata = idata + 1
4562 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4563 1626543 : full_data(idata) = data_tmp
4564 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4565 1626543 : idata = idata + 1
4566 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4567 1626543 : full_data(idata) = data_tmp
4568 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4569 1626543 : idata = idata + 1
4570 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4571 1626543 : full_data(idata) = data_tmp
4572 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4573 1626543 : idata = idata + 1
4574 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4575 1626543 : full_data(idata) = data_tmp
4576 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4577 1626543 : idata = idata + 1
4578 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4579 1626543 : full_data(idata) = data_tmp
4580 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4581 1626543 : idata = idata + 1
4582 1626543 : data_tmp = ISHFT(pack_tmp, 5)
4583 1626543 : ipack = ipack + 1
4584 1626543 : pack_tmp = packed_data(ipack)
4585 1626543 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
4586 1626543 : pack_tmp = ISHFT(pack_tmp, -5)
4587 1626543 : idata = idata + 1
4588 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4589 1626543 : full_data(idata) = data_tmp
4590 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4591 1626543 : idata = idata + 1
4592 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4593 1626543 : full_data(idata) = data_tmp
4594 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4595 1626543 : idata = idata + 1
4596 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4597 1626543 : full_data(idata) = data_tmp
4598 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4599 1626543 : idata = idata + 1
4600 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4601 1626543 : full_data(idata) = data_tmp
4602 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4603 1626543 : idata = idata + 1
4604 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4605 1626543 : full_data(idata) = data_tmp
4606 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4607 1626543 : idata = idata + 1
4608 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4609 1626543 : full_data(idata) = data_tmp
4610 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4611 1626543 : idata = idata + 1
4612 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4613 1626543 : full_data(idata) = data_tmp
4614 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4615 1626543 : idata = idata + 1
4616 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4617 1626543 : full_data(idata) = data_tmp
4618 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4619 1626543 : idata = idata + 1
4620 1626543 : data_tmp = ISHFT(pack_tmp, 4)
4621 1626543 : ipack = ipack + 1
4622 1626543 : pack_tmp = packed_data(ipack)
4623 1626543 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
4624 1626543 : pack_tmp = ISHFT(pack_tmp, -4)
4625 1626543 : idata = idata + 1
4626 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4627 1626543 : full_data(idata) = data_tmp
4628 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4629 1626543 : idata = idata + 1
4630 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4631 1626543 : full_data(idata) = data_tmp
4632 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4633 1626543 : idata = idata + 1
4634 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4635 1626543 : full_data(idata) = data_tmp
4636 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4637 1626543 : idata = idata + 1
4638 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4639 1626543 : full_data(idata) = data_tmp
4640 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4641 1626543 : idata = idata + 1
4642 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4643 1626543 : full_data(idata) = data_tmp
4644 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4645 1626543 : idata = idata + 1
4646 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4647 1626543 : full_data(idata) = data_tmp
4648 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4649 1626543 : idata = idata + 1
4650 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4651 1626543 : full_data(idata) = data_tmp
4652 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4653 1626543 : idata = idata + 1
4654 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4655 1626543 : full_data(idata) = data_tmp
4656 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4657 1626543 : idata = idata + 1
4658 1626543 : data_tmp = ISHFT(pack_tmp, 3)
4659 1626543 : ipack = ipack + 1
4660 1626543 : pack_tmp = packed_data(ipack)
4661 1626543 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
4662 1626543 : pack_tmp = ISHFT(pack_tmp, -3)
4663 1626543 : idata = idata + 1
4664 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4665 1626543 : full_data(idata) = data_tmp
4666 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4667 1626543 : idata = idata + 1
4668 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4669 1626543 : full_data(idata) = data_tmp
4670 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4671 1626543 : idata = idata + 1
4672 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4673 1626543 : full_data(idata) = data_tmp
4674 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4675 1626543 : idata = idata + 1
4676 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4677 1626543 : full_data(idata) = data_tmp
4678 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4679 1626543 : idata = idata + 1
4680 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4681 1626543 : full_data(idata) = data_tmp
4682 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4683 1626543 : idata = idata + 1
4684 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4685 1626543 : full_data(idata) = data_tmp
4686 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4687 1626543 : idata = idata + 1
4688 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4689 1626543 : full_data(idata) = data_tmp
4690 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4691 1626543 : idata = idata + 1
4692 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4693 1626543 : full_data(idata) = data_tmp
4694 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4695 1626543 : idata = idata + 1
4696 1626543 : data_tmp = ISHFT(pack_tmp, 2)
4697 1626543 : ipack = ipack + 1
4698 1626543 : pack_tmp = packed_data(ipack)
4699 1626543 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
4700 1626543 : pack_tmp = ISHFT(pack_tmp, -2)
4701 1626543 : idata = idata + 1
4702 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4703 1626543 : full_data(idata) = data_tmp
4704 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4705 1626543 : idata = idata + 1
4706 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4707 1626543 : full_data(idata) = data_tmp
4708 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4709 1626543 : idata = idata + 1
4710 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4711 1626543 : full_data(idata) = data_tmp
4712 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4713 1626543 : idata = idata + 1
4714 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4715 1626543 : full_data(idata) = data_tmp
4716 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4717 1626543 : idata = idata + 1
4718 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4719 1626543 : full_data(idata) = data_tmp
4720 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4721 1626543 : idata = idata + 1
4722 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4723 1626543 : full_data(idata) = data_tmp
4724 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4725 1626543 : idata = idata + 1
4726 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4727 1626543 : full_data(idata) = data_tmp
4728 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4729 1626543 : idata = idata + 1
4730 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4731 1626543 : full_data(idata) = data_tmp
4732 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4733 1626543 : idata = idata + 1
4734 1626543 : data_tmp = ISHFT(pack_tmp, 1)
4735 1626543 : ipack = ipack + 1
4736 1626543 : pack_tmp = packed_data(ipack)
4737 1626543 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
4738 1626543 : pack_tmp = ISHFT(pack_tmp, -1)
4739 1626543 : idata = idata + 1
4740 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4741 1626543 : full_data(idata) = data_tmp
4742 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4743 1626543 : idata = idata + 1
4744 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4745 1626543 : full_data(idata) = data_tmp
4746 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4747 1626543 : idata = idata + 1
4748 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4749 1626543 : full_data(idata) = data_tmp
4750 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4751 1626543 : idata = idata + 1
4752 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4753 1626543 : full_data(idata) = data_tmp
4754 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4755 1626543 : idata = idata + 1
4756 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4757 1626543 : full_data(idata) = data_tmp
4758 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4759 1626543 : idata = idata + 1
4760 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4761 1626543 : full_data(idata) = data_tmp
4762 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4763 1626543 : idata = idata + 1
4764 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4765 1626543 : full_data(idata) = data_tmp
4766 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4767 1626543 : idata = idata + 1
4768 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4769 1626543 : full_data(idata) = data_tmp
4770 1626543 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4771 1626543 : idata = idata + 1
4772 1626543 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
4773 1626543 : full_data(idata) = data_tmp
4774 1626557 : pack_tmp = ISHFT(pack_tmp, -Nbits)
4775 : END DO
4776 101997 : IF (Ndata_rep < Ndata) THEN
4777 610 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
4778 : END IF
4779 101997 : END SUBROUTINE bits2ints_7
4780 :
4781 : ! **************************************************************************************************
4782 : !> \brief ...
4783 : !> \param Ndata ...
4784 : !> \param packed_data ...
4785 : !> \param full_data ...
4786 : ! **************************************************************************************************
4787 24779 : 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(*)
4791 :
4792 : INTEGER, PARAMETER :: Nbits = 8
4793 :
4794 : INTEGER :: idata, ipack, kdata, Ndata_rep
4795 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
4796 :
4797 24779 : idata = 0
4798 24779 : ipack = 0
4799 24779 : Ndata_rep = (Ndata/64)*64
4800 24779 : DO kdata = 1, Ndata_rep, 64
4801 395920 : pack_tmp = 0
4802 395920 : idata = idata + 1
4803 395920 : data_tmp = full_data(idata)
4804 395920 : data_tmp = ISHFT(data_tmp, 56)
4805 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4806 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4807 395920 : idata = idata + 1
4808 395920 : data_tmp = full_data(idata)
4809 395920 : data_tmp = ISHFT(data_tmp, 56)
4810 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4811 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4812 395920 : idata = idata + 1
4813 395920 : data_tmp = full_data(idata)
4814 395920 : data_tmp = ISHFT(data_tmp, 56)
4815 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4816 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4817 395920 : idata = idata + 1
4818 395920 : data_tmp = full_data(idata)
4819 395920 : data_tmp = ISHFT(data_tmp, 56)
4820 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4821 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4822 395920 : idata = idata + 1
4823 395920 : data_tmp = full_data(idata)
4824 395920 : data_tmp = ISHFT(data_tmp, 56)
4825 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4826 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4827 395920 : idata = idata + 1
4828 395920 : data_tmp = full_data(idata)
4829 395920 : data_tmp = ISHFT(data_tmp, 56)
4830 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4831 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4832 395920 : idata = idata + 1
4833 395920 : data_tmp = full_data(idata)
4834 395920 : data_tmp = ISHFT(data_tmp, 56)
4835 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4836 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4837 395920 : idata = idata + 1
4838 395920 : data_tmp = full_data(idata)
4839 395920 : data_tmp = ISHFT(data_tmp, 56)
4840 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4841 395920 : pack_tmp = ISHFT(pack_tmp, 0)
4842 395920 : idata = idata + 1
4843 395920 : data_tmp = full_data(idata)
4844 : data_tmp = ISHFT(data_tmp, 56)
4845 395920 : data_tmp = IAND(data_tmp, mask_left(0))
4846 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4847 395920 : ipack = ipack + 1
4848 395920 : packed_data(ipack) = pack_tmp
4849 395920 : data_tmp = full_data(idata)
4850 395920 : pack_tmp = ISHFT(data_tmp, 56)
4851 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4852 395920 : idata = idata + 1
4853 395920 : data_tmp = full_data(idata)
4854 395920 : data_tmp = ISHFT(data_tmp, 56)
4855 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4856 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4857 395920 : idata = idata + 1
4858 395920 : data_tmp = full_data(idata)
4859 395920 : data_tmp = ISHFT(data_tmp, 56)
4860 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4861 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4862 395920 : idata = idata + 1
4863 395920 : data_tmp = full_data(idata)
4864 395920 : data_tmp = ISHFT(data_tmp, 56)
4865 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4866 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4867 395920 : idata = idata + 1
4868 395920 : data_tmp = full_data(idata)
4869 395920 : data_tmp = ISHFT(data_tmp, 56)
4870 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4871 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4872 395920 : idata = idata + 1
4873 395920 : data_tmp = full_data(idata)
4874 395920 : data_tmp = ISHFT(data_tmp, 56)
4875 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4876 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4877 395920 : idata = idata + 1
4878 395920 : data_tmp = full_data(idata)
4879 395920 : data_tmp = ISHFT(data_tmp, 56)
4880 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4881 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4882 395920 : idata = idata + 1
4883 395920 : data_tmp = full_data(idata)
4884 395920 : data_tmp = ISHFT(data_tmp, 56)
4885 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4886 395920 : pack_tmp = ISHFT(pack_tmp, 0)
4887 395920 : idata = idata + 1
4888 395920 : data_tmp = full_data(idata)
4889 : data_tmp = ISHFT(data_tmp, 56)
4890 395920 : data_tmp = IAND(data_tmp, mask_left(0))
4891 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4892 395920 : ipack = ipack + 1
4893 395920 : packed_data(ipack) = pack_tmp
4894 395920 : data_tmp = full_data(idata)
4895 395920 : pack_tmp = ISHFT(data_tmp, 56)
4896 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4897 395920 : idata = idata + 1
4898 395920 : data_tmp = full_data(idata)
4899 395920 : data_tmp = ISHFT(data_tmp, 56)
4900 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4901 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4902 395920 : idata = idata + 1
4903 395920 : data_tmp = full_data(idata)
4904 395920 : data_tmp = ISHFT(data_tmp, 56)
4905 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4906 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4907 395920 : idata = idata + 1
4908 395920 : data_tmp = full_data(idata)
4909 395920 : data_tmp = ISHFT(data_tmp, 56)
4910 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4911 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4912 395920 : idata = idata + 1
4913 395920 : data_tmp = full_data(idata)
4914 395920 : data_tmp = ISHFT(data_tmp, 56)
4915 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4916 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4917 395920 : idata = idata + 1
4918 395920 : data_tmp = full_data(idata)
4919 395920 : data_tmp = ISHFT(data_tmp, 56)
4920 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4921 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4922 395920 : idata = idata + 1
4923 395920 : data_tmp = full_data(idata)
4924 395920 : data_tmp = ISHFT(data_tmp, 56)
4925 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4926 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4927 395920 : idata = idata + 1
4928 395920 : data_tmp = full_data(idata)
4929 395920 : data_tmp = ISHFT(data_tmp, 56)
4930 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4931 395920 : pack_tmp = ISHFT(pack_tmp, 0)
4932 395920 : idata = idata + 1
4933 395920 : data_tmp = full_data(idata)
4934 : data_tmp = ISHFT(data_tmp, 56)
4935 395920 : data_tmp = IAND(data_tmp, mask_left(0))
4936 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4937 395920 : ipack = ipack + 1
4938 395920 : packed_data(ipack) = pack_tmp
4939 395920 : data_tmp = full_data(idata)
4940 395920 : pack_tmp = ISHFT(data_tmp, 56)
4941 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4942 395920 : idata = idata + 1
4943 395920 : data_tmp = full_data(idata)
4944 395920 : data_tmp = ISHFT(data_tmp, 56)
4945 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4946 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4947 395920 : idata = idata + 1
4948 395920 : data_tmp = full_data(idata)
4949 395920 : data_tmp = ISHFT(data_tmp, 56)
4950 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4951 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4952 395920 : idata = idata + 1
4953 395920 : data_tmp = full_data(idata)
4954 395920 : data_tmp = ISHFT(data_tmp, 56)
4955 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4956 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4957 395920 : idata = idata + 1
4958 395920 : data_tmp = full_data(idata)
4959 395920 : data_tmp = ISHFT(data_tmp, 56)
4960 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4961 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4962 395920 : idata = idata + 1
4963 395920 : data_tmp = full_data(idata)
4964 395920 : data_tmp = ISHFT(data_tmp, 56)
4965 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4966 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4967 395920 : idata = idata + 1
4968 395920 : data_tmp = full_data(idata)
4969 395920 : data_tmp = ISHFT(data_tmp, 56)
4970 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4971 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4972 395920 : idata = idata + 1
4973 395920 : data_tmp = full_data(idata)
4974 395920 : data_tmp = ISHFT(data_tmp, 56)
4975 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4976 395920 : pack_tmp = ISHFT(pack_tmp, 0)
4977 395920 : idata = idata + 1
4978 395920 : data_tmp = full_data(idata)
4979 : data_tmp = ISHFT(data_tmp, 56)
4980 395920 : data_tmp = IAND(data_tmp, mask_left(0))
4981 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4982 395920 : ipack = ipack + 1
4983 395920 : packed_data(ipack) = pack_tmp
4984 395920 : data_tmp = full_data(idata)
4985 395920 : pack_tmp = ISHFT(data_tmp, 56)
4986 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4987 395920 : idata = idata + 1
4988 395920 : data_tmp = full_data(idata)
4989 395920 : data_tmp = ISHFT(data_tmp, 56)
4990 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4991 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4992 395920 : idata = idata + 1
4993 395920 : data_tmp = full_data(idata)
4994 395920 : data_tmp = ISHFT(data_tmp, 56)
4995 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
4996 395920 : pack_tmp = ISHFT(pack_tmp, -8)
4997 395920 : idata = idata + 1
4998 395920 : data_tmp = full_data(idata)
4999 395920 : data_tmp = ISHFT(data_tmp, 56)
5000 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5001 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5002 395920 : idata = idata + 1
5003 395920 : data_tmp = full_data(idata)
5004 395920 : data_tmp = ISHFT(data_tmp, 56)
5005 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5006 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5007 395920 : idata = idata + 1
5008 395920 : data_tmp = full_data(idata)
5009 395920 : data_tmp = ISHFT(data_tmp, 56)
5010 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5011 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5012 395920 : idata = idata + 1
5013 395920 : data_tmp = full_data(idata)
5014 395920 : data_tmp = ISHFT(data_tmp, 56)
5015 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5016 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5017 395920 : idata = idata + 1
5018 395920 : data_tmp = full_data(idata)
5019 395920 : data_tmp = ISHFT(data_tmp, 56)
5020 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5021 395920 : pack_tmp = ISHFT(pack_tmp, 0)
5022 395920 : idata = idata + 1
5023 395920 : data_tmp = full_data(idata)
5024 : data_tmp = ISHFT(data_tmp, 56)
5025 395920 : data_tmp = IAND(data_tmp, mask_left(0))
5026 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5027 395920 : ipack = ipack + 1
5028 395920 : packed_data(ipack) = pack_tmp
5029 395920 : data_tmp = full_data(idata)
5030 395920 : pack_tmp = ISHFT(data_tmp, 56)
5031 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5032 395920 : idata = idata + 1
5033 395920 : data_tmp = full_data(idata)
5034 395920 : data_tmp = ISHFT(data_tmp, 56)
5035 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5036 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5037 395920 : idata = idata + 1
5038 395920 : data_tmp = full_data(idata)
5039 395920 : data_tmp = ISHFT(data_tmp, 56)
5040 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5041 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5042 395920 : idata = idata + 1
5043 395920 : data_tmp = full_data(idata)
5044 395920 : data_tmp = ISHFT(data_tmp, 56)
5045 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5046 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5047 395920 : idata = idata + 1
5048 395920 : data_tmp = full_data(idata)
5049 395920 : data_tmp = ISHFT(data_tmp, 56)
5050 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5051 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5052 395920 : idata = idata + 1
5053 395920 : data_tmp = full_data(idata)
5054 395920 : data_tmp = ISHFT(data_tmp, 56)
5055 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5056 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5057 395920 : idata = idata + 1
5058 395920 : data_tmp = full_data(idata)
5059 395920 : data_tmp = ISHFT(data_tmp, 56)
5060 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5061 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5062 395920 : idata = idata + 1
5063 395920 : data_tmp = full_data(idata)
5064 395920 : data_tmp = ISHFT(data_tmp, 56)
5065 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5066 395920 : pack_tmp = ISHFT(pack_tmp, 0)
5067 395920 : idata = idata + 1
5068 395920 : data_tmp = full_data(idata)
5069 : data_tmp = ISHFT(data_tmp, 56)
5070 395920 : data_tmp = IAND(data_tmp, mask_left(0))
5071 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5072 395920 : ipack = ipack + 1
5073 395920 : packed_data(ipack) = pack_tmp
5074 395920 : data_tmp = full_data(idata)
5075 395920 : pack_tmp = ISHFT(data_tmp, 56)
5076 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5077 395920 : idata = idata + 1
5078 395920 : data_tmp = full_data(idata)
5079 395920 : data_tmp = ISHFT(data_tmp, 56)
5080 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5081 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5082 395920 : idata = idata + 1
5083 395920 : data_tmp = full_data(idata)
5084 395920 : data_tmp = ISHFT(data_tmp, 56)
5085 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5086 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5087 395920 : idata = idata + 1
5088 395920 : data_tmp = full_data(idata)
5089 395920 : data_tmp = ISHFT(data_tmp, 56)
5090 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5091 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5092 395920 : idata = idata + 1
5093 395920 : data_tmp = full_data(idata)
5094 395920 : data_tmp = ISHFT(data_tmp, 56)
5095 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5096 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5097 395920 : idata = idata + 1
5098 395920 : data_tmp = full_data(idata)
5099 395920 : data_tmp = ISHFT(data_tmp, 56)
5100 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5101 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5102 395920 : idata = idata + 1
5103 395920 : data_tmp = full_data(idata)
5104 395920 : data_tmp = ISHFT(data_tmp, 56)
5105 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5106 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5107 395920 : idata = idata + 1
5108 395920 : data_tmp = full_data(idata)
5109 395920 : data_tmp = ISHFT(data_tmp, 56)
5110 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5111 395920 : pack_tmp = ISHFT(pack_tmp, 0)
5112 395920 : idata = idata + 1
5113 395920 : data_tmp = full_data(idata)
5114 : data_tmp = ISHFT(data_tmp, 56)
5115 395920 : data_tmp = IAND(data_tmp, mask_left(0))
5116 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5117 395920 : ipack = ipack + 1
5118 395920 : packed_data(ipack) = pack_tmp
5119 395920 : data_tmp = full_data(idata)
5120 395920 : pack_tmp = ISHFT(data_tmp, 56)
5121 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5122 395920 : idata = idata + 1
5123 395920 : data_tmp = full_data(idata)
5124 395920 : data_tmp = ISHFT(data_tmp, 56)
5125 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5126 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5127 395920 : idata = idata + 1
5128 395920 : data_tmp = full_data(idata)
5129 395920 : data_tmp = ISHFT(data_tmp, 56)
5130 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5131 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5132 395920 : idata = idata + 1
5133 395920 : data_tmp = full_data(idata)
5134 395920 : data_tmp = ISHFT(data_tmp, 56)
5135 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5136 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5137 395920 : idata = idata + 1
5138 395920 : data_tmp = full_data(idata)
5139 395920 : data_tmp = ISHFT(data_tmp, 56)
5140 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5141 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5142 395920 : idata = idata + 1
5143 395920 : data_tmp = full_data(idata)
5144 395920 : data_tmp = ISHFT(data_tmp, 56)
5145 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5146 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5147 395920 : idata = idata + 1
5148 395920 : data_tmp = full_data(idata)
5149 395920 : data_tmp = ISHFT(data_tmp, 56)
5150 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5151 395920 : pack_tmp = ISHFT(pack_tmp, -8)
5152 395920 : idata = idata + 1
5153 395920 : data_tmp = full_data(idata)
5154 395920 : data_tmp = ISHFT(data_tmp, 56)
5155 395920 : pack_tmp = IOR(pack_tmp, data_tmp)
5156 : pack_tmp = ISHFT(pack_tmp, 0)
5157 395920 : pack_tmp = ISHFT(pack_tmp, 0)
5158 395920 : ipack = ipack + 1
5159 395954 : packed_data(ipack) = pack_tmp
5160 : END DO
5161 24779 : IF (Ndata_rep < Ndata) THEN
5162 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
5163 : END IF
5164 24779 : END SUBROUTINE ints2bits_8
5165 :
5166 : ! **************************************************************************************************
5167 : !> \brief ...
5168 : !> \param Ndata ...
5169 : !> \param packed_data ...
5170 : !> \param full_data ...
5171 : ! **************************************************************************************************
5172 102054 : 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(*)
5176 :
5177 : INTEGER, PARAMETER :: Nbits = 8
5178 :
5179 : INTEGER :: idata, ipack, kdata, Ndata_rep
5180 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
5181 :
5182 102054 : ipack = 0
5183 102054 : idata = 0
5184 102054 : pack_tmp = 0
5185 102054 : Ndata_rep = (Ndata/64)*64
5186 102054 : DO kdata = 1, Ndata_rep, 64
5187 1627152 : idata = idata + 1
5188 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5189 1627152 : ipack = ipack + 1
5190 1627152 : pack_tmp = packed_data(ipack)
5191 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5192 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5193 1627152 : idata = idata + 1
5194 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5195 1627152 : full_data(idata) = data_tmp
5196 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5197 1627152 : idata = idata + 1
5198 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5199 1627152 : full_data(idata) = data_tmp
5200 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5201 1627152 : idata = idata + 1
5202 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5203 1627152 : full_data(idata) = data_tmp
5204 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5205 1627152 : idata = idata + 1
5206 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5207 1627152 : full_data(idata) = data_tmp
5208 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5209 1627152 : idata = idata + 1
5210 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5211 1627152 : full_data(idata) = data_tmp
5212 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5213 1627152 : idata = idata + 1
5214 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5215 1627152 : full_data(idata) = data_tmp
5216 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5217 1627152 : idata = idata + 1
5218 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5219 1627152 : full_data(idata) = data_tmp
5220 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5221 1627152 : idata = idata + 1
5222 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5223 1627152 : ipack = ipack + 1
5224 1627152 : pack_tmp = packed_data(ipack)
5225 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5226 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5227 1627152 : idata = idata + 1
5228 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5229 1627152 : full_data(idata) = data_tmp
5230 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5231 1627152 : idata = idata + 1
5232 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5233 1627152 : full_data(idata) = data_tmp
5234 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5235 1627152 : idata = idata + 1
5236 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5237 1627152 : full_data(idata) = data_tmp
5238 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5239 1627152 : idata = idata + 1
5240 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5241 1627152 : full_data(idata) = data_tmp
5242 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5243 1627152 : idata = idata + 1
5244 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5245 1627152 : full_data(idata) = data_tmp
5246 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5247 1627152 : idata = idata + 1
5248 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5249 1627152 : full_data(idata) = data_tmp
5250 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5251 1627152 : idata = idata + 1
5252 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5253 1627152 : full_data(idata) = data_tmp
5254 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5255 1627152 : idata = idata + 1
5256 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5257 1627152 : ipack = ipack + 1
5258 1627152 : pack_tmp = packed_data(ipack)
5259 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5260 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5261 1627152 : idata = idata + 1
5262 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5263 1627152 : full_data(idata) = data_tmp
5264 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5265 1627152 : idata = idata + 1
5266 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5267 1627152 : full_data(idata) = data_tmp
5268 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5269 1627152 : idata = idata + 1
5270 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5271 1627152 : full_data(idata) = data_tmp
5272 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5273 1627152 : idata = idata + 1
5274 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5275 1627152 : full_data(idata) = data_tmp
5276 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5277 1627152 : idata = idata + 1
5278 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5279 1627152 : full_data(idata) = data_tmp
5280 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5281 1627152 : idata = idata + 1
5282 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5283 1627152 : full_data(idata) = data_tmp
5284 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5285 1627152 : idata = idata + 1
5286 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5287 1627152 : full_data(idata) = data_tmp
5288 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5289 1627152 : idata = idata + 1
5290 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5291 1627152 : ipack = ipack + 1
5292 1627152 : pack_tmp = packed_data(ipack)
5293 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5294 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5295 1627152 : idata = idata + 1
5296 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5297 1627152 : full_data(idata) = data_tmp
5298 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5299 1627152 : idata = idata + 1
5300 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5301 1627152 : full_data(idata) = data_tmp
5302 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5303 1627152 : idata = idata + 1
5304 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5305 1627152 : full_data(idata) = data_tmp
5306 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5307 1627152 : idata = idata + 1
5308 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5309 1627152 : full_data(idata) = data_tmp
5310 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5311 1627152 : idata = idata + 1
5312 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5313 1627152 : full_data(idata) = data_tmp
5314 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5315 1627152 : idata = idata + 1
5316 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5317 1627152 : full_data(idata) = data_tmp
5318 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5319 1627152 : idata = idata + 1
5320 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5321 1627152 : full_data(idata) = data_tmp
5322 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5323 1627152 : idata = idata + 1
5324 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5325 1627152 : ipack = ipack + 1
5326 1627152 : pack_tmp = packed_data(ipack)
5327 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5328 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5329 1627152 : idata = idata + 1
5330 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5331 1627152 : full_data(idata) = data_tmp
5332 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5333 1627152 : idata = idata + 1
5334 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5335 1627152 : full_data(idata) = data_tmp
5336 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5337 1627152 : idata = idata + 1
5338 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5339 1627152 : full_data(idata) = data_tmp
5340 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5341 1627152 : idata = idata + 1
5342 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5343 1627152 : full_data(idata) = data_tmp
5344 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5345 1627152 : idata = idata + 1
5346 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5347 1627152 : full_data(idata) = data_tmp
5348 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5349 1627152 : idata = idata + 1
5350 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5351 1627152 : full_data(idata) = data_tmp
5352 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5353 1627152 : idata = idata + 1
5354 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5355 1627152 : full_data(idata) = data_tmp
5356 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5357 1627152 : idata = idata + 1
5358 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5359 1627152 : ipack = ipack + 1
5360 1627152 : pack_tmp = packed_data(ipack)
5361 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5362 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5363 1627152 : idata = idata + 1
5364 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5365 1627152 : full_data(idata) = data_tmp
5366 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5367 1627152 : idata = idata + 1
5368 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5369 1627152 : full_data(idata) = data_tmp
5370 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5371 1627152 : idata = idata + 1
5372 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5373 1627152 : full_data(idata) = data_tmp
5374 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5375 1627152 : idata = idata + 1
5376 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5377 1627152 : full_data(idata) = data_tmp
5378 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5379 1627152 : idata = idata + 1
5380 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5381 1627152 : full_data(idata) = data_tmp
5382 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5383 1627152 : idata = idata + 1
5384 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5385 1627152 : full_data(idata) = data_tmp
5386 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5387 1627152 : idata = idata + 1
5388 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5389 1627152 : full_data(idata) = data_tmp
5390 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5391 1627152 : idata = idata + 1
5392 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5393 1627152 : ipack = ipack + 1
5394 1627152 : pack_tmp = packed_data(ipack)
5395 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5396 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5397 1627152 : idata = idata + 1
5398 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5399 1627152 : full_data(idata) = data_tmp
5400 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5401 1627152 : idata = idata + 1
5402 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5403 1627152 : full_data(idata) = data_tmp
5404 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5405 1627152 : idata = idata + 1
5406 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5407 1627152 : full_data(idata) = data_tmp
5408 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5409 1627152 : idata = idata + 1
5410 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5411 1627152 : full_data(idata) = data_tmp
5412 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5413 1627152 : idata = idata + 1
5414 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5415 1627152 : full_data(idata) = data_tmp
5416 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5417 1627152 : idata = idata + 1
5418 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5419 1627152 : full_data(idata) = data_tmp
5420 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5421 1627152 : idata = idata + 1
5422 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5423 1627152 : full_data(idata) = data_tmp
5424 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5425 1627152 : idata = idata + 1
5426 1627152 : data_tmp = ISHFT(pack_tmp, 8)
5427 1627152 : ipack = ipack + 1
5428 1627152 : pack_tmp = packed_data(ipack)
5429 1627152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5430 1627152 : pack_tmp = ISHFT(pack_tmp, -8)
5431 1627152 : idata = idata + 1
5432 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5433 1627152 : full_data(idata) = data_tmp
5434 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5435 1627152 : idata = idata + 1
5436 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5437 1627152 : full_data(idata) = data_tmp
5438 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5439 1627152 : idata = idata + 1
5440 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5441 1627152 : full_data(idata) = data_tmp
5442 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5443 1627152 : idata = idata + 1
5444 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5445 1627152 : full_data(idata) = data_tmp
5446 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5447 1627152 : idata = idata + 1
5448 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5449 1627152 : full_data(idata) = data_tmp
5450 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5451 1627152 : idata = idata + 1
5452 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5453 1627152 : full_data(idata) = data_tmp
5454 1627152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5455 1627152 : idata = idata + 1
5456 1627152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5457 1627152 : full_data(idata) = data_tmp
5458 1627509 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5459 : END DO
5460 102054 : IF (Ndata_rep < Ndata) THEN
5461 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
5462 : END IF
5463 102054 : END SUBROUTINE bits2ints_8
5464 :
5465 : ! **************************************************************************************************
5466 : !> \brief ...
5467 : !> \param Ndata ...
5468 : !> \param packed_data ...
5469 : !> \param full_data ...
5470 : ! **************************************************************************************************
5471 24736 : 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(*)
5475 :
5476 : INTEGER, PARAMETER :: Nbits = 9
5477 :
5478 : INTEGER :: idata, ipack, kdata, Ndata_rep
5479 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
5480 :
5481 24736 : idata = 0
5482 24736 : ipack = 0
5483 24736 : Ndata_rep = (Ndata/64)*64
5484 24736 : DO kdata = 1, Ndata_rep, 64
5485 395215 : pack_tmp = 0
5486 395215 : idata = idata + 1
5487 395215 : data_tmp = full_data(idata)
5488 395215 : data_tmp = ISHFT(data_tmp, 55)
5489 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5490 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5491 395215 : idata = idata + 1
5492 395215 : data_tmp = full_data(idata)
5493 395215 : data_tmp = ISHFT(data_tmp, 55)
5494 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5495 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5496 395215 : idata = idata + 1
5497 395215 : data_tmp = full_data(idata)
5498 395215 : data_tmp = ISHFT(data_tmp, 55)
5499 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5500 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5501 395215 : idata = idata + 1
5502 395215 : data_tmp = full_data(idata)
5503 395215 : data_tmp = ISHFT(data_tmp, 55)
5504 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5505 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5506 395215 : idata = idata + 1
5507 395215 : data_tmp = full_data(idata)
5508 395215 : data_tmp = ISHFT(data_tmp, 55)
5509 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5510 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5511 395215 : idata = idata + 1
5512 395215 : data_tmp = full_data(idata)
5513 395215 : data_tmp = ISHFT(data_tmp, 55)
5514 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5515 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5516 395215 : idata = idata + 1
5517 395215 : data_tmp = full_data(idata)
5518 395215 : data_tmp = ISHFT(data_tmp, 55)
5519 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5520 395215 : pack_tmp = ISHFT(pack_tmp, -1)
5521 395215 : idata = idata + 1
5522 395215 : data_tmp = full_data(idata)
5523 395215 : data_tmp = ISHFT(data_tmp, 55)
5524 395215 : data_tmp = IAND(data_tmp, mask_left(1))
5525 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5526 395215 : ipack = ipack + 1
5527 395215 : packed_data(ipack) = pack_tmp
5528 395215 : data_tmp = full_data(idata)
5529 395215 : pack_tmp = ISHFT(data_tmp, 56)
5530 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5531 395215 : idata = idata + 1
5532 395215 : data_tmp = full_data(idata)
5533 395215 : data_tmp = ISHFT(data_tmp, 55)
5534 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5535 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5536 395215 : idata = idata + 1
5537 395215 : data_tmp = full_data(idata)
5538 395215 : data_tmp = ISHFT(data_tmp, 55)
5539 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5540 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5541 395215 : idata = idata + 1
5542 395215 : data_tmp = full_data(idata)
5543 395215 : data_tmp = ISHFT(data_tmp, 55)
5544 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5545 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5546 395215 : idata = idata + 1
5547 395215 : data_tmp = full_data(idata)
5548 395215 : data_tmp = ISHFT(data_tmp, 55)
5549 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5550 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5551 395215 : idata = idata + 1
5552 395215 : data_tmp = full_data(idata)
5553 395215 : data_tmp = ISHFT(data_tmp, 55)
5554 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5555 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5556 395215 : idata = idata + 1
5557 395215 : data_tmp = full_data(idata)
5558 395215 : data_tmp = ISHFT(data_tmp, 55)
5559 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5560 395215 : pack_tmp = ISHFT(pack_tmp, -2)
5561 395215 : idata = idata + 1
5562 395215 : data_tmp = full_data(idata)
5563 395215 : data_tmp = ISHFT(data_tmp, 55)
5564 395215 : data_tmp = IAND(data_tmp, mask_left(2))
5565 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5566 395215 : ipack = ipack + 1
5567 395215 : packed_data(ipack) = pack_tmp
5568 395215 : data_tmp = full_data(idata)
5569 395215 : pack_tmp = ISHFT(data_tmp, 57)
5570 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5571 395215 : idata = idata + 1
5572 395215 : data_tmp = full_data(idata)
5573 395215 : data_tmp = ISHFT(data_tmp, 55)
5574 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5575 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5576 395215 : idata = idata + 1
5577 395215 : data_tmp = full_data(idata)
5578 395215 : data_tmp = ISHFT(data_tmp, 55)
5579 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5580 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5581 395215 : idata = idata + 1
5582 395215 : data_tmp = full_data(idata)
5583 395215 : data_tmp = ISHFT(data_tmp, 55)
5584 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5585 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5586 395215 : idata = idata + 1
5587 395215 : data_tmp = full_data(idata)
5588 395215 : data_tmp = ISHFT(data_tmp, 55)
5589 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5590 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5591 395215 : idata = idata + 1
5592 395215 : data_tmp = full_data(idata)
5593 395215 : data_tmp = ISHFT(data_tmp, 55)
5594 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5595 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5596 395215 : idata = idata + 1
5597 395215 : data_tmp = full_data(idata)
5598 395215 : data_tmp = ISHFT(data_tmp, 55)
5599 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5600 395215 : pack_tmp = ISHFT(pack_tmp, -3)
5601 395215 : idata = idata + 1
5602 395215 : data_tmp = full_data(idata)
5603 395215 : data_tmp = ISHFT(data_tmp, 55)
5604 395215 : data_tmp = IAND(data_tmp, mask_left(3))
5605 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5606 395215 : ipack = ipack + 1
5607 395215 : packed_data(ipack) = pack_tmp
5608 395215 : data_tmp = full_data(idata)
5609 395215 : pack_tmp = ISHFT(data_tmp, 58)
5610 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5611 395215 : idata = idata + 1
5612 395215 : data_tmp = full_data(idata)
5613 395215 : data_tmp = ISHFT(data_tmp, 55)
5614 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5615 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5616 395215 : idata = idata + 1
5617 395215 : data_tmp = full_data(idata)
5618 395215 : data_tmp = ISHFT(data_tmp, 55)
5619 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5620 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5621 395215 : idata = idata + 1
5622 395215 : data_tmp = full_data(idata)
5623 395215 : data_tmp = ISHFT(data_tmp, 55)
5624 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5625 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5626 395215 : idata = idata + 1
5627 395215 : data_tmp = full_data(idata)
5628 395215 : data_tmp = ISHFT(data_tmp, 55)
5629 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5630 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5631 395215 : idata = idata + 1
5632 395215 : data_tmp = full_data(idata)
5633 395215 : data_tmp = ISHFT(data_tmp, 55)
5634 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5635 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5636 395215 : idata = idata + 1
5637 395215 : data_tmp = full_data(idata)
5638 395215 : data_tmp = ISHFT(data_tmp, 55)
5639 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5640 395215 : pack_tmp = ISHFT(pack_tmp, -4)
5641 395215 : idata = idata + 1
5642 395215 : data_tmp = full_data(idata)
5643 395215 : data_tmp = ISHFT(data_tmp, 55)
5644 395215 : data_tmp = IAND(data_tmp, mask_left(4))
5645 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5646 395215 : ipack = ipack + 1
5647 395215 : packed_data(ipack) = pack_tmp
5648 395215 : data_tmp = full_data(idata)
5649 395215 : pack_tmp = ISHFT(data_tmp, 59)
5650 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5651 395215 : idata = idata + 1
5652 395215 : data_tmp = full_data(idata)
5653 395215 : data_tmp = ISHFT(data_tmp, 55)
5654 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5655 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5656 395215 : idata = idata + 1
5657 395215 : data_tmp = full_data(idata)
5658 395215 : data_tmp = ISHFT(data_tmp, 55)
5659 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5660 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5661 395215 : idata = idata + 1
5662 395215 : data_tmp = full_data(idata)
5663 395215 : data_tmp = ISHFT(data_tmp, 55)
5664 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5665 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5666 395215 : idata = idata + 1
5667 395215 : data_tmp = full_data(idata)
5668 395215 : data_tmp = ISHFT(data_tmp, 55)
5669 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5670 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5671 395215 : idata = idata + 1
5672 395215 : data_tmp = full_data(idata)
5673 395215 : data_tmp = ISHFT(data_tmp, 55)
5674 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5675 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5676 395215 : idata = idata + 1
5677 395215 : data_tmp = full_data(idata)
5678 395215 : data_tmp = ISHFT(data_tmp, 55)
5679 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5680 395215 : pack_tmp = ISHFT(pack_tmp, -5)
5681 395215 : idata = idata + 1
5682 395215 : data_tmp = full_data(idata)
5683 395215 : data_tmp = ISHFT(data_tmp, 55)
5684 395215 : data_tmp = IAND(data_tmp, mask_left(5))
5685 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5686 395215 : ipack = ipack + 1
5687 395215 : packed_data(ipack) = pack_tmp
5688 395215 : data_tmp = full_data(idata)
5689 395215 : pack_tmp = ISHFT(data_tmp, 60)
5690 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5691 395215 : idata = idata + 1
5692 395215 : data_tmp = full_data(idata)
5693 395215 : data_tmp = ISHFT(data_tmp, 55)
5694 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5695 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5696 395215 : idata = idata + 1
5697 395215 : data_tmp = full_data(idata)
5698 395215 : data_tmp = ISHFT(data_tmp, 55)
5699 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5700 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5701 395215 : idata = idata + 1
5702 395215 : data_tmp = full_data(idata)
5703 395215 : data_tmp = ISHFT(data_tmp, 55)
5704 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5705 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5706 395215 : idata = idata + 1
5707 395215 : data_tmp = full_data(idata)
5708 395215 : data_tmp = ISHFT(data_tmp, 55)
5709 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5710 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5711 395215 : idata = idata + 1
5712 395215 : data_tmp = full_data(idata)
5713 395215 : data_tmp = ISHFT(data_tmp, 55)
5714 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5715 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5716 395215 : idata = idata + 1
5717 395215 : data_tmp = full_data(idata)
5718 395215 : data_tmp = ISHFT(data_tmp, 55)
5719 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5720 395215 : pack_tmp = ISHFT(pack_tmp, -6)
5721 395215 : idata = idata + 1
5722 395215 : data_tmp = full_data(idata)
5723 395215 : data_tmp = ISHFT(data_tmp, 55)
5724 395215 : data_tmp = IAND(data_tmp, mask_left(6))
5725 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5726 395215 : ipack = ipack + 1
5727 395215 : packed_data(ipack) = pack_tmp
5728 395215 : data_tmp = full_data(idata)
5729 395215 : pack_tmp = ISHFT(data_tmp, 61)
5730 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5731 395215 : idata = idata + 1
5732 395215 : data_tmp = full_data(idata)
5733 395215 : data_tmp = ISHFT(data_tmp, 55)
5734 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5735 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5736 395215 : idata = idata + 1
5737 395215 : data_tmp = full_data(idata)
5738 395215 : data_tmp = ISHFT(data_tmp, 55)
5739 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5740 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5741 395215 : idata = idata + 1
5742 395215 : data_tmp = full_data(idata)
5743 395215 : data_tmp = ISHFT(data_tmp, 55)
5744 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5745 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5746 395215 : idata = idata + 1
5747 395215 : data_tmp = full_data(idata)
5748 395215 : data_tmp = ISHFT(data_tmp, 55)
5749 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5750 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5751 395215 : idata = idata + 1
5752 395215 : data_tmp = full_data(idata)
5753 395215 : data_tmp = ISHFT(data_tmp, 55)
5754 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5755 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5756 395215 : idata = idata + 1
5757 395215 : data_tmp = full_data(idata)
5758 395215 : data_tmp = ISHFT(data_tmp, 55)
5759 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5760 395215 : pack_tmp = ISHFT(pack_tmp, -7)
5761 395215 : idata = idata + 1
5762 395215 : data_tmp = full_data(idata)
5763 395215 : data_tmp = ISHFT(data_tmp, 55)
5764 395215 : data_tmp = IAND(data_tmp, mask_left(7))
5765 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5766 395215 : ipack = ipack + 1
5767 395215 : packed_data(ipack) = pack_tmp
5768 395215 : data_tmp = full_data(idata)
5769 395215 : pack_tmp = ISHFT(data_tmp, 62)
5770 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5771 395215 : idata = idata + 1
5772 395215 : data_tmp = full_data(idata)
5773 395215 : data_tmp = ISHFT(data_tmp, 55)
5774 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5775 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5776 395215 : idata = idata + 1
5777 395215 : data_tmp = full_data(idata)
5778 395215 : data_tmp = ISHFT(data_tmp, 55)
5779 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5780 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5781 395215 : idata = idata + 1
5782 395215 : data_tmp = full_data(idata)
5783 395215 : data_tmp = ISHFT(data_tmp, 55)
5784 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5785 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5786 395215 : idata = idata + 1
5787 395215 : data_tmp = full_data(idata)
5788 395215 : data_tmp = ISHFT(data_tmp, 55)
5789 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5790 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5791 395215 : idata = idata + 1
5792 395215 : data_tmp = full_data(idata)
5793 395215 : data_tmp = ISHFT(data_tmp, 55)
5794 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5795 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5796 395215 : idata = idata + 1
5797 395215 : data_tmp = full_data(idata)
5798 395215 : data_tmp = ISHFT(data_tmp, 55)
5799 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5800 395215 : pack_tmp = ISHFT(pack_tmp, -8)
5801 395215 : idata = idata + 1
5802 395215 : data_tmp = full_data(idata)
5803 395215 : data_tmp = ISHFT(data_tmp, 55)
5804 395215 : data_tmp = IAND(data_tmp, mask_left(8))
5805 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5806 395215 : ipack = ipack + 1
5807 395215 : packed_data(ipack) = pack_tmp
5808 395215 : data_tmp = full_data(idata)
5809 395215 : pack_tmp = ISHFT(data_tmp, 63)
5810 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5811 395215 : idata = idata + 1
5812 395215 : data_tmp = full_data(idata)
5813 395215 : data_tmp = ISHFT(data_tmp, 55)
5814 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5815 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5816 395215 : idata = idata + 1
5817 395215 : data_tmp = full_data(idata)
5818 395215 : data_tmp = ISHFT(data_tmp, 55)
5819 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5820 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5821 395215 : idata = idata + 1
5822 395215 : data_tmp = full_data(idata)
5823 395215 : data_tmp = ISHFT(data_tmp, 55)
5824 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5825 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5826 395215 : idata = idata + 1
5827 395215 : data_tmp = full_data(idata)
5828 395215 : data_tmp = ISHFT(data_tmp, 55)
5829 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5830 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5831 395215 : idata = idata + 1
5832 395215 : data_tmp = full_data(idata)
5833 395215 : data_tmp = ISHFT(data_tmp, 55)
5834 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5835 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5836 395215 : idata = idata + 1
5837 395215 : data_tmp = full_data(idata)
5838 395215 : data_tmp = ISHFT(data_tmp, 55)
5839 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5840 395215 : pack_tmp = ISHFT(pack_tmp, -9)
5841 395215 : idata = idata + 1
5842 395215 : data_tmp = full_data(idata)
5843 395215 : data_tmp = ISHFT(data_tmp, 55)
5844 395215 : pack_tmp = IOR(pack_tmp, data_tmp)
5845 : pack_tmp = ISHFT(pack_tmp, 0)
5846 395215 : pack_tmp = ISHFT(pack_tmp, 0)
5847 395215 : ipack = ipack + 1
5848 395215 : packed_data(ipack) = pack_tmp
5849 : END DO
5850 24736 : IF (Ndata_rep < Ndata) THEN
5851 66 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
5852 : END IF
5853 24736 : END SUBROUTINE ints2bits_9
5854 :
5855 : ! **************************************************************************************************
5856 : !> \brief ...
5857 : !> \param Ndata ...
5858 : !> \param packed_data ...
5859 : !> \param full_data ...
5860 : ! **************************************************************************************************
5861 101368 : 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(*)
5865 :
5866 : INTEGER, PARAMETER :: Nbits = 9
5867 :
5868 : INTEGER :: idata, ipack, kdata, Ndata_rep
5869 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
5870 :
5871 101368 : ipack = 0
5872 101368 : idata = 0
5873 101368 : pack_tmp = 0
5874 101368 : Ndata_rep = (Ndata/64)*64
5875 101368 : DO kdata = 1, Ndata_rep, 64
5876 1616635 : idata = idata + 1
5877 1616635 : data_tmp = ISHFT(pack_tmp, 9)
5878 1616635 : ipack = ipack + 1
5879 1616635 : pack_tmp = packed_data(ipack)
5880 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
5881 1616635 : pack_tmp = ISHFT(pack_tmp, -9)
5882 1616635 : idata = idata + 1
5883 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5884 1616635 : full_data(idata) = data_tmp
5885 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5886 1616635 : idata = idata + 1
5887 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5888 1616635 : full_data(idata) = data_tmp
5889 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5890 1616635 : idata = idata + 1
5891 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5892 1616635 : full_data(idata) = data_tmp
5893 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5894 1616635 : idata = idata + 1
5895 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5896 1616635 : full_data(idata) = data_tmp
5897 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5898 1616635 : idata = idata + 1
5899 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5900 1616635 : full_data(idata) = data_tmp
5901 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5902 1616635 : idata = idata + 1
5903 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5904 1616635 : full_data(idata) = data_tmp
5905 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5906 1616635 : idata = idata + 1
5907 1616635 : data_tmp = ISHFT(pack_tmp, 8)
5908 1616635 : ipack = ipack + 1
5909 1616635 : pack_tmp = packed_data(ipack)
5910 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
5911 1616635 : pack_tmp = ISHFT(pack_tmp, -8)
5912 1616635 : idata = idata + 1
5913 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5914 1616635 : full_data(idata) = data_tmp
5915 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5916 1616635 : idata = idata + 1
5917 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5918 1616635 : full_data(idata) = data_tmp
5919 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5920 1616635 : idata = idata + 1
5921 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5922 1616635 : full_data(idata) = data_tmp
5923 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5924 1616635 : idata = idata + 1
5925 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5926 1616635 : full_data(idata) = data_tmp
5927 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5928 1616635 : idata = idata + 1
5929 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5930 1616635 : full_data(idata) = data_tmp
5931 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5932 1616635 : idata = idata + 1
5933 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5934 1616635 : full_data(idata) = data_tmp
5935 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5936 1616635 : idata = idata + 1
5937 1616635 : data_tmp = ISHFT(pack_tmp, 7)
5938 1616635 : ipack = ipack + 1
5939 1616635 : pack_tmp = packed_data(ipack)
5940 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
5941 1616635 : pack_tmp = ISHFT(pack_tmp, -7)
5942 1616635 : idata = idata + 1
5943 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5944 1616635 : full_data(idata) = data_tmp
5945 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5946 1616635 : idata = idata + 1
5947 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5948 1616635 : full_data(idata) = data_tmp
5949 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5950 1616635 : idata = idata + 1
5951 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5952 1616635 : full_data(idata) = data_tmp
5953 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5954 1616635 : idata = idata + 1
5955 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5956 1616635 : full_data(idata) = data_tmp
5957 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5958 1616635 : idata = idata + 1
5959 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5960 1616635 : full_data(idata) = data_tmp
5961 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5962 1616635 : idata = idata + 1
5963 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5964 1616635 : full_data(idata) = data_tmp
5965 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5966 1616635 : idata = idata + 1
5967 1616635 : data_tmp = ISHFT(pack_tmp, 6)
5968 1616635 : ipack = ipack + 1
5969 1616635 : pack_tmp = packed_data(ipack)
5970 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
5971 1616635 : pack_tmp = ISHFT(pack_tmp, -6)
5972 1616635 : idata = idata + 1
5973 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5974 1616635 : full_data(idata) = data_tmp
5975 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5976 1616635 : idata = idata + 1
5977 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5978 1616635 : full_data(idata) = data_tmp
5979 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5980 1616635 : idata = idata + 1
5981 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5982 1616635 : full_data(idata) = data_tmp
5983 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5984 1616635 : idata = idata + 1
5985 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5986 1616635 : full_data(idata) = data_tmp
5987 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5988 1616635 : idata = idata + 1
5989 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5990 1616635 : full_data(idata) = data_tmp
5991 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5992 1616635 : idata = idata + 1
5993 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
5994 1616635 : full_data(idata) = data_tmp
5995 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
5996 1616635 : idata = idata + 1
5997 1616635 : data_tmp = ISHFT(pack_tmp, 5)
5998 1616635 : ipack = ipack + 1
5999 1616635 : pack_tmp = packed_data(ipack)
6000 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
6001 1616635 : pack_tmp = ISHFT(pack_tmp, -5)
6002 1616635 : idata = idata + 1
6003 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6004 1616635 : full_data(idata) = data_tmp
6005 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6006 1616635 : idata = idata + 1
6007 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6008 1616635 : full_data(idata) = data_tmp
6009 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6010 1616635 : idata = idata + 1
6011 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6012 1616635 : full_data(idata) = data_tmp
6013 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6014 1616635 : idata = idata + 1
6015 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6016 1616635 : full_data(idata) = data_tmp
6017 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6018 1616635 : idata = idata + 1
6019 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6020 1616635 : full_data(idata) = data_tmp
6021 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6022 1616635 : idata = idata + 1
6023 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6024 1616635 : full_data(idata) = data_tmp
6025 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6026 1616635 : idata = idata + 1
6027 1616635 : data_tmp = ISHFT(pack_tmp, 4)
6028 1616635 : ipack = ipack + 1
6029 1616635 : pack_tmp = packed_data(ipack)
6030 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
6031 1616635 : pack_tmp = ISHFT(pack_tmp, -4)
6032 1616635 : idata = idata + 1
6033 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6034 1616635 : full_data(idata) = data_tmp
6035 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6036 1616635 : idata = idata + 1
6037 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6038 1616635 : full_data(idata) = data_tmp
6039 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6040 1616635 : idata = idata + 1
6041 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6042 1616635 : full_data(idata) = data_tmp
6043 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6044 1616635 : idata = idata + 1
6045 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6046 1616635 : full_data(idata) = data_tmp
6047 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6048 1616635 : idata = idata + 1
6049 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6050 1616635 : full_data(idata) = data_tmp
6051 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6052 1616635 : idata = idata + 1
6053 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6054 1616635 : full_data(idata) = data_tmp
6055 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6056 1616635 : idata = idata + 1
6057 1616635 : data_tmp = ISHFT(pack_tmp, 3)
6058 1616635 : ipack = ipack + 1
6059 1616635 : pack_tmp = packed_data(ipack)
6060 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
6061 1616635 : pack_tmp = ISHFT(pack_tmp, -3)
6062 1616635 : idata = idata + 1
6063 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6064 1616635 : full_data(idata) = data_tmp
6065 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6066 1616635 : idata = idata + 1
6067 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6068 1616635 : full_data(idata) = data_tmp
6069 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6070 1616635 : idata = idata + 1
6071 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6072 1616635 : full_data(idata) = data_tmp
6073 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6074 1616635 : idata = idata + 1
6075 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6076 1616635 : full_data(idata) = data_tmp
6077 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6078 1616635 : idata = idata + 1
6079 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6080 1616635 : full_data(idata) = data_tmp
6081 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6082 1616635 : idata = idata + 1
6083 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6084 1616635 : full_data(idata) = data_tmp
6085 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6086 1616635 : idata = idata + 1
6087 1616635 : data_tmp = ISHFT(pack_tmp, 2)
6088 1616635 : ipack = ipack + 1
6089 1616635 : pack_tmp = packed_data(ipack)
6090 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
6091 1616635 : pack_tmp = ISHFT(pack_tmp, -2)
6092 1616635 : idata = idata + 1
6093 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6094 1616635 : full_data(idata) = data_tmp
6095 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6096 1616635 : idata = idata + 1
6097 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6098 1616635 : full_data(idata) = data_tmp
6099 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6100 1616635 : idata = idata + 1
6101 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6102 1616635 : full_data(idata) = data_tmp
6103 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6104 1616635 : idata = idata + 1
6105 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6106 1616635 : full_data(idata) = data_tmp
6107 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6108 1616635 : idata = idata + 1
6109 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6110 1616635 : full_data(idata) = data_tmp
6111 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6112 1616635 : idata = idata + 1
6113 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6114 1616635 : full_data(idata) = data_tmp
6115 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6116 1616635 : idata = idata + 1
6117 1616635 : data_tmp = ISHFT(pack_tmp, 1)
6118 1616635 : ipack = ipack + 1
6119 1616635 : pack_tmp = packed_data(ipack)
6120 1616635 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
6121 1616635 : pack_tmp = ISHFT(pack_tmp, -1)
6122 1616635 : idata = idata + 1
6123 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6124 1616635 : full_data(idata) = data_tmp
6125 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6126 1616635 : idata = idata + 1
6127 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6128 1616635 : full_data(idata) = data_tmp
6129 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6130 1616635 : idata = idata + 1
6131 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6132 1616635 : full_data(idata) = data_tmp
6133 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6134 1616635 : idata = idata + 1
6135 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6136 1616635 : full_data(idata) = data_tmp
6137 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6138 1616635 : idata = idata + 1
6139 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6140 1616635 : full_data(idata) = data_tmp
6141 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6142 1616635 : idata = idata + 1
6143 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6144 1616635 : full_data(idata) = data_tmp
6145 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6146 1616635 : idata = idata + 1
6147 1616635 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6148 1616635 : full_data(idata) = data_tmp
6149 1616635 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6150 : END DO
6151 101368 : IF (Ndata_rep < Ndata) THEN
6152 618 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
6153 : END IF
6154 101368 : END SUBROUTINE bits2ints_9
6155 :
6156 : ! **************************************************************************************************
6157 : !> \brief ...
6158 : !> \param Ndata ...
6159 : !> \param packed_data ...
6160 : !> \param full_data ...
6161 : ! **************************************************************************************************
6162 51218 : 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(*)
6166 :
6167 : INTEGER, PARAMETER :: Nbits = 10
6168 :
6169 : INTEGER :: idata, ipack, kdata, Ndata_rep
6170 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
6171 :
6172 51218 : idata = 0
6173 51218 : ipack = 0
6174 51218 : Ndata_rep = (Ndata/64)*64
6175 51218 : DO kdata = 1, Ndata_rep, 64
6176 759410 : pack_tmp = 0
6177 759410 : idata = idata + 1
6178 759410 : data_tmp = full_data(idata)
6179 759410 : data_tmp = ISHFT(data_tmp, 54)
6180 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6181 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6182 759410 : idata = idata + 1
6183 759410 : data_tmp = full_data(idata)
6184 759410 : data_tmp = ISHFT(data_tmp, 54)
6185 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6186 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6187 759410 : idata = idata + 1
6188 759410 : data_tmp = full_data(idata)
6189 759410 : data_tmp = ISHFT(data_tmp, 54)
6190 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6191 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6192 759410 : idata = idata + 1
6193 759410 : data_tmp = full_data(idata)
6194 759410 : data_tmp = ISHFT(data_tmp, 54)
6195 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6196 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6197 759410 : idata = idata + 1
6198 759410 : data_tmp = full_data(idata)
6199 759410 : data_tmp = ISHFT(data_tmp, 54)
6200 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6201 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6202 759410 : idata = idata + 1
6203 759410 : data_tmp = full_data(idata)
6204 759410 : data_tmp = ISHFT(data_tmp, 54)
6205 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6206 759410 : pack_tmp = ISHFT(pack_tmp, -4)
6207 759410 : idata = idata + 1
6208 759410 : data_tmp = full_data(idata)
6209 759410 : data_tmp = ISHFT(data_tmp, 54)
6210 759410 : data_tmp = IAND(data_tmp, mask_left(4))
6211 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6212 759410 : ipack = ipack + 1
6213 759410 : packed_data(ipack) = pack_tmp
6214 759410 : data_tmp = full_data(idata)
6215 759410 : pack_tmp = ISHFT(data_tmp, 58)
6216 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6217 759410 : idata = idata + 1
6218 759410 : data_tmp = full_data(idata)
6219 759410 : data_tmp = ISHFT(data_tmp, 54)
6220 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6221 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6222 759410 : idata = idata + 1
6223 759410 : data_tmp = full_data(idata)
6224 759410 : data_tmp = ISHFT(data_tmp, 54)
6225 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6226 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6227 759410 : idata = idata + 1
6228 759410 : data_tmp = full_data(idata)
6229 759410 : data_tmp = ISHFT(data_tmp, 54)
6230 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6231 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6232 759410 : idata = idata + 1
6233 759410 : data_tmp = full_data(idata)
6234 759410 : data_tmp = ISHFT(data_tmp, 54)
6235 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6236 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6237 759410 : idata = idata + 1
6238 759410 : data_tmp = full_data(idata)
6239 759410 : data_tmp = ISHFT(data_tmp, 54)
6240 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6241 759410 : pack_tmp = ISHFT(pack_tmp, -8)
6242 759410 : idata = idata + 1
6243 759410 : data_tmp = full_data(idata)
6244 759410 : data_tmp = ISHFT(data_tmp, 54)
6245 759410 : data_tmp = IAND(data_tmp, mask_left(8))
6246 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6247 759410 : ipack = ipack + 1
6248 759410 : packed_data(ipack) = pack_tmp
6249 759410 : data_tmp = full_data(idata)
6250 759410 : pack_tmp = ISHFT(data_tmp, 62)
6251 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6252 759410 : idata = idata + 1
6253 759410 : data_tmp = full_data(idata)
6254 759410 : data_tmp = ISHFT(data_tmp, 54)
6255 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6256 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6257 759410 : idata = idata + 1
6258 759410 : data_tmp = full_data(idata)
6259 759410 : data_tmp = ISHFT(data_tmp, 54)
6260 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6261 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6262 759410 : idata = idata + 1
6263 759410 : data_tmp = full_data(idata)
6264 759410 : data_tmp = ISHFT(data_tmp, 54)
6265 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6266 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6267 759410 : idata = idata + 1
6268 759410 : data_tmp = full_data(idata)
6269 759410 : data_tmp = ISHFT(data_tmp, 54)
6270 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6271 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6272 759410 : idata = idata + 1
6273 759410 : data_tmp = full_data(idata)
6274 759410 : data_tmp = ISHFT(data_tmp, 54)
6275 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6276 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6277 759410 : idata = idata + 1
6278 759410 : data_tmp = full_data(idata)
6279 759410 : data_tmp = ISHFT(data_tmp, 54)
6280 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6281 759410 : pack_tmp = ISHFT(pack_tmp, -2)
6282 759410 : idata = idata + 1
6283 759410 : data_tmp = full_data(idata)
6284 759410 : data_tmp = ISHFT(data_tmp, 54)
6285 759410 : data_tmp = IAND(data_tmp, mask_left(2))
6286 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6287 759410 : ipack = ipack + 1
6288 759410 : packed_data(ipack) = pack_tmp
6289 759410 : data_tmp = full_data(idata)
6290 759410 : pack_tmp = ISHFT(data_tmp, 56)
6291 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6292 759410 : idata = idata + 1
6293 759410 : data_tmp = full_data(idata)
6294 759410 : data_tmp = ISHFT(data_tmp, 54)
6295 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6296 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6297 759410 : idata = idata + 1
6298 759410 : data_tmp = full_data(idata)
6299 759410 : data_tmp = ISHFT(data_tmp, 54)
6300 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6301 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6302 759410 : idata = idata + 1
6303 759410 : data_tmp = full_data(idata)
6304 759410 : data_tmp = ISHFT(data_tmp, 54)
6305 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6306 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6307 759410 : idata = idata + 1
6308 759410 : data_tmp = full_data(idata)
6309 759410 : data_tmp = ISHFT(data_tmp, 54)
6310 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6311 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6312 759410 : idata = idata + 1
6313 759410 : data_tmp = full_data(idata)
6314 759410 : data_tmp = ISHFT(data_tmp, 54)
6315 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6316 759410 : pack_tmp = ISHFT(pack_tmp, -6)
6317 759410 : idata = idata + 1
6318 759410 : data_tmp = full_data(idata)
6319 759410 : data_tmp = ISHFT(data_tmp, 54)
6320 759410 : data_tmp = IAND(data_tmp, mask_left(6))
6321 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6322 759410 : ipack = ipack + 1
6323 759410 : packed_data(ipack) = pack_tmp
6324 759410 : data_tmp = full_data(idata)
6325 759410 : pack_tmp = ISHFT(data_tmp, 60)
6326 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6327 759410 : idata = idata + 1
6328 759410 : data_tmp = full_data(idata)
6329 759410 : data_tmp = ISHFT(data_tmp, 54)
6330 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6331 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6332 759410 : idata = idata + 1
6333 759410 : data_tmp = full_data(idata)
6334 759410 : data_tmp = ISHFT(data_tmp, 54)
6335 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6336 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6337 759410 : idata = idata + 1
6338 759410 : data_tmp = full_data(idata)
6339 759410 : data_tmp = ISHFT(data_tmp, 54)
6340 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6341 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6342 759410 : idata = idata + 1
6343 759410 : data_tmp = full_data(idata)
6344 759410 : data_tmp = ISHFT(data_tmp, 54)
6345 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6346 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6347 759410 : idata = idata + 1
6348 759410 : data_tmp = full_data(idata)
6349 759410 : data_tmp = ISHFT(data_tmp, 54)
6350 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6351 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6352 759410 : idata = idata + 1
6353 759410 : data_tmp = full_data(idata)
6354 759410 : data_tmp = ISHFT(data_tmp, 54)
6355 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6356 759410 : pack_tmp = ISHFT(pack_tmp, 0)
6357 759410 : idata = idata + 1
6358 759410 : data_tmp = full_data(idata)
6359 : data_tmp = ISHFT(data_tmp, 54)
6360 759410 : data_tmp = IAND(data_tmp, mask_left(0))
6361 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6362 759410 : ipack = ipack + 1
6363 759410 : packed_data(ipack) = pack_tmp
6364 759410 : data_tmp = full_data(idata)
6365 759410 : pack_tmp = ISHFT(data_tmp, 54)
6366 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6367 759410 : idata = idata + 1
6368 759410 : data_tmp = full_data(idata)
6369 759410 : data_tmp = ISHFT(data_tmp, 54)
6370 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6371 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6372 759410 : idata = idata + 1
6373 759410 : data_tmp = full_data(idata)
6374 759410 : data_tmp = ISHFT(data_tmp, 54)
6375 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6376 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6377 759410 : idata = idata + 1
6378 759410 : data_tmp = full_data(idata)
6379 759410 : data_tmp = ISHFT(data_tmp, 54)
6380 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6381 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6382 759410 : idata = idata + 1
6383 759410 : data_tmp = full_data(idata)
6384 759410 : data_tmp = ISHFT(data_tmp, 54)
6385 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6386 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6387 759410 : idata = idata + 1
6388 759410 : data_tmp = full_data(idata)
6389 759410 : data_tmp = ISHFT(data_tmp, 54)
6390 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6391 759410 : pack_tmp = ISHFT(pack_tmp, -4)
6392 759410 : idata = idata + 1
6393 759410 : data_tmp = full_data(idata)
6394 759410 : data_tmp = ISHFT(data_tmp, 54)
6395 759410 : data_tmp = IAND(data_tmp, mask_left(4))
6396 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6397 759410 : ipack = ipack + 1
6398 759410 : packed_data(ipack) = pack_tmp
6399 759410 : data_tmp = full_data(idata)
6400 759410 : pack_tmp = ISHFT(data_tmp, 58)
6401 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6402 759410 : idata = idata + 1
6403 759410 : data_tmp = full_data(idata)
6404 759410 : data_tmp = ISHFT(data_tmp, 54)
6405 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6406 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6407 759410 : idata = idata + 1
6408 759410 : data_tmp = full_data(idata)
6409 759410 : data_tmp = ISHFT(data_tmp, 54)
6410 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6411 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6412 759410 : idata = idata + 1
6413 759410 : data_tmp = full_data(idata)
6414 759410 : data_tmp = ISHFT(data_tmp, 54)
6415 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6416 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6417 759410 : idata = idata + 1
6418 759410 : data_tmp = full_data(idata)
6419 759410 : data_tmp = ISHFT(data_tmp, 54)
6420 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6421 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6422 759410 : idata = idata + 1
6423 759410 : data_tmp = full_data(idata)
6424 759410 : data_tmp = ISHFT(data_tmp, 54)
6425 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6426 759410 : pack_tmp = ISHFT(pack_tmp, -8)
6427 759410 : idata = idata + 1
6428 759410 : data_tmp = full_data(idata)
6429 759410 : data_tmp = ISHFT(data_tmp, 54)
6430 759410 : data_tmp = IAND(data_tmp, mask_left(8))
6431 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6432 759410 : ipack = ipack + 1
6433 759410 : packed_data(ipack) = pack_tmp
6434 759410 : data_tmp = full_data(idata)
6435 759410 : pack_tmp = ISHFT(data_tmp, 62)
6436 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6437 759410 : idata = idata + 1
6438 759410 : data_tmp = full_data(idata)
6439 759410 : data_tmp = ISHFT(data_tmp, 54)
6440 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6441 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6442 759410 : idata = idata + 1
6443 759410 : data_tmp = full_data(idata)
6444 759410 : data_tmp = ISHFT(data_tmp, 54)
6445 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6446 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6447 759410 : idata = idata + 1
6448 759410 : data_tmp = full_data(idata)
6449 759410 : data_tmp = ISHFT(data_tmp, 54)
6450 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6451 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6452 759410 : idata = idata + 1
6453 759410 : data_tmp = full_data(idata)
6454 759410 : data_tmp = ISHFT(data_tmp, 54)
6455 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6456 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6457 759410 : idata = idata + 1
6458 759410 : data_tmp = full_data(idata)
6459 759410 : data_tmp = ISHFT(data_tmp, 54)
6460 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6461 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6462 759410 : idata = idata + 1
6463 759410 : data_tmp = full_data(idata)
6464 759410 : data_tmp = ISHFT(data_tmp, 54)
6465 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6466 759410 : pack_tmp = ISHFT(pack_tmp, -2)
6467 759410 : idata = idata + 1
6468 759410 : data_tmp = full_data(idata)
6469 759410 : data_tmp = ISHFT(data_tmp, 54)
6470 759410 : data_tmp = IAND(data_tmp, mask_left(2))
6471 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6472 759410 : ipack = ipack + 1
6473 759410 : packed_data(ipack) = pack_tmp
6474 759410 : data_tmp = full_data(idata)
6475 759410 : pack_tmp = ISHFT(data_tmp, 56)
6476 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6477 759410 : idata = idata + 1
6478 759410 : data_tmp = full_data(idata)
6479 759410 : data_tmp = ISHFT(data_tmp, 54)
6480 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6481 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6482 759410 : idata = idata + 1
6483 759410 : data_tmp = full_data(idata)
6484 759410 : data_tmp = ISHFT(data_tmp, 54)
6485 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6486 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6487 759410 : idata = idata + 1
6488 759410 : data_tmp = full_data(idata)
6489 759410 : data_tmp = ISHFT(data_tmp, 54)
6490 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6491 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6492 759410 : idata = idata + 1
6493 759410 : data_tmp = full_data(idata)
6494 759410 : data_tmp = ISHFT(data_tmp, 54)
6495 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6496 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6497 759410 : idata = idata + 1
6498 759410 : data_tmp = full_data(idata)
6499 759410 : data_tmp = ISHFT(data_tmp, 54)
6500 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6501 759410 : pack_tmp = ISHFT(pack_tmp, -6)
6502 759410 : idata = idata + 1
6503 759410 : data_tmp = full_data(idata)
6504 759410 : data_tmp = ISHFT(data_tmp, 54)
6505 759410 : data_tmp = IAND(data_tmp, mask_left(6))
6506 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6507 759410 : ipack = ipack + 1
6508 759410 : packed_data(ipack) = pack_tmp
6509 759410 : data_tmp = full_data(idata)
6510 759410 : pack_tmp = ISHFT(data_tmp, 60)
6511 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6512 759410 : idata = idata + 1
6513 759410 : data_tmp = full_data(idata)
6514 759410 : data_tmp = ISHFT(data_tmp, 54)
6515 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6516 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6517 759410 : idata = idata + 1
6518 759410 : data_tmp = full_data(idata)
6519 759410 : data_tmp = ISHFT(data_tmp, 54)
6520 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6521 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6522 759410 : idata = idata + 1
6523 759410 : data_tmp = full_data(idata)
6524 759410 : data_tmp = ISHFT(data_tmp, 54)
6525 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6526 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6527 759410 : idata = idata + 1
6528 759410 : data_tmp = full_data(idata)
6529 759410 : data_tmp = ISHFT(data_tmp, 54)
6530 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6531 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6532 759410 : idata = idata + 1
6533 759410 : data_tmp = full_data(idata)
6534 759410 : data_tmp = ISHFT(data_tmp, 54)
6535 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6536 759410 : pack_tmp = ISHFT(pack_tmp, -10)
6537 759410 : idata = idata + 1
6538 759410 : data_tmp = full_data(idata)
6539 759410 : data_tmp = ISHFT(data_tmp, 54)
6540 759410 : pack_tmp = IOR(pack_tmp, data_tmp)
6541 : pack_tmp = ISHFT(pack_tmp, 0)
6542 759410 : pack_tmp = ISHFT(pack_tmp, 0)
6543 759410 : ipack = ipack + 1
6544 759775 : packed_data(ipack) = pack_tmp
6545 : END DO
6546 51218 : IF (Ndata_rep < Ndata) THEN
6547 4828 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
6548 : END IF
6549 51218 : END SUBROUTINE ints2bits_10
6550 :
6551 : ! **************************************************************************************************
6552 : !> \brief ...
6553 : !> \param Ndata ...
6554 : !> \param packed_data ...
6555 : !> \param full_data ...
6556 : ! **************************************************************************************************
6557 306579 : 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(*)
6561 :
6562 : INTEGER, PARAMETER :: Nbits = 10
6563 :
6564 : INTEGER :: idata, ipack, kdata, Ndata_rep
6565 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
6566 :
6567 306579 : ipack = 0
6568 306579 : idata = 0
6569 306579 : pack_tmp = 0
6570 306579 : Ndata_rep = (Ndata/64)*64
6571 306579 : DO kdata = 1, Ndata_rep, 64
6572 4442478 : idata = idata + 1
6573 4442478 : data_tmp = ISHFT(pack_tmp, 10)
6574 4442478 : ipack = ipack + 1
6575 4442478 : pack_tmp = packed_data(ipack)
6576 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
6577 4442478 : pack_tmp = ISHFT(pack_tmp, -10)
6578 4442478 : idata = idata + 1
6579 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6580 4442478 : full_data(idata) = data_tmp
6581 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6582 4442478 : idata = idata + 1
6583 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6584 4442478 : full_data(idata) = data_tmp
6585 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6586 4442478 : idata = idata + 1
6587 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6588 4442478 : full_data(idata) = data_tmp
6589 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6590 4442478 : idata = idata + 1
6591 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6592 4442478 : full_data(idata) = data_tmp
6593 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6594 4442478 : idata = idata + 1
6595 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6596 4442478 : full_data(idata) = data_tmp
6597 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6598 4442478 : idata = idata + 1
6599 4442478 : data_tmp = ISHFT(pack_tmp, 6)
6600 4442478 : ipack = ipack + 1
6601 4442478 : pack_tmp = packed_data(ipack)
6602 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
6603 4442478 : pack_tmp = ISHFT(pack_tmp, -6)
6604 4442478 : idata = idata + 1
6605 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6606 4442478 : full_data(idata) = data_tmp
6607 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6608 4442478 : idata = idata + 1
6609 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6610 4442478 : full_data(idata) = data_tmp
6611 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6612 4442478 : idata = idata + 1
6613 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6614 4442478 : full_data(idata) = data_tmp
6615 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6616 4442478 : idata = idata + 1
6617 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6618 4442478 : full_data(idata) = data_tmp
6619 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6620 4442478 : idata = idata + 1
6621 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6622 4442478 : full_data(idata) = data_tmp
6623 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6624 4442478 : idata = idata + 1
6625 4442478 : data_tmp = ISHFT(pack_tmp, 2)
6626 4442478 : ipack = ipack + 1
6627 4442478 : pack_tmp = packed_data(ipack)
6628 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
6629 4442478 : pack_tmp = ISHFT(pack_tmp, -2)
6630 4442478 : idata = idata + 1
6631 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6632 4442478 : full_data(idata) = data_tmp
6633 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6634 4442478 : idata = idata + 1
6635 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6636 4442478 : full_data(idata) = data_tmp
6637 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6638 4442478 : idata = idata + 1
6639 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6640 4442478 : full_data(idata) = data_tmp
6641 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6642 4442478 : idata = idata + 1
6643 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6644 4442478 : full_data(idata) = data_tmp
6645 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6646 4442478 : idata = idata + 1
6647 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6648 4442478 : full_data(idata) = data_tmp
6649 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6650 4442478 : idata = idata + 1
6651 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6652 4442478 : full_data(idata) = data_tmp
6653 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6654 4442478 : idata = idata + 1
6655 4442478 : data_tmp = ISHFT(pack_tmp, 8)
6656 4442478 : ipack = ipack + 1
6657 4442478 : pack_tmp = packed_data(ipack)
6658 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
6659 4442478 : pack_tmp = ISHFT(pack_tmp, -8)
6660 4442478 : idata = idata + 1
6661 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6662 4442478 : full_data(idata) = data_tmp
6663 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6664 4442478 : idata = idata + 1
6665 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6666 4442478 : full_data(idata) = data_tmp
6667 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6668 4442478 : idata = idata + 1
6669 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6670 4442478 : full_data(idata) = data_tmp
6671 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6672 4442478 : idata = idata + 1
6673 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6674 4442478 : full_data(idata) = data_tmp
6675 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6676 4442478 : idata = idata + 1
6677 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6678 4442478 : full_data(idata) = data_tmp
6679 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6680 4442478 : idata = idata + 1
6681 4442478 : data_tmp = ISHFT(pack_tmp, 4)
6682 4442478 : ipack = ipack + 1
6683 4442478 : pack_tmp = packed_data(ipack)
6684 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
6685 4442478 : pack_tmp = ISHFT(pack_tmp, -4)
6686 4442478 : idata = idata + 1
6687 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6688 4442478 : full_data(idata) = data_tmp
6689 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6690 4442478 : idata = idata + 1
6691 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6692 4442478 : full_data(idata) = data_tmp
6693 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6694 4442478 : idata = idata + 1
6695 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6696 4442478 : full_data(idata) = data_tmp
6697 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6698 4442478 : idata = idata + 1
6699 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6700 4442478 : full_data(idata) = data_tmp
6701 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6702 4442478 : idata = idata + 1
6703 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6704 4442478 : full_data(idata) = data_tmp
6705 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6706 4442478 : idata = idata + 1
6707 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6708 4442478 : full_data(idata) = data_tmp
6709 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6710 4442478 : idata = idata + 1
6711 4442478 : data_tmp = ISHFT(pack_tmp, 10)
6712 4442478 : ipack = ipack + 1
6713 4442478 : pack_tmp = packed_data(ipack)
6714 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
6715 4442478 : pack_tmp = ISHFT(pack_tmp, -10)
6716 4442478 : idata = idata + 1
6717 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6718 4442478 : full_data(idata) = data_tmp
6719 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6720 4442478 : idata = idata + 1
6721 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6722 4442478 : full_data(idata) = data_tmp
6723 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6724 4442478 : idata = idata + 1
6725 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6726 4442478 : full_data(idata) = data_tmp
6727 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6728 4442478 : idata = idata + 1
6729 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6730 4442478 : full_data(idata) = data_tmp
6731 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6732 4442478 : idata = idata + 1
6733 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6734 4442478 : full_data(idata) = data_tmp
6735 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6736 4442478 : idata = idata + 1
6737 4442478 : data_tmp = ISHFT(pack_tmp, 6)
6738 4442478 : ipack = ipack + 1
6739 4442478 : pack_tmp = packed_data(ipack)
6740 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
6741 4442478 : pack_tmp = ISHFT(pack_tmp, -6)
6742 4442478 : idata = idata + 1
6743 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6744 4442478 : full_data(idata) = data_tmp
6745 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6746 4442478 : idata = idata + 1
6747 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6748 4442478 : full_data(idata) = data_tmp
6749 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6750 4442478 : idata = idata + 1
6751 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6752 4442478 : full_data(idata) = data_tmp
6753 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6754 4442478 : idata = idata + 1
6755 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6756 4442478 : full_data(idata) = data_tmp
6757 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6758 4442478 : idata = idata + 1
6759 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6760 4442478 : full_data(idata) = data_tmp
6761 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6762 4442478 : idata = idata + 1
6763 4442478 : data_tmp = ISHFT(pack_tmp, 2)
6764 4442478 : ipack = ipack + 1
6765 4442478 : pack_tmp = packed_data(ipack)
6766 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
6767 4442478 : pack_tmp = ISHFT(pack_tmp, -2)
6768 4442478 : idata = idata + 1
6769 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6770 4442478 : full_data(idata) = data_tmp
6771 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6772 4442478 : idata = idata + 1
6773 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6774 4442478 : full_data(idata) = data_tmp
6775 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6776 4442478 : idata = idata + 1
6777 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6778 4442478 : full_data(idata) = data_tmp
6779 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6780 4442478 : idata = idata + 1
6781 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6782 4442478 : full_data(idata) = data_tmp
6783 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6784 4442478 : idata = idata + 1
6785 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6786 4442478 : full_data(idata) = data_tmp
6787 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6788 4442478 : idata = idata + 1
6789 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6790 4442478 : full_data(idata) = data_tmp
6791 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6792 4442478 : idata = idata + 1
6793 4442478 : data_tmp = ISHFT(pack_tmp, 8)
6794 4442478 : ipack = ipack + 1
6795 4442478 : pack_tmp = packed_data(ipack)
6796 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
6797 4442478 : pack_tmp = ISHFT(pack_tmp, -8)
6798 4442478 : idata = idata + 1
6799 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6800 4442478 : full_data(idata) = data_tmp
6801 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6802 4442478 : idata = idata + 1
6803 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6804 4442478 : full_data(idata) = data_tmp
6805 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6806 4442478 : idata = idata + 1
6807 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6808 4442478 : full_data(idata) = data_tmp
6809 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6810 4442478 : idata = idata + 1
6811 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6812 4442478 : full_data(idata) = data_tmp
6813 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6814 4442478 : idata = idata + 1
6815 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6816 4442478 : full_data(idata) = data_tmp
6817 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6818 4442478 : idata = idata + 1
6819 4442478 : data_tmp = ISHFT(pack_tmp, 4)
6820 4442478 : ipack = ipack + 1
6821 4442478 : pack_tmp = packed_data(ipack)
6822 4442478 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
6823 4442478 : pack_tmp = ISHFT(pack_tmp, -4)
6824 4442478 : idata = idata + 1
6825 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6826 4442478 : full_data(idata) = data_tmp
6827 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6828 4442478 : idata = idata + 1
6829 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6830 4442478 : full_data(idata) = data_tmp
6831 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6832 4442478 : idata = idata + 1
6833 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6834 4442478 : full_data(idata) = data_tmp
6835 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6836 4442478 : idata = idata + 1
6837 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6838 4442478 : full_data(idata) = data_tmp
6839 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6840 4442478 : idata = idata + 1
6841 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6842 4442478 : full_data(idata) = data_tmp
6843 4442478 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6844 4442478 : idata = idata + 1
6845 4442478 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
6846 4442478 : full_data(idata) = data_tmp
6847 4445224 : pack_tmp = ISHFT(pack_tmp, -Nbits)
6848 : END DO
6849 306579 : IF (Ndata_rep < Ndata) THEN
6850 37636 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
6851 : END IF
6852 306579 : END SUBROUTINE bits2ints_10
6853 :
6854 : ! **************************************************************************************************
6855 : !> \brief ...
6856 : !> \param Ndata ...
6857 : !> \param packed_data ...
6858 : !> \param full_data ...
6859 : ! **************************************************************************************************
6860 27188 : 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(*)
6864 :
6865 : INTEGER, PARAMETER :: Nbits = 11
6866 :
6867 : INTEGER :: idata, ipack, kdata, Ndata_rep
6868 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
6869 :
6870 27188 : idata = 0
6871 27188 : ipack = 0
6872 27188 : Ndata_rep = (Ndata/64)*64
6873 27188 : DO kdata = 1, Ndata_rep, 64
6874 428361 : pack_tmp = 0
6875 428361 : idata = idata + 1
6876 428361 : data_tmp = full_data(idata)
6877 428361 : data_tmp = ISHFT(data_tmp, 53)
6878 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6879 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6880 428361 : idata = idata + 1
6881 428361 : data_tmp = full_data(idata)
6882 428361 : data_tmp = ISHFT(data_tmp, 53)
6883 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6884 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6885 428361 : idata = idata + 1
6886 428361 : data_tmp = full_data(idata)
6887 428361 : data_tmp = ISHFT(data_tmp, 53)
6888 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6889 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6890 428361 : idata = idata + 1
6891 428361 : data_tmp = full_data(idata)
6892 428361 : data_tmp = ISHFT(data_tmp, 53)
6893 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6894 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6895 428361 : idata = idata + 1
6896 428361 : data_tmp = full_data(idata)
6897 428361 : data_tmp = ISHFT(data_tmp, 53)
6898 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6899 428361 : pack_tmp = ISHFT(pack_tmp, -9)
6900 428361 : idata = idata + 1
6901 428361 : data_tmp = full_data(idata)
6902 428361 : data_tmp = ISHFT(data_tmp, 53)
6903 428361 : data_tmp = IAND(data_tmp, mask_left(9))
6904 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6905 428361 : ipack = ipack + 1
6906 428361 : packed_data(ipack) = pack_tmp
6907 428361 : data_tmp = full_data(idata)
6908 428361 : pack_tmp = ISHFT(data_tmp, 62)
6909 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6910 428361 : idata = idata + 1
6911 428361 : data_tmp = full_data(idata)
6912 428361 : data_tmp = ISHFT(data_tmp, 53)
6913 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6914 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6915 428361 : idata = idata + 1
6916 428361 : data_tmp = full_data(idata)
6917 428361 : data_tmp = ISHFT(data_tmp, 53)
6918 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6919 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6920 428361 : idata = idata + 1
6921 428361 : data_tmp = full_data(idata)
6922 428361 : data_tmp = ISHFT(data_tmp, 53)
6923 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6924 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6925 428361 : idata = idata + 1
6926 428361 : data_tmp = full_data(idata)
6927 428361 : data_tmp = ISHFT(data_tmp, 53)
6928 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6929 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6930 428361 : idata = idata + 1
6931 428361 : data_tmp = full_data(idata)
6932 428361 : data_tmp = ISHFT(data_tmp, 53)
6933 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6934 428361 : pack_tmp = ISHFT(pack_tmp, -7)
6935 428361 : idata = idata + 1
6936 428361 : data_tmp = full_data(idata)
6937 428361 : data_tmp = ISHFT(data_tmp, 53)
6938 428361 : data_tmp = IAND(data_tmp, mask_left(7))
6939 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6940 428361 : ipack = ipack + 1
6941 428361 : packed_data(ipack) = pack_tmp
6942 428361 : data_tmp = full_data(idata)
6943 428361 : pack_tmp = ISHFT(data_tmp, 60)
6944 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6945 428361 : idata = idata + 1
6946 428361 : data_tmp = full_data(idata)
6947 428361 : data_tmp = ISHFT(data_tmp, 53)
6948 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6949 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6950 428361 : idata = idata + 1
6951 428361 : data_tmp = full_data(idata)
6952 428361 : data_tmp = ISHFT(data_tmp, 53)
6953 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6954 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6955 428361 : idata = idata + 1
6956 428361 : data_tmp = full_data(idata)
6957 428361 : data_tmp = ISHFT(data_tmp, 53)
6958 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6959 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6960 428361 : idata = idata + 1
6961 428361 : data_tmp = full_data(idata)
6962 428361 : data_tmp = ISHFT(data_tmp, 53)
6963 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6964 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6965 428361 : idata = idata + 1
6966 428361 : data_tmp = full_data(idata)
6967 428361 : data_tmp = ISHFT(data_tmp, 53)
6968 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6969 428361 : pack_tmp = ISHFT(pack_tmp, -5)
6970 428361 : idata = idata + 1
6971 428361 : data_tmp = full_data(idata)
6972 428361 : data_tmp = ISHFT(data_tmp, 53)
6973 428361 : data_tmp = IAND(data_tmp, mask_left(5))
6974 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6975 428361 : ipack = ipack + 1
6976 428361 : packed_data(ipack) = pack_tmp
6977 428361 : data_tmp = full_data(idata)
6978 428361 : pack_tmp = ISHFT(data_tmp, 58)
6979 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6980 428361 : idata = idata + 1
6981 428361 : data_tmp = full_data(idata)
6982 428361 : data_tmp = ISHFT(data_tmp, 53)
6983 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6984 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6985 428361 : idata = idata + 1
6986 428361 : data_tmp = full_data(idata)
6987 428361 : data_tmp = ISHFT(data_tmp, 53)
6988 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6989 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6990 428361 : idata = idata + 1
6991 428361 : data_tmp = full_data(idata)
6992 428361 : data_tmp = ISHFT(data_tmp, 53)
6993 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6994 428361 : pack_tmp = ISHFT(pack_tmp, -11)
6995 428361 : idata = idata + 1
6996 428361 : data_tmp = full_data(idata)
6997 428361 : data_tmp = ISHFT(data_tmp, 53)
6998 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
6999 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7000 428361 : idata = idata + 1
7001 428361 : data_tmp = full_data(idata)
7002 428361 : data_tmp = ISHFT(data_tmp, 53)
7003 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7004 428361 : pack_tmp = ISHFT(pack_tmp, -3)
7005 428361 : idata = idata + 1
7006 428361 : data_tmp = full_data(idata)
7007 428361 : data_tmp = ISHFT(data_tmp, 53)
7008 428361 : data_tmp = IAND(data_tmp, mask_left(3))
7009 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7010 428361 : ipack = ipack + 1
7011 428361 : packed_data(ipack) = pack_tmp
7012 428361 : data_tmp = full_data(idata)
7013 428361 : pack_tmp = ISHFT(data_tmp, 56)
7014 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7015 428361 : idata = idata + 1
7016 428361 : data_tmp = full_data(idata)
7017 428361 : data_tmp = ISHFT(data_tmp, 53)
7018 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7019 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7020 428361 : idata = idata + 1
7021 428361 : data_tmp = full_data(idata)
7022 428361 : data_tmp = ISHFT(data_tmp, 53)
7023 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7024 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7025 428361 : idata = idata + 1
7026 428361 : data_tmp = full_data(idata)
7027 428361 : data_tmp = ISHFT(data_tmp, 53)
7028 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7029 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7030 428361 : idata = idata + 1
7031 428361 : data_tmp = full_data(idata)
7032 428361 : data_tmp = ISHFT(data_tmp, 53)
7033 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7034 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7035 428361 : idata = idata + 1
7036 428361 : data_tmp = full_data(idata)
7037 428361 : data_tmp = ISHFT(data_tmp, 53)
7038 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7039 428361 : pack_tmp = ISHFT(pack_tmp, -1)
7040 428361 : idata = idata + 1
7041 428361 : data_tmp = full_data(idata)
7042 428361 : data_tmp = ISHFT(data_tmp, 53)
7043 428361 : data_tmp = IAND(data_tmp, mask_left(1))
7044 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7045 428361 : ipack = ipack + 1
7046 428361 : packed_data(ipack) = pack_tmp
7047 428361 : data_tmp = full_data(idata)
7048 428361 : pack_tmp = ISHFT(data_tmp, 54)
7049 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7050 428361 : idata = idata + 1
7051 428361 : data_tmp = full_data(idata)
7052 428361 : data_tmp = ISHFT(data_tmp, 53)
7053 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7054 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7055 428361 : idata = idata + 1
7056 428361 : data_tmp = full_data(idata)
7057 428361 : data_tmp = ISHFT(data_tmp, 53)
7058 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7059 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7060 428361 : idata = idata + 1
7061 428361 : data_tmp = full_data(idata)
7062 428361 : data_tmp = ISHFT(data_tmp, 53)
7063 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7064 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7065 428361 : idata = idata + 1
7066 428361 : data_tmp = full_data(idata)
7067 428361 : data_tmp = ISHFT(data_tmp, 53)
7068 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7069 428361 : pack_tmp = ISHFT(pack_tmp, -10)
7070 428361 : idata = idata + 1
7071 428361 : data_tmp = full_data(idata)
7072 428361 : data_tmp = ISHFT(data_tmp, 53)
7073 428361 : data_tmp = IAND(data_tmp, mask_left(10))
7074 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7075 428361 : ipack = ipack + 1
7076 428361 : packed_data(ipack) = pack_tmp
7077 428361 : data_tmp = full_data(idata)
7078 428361 : pack_tmp = ISHFT(data_tmp, 63)
7079 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7080 428361 : idata = idata + 1
7081 428361 : data_tmp = full_data(idata)
7082 428361 : data_tmp = ISHFT(data_tmp, 53)
7083 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7084 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7085 428361 : idata = idata + 1
7086 428361 : data_tmp = full_data(idata)
7087 428361 : data_tmp = ISHFT(data_tmp, 53)
7088 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7089 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7090 428361 : idata = idata + 1
7091 428361 : data_tmp = full_data(idata)
7092 428361 : data_tmp = ISHFT(data_tmp, 53)
7093 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7094 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7095 428361 : idata = idata + 1
7096 428361 : data_tmp = full_data(idata)
7097 428361 : data_tmp = ISHFT(data_tmp, 53)
7098 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7099 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7100 428361 : idata = idata + 1
7101 428361 : data_tmp = full_data(idata)
7102 428361 : data_tmp = ISHFT(data_tmp, 53)
7103 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7104 428361 : pack_tmp = ISHFT(pack_tmp, -8)
7105 428361 : idata = idata + 1
7106 428361 : data_tmp = full_data(idata)
7107 428361 : data_tmp = ISHFT(data_tmp, 53)
7108 428361 : data_tmp = IAND(data_tmp, mask_left(8))
7109 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7110 428361 : ipack = ipack + 1
7111 428361 : packed_data(ipack) = pack_tmp
7112 428361 : data_tmp = full_data(idata)
7113 428361 : pack_tmp = ISHFT(data_tmp, 61)
7114 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7115 428361 : idata = idata + 1
7116 428361 : data_tmp = full_data(idata)
7117 428361 : data_tmp = ISHFT(data_tmp, 53)
7118 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7119 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7120 428361 : idata = idata + 1
7121 428361 : data_tmp = full_data(idata)
7122 428361 : data_tmp = ISHFT(data_tmp, 53)
7123 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7124 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7125 428361 : idata = idata + 1
7126 428361 : data_tmp = full_data(idata)
7127 428361 : data_tmp = ISHFT(data_tmp, 53)
7128 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7129 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7130 428361 : idata = idata + 1
7131 428361 : data_tmp = full_data(idata)
7132 428361 : data_tmp = ISHFT(data_tmp, 53)
7133 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7134 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7135 428361 : idata = idata + 1
7136 428361 : data_tmp = full_data(idata)
7137 428361 : data_tmp = ISHFT(data_tmp, 53)
7138 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7139 428361 : pack_tmp = ISHFT(pack_tmp, -6)
7140 428361 : idata = idata + 1
7141 428361 : data_tmp = full_data(idata)
7142 428361 : data_tmp = ISHFT(data_tmp, 53)
7143 428361 : data_tmp = IAND(data_tmp, mask_left(6))
7144 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7145 428361 : ipack = ipack + 1
7146 428361 : packed_data(ipack) = pack_tmp
7147 428361 : data_tmp = full_data(idata)
7148 428361 : pack_tmp = ISHFT(data_tmp, 59)
7149 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7150 428361 : idata = idata + 1
7151 428361 : data_tmp = full_data(idata)
7152 428361 : data_tmp = ISHFT(data_tmp, 53)
7153 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7154 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7155 428361 : idata = idata + 1
7156 428361 : data_tmp = full_data(idata)
7157 428361 : data_tmp = ISHFT(data_tmp, 53)
7158 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7159 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7160 428361 : idata = idata + 1
7161 428361 : data_tmp = full_data(idata)
7162 428361 : data_tmp = ISHFT(data_tmp, 53)
7163 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7164 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7165 428361 : idata = idata + 1
7166 428361 : data_tmp = full_data(idata)
7167 428361 : data_tmp = ISHFT(data_tmp, 53)
7168 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7169 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7170 428361 : idata = idata + 1
7171 428361 : data_tmp = full_data(idata)
7172 428361 : data_tmp = ISHFT(data_tmp, 53)
7173 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7174 428361 : pack_tmp = ISHFT(pack_tmp, -4)
7175 428361 : idata = idata + 1
7176 428361 : data_tmp = full_data(idata)
7177 428361 : data_tmp = ISHFT(data_tmp, 53)
7178 428361 : data_tmp = IAND(data_tmp, mask_left(4))
7179 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7180 428361 : ipack = ipack + 1
7181 428361 : packed_data(ipack) = pack_tmp
7182 428361 : data_tmp = full_data(idata)
7183 428361 : pack_tmp = ISHFT(data_tmp, 57)
7184 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7185 428361 : idata = idata + 1
7186 428361 : data_tmp = full_data(idata)
7187 428361 : data_tmp = ISHFT(data_tmp, 53)
7188 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7189 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7190 428361 : idata = idata + 1
7191 428361 : data_tmp = full_data(idata)
7192 428361 : data_tmp = ISHFT(data_tmp, 53)
7193 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7194 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7195 428361 : idata = idata + 1
7196 428361 : data_tmp = full_data(idata)
7197 428361 : data_tmp = ISHFT(data_tmp, 53)
7198 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7199 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7200 428361 : idata = idata + 1
7201 428361 : data_tmp = full_data(idata)
7202 428361 : data_tmp = ISHFT(data_tmp, 53)
7203 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7204 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7205 428361 : idata = idata + 1
7206 428361 : data_tmp = full_data(idata)
7207 428361 : data_tmp = ISHFT(data_tmp, 53)
7208 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7209 428361 : pack_tmp = ISHFT(pack_tmp, -2)
7210 428361 : idata = idata + 1
7211 428361 : data_tmp = full_data(idata)
7212 428361 : data_tmp = ISHFT(data_tmp, 53)
7213 428361 : data_tmp = IAND(data_tmp, mask_left(2))
7214 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7215 428361 : ipack = ipack + 1
7216 428361 : packed_data(ipack) = pack_tmp
7217 428361 : data_tmp = full_data(idata)
7218 428361 : pack_tmp = ISHFT(data_tmp, 55)
7219 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7220 428361 : idata = idata + 1
7221 428361 : data_tmp = full_data(idata)
7222 428361 : data_tmp = ISHFT(data_tmp, 53)
7223 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7224 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7225 428361 : idata = idata + 1
7226 428361 : data_tmp = full_data(idata)
7227 428361 : data_tmp = ISHFT(data_tmp, 53)
7228 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7229 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7230 428361 : idata = idata + 1
7231 428361 : data_tmp = full_data(idata)
7232 428361 : data_tmp = ISHFT(data_tmp, 53)
7233 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7234 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7235 428361 : idata = idata + 1
7236 428361 : data_tmp = full_data(idata)
7237 428361 : data_tmp = ISHFT(data_tmp, 53)
7238 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7239 428361 : pack_tmp = ISHFT(pack_tmp, -11)
7240 428361 : idata = idata + 1
7241 428361 : data_tmp = full_data(idata)
7242 428361 : data_tmp = ISHFT(data_tmp, 53)
7243 428361 : pack_tmp = IOR(pack_tmp, data_tmp)
7244 : pack_tmp = ISHFT(pack_tmp, 0)
7245 428361 : pack_tmp = ISHFT(pack_tmp, 0)
7246 428361 : ipack = ipack + 1
7247 428398 : packed_data(ipack) = pack_tmp
7248 : END DO
7249 27188 : IF (Ndata_rep < Ndata) THEN
7250 782 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
7251 : END IF
7252 27188 : END SUBROUTINE ints2bits_11
7253 :
7254 : ! **************************************************************************************************
7255 : !> \brief ...
7256 : !> \param Ndata ...
7257 : !> \param packed_data ...
7258 : !> \param full_data ...
7259 : ! **************************************************************************************************
7260 120014 : 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(*)
7264 :
7265 : INTEGER, PARAMETER :: Nbits = 11
7266 :
7267 : INTEGER :: idata, ipack, kdata, Ndata_rep
7268 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
7269 :
7270 120014 : ipack = 0
7271 120014 : idata = 0
7272 120014 : pack_tmp = 0
7273 120014 : Ndata_rep = (Ndata/64)*64
7274 120014 : DO kdata = 1, Ndata_rep, 64
7275 1869904 : idata = idata + 1
7276 1869904 : data_tmp = ISHFT(pack_tmp, 11)
7277 1869904 : ipack = ipack + 1
7278 1869904 : pack_tmp = packed_data(ipack)
7279 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
7280 1869904 : pack_tmp = ISHFT(pack_tmp, -11)
7281 1869904 : idata = idata + 1
7282 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7283 1869904 : full_data(idata) = data_tmp
7284 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7285 1869904 : idata = idata + 1
7286 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7287 1869904 : full_data(idata) = data_tmp
7288 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7289 1869904 : idata = idata + 1
7290 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7291 1869904 : full_data(idata) = data_tmp
7292 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7293 1869904 : idata = idata + 1
7294 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7295 1869904 : full_data(idata) = data_tmp
7296 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7297 1869904 : idata = idata + 1
7298 1869904 : data_tmp = ISHFT(pack_tmp, 2)
7299 1869904 : ipack = ipack + 1
7300 1869904 : pack_tmp = packed_data(ipack)
7301 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
7302 1869904 : pack_tmp = ISHFT(pack_tmp, -2)
7303 1869904 : idata = idata + 1
7304 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7305 1869904 : full_data(idata) = data_tmp
7306 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7307 1869904 : idata = idata + 1
7308 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7309 1869904 : full_data(idata) = data_tmp
7310 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7311 1869904 : idata = idata + 1
7312 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7313 1869904 : full_data(idata) = data_tmp
7314 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7315 1869904 : idata = idata + 1
7316 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7317 1869904 : full_data(idata) = data_tmp
7318 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7319 1869904 : idata = idata + 1
7320 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7321 1869904 : full_data(idata) = data_tmp
7322 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7323 1869904 : idata = idata + 1
7324 1869904 : data_tmp = ISHFT(pack_tmp, 4)
7325 1869904 : ipack = ipack + 1
7326 1869904 : pack_tmp = packed_data(ipack)
7327 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
7328 1869904 : pack_tmp = ISHFT(pack_tmp, -4)
7329 1869904 : idata = idata + 1
7330 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7331 1869904 : full_data(idata) = data_tmp
7332 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7333 1869904 : idata = idata + 1
7334 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7335 1869904 : full_data(idata) = data_tmp
7336 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7337 1869904 : idata = idata + 1
7338 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7339 1869904 : full_data(idata) = data_tmp
7340 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7341 1869904 : idata = idata + 1
7342 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7343 1869904 : full_data(idata) = data_tmp
7344 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7345 1869904 : idata = idata + 1
7346 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7347 1869904 : full_data(idata) = data_tmp
7348 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7349 1869904 : idata = idata + 1
7350 1869904 : data_tmp = ISHFT(pack_tmp, 6)
7351 1869904 : ipack = ipack + 1
7352 1869904 : pack_tmp = packed_data(ipack)
7353 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
7354 1869904 : pack_tmp = ISHFT(pack_tmp, -6)
7355 1869904 : idata = idata + 1
7356 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7357 1869904 : full_data(idata) = data_tmp
7358 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7359 1869904 : idata = idata + 1
7360 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7361 1869904 : full_data(idata) = data_tmp
7362 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7363 1869904 : idata = idata + 1
7364 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7365 1869904 : full_data(idata) = data_tmp
7366 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7367 1869904 : idata = idata + 1
7368 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7369 1869904 : full_data(idata) = data_tmp
7370 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7371 1869904 : idata = idata + 1
7372 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7373 1869904 : full_data(idata) = data_tmp
7374 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7375 1869904 : idata = idata + 1
7376 1869904 : data_tmp = ISHFT(pack_tmp, 8)
7377 1869904 : ipack = ipack + 1
7378 1869904 : pack_tmp = packed_data(ipack)
7379 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
7380 1869904 : pack_tmp = ISHFT(pack_tmp, -8)
7381 1869904 : idata = idata + 1
7382 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7383 1869904 : full_data(idata) = data_tmp
7384 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7385 1869904 : idata = idata + 1
7386 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7387 1869904 : full_data(idata) = data_tmp
7388 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7389 1869904 : idata = idata + 1
7390 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7391 1869904 : full_data(idata) = data_tmp
7392 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7393 1869904 : idata = idata + 1
7394 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7395 1869904 : full_data(idata) = data_tmp
7396 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7397 1869904 : idata = idata + 1
7398 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7399 1869904 : full_data(idata) = data_tmp
7400 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7401 1869904 : idata = idata + 1
7402 1869904 : data_tmp = ISHFT(pack_tmp, 10)
7403 1869904 : ipack = ipack + 1
7404 1869904 : pack_tmp = packed_data(ipack)
7405 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
7406 1869904 : pack_tmp = ISHFT(pack_tmp, -10)
7407 1869904 : idata = idata + 1
7408 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7409 1869904 : full_data(idata) = data_tmp
7410 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7411 1869904 : idata = idata + 1
7412 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7413 1869904 : full_data(idata) = data_tmp
7414 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7415 1869904 : idata = idata + 1
7416 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7417 1869904 : full_data(idata) = data_tmp
7418 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7419 1869904 : idata = idata + 1
7420 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7421 1869904 : full_data(idata) = data_tmp
7422 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7423 1869904 : idata = idata + 1
7424 1869904 : data_tmp = ISHFT(pack_tmp, 1)
7425 1869904 : ipack = ipack + 1
7426 1869904 : pack_tmp = packed_data(ipack)
7427 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
7428 1869904 : pack_tmp = ISHFT(pack_tmp, -1)
7429 1869904 : idata = idata + 1
7430 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7431 1869904 : full_data(idata) = data_tmp
7432 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7433 1869904 : idata = idata + 1
7434 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7435 1869904 : full_data(idata) = data_tmp
7436 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7437 1869904 : idata = idata + 1
7438 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7439 1869904 : full_data(idata) = data_tmp
7440 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7441 1869904 : idata = idata + 1
7442 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7443 1869904 : full_data(idata) = data_tmp
7444 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7445 1869904 : idata = idata + 1
7446 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7447 1869904 : full_data(idata) = data_tmp
7448 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7449 1869904 : idata = idata + 1
7450 1869904 : data_tmp = ISHFT(pack_tmp, 3)
7451 1869904 : ipack = ipack + 1
7452 1869904 : pack_tmp = packed_data(ipack)
7453 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
7454 1869904 : pack_tmp = ISHFT(pack_tmp, -3)
7455 1869904 : idata = idata + 1
7456 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7457 1869904 : full_data(idata) = data_tmp
7458 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7459 1869904 : idata = idata + 1
7460 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7461 1869904 : full_data(idata) = data_tmp
7462 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7463 1869904 : idata = idata + 1
7464 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7465 1869904 : full_data(idata) = data_tmp
7466 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7467 1869904 : idata = idata + 1
7468 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7469 1869904 : full_data(idata) = data_tmp
7470 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7471 1869904 : idata = idata + 1
7472 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7473 1869904 : full_data(idata) = data_tmp
7474 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7475 1869904 : idata = idata + 1
7476 1869904 : data_tmp = ISHFT(pack_tmp, 5)
7477 1869904 : ipack = ipack + 1
7478 1869904 : pack_tmp = packed_data(ipack)
7479 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
7480 1869904 : pack_tmp = ISHFT(pack_tmp, -5)
7481 1869904 : idata = idata + 1
7482 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7483 1869904 : full_data(idata) = data_tmp
7484 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7485 1869904 : idata = idata + 1
7486 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7487 1869904 : full_data(idata) = data_tmp
7488 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7489 1869904 : idata = idata + 1
7490 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7491 1869904 : full_data(idata) = data_tmp
7492 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7493 1869904 : idata = idata + 1
7494 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7495 1869904 : full_data(idata) = data_tmp
7496 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7497 1869904 : idata = idata + 1
7498 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7499 1869904 : full_data(idata) = data_tmp
7500 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7501 1869904 : idata = idata + 1
7502 1869904 : data_tmp = ISHFT(pack_tmp, 7)
7503 1869904 : ipack = ipack + 1
7504 1869904 : pack_tmp = packed_data(ipack)
7505 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
7506 1869904 : pack_tmp = ISHFT(pack_tmp, -7)
7507 1869904 : idata = idata + 1
7508 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7509 1869904 : full_data(idata) = data_tmp
7510 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7511 1869904 : idata = idata + 1
7512 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7513 1869904 : full_data(idata) = data_tmp
7514 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7515 1869904 : idata = idata + 1
7516 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7517 1869904 : full_data(idata) = data_tmp
7518 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7519 1869904 : idata = idata + 1
7520 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7521 1869904 : full_data(idata) = data_tmp
7522 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7523 1869904 : idata = idata + 1
7524 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7525 1869904 : full_data(idata) = data_tmp
7526 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7527 1869904 : idata = idata + 1
7528 1869904 : data_tmp = ISHFT(pack_tmp, 9)
7529 1869904 : ipack = ipack + 1
7530 1869904 : pack_tmp = packed_data(ipack)
7531 1869904 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
7532 1869904 : pack_tmp = ISHFT(pack_tmp, -9)
7533 1869904 : idata = idata + 1
7534 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7535 1869904 : full_data(idata) = data_tmp
7536 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7537 1869904 : idata = idata + 1
7538 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7539 1869904 : full_data(idata) = data_tmp
7540 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7541 1869904 : idata = idata + 1
7542 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7543 1869904 : full_data(idata) = data_tmp
7544 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7545 1869904 : idata = idata + 1
7546 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7547 1869904 : full_data(idata) = data_tmp
7548 1869904 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7549 1869904 : idata = idata + 1
7550 1869904 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7551 1869904 : full_data(idata) = data_tmp
7552 1870185 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7553 : END DO
7554 120014 : IF (Ndata_rep < Ndata) THEN
7555 5920 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
7556 : END IF
7557 120014 : END SUBROUTINE bits2ints_11
7558 :
7559 : ! **************************************************************************************************
7560 : !> \brief ...
7561 : !> \param Ndata ...
7562 : !> \param packed_data ...
7563 : !> \param full_data ...
7564 : ! **************************************************************************************************
7565 27433 : 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(*)
7569 :
7570 : INTEGER, PARAMETER :: Nbits = 12
7571 :
7572 : INTEGER :: idata, ipack, kdata, Ndata_rep
7573 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
7574 :
7575 27433 : idata = 0
7576 27433 : ipack = 0
7577 27433 : Ndata_rep = (Ndata/64)*64
7578 27433 : DO kdata = 1, Ndata_rep, 64
7579 431125 : pack_tmp = 0
7580 431125 : idata = idata + 1
7581 431125 : data_tmp = full_data(idata)
7582 431125 : data_tmp = ISHFT(data_tmp, 52)
7583 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7584 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7585 431125 : idata = idata + 1
7586 431125 : data_tmp = full_data(idata)
7587 431125 : data_tmp = ISHFT(data_tmp, 52)
7588 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7589 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7590 431125 : idata = idata + 1
7591 431125 : data_tmp = full_data(idata)
7592 431125 : data_tmp = ISHFT(data_tmp, 52)
7593 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7594 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7595 431125 : idata = idata + 1
7596 431125 : data_tmp = full_data(idata)
7597 431125 : data_tmp = ISHFT(data_tmp, 52)
7598 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7599 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7600 431125 : idata = idata + 1
7601 431125 : data_tmp = full_data(idata)
7602 431125 : data_tmp = ISHFT(data_tmp, 52)
7603 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7604 431125 : pack_tmp = ISHFT(pack_tmp, -4)
7605 431125 : idata = idata + 1
7606 431125 : data_tmp = full_data(idata)
7607 431125 : data_tmp = ISHFT(data_tmp, 52)
7608 431125 : data_tmp = IAND(data_tmp, mask_left(4))
7609 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7610 431125 : ipack = ipack + 1
7611 431125 : packed_data(ipack) = pack_tmp
7612 431125 : data_tmp = full_data(idata)
7613 431125 : pack_tmp = ISHFT(data_tmp, 56)
7614 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7615 431125 : idata = idata + 1
7616 431125 : data_tmp = full_data(idata)
7617 431125 : data_tmp = ISHFT(data_tmp, 52)
7618 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7619 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7620 431125 : idata = idata + 1
7621 431125 : data_tmp = full_data(idata)
7622 431125 : data_tmp = ISHFT(data_tmp, 52)
7623 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7624 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7625 431125 : idata = idata + 1
7626 431125 : data_tmp = full_data(idata)
7627 431125 : data_tmp = ISHFT(data_tmp, 52)
7628 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7629 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7630 431125 : idata = idata + 1
7631 431125 : data_tmp = full_data(idata)
7632 431125 : data_tmp = ISHFT(data_tmp, 52)
7633 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7634 431125 : pack_tmp = ISHFT(pack_tmp, -8)
7635 431125 : idata = idata + 1
7636 431125 : data_tmp = full_data(idata)
7637 431125 : data_tmp = ISHFT(data_tmp, 52)
7638 431125 : data_tmp = IAND(data_tmp, mask_left(8))
7639 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7640 431125 : ipack = ipack + 1
7641 431125 : packed_data(ipack) = pack_tmp
7642 431125 : data_tmp = full_data(idata)
7643 431125 : pack_tmp = ISHFT(data_tmp, 60)
7644 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7645 431125 : idata = idata + 1
7646 431125 : data_tmp = full_data(idata)
7647 431125 : data_tmp = ISHFT(data_tmp, 52)
7648 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7649 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7650 431125 : idata = idata + 1
7651 431125 : data_tmp = full_data(idata)
7652 431125 : data_tmp = ISHFT(data_tmp, 52)
7653 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7654 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7655 431125 : idata = idata + 1
7656 431125 : data_tmp = full_data(idata)
7657 431125 : data_tmp = ISHFT(data_tmp, 52)
7658 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7659 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7660 431125 : idata = idata + 1
7661 431125 : data_tmp = full_data(idata)
7662 431125 : data_tmp = ISHFT(data_tmp, 52)
7663 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7664 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7665 431125 : idata = idata + 1
7666 431125 : data_tmp = full_data(idata)
7667 431125 : data_tmp = ISHFT(data_tmp, 52)
7668 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7669 431125 : pack_tmp = ISHFT(pack_tmp, 0)
7670 431125 : idata = idata + 1
7671 431125 : data_tmp = full_data(idata)
7672 : data_tmp = ISHFT(data_tmp, 52)
7673 431125 : data_tmp = IAND(data_tmp, mask_left(0))
7674 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7675 431125 : ipack = ipack + 1
7676 431125 : packed_data(ipack) = pack_tmp
7677 431125 : data_tmp = full_data(idata)
7678 431125 : pack_tmp = ISHFT(data_tmp, 52)
7679 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7680 431125 : idata = idata + 1
7681 431125 : data_tmp = full_data(idata)
7682 431125 : data_tmp = ISHFT(data_tmp, 52)
7683 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7684 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7685 431125 : idata = idata + 1
7686 431125 : data_tmp = full_data(idata)
7687 431125 : data_tmp = ISHFT(data_tmp, 52)
7688 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7689 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7690 431125 : idata = idata + 1
7691 431125 : data_tmp = full_data(idata)
7692 431125 : data_tmp = ISHFT(data_tmp, 52)
7693 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7694 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7695 431125 : idata = idata + 1
7696 431125 : data_tmp = full_data(idata)
7697 431125 : data_tmp = ISHFT(data_tmp, 52)
7698 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7699 431125 : pack_tmp = ISHFT(pack_tmp, -4)
7700 431125 : idata = idata + 1
7701 431125 : data_tmp = full_data(idata)
7702 431125 : data_tmp = ISHFT(data_tmp, 52)
7703 431125 : data_tmp = IAND(data_tmp, mask_left(4))
7704 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7705 431125 : ipack = ipack + 1
7706 431125 : packed_data(ipack) = pack_tmp
7707 431125 : data_tmp = full_data(idata)
7708 431125 : pack_tmp = ISHFT(data_tmp, 56)
7709 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7710 431125 : idata = idata + 1
7711 431125 : data_tmp = full_data(idata)
7712 431125 : data_tmp = ISHFT(data_tmp, 52)
7713 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7714 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7715 431125 : idata = idata + 1
7716 431125 : data_tmp = full_data(idata)
7717 431125 : data_tmp = ISHFT(data_tmp, 52)
7718 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7719 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7720 431125 : idata = idata + 1
7721 431125 : data_tmp = full_data(idata)
7722 431125 : data_tmp = ISHFT(data_tmp, 52)
7723 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7724 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7725 431125 : idata = idata + 1
7726 431125 : data_tmp = full_data(idata)
7727 431125 : data_tmp = ISHFT(data_tmp, 52)
7728 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7729 431125 : pack_tmp = ISHFT(pack_tmp, -8)
7730 431125 : idata = idata + 1
7731 431125 : data_tmp = full_data(idata)
7732 431125 : data_tmp = ISHFT(data_tmp, 52)
7733 431125 : data_tmp = IAND(data_tmp, mask_left(8))
7734 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7735 431125 : ipack = ipack + 1
7736 431125 : packed_data(ipack) = pack_tmp
7737 431125 : data_tmp = full_data(idata)
7738 431125 : pack_tmp = ISHFT(data_tmp, 60)
7739 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7740 431125 : idata = idata + 1
7741 431125 : data_tmp = full_data(idata)
7742 431125 : data_tmp = ISHFT(data_tmp, 52)
7743 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7744 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7745 431125 : idata = idata + 1
7746 431125 : data_tmp = full_data(idata)
7747 431125 : data_tmp = ISHFT(data_tmp, 52)
7748 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7749 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7750 431125 : idata = idata + 1
7751 431125 : data_tmp = full_data(idata)
7752 431125 : data_tmp = ISHFT(data_tmp, 52)
7753 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7754 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7755 431125 : idata = idata + 1
7756 431125 : data_tmp = full_data(idata)
7757 431125 : data_tmp = ISHFT(data_tmp, 52)
7758 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7759 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7760 431125 : idata = idata + 1
7761 431125 : data_tmp = full_data(idata)
7762 431125 : data_tmp = ISHFT(data_tmp, 52)
7763 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7764 431125 : pack_tmp = ISHFT(pack_tmp, 0)
7765 431125 : idata = idata + 1
7766 431125 : data_tmp = full_data(idata)
7767 : data_tmp = ISHFT(data_tmp, 52)
7768 431125 : data_tmp = IAND(data_tmp, mask_left(0))
7769 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7770 431125 : ipack = ipack + 1
7771 431125 : packed_data(ipack) = pack_tmp
7772 431125 : data_tmp = full_data(idata)
7773 431125 : pack_tmp = ISHFT(data_tmp, 52)
7774 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7775 431125 : idata = idata + 1
7776 431125 : data_tmp = full_data(idata)
7777 431125 : data_tmp = ISHFT(data_tmp, 52)
7778 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7779 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7780 431125 : idata = idata + 1
7781 431125 : data_tmp = full_data(idata)
7782 431125 : data_tmp = ISHFT(data_tmp, 52)
7783 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7784 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7785 431125 : idata = idata + 1
7786 431125 : data_tmp = full_data(idata)
7787 431125 : data_tmp = ISHFT(data_tmp, 52)
7788 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7789 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7790 431125 : idata = idata + 1
7791 431125 : data_tmp = full_data(idata)
7792 431125 : data_tmp = ISHFT(data_tmp, 52)
7793 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7794 431125 : pack_tmp = ISHFT(pack_tmp, -4)
7795 431125 : idata = idata + 1
7796 431125 : data_tmp = full_data(idata)
7797 431125 : data_tmp = ISHFT(data_tmp, 52)
7798 431125 : data_tmp = IAND(data_tmp, mask_left(4))
7799 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7800 431125 : ipack = ipack + 1
7801 431125 : packed_data(ipack) = pack_tmp
7802 431125 : data_tmp = full_data(idata)
7803 431125 : pack_tmp = ISHFT(data_tmp, 56)
7804 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7805 431125 : idata = idata + 1
7806 431125 : data_tmp = full_data(idata)
7807 431125 : data_tmp = ISHFT(data_tmp, 52)
7808 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7809 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7810 431125 : idata = idata + 1
7811 431125 : data_tmp = full_data(idata)
7812 431125 : data_tmp = ISHFT(data_tmp, 52)
7813 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7814 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7815 431125 : idata = idata + 1
7816 431125 : data_tmp = full_data(idata)
7817 431125 : data_tmp = ISHFT(data_tmp, 52)
7818 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7819 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7820 431125 : idata = idata + 1
7821 431125 : data_tmp = full_data(idata)
7822 431125 : data_tmp = ISHFT(data_tmp, 52)
7823 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7824 431125 : pack_tmp = ISHFT(pack_tmp, -8)
7825 431125 : idata = idata + 1
7826 431125 : data_tmp = full_data(idata)
7827 431125 : data_tmp = ISHFT(data_tmp, 52)
7828 431125 : data_tmp = IAND(data_tmp, mask_left(8))
7829 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7830 431125 : ipack = ipack + 1
7831 431125 : packed_data(ipack) = pack_tmp
7832 431125 : data_tmp = full_data(idata)
7833 431125 : pack_tmp = ISHFT(data_tmp, 60)
7834 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7835 431125 : idata = idata + 1
7836 431125 : data_tmp = full_data(idata)
7837 431125 : data_tmp = ISHFT(data_tmp, 52)
7838 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7839 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7840 431125 : idata = idata + 1
7841 431125 : data_tmp = full_data(idata)
7842 431125 : data_tmp = ISHFT(data_tmp, 52)
7843 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7844 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7845 431125 : idata = idata + 1
7846 431125 : data_tmp = full_data(idata)
7847 431125 : data_tmp = ISHFT(data_tmp, 52)
7848 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7849 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7850 431125 : idata = idata + 1
7851 431125 : data_tmp = full_data(idata)
7852 431125 : data_tmp = ISHFT(data_tmp, 52)
7853 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7854 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7855 431125 : idata = idata + 1
7856 431125 : data_tmp = full_data(idata)
7857 431125 : data_tmp = ISHFT(data_tmp, 52)
7858 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7859 431125 : pack_tmp = ISHFT(pack_tmp, 0)
7860 431125 : idata = idata + 1
7861 431125 : data_tmp = full_data(idata)
7862 : data_tmp = ISHFT(data_tmp, 52)
7863 431125 : data_tmp = IAND(data_tmp, mask_left(0))
7864 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7865 431125 : ipack = ipack + 1
7866 431125 : packed_data(ipack) = pack_tmp
7867 431125 : data_tmp = full_data(idata)
7868 431125 : pack_tmp = ISHFT(data_tmp, 52)
7869 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7870 431125 : idata = idata + 1
7871 431125 : data_tmp = full_data(idata)
7872 431125 : data_tmp = ISHFT(data_tmp, 52)
7873 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7874 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7875 431125 : idata = idata + 1
7876 431125 : data_tmp = full_data(idata)
7877 431125 : data_tmp = ISHFT(data_tmp, 52)
7878 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7879 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7880 431125 : idata = idata + 1
7881 431125 : data_tmp = full_data(idata)
7882 431125 : data_tmp = ISHFT(data_tmp, 52)
7883 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7884 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7885 431125 : idata = idata + 1
7886 431125 : data_tmp = full_data(idata)
7887 431125 : data_tmp = ISHFT(data_tmp, 52)
7888 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7889 431125 : pack_tmp = ISHFT(pack_tmp, -4)
7890 431125 : idata = idata + 1
7891 431125 : data_tmp = full_data(idata)
7892 431125 : data_tmp = ISHFT(data_tmp, 52)
7893 431125 : data_tmp = IAND(data_tmp, mask_left(4))
7894 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7895 431125 : ipack = ipack + 1
7896 431125 : packed_data(ipack) = pack_tmp
7897 431125 : data_tmp = full_data(idata)
7898 431125 : pack_tmp = ISHFT(data_tmp, 56)
7899 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7900 431125 : idata = idata + 1
7901 431125 : data_tmp = full_data(idata)
7902 431125 : data_tmp = ISHFT(data_tmp, 52)
7903 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7904 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7905 431125 : idata = idata + 1
7906 431125 : data_tmp = full_data(idata)
7907 431125 : data_tmp = ISHFT(data_tmp, 52)
7908 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7909 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7910 431125 : idata = idata + 1
7911 431125 : data_tmp = full_data(idata)
7912 431125 : data_tmp = ISHFT(data_tmp, 52)
7913 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7914 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7915 431125 : idata = idata + 1
7916 431125 : data_tmp = full_data(idata)
7917 431125 : data_tmp = ISHFT(data_tmp, 52)
7918 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7919 431125 : pack_tmp = ISHFT(pack_tmp, -8)
7920 431125 : idata = idata + 1
7921 431125 : data_tmp = full_data(idata)
7922 431125 : data_tmp = ISHFT(data_tmp, 52)
7923 431125 : data_tmp = IAND(data_tmp, mask_left(8))
7924 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7925 431125 : ipack = ipack + 1
7926 431125 : packed_data(ipack) = pack_tmp
7927 431125 : data_tmp = full_data(idata)
7928 431125 : pack_tmp = ISHFT(data_tmp, 60)
7929 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7930 431125 : idata = idata + 1
7931 431125 : data_tmp = full_data(idata)
7932 431125 : data_tmp = ISHFT(data_tmp, 52)
7933 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7934 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7935 431125 : idata = idata + 1
7936 431125 : data_tmp = full_data(idata)
7937 431125 : data_tmp = ISHFT(data_tmp, 52)
7938 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7939 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7940 431125 : idata = idata + 1
7941 431125 : data_tmp = full_data(idata)
7942 431125 : data_tmp = ISHFT(data_tmp, 52)
7943 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7944 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7945 431125 : idata = idata + 1
7946 431125 : data_tmp = full_data(idata)
7947 431125 : data_tmp = ISHFT(data_tmp, 52)
7948 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7949 431125 : pack_tmp = ISHFT(pack_tmp, -12)
7950 431125 : idata = idata + 1
7951 431125 : data_tmp = full_data(idata)
7952 431125 : data_tmp = ISHFT(data_tmp, 52)
7953 431125 : pack_tmp = IOR(pack_tmp, data_tmp)
7954 : pack_tmp = ISHFT(pack_tmp, 0)
7955 431125 : pack_tmp = ISHFT(pack_tmp, 0)
7956 431125 : ipack = ipack + 1
7957 431190 : packed_data(ipack) = pack_tmp
7958 : END DO
7959 27433 : IF (Ndata_rep < Ndata) THEN
7960 918 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
7961 : END IF
7962 27433 : END SUBROUTINE ints2bits_12
7963 :
7964 : ! **************************************************************************************************
7965 : !> \brief ...
7966 : !> \param Ndata ...
7967 : !> \param packed_data ...
7968 : !> \param full_data ...
7969 : ! **************************************************************************************************
7970 121959 : 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(*)
7974 :
7975 : INTEGER, PARAMETER :: Nbits = 12
7976 :
7977 : INTEGER :: idata, ipack, kdata, Ndata_rep
7978 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
7979 :
7980 121959 : ipack = 0
7981 121959 : idata = 0
7982 121959 : pack_tmp = 0
7983 121959 : Ndata_rep = (Ndata/64)*64
7984 121959 : DO kdata = 1, Ndata_rep, 64
7985 1892473 : idata = idata + 1
7986 1892473 : data_tmp = ISHFT(pack_tmp, 12)
7987 1892473 : ipack = ipack + 1
7988 1892473 : pack_tmp = packed_data(ipack)
7989 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
7990 1892473 : pack_tmp = ISHFT(pack_tmp, -12)
7991 1892473 : idata = idata + 1
7992 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7993 1892473 : full_data(idata) = data_tmp
7994 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7995 1892473 : idata = idata + 1
7996 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
7997 1892473 : full_data(idata) = data_tmp
7998 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
7999 1892473 : idata = idata + 1
8000 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8001 1892473 : full_data(idata) = data_tmp
8002 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8003 1892473 : idata = idata + 1
8004 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8005 1892473 : full_data(idata) = data_tmp
8006 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8007 1892473 : idata = idata + 1
8008 1892473 : data_tmp = ISHFT(pack_tmp, 8)
8009 1892473 : ipack = ipack + 1
8010 1892473 : pack_tmp = packed_data(ipack)
8011 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8012 1892473 : pack_tmp = ISHFT(pack_tmp, -8)
8013 1892473 : idata = idata + 1
8014 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8015 1892473 : full_data(idata) = data_tmp
8016 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8017 1892473 : idata = idata + 1
8018 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8019 1892473 : full_data(idata) = data_tmp
8020 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8021 1892473 : idata = idata + 1
8022 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8023 1892473 : full_data(idata) = data_tmp
8024 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8025 1892473 : idata = idata + 1
8026 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8027 1892473 : full_data(idata) = data_tmp
8028 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8029 1892473 : idata = idata + 1
8030 1892473 : data_tmp = ISHFT(pack_tmp, 4)
8031 1892473 : ipack = ipack + 1
8032 1892473 : pack_tmp = packed_data(ipack)
8033 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8034 1892473 : pack_tmp = ISHFT(pack_tmp, -4)
8035 1892473 : idata = idata + 1
8036 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8037 1892473 : full_data(idata) = data_tmp
8038 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8039 1892473 : idata = idata + 1
8040 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8041 1892473 : full_data(idata) = data_tmp
8042 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8043 1892473 : idata = idata + 1
8044 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8045 1892473 : full_data(idata) = data_tmp
8046 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8047 1892473 : idata = idata + 1
8048 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8049 1892473 : full_data(idata) = data_tmp
8050 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8051 1892473 : idata = idata + 1
8052 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8053 1892473 : full_data(idata) = data_tmp
8054 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8055 1892473 : idata = idata + 1
8056 1892473 : data_tmp = ISHFT(pack_tmp, 12)
8057 1892473 : ipack = ipack + 1
8058 1892473 : pack_tmp = packed_data(ipack)
8059 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8060 1892473 : pack_tmp = ISHFT(pack_tmp, -12)
8061 1892473 : idata = idata + 1
8062 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8063 1892473 : full_data(idata) = data_tmp
8064 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8065 1892473 : idata = idata + 1
8066 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8067 1892473 : full_data(idata) = data_tmp
8068 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8069 1892473 : idata = idata + 1
8070 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8071 1892473 : full_data(idata) = data_tmp
8072 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8073 1892473 : idata = idata + 1
8074 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8075 1892473 : full_data(idata) = data_tmp
8076 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8077 1892473 : idata = idata + 1
8078 1892473 : data_tmp = ISHFT(pack_tmp, 8)
8079 1892473 : ipack = ipack + 1
8080 1892473 : pack_tmp = packed_data(ipack)
8081 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8082 1892473 : pack_tmp = ISHFT(pack_tmp, -8)
8083 1892473 : idata = idata + 1
8084 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8085 1892473 : full_data(idata) = data_tmp
8086 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8087 1892473 : idata = idata + 1
8088 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8089 1892473 : full_data(idata) = data_tmp
8090 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8091 1892473 : idata = idata + 1
8092 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8093 1892473 : full_data(idata) = data_tmp
8094 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8095 1892473 : idata = idata + 1
8096 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8097 1892473 : full_data(idata) = data_tmp
8098 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8099 1892473 : idata = idata + 1
8100 1892473 : data_tmp = ISHFT(pack_tmp, 4)
8101 1892473 : ipack = ipack + 1
8102 1892473 : pack_tmp = packed_data(ipack)
8103 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8104 1892473 : pack_tmp = ISHFT(pack_tmp, -4)
8105 1892473 : idata = idata + 1
8106 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8107 1892473 : full_data(idata) = data_tmp
8108 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8109 1892473 : idata = idata + 1
8110 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8111 1892473 : full_data(idata) = data_tmp
8112 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8113 1892473 : idata = idata + 1
8114 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8115 1892473 : full_data(idata) = data_tmp
8116 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8117 1892473 : idata = idata + 1
8118 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8119 1892473 : full_data(idata) = data_tmp
8120 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8121 1892473 : idata = idata + 1
8122 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8123 1892473 : full_data(idata) = data_tmp
8124 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8125 1892473 : idata = idata + 1
8126 1892473 : data_tmp = ISHFT(pack_tmp, 12)
8127 1892473 : ipack = ipack + 1
8128 1892473 : pack_tmp = packed_data(ipack)
8129 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8130 1892473 : pack_tmp = ISHFT(pack_tmp, -12)
8131 1892473 : idata = idata + 1
8132 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8133 1892473 : full_data(idata) = data_tmp
8134 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8135 1892473 : idata = idata + 1
8136 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8137 1892473 : full_data(idata) = data_tmp
8138 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8139 1892473 : idata = idata + 1
8140 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8141 1892473 : full_data(idata) = data_tmp
8142 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8143 1892473 : idata = idata + 1
8144 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8145 1892473 : full_data(idata) = data_tmp
8146 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8147 1892473 : idata = idata + 1
8148 1892473 : data_tmp = ISHFT(pack_tmp, 8)
8149 1892473 : ipack = ipack + 1
8150 1892473 : pack_tmp = packed_data(ipack)
8151 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8152 1892473 : pack_tmp = ISHFT(pack_tmp, -8)
8153 1892473 : idata = idata + 1
8154 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8155 1892473 : full_data(idata) = data_tmp
8156 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8157 1892473 : idata = idata + 1
8158 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8159 1892473 : full_data(idata) = data_tmp
8160 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8161 1892473 : idata = idata + 1
8162 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8163 1892473 : full_data(idata) = data_tmp
8164 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8165 1892473 : idata = idata + 1
8166 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8167 1892473 : full_data(idata) = data_tmp
8168 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8169 1892473 : idata = idata + 1
8170 1892473 : data_tmp = ISHFT(pack_tmp, 4)
8171 1892473 : ipack = ipack + 1
8172 1892473 : pack_tmp = packed_data(ipack)
8173 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8174 1892473 : pack_tmp = ISHFT(pack_tmp, -4)
8175 1892473 : idata = idata + 1
8176 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8177 1892473 : full_data(idata) = data_tmp
8178 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8179 1892473 : idata = idata + 1
8180 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8181 1892473 : full_data(idata) = data_tmp
8182 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8183 1892473 : idata = idata + 1
8184 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8185 1892473 : full_data(idata) = data_tmp
8186 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8187 1892473 : idata = idata + 1
8188 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8189 1892473 : full_data(idata) = data_tmp
8190 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8191 1892473 : idata = idata + 1
8192 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8193 1892473 : full_data(idata) = data_tmp
8194 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8195 1892473 : idata = idata + 1
8196 1892473 : data_tmp = ISHFT(pack_tmp, 12)
8197 1892473 : ipack = ipack + 1
8198 1892473 : pack_tmp = packed_data(ipack)
8199 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8200 1892473 : pack_tmp = ISHFT(pack_tmp, -12)
8201 1892473 : idata = idata + 1
8202 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8203 1892473 : full_data(idata) = data_tmp
8204 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8205 1892473 : idata = idata + 1
8206 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8207 1892473 : full_data(idata) = data_tmp
8208 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8209 1892473 : idata = idata + 1
8210 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8211 1892473 : full_data(idata) = data_tmp
8212 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8213 1892473 : idata = idata + 1
8214 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8215 1892473 : full_data(idata) = data_tmp
8216 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8217 1892473 : idata = idata + 1
8218 1892473 : data_tmp = ISHFT(pack_tmp, 8)
8219 1892473 : ipack = ipack + 1
8220 1892473 : pack_tmp = packed_data(ipack)
8221 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8222 1892473 : pack_tmp = ISHFT(pack_tmp, -8)
8223 1892473 : idata = idata + 1
8224 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8225 1892473 : full_data(idata) = data_tmp
8226 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8227 1892473 : idata = idata + 1
8228 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8229 1892473 : full_data(idata) = data_tmp
8230 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8231 1892473 : idata = idata + 1
8232 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8233 1892473 : full_data(idata) = data_tmp
8234 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8235 1892473 : idata = idata + 1
8236 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8237 1892473 : full_data(idata) = data_tmp
8238 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8239 1892473 : idata = idata + 1
8240 1892473 : data_tmp = ISHFT(pack_tmp, 4)
8241 1892473 : ipack = ipack + 1
8242 1892473 : pack_tmp = packed_data(ipack)
8243 1892473 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8244 1892473 : pack_tmp = ISHFT(pack_tmp, -4)
8245 1892473 : idata = idata + 1
8246 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8247 1892473 : full_data(idata) = data_tmp
8248 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8249 1892473 : idata = idata + 1
8250 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8251 1892473 : full_data(idata) = data_tmp
8252 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8253 1892473 : idata = idata + 1
8254 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8255 1892473 : full_data(idata) = data_tmp
8256 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8257 1892473 : idata = idata + 1
8258 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8259 1892473 : full_data(idata) = data_tmp
8260 1892473 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8261 1892473 : idata = idata + 1
8262 1892473 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8263 1892473 : full_data(idata) = data_tmp
8264 1892960 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8265 : END DO
8266 121959 : IF (Ndata_rep < Ndata) THEN
8267 6926 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8268 : END IF
8269 121959 : END SUBROUTINE bits2ints_12
8270 :
8271 : ! **************************************************************************************************
8272 : !> \brief ...
8273 : !> \param Ndata ...
8274 : !> \param packed_data ...
8275 : !> \param full_data ...
8276 : ! **************************************************************************************************
8277 28838 : 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(*)
8281 :
8282 : INTEGER, PARAMETER :: Nbits = 13
8283 :
8284 : INTEGER :: idata, ipack, kdata, Ndata_rep
8285 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
8286 :
8287 28838 : idata = 0
8288 28838 : ipack = 0
8289 28838 : Ndata_rep = (Ndata/64)*64
8290 28838 : DO kdata = 1, Ndata_rep, 64
8291 449152 : pack_tmp = 0
8292 449152 : idata = idata + 1
8293 449152 : data_tmp = full_data(idata)
8294 449152 : data_tmp = ISHFT(data_tmp, 51)
8295 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8296 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8297 449152 : idata = idata + 1
8298 449152 : data_tmp = full_data(idata)
8299 449152 : data_tmp = ISHFT(data_tmp, 51)
8300 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8301 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8302 449152 : idata = idata + 1
8303 449152 : data_tmp = full_data(idata)
8304 449152 : data_tmp = ISHFT(data_tmp, 51)
8305 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8306 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8307 449152 : idata = idata + 1
8308 449152 : data_tmp = full_data(idata)
8309 449152 : data_tmp = ISHFT(data_tmp, 51)
8310 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8311 449152 : pack_tmp = ISHFT(pack_tmp, -12)
8312 449152 : idata = idata + 1
8313 449152 : data_tmp = full_data(idata)
8314 449152 : data_tmp = ISHFT(data_tmp, 51)
8315 449152 : data_tmp = IAND(data_tmp, mask_left(12))
8316 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8317 449152 : ipack = ipack + 1
8318 449152 : packed_data(ipack) = pack_tmp
8319 449152 : data_tmp = full_data(idata)
8320 449152 : pack_tmp = ISHFT(data_tmp, 63)
8321 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8322 449152 : idata = idata + 1
8323 449152 : data_tmp = full_data(idata)
8324 449152 : data_tmp = ISHFT(data_tmp, 51)
8325 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8326 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8327 449152 : idata = idata + 1
8328 449152 : data_tmp = full_data(idata)
8329 449152 : data_tmp = ISHFT(data_tmp, 51)
8330 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8331 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8332 449152 : idata = idata + 1
8333 449152 : data_tmp = full_data(idata)
8334 449152 : data_tmp = ISHFT(data_tmp, 51)
8335 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8336 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8337 449152 : idata = idata + 1
8338 449152 : data_tmp = full_data(idata)
8339 449152 : data_tmp = ISHFT(data_tmp, 51)
8340 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8341 449152 : pack_tmp = ISHFT(pack_tmp, -11)
8342 449152 : idata = idata + 1
8343 449152 : data_tmp = full_data(idata)
8344 449152 : data_tmp = ISHFT(data_tmp, 51)
8345 449152 : data_tmp = IAND(data_tmp, mask_left(11))
8346 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8347 449152 : ipack = ipack + 1
8348 449152 : packed_data(ipack) = pack_tmp
8349 449152 : data_tmp = full_data(idata)
8350 449152 : pack_tmp = ISHFT(data_tmp, 62)
8351 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8352 449152 : idata = idata + 1
8353 449152 : data_tmp = full_data(idata)
8354 449152 : data_tmp = ISHFT(data_tmp, 51)
8355 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8356 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8357 449152 : idata = idata + 1
8358 449152 : data_tmp = full_data(idata)
8359 449152 : data_tmp = ISHFT(data_tmp, 51)
8360 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8361 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8362 449152 : idata = idata + 1
8363 449152 : data_tmp = full_data(idata)
8364 449152 : data_tmp = ISHFT(data_tmp, 51)
8365 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8366 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8367 449152 : idata = idata + 1
8368 449152 : data_tmp = full_data(idata)
8369 449152 : data_tmp = ISHFT(data_tmp, 51)
8370 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8371 449152 : pack_tmp = ISHFT(pack_tmp, -10)
8372 449152 : idata = idata + 1
8373 449152 : data_tmp = full_data(idata)
8374 449152 : data_tmp = ISHFT(data_tmp, 51)
8375 449152 : data_tmp = IAND(data_tmp, mask_left(10))
8376 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8377 449152 : ipack = ipack + 1
8378 449152 : packed_data(ipack) = pack_tmp
8379 449152 : data_tmp = full_data(idata)
8380 449152 : pack_tmp = ISHFT(data_tmp, 61)
8381 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8382 449152 : idata = idata + 1
8383 449152 : data_tmp = full_data(idata)
8384 449152 : data_tmp = ISHFT(data_tmp, 51)
8385 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8386 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8387 449152 : idata = idata + 1
8388 449152 : data_tmp = full_data(idata)
8389 449152 : data_tmp = ISHFT(data_tmp, 51)
8390 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8391 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8392 449152 : idata = idata + 1
8393 449152 : data_tmp = full_data(idata)
8394 449152 : data_tmp = ISHFT(data_tmp, 51)
8395 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8396 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8397 449152 : idata = idata + 1
8398 449152 : data_tmp = full_data(idata)
8399 449152 : data_tmp = ISHFT(data_tmp, 51)
8400 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8401 449152 : pack_tmp = ISHFT(pack_tmp, -9)
8402 449152 : idata = idata + 1
8403 449152 : data_tmp = full_data(idata)
8404 449152 : data_tmp = ISHFT(data_tmp, 51)
8405 449152 : data_tmp = IAND(data_tmp, mask_left(9))
8406 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8407 449152 : ipack = ipack + 1
8408 449152 : packed_data(ipack) = pack_tmp
8409 449152 : data_tmp = full_data(idata)
8410 449152 : pack_tmp = ISHFT(data_tmp, 60)
8411 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8412 449152 : idata = idata + 1
8413 449152 : data_tmp = full_data(idata)
8414 449152 : data_tmp = ISHFT(data_tmp, 51)
8415 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8416 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8417 449152 : idata = idata + 1
8418 449152 : data_tmp = full_data(idata)
8419 449152 : data_tmp = ISHFT(data_tmp, 51)
8420 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8421 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8422 449152 : idata = idata + 1
8423 449152 : data_tmp = full_data(idata)
8424 449152 : data_tmp = ISHFT(data_tmp, 51)
8425 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8426 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8427 449152 : idata = idata + 1
8428 449152 : data_tmp = full_data(idata)
8429 449152 : data_tmp = ISHFT(data_tmp, 51)
8430 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8431 449152 : pack_tmp = ISHFT(pack_tmp, -8)
8432 449152 : idata = idata + 1
8433 449152 : data_tmp = full_data(idata)
8434 449152 : data_tmp = ISHFT(data_tmp, 51)
8435 449152 : data_tmp = IAND(data_tmp, mask_left(8))
8436 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8437 449152 : ipack = ipack + 1
8438 449152 : packed_data(ipack) = pack_tmp
8439 449152 : data_tmp = full_data(idata)
8440 449152 : pack_tmp = ISHFT(data_tmp, 59)
8441 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8442 449152 : idata = idata + 1
8443 449152 : data_tmp = full_data(idata)
8444 449152 : data_tmp = ISHFT(data_tmp, 51)
8445 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8446 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8447 449152 : idata = idata + 1
8448 449152 : data_tmp = full_data(idata)
8449 449152 : data_tmp = ISHFT(data_tmp, 51)
8450 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8451 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8452 449152 : idata = idata + 1
8453 449152 : data_tmp = full_data(idata)
8454 449152 : data_tmp = ISHFT(data_tmp, 51)
8455 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8456 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8457 449152 : idata = idata + 1
8458 449152 : data_tmp = full_data(idata)
8459 449152 : data_tmp = ISHFT(data_tmp, 51)
8460 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8461 449152 : pack_tmp = ISHFT(pack_tmp, -7)
8462 449152 : idata = idata + 1
8463 449152 : data_tmp = full_data(idata)
8464 449152 : data_tmp = ISHFT(data_tmp, 51)
8465 449152 : data_tmp = IAND(data_tmp, mask_left(7))
8466 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8467 449152 : ipack = ipack + 1
8468 449152 : packed_data(ipack) = pack_tmp
8469 449152 : data_tmp = full_data(idata)
8470 449152 : pack_tmp = ISHFT(data_tmp, 58)
8471 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8472 449152 : idata = idata + 1
8473 449152 : data_tmp = full_data(idata)
8474 449152 : data_tmp = ISHFT(data_tmp, 51)
8475 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8476 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8477 449152 : idata = idata + 1
8478 449152 : data_tmp = full_data(idata)
8479 449152 : data_tmp = ISHFT(data_tmp, 51)
8480 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8481 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8482 449152 : idata = idata + 1
8483 449152 : data_tmp = full_data(idata)
8484 449152 : data_tmp = ISHFT(data_tmp, 51)
8485 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8486 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8487 449152 : idata = idata + 1
8488 449152 : data_tmp = full_data(idata)
8489 449152 : data_tmp = ISHFT(data_tmp, 51)
8490 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8491 449152 : pack_tmp = ISHFT(pack_tmp, -6)
8492 449152 : idata = idata + 1
8493 449152 : data_tmp = full_data(idata)
8494 449152 : data_tmp = ISHFT(data_tmp, 51)
8495 449152 : data_tmp = IAND(data_tmp, mask_left(6))
8496 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8497 449152 : ipack = ipack + 1
8498 449152 : packed_data(ipack) = pack_tmp
8499 449152 : data_tmp = full_data(idata)
8500 449152 : pack_tmp = ISHFT(data_tmp, 57)
8501 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8502 449152 : idata = idata + 1
8503 449152 : data_tmp = full_data(idata)
8504 449152 : data_tmp = ISHFT(data_tmp, 51)
8505 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8506 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8507 449152 : idata = idata + 1
8508 449152 : data_tmp = full_data(idata)
8509 449152 : data_tmp = ISHFT(data_tmp, 51)
8510 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8511 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8512 449152 : idata = idata + 1
8513 449152 : data_tmp = full_data(idata)
8514 449152 : data_tmp = ISHFT(data_tmp, 51)
8515 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8516 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8517 449152 : idata = idata + 1
8518 449152 : data_tmp = full_data(idata)
8519 449152 : data_tmp = ISHFT(data_tmp, 51)
8520 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8521 449152 : pack_tmp = ISHFT(pack_tmp, -5)
8522 449152 : idata = idata + 1
8523 449152 : data_tmp = full_data(idata)
8524 449152 : data_tmp = ISHFT(data_tmp, 51)
8525 449152 : data_tmp = IAND(data_tmp, mask_left(5))
8526 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8527 449152 : ipack = ipack + 1
8528 449152 : packed_data(ipack) = pack_tmp
8529 449152 : data_tmp = full_data(idata)
8530 449152 : pack_tmp = ISHFT(data_tmp, 56)
8531 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8532 449152 : idata = idata + 1
8533 449152 : data_tmp = full_data(idata)
8534 449152 : data_tmp = ISHFT(data_tmp, 51)
8535 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8536 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8537 449152 : idata = idata + 1
8538 449152 : data_tmp = full_data(idata)
8539 449152 : data_tmp = ISHFT(data_tmp, 51)
8540 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8541 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8542 449152 : idata = idata + 1
8543 449152 : data_tmp = full_data(idata)
8544 449152 : data_tmp = ISHFT(data_tmp, 51)
8545 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8546 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8547 449152 : idata = idata + 1
8548 449152 : data_tmp = full_data(idata)
8549 449152 : data_tmp = ISHFT(data_tmp, 51)
8550 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8551 449152 : pack_tmp = ISHFT(pack_tmp, -4)
8552 449152 : idata = idata + 1
8553 449152 : data_tmp = full_data(idata)
8554 449152 : data_tmp = ISHFT(data_tmp, 51)
8555 449152 : data_tmp = IAND(data_tmp, mask_left(4))
8556 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8557 449152 : ipack = ipack + 1
8558 449152 : packed_data(ipack) = pack_tmp
8559 449152 : data_tmp = full_data(idata)
8560 449152 : pack_tmp = ISHFT(data_tmp, 55)
8561 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8562 449152 : idata = idata + 1
8563 449152 : data_tmp = full_data(idata)
8564 449152 : data_tmp = ISHFT(data_tmp, 51)
8565 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8566 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8567 449152 : idata = idata + 1
8568 449152 : data_tmp = full_data(idata)
8569 449152 : data_tmp = ISHFT(data_tmp, 51)
8570 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8571 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8572 449152 : idata = idata + 1
8573 449152 : data_tmp = full_data(idata)
8574 449152 : data_tmp = ISHFT(data_tmp, 51)
8575 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8576 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8577 449152 : idata = idata + 1
8578 449152 : data_tmp = full_data(idata)
8579 449152 : data_tmp = ISHFT(data_tmp, 51)
8580 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8581 449152 : pack_tmp = ISHFT(pack_tmp, -3)
8582 449152 : idata = idata + 1
8583 449152 : data_tmp = full_data(idata)
8584 449152 : data_tmp = ISHFT(data_tmp, 51)
8585 449152 : data_tmp = IAND(data_tmp, mask_left(3))
8586 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8587 449152 : ipack = ipack + 1
8588 449152 : packed_data(ipack) = pack_tmp
8589 449152 : data_tmp = full_data(idata)
8590 449152 : pack_tmp = ISHFT(data_tmp, 54)
8591 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8592 449152 : idata = idata + 1
8593 449152 : data_tmp = full_data(idata)
8594 449152 : data_tmp = ISHFT(data_tmp, 51)
8595 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8596 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8597 449152 : idata = idata + 1
8598 449152 : data_tmp = full_data(idata)
8599 449152 : data_tmp = ISHFT(data_tmp, 51)
8600 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8601 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8602 449152 : idata = idata + 1
8603 449152 : data_tmp = full_data(idata)
8604 449152 : data_tmp = ISHFT(data_tmp, 51)
8605 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8606 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8607 449152 : idata = idata + 1
8608 449152 : data_tmp = full_data(idata)
8609 449152 : data_tmp = ISHFT(data_tmp, 51)
8610 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8611 449152 : pack_tmp = ISHFT(pack_tmp, -2)
8612 449152 : idata = idata + 1
8613 449152 : data_tmp = full_data(idata)
8614 449152 : data_tmp = ISHFT(data_tmp, 51)
8615 449152 : data_tmp = IAND(data_tmp, mask_left(2))
8616 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8617 449152 : ipack = ipack + 1
8618 449152 : packed_data(ipack) = pack_tmp
8619 449152 : data_tmp = full_data(idata)
8620 449152 : pack_tmp = ISHFT(data_tmp, 53)
8621 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8622 449152 : idata = idata + 1
8623 449152 : data_tmp = full_data(idata)
8624 449152 : data_tmp = ISHFT(data_tmp, 51)
8625 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8626 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8627 449152 : idata = idata + 1
8628 449152 : data_tmp = full_data(idata)
8629 449152 : data_tmp = ISHFT(data_tmp, 51)
8630 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8631 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8632 449152 : idata = idata + 1
8633 449152 : data_tmp = full_data(idata)
8634 449152 : data_tmp = ISHFT(data_tmp, 51)
8635 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8636 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8637 449152 : idata = idata + 1
8638 449152 : data_tmp = full_data(idata)
8639 449152 : data_tmp = ISHFT(data_tmp, 51)
8640 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8641 449152 : pack_tmp = ISHFT(pack_tmp, -1)
8642 449152 : idata = idata + 1
8643 449152 : data_tmp = full_data(idata)
8644 449152 : data_tmp = ISHFT(data_tmp, 51)
8645 449152 : data_tmp = IAND(data_tmp, mask_left(1))
8646 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8647 449152 : ipack = ipack + 1
8648 449152 : packed_data(ipack) = pack_tmp
8649 449152 : data_tmp = full_data(idata)
8650 449152 : pack_tmp = ISHFT(data_tmp, 52)
8651 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8652 449152 : idata = idata + 1
8653 449152 : data_tmp = full_data(idata)
8654 449152 : data_tmp = ISHFT(data_tmp, 51)
8655 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8656 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8657 449152 : idata = idata + 1
8658 449152 : data_tmp = full_data(idata)
8659 449152 : data_tmp = ISHFT(data_tmp, 51)
8660 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8661 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8662 449152 : idata = idata + 1
8663 449152 : data_tmp = full_data(idata)
8664 449152 : data_tmp = ISHFT(data_tmp, 51)
8665 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8666 449152 : pack_tmp = ISHFT(pack_tmp, -13)
8667 449152 : idata = idata + 1
8668 449152 : data_tmp = full_data(idata)
8669 449152 : data_tmp = ISHFT(data_tmp, 51)
8670 449152 : pack_tmp = IOR(pack_tmp, data_tmp)
8671 : pack_tmp = ISHFT(pack_tmp, 0)
8672 449152 : pack_tmp = ISHFT(pack_tmp, 0)
8673 449152 : ipack = ipack + 1
8674 449222 : packed_data(ipack) = pack_tmp
8675 : END DO
8676 28838 : IF (Ndata_rep < Ndata) THEN
8677 1344 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8678 : END IF
8679 28838 : END SUBROUTINE ints2bits_13
8680 :
8681 : ! **************************************************************************************************
8682 : !> \brief ...
8683 : !> \param Ndata ...
8684 : !> \param packed_data ...
8685 : !> \param full_data ...
8686 : ! **************************************************************************************************
8687 134209 : 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(*)
8691 :
8692 : INTEGER, PARAMETER :: Nbits = 13
8693 :
8694 : INTEGER :: idata, ipack, kdata, Ndata_rep
8695 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
8696 :
8697 134209 : ipack = 0
8698 134209 : idata = 0
8699 134209 : pack_tmp = 0
8700 134209 : Ndata_rep = (Ndata/64)*64
8701 134209 : DO kdata = 1, Ndata_rep, 64
8702 2049311 : idata = idata + 1
8703 2049311 : data_tmp = ISHFT(pack_tmp, 13)
8704 2049311 : ipack = ipack + 1
8705 2049311 : pack_tmp = packed_data(ipack)
8706 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
8707 2049311 : pack_tmp = ISHFT(pack_tmp, -13)
8708 2049311 : idata = idata + 1
8709 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8710 2049311 : full_data(idata) = data_tmp
8711 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8712 2049311 : idata = idata + 1
8713 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8714 2049311 : full_data(idata) = data_tmp
8715 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8716 2049311 : idata = idata + 1
8717 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8718 2049311 : full_data(idata) = data_tmp
8719 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8720 2049311 : idata = idata + 1
8721 2049311 : data_tmp = ISHFT(pack_tmp, 1)
8722 2049311 : ipack = ipack + 1
8723 2049311 : pack_tmp = packed_data(ipack)
8724 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
8725 2049311 : pack_tmp = ISHFT(pack_tmp, -1)
8726 2049311 : idata = idata + 1
8727 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8728 2049311 : full_data(idata) = data_tmp
8729 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8730 2049311 : idata = idata + 1
8731 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8732 2049311 : full_data(idata) = data_tmp
8733 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8734 2049311 : idata = idata + 1
8735 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8736 2049311 : full_data(idata) = data_tmp
8737 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8738 2049311 : idata = idata + 1
8739 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8740 2049311 : full_data(idata) = data_tmp
8741 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8742 2049311 : idata = idata + 1
8743 2049311 : data_tmp = ISHFT(pack_tmp, 2)
8744 2049311 : ipack = ipack + 1
8745 2049311 : pack_tmp = packed_data(ipack)
8746 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
8747 2049311 : pack_tmp = ISHFT(pack_tmp, -2)
8748 2049311 : idata = idata + 1
8749 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8750 2049311 : full_data(idata) = data_tmp
8751 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8752 2049311 : idata = idata + 1
8753 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8754 2049311 : full_data(idata) = data_tmp
8755 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8756 2049311 : idata = idata + 1
8757 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8758 2049311 : full_data(idata) = data_tmp
8759 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8760 2049311 : idata = idata + 1
8761 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8762 2049311 : full_data(idata) = data_tmp
8763 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8764 2049311 : idata = idata + 1
8765 2049311 : data_tmp = ISHFT(pack_tmp, 3)
8766 2049311 : ipack = ipack + 1
8767 2049311 : pack_tmp = packed_data(ipack)
8768 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
8769 2049311 : pack_tmp = ISHFT(pack_tmp, -3)
8770 2049311 : idata = idata + 1
8771 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8772 2049311 : full_data(idata) = data_tmp
8773 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8774 2049311 : idata = idata + 1
8775 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8776 2049311 : full_data(idata) = data_tmp
8777 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8778 2049311 : idata = idata + 1
8779 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8780 2049311 : full_data(idata) = data_tmp
8781 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8782 2049311 : idata = idata + 1
8783 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8784 2049311 : full_data(idata) = data_tmp
8785 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8786 2049311 : idata = idata + 1
8787 2049311 : data_tmp = ISHFT(pack_tmp, 4)
8788 2049311 : ipack = ipack + 1
8789 2049311 : pack_tmp = packed_data(ipack)
8790 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
8791 2049311 : pack_tmp = ISHFT(pack_tmp, -4)
8792 2049311 : idata = idata + 1
8793 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8794 2049311 : full_data(idata) = data_tmp
8795 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8796 2049311 : idata = idata + 1
8797 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8798 2049311 : full_data(idata) = data_tmp
8799 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8800 2049311 : idata = idata + 1
8801 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8802 2049311 : full_data(idata) = data_tmp
8803 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8804 2049311 : idata = idata + 1
8805 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8806 2049311 : full_data(idata) = data_tmp
8807 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8808 2049311 : idata = idata + 1
8809 2049311 : data_tmp = ISHFT(pack_tmp, 5)
8810 2049311 : ipack = ipack + 1
8811 2049311 : pack_tmp = packed_data(ipack)
8812 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
8813 2049311 : pack_tmp = ISHFT(pack_tmp, -5)
8814 2049311 : idata = idata + 1
8815 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8816 2049311 : full_data(idata) = data_tmp
8817 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8818 2049311 : idata = idata + 1
8819 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8820 2049311 : full_data(idata) = data_tmp
8821 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8822 2049311 : idata = idata + 1
8823 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8824 2049311 : full_data(idata) = data_tmp
8825 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8826 2049311 : idata = idata + 1
8827 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8828 2049311 : full_data(idata) = data_tmp
8829 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8830 2049311 : idata = idata + 1
8831 2049311 : data_tmp = ISHFT(pack_tmp, 6)
8832 2049311 : ipack = ipack + 1
8833 2049311 : pack_tmp = packed_data(ipack)
8834 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
8835 2049311 : pack_tmp = ISHFT(pack_tmp, -6)
8836 2049311 : idata = idata + 1
8837 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8838 2049311 : full_data(idata) = data_tmp
8839 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8840 2049311 : idata = idata + 1
8841 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8842 2049311 : full_data(idata) = data_tmp
8843 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8844 2049311 : idata = idata + 1
8845 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8846 2049311 : full_data(idata) = data_tmp
8847 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8848 2049311 : idata = idata + 1
8849 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8850 2049311 : full_data(idata) = data_tmp
8851 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8852 2049311 : idata = idata + 1
8853 2049311 : data_tmp = ISHFT(pack_tmp, 7)
8854 2049311 : ipack = ipack + 1
8855 2049311 : pack_tmp = packed_data(ipack)
8856 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
8857 2049311 : pack_tmp = ISHFT(pack_tmp, -7)
8858 2049311 : idata = idata + 1
8859 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8860 2049311 : full_data(idata) = data_tmp
8861 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8862 2049311 : idata = idata + 1
8863 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8864 2049311 : full_data(idata) = data_tmp
8865 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8866 2049311 : idata = idata + 1
8867 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8868 2049311 : full_data(idata) = data_tmp
8869 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8870 2049311 : idata = idata + 1
8871 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8872 2049311 : full_data(idata) = data_tmp
8873 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8874 2049311 : idata = idata + 1
8875 2049311 : data_tmp = ISHFT(pack_tmp, 8)
8876 2049311 : ipack = ipack + 1
8877 2049311 : pack_tmp = packed_data(ipack)
8878 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
8879 2049311 : pack_tmp = ISHFT(pack_tmp, -8)
8880 2049311 : idata = idata + 1
8881 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8882 2049311 : full_data(idata) = data_tmp
8883 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8884 2049311 : idata = idata + 1
8885 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8886 2049311 : full_data(idata) = data_tmp
8887 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8888 2049311 : idata = idata + 1
8889 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8890 2049311 : full_data(idata) = data_tmp
8891 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8892 2049311 : idata = idata + 1
8893 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8894 2049311 : full_data(idata) = data_tmp
8895 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8896 2049311 : idata = idata + 1
8897 2049311 : data_tmp = ISHFT(pack_tmp, 9)
8898 2049311 : ipack = ipack + 1
8899 2049311 : pack_tmp = packed_data(ipack)
8900 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
8901 2049311 : pack_tmp = ISHFT(pack_tmp, -9)
8902 2049311 : idata = idata + 1
8903 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8904 2049311 : full_data(idata) = data_tmp
8905 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8906 2049311 : idata = idata + 1
8907 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8908 2049311 : full_data(idata) = data_tmp
8909 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8910 2049311 : idata = idata + 1
8911 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8912 2049311 : full_data(idata) = data_tmp
8913 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8914 2049311 : idata = idata + 1
8915 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8916 2049311 : full_data(idata) = data_tmp
8917 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8918 2049311 : idata = idata + 1
8919 2049311 : data_tmp = ISHFT(pack_tmp, 10)
8920 2049311 : ipack = ipack + 1
8921 2049311 : pack_tmp = packed_data(ipack)
8922 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
8923 2049311 : pack_tmp = ISHFT(pack_tmp, -10)
8924 2049311 : idata = idata + 1
8925 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8926 2049311 : full_data(idata) = data_tmp
8927 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8928 2049311 : idata = idata + 1
8929 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8930 2049311 : full_data(idata) = data_tmp
8931 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8932 2049311 : idata = idata + 1
8933 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8934 2049311 : full_data(idata) = data_tmp
8935 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8936 2049311 : idata = idata + 1
8937 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8938 2049311 : full_data(idata) = data_tmp
8939 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8940 2049311 : idata = idata + 1
8941 2049311 : data_tmp = ISHFT(pack_tmp, 11)
8942 2049311 : ipack = ipack + 1
8943 2049311 : pack_tmp = packed_data(ipack)
8944 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
8945 2049311 : pack_tmp = ISHFT(pack_tmp, -11)
8946 2049311 : idata = idata + 1
8947 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8948 2049311 : full_data(idata) = data_tmp
8949 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8950 2049311 : idata = idata + 1
8951 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8952 2049311 : full_data(idata) = data_tmp
8953 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8954 2049311 : idata = idata + 1
8955 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8956 2049311 : full_data(idata) = data_tmp
8957 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8958 2049311 : idata = idata + 1
8959 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8960 2049311 : full_data(idata) = data_tmp
8961 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8962 2049311 : idata = idata + 1
8963 2049311 : data_tmp = ISHFT(pack_tmp, 12)
8964 2049311 : ipack = ipack + 1
8965 2049311 : pack_tmp = packed_data(ipack)
8966 2049311 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
8967 2049311 : pack_tmp = ISHFT(pack_tmp, -12)
8968 2049311 : idata = idata + 1
8969 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8970 2049311 : full_data(idata) = data_tmp
8971 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8972 2049311 : idata = idata + 1
8973 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8974 2049311 : full_data(idata) = data_tmp
8975 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8976 2049311 : idata = idata + 1
8977 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8978 2049311 : full_data(idata) = data_tmp
8979 2049311 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8980 2049311 : idata = idata + 1
8981 2049311 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
8982 2049311 : full_data(idata) = data_tmp
8983 2049859 : pack_tmp = ISHFT(pack_tmp, -Nbits)
8984 : END DO
8985 134209 : IF (Ndata_rep < Ndata) THEN
8986 10786 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
8987 : END IF
8988 134209 : END SUBROUTINE bits2ints_13
8989 :
8990 : ! **************************************************************************************************
8991 : !> \brief ...
8992 : !> \param Ndata ...
8993 : !> \param packed_data ...
8994 : !> \param full_data ...
8995 : ! **************************************************************************************************
8996 27878 : 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(*)
9000 :
9001 : INTEGER, PARAMETER :: Nbits = 14
9002 :
9003 : INTEGER :: idata, ipack, kdata, Ndata_rep
9004 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
9005 :
9006 27878 : idata = 0
9007 27878 : ipack = 0
9008 27878 : Ndata_rep = (Ndata/64)*64
9009 27878 : DO kdata = 1, Ndata_rep, 64
9010 435917 : pack_tmp = 0
9011 435917 : idata = idata + 1
9012 435917 : data_tmp = full_data(idata)
9013 435917 : data_tmp = ISHFT(data_tmp, 50)
9014 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9015 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9016 435917 : idata = idata + 1
9017 435917 : data_tmp = full_data(idata)
9018 435917 : data_tmp = ISHFT(data_tmp, 50)
9019 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9020 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9021 435917 : idata = idata + 1
9022 435917 : data_tmp = full_data(idata)
9023 435917 : data_tmp = ISHFT(data_tmp, 50)
9024 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9025 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9026 435917 : idata = idata + 1
9027 435917 : data_tmp = full_data(idata)
9028 435917 : data_tmp = ISHFT(data_tmp, 50)
9029 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9030 435917 : pack_tmp = ISHFT(pack_tmp, -8)
9031 435917 : idata = idata + 1
9032 435917 : data_tmp = full_data(idata)
9033 435917 : data_tmp = ISHFT(data_tmp, 50)
9034 435917 : data_tmp = IAND(data_tmp, mask_left(8))
9035 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9036 435917 : ipack = ipack + 1
9037 435917 : packed_data(ipack) = pack_tmp
9038 435917 : data_tmp = full_data(idata)
9039 435917 : pack_tmp = ISHFT(data_tmp, 58)
9040 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9041 435917 : idata = idata + 1
9042 435917 : data_tmp = full_data(idata)
9043 435917 : data_tmp = ISHFT(data_tmp, 50)
9044 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9045 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9046 435917 : idata = idata + 1
9047 435917 : data_tmp = full_data(idata)
9048 435917 : data_tmp = ISHFT(data_tmp, 50)
9049 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9050 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9051 435917 : idata = idata + 1
9052 435917 : data_tmp = full_data(idata)
9053 435917 : data_tmp = ISHFT(data_tmp, 50)
9054 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9055 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9056 435917 : idata = idata + 1
9057 435917 : data_tmp = full_data(idata)
9058 435917 : data_tmp = ISHFT(data_tmp, 50)
9059 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9060 435917 : pack_tmp = ISHFT(pack_tmp, -2)
9061 435917 : idata = idata + 1
9062 435917 : data_tmp = full_data(idata)
9063 435917 : data_tmp = ISHFT(data_tmp, 50)
9064 435917 : data_tmp = IAND(data_tmp, mask_left(2))
9065 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9066 435917 : ipack = ipack + 1
9067 435917 : packed_data(ipack) = pack_tmp
9068 435917 : data_tmp = full_data(idata)
9069 435917 : pack_tmp = ISHFT(data_tmp, 52)
9070 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9071 435917 : idata = idata + 1
9072 435917 : data_tmp = full_data(idata)
9073 435917 : data_tmp = ISHFT(data_tmp, 50)
9074 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9075 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9076 435917 : idata = idata + 1
9077 435917 : data_tmp = full_data(idata)
9078 435917 : data_tmp = ISHFT(data_tmp, 50)
9079 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9080 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9081 435917 : idata = idata + 1
9082 435917 : data_tmp = full_data(idata)
9083 435917 : data_tmp = ISHFT(data_tmp, 50)
9084 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9085 435917 : pack_tmp = ISHFT(pack_tmp, -10)
9086 435917 : idata = idata + 1
9087 435917 : data_tmp = full_data(idata)
9088 435917 : data_tmp = ISHFT(data_tmp, 50)
9089 435917 : data_tmp = IAND(data_tmp, mask_left(10))
9090 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9091 435917 : ipack = ipack + 1
9092 435917 : packed_data(ipack) = pack_tmp
9093 435917 : data_tmp = full_data(idata)
9094 435917 : pack_tmp = ISHFT(data_tmp, 60)
9095 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9096 435917 : idata = idata + 1
9097 435917 : data_tmp = full_data(idata)
9098 435917 : data_tmp = ISHFT(data_tmp, 50)
9099 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9100 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9101 435917 : idata = idata + 1
9102 435917 : data_tmp = full_data(idata)
9103 435917 : data_tmp = ISHFT(data_tmp, 50)
9104 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9105 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9106 435917 : idata = idata + 1
9107 435917 : data_tmp = full_data(idata)
9108 435917 : data_tmp = ISHFT(data_tmp, 50)
9109 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9110 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9111 435917 : idata = idata + 1
9112 435917 : data_tmp = full_data(idata)
9113 435917 : data_tmp = ISHFT(data_tmp, 50)
9114 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9115 435917 : pack_tmp = ISHFT(pack_tmp, -4)
9116 435917 : idata = idata + 1
9117 435917 : data_tmp = full_data(idata)
9118 435917 : data_tmp = ISHFT(data_tmp, 50)
9119 435917 : data_tmp = IAND(data_tmp, mask_left(4))
9120 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9121 435917 : ipack = ipack + 1
9122 435917 : packed_data(ipack) = pack_tmp
9123 435917 : data_tmp = full_data(idata)
9124 435917 : pack_tmp = ISHFT(data_tmp, 54)
9125 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9126 435917 : idata = idata + 1
9127 435917 : data_tmp = full_data(idata)
9128 435917 : data_tmp = ISHFT(data_tmp, 50)
9129 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9130 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9131 435917 : idata = idata + 1
9132 435917 : data_tmp = full_data(idata)
9133 435917 : data_tmp = ISHFT(data_tmp, 50)
9134 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9135 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9136 435917 : idata = idata + 1
9137 435917 : data_tmp = full_data(idata)
9138 435917 : data_tmp = ISHFT(data_tmp, 50)
9139 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9140 435917 : pack_tmp = ISHFT(pack_tmp, -12)
9141 435917 : idata = idata + 1
9142 435917 : data_tmp = full_data(idata)
9143 435917 : data_tmp = ISHFT(data_tmp, 50)
9144 435917 : data_tmp = IAND(data_tmp, mask_left(12))
9145 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9146 435917 : ipack = ipack + 1
9147 435917 : packed_data(ipack) = pack_tmp
9148 435917 : data_tmp = full_data(idata)
9149 435917 : pack_tmp = ISHFT(data_tmp, 62)
9150 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9151 435917 : idata = idata + 1
9152 435917 : data_tmp = full_data(idata)
9153 435917 : data_tmp = ISHFT(data_tmp, 50)
9154 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9155 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9156 435917 : idata = idata + 1
9157 435917 : data_tmp = full_data(idata)
9158 435917 : data_tmp = ISHFT(data_tmp, 50)
9159 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9160 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9161 435917 : idata = idata + 1
9162 435917 : data_tmp = full_data(idata)
9163 435917 : data_tmp = ISHFT(data_tmp, 50)
9164 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9165 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9166 435917 : idata = idata + 1
9167 435917 : data_tmp = full_data(idata)
9168 435917 : data_tmp = ISHFT(data_tmp, 50)
9169 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9170 435917 : pack_tmp = ISHFT(pack_tmp, -6)
9171 435917 : idata = idata + 1
9172 435917 : data_tmp = full_data(idata)
9173 435917 : data_tmp = ISHFT(data_tmp, 50)
9174 435917 : data_tmp = IAND(data_tmp, mask_left(6))
9175 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9176 435917 : ipack = ipack + 1
9177 435917 : packed_data(ipack) = pack_tmp
9178 435917 : data_tmp = full_data(idata)
9179 435917 : pack_tmp = ISHFT(data_tmp, 56)
9180 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9181 435917 : idata = idata + 1
9182 435917 : data_tmp = full_data(idata)
9183 435917 : data_tmp = ISHFT(data_tmp, 50)
9184 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9185 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9186 435917 : idata = idata + 1
9187 435917 : data_tmp = full_data(idata)
9188 435917 : data_tmp = ISHFT(data_tmp, 50)
9189 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9190 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9191 435917 : idata = idata + 1
9192 435917 : data_tmp = full_data(idata)
9193 435917 : data_tmp = ISHFT(data_tmp, 50)
9194 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9195 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9196 435917 : idata = idata + 1
9197 435917 : data_tmp = full_data(idata)
9198 435917 : data_tmp = ISHFT(data_tmp, 50)
9199 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9200 435917 : pack_tmp = ISHFT(pack_tmp, 0)
9201 435917 : idata = idata + 1
9202 435917 : data_tmp = full_data(idata)
9203 : data_tmp = ISHFT(data_tmp, 50)
9204 435917 : data_tmp = IAND(data_tmp, mask_left(0))
9205 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9206 435917 : ipack = ipack + 1
9207 435917 : packed_data(ipack) = pack_tmp
9208 435917 : data_tmp = full_data(idata)
9209 435917 : pack_tmp = ISHFT(data_tmp, 50)
9210 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9211 435917 : idata = idata + 1
9212 435917 : data_tmp = full_data(idata)
9213 435917 : data_tmp = ISHFT(data_tmp, 50)
9214 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9215 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9216 435917 : idata = idata + 1
9217 435917 : data_tmp = full_data(idata)
9218 435917 : data_tmp = ISHFT(data_tmp, 50)
9219 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9220 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9221 435917 : idata = idata + 1
9222 435917 : data_tmp = full_data(idata)
9223 435917 : data_tmp = ISHFT(data_tmp, 50)
9224 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9225 435917 : pack_tmp = ISHFT(pack_tmp, -8)
9226 435917 : idata = idata + 1
9227 435917 : data_tmp = full_data(idata)
9228 435917 : data_tmp = ISHFT(data_tmp, 50)
9229 435917 : data_tmp = IAND(data_tmp, mask_left(8))
9230 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9231 435917 : ipack = ipack + 1
9232 435917 : packed_data(ipack) = pack_tmp
9233 435917 : data_tmp = full_data(idata)
9234 435917 : pack_tmp = ISHFT(data_tmp, 58)
9235 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9236 435917 : idata = idata + 1
9237 435917 : data_tmp = full_data(idata)
9238 435917 : data_tmp = ISHFT(data_tmp, 50)
9239 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9240 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9241 435917 : idata = idata + 1
9242 435917 : data_tmp = full_data(idata)
9243 435917 : data_tmp = ISHFT(data_tmp, 50)
9244 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9245 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9246 435917 : idata = idata + 1
9247 435917 : data_tmp = full_data(idata)
9248 435917 : data_tmp = ISHFT(data_tmp, 50)
9249 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9250 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9251 435917 : idata = idata + 1
9252 435917 : data_tmp = full_data(idata)
9253 435917 : data_tmp = ISHFT(data_tmp, 50)
9254 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9255 435917 : pack_tmp = ISHFT(pack_tmp, -2)
9256 435917 : idata = idata + 1
9257 435917 : data_tmp = full_data(idata)
9258 435917 : data_tmp = ISHFT(data_tmp, 50)
9259 435917 : data_tmp = IAND(data_tmp, mask_left(2))
9260 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9261 435917 : ipack = ipack + 1
9262 435917 : packed_data(ipack) = pack_tmp
9263 435917 : data_tmp = full_data(idata)
9264 435917 : pack_tmp = ISHFT(data_tmp, 52)
9265 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9266 435917 : idata = idata + 1
9267 435917 : data_tmp = full_data(idata)
9268 435917 : data_tmp = ISHFT(data_tmp, 50)
9269 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9270 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9271 435917 : idata = idata + 1
9272 435917 : data_tmp = full_data(idata)
9273 435917 : data_tmp = ISHFT(data_tmp, 50)
9274 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9275 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9276 435917 : idata = idata + 1
9277 435917 : data_tmp = full_data(idata)
9278 435917 : data_tmp = ISHFT(data_tmp, 50)
9279 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9280 435917 : pack_tmp = ISHFT(pack_tmp, -10)
9281 435917 : idata = idata + 1
9282 435917 : data_tmp = full_data(idata)
9283 435917 : data_tmp = ISHFT(data_tmp, 50)
9284 435917 : data_tmp = IAND(data_tmp, mask_left(10))
9285 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9286 435917 : ipack = ipack + 1
9287 435917 : packed_data(ipack) = pack_tmp
9288 435917 : data_tmp = full_data(idata)
9289 435917 : pack_tmp = ISHFT(data_tmp, 60)
9290 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9291 435917 : idata = idata + 1
9292 435917 : data_tmp = full_data(idata)
9293 435917 : data_tmp = ISHFT(data_tmp, 50)
9294 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9295 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9296 435917 : idata = idata + 1
9297 435917 : data_tmp = full_data(idata)
9298 435917 : data_tmp = ISHFT(data_tmp, 50)
9299 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9300 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9301 435917 : idata = idata + 1
9302 435917 : data_tmp = full_data(idata)
9303 435917 : data_tmp = ISHFT(data_tmp, 50)
9304 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9305 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9306 435917 : idata = idata + 1
9307 435917 : data_tmp = full_data(idata)
9308 435917 : data_tmp = ISHFT(data_tmp, 50)
9309 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9310 435917 : pack_tmp = ISHFT(pack_tmp, -4)
9311 435917 : idata = idata + 1
9312 435917 : data_tmp = full_data(idata)
9313 435917 : data_tmp = ISHFT(data_tmp, 50)
9314 435917 : data_tmp = IAND(data_tmp, mask_left(4))
9315 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9316 435917 : ipack = ipack + 1
9317 435917 : packed_data(ipack) = pack_tmp
9318 435917 : data_tmp = full_data(idata)
9319 435917 : pack_tmp = ISHFT(data_tmp, 54)
9320 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9321 435917 : idata = idata + 1
9322 435917 : data_tmp = full_data(idata)
9323 435917 : data_tmp = ISHFT(data_tmp, 50)
9324 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9325 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9326 435917 : idata = idata + 1
9327 435917 : data_tmp = full_data(idata)
9328 435917 : data_tmp = ISHFT(data_tmp, 50)
9329 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9330 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9331 435917 : idata = idata + 1
9332 435917 : data_tmp = full_data(idata)
9333 435917 : data_tmp = ISHFT(data_tmp, 50)
9334 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9335 435917 : pack_tmp = ISHFT(pack_tmp, -12)
9336 435917 : idata = idata + 1
9337 435917 : data_tmp = full_data(idata)
9338 435917 : data_tmp = ISHFT(data_tmp, 50)
9339 435917 : data_tmp = IAND(data_tmp, mask_left(12))
9340 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9341 435917 : ipack = ipack + 1
9342 435917 : packed_data(ipack) = pack_tmp
9343 435917 : data_tmp = full_data(idata)
9344 435917 : pack_tmp = ISHFT(data_tmp, 62)
9345 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9346 435917 : idata = idata + 1
9347 435917 : data_tmp = full_data(idata)
9348 435917 : data_tmp = ISHFT(data_tmp, 50)
9349 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9350 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9351 435917 : idata = idata + 1
9352 435917 : data_tmp = full_data(idata)
9353 435917 : data_tmp = ISHFT(data_tmp, 50)
9354 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9355 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9356 435917 : idata = idata + 1
9357 435917 : data_tmp = full_data(idata)
9358 435917 : data_tmp = ISHFT(data_tmp, 50)
9359 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9360 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9361 435917 : idata = idata + 1
9362 435917 : data_tmp = full_data(idata)
9363 435917 : data_tmp = ISHFT(data_tmp, 50)
9364 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9365 435917 : pack_tmp = ISHFT(pack_tmp, -6)
9366 435917 : idata = idata + 1
9367 435917 : data_tmp = full_data(idata)
9368 435917 : data_tmp = ISHFT(data_tmp, 50)
9369 435917 : data_tmp = IAND(data_tmp, mask_left(6))
9370 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9371 435917 : ipack = ipack + 1
9372 435917 : packed_data(ipack) = pack_tmp
9373 435917 : data_tmp = full_data(idata)
9374 435917 : pack_tmp = ISHFT(data_tmp, 56)
9375 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9376 435917 : idata = idata + 1
9377 435917 : data_tmp = full_data(idata)
9378 435917 : data_tmp = ISHFT(data_tmp, 50)
9379 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9380 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9381 435917 : idata = idata + 1
9382 435917 : data_tmp = full_data(idata)
9383 435917 : data_tmp = ISHFT(data_tmp, 50)
9384 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9385 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9386 435917 : idata = idata + 1
9387 435917 : data_tmp = full_data(idata)
9388 435917 : data_tmp = ISHFT(data_tmp, 50)
9389 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9390 435917 : pack_tmp = ISHFT(pack_tmp, -14)
9391 435917 : idata = idata + 1
9392 435917 : data_tmp = full_data(idata)
9393 435917 : data_tmp = ISHFT(data_tmp, 50)
9394 435917 : pack_tmp = IOR(pack_tmp, data_tmp)
9395 : pack_tmp = ISHFT(pack_tmp, 0)
9396 435917 : pack_tmp = ISHFT(pack_tmp, 0)
9397 435917 : ipack = ipack + 1
9398 435977 : packed_data(ipack) = pack_tmp
9399 : END DO
9400 27878 : IF (Ndata_rep < Ndata) THEN
9401 1126 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
9402 : END IF
9403 27878 : END SUBROUTINE ints2bits_14
9404 :
9405 : ! **************************************************************************************************
9406 : !> \brief ...
9407 : !> \param Ndata ...
9408 : !> \param packed_data ...
9409 : !> \param full_data ...
9410 : ! **************************************************************************************************
9411 125874 : 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(*)
9415 :
9416 : INTEGER, PARAMETER :: Nbits = 14
9417 :
9418 : INTEGER :: idata, ipack, kdata, Ndata_rep
9419 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
9420 :
9421 125874 : ipack = 0
9422 125874 : idata = 0
9423 125874 : pack_tmp = 0
9424 125874 : Ndata_rep = (Ndata/64)*64
9425 125874 : DO kdata = 1, Ndata_rep, 64
9426 1936172 : idata = idata + 1
9427 1936172 : data_tmp = ISHFT(pack_tmp, 14)
9428 1936172 : ipack = ipack + 1
9429 1936172 : pack_tmp = packed_data(ipack)
9430 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
9431 1936172 : pack_tmp = ISHFT(pack_tmp, -14)
9432 1936172 : idata = idata + 1
9433 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9434 1936172 : full_data(idata) = data_tmp
9435 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9436 1936172 : idata = idata + 1
9437 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9438 1936172 : full_data(idata) = data_tmp
9439 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9440 1936172 : idata = idata + 1
9441 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9442 1936172 : full_data(idata) = data_tmp
9443 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9444 1936172 : idata = idata + 1
9445 1936172 : data_tmp = ISHFT(pack_tmp, 6)
9446 1936172 : ipack = ipack + 1
9447 1936172 : pack_tmp = packed_data(ipack)
9448 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
9449 1936172 : pack_tmp = ISHFT(pack_tmp, -6)
9450 1936172 : idata = idata + 1
9451 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9452 1936172 : full_data(idata) = data_tmp
9453 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9454 1936172 : idata = idata + 1
9455 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9456 1936172 : full_data(idata) = data_tmp
9457 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9458 1936172 : idata = idata + 1
9459 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9460 1936172 : full_data(idata) = data_tmp
9461 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9462 1936172 : idata = idata + 1
9463 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9464 1936172 : full_data(idata) = data_tmp
9465 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9466 1936172 : idata = idata + 1
9467 1936172 : data_tmp = ISHFT(pack_tmp, 12)
9468 1936172 : ipack = ipack + 1
9469 1936172 : pack_tmp = packed_data(ipack)
9470 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
9471 1936172 : pack_tmp = ISHFT(pack_tmp, -12)
9472 1936172 : idata = idata + 1
9473 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9474 1936172 : full_data(idata) = data_tmp
9475 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9476 1936172 : idata = idata + 1
9477 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9478 1936172 : full_data(idata) = data_tmp
9479 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9480 1936172 : idata = idata + 1
9481 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9482 1936172 : full_data(idata) = data_tmp
9483 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9484 1936172 : idata = idata + 1
9485 1936172 : data_tmp = ISHFT(pack_tmp, 4)
9486 1936172 : ipack = ipack + 1
9487 1936172 : pack_tmp = packed_data(ipack)
9488 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
9489 1936172 : pack_tmp = ISHFT(pack_tmp, -4)
9490 1936172 : idata = idata + 1
9491 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9492 1936172 : full_data(idata) = data_tmp
9493 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9494 1936172 : idata = idata + 1
9495 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9496 1936172 : full_data(idata) = data_tmp
9497 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9498 1936172 : idata = idata + 1
9499 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9500 1936172 : full_data(idata) = data_tmp
9501 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9502 1936172 : idata = idata + 1
9503 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9504 1936172 : full_data(idata) = data_tmp
9505 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9506 1936172 : idata = idata + 1
9507 1936172 : data_tmp = ISHFT(pack_tmp, 10)
9508 1936172 : ipack = ipack + 1
9509 1936172 : pack_tmp = packed_data(ipack)
9510 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
9511 1936172 : pack_tmp = ISHFT(pack_tmp, -10)
9512 1936172 : idata = idata + 1
9513 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9514 1936172 : full_data(idata) = data_tmp
9515 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9516 1936172 : idata = idata + 1
9517 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9518 1936172 : full_data(idata) = data_tmp
9519 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9520 1936172 : idata = idata + 1
9521 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9522 1936172 : full_data(idata) = data_tmp
9523 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9524 1936172 : idata = idata + 1
9525 1936172 : data_tmp = ISHFT(pack_tmp, 2)
9526 1936172 : ipack = ipack + 1
9527 1936172 : pack_tmp = packed_data(ipack)
9528 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
9529 1936172 : pack_tmp = ISHFT(pack_tmp, -2)
9530 1936172 : idata = idata + 1
9531 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9532 1936172 : full_data(idata) = data_tmp
9533 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9534 1936172 : idata = idata + 1
9535 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9536 1936172 : full_data(idata) = data_tmp
9537 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9538 1936172 : idata = idata + 1
9539 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9540 1936172 : full_data(idata) = data_tmp
9541 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9542 1936172 : idata = idata + 1
9543 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9544 1936172 : full_data(idata) = data_tmp
9545 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9546 1936172 : idata = idata + 1
9547 1936172 : data_tmp = ISHFT(pack_tmp, 8)
9548 1936172 : ipack = ipack + 1
9549 1936172 : pack_tmp = packed_data(ipack)
9550 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
9551 1936172 : pack_tmp = ISHFT(pack_tmp, -8)
9552 1936172 : idata = idata + 1
9553 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9554 1936172 : full_data(idata) = data_tmp
9555 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9556 1936172 : idata = idata + 1
9557 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9558 1936172 : full_data(idata) = data_tmp
9559 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9560 1936172 : idata = idata + 1
9561 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9562 1936172 : full_data(idata) = data_tmp
9563 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9564 1936172 : idata = idata + 1
9565 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9566 1936172 : full_data(idata) = data_tmp
9567 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9568 1936172 : idata = idata + 1
9569 1936172 : data_tmp = ISHFT(pack_tmp, 14)
9570 1936172 : ipack = ipack + 1
9571 1936172 : pack_tmp = packed_data(ipack)
9572 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
9573 1936172 : pack_tmp = ISHFT(pack_tmp, -14)
9574 1936172 : idata = idata + 1
9575 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9576 1936172 : full_data(idata) = data_tmp
9577 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9578 1936172 : idata = idata + 1
9579 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9580 1936172 : full_data(idata) = data_tmp
9581 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9582 1936172 : idata = idata + 1
9583 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9584 1936172 : full_data(idata) = data_tmp
9585 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9586 1936172 : idata = idata + 1
9587 1936172 : data_tmp = ISHFT(pack_tmp, 6)
9588 1936172 : ipack = ipack + 1
9589 1936172 : pack_tmp = packed_data(ipack)
9590 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
9591 1936172 : pack_tmp = ISHFT(pack_tmp, -6)
9592 1936172 : idata = idata + 1
9593 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9594 1936172 : full_data(idata) = data_tmp
9595 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9596 1936172 : idata = idata + 1
9597 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9598 1936172 : full_data(idata) = data_tmp
9599 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9600 1936172 : idata = idata + 1
9601 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9602 1936172 : full_data(idata) = data_tmp
9603 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9604 1936172 : idata = idata + 1
9605 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9606 1936172 : full_data(idata) = data_tmp
9607 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9608 1936172 : idata = idata + 1
9609 1936172 : data_tmp = ISHFT(pack_tmp, 12)
9610 1936172 : ipack = ipack + 1
9611 1936172 : pack_tmp = packed_data(ipack)
9612 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
9613 1936172 : pack_tmp = ISHFT(pack_tmp, -12)
9614 1936172 : idata = idata + 1
9615 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9616 1936172 : full_data(idata) = data_tmp
9617 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9618 1936172 : idata = idata + 1
9619 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9620 1936172 : full_data(idata) = data_tmp
9621 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9622 1936172 : idata = idata + 1
9623 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9624 1936172 : full_data(idata) = data_tmp
9625 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9626 1936172 : idata = idata + 1
9627 1936172 : data_tmp = ISHFT(pack_tmp, 4)
9628 1936172 : ipack = ipack + 1
9629 1936172 : pack_tmp = packed_data(ipack)
9630 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
9631 1936172 : pack_tmp = ISHFT(pack_tmp, -4)
9632 1936172 : idata = idata + 1
9633 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9634 1936172 : full_data(idata) = data_tmp
9635 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9636 1936172 : idata = idata + 1
9637 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9638 1936172 : full_data(idata) = data_tmp
9639 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9640 1936172 : idata = idata + 1
9641 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9642 1936172 : full_data(idata) = data_tmp
9643 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9644 1936172 : idata = idata + 1
9645 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9646 1936172 : full_data(idata) = data_tmp
9647 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9648 1936172 : idata = idata + 1
9649 1936172 : data_tmp = ISHFT(pack_tmp, 10)
9650 1936172 : ipack = ipack + 1
9651 1936172 : pack_tmp = packed_data(ipack)
9652 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
9653 1936172 : pack_tmp = ISHFT(pack_tmp, -10)
9654 1936172 : idata = idata + 1
9655 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9656 1936172 : full_data(idata) = data_tmp
9657 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9658 1936172 : idata = idata + 1
9659 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9660 1936172 : full_data(idata) = data_tmp
9661 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9662 1936172 : idata = idata + 1
9663 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9664 1936172 : full_data(idata) = data_tmp
9665 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9666 1936172 : idata = idata + 1
9667 1936172 : data_tmp = ISHFT(pack_tmp, 2)
9668 1936172 : ipack = ipack + 1
9669 1936172 : pack_tmp = packed_data(ipack)
9670 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
9671 1936172 : pack_tmp = ISHFT(pack_tmp, -2)
9672 1936172 : idata = idata + 1
9673 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9674 1936172 : full_data(idata) = data_tmp
9675 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9676 1936172 : idata = idata + 1
9677 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9678 1936172 : full_data(idata) = data_tmp
9679 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9680 1936172 : idata = idata + 1
9681 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9682 1936172 : full_data(idata) = data_tmp
9683 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9684 1936172 : idata = idata + 1
9685 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9686 1936172 : full_data(idata) = data_tmp
9687 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9688 1936172 : idata = idata + 1
9689 1936172 : data_tmp = ISHFT(pack_tmp, 8)
9690 1936172 : ipack = ipack + 1
9691 1936172 : pack_tmp = packed_data(ipack)
9692 1936172 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
9693 1936172 : pack_tmp = ISHFT(pack_tmp, -8)
9694 1936172 : idata = idata + 1
9695 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9696 1936172 : full_data(idata) = data_tmp
9697 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9698 1936172 : idata = idata + 1
9699 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9700 1936172 : full_data(idata) = data_tmp
9701 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9702 1936172 : idata = idata + 1
9703 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9704 1936172 : full_data(idata) = data_tmp
9705 1936172 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9706 1936172 : idata = idata + 1
9707 1936172 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
9708 1936172 : full_data(idata) = data_tmp
9709 1936637 : pack_tmp = ISHFT(pack_tmp, -Nbits)
9710 : END DO
9711 125874 : IF (Ndata_rep < Ndata) THEN
9712 8648 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
9713 : END IF
9714 125874 : END SUBROUTINE bits2ints_14
9715 :
9716 : ! **************************************************************************************************
9717 : !> \brief ...
9718 : !> \param Ndata ...
9719 : !> \param packed_data ...
9720 : !> \param full_data ...
9721 : ! **************************************************************************************************
9722 28198 : 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(*)
9726 :
9727 : INTEGER, PARAMETER :: Nbits = 15
9728 :
9729 : INTEGER :: idata, ipack, kdata, Ndata_rep
9730 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
9731 :
9732 28198 : idata = 0
9733 28198 : ipack = 0
9734 28198 : Ndata_rep = (Ndata/64)*64
9735 28198 : DO kdata = 1, Ndata_rep, 64
9736 439472 : pack_tmp = 0
9737 439472 : idata = idata + 1
9738 439472 : data_tmp = full_data(idata)
9739 439472 : data_tmp = ISHFT(data_tmp, 49)
9740 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9741 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9742 439472 : idata = idata + 1
9743 439472 : data_tmp = full_data(idata)
9744 439472 : data_tmp = ISHFT(data_tmp, 49)
9745 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9746 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9747 439472 : idata = idata + 1
9748 439472 : data_tmp = full_data(idata)
9749 439472 : data_tmp = ISHFT(data_tmp, 49)
9750 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9751 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9752 439472 : idata = idata + 1
9753 439472 : data_tmp = full_data(idata)
9754 439472 : data_tmp = ISHFT(data_tmp, 49)
9755 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9756 439472 : pack_tmp = ISHFT(pack_tmp, -4)
9757 439472 : idata = idata + 1
9758 439472 : data_tmp = full_data(idata)
9759 439472 : data_tmp = ISHFT(data_tmp, 49)
9760 439472 : data_tmp = IAND(data_tmp, mask_left(4))
9761 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9762 439472 : ipack = ipack + 1
9763 439472 : packed_data(ipack) = pack_tmp
9764 439472 : data_tmp = full_data(idata)
9765 439472 : pack_tmp = ISHFT(data_tmp, 53)
9766 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9767 439472 : idata = idata + 1
9768 439472 : data_tmp = full_data(idata)
9769 439472 : data_tmp = ISHFT(data_tmp, 49)
9770 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9771 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9772 439472 : idata = idata + 1
9773 439472 : data_tmp = full_data(idata)
9774 439472 : data_tmp = ISHFT(data_tmp, 49)
9775 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9776 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9777 439472 : idata = idata + 1
9778 439472 : data_tmp = full_data(idata)
9779 439472 : data_tmp = ISHFT(data_tmp, 49)
9780 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9781 439472 : pack_tmp = ISHFT(pack_tmp, -8)
9782 439472 : idata = idata + 1
9783 439472 : data_tmp = full_data(idata)
9784 439472 : data_tmp = ISHFT(data_tmp, 49)
9785 439472 : data_tmp = IAND(data_tmp, mask_left(8))
9786 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9787 439472 : ipack = ipack + 1
9788 439472 : packed_data(ipack) = pack_tmp
9789 439472 : data_tmp = full_data(idata)
9790 439472 : pack_tmp = ISHFT(data_tmp, 57)
9791 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9792 439472 : idata = idata + 1
9793 439472 : data_tmp = full_data(idata)
9794 439472 : data_tmp = ISHFT(data_tmp, 49)
9795 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9796 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9797 439472 : idata = idata + 1
9798 439472 : data_tmp = full_data(idata)
9799 439472 : data_tmp = ISHFT(data_tmp, 49)
9800 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9801 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9802 439472 : idata = idata + 1
9803 439472 : data_tmp = full_data(idata)
9804 439472 : data_tmp = ISHFT(data_tmp, 49)
9805 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9806 439472 : pack_tmp = ISHFT(pack_tmp, -12)
9807 439472 : idata = idata + 1
9808 439472 : data_tmp = full_data(idata)
9809 439472 : data_tmp = ISHFT(data_tmp, 49)
9810 439472 : data_tmp = IAND(data_tmp, mask_left(12))
9811 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9812 439472 : ipack = ipack + 1
9813 439472 : packed_data(ipack) = pack_tmp
9814 439472 : data_tmp = full_data(idata)
9815 439472 : pack_tmp = ISHFT(data_tmp, 61)
9816 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9817 439472 : idata = idata + 1
9818 439472 : data_tmp = full_data(idata)
9819 439472 : data_tmp = ISHFT(data_tmp, 49)
9820 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9821 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9822 439472 : idata = idata + 1
9823 439472 : data_tmp = full_data(idata)
9824 439472 : data_tmp = ISHFT(data_tmp, 49)
9825 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9826 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9827 439472 : idata = idata + 1
9828 439472 : data_tmp = full_data(idata)
9829 439472 : data_tmp = ISHFT(data_tmp, 49)
9830 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9831 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9832 439472 : idata = idata + 1
9833 439472 : data_tmp = full_data(idata)
9834 439472 : data_tmp = ISHFT(data_tmp, 49)
9835 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9836 439472 : pack_tmp = ISHFT(pack_tmp, -1)
9837 439472 : idata = idata + 1
9838 439472 : data_tmp = full_data(idata)
9839 439472 : data_tmp = ISHFT(data_tmp, 49)
9840 439472 : data_tmp = IAND(data_tmp, mask_left(1))
9841 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9842 439472 : ipack = ipack + 1
9843 439472 : packed_data(ipack) = pack_tmp
9844 439472 : data_tmp = full_data(idata)
9845 439472 : pack_tmp = ISHFT(data_tmp, 50)
9846 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9847 439472 : idata = idata + 1
9848 439472 : data_tmp = full_data(idata)
9849 439472 : data_tmp = ISHFT(data_tmp, 49)
9850 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9851 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9852 439472 : idata = idata + 1
9853 439472 : data_tmp = full_data(idata)
9854 439472 : data_tmp = ISHFT(data_tmp, 49)
9855 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9856 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9857 439472 : idata = idata + 1
9858 439472 : data_tmp = full_data(idata)
9859 439472 : data_tmp = ISHFT(data_tmp, 49)
9860 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9861 439472 : pack_tmp = ISHFT(pack_tmp, -5)
9862 439472 : idata = idata + 1
9863 439472 : data_tmp = full_data(idata)
9864 439472 : data_tmp = ISHFT(data_tmp, 49)
9865 439472 : data_tmp = IAND(data_tmp, mask_left(5))
9866 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9867 439472 : ipack = ipack + 1
9868 439472 : packed_data(ipack) = pack_tmp
9869 439472 : data_tmp = full_data(idata)
9870 439472 : pack_tmp = ISHFT(data_tmp, 54)
9871 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9872 439472 : idata = idata + 1
9873 439472 : data_tmp = full_data(idata)
9874 439472 : data_tmp = ISHFT(data_tmp, 49)
9875 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9876 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9877 439472 : idata = idata + 1
9878 439472 : data_tmp = full_data(idata)
9879 439472 : data_tmp = ISHFT(data_tmp, 49)
9880 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9881 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9882 439472 : idata = idata + 1
9883 439472 : data_tmp = full_data(idata)
9884 439472 : data_tmp = ISHFT(data_tmp, 49)
9885 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9886 439472 : pack_tmp = ISHFT(pack_tmp, -9)
9887 439472 : idata = idata + 1
9888 439472 : data_tmp = full_data(idata)
9889 439472 : data_tmp = ISHFT(data_tmp, 49)
9890 439472 : data_tmp = IAND(data_tmp, mask_left(9))
9891 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9892 439472 : ipack = ipack + 1
9893 439472 : packed_data(ipack) = pack_tmp
9894 439472 : data_tmp = full_data(idata)
9895 439472 : pack_tmp = ISHFT(data_tmp, 58)
9896 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9897 439472 : idata = idata + 1
9898 439472 : data_tmp = full_data(idata)
9899 439472 : data_tmp = ISHFT(data_tmp, 49)
9900 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9901 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9902 439472 : idata = idata + 1
9903 439472 : data_tmp = full_data(idata)
9904 439472 : data_tmp = ISHFT(data_tmp, 49)
9905 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9906 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9907 439472 : idata = idata + 1
9908 439472 : data_tmp = full_data(idata)
9909 439472 : data_tmp = ISHFT(data_tmp, 49)
9910 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9911 439472 : pack_tmp = ISHFT(pack_tmp, -13)
9912 439472 : idata = idata + 1
9913 439472 : data_tmp = full_data(idata)
9914 439472 : data_tmp = ISHFT(data_tmp, 49)
9915 439472 : data_tmp = IAND(data_tmp, mask_left(13))
9916 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9917 439472 : ipack = ipack + 1
9918 439472 : packed_data(ipack) = pack_tmp
9919 439472 : data_tmp = full_data(idata)
9920 439472 : pack_tmp = ISHFT(data_tmp, 62)
9921 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9922 439472 : idata = idata + 1
9923 439472 : data_tmp = full_data(idata)
9924 439472 : data_tmp = ISHFT(data_tmp, 49)
9925 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9926 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9927 439472 : idata = idata + 1
9928 439472 : data_tmp = full_data(idata)
9929 439472 : data_tmp = ISHFT(data_tmp, 49)
9930 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9931 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9932 439472 : idata = idata + 1
9933 439472 : data_tmp = full_data(idata)
9934 439472 : data_tmp = ISHFT(data_tmp, 49)
9935 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9936 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9937 439472 : idata = idata + 1
9938 439472 : data_tmp = full_data(idata)
9939 439472 : data_tmp = ISHFT(data_tmp, 49)
9940 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9941 439472 : pack_tmp = ISHFT(pack_tmp, -2)
9942 439472 : idata = idata + 1
9943 439472 : data_tmp = full_data(idata)
9944 439472 : data_tmp = ISHFT(data_tmp, 49)
9945 439472 : data_tmp = IAND(data_tmp, mask_left(2))
9946 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9947 439472 : ipack = ipack + 1
9948 439472 : packed_data(ipack) = pack_tmp
9949 439472 : data_tmp = full_data(idata)
9950 439472 : pack_tmp = ISHFT(data_tmp, 51)
9951 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9952 439472 : idata = idata + 1
9953 439472 : data_tmp = full_data(idata)
9954 439472 : data_tmp = ISHFT(data_tmp, 49)
9955 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9956 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9957 439472 : idata = idata + 1
9958 439472 : data_tmp = full_data(idata)
9959 439472 : data_tmp = ISHFT(data_tmp, 49)
9960 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9961 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9962 439472 : idata = idata + 1
9963 439472 : data_tmp = full_data(idata)
9964 439472 : data_tmp = ISHFT(data_tmp, 49)
9965 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9966 439472 : pack_tmp = ISHFT(pack_tmp, -6)
9967 439472 : idata = idata + 1
9968 439472 : data_tmp = full_data(idata)
9969 439472 : data_tmp = ISHFT(data_tmp, 49)
9970 439472 : data_tmp = IAND(data_tmp, mask_left(6))
9971 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9972 439472 : ipack = ipack + 1
9973 439472 : packed_data(ipack) = pack_tmp
9974 439472 : data_tmp = full_data(idata)
9975 439472 : pack_tmp = ISHFT(data_tmp, 55)
9976 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9977 439472 : idata = idata + 1
9978 439472 : data_tmp = full_data(idata)
9979 439472 : data_tmp = ISHFT(data_tmp, 49)
9980 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9981 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9982 439472 : idata = idata + 1
9983 439472 : data_tmp = full_data(idata)
9984 439472 : data_tmp = ISHFT(data_tmp, 49)
9985 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9986 439472 : pack_tmp = ISHFT(pack_tmp, -15)
9987 439472 : idata = idata + 1
9988 439472 : data_tmp = full_data(idata)
9989 439472 : data_tmp = ISHFT(data_tmp, 49)
9990 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9991 439472 : pack_tmp = ISHFT(pack_tmp, -10)
9992 439472 : idata = idata + 1
9993 439472 : data_tmp = full_data(idata)
9994 439472 : data_tmp = ISHFT(data_tmp, 49)
9995 439472 : data_tmp = IAND(data_tmp, mask_left(10))
9996 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
9997 439472 : ipack = ipack + 1
9998 439472 : packed_data(ipack) = pack_tmp
9999 439472 : data_tmp = full_data(idata)
10000 439472 : pack_tmp = ISHFT(data_tmp, 59)
10001 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10002 439472 : idata = idata + 1
10003 439472 : data_tmp = full_data(idata)
10004 439472 : data_tmp = ISHFT(data_tmp, 49)
10005 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10006 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10007 439472 : idata = idata + 1
10008 439472 : data_tmp = full_data(idata)
10009 439472 : data_tmp = ISHFT(data_tmp, 49)
10010 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10011 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10012 439472 : idata = idata + 1
10013 439472 : data_tmp = full_data(idata)
10014 439472 : data_tmp = ISHFT(data_tmp, 49)
10015 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10016 439472 : pack_tmp = ISHFT(pack_tmp, -14)
10017 439472 : idata = idata + 1
10018 439472 : data_tmp = full_data(idata)
10019 439472 : data_tmp = ISHFT(data_tmp, 49)
10020 439472 : data_tmp = IAND(data_tmp, mask_left(14))
10021 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10022 439472 : ipack = ipack + 1
10023 439472 : packed_data(ipack) = pack_tmp
10024 439472 : data_tmp = full_data(idata)
10025 439472 : pack_tmp = ISHFT(data_tmp, 63)
10026 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10027 439472 : idata = idata + 1
10028 439472 : data_tmp = full_data(idata)
10029 439472 : data_tmp = ISHFT(data_tmp, 49)
10030 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10031 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10032 439472 : idata = idata + 1
10033 439472 : data_tmp = full_data(idata)
10034 439472 : data_tmp = ISHFT(data_tmp, 49)
10035 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10036 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10037 439472 : idata = idata + 1
10038 439472 : data_tmp = full_data(idata)
10039 439472 : data_tmp = ISHFT(data_tmp, 49)
10040 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10041 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10042 439472 : idata = idata + 1
10043 439472 : data_tmp = full_data(idata)
10044 439472 : data_tmp = ISHFT(data_tmp, 49)
10045 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10046 439472 : pack_tmp = ISHFT(pack_tmp, -3)
10047 439472 : idata = idata + 1
10048 439472 : data_tmp = full_data(idata)
10049 439472 : data_tmp = ISHFT(data_tmp, 49)
10050 439472 : data_tmp = IAND(data_tmp, mask_left(3))
10051 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10052 439472 : ipack = ipack + 1
10053 439472 : packed_data(ipack) = pack_tmp
10054 439472 : data_tmp = full_data(idata)
10055 439472 : pack_tmp = ISHFT(data_tmp, 52)
10056 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10057 439472 : idata = idata + 1
10058 439472 : data_tmp = full_data(idata)
10059 439472 : data_tmp = ISHFT(data_tmp, 49)
10060 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10061 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10062 439472 : idata = idata + 1
10063 439472 : data_tmp = full_data(idata)
10064 439472 : data_tmp = ISHFT(data_tmp, 49)
10065 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10066 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10067 439472 : idata = idata + 1
10068 439472 : data_tmp = full_data(idata)
10069 439472 : data_tmp = ISHFT(data_tmp, 49)
10070 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10071 439472 : pack_tmp = ISHFT(pack_tmp, -7)
10072 439472 : idata = idata + 1
10073 439472 : data_tmp = full_data(idata)
10074 439472 : data_tmp = ISHFT(data_tmp, 49)
10075 439472 : data_tmp = IAND(data_tmp, mask_left(7))
10076 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10077 439472 : ipack = ipack + 1
10078 439472 : packed_data(ipack) = pack_tmp
10079 439472 : data_tmp = full_data(idata)
10080 439472 : pack_tmp = ISHFT(data_tmp, 56)
10081 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10082 439472 : idata = idata + 1
10083 439472 : data_tmp = full_data(idata)
10084 439472 : data_tmp = ISHFT(data_tmp, 49)
10085 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10086 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10087 439472 : idata = idata + 1
10088 439472 : data_tmp = full_data(idata)
10089 439472 : data_tmp = ISHFT(data_tmp, 49)
10090 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10091 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10092 439472 : idata = idata + 1
10093 439472 : data_tmp = full_data(idata)
10094 439472 : data_tmp = ISHFT(data_tmp, 49)
10095 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10096 439472 : pack_tmp = ISHFT(pack_tmp, -11)
10097 439472 : idata = idata + 1
10098 439472 : data_tmp = full_data(idata)
10099 439472 : data_tmp = ISHFT(data_tmp, 49)
10100 439472 : data_tmp = IAND(data_tmp, mask_left(11))
10101 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10102 439472 : ipack = ipack + 1
10103 439472 : packed_data(ipack) = pack_tmp
10104 439472 : data_tmp = full_data(idata)
10105 439472 : pack_tmp = ISHFT(data_tmp, 60)
10106 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10107 439472 : idata = idata + 1
10108 439472 : data_tmp = full_data(idata)
10109 439472 : data_tmp = ISHFT(data_tmp, 49)
10110 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10111 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10112 439472 : idata = idata + 1
10113 439472 : data_tmp = full_data(idata)
10114 439472 : data_tmp = ISHFT(data_tmp, 49)
10115 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10116 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10117 439472 : idata = idata + 1
10118 439472 : data_tmp = full_data(idata)
10119 439472 : data_tmp = ISHFT(data_tmp, 49)
10120 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10121 439472 : pack_tmp = ISHFT(pack_tmp, -15)
10122 439472 : idata = idata + 1
10123 439472 : data_tmp = full_data(idata)
10124 439472 : data_tmp = ISHFT(data_tmp, 49)
10125 439472 : pack_tmp = IOR(pack_tmp, data_tmp)
10126 : pack_tmp = ISHFT(pack_tmp, 0)
10127 439472 : pack_tmp = ISHFT(pack_tmp, 0)
10128 439472 : ipack = ipack + 1
10129 439555 : packed_data(ipack) = pack_tmp
10130 : END DO
10131 28198 : IF (Ndata_rep < Ndata) THEN
10132 1376 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
10133 : END IF
10134 28198 : END SUBROUTINE ints2bits_15
10135 :
10136 : ! **************************************************************************************************
10137 : !> \brief ...
10138 : !> \param Ndata ...
10139 : !> \param packed_data ...
10140 : !> \param full_data ...
10141 : ! **************************************************************************************************
10142 127993 : 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(*)
10146 :
10147 : INTEGER, PARAMETER :: Nbits = 15
10148 :
10149 : INTEGER :: idata, ipack, kdata, Ndata_rep
10150 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
10151 :
10152 127993 : ipack = 0
10153 127993 : idata = 0
10154 127993 : pack_tmp = 0
10155 127993 : Ndata_rep = (Ndata/64)*64
10156 127993 : DO kdata = 1, Ndata_rep, 64
10157 1957754 : idata = idata + 1
10158 1957754 : data_tmp = ISHFT(pack_tmp, 15)
10159 1957754 : ipack = ipack + 1
10160 1957754 : pack_tmp = packed_data(ipack)
10161 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
10162 1957754 : pack_tmp = ISHFT(pack_tmp, -15)
10163 1957754 : idata = idata + 1
10164 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10165 1957754 : full_data(idata) = data_tmp
10166 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10167 1957754 : idata = idata + 1
10168 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10169 1957754 : full_data(idata) = data_tmp
10170 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10171 1957754 : idata = idata + 1
10172 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10173 1957754 : full_data(idata) = data_tmp
10174 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10175 1957754 : idata = idata + 1
10176 1957754 : data_tmp = ISHFT(pack_tmp, 11)
10177 1957754 : ipack = ipack + 1
10178 1957754 : pack_tmp = packed_data(ipack)
10179 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
10180 1957754 : pack_tmp = ISHFT(pack_tmp, -11)
10181 1957754 : idata = idata + 1
10182 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10183 1957754 : full_data(idata) = data_tmp
10184 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10185 1957754 : idata = idata + 1
10186 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10187 1957754 : full_data(idata) = data_tmp
10188 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10189 1957754 : idata = idata + 1
10190 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10191 1957754 : full_data(idata) = data_tmp
10192 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10193 1957754 : idata = idata + 1
10194 1957754 : data_tmp = ISHFT(pack_tmp, 7)
10195 1957754 : ipack = ipack + 1
10196 1957754 : pack_tmp = packed_data(ipack)
10197 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
10198 1957754 : pack_tmp = ISHFT(pack_tmp, -7)
10199 1957754 : idata = idata + 1
10200 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10201 1957754 : full_data(idata) = data_tmp
10202 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10203 1957754 : idata = idata + 1
10204 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10205 1957754 : full_data(idata) = data_tmp
10206 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10207 1957754 : idata = idata + 1
10208 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10209 1957754 : full_data(idata) = data_tmp
10210 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10211 1957754 : idata = idata + 1
10212 1957754 : data_tmp = ISHFT(pack_tmp, 3)
10213 1957754 : ipack = ipack + 1
10214 1957754 : pack_tmp = packed_data(ipack)
10215 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
10216 1957754 : pack_tmp = ISHFT(pack_tmp, -3)
10217 1957754 : idata = idata + 1
10218 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10219 1957754 : full_data(idata) = data_tmp
10220 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10221 1957754 : idata = idata + 1
10222 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10223 1957754 : full_data(idata) = data_tmp
10224 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10225 1957754 : idata = idata + 1
10226 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10227 1957754 : full_data(idata) = data_tmp
10228 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10229 1957754 : idata = idata + 1
10230 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10231 1957754 : full_data(idata) = data_tmp
10232 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10233 1957754 : idata = idata + 1
10234 1957754 : data_tmp = ISHFT(pack_tmp, 14)
10235 1957754 : ipack = ipack + 1
10236 1957754 : pack_tmp = packed_data(ipack)
10237 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
10238 1957754 : pack_tmp = ISHFT(pack_tmp, -14)
10239 1957754 : idata = idata + 1
10240 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10241 1957754 : full_data(idata) = data_tmp
10242 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10243 1957754 : idata = idata + 1
10244 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10245 1957754 : full_data(idata) = data_tmp
10246 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10247 1957754 : idata = idata + 1
10248 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10249 1957754 : full_data(idata) = data_tmp
10250 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10251 1957754 : idata = idata + 1
10252 1957754 : data_tmp = ISHFT(pack_tmp, 10)
10253 1957754 : ipack = ipack + 1
10254 1957754 : pack_tmp = packed_data(ipack)
10255 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
10256 1957754 : pack_tmp = ISHFT(pack_tmp, -10)
10257 1957754 : idata = idata + 1
10258 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10259 1957754 : full_data(idata) = data_tmp
10260 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10261 1957754 : idata = idata + 1
10262 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10263 1957754 : full_data(idata) = data_tmp
10264 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10265 1957754 : idata = idata + 1
10266 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10267 1957754 : full_data(idata) = data_tmp
10268 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10269 1957754 : idata = idata + 1
10270 1957754 : data_tmp = ISHFT(pack_tmp, 6)
10271 1957754 : ipack = ipack + 1
10272 1957754 : pack_tmp = packed_data(ipack)
10273 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
10274 1957754 : pack_tmp = ISHFT(pack_tmp, -6)
10275 1957754 : idata = idata + 1
10276 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10277 1957754 : full_data(idata) = data_tmp
10278 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10279 1957754 : idata = idata + 1
10280 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10281 1957754 : full_data(idata) = data_tmp
10282 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10283 1957754 : idata = idata + 1
10284 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10285 1957754 : full_data(idata) = data_tmp
10286 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10287 1957754 : idata = idata + 1
10288 1957754 : data_tmp = ISHFT(pack_tmp, 2)
10289 1957754 : ipack = ipack + 1
10290 1957754 : pack_tmp = packed_data(ipack)
10291 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
10292 1957754 : pack_tmp = ISHFT(pack_tmp, -2)
10293 1957754 : idata = idata + 1
10294 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10295 1957754 : full_data(idata) = data_tmp
10296 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10297 1957754 : idata = idata + 1
10298 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10299 1957754 : full_data(idata) = data_tmp
10300 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10301 1957754 : idata = idata + 1
10302 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10303 1957754 : full_data(idata) = data_tmp
10304 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10305 1957754 : idata = idata + 1
10306 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10307 1957754 : full_data(idata) = data_tmp
10308 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10309 1957754 : idata = idata + 1
10310 1957754 : data_tmp = ISHFT(pack_tmp, 13)
10311 1957754 : ipack = ipack + 1
10312 1957754 : pack_tmp = packed_data(ipack)
10313 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
10314 1957754 : pack_tmp = ISHFT(pack_tmp, -13)
10315 1957754 : idata = idata + 1
10316 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10317 1957754 : full_data(idata) = data_tmp
10318 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10319 1957754 : idata = idata + 1
10320 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10321 1957754 : full_data(idata) = data_tmp
10322 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10323 1957754 : idata = idata + 1
10324 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10325 1957754 : full_data(idata) = data_tmp
10326 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10327 1957754 : idata = idata + 1
10328 1957754 : data_tmp = ISHFT(pack_tmp, 9)
10329 1957754 : ipack = ipack + 1
10330 1957754 : pack_tmp = packed_data(ipack)
10331 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
10332 1957754 : pack_tmp = ISHFT(pack_tmp, -9)
10333 1957754 : idata = idata + 1
10334 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10335 1957754 : full_data(idata) = data_tmp
10336 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10337 1957754 : idata = idata + 1
10338 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10339 1957754 : full_data(idata) = data_tmp
10340 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10341 1957754 : idata = idata + 1
10342 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10343 1957754 : full_data(idata) = data_tmp
10344 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10345 1957754 : idata = idata + 1
10346 1957754 : data_tmp = ISHFT(pack_tmp, 5)
10347 1957754 : ipack = ipack + 1
10348 1957754 : pack_tmp = packed_data(ipack)
10349 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
10350 1957754 : pack_tmp = ISHFT(pack_tmp, -5)
10351 1957754 : idata = idata + 1
10352 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10353 1957754 : full_data(idata) = data_tmp
10354 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10355 1957754 : idata = idata + 1
10356 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10357 1957754 : full_data(idata) = data_tmp
10358 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10359 1957754 : idata = idata + 1
10360 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10361 1957754 : full_data(idata) = data_tmp
10362 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10363 1957754 : idata = idata + 1
10364 1957754 : data_tmp = ISHFT(pack_tmp, 1)
10365 1957754 : ipack = ipack + 1
10366 1957754 : pack_tmp = packed_data(ipack)
10367 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
10368 1957754 : pack_tmp = ISHFT(pack_tmp, -1)
10369 1957754 : idata = idata + 1
10370 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10371 1957754 : full_data(idata) = data_tmp
10372 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10373 1957754 : idata = idata + 1
10374 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10375 1957754 : full_data(idata) = data_tmp
10376 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10377 1957754 : idata = idata + 1
10378 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10379 1957754 : full_data(idata) = data_tmp
10380 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10381 1957754 : idata = idata + 1
10382 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10383 1957754 : full_data(idata) = data_tmp
10384 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10385 1957754 : idata = idata + 1
10386 1957754 : data_tmp = ISHFT(pack_tmp, 12)
10387 1957754 : ipack = ipack + 1
10388 1957754 : pack_tmp = packed_data(ipack)
10389 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
10390 1957754 : pack_tmp = ISHFT(pack_tmp, -12)
10391 1957754 : idata = idata + 1
10392 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10393 1957754 : full_data(idata) = data_tmp
10394 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10395 1957754 : idata = idata + 1
10396 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10397 1957754 : full_data(idata) = data_tmp
10398 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10399 1957754 : idata = idata + 1
10400 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10401 1957754 : full_data(idata) = data_tmp
10402 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10403 1957754 : idata = idata + 1
10404 1957754 : data_tmp = ISHFT(pack_tmp, 8)
10405 1957754 : ipack = ipack + 1
10406 1957754 : pack_tmp = packed_data(ipack)
10407 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
10408 1957754 : pack_tmp = ISHFT(pack_tmp, -8)
10409 1957754 : idata = idata + 1
10410 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10411 1957754 : full_data(idata) = data_tmp
10412 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10413 1957754 : idata = idata + 1
10414 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10415 1957754 : full_data(idata) = data_tmp
10416 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10417 1957754 : idata = idata + 1
10418 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10419 1957754 : full_data(idata) = data_tmp
10420 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10421 1957754 : idata = idata + 1
10422 1957754 : data_tmp = ISHFT(pack_tmp, 4)
10423 1957754 : ipack = ipack + 1
10424 1957754 : pack_tmp = packed_data(ipack)
10425 1957754 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
10426 1957754 : pack_tmp = ISHFT(pack_tmp, -4)
10427 1957754 : idata = idata + 1
10428 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10429 1957754 : full_data(idata) = data_tmp
10430 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10431 1957754 : idata = idata + 1
10432 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10433 1957754 : full_data(idata) = data_tmp
10434 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10435 1957754 : idata = idata + 1
10436 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10437 1957754 : full_data(idata) = data_tmp
10438 1957754 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10439 1957754 : idata = idata + 1
10440 1957754 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10441 1957754 : full_data(idata) = data_tmp
10442 1958391 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10443 : END DO
10444 127993 : IF (Ndata_rep < Ndata) THEN
10445 10604 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
10446 : END IF
10447 127993 : END SUBROUTINE bits2ints_15
10448 :
10449 : ! **************************************************************************************************
10450 : !> \brief ...
10451 : !> \param Ndata ...
10452 : !> \param packed_data ...
10453 : !> \param full_data ...
10454 : ! **************************************************************************************************
10455 29101 : 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(*)
10459 :
10460 : INTEGER, PARAMETER :: Nbits = 16
10461 :
10462 : INTEGER :: idata, ipack, kdata, Ndata_rep
10463 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
10464 :
10465 29101 : idata = 0
10466 29101 : ipack = 0
10467 29101 : Ndata_rep = (Ndata/64)*64
10468 29101 : DO kdata = 1, Ndata_rep, 64
10469 451520 : pack_tmp = 0
10470 451520 : idata = idata + 1
10471 451520 : data_tmp = full_data(idata)
10472 451520 : data_tmp = ISHFT(data_tmp, 48)
10473 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10474 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10475 451520 : idata = idata + 1
10476 451520 : data_tmp = full_data(idata)
10477 451520 : data_tmp = ISHFT(data_tmp, 48)
10478 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10479 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10480 451520 : idata = idata + 1
10481 451520 : data_tmp = full_data(idata)
10482 451520 : data_tmp = ISHFT(data_tmp, 48)
10483 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10484 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10485 451520 : idata = idata + 1
10486 451520 : data_tmp = full_data(idata)
10487 451520 : data_tmp = ISHFT(data_tmp, 48)
10488 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10489 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10490 451520 : idata = idata + 1
10491 451520 : data_tmp = full_data(idata)
10492 : data_tmp = ISHFT(data_tmp, 48)
10493 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10494 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10495 451520 : ipack = ipack + 1
10496 451520 : packed_data(ipack) = pack_tmp
10497 451520 : data_tmp = full_data(idata)
10498 451520 : pack_tmp = ISHFT(data_tmp, 48)
10499 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10500 451520 : idata = idata + 1
10501 451520 : data_tmp = full_data(idata)
10502 451520 : data_tmp = ISHFT(data_tmp, 48)
10503 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10504 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10505 451520 : idata = idata + 1
10506 451520 : data_tmp = full_data(idata)
10507 451520 : data_tmp = ISHFT(data_tmp, 48)
10508 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10509 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10510 451520 : idata = idata + 1
10511 451520 : data_tmp = full_data(idata)
10512 451520 : data_tmp = ISHFT(data_tmp, 48)
10513 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10514 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10515 451520 : idata = idata + 1
10516 451520 : data_tmp = full_data(idata)
10517 : data_tmp = ISHFT(data_tmp, 48)
10518 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10519 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10520 451520 : ipack = ipack + 1
10521 451520 : packed_data(ipack) = pack_tmp
10522 451520 : data_tmp = full_data(idata)
10523 451520 : pack_tmp = ISHFT(data_tmp, 48)
10524 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10525 451520 : idata = idata + 1
10526 451520 : data_tmp = full_data(idata)
10527 451520 : data_tmp = ISHFT(data_tmp, 48)
10528 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10529 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10530 451520 : idata = idata + 1
10531 451520 : data_tmp = full_data(idata)
10532 451520 : data_tmp = ISHFT(data_tmp, 48)
10533 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10534 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10535 451520 : idata = idata + 1
10536 451520 : data_tmp = full_data(idata)
10537 451520 : data_tmp = ISHFT(data_tmp, 48)
10538 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10539 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10540 451520 : idata = idata + 1
10541 451520 : data_tmp = full_data(idata)
10542 : data_tmp = ISHFT(data_tmp, 48)
10543 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10544 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10545 451520 : ipack = ipack + 1
10546 451520 : packed_data(ipack) = pack_tmp
10547 451520 : data_tmp = full_data(idata)
10548 451520 : pack_tmp = ISHFT(data_tmp, 48)
10549 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10550 451520 : idata = idata + 1
10551 451520 : data_tmp = full_data(idata)
10552 451520 : data_tmp = ISHFT(data_tmp, 48)
10553 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10554 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10555 451520 : idata = idata + 1
10556 451520 : data_tmp = full_data(idata)
10557 451520 : data_tmp = ISHFT(data_tmp, 48)
10558 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10559 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10560 451520 : idata = idata + 1
10561 451520 : data_tmp = full_data(idata)
10562 451520 : data_tmp = ISHFT(data_tmp, 48)
10563 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10564 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10565 451520 : idata = idata + 1
10566 451520 : data_tmp = full_data(idata)
10567 : data_tmp = ISHFT(data_tmp, 48)
10568 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10569 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10570 451520 : ipack = ipack + 1
10571 451520 : packed_data(ipack) = pack_tmp
10572 451520 : data_tmp = full_data(idata)
10573 451520 : pack_tmp = ISHFT(data_tmp, 48)
10574 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10575 451520 : idata = idata + 1
10576 451520 : data_tmp = full_data(idata)
10577 451520 : data_tmp = ISHFT(data_tmp, 48)
10578 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10579 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10580 451520 : idata = idata + 1
10581 451520 : data_tmp = full_data(idata)
10582 451520 : data_tmp = ISHFT(data_tmp, 48)
10583 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10584 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10585 451520 : idata = idata + 1
10586 451520 : data_tmp = full_data(idata)
10587 451520 : data_tmp = ISHFT(data_tmp, 48)
10588 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10589 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10590 451520 : idata = idata + 1
10591 451520 : data_tmp = full_data(idata)
10592 : data_tmp = ISHFT(data_tmp, 48)
10593 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10594 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10595 451520 : ipack = ipack + 1
10596 451520 : packed_data(ipack) = pack_tmp
10597 451520 : data_tmp = full_data(idata)
10598 451520 : pack_tmp = ISHFT(data_tmp, 48)
10599 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10600 451520 : idata = idata + 1
10601 451520 : data_tmp = full_data(idata)
10602 451520 : data_tmp = ISHFT(data_tmp, 48)
10603 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10604 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10605 451520 : idata = idata + 1
10606 451520 : data_tmp = full_data(idata)
10607 451520 : data_tmp = ISHFT(data_tmp, 48)
10608 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10609 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10610 451520 : idata = idata + 1
10611 451520 : data_tmp = full_data(idata)
10612 451520 : data_tmp = ISHFT(data_tmp, 48)
10613 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10614 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10615 451520 : idata = idata + 1
10616 451520 : data_tmp = full_data(idata)
10617 : data_tmp = ISHFT(data_tmp, 48)
10618 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10619 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10620 451520 : ipack = ipack + 1
10621 451520 : packed_data(ipack) = pack_tmp
10622 451520 : data_tmp = full_data(idata)
10623 451520 : pack_tmp = ISHFT(data_tmp, 48)
10624 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10625 451520 : idata = idata + 1
10626 451520 : data_tmp = full_data(idata)
10627 451520 : data_tmp = ISHFT(data_tmp, 48)
10628 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10629 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10630 451520 : idata = idata + 1
10631 451520 : data_tmp = full_data(idata)
10632 451520 : data_tmp = ISHFT(data_tmp, 48)
10633 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10634 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10635 451520 : idata = idata + 1
10636 451520 : data_tmp = full_data(idata)
10637 451520 : data_tmp = ISHFT(data_tmp, 48)
10638 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10639 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10640 451520 : idata = idata + 1
10641 451520 : data_tmp = full_data(idata)
10642 : data_tmp = ISHFT(data_tmp, 48)
10643 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10644 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10645 451520 : ipack = ipack + 1
10646 451520 : packed_data(ipack) = pack_tmp
10647 451520 : data_tmp = full_data(idata)
10648 451520 : pack_tmp = ISHFT(data_tmp, 48)
10649 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10650 451520 : idata = idata + 1
10651 451520 : data_tmp = full_data(idata)
10652 451520 : data_tmp = ISHFT(data_tmp, 48)
10653 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10654 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10655 451520 : idata = idata + 1
10656 451520 : data_tmp = full_data(idata)
10657 451520 : data_tmp = ISHFT(data_tmp, 48)
10658 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10659 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10660 451520 : idata = idata + 1
10661 451520 : data_tmp = full_data(idata)
10662 451520 : data_tmp = ISHFT(data_tmp, 48)
10663 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10664 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10665 451520 : idata = idata + 1
10666 451520 : data_tmp = full_data(idata)
10667 : data_tmp = ISHFT(data_tmp, 48)
10668 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10669 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10670 451520 : ipack = ipack + 1
10671 451520 : packed_data(ipack) = pack_tmp
10672 451520 : data_tmp = full_data(idata)
10673 451520 : pack_tmp = ISHFT(data_tmp, 48)
10674 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10675 451520 : idata = idata + 1
10676 451520 : data_tmp = full_data(idata)
10677 451520 : data_tmp = ISHFT(data_tmp, 48)
10678 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10679 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10680 451520 : idata = idata + 1
10681 451520 : data_tmp = full_data(idata)
10682 451520 : data_tmp = ISHFT(data_tmp, 48)
10683 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10684 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10685 451520 : idata = idata + 1
10686 451520 : data_tmp = full_data(idata)
10687 451520 : data_tmp = ISHFT(data_tmp, 48)
10688 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10689 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10690 451520 : idata = idata + 1
10691 451520 : data_tmp = full_data(idata)
10692 : data_tmp = ISHFT(data_tmp, 48)
10693 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10694 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10695 451520 : ipack = ipack + 1
10696 451520 : packed_data(ipack) = pack_tmp
10697 451520 : data_tmp = full_data(idata)
10698 451520 : pack_tmp = ISHFT(data_tmp, 48)
10699 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10700 451520 : idata = idata + 1
10701 451520 : data_tmp = full_data(idata)
10702 451520 : data_tmp = ISHFT(data_tmp, 48)
10703 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10704 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10705 451520 : idata = idata + 1
10706 451520 : data_tmp = full_data(idata)
10707 451520 : data_tmp = ISHFT(data_tmp, 48)
10708 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10709 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10710 451520 : idata = idata + 1
10711 451520 : data_tmp = full_data(idata)
10712 451520 : data_tmp = ISHFT(data_tmp, 48)
10713 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10714 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10715 451520 : idata = idata + 1
10716 451520 : data_tmp = full_data(idata)
10717 : data_tmp = ISHFT(data_tmp, 48)
10718 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10719 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10720 451520 : ipack = ipack + 1
10721 451520 : packed_data(ipack) = pack_tmp
10722 451520 : data_tmp = full_data(idata)
10723 451520 : pack_tmp = ISHFT(data_tmp, 48)
10724 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10725 451520 : idata = idata + 1
10726 451520 : data_tmp = full_data(idata)
10727 451520 : data_tmp = ISHFT(data_tmp, 48)
10728 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10729 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10730 451520 : idata = idata + 1
10731 451520 : data_tmp = full_data(idata)
10732 451520 : data_tmp = ISHFT(data_tmp, 48)
10733 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10734 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10735 451520 : idata = idata + 1
10736 451520 : data_tmp = full_data(idata)
10737 451520 : data_tmp = ISHFT(data_tmp, 48)
10738 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10739 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10740 451520 : idata = idata + 1
10741 451520 : data_tmp = full_data(idata)
10742 : data_tmp = ISHFT(data_tmp, 48)
10743 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10744 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10745 451520 : ipack = ipack + 1
10746 451520 : packed_data(ipack) = pack_tmp
10747 451520 : data_tmp = full_data(idata)
10748 451520 : pack_tmp = ISHFT(data_tmp, 48)
10749 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10750 451520 : idata = idata + 1
10751 451520 : data_tmp = full_data(idata)
10752 451520 : data_tmp = ISHFT(data_tmp, 48)
10753 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10754 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10755 451520 : idata = idata + 1
10756 451520 : data_tmp = full_data(idata)
10757 451520 : data_tmp = ISHFT(data_tmp, 48)
10758 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10759 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10760 451520 : idata = idata + 1
10761 451520 : data_tmp = full_data(idata)
10762 451520 : data_tmp = ISHFT(data_tmp, 48)
10763 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10764 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10765 451520 : idata = idata + 1
10766 451520 : data_tmp = full_data(idata)
10767 : data_tmp = ISHFT(data_tmp, 48)
10768 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10769 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10770 451520 : ipack = ipack + 1
10771 451520 : packed_data(ipack) = pack_tmp
10772 451520 : data_tmp = full_data(idata)
10773 451520 : pack_tmp = ISHFT(data_tmp, 48)
10774 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10775 451520 : idata = idata + 1
10776 451520 : data_tmp = full_data(idata)
10777 451520 : data_tmp = ISHFT(data_tmp, 48)
10778 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10779 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10780 451520 : idata = idata + 1
10781 451520 : data_tmp = full_data(idata)
10782 451520 : data_tmp = ISHFT(data_tmp, 48)
10783 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10784 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10785 451520 : idata = idata + 1
10786 451520 : data_tmp = full_data(idata)
10787 451520 : data_tmp = ISHFT(data_tmp, 48)
10788 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10789 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10790 451520 : idata = idata + 1
10791 451520 : data_tmp = full_data(idata)
10792 : data_tmp = ISHFT(data_tmp, 48)
10793 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10794 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10795 451520 : ipack = ipack + 1
10796 451520 : packed_data(ipack) = pack_tmp
10797 451520 : data_tmp = full_data(idata)
10798 451520 : pack_tmp = ISHFT(data_tmp, 48)
10799 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10800 451520 : idata = idata + 1
10801 451520 : data_tmp = full_data(idata)
10802 451520 : data_tmp = ISHFT(data_tmp, 48)
10803 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10804 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10805 451520 : idata = idata + 1
10806 451520 : data_tmp = full_data(idata)
10807 451520 : data_tmp = ISHFT(data_tmp, 48)
10808 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10809 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10810 451520 : idata = idata + 1
10811 451520 : data_tmp = full_data(idata)
10812 451520 : data_tmp = ISHFT(data_tmp, 48)
10813 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10814 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10815 451520 : idata = idata + 1
10816 451520 : data_tmp = full_data(idata)
10817 : data_tmp = ISHFT(data_tmp, 48)
10818 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10819 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10820 451520 : ipack = ipack + 1
10821 451520 : packed_data(ipack) = pack_tmp
10822 451520 : data_tmp = full_data(idata)
10823 451520 : pack_tmp = ISHFT(data_tmp, 48)
10824 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10825 451520 : idata = idata + 1
10826 451520 : data_tmp = full_data(idata)
10827 451520 : data_tmp = ISHFT(data_tmp, 48)
10828 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10829 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10830 451520 : idata = idata + 1
10831 451520 : data_tmp = full_data(idata)
10832 451520 : data_tmp = ISHFT(data_tmp, 48)
10833 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10834 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10835 451520 : idata = idata + 1
10836 451520 : data_tmp = full_data(idata)
10837 451520 : data_tmp = ISHFT(data_tmp, 48)
10838 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10839 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10840 451520 : idata = idata + 1
10841 451520 : data_tmp = full_data(idata)
10842 : data_tmp = ISHFT(data_tmp, 48)
10843 451520 : data_tmp = IAND(data_tmp, mask_left(0))
10844 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10845 451520 : ipack = ipack + 1
10846 451520 : packed_data(ipack) = pack_tmp
10847 451520 : data_tmp = full_data(idata)
10848 451520 : pack_tmp = ISHFT(data_tmp, 48)
10849 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10850 451520 : idata = idata + 1
10851 451520 : data_tmp = full_data(idata)
10852 451520 : data_tmp = ISHFT(data_tmp, 48)
10853 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10854 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10855 451520 : idata = idata + 1
10856 451520 : data_tmp = full_data(idata)
10857 451520 : data_tmp = ISHFT(data_tmp, 48)
10858 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10859 451520 : pack_tmp = ISHFT(pack_tmp, -16)
10860 451520 : idata = idata + 1
10861 451520 : data_tmp = full_data(idata)
10862 451520 : data_tmp = ISHFT(data_tmp, 48)
10863 451520 : pack_tmp = IOR(pack_tmp, data_tmp)
10864 : pack_tmp = ISHFT(pack_tmp, 0)
10865 451520 : pack_tmp = ISHFT(pack_tmp, 0)
10866 451520 : ipack = ipack + 1
10867 452401 : packed_data(ipack) = pack_tmp
10868 : END DO
10869 29101 : IF (Ndata_rep < Ndata) THEN
10870 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
10871 : END IF
10872 29101 : END SUBROUTINE ints2bits_16
10873 :
10874 : ! **************************************************************************************************
10875 : !> \brief ...
10876 : !> \param Ndata ...
10877 : !> \param packed_data ...
10878 : !> \param full_data ...
10879 : ! **************************************************************************************************
10880 140683 : 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(*)
10884 :
10885 : INTEGER, PARAMETER :: Nbits = 16
10886 :
10887 : INTEGER :: idata, ipack, kdata, Ndata_rep
10888 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
10889 :
10890 140683 : ipack = 0
10891 140683 : idata = 0
10892 140683 : pack_tmp = 0
10893 140683 : Ndata_rep = (Ndata/64)*64
10894 140683 : DO kdata = 1, Ndata_rep, 64
10895 2124768 : idata = idata + 1
10896 2124768 : data_tmp = ISHFT(pack_tmp, 16)
10897 2124768 : ipack = ipack + 1
10898 2124768 : pack_tmp = packed_data(ipack)
10899 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10900 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
10901 2124768 : idata = idata + 1
10902 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10903 2124768 : full_data(idata) = data_tmp
10904 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10905 2124768 : idata = idata + 1
10906 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10907 2124768 : full_data(idata) = data_tmp
10908 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10909 2124768 : idata = idata + 1
10910 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10911 2124768 : full_data(idata) = data_tmp
10912 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10913 2124768 : idata = idata + 1
10914 2124768 : data_tmp = ISHFT(pack_tmp, 16)
10915 2124768 : ipack = ipack + 1
10916 2124768 : pack_tmp = packed_data(ipack)
10917 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10918 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
10919 2124768 : idata = idata + 1
10920 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10921 2124768 : full_data(idata) = data_tmp
10922 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10923 2124768 : idata = idata + 1
10924 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10925 2124768 : full_data(idata) = data_tmp
10926 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10927 2124768 : idata = idata + 1
10928 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10929 2124768 : full_data(idata) = data_tmp
10930 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10931 2124768 : idata = idata + 1
10932 2124768 : data_tmp = ISHFT(pack_tmp, 16)
10933 2124768 : ipack = ipack + 1
10934 2124768 : pack_tmp = packed_data(ipack)
10935 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10936 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
10937 2124768 : idata = idata + 1
10938 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10939 2124768 : full_data(idata) = data_tmp
10940 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10941 2124768 : idata = idata + 1
10942 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10943 2124768 : full_data(idata) = data_tmp
10944 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10945 2124768 : idata = idata + 1
10946 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10947 2124768 : full_data(idata) = data_tmp
10948 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10949 2124768 : idata = idata + 1
10950 2124768 : data_tmp = ISHFT(pack_tmp, 16)
10951 2124768 : ipack = ipack + 1
10952 2124768 : pack_tmp = packed_data(ipack)
10953 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10954 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
10955 2124768 : idata = idata + 1
10956 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10957 2124768 : full_data(idata) = data_tmp
10958 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10959 2124768 : idata = idata + 1
10960 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10961 2124768 : full_data(idata) = data_tmp
10962 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10963 2124768 : idata = idata + 1
10964 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10965 2124768 : full_data(idata) = data_tmp
10966 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10967 2124768 : idata = idata + 1
10968 2124768 : data_tmp = ISHFT(pack_tmp, 16)
10969 2124768 : ipack = ipack + 1
10970 2124768 : pack_tmp = packed_data(ipack)
10971 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10972 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
10973 2124768 : idata = idata + 1
10974 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10975 2124768 : full_data(idata) = data_tmp
10976 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10977 2124768 : idata = idata + 1
10978 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10979 2124768 : full_data(idata) = data_tmp
10980 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10981 2124768 : idata = idata + 1
10982 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10983 2124768 : full_data(idata) = data_tmp
10984 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10985 2124768 : idata = idata + 1
10986 2124768 : data_tmp = ISHFT(pack_tmp, 16)
10987 2124768 : ipack = ipack + 1
10988 2124768 : pack_tmp = packed_data(ipack)
10989 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
10990 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
10991 2124768 : idata = idata + 1
10992 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10993 2124768 : full_data(idata) = data_tmp
10994 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10995 2124768 : idata = idata + 1
10996 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
10997 2124768 : full_data(idata) = data_tmp
10998 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
10999 2124768 : idata = idata + 1
11000 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11001 2124768 : full_data(idata) = data_tmp
11002 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11003 2124768 : idata = idata + 1
11004 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11005 2124768 : ipack = ipack + 1
11006 2124768 : pack_tmp = packed_data(ipack)
11007 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11008 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11009 2124768 : idata = idata + 1
11010 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11011 2124768 : full_data(idata) = data_tmp
11012 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11013 2124768 : idata = idata + 1
11014 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11015 2124768 : full_data(idata) = data_tmp
11016 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11017 2124768 : idata = idata + 1
11018 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11019 2124768 : full_data(idata) = data_tmp
11020 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11021 2124768 : idata = idata + 1
11022 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11023 2124768 : ipack = ipack + 1
11024 2124768 : pack_tmp = packed_data(ipack)
11025 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11026 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11027 2124768 : idata = idata + 1
11028 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11029 2124768 : full_data(idata) = data_tmp
11030 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11031 2124768 : idata = idata + 1
11032 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11033 2124768 : full_data(idata) = data_tmp
11034 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11035 2124768 : idata = idata + 1
11036 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11037 2124768 : full_data(idata) = data_tmp
11038 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11039 2124768 : idata = idata + 1
11040 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11041 2124768 : ipack = ipack + 1
11042 2124768 : pack_tmp = packed_data(ipack)
11043 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11044 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11045 2124768 : idata = idata + 1
11046 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11047 2124768 : full_data(idata) = data_tmp
11048 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11049 2124768 : idata = idata + 1
11050 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11051 2124768 : full_data(idata) = data_tmp
11052 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11053 2124768 : idata = idata + 1
11054 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11055 2124768 : full_data(idata) = data_tmp
11056 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11057 2124768 : idata = idata + 1
11058 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11059 2124768 : ipack = ipack + 1
11060 2124768 : pack_tmp = packed_data(ipack)
11061 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11062 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11063 2124768 : idata = idata + 1
11064 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11065 2124768 : full_data(idata) = data_tmp
11066 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11067 2124768 : idata = idata + 1
11068 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11069 2124768 : full_data(idata) = data_tmp
11070 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11071 2124768 : idata = idata + 1
11072 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11073 2124768 : full_data(idata) = data_tmp
11074 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11075 2124768 : idata = idata + 1
11076 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11077 2124768 : ipack = ipack + 1
11078 2124768 : pack_tmp = packed_data(ipack)
11079 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11080 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11081 2124768 : idata = idata + 1
11082 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11083 2124768 : full_data(idata) = data_tmp
11084 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11085 2124768 : idata = idata + 1
11086 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11087 2124768 : full_data(idata) = data_tmp
11088 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11089 2124768 : idata = idata + 1
11090 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11091 2124768 : full_data(idata) = data_tmp
11092 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11093 2124768 : idata = idata + 1
11094 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11095 2124768 : ipack = ipack + 1
11096 2124768 : pack_tmp = packed_data(ipack)
11097 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11098 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11099 2124768 : idata = idata + 1
11100 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11101 2124768 : full_data(idata) = data_tmp
11102 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11103 2124768 : idata = idata + 1
11104 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11105 2124768 : full_data(idata) = data_tmp
11106 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11107 2124768 : idata = idata + 1
11108 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11109 2124768 : full_data(idata) = data_tmp
11110 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11111 2124768 : idata = idata + 1
11112 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11113 2124768 : ipack = ipack + 1
11114 2124768 : pack_tmp = packed_data(ipack)
11115 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11116 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11117 2124768 : idata = idata + 1
11118 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11119 2124768 : full_data(idata) = data_tmp
11120 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11121 2124768 : idata = idata + 1
11122 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11123 2124768 : full_data(idata) = data_tmp
11124 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11125 2124768 : idata = idata + 1
11126 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11127 2124768 : full_data(idata) = data_tmp
11128 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11129 2124768 : idata = idata + 1
11130 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11131 2124768 : ipack = ipack + 1
11132 2124768 : pack_tmp = packed_data(ipack)
11133 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11134 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11135 2124768 : idata = idata + 1
11136 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11137 2124768 : full_data(idata) = data_tmp
11138 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11139 2124768 : idata = idata + 1
11140 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11141 2124768 : full_data(idata) = data_tmp
11142 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11143 2124768 : idata = idata + 1
11144 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11145 2124768 : full_data(idata) = data_tmp
11146 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11147 2124768 : idata = idata + 1
11148 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11149 2124768 : ipack = ipack + 1
11150 2124768 : pack_tmp = packed_data(ipack)
11151 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11152 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11153 2124768 : idata = idata + 1
11154 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11155 2124768 : full_data(idata) = data_tmp
11156 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11157 2124768 : idata = idata + 1
11158 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11159 2124768 : full_data(idata) = data_tmp
11160 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11161 2124768 : idata = idata + 1
11162 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11163 2124768 : full_data(idata) = data_tmp
11164 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11165 2124768 : idata = idata + 1
11166 2124768 : data_tmp = ISHFT(pack_tmp, 16)
11167 2124768 : ipack = ipack + 1
11168 2124768 : pack_tmp = packed_data(ipack)
11169 2124768 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11170 2124768 : pack_tmp = ISHFT(pack_tmp, -16)
11171 2124768 : idata = idata + 1
11172 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11173 2124768 : full_data(idata) = data_tmp
11174 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11175 2124768 : idata = idata + 1
11176 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11177 2124768 : full_data(idata) = data_tmp
11178 2124768 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11179 2124768 : idata = idata + 1
11180 2124768 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11181 2124768 : full_data(idata) = data_tmp
11182 2132653 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11183 : END DO
11184 140683 : IF (Ndata_rep < Ndata) THEN
11185 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
11186 : END IF
11187 140683 : END SUBROUTINE bits2ints_16
11188 :
11189 : ! **************************************************************************************************
11190 : !> \brief ...
11191 : !> \param Ndata ...
11192 : !> \param packed_data ...
11193 : !> \param full_data ...
11194 : ! **************************************************************************************************
11195 32724 : 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(*)
11199 :
11200 : INTEGER, PARAMETER :: Nbits = 17
11201 :
11202 : INTEGER :: idata, ipack, kdata, Ndata_rep
11203 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
11204 :
11205 32724 : idata = 0
11206 32724 : ipack = 0
11207 32724 : Ndata_rep = (Ndata/64)*64
11208 32724 : DO kdata = 1, Ndata_rep, 64
11209 495487 : pack_tmp = 0
11210 495487 : idata = idata + 1
11211 495487 : data_tmp = full_data(idata)
11212 495487 : data_tmp = ISHFT(data_tmp, 47)
11213 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11214 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11215 495487 : idata = idata + 1
11216 495487 : data_tmp = full_data(idata)
11217 495487 : data_tmp = ISHFT(data_tmp, 47)
11218 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11219 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11220 495487 : idata = idata + 1
11221 495487 : data_tmp = full_data(idata)
11222 495487 : data_tmp = ISHFT(data_tmp, 47)
11223 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11224 495487 : pack_tmp = ISHFT(pack_tmp, -13)
11225 495487 : idata = idata + 1
11226 495487 : data_tmp = full_data(idata)
11227 495487 : data_tmp = ISHFT(data_tmp, 47)
11228 495487 : data_tmp = IAND(data_tmp, mask_left(13))
11229 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11230 495487 : ipack = ipack + 1
11231 495487 : packed_data(ipack) = pack_tmp
11232 495487 : data_tmp = full_data(idata)
11233 495487 : pack_tmp = ISHFT(data_tmp, 60)
11234 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11235 495487 : idata = idata + 1
11236 495487 : data_tmp = full_data(idata)
11237 495487 : data_tmp = ISHFT(data_tmp, 47)
11238 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11239 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11240 495487 : idata = idata + 1
11241 495487 : data_tmp = full_data(idata)
11242 495487 : data_tmp = ISHFT(data_tmp, 47)
11243 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11244 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11245 495487 : idata = idata + 1
11246 495487 : data_tmp = full_data(idata)
11247 495487 : data_tmp = ISHFT(data_tmp, 47)
11248 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11249 495487 : pack_tmp = ISHFT(pack_tmp, -9)
11250 495487 : idata = idata + 1
11251 495487 : data_tmp = full_data(idata)
11252 495487 : data_tmp = ISHFT(data_tmp, 47)
11253 495487 : data_tmp = IAND(data_tmp, mask_left(9))
11254 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11255 495487 : ipack = ipack + 1
11256 495487 : packed_data(ipack) = pack_tmp
11257 495487 : data_tmp = full_data(idata)
11258 495487 : pack_tmp = ISHFT(data_tmp, 56)
11259 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11260 495487 : idata = idata + 1
11261 495487 : data_tmp = full_data(idata)
11262 495487 : data_tmp = ISHFT(data_tmp, 47)
11263 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11264 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11265 495487 : idata = idata + 1
11266 495487 : data_tmp = full_data(idata)
11267 495487 : data_tmp = ISHFT(data_tmp, 47)
11268 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11269 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11270 495487 : idata = idata + 1
11271 495487 : data_tmp = full_data(idata)
11272 495487 : data_tmp = ISHFT(data_tmp, 47)
11273 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11274 495487 : pack_tmp = ISHFT(pack_tmp, -5)
11275 495487 : idata = idata + 1
11276 495487 : data_tmp = full_data(idata)
11277 495487 : data_tmp = ISHFT(data_tmp, 47)
11278 495487 : data_tmp = IAND(data_tmp, mask_left(5))
11279 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11280 495487 : ipack = ipack + 1
11281 495487 : packed_data(ipack) = pack_tmp
11282 495487 : data_tmp = full_data(idata)
11283 495487 : pack_tmp = ISHFT(data_tmp, 52)
11284 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11285 495487 : idata = idata + 1
11286 495487 : data_tmp = full_data(idata)
11287 495487 : data_tmp = ISHFT(data_tmp, 47)
11288 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11289 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11290 495487 : idata = idata + 1
11291 495487 : data_tmp = full_data(idata)
11292 495487 : data_tmp = ISHFT(data_tmp, 47)
11293 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11294 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11295 495487 : idata = idata + 1
11296 495487 : data_tmp = full_data(idata)
11297 495487 : data_tmp = ISHFT(data_tmp, 47)
11298 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11299 495487 : pack_tmp = ISHFT(pack_tmp, -1)
11300 495487 : idata = idata + 1
11301 495487 : data_tmp = full_data(idata)
11302 495487 : data_tmp = ISHFT(data_tmp, 47)
11303 495487 : data_tmp = IAND(data_tmp, mask_left(1))
11304 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11305 495487 : ipack = ipack + 1
11306 495487 : packed_data(ipack) = pack_tmp
11307 495487 : data_tmp = full_data(idata)
11308 495487 : pack_tmp = ISHFT(data_tmp, 48)
11309 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11310 495487 : idata = idata + 1
11311 495487 : data_tmp = full_data(idata)
11312 495487 : data_tmp = ISHFT(data_tmp, 47)
11313 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11314 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11315 495487 : idata = idata + 1
11316 495487 : data_tmp = full_data(idata)
11317 495487 : data_tmp = ISHFT(data_tmp, 47)
11318 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11319 495487 : pack_tmp = ISHFT(pack_tmp, -14)
11320 495487 : idata = idata + 1
11321 495487 : data_tmp = full_data(idata)
11322 495487 : data_tmp = ISHFT(data_tmp, 47)
11323 495487 : data_tmp = IAND(data_tmp, mask_left(14))
11324 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11325 495487 : ipack = ipack + 1
11326 495487 : packed_data(ipack) = pack_tmp
11327 495487 : data_tmp = full_data(idata)
11328 495487 : pack_tmp = ISHFT(data_tmp, 61)
11329 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11330 495487 : idata = idata + 1
11331 495487 : data_tmp = full_data(idata)
11332 495487 : data_tmp = ISHFT(data_tmp, 47)
11333 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11334 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11335 495487 : idata = idata + 1
11336 495487 : data_tmp = full_data(idata)
11337 495487 : data_tmp = ISHFT(data_tmp, 47)
11338 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11339 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11340 495487 : idata = idata + 1
11341 495487 : data_tmp = full_data(idata)
11342 495487 : data_tmp = ISHFT(data_tmp, 47)
11343 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11344 495487 : pack_tmp = ISHFT(pack_tmp, -10)
11345 495487 : idata = idata + 1
11346 495487 : data_tmp = full_data(idata)
11347 495487 : data_tmp = ISHFT(data_tmp, 47)
11348 495487 : data_tmp = IAND(data_tmp, mask_left(10))
11349 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11350 495487 : ipack = ipack + 1
11351 495487 : packed_data(ipack) = pack_tmp
11352 495487 : data_tmp = full_data(idata)
11353 495487 : pack_tmp = ISHFT(data_tmp, 57)
11354 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11355 495487 : idata = idata + 1
11356 495487 : data_tmp = full_data(idata)
11357 495487 : data_tmp = ISHFT(data_tmp, 47)
11358 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11359 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11360 495487 : idata = idata + 1
11361 495487 : data_tmp = full_data(idata)
11362 495487 : data_tmp = ISHFT(data_tmp, 47)
11363 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11364 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11365 495487 : idata = idata + 1
11366 495487 : data_tmp = full_data(idata)
11367 495487 : data_tmp = ISHFT(data_tmp, 47)
11368 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11369 495487 : pack_tmp = ISHFT(pack_tmp, -6)
11370 495487 : idata = idata + 1
11371 495487 : data_tmp = full_data(idata)
11372 495487 : data_tmp = ISHFT(data_tmp, 47)
11373 495487 : data_tmp = IAND(data_tmp, mask_left(6))
11374 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11375 495487 : ipack = ipack + 1
11376 495487 : packed_data(ipack) = pack_tmp
11377 495487 : data_tmp = full_data(idata)
11378 495487 : pack_tmp = ISHFT(data_tmp, 53)
11379 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11380 495487 : idata = idata + 1
11381 495487 : data_tmp = full_data(idata)
11382 495487 : data_tmp = ISHFT(data_tmp, 47)
11383 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11384 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11385 495487 : idata = idata + 1
11386 495487 : data_tmp = full_data(idata)
11387 495487 : data_tmp = ISHFT(data_tmp, 47)
11388 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11389 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11390 495487 : idata = idata + 1
11391 495487 : data_tmp = full_data(idata)
11392 495487 : data_tmp = ISHFT(data_tmp, 47)
11393 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11394 495487 : pack_tmp = ISHFT(pack_tmp, -2)
11395 495487 : idata = idata + 1
11396 495487 : data_tmp = full_data(idata)
11397 495487 : data_tmp = ISHFT(data_tmp, 47)
11398 495487 : data_tmp = IAND(data_tmp, mask_left(2))
11399 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11400 495487 : ipack = ipack + 1
11401 495487 : packed_data(ipack) = pack_tmp
11402 495487 : data_tmp = full_data(idata)
11403 495487 : pack_tmp = ISHFT(data_tmp, 49)
11404 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11405 495487 : idata = idata + 1
11406 495487 : data_tmp = full_data(idata)
11407 495487 : data_tmp = ISHFT(data_tmp, 47)
11408 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11409 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11410 495487 : idata = idata + 1
11411 495487 : data_tmp = full_data(idata)
11412 495487 : data_tmp = ISHFT(data_tmp, 47)
11413 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11414 495487 : pack_tmp = ISHFT(pack_tmp, -15)
11415 495487 : idata = idata + 1
11416 495487 : data_tmp = full_data(idata)
11417 495487 : data_tmp = ISHFT(data_tmp, 47)
11418 495487 : data_tmp = IAND(data_tmp, mask_left(15))
11419 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11420 495487 : ipack = ipack + 1
11421 495487 : packed_data(ipack) = pack_tmp
11422 495487 : data_tmp = full_data(idata)
11423 495487 : pack_tmp = ISHFT(data_tmp, 62)
11424 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11425 495487 : idata = idata + 1
11426 495487 : data_tmp = full_data(idata)
11427 495487 : data_tmp = ISHFT(data_tmp, 47)
11428 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11429 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11430 495487 : idata = idata + 1
11431 495487 : data_tmp = full_data(idata)
11432 495487 : data_tmp = ISHFT(data_tmp, 47)
11433 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11434 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11435 495487 : idata = idata + 1
11436 495487 : data_tmp = full_data(idata)
11437 495487 : data_tmp = ISHFT(data_tmp, 47)
11438 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11439 495487 : pack_tmp = ISHFT(pack_tmp, -11)
11440 495487 : idata = idata + 1
11441 495487 : data_tmp = full_data(idata)
11442 495487 : data_tmp = ISHFT(data_tmp, 47)
11443 495487 : data_tmp = IAND(data_tmp, mask_left(11))
11444 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11445 495487 : ipack = ipack + 1
11446 495487 : packed_data(ipack) = pack_tmp
11447 495487 : data_tmp = full_data(idata)
11448 495487 : pack_tmp = ISHFT(data_tmp, 58)
11449 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11450 495487 : idata = idata + 1
11451 495487 : data_tmp = full_data(idata)
11452 495487 : data_tmp = ISHFT(data_tmp, 47)
11453 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11454 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11455 495487 : idata = idata + 1
11456 495487 : data_tmp = full_data(idata)
11457 495487 : data_tmp = ISHFT(data_tmp, 47)
11458 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11459 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11460 495487 : idata = idata + 1
11461 495487 : data_tmp = full_data(idata)
11462 495487 : data_tmp = ISHFT(data_tmp, 47)
11463 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11464 495487 : pack_tmp = ISHFT(pack_tmp, -7)
11465 495487 : idata = idata + 1
11466 495487 : data_tmp = full_data(idata)
11467 495487 : data_tmp = ISHFT(data_tmp, 47)
11468 495487 : data_tmp = IAND(data_tmp, mask_left(7))
11469 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11470 495487 : ipack = ipack + 1
11471 495487 : packed_data(ipack) = pack_tmp
11472 495487 : data_tmp = full_data(idata)
11473 495487 : pack_tmp = ISHFT(data_tmp, 54)
11474 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11475 495487 : idata = idata + 1
11476 495487 : data_tmp = full_data(idata)
11477 495487 : data_tmp = ISHFT(data_tmp, 47)
11478 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11479 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11480 495487 : idata = idata + 1
11481 495487 : data_tmp = full_data(idata)
11482 495487 : data_tmp = ISHFT(data_tmp, 47)
11483 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11484 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11485 495487 : idata = idata + 1
11486 495487 : data_tmp = full_data(idata)
11487 495487 : data_tmp = ISHFT(data_tmp, 47)
11488 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11489 495487 : pack_tmp = ISHFT(pack_tmp, -3)
11490 495487 : idata = idata + 1
11491 495487 : data_tmp = full_data(idata)
11492 495487 : data_tmp = ISHFT(data_tmp, 47)
11493 495487 : data_tmp = IAND(data_tmp, mask_left(3))
11494 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11495 495487 : ipack = ipack + 1
11496 495487 : packed_data(ipack) = pack_tmp
11497 495487 : data_tmp = full_data(idata)
11498 495487 : pack_tmp = ISHFT(data_tmp, 50)
11499 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11500 495487 : idata = idata + 1
11501 495487 : data_tmp = full_data(idata)
11502 495487 : data_tmp = ISHFT(data_tmp, 47)
11503 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11504 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11505 495487 : idata = idata + 1
11506 495487 : data_tmp = full_data(idata)
11507 495487 : data_tmp = ISHFT(data_tmp, 47)
11508 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11509 495487 : pack_tmp = ISHFT(pack_tmp, -16)
11510 495487 : idata = idata + 1
11511 495487 : data_tmp = full_data(idata)
11512 495487 : data_tmp = ISHFT(data_tmp, 47)
11513 495487 : data_tmp = IAND(data_tmp, mask_left(16))
11514 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11515 495487 : ipack = ipack + 1
11516 495487 : packed_data(ipack) = pack_tmp
11517 495487 : data_tmp = full_data(idata)
11518 495487 : pack_tmp = ISHFT(data_tmp, 63)
11519 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11520 495487 : idata = idata + 1
11521 495487 : data_tmp = full_data(idata)
11522 495487 : data_tmp = ISHFT(data_tmp, 47)
11523 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11524 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11525 495487 : idata = idata + 1
11526 495487 : data_tmp = full_data(idata)
11527 495487 : data_tmp = ISHFT(data_tmp, 47)
11528 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11529 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11530 495487 : idata = idata + 1
11531 495487 : data_tmp = full_data(idata)
11532 495487 : data_tmp = ISHFT(data_tmp, 47)
11533 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11534 495487 : pack_tmp = ISHFT(pack_tmp, -12)
11535 495487 : idata = idata + 1
11536 495487 : data_tmp = full_data(idata)
11537 495487 : data_tmp = ISHFT(data_tmp, 47)
11538 495487 : data_tmp = IAND(data_tmp, mask_left(12))
11539 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11540 495487 : ipack = ipack + 1
11541 495487 : packed_data(ipack) = pack_tmp
11542 495487 : data_tmp = full_data(idata)
11543 495487 : pack_tmp = ISHFT(data_tmp, 59)
11544 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11545 495487 : idata = idata + 1
11546 495487 : data_tmp = full_data(idata)
11547 495487 : data_tmp = ISHFT(data_tmp, 47)
11548 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11549 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11550 495487 : idata = idata + 1
11551 495487 : data_tmp = full_data(idata)
11552 495487 : data_tmp = ISHFT(data_tmp, 47)
11553 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11554 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11555 495487 : idata = idata + 1
11556 495487 : data_tmp = full_data(idata)
11557 495487 : data_tmp = ISHFT(data_tmp, 47)
11558 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11559 495487 : pack_tmp = ISHFT(pack_tmp, -8)
11560 495487 : idata = idata + 1
11561 495487 : data_tmp = full_data(idata)
11562 495487 : data_tmp = ISHFT(data_tmp, 47)
11563 495487 : data_tmp = IAND(data_tmp, mask_left(8))
11564 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11565 495487 : ipack = ipack + 1
11566 495487 : packed_data(ipack) = pack_tmp
11567 495487 : data_tmp = full_data(idata)
11568 495487 : pack_tmp = ISHFT(data_tmp, 55)
11569 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11570 495487 : idata = idata + 1
11571 495487 : data_tmp = full_data(idata)
11572 495487 : data_tmp = ISHFT(data_tmp, 47)
11573 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11574 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11575 495487 : idata = idata + 1
11576 495487 : data_tmp = full_data(idata)
11577 495487 : data_tmp = ISHFT(data_tmp, 47)
11578 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11579 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11580 495487 : idata = idata + 1
11581 495487 : data_tmp = full_data(idata)
11582 495487 : data_tmp = ISHFT(data_tmp, 47)
11583 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11584 495487 : pack_tmp = ISHFT(pack_tmp, -4)
11585 495487 : idata = idata + 1
11586 495487 : data_tmp = full_data(idata)
11587 495487 : data_tmp = ISHFT(data_tmp, 47)
11588 495487 : data_tmp = IAND(data_tmp, mask_left(4))
11589 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11590 495487 : ipack = ipack + 1
11591 495487 : packed_data(ipack) = pack_tmp
11592 495487 : data_tmp = full_data(idata)
11593 495487 : pack_tmp = ISHFT(data_tmp, 51)
11594 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11595 495487 : idata = idata + 1
11596 495487 : data_tmp = full_data(idata)
11597 495487 : data_tmp = ISHFT(data_tmp, 47)
11598 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11599 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11600 495487 : idata = idata + 1
11601 495487 : data_tmp = full_data(idata)
11602 495487 : data_tmp = ISHFT(data_tmp, 47)
11603 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11604 495487 : pack_tmp = ISHFT(pack_tmp, -17)
11605 495487 : idata = idata + 1
11606 495487 : data_tmp = full_data(idata)
11607 495487 : data_tmp = ISHFT(data_tmp, 47)
11608 495487 : pack_tmp = IOR(pack_tmp, data_tmp)
11609 : pack_tmp = ISHFT(pack_tmp, 0)
11610 495487 : pack_tmp = ISHFT(pack_tmp, 0)
11611 495487 : ipack = ipack + 1
11612 495629 : packed_data(ipack) = pack_tmp
11613 : END DO
11614 32724 : IF (Ndata_rep < Ndata) THEN
11615 3202 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
11616 : END IF
11617 32724 : END SUBROUTINE ints2bits_17
11618 :
11619 : ! **************************************************************************************************
11620 : !> \brief ...
11621 : !> \param Ndata ...
11622 : !> \param packed_data ...
11623 : !> \param full_data ...
11624 : ! **************************************************************************************************
11625 167645 : 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(*)
11629 :
11630 : INTEGER, PARAMETER :: Nbits = 17
11631 :
11632 : INTEGER :: idata, ipack, kdata, Ndata_rep
11633 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
11634 :
11635 167645 : ipack = 0
11636 167645 : idata = 0
11637 167645 : pack_tmp = 0
11638 167645 : Ndata_rep = (Ndata/64)*64
11639 167645 : DO kdata = 1, Ndata_rep, 64
11640 2452587 : idata = idata + 1
11641 2452587 : data_tmp = ISHFT(pack_tmp, 17)
11642 2452587 : ipack = ipack + 1
11643 2452587 : pack_tmp = packed_data(ipack)
11644 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
11645 2452587 : pack_tmp = ISHFT(pack_tmp, -17)
11646 2452587 : idata = idata + 1
11647 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11648 2452587 : full_data(idata) = data_tmp
11649 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11650 2452587 : idata = idata + 1
11651 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11652 2452587 : full_data(idata) = data_tmp
11653 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11654 2452587 : idata = idata + 1
11655 2452587 : data_tmp = ISHFT(pack_tmp, 4)
11656 2452587 : ipack = ipack + 1
11657 2452587 : pack_tmp = packed_data(ipack)
11658 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
11659 2452587 : pack_tmp = ISHFT(pack_tmp, -4)
11660 2452587 : idata = idata + 1
11661 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11662 2452587 : full_data(idata) = data_tmp
11663 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11664 2452587 : idata = idata + 1
11665 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11666 2452587 : full_data(idata) = data_tmp
11667 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11668 2452587 : idata = idata + 1
11669 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11670 2452587 : full_data(idata) = data_tmp
11671 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11672 2452587 : idata = idata + 1
11673 2452587 : data_tmp = ISHFT(pack_tmp, 8)
11674 2452587 : ipack = ipack + 1
11675 2452587 : pack_tmp = packed_data(ipack)
11676 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
11677 2452587 : pack_tmp = ISHFT(pack_tmp, -8)
11678 2452587 : idata = idata + 1
11679 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11680 2452587 : full_data(idata) = data_tmp
11681 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11682 2452587 : idata = idata + 1
11683 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11684 2452587 : full_data(idata) = data_tmp
11685 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11686 2452587 : idata = idata + 1
11687 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11688 2452587 : full_data(idata) = data_tmp
11689 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11690 2452587 : idata = idata + 1
11691 2452587 : data_tmp = ISHFT(pack_tmp, 12)
11692 2452587 : ipack = ipack + 1
11693 2452587 : pack_tmp = packed_data(ipack)
11694 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
11695 2452587 : pack_tmp = ISHFT(pack_tmp, -12)
11696 2452587 : idata = idata + 1
11697 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11698 2452587 : full_data(idata) = data_tmp
11699 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11700 2452587 : idata = idata + 1
11701 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11702 2452587 : full_data(idata) = data_tmp
11703 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11704 2452587 : idata = idata + 1
11705 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11706 2452587 : full_data(idata) = data_tmp
11707 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11708 2452587 : idata = idata + 1
11709 2452587 : data_tmp = ISHFT(pack_tmp, 16)
11710 2452587 : ipack = ipack + 1
11711 2452587 : pack_tmp = packed_data(ipack)
11712 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
11713 2452587 : pack_tmp = ISHFT(pack_tmp, -16)
11714 2452587 : idata = idata + 1
11715 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11716 2452587 : full_data(idata) = data_tmp
11717 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11718 2452587 : idata = idata + 1
11719 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11720 2452587 : full_data(idata) = data_tmp
11721 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11722 2452587 : idata = idata + 1
11723 2452587 : data_tmp = ISHFT(pack_tmp, 3)
11724 2452587 : ipack = ipack + 1
11725 2452587 : pack_tmp = packed_data(ipack)
11726 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
11727 2452587 : pack_tmp = ISHFT(pack_tmp, -3)
11728 2452587 : idata = idata + 1
11729 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11730 2452587 : full_data(idata) = data_tmp
11731 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11732 2452587 : idata = idata + 1
11733 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11734 2452587 : full_data(idata) = data_tmp
11735 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11736 2452587 : idata = idata + 1
11737 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11738 2452587 : full_data(idata) = data_tmp
11739 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11740 2452587 : idata = idata + 1
11741 2452587 : data_tmp = ISHFT(pack_tmp, 7)
11742 2452587 : ipack = ipack + 1
11743 2452587 : pack_tmp = packed_data(ipack)
11744 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
11745 2452587 : pack_tmp = ISHFT(pack_tmp, -7)
11746 2452587 : idata = idata + 1
11747 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11748 2452587 : full_data(idata) = data_tmp
11749 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11750 2452587 : idata = idata + 1
11751 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11752 2452587 : full_data(idata) = data_tmp
11753 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11754 2452587 : idata = idata + 1
11755 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11756 2452587 : full_data(idata) = data_tmp
11757 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11758 2452587 : idata = idata + 1
11759 2452587 : data_tmp = ISHFT(pack_tmp, 11)
11760 2452587 : ipack = ipack + 1
11761 2452587 : pack_tmp = packed_data(ipack)
11762 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
11763 2452587 : pack_tmp = ISHFT(pack_tmp, -11)
11764 2452587 : idata = idata + 1
11765 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11766 2452587 : full_data(idata) = data_tmp
11767 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11768 2452587 : idata = idata + 1
11769 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11770 2452587 : full_data(idata) = data_tmp
11771 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11772 2452587 : idata = idata + 1
11773 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11774 2452587 : full_data(idata) = data_tmp
11775 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11776 2452587 : idata = idata + 1
11777 2452587 : data_tmp = ISHFT(pack_tmp, 15)
11778 2452587 : ipack = ipack + 1
11779 2452587 : pack_tmp = packed_data(ipack)
11780 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
11781 2452587 : pack_tmp = ISHFT(pack_tmp, -15)
11782 2452587 : idata = idata + 1
11783 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11784 2452587 : full_data(idata) = data_tmp
11785 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11786 2452587 : idata = idata + 1
11787 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11788 2452587 : full_data(idata) = data_tmp
11789 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11790 2452587 : idata = idata + 1
11791 2452587 : data_tmp = ISHFT(pack_tmp, 2)
11792 2452587 : ipack = ipack + 1
11793 2452587 : pack_tmp = packed_data(ipack)
11794 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
11795 2452587 : pack_tmp = ISHFT(pack_tmp, -2)
11796 2452587 : idata = idata + 1
11797 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11798 2452587 : full_data(idata) = data_tmp
11799 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11800 2452587 : idata = idata + 1
11801 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11802 2452587 : full_data(idata) = data_tmp
11803 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11804 2452587 : idata = idata + 1
11805 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11806 2452587 : full_data(idata) = data_tmp
11807 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11808 2452587 : idata = idata + 1
11809 2452587 : data_tmp = ISHFT(pack_tmp, 6)
11810 2452587 : ipack = ipack + 1
11811 2452587 : pack_tmp = packed_data(ipack)
11812 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
11813 2452587 : pack_tmp = ISHFT(pack_tmp, -6)
11814 2452587 : idata = idata + 1
11815 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11816 2452587 : full_data(idata) = data_tmp
11817 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11818 2452587 : idata = idata + 1
11819 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11820 2452587 : full_data(idata) = data_tmp
11821 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11822 2452587 : idata = idata + 1
11823 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11824 2452587 : full_data(idata) = data_tmp
11825 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11826 2452587 : idata = idata + 1
11827 2452587 : data_tmp = ISHFT(pack_tmp, 10)
11828 2452587 : ipack = ipack + 1
11829 2452587 : pack_tmp = packed_data(ipack)
11830 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
11831 2452587 : pack_tmp = ISHFT(pack_tmp, -10)
11832 2452587 : idata = idata + 1
11833 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11834 2452587 : full_data(idata) = data_tmp
11835 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11836 2452587 : idata = idata + 1
11837 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11838 2452587 : full_data(idata) = data_tmp
11839 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11840 2452587 : idata = idata + 1
11841 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11842 2452587 : full_data(idata) = data_tmp
11843 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11844 2452587 : idata = idata + 1
11845 2452587 : data_tmp = ISHFT(pack_tmp, 14)
11846 2452587 : ipack = ipack + 1
11847 2452587 : pack_tmp = packed_data(ipack)
11848 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
11849 2452587 : pack_tmp = ISHFT(pack_tmp, -14)
11850 2452587 : idata = idata + 1
11851 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11852 2452587 : full_data(idata) = data_tmp
11853 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11854 2452587 : idata = idata + 1
11855 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11856 2452587 : full_data(idata) = data_tmp
11857 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11858 2452587 : idata = idata + 1
11859 2452587 : data_tmp = ISHFT(pack_tmp, 1)
11860 2452587 : ipack = ipack + 1
11861 2452587 : pack_tmp = packed_data(ipack)
11862 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
11863 2452587 : pack_tmp = ISHFT(pack_tmp, -1)
11864 2452587 : idata = idata + 1
11865 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11866 2452587 : full_data(idata) = data_tmp
11867 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11868 2452587 : idata = idata + 1
11869 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11870 2452587 : full_data(idata) = data_tmp
11871 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11872 2452587 : idata = idata + 1
11873 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11874 2452587 : full_data(idata) = data_tmp
11875 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11876 2452587 : idata = idata + 1
11877 2452587 : data_tmp = ISHFT(pack_tmp, 5)
11878 2452587 : ipack = ipack + 1
11879 2452587 : pack_tmp = packed_data(ipack)
11880 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
11881 2452587 : pack_tmp = ISHFT(pack_tmp, -5)
11882 2452587 : idata = idata + 1
11883 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11884 2452587 : full_data(idata) = data_tmp
11885 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11886 2452587 : idata = idata + 1
11887 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11888 2452587 : full_data(idata) = data_tmp
11889 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11890 2452587 : idata = idata + 1
11891 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11892 2452587 : full_data(idata) = data_tmp
11893 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11894 2452587 : idata = idata + 1
11895 2452587 : data_tmp = ISHFT(pack_tmp, 9)
11896 2452587 : ipack = ipack + 1
11897 2452587 : pack_tmp = packed_data(ipack)
11898 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
11899 2452587 : pack_tmp = ISHFT(pack_tmp, -9)
11900 2452587 : idata = idata + 1
11901 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11902 2452587 : full_data(idata) = data_tmp
11903 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11904 2452587 : idata = idata + 1
11905 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11906 2452587 : full_data(idata) = data_tmp
11907 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11908 2452587 : idata = idata + 1
11909 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11910 2452587 : full_data(idata) = data_tmp
11911 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11912 2452587 : idata = idata + 1
11913 2452587 : data_tmp = ISHFT(pack_tmp, 13)
11914 2452587 : ipack = ipack + 1
11915 2452587 : pack_tmp = packed_data(ipack)
11916 2452587 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
11917 2452587 : pack_tmp = ISHFT(pack_tmp, -13)
11918 2452587 : idata = idata + 1
11919 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11920 2452587 : full_data(idata) = data_tmp
11921 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11922 2452587 : idata = idata + 1
11923 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11924 2452587 : full_data(idata) = data_tmp
11925 2452587 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11926 2452587 : idata = idata + 1
11927 2452587 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
11928 2452587 : full_data(idata) = data_tmp
11929 2453607 : pack_tmp = ISHFT(pack_tmp, -Nbits)
11930 : END DO
11931 167645 : IF (Ndata_rep < Ndata) THEN
11932 26218 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
11933 : END IF
11934 167645 : END SUBROUTINE bits2ints_17
11935 :
11936 : ! **************************************************************************************************
11937 : !> \brief ...
11938 : !> \param Ndata ...
11939 : !> \param packed_data ...
11940 : !> \param full_data ...
11941 : ! **************************************************************************************************
11942 33667 : 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(*)
11946 :
11947 : INTEGER, PARAMETER :: Nbits = 18
11948 :
11949 : INTEGER :: idata, ipack, kdata, Ndata_rep
11950 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
11951 :
11952 33667 : idata = 0
11953 33667 : ipack = 0
11954 33667 : Ndata_rep = (Ndata/64)*64
11955 33667 : DO kdata = 1, Ndata_rep, 64
11956 504808 : pack_tmp = 0
11957 504808 : idata = idata + 1
11958 504808 : data_tmp = full_data(idata)
11959 504808 : data_tmp = ISHFT(data_tmp, 46)
11960 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
11961 504808 : pack_tmp = ISHFT(pack_tmp, -18)
11962 504808 : idata = idata + 1
11963 504808 : data_tmp = full_data(idata)
11964 504808 : data_tmp = ISHFT(data_tmp, 46)
11965 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
11966 504808 : pack_tmp = ISHFT(pack_tmp, -18)
11967 504808 : idata = idata + 1
11968 504808 : data_tmp = full_data(idata)
11969 504808 : data_tmp = ISHFT(data_tmp, 46)
11970 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
11971 504808 : pack_tmp = ISHFT(pack_tmp, -10)
11972 504808 : idata = idata + 1
11973 504808 : data_tmp = full_data(idata)
11974 504808 : data_tmp = ISHFT(data_tmp, 46)
11975 504808 : data_tmp = IAND(data_tmp, mask_left(10))
11976 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
11977 504808 : ipack = ipack + 1
11978 504808 : packed_data(ipack) = pack_tmp
11979 504808 : data_tmp = full_data(idata)
11980 504808 : pack_tmp = ISHFT(data_tmp, 56)
11981 504808 : pack_tmp = ISHFT(pack_tmp, -18)
11982 504808 : idata = idata + 1
11983 504808 : data_tmp = full_data(idata)
11984 504808 : data_tmp = ISHFT(data_tmp, 46)
11985 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
11986 504808 : pack_tmp = ISHFT(pack_tmp, -18)
11987 504808 : idata = idata + 1
11988 504808 : data_tmp = full_data(idata)
11989 504808 : data_tmp = ISHFT(data_tmp, 46)
11990 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
11991 504808 : pack_tmp = ISHFT(pack_tmp, -18)
11992 504808 : idata = idata + 1
11993 504808 : data_tmp = full_data(idata)
11994 504808 : data_tmp = ISHFT(data_tmp, 46)
11995 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
11996 504808 : pack_tmp = ISHFT(pack_tmp, -2)
11997 504808 : idata = idata + 1
11998 504808 : data_tmp = full_data(idata)
11999 504808 : data_tmp = ISHFT(data_tmp, 46)
12000 504808 : data_tmp = IAND(data_tmp, mask_left(2))
12001 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12002 504808 : ipack = ipack + 1
12003 504808 : packed_data(ipack) = pack_tmp
12004 504808 : data_tmp = full_data(idata)
12005 504808 : pack_tmp = ISHFT(data_tmp, 48)
12006 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12007 504808 : idata = idata + 1
12008 504808 : data_tmp = full_data(idata)
12009 504808 : data_tmp = ISHFT(data_tmp, 46)
12010 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12011 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12012 504808 : idata = idata + 1
12013 504808 : data_tmp = full_data(idata)
12014 504808 : data_tmp = ISHFT(data_tmp, 46)
12015 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12016 504808 : pack_tmp = ISHFT(pack_tmp, -12)
12017 504808 : idata = idata + 1
12018 504808 : data_tmp = full_data(idata)
12019 504808 : data_tmp = ISHFT(data_tmp, 46)
12020 504808 : data_tmp = IAND(data_tmp, mask_left(12))
12021 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12022 504808 : ipack = ipack + 1
12023 504808 : packed_data(ipack) = pack_tmp
12024 504808 : data_tmp = full_data(idata)
12025 504808 : pack_tmp = ISHFT(data_tmp, 58)
12026 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12027 504808 : idata = idata + 1
12028 504808 : data_tmp = full_data(idata)
12029 504808 : data_tmp = ISHFT(data_tmp, 46)
12030 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12031 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12032 504808 : idata = idata + 1
12033 504808 : data_tmp = full_data(idata)
12034 504808 : data_tmp = ISHFT(data_tmp, 46)
12035 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12036 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12037 504808 : idata = idata + 1
12038 504808 : data_tmp = full_data(idata)
12039 504808 : data_tmp = ISHFT(data_tmp, 46)
12040 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12041 504808 : pack_tmp = ISHFT(pack_tmp, -4)
12042 504808 : idata = idata + 1
12043 504808 : data_tmp = full_data(idata)
12044 504808 : data_tmp = ISHFT(data_tmp, 46)
12045 504808 : data_tmp = IAND(data_tmp, mask_left(4))
12046 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12047 504808 : ipack = ipack + 1
12048 504808 : packed_data(ipack) = pack_tmp
12049 504808 : data_tmp = full_data(idata)
12050 504808 : pack_tmp = ISHFT(data_tmp, 50)
12051 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12052 504808 : idata = idata + 1
12053 504808 : data_tmp = full_data(idata)
12054 504808 : data_tmp = ISHFT(data_tmp, 46)
12055 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12056 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12057 504808 : idata = idata + 1
12058 504808 : data_tmp = full_data(idata)
12059 504808 : data_tmp = ISHFT(data_tmp, 46)
12060 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12061 504808 : pack_tmp = ISHFT(pack_tmp, -14)
12062 504808 : idata = idata + 1
12063 504808 : data_tmp = full_data(idata)
12064 504808 : data_tmp = ISHFT(data_tmp, 46)
12065 504808 : data_tmp = IAND(data_tmp, mask_left(14))
12066 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12067 504808 : ipack = ipack + 1
12068 504808 : packed_data(ipack) = pack_tmp
12069 504808 : data_tmp = full_data(idata)
12070 504808 : pack_tmp = ISHFT(data_tmp, 60)
12071 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12072 504808 : idata = idata + 1
12073 504808 : data_tmp = full_data(idata)
12074 504808 : data_tmp = ISHFT(data_tmp, 46)
12075 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12076 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12077 504808 : idata = idata + 1
12078 504808 : data_tmp = full_data(idata)
12079 504808 : data_tmp = ISHFT(data_tmp, 46)
12080 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12081 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12082 504808 : idata = idata + 1
12083 504808 : data_tmp = full_data(idata)
12084 504808 : data_tmp = ISHFT(data_tmp, 46)
12085 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12086 504808 : pack_tmp = ISHFT(pack_tmp, -6)
12087 504808 : idata = idata + 1
12088 504808 : data_tmp = full_data(idata)
12089 504808 : data_tmp = ISHFT(data_tmp, 46)
12090 504808 : data_tmp = IAND(data_tmp, mask_left(6))
12091 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12092 504808 : ipack = ipack + 1
12093 504808 : packed_data(ipack) = pack_tmp
12094 504808 : data_tmp = full_data(idata)
12095 504808 : pack_tmp = ISHFT(data_tmp, 52)
12096 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12097 504808 : idata = idata + 1
12098 504808 : data_tmp = full_data(idata)
12099 504808 : data_tmp = ISHFT(data_tmp, 46)
12100 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12101 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12102 504808 : idata = idata + 1
12103 504808 : data_tmp = full_data(idata)
12104 504808 : data_tmp = ISHFT(data_tmp, 46)
12105 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12106 504808 : pack_tmp = ISHFT(pack_tmp, -16)
12107 504808 : idata = idata + 1
12108 504808 : data_tmp = full_data(idata)
12109 504808 : data_tmp = ISHFT(data_tmp, 46)
12110 504808 : data_tmp = IAND(data_tmp, mask_left(16))
12111 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12112 504808 : ipack = ipack + 1
12113 504808 : packed_data(ipack) = pack_tmp
12114 504808 : data_tmp = full_data(idata)
12115 504808 : pack_tmp = ISHFT(data_tmp, 62)
12116 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12117 504808 : idata = idata + 1
12118 504808 : data_tmp = full_data(idata)
12119 504808 : data_tmp = ISHFT(data_tmp, 46)
12120 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12121 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12122 504808 : idata = idata + 1
12123 504808 : data_tmp = full_data(idata)
12124 504808 : data_tmp = ISHFT(data_tmp, 46)
12125 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12126 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12127 504808 : idata = idata + 1
12128 504808 : data_tmp = full_data(idata)
12129 504808 : data_tmp = ISHFT(data_tmp, 46)
12130 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12131 504808 : pack_tmp = ISHFT(pack_tmp, -8)
12132 504808 : idata = idata + 1
12133 504808 : data_tmp = full_data(idata)
12134 504808 : data_tmp = ISHFT(data_tmp, 46)
12135 504808 : data_tmp = IAND(data_tmp, mask_left(8))
12136 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12137 504808 : ipack = ipack + 1
12138 504808 : packed_data(ipack) = pack_tmp
12139 504808 : data_tmp = full_data(idata)
12140 504808 : pack_tmp = ISHFT(data_tmp, 54)
12141 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12142 504808 : idata = idata + 1
12143 504808 : data_tmp = full_data(idata)
12144 504808 : data_tmp = ISHFT(data_tmp, 46)
12145 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12146 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12147 504808 : idata = idata + 1
12148 504808 : data_tmp = full_data(idata)
12149 504808 : data_tmp = ISHFT(data_tmp, 46)
12150 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12151 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12152 504808 : idata = idata + 1
12153 504808 : data_tmp = full_data(idata)
12154 504808 : data_tmp = ISHFT(data_tmp, 46)
12155 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12156 504808 : pack_tmp = ISHFT(pack_tmp, 0)
12157 504808 : idata = idata + 1
12158 504808 : data_tmp = full_data(idata)
12159 : data_tmp = ISHFT(data_tmp, 46)
12160 504808 : data_tmp = IAND(data_tmp, mask_left(0))
12161 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12162 504808 : ipack = ipack + 1
12163 504808 : packed_data(ipack) = pack_tmp
12164 504808 : data_tmp = full_data(idata)
12165 504808 : pack_tmp = ISHFT(data_tmp, 46)
12166 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12167 504808 : idata = idata + 1
12168 504808 : data_tmp = full_data(idata)
12169 504808 : data_tmp = ISHFT(data_tmp, 46)
12170 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12171 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12172 504808 : idata = idata + 1
12173 504808 : data_tmp = full_data(idata)
12174 504808 : data_tmp = ISHFT(data_tmp, 46)
12175 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12176 504808 : pack_tmp = ISHFT(pack_tmp, -10)
12177 504808 : idata = idata + 1
12178 504808 : data_tmp = full_data(idata)
12179 504808 : data_tmp = ISHFT(data_tmp, 46)
12180 504808 : data_tmp = IAND(data_tmp, mask_left(10))
12181 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12182 504808 : ipack = ipack + 1
12183 504808 : packed_data(ipack) = pack_tmp
12184 504808 : data_tmp = full_data(idata)
12185 504808 : pack_tmp = ISHFT(data_tmp, 56)
12186 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12187 504808 : idata = idata + 1
12188 504808 : data_tmp = full_data(idata)
12189 504808 : data_tmp = ISHFT(data_tmp, 46)
12190 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12191 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12192 504808 : idata = idata + 1
12193 504808 : data_tmp = full_data(idata)
12194 504808 : data_tmp = ISHFT(data_tmp, 46)
12195 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12196 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12197 504808 : idata = idata + 1
12198 504808 : data_tmp = full_data(idata)
12199 504808 : data_tmp = ISHFT(data_tmp, 46)
12200 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12201 504808 : pack_tmp = ISHFT(pack_tmp, -2)
12202 504808 : idata = idata + 1
12203 504808 : data_tmp = full_data(idata)
12204 504808 : data_tmp = ISHFT(data_tmp, 46)
12205 504808 : data_tmp = IAND(data_tmp, mask_left(2))
12206 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12207 504808 : ipack = ipack + 1
12208 504808 : packed_data(ipack) = pack_tmp
12209 504808 : data_tmp = full_data(idata)
12210 504808 : pack_tmp = ISHFT(data_tmp, 48)
12211 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12212 504808 : idata = idata + 1
12213 504808 : data_tmp = full_data(idata)
12214 504808 : data_tmp = ISHFT(data_tmp, 46)
12215 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12216 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12217 504808 : idata = idata + 1
12218 504808 : data_tmp = full_data(idata)
12219 504808 : data_tmp = ISHFT(data_tmp, 46)
12220 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12221 504808 : pack_tmp = ISHFT(pack_tmp, -12)
12222 504808 : idata = idata + 1
12223 504808 : data_tmp = full_data(idata)
12224 504808 : data_tmp = ISHFT(data_tmp, 46)
12225 504808 : data_tmp = IAND(data_tmp, mask_left(12))
12226 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12227 504808 : ipack = ipack + 1
12228 504808 : packed_data(ipack) = pack_tmp
12229 504808 : data_tmp = full_data(idata)
12230 504808 : pack_tmp = ISHFT(data_tmp, 58)
12231 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12232 504808 : idata = idata + 1
12233 504808 : data_tmp = full_data(idata)
12234 504808 : data_tmp = ISHFT(data_tmp, 46)
12235 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12236 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12237 504808 : idata = idata + 1
12238 504808 : data_tmp = full_data(idata)
12239 504808 : data_tmp = ISHFT(data_tmp, 46)
12240 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12241 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12242 504808 : idata = idata + 1
12243 504808 : data_tmp = full_data(idata)
12244 504808 : data_tmp = ISHFT(data_tmp, 46)
12245 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12246 504808 : pack_tmp = ISHFT(pack_tmp, -4)
12247 504808 : idata = idata + 1
12248 504808 : data_tmp = full_data(idata)
12249 504808 : data_tmp = ISHFT(data_tmp, 46)
12250 504808 : data_tmp = IAND(data_tmp, mask_left(4))
12251 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12252 504808 : ipack = ipack + 1
12253 504808 : packed_data(ipack) = pack_tmp
12254 504808 : data_tmp = full_data(idata)
12255 504808 : pack_tmp = ISHFT(data_tmp, 50)
12256 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12257 504808 : idata = idata + 1
12258 504808 : data_tmp = full_data(idata)
12259 504808 : data_tmp = ISHFT(data_tmp, 46)
12260 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12261 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12262 504808 : idata = idata + 1
12263 504808 : data_tmp = full_data(idata)
12264 504808 : data_tmp = ISHFT(data_tmp, 46)
12265 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12266 504808 : pack_tmp = ISHFT(pack_tmp, -14)
12267 504808 : idata = idata + 1
12268 504808 : data_tmp = full_data(idata)
12269 504808 : data_tmp = ISHFT(data_tmp, 46)
12270 504808 : data_tmp = IAND(data_tmp, mask_left(14))
12271 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12272 504808 : ipack = ipack + 1
12273 504808 : packed_data(ipack) = pack_tmp
12274 504808 : data_tmp = full_data(idata)
12275 504808 : pack_tmp = ISHFT(data_tmp, 60)
12276 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12277 504808 : idata = idata + 1
12278 504808 : data_tmp = full_data(idata)
12279 504808 : data_tmp = ISHFT(data_tmp, 46)
12280 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12281 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12282 504808 : idata = idata + 1
12283 504808 : data_tmp = full_data(idata)
12284 504808 : data_tmp = ISHFT(data_tmp, 46)
12285 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12286 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12287 504808 : idata = idata + 1
12288 504808 : data_tmp = full_data(idata)
12289 504808 : data_tmp = ISHFT(data_tmp, 46)
12290 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12291 504808 : pack_tmp = ISHFT(pack_tmp, -6)
12292 504808 : idata = idata + 1
12293 504808 : data_tmp = full_data(idata)
12294 504808 : data_tmp = ISHFT(data_tmp, 46)
12295 504808 : data_tmp = IAND(data_tmp, mask_left(6))
12296 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12297 504808 : ipack = ipack + 1
12298 504808 : packed_data(ipack) = pack_tmp
12299 504808 : data_tmp = full_data(idata)
12300 504808 : pack_tmp = ISHFT(data_tmp, 52)
12301 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12302 504808 : idata = idata + 1
12303 504808 : data_tmp = full_data(idata)
12304 504808 : data_tmp = ISHFT(data_tmp, 46)
12305 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12306 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12307 504808 : idata = idata + 1
12308 504808 : data_tmp = full_data(idata)
12309 504808 : data_tmp = ISHFT(data_tmp, 46)
12310 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12311 504808 : pack_tmp = ISHFT(pack_tmp, -16)
12312 504808 : idata = idata + 1
12313 504808 : data_tmp = full_data(idata)
12314 504808 : data_tmp = ISHFT(data_tmp, 46)
12315 504808 : data_tmp = IAND(data_tmp, mask_left(16))
12316 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12317 504808 : ipack = ipack + 1
12318 504808 : packed_data(ipack) = pack_tmp
12319 504808 : data_tmp = full_data(idata)
12320 504808 : pack_tmp = ISHFT(data_tmp, 62)
12321 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12322 504808 : idata = idata + 1
12323 504808 : data_tmp = full_data(idata)
12324 504808 : data_tmp = ISHFT(data_tmp, 46)
12325 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12326 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12327 504808 : idata = idata + 1
12328 504808 : data_tmp = full_data(idata)
12329 504808 : data_tmp = ISHFT(data_tmp, 46)
12330 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12331 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12332 504808 : idata = idata + 1
12333 504808 : data_tmp = full_data(idata)
12334 504808 : data_tmp = ISHFT(data_tmp, 46)
12335 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12336 504808 : pack_tmp = ISHFT(pack_tmp, -8)
12337 504808 : idata = idata + 1
12338 504808 : data_tmp = full_data(idata)
12339 504808 : data_tmp = ISHFT(data_tmp, 46)
12340 504808 : data_tmp = IAND(data_tmp, mask_left(8))
12341 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12342 504808 : ipack = ipack + 1
12343 504808 : packed_data(ipack) = pack_tmp
12344 504808 : data_tmp = full_data(idata)
12345 504808 : pack_tmp = ISHFT(data_tmp, 54)
12346 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12347 504808 : idata = idata + 1
12348 504808 : data_tmp = full_data(idata)
12349 504808 : data_tmp = ISHFT(data_tmp, 46)
12350 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12351 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12352 504808 : idata = idata + 1
12353 504808 : data_tmp = full_data(idata)
12354 504808 : data_tmp = ISHFT(data_tmp, 46)
12355 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12356 504808 : pack_tmp = ISHFT(pack_tmp, -18)
12357 504808 : idata = idata + 1
12358 504808 : data_tmp = full_data(idata)
12359 504808 : data_tmp = ISHFT(data_tmp, 46)
12360 504808 : pack_tmp = IOR(pack_tmp, data_tmp)
12361 : pack_tmp = ISHFT(pack_tmp, 0)
12362 504808 : pack_tmp = ISHFT(pack_tmp, 0)
12363 504808 : ipack = ipack + 1
12364 504904 : packed_data(ipack) = pack_tmp
12365 : END DO
12366 33667 : IF (Ndata_rep < Ndata) THEN
12367 3984 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
12368 : END IF
12369 33667 : END SUBROUTINE ints2bits_18
12370 :
12371 : ! **************************************************************************************************
12372 : !> \brief ...
12373 : !> \param Ndata ...
12374 : !> \param packed_data ...
12375 : !> \param full_data ...
12376 : ! **************************************************************************************************
12377 175285 : 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(*)
12381 :
12382 : INTEGER, PARAMETER :: Nbits = 18
12383 :
12384 : INTEGER :: idata, ipack, kdata, Ndata_rep
12385 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
12386 :
12387 175285 : ipack = 0
12388 175285 : idata = 0
12389 175285 : pack_tmp = 0
12390 175285 : Ndata_rep = (Ndata/64)*64
12391 175285 : DO kdata = 1, Ndata_rep, 64
12392 2526457 : idata = idata + 1
12393 2526457 : data_tmp = ISHFT(pack_tmp, 18)
12394 2526457 : ipack = ipack + 1
12395 2526457 : pack_tmp = packed_data(ipack)
12396 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
12397 2526457 : pack_tmp = ISHFT(pack_tmp, -18)
12398 2526457 : idata = idata + 1
12399 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12400 2526457 : full_data(idata) = data_tmp
12401 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12402 2526457 : idata = idata + 1
12403 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12404 2526457 : full_data(idata) = data_tmp
12405 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12406 2526457 : idata = idata + 1
12407 2526457 : data_tmp = ISHFT(pack_tmp, 8)
12408 2526457 : ipack = ipack + 1
12409 2526457 : pack_tmp = packed_data(ipack)
12410 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
12411 2526457 : pack_tmp = ISHFT(pack_tmp, -8)
12412 2526457 : idata = idata + 1
12413 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12414 2526457 : full_data(idata) = data_tmp
12415 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12416 2526457 : idata = idata + 1
12417 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12418 2526457 : full_data(idata) = data_tmp
12419 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12420 2526457 : idata = idata + 1
12421 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12422 2526457 : full_data(idata) = data_tmp
12423 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12424 2526457 : idata = idata + 1
12425 2526457 : data_tmp = ISHFT(pack_tmp, 16)
12426 2526457 : ipack = ipack + 1
12427 2526457 : pack_tmp = packed_data(ipack)
12428 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
12429 2526457 : pack_tmp = ISHFT(pack_tmp, -16)
12430 2526457 : idata = idata + 1
12431 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12432 2526457 : full_data(idata) = data_tmp
12433 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12434 2526457 : idata = idata + 1
12435 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12436 2526457 : full_data(idata) = data_tmp
12437 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12438 2526457 : idata = idata + 1
12439 2526457 : data_tmp = ISHFT(pack_tmp, 6)
12440 2526457 : ipack = ipack + 1
12441 2526457 : pack_tmp = packed_data(ipack)
12442 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
12443 2526457 : pack_tmp = ISHFT(pack_tmp, -6)
12444 2526457 : idata = idata + 1
12445 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12446 2526457 : full_data(idata) = data_tmp
12447 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12448 2526457 : idata = idata + 1
12449 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12450 2526457 : full_data(idata) = data_tmp
12451 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12452 2526457 : idata = idata + 1
12453 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12454 2526457 : full_data(idata) = data_tmp
12455 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12456 2526457 : idata = idata + 1
12457 2526457 : data_tmp = ISHFT(pack_tmp, 14)
12458 2526457 : ipack = ipack + 1
12459 2526457 : pack_tmp = packed_data(ipack)
12460 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
12461 2526457 : pack_tmp = ISHFT(pack_tmp, -14)
12462 2526457 : idata = idata + 1
12463 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12464 2526457 : full_data(idata) = data_tmp
12465 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12466 2526457 : idata = idata + 1
12467 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12468 2526457 : full_data(idata) = data_tmp
12469 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12470 2526457 : idata = idata + 1
12471 2526457 : data_tmp = ISHFT(pack_tmp, 4)
12472 2526457 : ipack = ipack + 1
12473 2526457 : pack_tmp = packed_data(ipack)
12474 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
12475 2526457 : pack_tmp = ISHFT(pack_tmp, -4)
12476 2526457 : idata = idata + 1
12477 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12478 2526457 : full_data(idata) = data_tmp
12479 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12480 2526457 : idata = idata + 1
12481 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12482 2526457 : full_data(idata) = data_tmp
12483 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12484 2526457 : idata = idata + 1
12485 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12486 2526457 : full_data(idata) = data_tmp
12487 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12488 2526457 : idata = idata + 1
12489 2526457 : data_tmp = ISHFT(pack_tmp, 12)
12490 2526457 : ipack = ipack + 1
12491 2526457 : pack_tmp = packed_data(ipack)
12492 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
12493 2526457 : pack_tmp = ISHFT(pack_tmp, -12)
12494 2526457 : idata = idata + 1
12495 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12496 2526457 : full_data(idata) = data_tmp
12497 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12498 2526457 : idata = idata + 1
12499 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12500 2526457 : full_data(idata) = data_tmp
12501 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12502 2526457 : idata = idata + 1
12503 2526457 : data_tmp = ISHFT(pack_tmp, 2)
12504 2526457 : ipack = ipack + 1
12505 2526457 : pack_tmp = packed_data(ipack)
12506 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
12507 2526457 : pack_tmp = ISHFT(pack_tmp, -2)
12508 2526457 : idata = idata + 1
12509 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12510 2526457 : full_data(idata) = data_tmp
12511 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12512 2526457 : idata = idata + 1
12513 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12514 2526457 : full_data(idata) = data_tmp
12515 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12516 2526457 : idata = idata + 1
12517 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12518 2526457 : full_data(idata) = data_tmp
12519 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12520 2526457 : idata = idata + 1
12521 2526457 : data_tmp = ISHFT(pack_tmp, 10)
12522 2526457 : ipack = ipack + 1
12523 2526457 : pack_tmp = packed_data(ipack)
12524 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
12525 2526457 : pack_tmp = ISHFT(pack_tmp, -10)
12526 2526457 : idata = idata + 1
12527 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12528 2526457 : full_data(idata) = data_tmp
12529 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12530 2526457 : idata = idata + 1
12531 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12532 2526457 : full_data(idata) = data_tmp
12533 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12534 2526457 : idata = idata + 1
12535 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12536 2526457 : full_data(idata) = data_tmp
12537 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12538 2526457 : idata = idata + 1
12539 2526457 : data_tmp = ISHFT(pack_tmp, 18)
12540 2526457 : ipack = ipack + 1
12541 2526457 : pack_tmp = packed_data(ipack)
12542 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
12543 2526457 : pack_tmp = ISHFT(pack_tmp, -18)
12544 2526457 : idata = idata + 1
12545 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12546 2526457 : full_data(idata) = data_tmp
12547 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12548 2526457 : idata = idata + 1
12549 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12550 2526457 : full_data(idata) = data_tmp
12551 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12552 2526457 : idata = idata + 1
12553 2526457 : data_tmp = ISHFT(pack_tmp, 8)
12554 2526457 : ipack = ipack + 1
12555 2526457 : pack_tmp = packed_data(ipack)
12556 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
12557 2526457 : pack_tmp = ISHFT(pack_tmp, -8)
12558 2526457 : idata = idata + 1
12559 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12560 2526457 : full_data(idata) = data_tmp
12561 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12562 2526457 : idata = idata + 1
12563 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12564 2526457 : full_data(idata) = data_tmp
12565 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12566 2526457 : idata = idata + 1
12567 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12568 2526457 : full_data(idata) = data_tmp
12569 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12570 2526457 : idata = idata + 1
12571 2526457 : data_tmp = ISHFT(pack_tmp, 16)
12572 2526457 : ipack = ipack + 1
12573 2526457 : pack_tmp = packed_data(ipack)
12574 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
12575 2526457 : pack_tmp = ISHFT(pack_tmp, -16)
12576 2526457 : idata = idata + 1
12577 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12578 2526457 : full_data(idata) = data_tmp
12579 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12580 2526457 : idata = idata + 1
12581 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12582 2526457 : full_data(idata) = data_tmp
12583 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12584 2526457 : idata = idata + 1
12585 2526457 : data_tmp = ISHFT(pack_tmp, 6)
12586 2526457 : ipack = ipack + 1
12587 2526457 : pack_tmp = packed_data(ipack)
12588 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
12589 2526457 : pack_tmp = ISHFT(pack_tmp, -6)
12590 2526457 : idata = idata + 1
12591 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12592 2526457 : full_data(idata) = data_tmp
12593 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12594 2526457 : idata = idata + 1
12595 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12596 2526457 : full_data(idata) = data_tmp
12597 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12598 2526457 : idata = idata + 1
12599 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12600 2526457 : full_data(idata) = data_tmp
12601 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12602 2526457 : idata = idata + 1
12603 2526457 : data_tmp = ISHFT(pack_tmp, 14)
12604 2526457 : ipack = ipack + 1
12605 2526457 : pack_tmp = packed_data(ipack)
12606 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
12607 2526457 : pack_tmp = ISHFT(pack_tmp, -14)
12608 2526457 : idata = idata + 1
12609 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12610 2526457 : full_data(idata) = data_tmp
12611 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12612 2526457 : idata = idata + 1
12613 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12614 2526457 : full_data(idata) = data_tmp
12615 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12616 2526457 : idata = idata + 1
12617 2526457 : data_tmp = ISHFT(pack_tmp, 4)
12618 2526457 : ipack = ipack + 1
12619 2526457 : pack_tmp = packed_data(ipack)
12620 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
12621 2526457 : pack_tmp = ISHFT(pack_tmp, -4)
12622 2526457 : idata = idata + 1
12623 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12624 2526457 : full_data(idata) = data_tmp
12625 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12626 2526457 : idata = idata + 1
12627 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12628 2526457 : full_data(idata) = data_tmp
12629 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12630 2526457 : idata = idata + 1
12631 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12632 2526457 : full_data(idata) = data_tmp
12633 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12634 2526457 : idata = idata + 1
12635 2526457 : data_tmp = ISHFT(pack_tmp, 12)
12636 2526457 : ipack = ipack + 1
12637 2526457 : pack_tmp = packed_data(ipack)
12638 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
12639 2526457 : pack_tmp = ISHFT(pack_tmp, -12)
12640 2526457 : idata = idata + 1
12641 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12642 2526457 : full_data(idata) = data_tmp
12643 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12644 2526457 : idata = idata + 1
12645 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12646 2526457 : full_data(idata) = data_tmp
12647 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12648 2526457 : idata = idata + 1
12649 2526457 : data_tmp = ISHFT(pack_tmp, 2)
12650 2526457 : ipack = ipack + 1
12651 2526457 : pack_tmp = packed_data(ipack)
12652 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
12653 2526457 : pack_tmp = ISHFT(pack_tmp, -2)
12654 2526457 : idata = idata + 1
12655 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12656 2526457 : full_data(idata) = data_tmp
12657 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12658 2526457 : idata = idata + 1
12659 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12660 2526457 : full_data(idata) = data_tmp
12661 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12662 2526457 : idata = idata + 1
12663 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12664 2526457 : full_data(idata) = data_tmp
12665 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12666 2526457 : idata = idata + 1
12667 2526457 : data_tmp = ISHFT(pack_tmp, 10)
12668 2526457 : ipack = ipack + 1
12669 2526457 : pack_tmp = packed_data(ipack)
12670 2526457 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
12671 2526457 : pack_tmp = ISHFT(pack_tmp, -10)
12672 2526457 : idata = idata + 1
12673 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12674 2526457 : full_data(idata) = data_tmp
12675 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12676 2526457 : idata = idata + 1
12677 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12678 2526457 : full_data(idata) = data_tmp
12679 2526457 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12680 2526457 : idata = idata + 1
12681 2526457 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
12682 2526457 : full_data(idata) = data_tmp
12683 2527200 : pack_tmp = ISHFT(pack_tmp, -Nbits)
12684 : END DO
12685 175285 : IF (Ndata_rep < Ndata) THEN
12686 32718 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
12687 : END IF
12688 175285 : END SUBROUTINE bits2ints_18
12689 :
12690 : ! **************************************************************************************************
12691 : !> \brief ...
12692 : !> \param Ndata ...
12693 : !> \param packed_data ...
12694 : !> \param full_data ...
12695 : ! **************************************************************************************************
12696 31324 : 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(*)
12700 :
12701 : INTEGER, PARAMETER :: Nbits = 19
12702 :
12703 : INTEGER :: idata, ipack, kdata, Ndata_rep
12704 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
12705 :
12706 31324 : idata = 0
12707 31324 : ipack = 0
12708 31324 : Ndata_rep = (Ndata/64)*64
12709 31324 : DO kdata = 1, Ndata_rep, 64
12710 476349 : pack_tmp = 0
12711 476349 : idata = idata + 1
12712 476349 : data_tmp = full_data(idata)
12713 476349 : data_tmp = ISHFT(data_tmp, 45)
12714 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12715 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12716 476349 : idata = idata + 1
12717 476349 : data_tmp = full_data(idata)
12718 476349 : data_tmp = ISHFT(data_tmp, 45)
12719 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12720 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12721 476349 : idata = idata + 1
12722 476349 : data_tmp = full_data(idata)
12723 476349 : data_tmp = ISHFT(data_tmp, 45)
12724 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12725 476349 : pack_tmp = ISHFT(pack_tmp, -7)
12726 476349 : idata = idata + 1
12727 476349 : data_tmp = full_data(idata)
12728 476349 : data_tmp = ISHFT(data_tmp, 45)
12729 476349 : data_tmp = IAND(data_tmp, mask_left(7))
12730 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12731 476349 : ipack = ipack + 1
12732 476349 : packed_data(ipack) = pack_tmp
12733 476349 : data_tmp = full_data(idata)
12734 476349 : pack_tmp = ISHFT(data_tmp, 52)
12735 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12736 476349 : idata = idata + 1
12737 476349 : data_tmp = full_data(idata)
12738 476349 : data_tmp = ISHFT(data_tmp, 45)
12739 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12740 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12741 476349 : idata = idata + 1
12742 476349 : data_tmp = full_data(idata)
12743 476349 : data_tmp = ISHFT(data_tmp, 45)
12744 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12745 476349 : pack_tmp = ISHFT(pack_tmp, -14)
12746 476349 : idata = idata + 1
12747 476349 : data_tmp = full_data(idata)
12748 476349 : data_tmp = ISHFT(data_tmp, 45)
12749 476349 : data_tmp = IAND(data_tmp, mask_left(14))
12750 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12751 476349 : ipack = ipack + 1
12752 476349 : packed_data(ipack) = pack_tmp
12753 476349 : data_tmp = full_data(idata)
12754 476349 : pack_tmp = ISHFT(data_tmp, 59)
12755 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12756 476349 : idata = idata + 1
12757 476349 : data_tmp = full_data(idata)
12758 476349 : data_tmp = ISHFT(data_tmp, 45)
12759 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12760 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12761 476349 : idata = idata + 1
12762 476349 : data_tmp = full_data(idata)
12763 476349 : data_tmp = ISHFT(data_tmp, 45)
12764 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12765 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12766 476349 : idata = idata + 1
12767 476349 : data_tmp = full_data(idata)
12768 476349 : data_tmp = ISHFT(data_tmp, 45)
12769 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12770 476349 : pack_tmp = ISHFT(pack_tmp, -2)
12771 476349 : idata = idata + 1
12772 476349 : data_tmp = full_data(idata)
12773 476349 : data_tmp = ISHFT(data_tmp, 45)
12774 476349 : data_tmp = IAND(data_tmp, mask_left(2))
12775 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12776 476349 : ipack = ipack + 1
12777 476349 : packed_data(ipack) = pack_tmp
12778 476349 : data_tmp = full_data(idata)
12779 476349 : pack_tmp = ISHFT(data_tmp, 47)
12780 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12781 476349 : idata = idata + 1
12782 476349 : data_tmp = full_data(idata)
12783 476349 : data_tmp = ISHFT(data_tmp, 45)
12784 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12785 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12786 476349 : idata = idata + 1
12787 476349 : data_tmp = full_data(idata)
12788 476349 : data_tmp = ISHFT(data_tmp, 45)
12789 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12790 476349 : pack_tmp = ISHFT(pack_tmp, -9)
12791 476349 : idata = idata + 1
12792 476349 : data_tmp = full_data(idata)
12793 476349 : data_tmp = ISHFT(data_tmp, 45)
12794 476349 : data_tmp = IAND(data_tmp, mask_left(9))
12795 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12796 476349 : ipack = ipack + 1
12797 476349 : packed_data(ipack) = pack_tmp
12798 476349 : data_tmp = full_data(idata)
12799 476349 : pack_tmp = ISHFT(data_tmp, 54)
12800 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12801 476349 : idata = idata + 1
12802 476349 : data_tmp = full_data(idata)
12803 476349 : data_tmp = ISHFT(data_tmp, 45)
12804 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12805 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12806 476349 : idata = idata + 1
12807 476349 : data_tmp = full_data(idata)
12808 476349 : data_tmp = ISHFT(data_tmp, 45)
12809 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12810 476349 : pack_tmp = ISHFT(pack_tmp, -16)
12811 476349 : idata = idata + 1
12812 476349 : data_tmp = full_data(idata)
12813 476349 : data_tmp = ISHFT(data_tmp, 45)
12814 476349 : data_tmp = IAND(data_tmp, mask_left(16))
12815 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12816 476349 : ipack = ipack + 1
12817 476349 : packed_data(ipack) = pack_tmp
12818 476349 : data_tmp = full_data(idata)
12819 476349 : pack_tmp = ISHFT(data_tmp, 61)
12820 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12821 476349 : idata = idata + 1
12822 476349 : data_tmp = full_data(idata)
12823 476349 : data_tmp = ISHFT(data_tmp, 45)
12824 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12825 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12826 476349 : idata = idata + 1
12827 476349 : data_tmp = full_data(idata)
12828 476349 : data_tmp = ISHFT(data_tmp, 45)
12829 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12830 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12831 476349 : idata = idata + 1
12832 476349 : data_tmp = full_data(idata)
12833 476349 : data_tmp = ISHFT(data_tmp, 45)
12834 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12835 476349 : pack_tmp = ISHFT(pack_tmp, -4)
12836 476349 : idata = idata + 1
12837 476349 : data_tmp = full_data(idata)
12838 476349 : data_tmp = ISHFT(data_tmp, 45)
12839 476349 : data_tmp = IAND(data_tmp, mask_left(4))
12840 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12841 476349 : ipack = ipack + 1
12842 476349 : packed_data(ipack) = pack_tmp
12843 476349 : data_tmp = full_data(idata)
12844 476349 : pack_tmp = ISHFT(data_tmp, 49)
12845 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12846 476349 : idata = idata + 1
12847 476349 : data_tmp = full_data(idata)
12848 476349 : data_tmp = ISHFT(data_tmp, 45)
12849 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12850 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12851 476349 : idata = idata + 1
12852 476349 : data_tmp = full_data(idata)
12853 476349 : data_tmp = ISHFT(data_tmp, 45)
12854 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12855 476349 : pack_tmp = ISHFT(pack_tmp, -11)
12856 476349 : idata = idata + 1
12857 476349 : data_tmp = full_data(idata)
12858 476349 : data_tmp = ISHFT(data_tmp, 45)
12859 476349 : data_tmp = IAND(data_tmp, mask_left(11))
12860 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12861 476349 : ipack = ipack + 1
12862 476349 : packed_data(ipack) = pack_tmp
12863 476349 : data_tmp = full_data(idata)
12864 476349 : pack_tmp = ISHFT(data_tmp, 56)
12865 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12866 476349 : idata = idata + 1
12867 476349 : data_tmp = full_data(idata)
12868 476349 : data_tmp = ISHFT(data_tmp, 45)
12869 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12870 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12871 476349 : idata = idata + 1
12872 476349 : data_tmp = full_data(idata)
12873 476349 : data_tmp = ISHFT(data_tmp, 45)
12874 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12875 476349 : pack_tmp = ISHFT(pack_tmp, -18)
12876 476349 : idata = idata + 1
12877 476349 : data_tmp = full_data(idata)
12878 476349 : data_tmp = ISHFT(data_tmp, 45)
12879 476349 : data_tmp = IAND(data_tmp, mask_left(18))
12880 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12881 476349 : ipack = ipack + 1
12882 476349 : packed_data(ipack) = pack_tmp
12883 476349 : data_tmp = full_data(idata)
12884 476349 : pack_tmp = ISHFT(data_tmp, 63)
12885 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12886 476349 : idata = idata + 1
12887 476349 : data_tmp = full_data(idata)
12888 476349 : data_tmp = ISHFT(data_tmp, 45)
12889 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12890 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12891 476349 : idata = idata + 1
12892 476349 : data_tmp = full_data(idata)
12893 476349 : data_tmp = ISHFT(data_tmp, 45)
12894 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12895 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12896 476349 : idata = idata + 1
12897 476349 : data_tmp = full_data(idata)
12898 476349 : data_tmp = ISHFT(data_tmp, 45)
12899 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12900 476349 : pack_tmp = ISHFT(pack_tmp, -6)
12901 476349 : idata = idata + 1
12902 476349 : data_tmp = full_data(idata)
12903 476349 : data_tmp = ISHFT(data_tmp, 45)
12904 476349 : data_tmp = IAND(data_tmp, mask_left(6))
12905 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12906 476349 : ipack = ipack + 1
12907 476349 : packed_data(ipack) = pack_tmp
12908 476349 : data_tmp = full_data(idata)
12909 476349 : pack_tmp = ISHFT(data_tmp, 51)
12910 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12911 476349 : idata = idata + 1
12912 476349 : data_tmp = full_data(idata)
12913 476349 : data_tmp = ISHFT(data_tmp, 45)
12914 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12915 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12916 476349 : idata = idata + 1
12917 476349 : data_tmp = full_data(idata)
12918 476349 : data_tmp = ISHFT(data_tmp, 45)
12919 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12920 476349 : pack_tmp = ISHFT(pack_tmp, -13)
12921 476349 : idata = idata + 1
12922 476349 : data_tmp = full_data(idata)
12923 476349 : data_tmp = ISHFT(data_tmp, 45)
12924 476349 : data_tmp = IAND(data_tmp, mask_left(13))
12925 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12926 476349 : ipack = ipack + 1
12927 476349 : packed_data(ipack) = pack_tmp
12928 476349 : data_tmp = full_data(idata)
12929 476349 : pack_tmp = ISHFT(data_tmp, 58)
12930 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12931 476349 : idata = idata + 1
12932 476349 : data_tmp = full_data(idata)
12933 476349 : data_tmp = ISHFT(data_tmp, 45)
12934 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12935 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12936 476349 : idata = idata + 1
12937 476349 : data_tmp = full_data(idata)
12938 476349 : data_tmp = ISHFT(data_tmp, 45)
12939 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12940 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12941 476349 : idata = idata + 1
12942 476349 : data_tmp = full_data(idata)
12943 476349 : data_tmp = ISHFT(data_tmp, 45)
12944 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12945 476349 : pack_tmp = ISHFT(pack_tmp, -1)
12946 476349 : idata = idata + 1
12947 476349 : data_tmp = full_data(idata)
12948 476349 : data_tmp = ISHFT(data_tmp, 45)
12949 476349 : data_tmp = IAND(data_tmp, mask_left(1))
12950 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12951 476349 : ipack = ipack + 1
12952 476349 : packed_data(ipack) = pack_tmp
12953 476349 : data_tmp = full_data(idata)
12954 476349 : pack_tmp = ISHFT(data_tmp, 46)
12955 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12956 476349 : idata = idata + 1
12957 476349 : data_tmp = full_data(idata)
12958 476349 : data_tmp = ISHFT(data_tmp, 45)
12959 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12960 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12961 476349 : idata = idata + 1
12962 476349 : data_tmp = full_data(idata)
12963 476349 : data_tmp = ISHFT(data_tmp, 45)
12964 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12965 476349 : pack_tmp = ISHFT(pack_tmp, -8)
12966 476349 : idata = idata + 1
12967 476349 : data_tmp = full_data(idata)
12968 476349 : data_tmp = ISHFT(data_tmp, 45)
12969 476349 : data_tmp = IAND(data_tmp, mask_left(8))
12970 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12971 476349 : ipack = ipack + 1
12972 476349 : packed_data(ipack) = pack_tmp
12973 476349 : data_tmp = full_data(idata)
12974 476349 : pack_tmp = ISHFT(data_tmp, 53)
12975 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12976 476349 : idata = idata + 1
12977 476349 : data_tmp = full_data(idata)
12978 476349 : data_tmp = ISHFT(data_tmp, 45)
12979 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12980 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12981 476349 : idata = idata + 1
12982 476349 : data_tmp = full_data(idata)
12983 476349 : data_tmp = ISHFT(data_tmp, 45)
12984 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12985 476349 : pack_tmp = ISHFT(pack_tmp, -15)
12986 476349 : idata = idata + 1
12987 476349 : data_tmp = full_data(idata)
12988 476349 : data_tmp = ISHFT(data_tmp, 45)
12989 476349 : data_tmp = IAND(data_tmp, mask_left(15))
12990 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
12991 476349 : ipack = ipack + 1
12992 476349 : packed_data(ipack) = pack_tmp
12993 476349 : data_tmp = full_data(idata)
12994 476349 : pack_tmp = ISHFT(data_tmp, 60)
12995 476349 : pack_tmp = ISHFT(pack_tmp, -19)
12996 476349 : idata = idata + 1
12997 476349 : data_tmp = full_data(idata)
12998 476349 : data_tmp = ISHFT(data_tmp, 45)
12999 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13000 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13001 476349 : idata = idata + 1
13002 476349 : data_tmp = full_data(idata)
13003 476349 : data_tmp = ISHFT(data_tmp, 45)
13004 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13005 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13006 476349 : idata = idata + 1
13007 476349 : data_tmp = full_data(idata)
13008 476349 : data_tmp = ISHFT(data_tmp, 45)
13009 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13010 476349 : pack_tmp = ISHFT(pack_tmp, -3)
13011 476349 : idata = idata + 1
13012 476349 : data_tmp = full_data(idata)
13013 476349 : data_tmp = ISHFT(data_tmp, 45)
13014 476349 : data_tmp = IAND(data_tmp, mask_left(3))
13015 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13016 476349 : ipack = ipack + 1
13017 476349 : packed_data(ipack) = pack_tmp
13018 476349 : data_tmp = full_data(idata)
13019 476349 : pack_tmp = ISHFT(data_tmp, 48)
13020 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13021 476349 : idata = idata + 1
13022 476349 : data_tmp = full_data(idata)
13023 476349 : data_tmp = ISHFT(data_tmp, 45)
13024 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13025 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13026 476349 : idata = idata + 1
13027 476349 : data_tmp = full_data(idata)
13028 476349 : data_tmp = ISHFT(data_tmp, 45)
13029 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13030 476349 : pack_tmp = ISHFT(pack_tmp, -10)
13031 476349 : idata = idata + 1
13032 476349 : data_tmp = full_data(idata)
13033 476349 : data_tmp = ISHFT(data_tmp, 45)
13034 476349 : data_tmp = IAND(data_tmp, mask_left(10))
13035 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13036 476349 : ipack = ipack + 1
13037 476349 : packed_data(ipack) = pack_tmp
13038 476349 : data_tmp = full_data(idata)
13039 476349 : pack_tmp = ISHFT(data_tmp, 55)
13040 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13041 476349 : idata = idata + 1
13042 476349 : data_tmp = full_data(idata)
13043 476349 : data_tmp = ISHFT(data_tmp, 45)
13044 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13045 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13046 476349 : idata = idata + 1
13047 476349 : data_tmp = full_data(idata)
13048 476349 : data_tmp = ISHFT(data_tmp, 45)
13049 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13050 476349 : pack_tmp = ISHFT(pack_tmp, -17)
13051 476349 : idata = idata + 1
13052 476349 : data_tmp = full_data(idata)
13053 476349 : data_tmp = ISHFT(data_tmp, 45)
13054 476349 : data_tmp = IAND(data_tmp, mask_left(17))
13055 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13056 476349 : ipack = ipack + 1
13057 476349 : packed_data(ipack) = pack_tmp
13058 476349 : data_tmp = full_data(idata)
13059 476349 : pack_tmp = ISHFT(data_tmp, 62)
13060 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13061 476349 : idata = idata + 1
13062 476349 : data_tmp = full_data(idata)
13063 476349 : data_tmp = ISHFT(data_tmp, 45)
13064 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13065 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13066 476349 : idata = idata + 1
13067 476349 : data_tmp = full_data(idata)
13068 476349 : data_tmp = ISHFT(data_tmp, 45)
13069 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13070 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13071 476349 : idata = idata + 1
13072 476349 : data_tmp = full_data(idata)
13073 476349 : data_tmp = ISHFT(data_tmp, 45)
13074 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13075 476349 : pack_tmp = ISHFT(pack_tmp, -5)
13076 476349 : idata = idata + 1
13077 476349 : data_tmp = full_data(idata)
13078 476349 : data_tmp = ISHFT(data_tmp, 45)
13079 476349 : data_tmp = IAND(data_tmp, mask_left(5))
13080 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13081 476349 : ipack = ipack + 1
13082 476349 : packed_data(ipack) = pack_tmp
13083 476349 : data_tmp = full_data(idata)
13084 476349 : pack_tmp = ISHFT(data_tmp, 50)
13085 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13086 476349 : idata = idata + 1
13087 476349 : data_tmp = full_data(idata)
13088 476349 : data_tmp = ISHFT(data_tmp, 45)
13089 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13090 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13091 476349 : idata = idata + 1
13092 476349 : data_tmp = full_data(idata)
13093 476349 : data_tmp = ISHFT(data_tmp, 45)
13094 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13095 476349 : pack_tmp = ISHFT(pack_tmp, -12)
13096 476349 : idata = idata + 1
13097 476349 : data_tmp = full_data(idata)
13098 476349 : data_tmp = ISHFT(data_tmp, 45)
13099 476349 : data_tmp = IAND(data_tmp, mask_left(12))
13100 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13101 476349 : ipack = ipack + 1
13102 476349 : packed_data(ipack) = pack_tmp
13103 476349 : data_tmp = full_data(idata)
13104 476349 : pack_tmp = ISHFT(data_tmp, 57)
13105 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13106 476349 : idata = idata + 1
13107 476349 : data_tmp = full_data(idata)
13108 476349 : data_tmp = ISHFT(data_tmp, 45)
13109 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13110 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13111 476349 : idata = idata + 1
13112 476349 : data_tmp = full_data(idata)
13113 476349 : data_tmp = ISHFT(data_tmp, 45)
13114 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13115 476349 : pack_tmp = ISHFT(pack_tmp, -19)
13116 476349 : idata = idata + 1
13117 476349 : data_tmp = full_data(idata)
13118 476349 : data_tmp = ISHFT(data_tmp, 45)
13119 476349 : pack_tmp = IOR(pack_tmp, data_tmp)
13120 : pack_tmp = ISHFT(pack_tmp, 0)
13121 476349 : pack_tmp = ISHFT(pack_tmp, 0)
13122 476349 : ipack = ipack + 1
13123 476443 : packed_data(ipack) = pack_tmp
13124 : END DO
13125 31324 : IF (Ndata_rep < Ndata) THEN
13126 2822 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13127 : END IF
13128 31324 : END SUBROUTINE ints2bits_19
13129 :
13130 : ! **************************************************************************************************
13131 : !> \brief ...
13132 : !> \param Ndata ...
13133 : !> \param packed_data ...
13134 : !> \param full_data ...
13135 : ! **************************************************************************************************
13136 158468 : 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(*)
13140 :
13141 : INTEGER, PARAMETER :: Nbits = 19
13142 :
13143 : INTEGER :: idata, ipack, kdata, Ndata_rep
13144 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
13145 :
13146 158468 : ipack = 0
13147 158468 : idata = 0
13148 158468 : pack_tmp = 0
13149 158468 : Ndata_rep = (Ndata/64)*64
13150 158468 : DO kdata = 1, Ndata_rep, 64
13151 2325665 : idata = idata + 1
13152 2325665 : data_tmp = ISHFT(pack_tmp, 19)
13153 2325665 : ipack = ipack + 1
13154 2325665 : pack_tmp = packed_data(ipack)
13155 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
13156 2325665 : pack_tmp = ISHFT(pack_tmp, -19)
13157 2325665 : idata = idata + 1
13158 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13159 2325665 : full_data(idata) = data_tmp
13160 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13161 2325665 : idata = idata + 1
13162 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13163 2325665 : full_data(idata) = data_tmp
13164 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13165 2325665 : idata = idata + 1
13166 2325665 : data_tmp = ISHFT(pack_tmp, 12)
13167 2325665 : ipack = ipack + 1
13168 2325665 : pack_tmp = packed_data(ipack)
13169 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
13170 2325665 : pack_tmp = ISHFT(pack_tmp, -12)
13171 2325665 : idata = idata + 1
13172 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13173 2325665 : full_data(idata) = data_tmp
13174 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13175 2325665 : idata = idata + 1
13176 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13177 2325665 : full_data(idata) = data_tmp
13178 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13179 2325665 : idata = idata + 1
13180 2325665 : data_tmp = ISHFT(pack_tmp, 5)
13181 2325665 : ipack = ipack + 1
13182 2325665 : pack_tmp = packed_data(ipack)
13183 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
13184 2325665 : pack_tmp = ISHFT(pack_tmp, -5)
13185 2325665 : idata = idata + 1
13186 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13187 2325665 : full_data(idata) = data_tmp
13188 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13189 2325665 : idata = idata + 1
13190 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13191 2325665 : full_data(idata) = data_tmp
13192 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13193 2325665 : idata = idata + 1
13194 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13195 2325665 : full_data(idata) = data_tmp
13196 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13197 2325665 : idata = idata + 1
13198 2325665 : data_tmp = ISHFT(pack_tmp, 17)
13199 2325665 : ipack = ipack + 1
13200 2325665 : pack_tmp = packed_data(ipack)
13201 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
13202 2325665 : pack_tmp = ISHFT(pack_tmp, -17)
13203 2325665 : idata = idata + 1
13204 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13205 2325665 : full_data(idata) = data_tmp
13206 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13207 2325665 : idata = idata + 1
13208 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13209 2325665 : full_data(idata) = data_tmp
13210 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13211 2325665 : idata = idata + 1
13212 2325665 : data_tmp = ISHFT(pack_tmp, 10)
13213 2325665 : ipack = ipack + 1
13214 2325665 : pack_tmp = packed_data(ipack)
13215 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
13216 2325665 : pack_tmp = ISHFT(pack_tmp, -10)
13217 2325665 : idata = idata + 1
13218 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13219 2325665 : full_data(idata) = data_tmp
13220 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13221 2325665 : idata = idata + 1
13222 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13223 2325665 : full_data(idata) = data_tmp
13224 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13225 2325665 : idata = idata + 1
13226 2325665 : data_tmp = ISHFT(pack_tmp, 3)
13227 2325665 : ipack = ipack + 1
13228 2325665 : pack_tmp = packed_data(ipack)
13229 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
13230 2325665 : pack_tmp = ISHFT(pack_tmp, -3)
13231 2325665 : idata = idata + 1
13232 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13233 2325665 : full_data(idata) = data_tmp
13234 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13235 2325665 : idata = idata + 1
13236 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13237 2325665 : full_data(idata) = data_tmp
13238 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13239 2325665 : idata = idata + 1
13240 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13241 2325665 : full_data(idata) = data_tmp
13242 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13243 2325665 : idata = idata + 1
13244 2325665 : data_tmp = ISHFT(pack_tmp, 15)
13245 2325665 : ipack = ipack + 1
13246 2325665 : pack_tmp = packed_data(ipack)
13247 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
13248 2325665 : pack_tmp = ISHFT(pack_tmp, -15)
13249 2325665 : idata = idata + 1
13250 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13251 2325665 : full_data(idata) = data_tmp
13252 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13253 2325665 : idata = idata + 1
13254 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13255 2325665 : full_data(idata) = data_tmp
13256 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13257 2325665 : idata = idata + 1
13258 2325665 : data_tmp = ISHFT(pack_tmp, 8)
13259 2325665 : ipack = ipack + 1
13260 2325665 : pack_tmp = packed_data(ipack)
13261 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
13262 2325665 : pack_tmp = ISHFT(pack_tmp, -8)
13263 2325665 : idata = idata + 1
13264 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13265 2325665 : full_data(idata) = data_tmp
13266 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13267 2325665 : idata = idata + 1
13268 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13269 2325665 : full_data(idata) = data_tmp
13270 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13271 2325665 : idata = idata + 1
13272 2325665 : data_tmp = ISHFT(pack_tmp, 1)
13273 2325665 : ipack = ipack + 1
13274 2325665 : pack_tmp = packed_data(ipack)
13275 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
13276 2325665 : pack_tmp = ISHFT(pack_tmp, -1)
13277 2325665 : idata = idata + 1
13278 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13279 2325665 : full_data(idata) = data_tmp
13280 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13281 2325665 : idata = idata + 1
13282 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13283 2325665 : full_data(idata) = data_tmp
13284 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13285 2325665 : idata = idata + 1
13286 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13287 2325665 : full_data(idata) = data_tmp
13288 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13289 2325665 : idata = idata + 1
13290 2325665 : data_tmp = ISHFT(pack_tmp, 13)
13291 2325665 : ipack = ipack + 1
13292 2325665 : pack_tmp = packed_data(ipack)
13293 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
13294 2325665 : pack_tmp = ISHFT(pack_tmp, -13)
13295 2325665 : idata = idata + 1
13296 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13297 2325665 : full_data(idata) = data_tmp
13298 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13299 2325665 : idata = idata + 1
13300 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13301 2325665 : full_data(idata) = data_tmp
13302 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13303 2325665 : idata = idata + 1
13304 2325665 : data_tmp = ISHFT(pack_tmp, 6)
13305 2325665 : ipack = ipack + 1
13306 2325665 : pack_tmp = packed_data(ipack)
13307 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
13308 2325665 : pack_tmp = ISHFT(pack_tmp, -6)
13309 2325665 : idata = idata + 1
13310 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13311 2325665 : full_data(idata) = data_tmp
13312 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13313 2325665 : idata = idata + 1
13314 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13315 2325665 : full_data(idata) = data_tmp
13316 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13317 2325665 : idata = idata + 1
13318 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13319 2325665 : full_data(idata) = data_tmp
13320 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13321 2325665 : idata = idata + 1
13322 2325665 : data_tmp = ISHFT(pack_tmp, 18)
13323 2325665 : ipack = ipack + 1
13324 2325665 : pack_tmp = packed_data(ipack)
13325 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
13326 2325665 : pack_tmp = ISHFT(pack_tmp, -18)
13327 2325665 : idata = idata + 1
13328 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13329 2325665 : full_data(idata) = data_tmp
13330 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13331 2325665 : idata = idata + 1
13332 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13333 2325665 : full_data(idata) = data_tmp
13334 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13335 2325665 : idata = idata + 1
13336 2325665 : data_tmp = ISHFT(pack_tmp, 11)
13337 2325665 : ipack = ipack + 1
13338 2325665 : pack_tmp = packed_data(ipack)
13339 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
13340 2325665 : pack_tmp = ISHFT(pack_tmp, -11)
13341 2325665 : idata = idata + 1
13342 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13343 2325665 : full_data(idata) = data_tmp
13344 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13345 2325665 : idata = idata + 1
13346 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13347 2325665 : full_data(idata) = data_tmp
13348 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13349 2325665 : idata = idata + 1
13350 2325665 : data_tmp = ISHFT(pack_tmp, 4)
13351 2325665 : ipack = ipack + 1
13352 2325665 : pack_tmp = packed_data(ipack)
13353 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
13354 2325665 : pack_tmp = ISHFT(pack_tmp, -4)
13355 2325665 : idata = idata + 1
13356 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13357 2325665 : full_data(idata) = data_tmp
13358 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13359 2325665 : idata = idata + 1
13360 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13361 2325665 : full_data(idata) = data_tmp
13362 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13363 2325665 : idata = idata + 1
13364 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13365 2325665 : full_data(idata) = data_tmp
13366 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13367 2325665 : idata = idata + 1
13368 2325665 : data_tmp = ISHFT(pack_tmp, 16)
13369 2325665 : ipack = ipack + 1
13370 2325665 : pack_tmp = packed_data(ipack)
13371 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
13372 2325665 : pack_tmp = ISHFT(pack_tmp, -16)
13373 2325665 : idata = idata + 1
13374 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13375 2325665 : full_data(idata) = data_tmp
13376 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13377 2325665 : idata = idata + 1
13378 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13379 2325665 : full_data(idata) = data_tmp
13380 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13381 2325665 : idata = idata + 1
13382 2325665 : data_tmp = ISHFT(pack_tmp, 9)
13383 2325665 : ipack = ipack + 1
13384 2325665 : pack_tmp = packed_data(ipack)
13385 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
13386 2325665 : pack_tmp = ISHFT(pack_tmp, -9)
13387 2325665 : idata = idata + 1
13388 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13389 2325665 : full_data(idata) = data_tmp
13390 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13391 2325665 : idata = idata + 1
13392 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13393 2325665 : full_data(idata) = data_tmp
13394 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13395 2325665 : idata = idata + 1
13396 2325665 : data_tmp = ISHFT(pack_tmp, 2)
13397 2325665 : ipack = ipack + 1
13398 2325665 : pack_tmp = packed_data(ipack)
13399 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
13400 2325665 : pack_tmp = ISHFT(pack_tmp, -2)
13401 2325665 : idata = idata + 1
13402 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13403 2325665 : full_data(idata) = data_tmp
13404 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13405 2325665 : idata = idata + 1
13406 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13407 2325665 : full_data(idata) = data_tmp
13408 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13409 2325665 : idata = idata + 1
13410 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13411 2325665 : full_data(idata) = data_tmp
13412 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13413 2325665 : idata = idata + 1
13414 2325665 : data_tmp = ISHFT(pack_tmp, 14)
13415 2325665 : ipack = ipack + 1
13416 2325665 : pack_tmp = packed_data(ipack)
13417 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
13418 2325665 : pack_tmp = ISHFT(pack_tmp, -14)
13419 2325665 : idata = idata + 1
13420 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13421 2325665 : full_data(idata) = data_tmp
13422 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13423 2325665 : idata = idata + 1
13424 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13425 2325665 : full_data(idata) = data_tmp
13426 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13427 2325665 : idata = idata + 1
13428 2325665 : data_tmp = ISHFT(pack_tmp, 7)
13429 2325665 : ipack = ipack + 1
13430 2325665 : pack_tmp = packed_data(ipack)
13431 2325665 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
13432 2325665 : pack_tmp = ISHFT(pack_tmp, -7)
13433 2325665 : idata = idata + 1
13434 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13435 2325665 : full_data(idata) = data_tmp
13436 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13437 2325665 : idata = idata + 1
13438 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13439 2325665 : full_data(idata) = data_tmp
13440 2325665 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13441 2325665 : idata = idata + 1
13442 2325665 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13443 2325665 : full_data(idata) = data_tmp
13444 2326438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13445 : END DO
13446 158468 : IF (Ndata_rep < Ndata) THEN
13447 23870 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13448 : END IF
13449 158468 : END SUBROUTINE bits2ints_19
13450 :
13451 : ! **************************************************************************************************
13452 : !> \brief ...
13453 : !> \param Ndata ...
13454 : !> \param packed_data ...
13455 : !> \param full_data ...
13456 : ! **************************************************************************************************
13457 43569 : 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(*)
13461 :
13462 : INTEGER, PARAMETER :: Nbits = 20
13463 :
13464 : INTEGER :: idata, ipack, kdata, Ndata_rep
13465 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
13466 :
13467 43569 : idata = 0
13468 43569 : ipack = 0
13469 43569 : Ndata_rep = (Ndata/64)*64
13470 43569 : DO kdata = 1, Ndata_rep, 64
13471 621494 : pack_tmp = 0
13472 621494 : idata = idata + 1
13473 621494 : data_tmp = full_data(idata)
13474 621494 : data_tmp = ISHFT(data_tmp, 44)
13475 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13476 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13477 621494 : idata = idata + 1
13478 621494 : data_tmp = full_data(idata)
13479 621494 : data_tmp = ISHFT(data_tmp, 44)
13480 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13481 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13482 621494 : idata = idata + 1
13483 621494 : data_tmp = full_data(idata)
13484 621494 : data_tmp = ISHFT(data_tmp, 44)
13485 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13486 621494 : pack_tmp = ISHFT(pack_tmp, -4)
13487 621494 : idata = idata + 1
13488 621494 : data_tmp = full_data(idata)
13489 621494 : data_tmp = ISHFT(data_tmp, 44)
13490 621494 : data_tmp = IAND(data_tmp, mask_left(4))
13491 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13492 621494 : ipack = ipack + 1
13493 621494 : packed_data(ipack) = pack_tmp
13494 621494 : data_tmp = full_data(idata)
13495 621494 : pack_tmp = ISHFT(data_tmp, 48)
13496 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13497 621494 : idata = idata + 1
13498 621494 : data_tmp = full_data(idata)
13499 621494 : data_tmp = ISHFT(data_tmp, 44)
13500 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13501 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13502 621494 : idata = idata + 1
13503 621494 : data_tmp = full_data(idata)
13504 621494 : data_tmp = ISHFT(data_tmp, 44)
13505 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13506 621494 : pack_tmp = ISHFT(pack_tmp, -8)
13507 621494 : idata = idata + 1
13508 621494 : data_tmp = full_data(idata)
13509 621494 : data_tmp = ISHFT(data_tmp, 44)
13510 621494 : data_tmp = IAND(data_tmp, mask_left(8))
13511 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13512 621494 : ipack = ipack + 1
13513 621494 : packed_data(ipack) = pack_tmp
13514 621494 : data_tmp = full_data(idata)
13515 621494 : pack_tmp = ISHFT(data_tmp, 52)
13516 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13517 621494 : idata = idata + 1
13518 621494 : data_tmp = full_data(idata)
13519 621494 : data_tmp = ISHFT(data_tmp, 44)
13520 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13521 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13522 621494 : idata = idata + 1
13523 621494 : data_tmp = full_data(idata)
13524 621494 : data_tmp = ISHFT(data_tmp, 44)
13525 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13526 621494 : pack_tmp = ISHFT(pack_tmp, -12)
13527 621494 : idata = idata + 1
13528 621494 : data_tmp = full_data(idata)
13529 621494 : data_tmp = ISHFT(data_tmp, 44)
13530 621494 : data_tmp = IAND(data_tmp, mask_left(12))
13531 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13532 621494 : ipack = ipack + 1
13533 621494 : packed_data(ipack) = pack_tmp
13534 621494 : data_tmp = full_data(idata)
13535 621494 : pack_tmp = ISHFT(data_tmp, 56)
13536 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13537 621494 : idata = idata + 1
13538 621494 : data_tmp = full_data(idata)
13539 621494 : data_tmp = ISHFT(data_tmp, 44)
13540 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13541 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13542 621494 : idata = idata + 1
13543 621494 : data_tmp = full_data(idata)
13544 621494 : data_tmp = ISHFT(data_tmp, 44)
13545 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13546 621494 : pack_tmp = ISHFT(pack_tmp, -16)
13547 621494 : idata = idata + 1
13548 621494 : data_tmp = full_data(idata)
13549 621494 : data_tmp = ISHFT(data_tmp, 44)
13550 621494 : data_tmp = IAND(data_tmp, mask_left(16))
13551 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13552 621494 : ipack = ipack + 1
13553 621494 : packed_data(ipack) = pack_tmp
13554 621494 : data_tmp = full_data(idata)
13555 621494 : pack_tmp = ISHFT(data_tmp, 60)
13556 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13557 621494 : idata = idata + 1
13558 621494 : data_tmp = full_data(idata)
13559 621494 : data_tmp = ISHFT(data_tmp, 44)
13560 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13561 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13562 621494 : idata = idata + 1
13563 621494 : data_tmp = full_data(idata)
13564 621494 : data_tmp = ISHFT(data_tmp, 44)
13565 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13566 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13567 621494 : idata = idata + 1
13568 621494 : data_tmp = full_data(idata)
13569 621494 : data_tmp = ISHFT(data_tmp, 44)
13570 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13571 621494 : pack_tmp = ISHFT(pack_tmp, 0)
13572 621494 : idata = idata + 1
13573 621494 : data_tmp = full_data(idata)
13574 : data_tmp = ISHFT(data_tmp, 44)
13575 621494 : data_tmp = IAND(data_tmp, mask_left(0))
13576 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13577 621494 : ipack = ipack + 1
13578 621494 : packed_data(ipack) = pack_tmp
13579 621494 : data_tmp = full_data(idata)
13580 621494 : pack_tmp = ISHFT(data_tmp, 44)
13581 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13582 621494 : idata = idata + 1
13583 621494 : data_tmp = full_data(idata)
13584 621494 : data_tmp = ISHFT(data_tmp, 44)
13585 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13586 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13587 621494 : idata = idata + 1
13588 621494 : data_tmp = full_data(idata)
13589 621494 : data_tmp = ISHFT(data_tmp, 44)
13590 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13591 621494 : pack_tmp = ISHFT(pack_tmp, -4)
13592 621494 : idata = idata + 1
13593 621494 : data_tmp = full_data(idata)
13594 621494 : data_tmp = ISHFT(data_tmp, 44)
13595 621494 : data_tmp = IAND(data_tmp, mask_left(4))
13596 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13597 621494 : ipack = ipack + 1
13598 621494 : packed_data(ipack) = pack_tmp
13599 621494 : data_tmp = full_data(idata)
13600 621494 : pack_tmp = ISHFT(data_tmp, 48)
13601 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13602 621494 : idata = idata + 1
13603 621494 : data_tmp = full_data(idata)
13604 621494 : data_tmp = ISHFT(data_tmp, 44)
13605 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13606 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13607 621494 : idata = idata + 1
13608 621494 : data_tmp = full_data(idata)
13609 621494 : data_tmp = ISHFT(data_tmp, 44)
13610 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13611 621494 : pack_tmp = ISHFT(pack_tmp, -8)
13612 621494 : idata = idata + 1
13613 621494 : data_tmp = full_data(idata)
13614 621494 : data_tmp = ISHFT(data_tmp, 44)
13615 621494 : data_tmp = IAND(data_tmp, mask_left(8))
13616 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13617 621494 : ipack = ipack + 1
13618 621494 : packed_data(ipack) = pack_tmp
13619 621494 : data_tmp = full_data(idata)
13620 621494 : pack_tmp = ISHFT(data_tmp, 52)
13621 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13622 621494 : idata = idata + 1
13623 621494 : data_tmp = full_data(idata)
13624 621494 : data_tmp = ISHFT(data_tmp, 44)
13625 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13626 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13627 621494 : idata = idata + 1
13628 621494 : data_tmp = full_data(idata)
13629 621494 : data_tmp = ISHFT(data_tmp, 44)
13630 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13631 621494 : pack_tmp = ISHFT(pack_tmp, -12)
13632 621494 : idata = idata + 1
13633 621494 : data_tmp = full_data(idata)
13634 621494 : data_tmp = ISHFT(data_tmp, 44)
13635 621494 : data_tmp = IAND(data_tmp, mask_left(12))
13636 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13637 621494 : ipack = ipack + 1
13638 621494 : packed_data(ipack) = pack_tmp
13639 621494 : data_tmp = full_data(idata)
13640 621494 : pack_tmp = ISHFT(data_tmp, 56)
13641 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13642 621494 : idata = idata + 1
13643 621494 : data_tmp = full_data(idata)
13644 621494 : data_tmp = ISHFT(data_tmp, 44)
13645 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13646 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13647 621494 : idata = idata + 1
13648 621494 : data_tmp = full_data(idata)
13649 621494 : data_tmp = ISHFT(data_tmp, 44)
13650 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13651 621494 : pack_tmp = ISHFT(pack_tmp, -16)
13652 621494 : idata = idata + 1
13653 621494 : data_tmp = full_data(idata)
13654 621494 : data_tmp = ISHFT(data_tmp, 44)
13655 621494 : data_tmp = IAND(data_tmp, mask_left(16))
13656 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13657 621494 : ipack = ipack + 1
13658 621494 : packed_data(ipack) = pack_tmp
13659 621494 : data_tmp = full_data(idata)
13660 621494 : pack_tmp = ISHFT(data_tmp, 60)
13661 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13662 621494 : idata = idata + 1
13663 621494 : data_tmp = full_data(idata)
13664 621494 : data_tmp = ISHFT(data_tmp, 44)
13665 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13666 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13667 621494 : idata = idata + 1
13668 621494 : data_tmp = full_data(idata)
13669 621494 : data_tmp = ISHFT(data_tmp, 44)
13670 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13671 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13672 621494 : idata = idata + 1
13673 621494 : data_tmp = full_data(idata)
13674 621494 : data_tmp = ISHFT(data_tmp, 44)
13675 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13676 621494 : pack_tmp = ISHFT(pack_tmp, 0)
13677 621494 : idata = idata + 1
13678 621494 : data_tmp = full_data(idata)
13679 : data_tmp = ISHFT(data_tmp, 44)
13680 621494 : data_tmp = IAND(data_tmp, mask_left(0))
13681 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13682 621494 : ipack = ipack + 1
13683 621494 : packed_data(ipack) = pack_tmp
13684 621494 : data_tmp = full_data(idata)
13685 621494 : pack_tmp = ISHFT(data_tmp, 44)
13686 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13687 621494 : idata = idata + 1
13688 621494 : data_tmp = full_data(idata)
13689 621494 : data_tmp = ISHFT(data_tmp, 44)
13690 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13691 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13692 621494 : idata = idata + 1
13693 621494 : data_tmp = full_data(idata)
13694 621494 : data_tmp = ISHFT(data_tmp, 44)
13695 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13696 621494 : pack_tmp = ISHFT(pack_tmp, -4)
13697 621494 : idata = idata + 1
13698 621494 : data_tmp = full_data(idata)
13699 621494 : data_tmp = ISHFT(data_tmp, 44)
13700 621494 : data_tmp = IAND(data_tmp, mask_left(4))
13701 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13702 621494 : ipack = ipack + 1
13703 621494 : packed_data(ipack) = pack_tmp
13704 621494 : data_tmp = full_data(idata)
13705 621494 : pack_tmp = ISHFT(data_tmp, 48)
13706 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13707 621494 : idata = idata + 1
13708 621494 : data_tmp = full_data(idata)
13709 621494 : data_tmp = ISHFT(data_tmp, 44)
13710 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13711 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13712 621494 : idata = idata + 1
13713 621494 : data_tmp = full_data(idata)
13714 621494 : data_tmp = ISHFT(data_tmp, 44)
13715 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13716 621494 : pack_tmp = ISHFT(pack_tmp, -8)
13717 621494 : idata = idata + 1
13718 621494 : data_tmp = full_data(idata)
13719 621494 : data_tmp = ISHFT(data_tmp, 44)
13720 621494 : data_tmp = IAND(data_tmp, mask_left(8))
13721 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13722 621494 : ipack = ipack + 1
13723 621494 : packed_data(ipack) = pack_tmp
13724 621494 : data_tmp = full_data(idata)
13725 621494 : pack_tmp = ISHFT(data_tmp, 52)
13726 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13727 621494 : idata = idata + 1
13728 621494 : data_tmp = full_data(idata)
13729 621494 : data_tmp = ISHFT(data_tmp, 44)
13730 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13731 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13732 621494 : idata = idata + 1
13733 621494 : data_tmp = full_data(idata)
13734 621494 : data_tmp = ISHFT(data_tmp, 44)
13735 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13736 621494 : pack_tmp = ISHFT(pack_tmp, -12)
13737 621494 : idata = idata + 1
13738 621494 : data_tmp = full_data(idata)
13739 621494 : data_tmp = ISHFT(data_tmp, 44)
13740 621494 : data_tmp = IAND(data_tmp, mask_left(12))
13741 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13742 621494 : ipack = ipack + 1
13743 621494 : packed_data(ipack) = pack_tmp
13744 621494 : data_tmp = full_data(idata)
13745 621494 : pack_tmp = ISHFT(data_tmp, 56)
13746 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13747 621494 : idata = idata + 1
13748 621494 : data_tmp = full_data(idata)
13749 621494 : data_tmp = ISHFT(data_tmp, 44)
13750 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13751 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13752 621494 : idata = idata + 1
13753 621494 : data_tmp = full_data(idata)
13754 621494 : data_tmp = ISHFT(data_tmp, 44)
13755 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13756 621494 : pack_tmp = ISHFT(pack_tmp, -16)
13757 621494 : idata = idata + 1
13758 621494 : data_tmp = full_data(idata)
13759 621494 : data_tmp = ISHFT(data_tmp, 44)
13760 621494 : data_tmp = IAND(data_tmp, mask_left(16))
13761 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13762 621494 : ipack = ipack + 1
13763 621494 : packed_data(ipack) = pack_tmp
13764 621494 : data_tmp = full_data(idata)
13765 621494 : pack_tmp = ISHFT(data_tmp, 60)
13766 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13767 621494 : idata = idata + 1
13768 621494 : data_tmp = full_data(idata)
13769 621494 : data_tmp = ISHFT(data_tmp, 44)
13770 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13771 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13772 621494 : idata = idata + 1
13773 621494 : data_tmp = full_data(idata)
13774 621494 : data_tmp = ISHFT(data_tmp, 44)
13775 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13776 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13777 621494 : idata = idata + 1
13778 621494 : data_tmp = full_data(idata)
13779 621494 : data_tmp = ISHFT(data_tmp, 44)
13780 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13781 621494 : pack_tmp = ISHFT(pack_tmp, 0)
13782 621494 : idata = idata + 1
13783 621494 : data_tmp = full_data(idata)
13784 : data_tmp = ISHFT(data_tmp, 44)
13785 621494 : data_tmp = IAND(data_tmp, mask_left(0))
13786 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13787 621494 : ipack = ipack + 1
13788 621494 : packed_data(ipack) = pack_tmp
13789 621494 : data_tmp = full_data(idata)
13790 621494 : pack_tmp = ISHFT(data_tmp, 44)
13791 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13792 621494 : idata = idata + 1
13793 621494 : data_tmp = full_data(idata)
13794 621494 : data_tmp = ISHFT(data_tmp, 44)
13795 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13796 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13797 621494 : idata = idata + 1
13798 621494 : data_tmp = full_data(idata)
13799 621494 : data_tmp = ISHFT(data_tmp, 44)
13800 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13801 621494 : pack_tmp = ISHFT(pack_tmp, -4)
13802 621494 : idata = idata + 1
13803 621494 : data_tmp = full_data(idata)
13804 621494 : data_tmp = ISHFT(data_tmp, 44)
13805 621494 : data_tmp = IAND(data_tmp, mask_left(4))
13806 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13807 621494 : ipack = ipack + 1
13808 621494 : packed_data(ipack) = pack_tmp
13809 621494 : data_tmp = full_data(idata)
13810 621494 : pack_tmp = ISHFT(data_tmp, 48)
13811 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13812 621494 : idata = idata + 1
13813 621494 : data_tmp = full_data(idata)
13814 621494 : data_tmp = ISHFT(data_tmp, 44)
13815 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13816 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13817 621494 : idata = idata + 1
13818 621494 : data_tmp = full_data(idata)
13819 621494 : data_tmp = ISHFT(data_tmp, 44)
13820 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13821 621494 : pack_tmp = ISHFT(pack_tmp, -8)
13822 621494 : idata = idata + 1
13823 621494 : data_tmp = full_data(idata)
13824 621494 : data_tmp = ISHFT(data_tmp, 44)
13825 621494 : data_tmp = IAND(data_tmp, mask_left(8))
13826 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13827 621494 : ipack = ipack + 1
13828 621494 : packed_data(ipack) = pack_tmp
13829 621494 : data_tmp = full_data(idata)
13830 621494 : pack_tmp = ISHFT(data_tmp, 52)
13831 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13832 621494 : idata = idata + 1
13833 621494 : data_tmp = full_data(idata)
13834 621494 : data_tmp = ISHFT(data_tmp, 44)
13835 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13836 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13837 621494 : idata = idata + 1
13838 621494 : data_tmp = full_data(idata)
13839 621494 : data_tmp = ISHFT(data_tmp, 44)
13840 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13841 621494 : pack_tmp = ISHFT(pack_tmp, -12)
13842 621494 : idata = idata + 1
13843 621494 : data_tmp = full_data(idata)
13844 621494 : data_tmp = ISHFT(data_tmp, 44)
13845 621494 : data_tmp = IAND(data_tmp, mask_left(12))
13846 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13847 621494 : ipack = ipack + 1
13848 621494 : packed_data(ipack) = pack_tmp
13849 621494 : data_tmp = full_data(idata)
13850 621494 : pack_tmp = ISHFT(data_tmp, 56)
13851 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13852 621494 : idata = idata + 1
13853 621494 : data_tmp = full_data(idata)
13854 621494 : data_tmp = ISHFT(data_tmp, 44)
13855 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13856 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13857 621494 : idata = idata + 1
13858 621494 : data_tmp = full_data(idata)
13859 621494 : data_tmp = ISHFT(data_tmp, 44)
13860 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13861 621494 : pack_tmp = ISHFT(pack_tmp, -16)
13862 621494 : idata = idata + 1
13863 621494 : data_tmp = full_data(idata)
13864 621494 : data_tmp = ISHFT(data_tmp, 44)
13865 621494 : data_tmp = IAND(data_tmp, mask_left(16))
13866 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13867 621494 : ipack = ipack + 1
13868 621494 : packed_data(ipack) = pack_tmp
13869 621494 : data_tmp = full_data(idata)
13870 621494 : pack_tmp = ISHFT(data_tmp, 60)
13871 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13872 621494 : idata = idata + 1
13873 621494 : data_tmp = full_data(idata)
13874 621494 : data_tmp = ISHFT(data_tmp, 44)
13875 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13876 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13877 621494 : idata = idata + 1
13878 621494 : data_tmp = full_data(idata)
13879 621494 : data_tmp = ISHFT(data_tmp, 44)
13880 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13881 621494 : pack_tmp = ISHFT(pack_tmp, -20)
13882 621494 : idata = idata + 1
13883 621494 : data_tmp = full_data(idata)
13884 621494 : data_tmp = ISHFT(data_tmp, 44)
13885 621494 : pack_tmp = IOR(pack_tmp, data_tmp)
13886 : pack_tmp = ISHFT(pack_tmp, 0)
13887 621494 : pack_tmp = ISHFT(pack_tmp, 0)
13888 621494 : ipack = ipack + 1
13889 621894 : packed_data(ipack) = pack_tmp
13890 : END DO
13891 43569 : IF (Ndata_rep < Ndata) THEN
13892 7924 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
13893 : END IF
13894 43569 : END SUBROUTINE ints2bits_20
13895 :
13896 : ! **************************************************************************************************
13897 : !> \brief ...
13898 : !> \param Ndata ...
13899 : !> \param packed_data ...
13900 : !> \param full_data ...
13901 : ! **************************************************************************************************
13902 301588 : 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(*)
13906 :
13907 : INTEGER, PARAMETER :: Nbits = 20
13908 :
13909 : INTEGER :: idata, ipack, kdata, Ndata_rep
13910 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
13911 :
13912 301588 : ipack = 0
13913 301588 : idata = 0
13914 301588 : pack_tmp = 0
13915 301588 : Ndata_rep = (Ndata/64)*64
13916 301588 : DO kdata = 1, Ndata_rep, 64
13917 4030336 : idata = idata + 1
13918 4030336 : data_tmp = ISHFT(pack_tmp, 20)
13919 4030336 : ipack = ipack + 1
13920 4030336 : pack_tmp = packed_data(ipack)
13921 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
13922 4030336 : pack_tmp = ISHFT(pack_tmp, -20)
13923 4030336 : idata = idata + 1
13924 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13925 4030336 : full_data(idata) = data_tmp
13926 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13927 4030336 : idata = idata + 1
13928 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13929 4030336 : full_data(idata) = data_tmp
13930 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13931 4030336 : idata = idata + 1
13932 4030336 : data_tmp = ISHFT(pack_tmp, 16)
13933 4030336 : ipack = ipack + 1
13934 4030336 : pack_tmp = packed_data(ipack)
13935 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
13936 4030336 : pack_tmp = ISHFT(pack_tmp, -16)
13937 4030336 : idata = idata + 1
13938 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13939 4030336 : full_data(idata) = data_tmp
13940 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13941 4030336 : idata = idata + 1
13942 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13943 4030336 : full_data(idata) = data_tmp
13944 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13945 4030336 : idata = idata + 1
13946 4030336 : data_tmp = ISHFT(pack_tmp, 12)
13947 4030336 : ipack = ipack + 1
13948 4030336 : pack_tmp = packed_data(ipack)
13949 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
13950 4030336 : pack_tmp = ISHFT(pack_tmp, -12)
13951 4030336 : idata = idata + 1
13952 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13953 4030336 : full_data(idata) = data_tmp
13954 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13955 4030336 : idata = idata + 1
13956 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13957 4030336 : full_data(idata) = data_tmp
13958 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13959 4030336 : idata = idata + 1
13960 4030336 : data_tmp = ISHFT(pack_tmp, 8)
13961 4030336 : ipack = ipack + 1
13962 4030336 : pack_tmp = packed_data(ipack)
13963 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
13964 4030336 : pack_tmp = ISHFT(pack_tmp, -8)
13965 4030336 : idata = idata + 1
13966 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13967 4030336 : full_data(idata) = data_tmp
13968 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13969 4030336 : idata = idata + 1
13970 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13971 4030336 : full_data(idata) = data_tmp
13972 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13973 4030336 : idata = idata + 1
13974 4030336 : data_tmp = ISHFT(pack_tmp, 4)
13975 4030336 : ipack = ipack + 1
13976 4030336 : pack_tmp = packed_data(ipack)
13977 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
13978 4030336 : pack_tmp = ISHFT(pack_tmp, -4)
13979 4030336 : idata = idata + 1
13980 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13981 4030336 : full_data(idata) = data_tmp
13982 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13983 4030336 : idata = idata + 1
13984 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13985 4030336 : full_data(idata) = data_tmp
13986 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13987 4030336 : idata = idata + 1
13988 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13989 4030336 : full_data(idata) = data_tmp
13990 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
13991 4030336 : idata = idata + 1
13992 4030336 : data_tmp = ISHFT(pack_tmp, 20)
13993 4030336 : ipack = ipack + 1
13994 4030336 : pack_tmp = packed_data(ipack)
13995 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
13996 4030336 : pack_tmp = ISHFT(pack_tmp, -20)
13997 4030336 : idata = idata + 1
13998 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
13999 4030336 : full_data(idata) = data_tmp
14000 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14001 4030336 : idata = idata + 1
14002 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14003 4030336 : full_data(idata) = data_tmp
14004 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14005 4030336 : idata = idata + 1
14006 4030336 : data_tmp = ISHFT(pack_tmp, 16)
14007 4030336 : ipack = ipack + 1
14008 4030336 : pack_tmp = packed_data(ipack)
14009 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14010 4030336 : pack_tmp = ISHFT(pack_tmp, -16)
14011 4030336 : idata = idata + 1
14012 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14013 4030336 : full_data(idata) = data_tmp
14014 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14015 4030336 : idata = idata + 1
14016 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14017 4030336 : full_data(idata) = data_tmp
14018 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14019 4030336 : idata = idata + 1
14020 4030336 : data_tmp = ISHFT(pack_tmp, 12)
14021 4030336 : ipack = ipack + 1
14022 4030336 : pack_tmp = packed_data(ipack)
14023 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14024 4030336 : pack_tmp = ISHFT(pack_tmp, -12)
14025 4030336 : idata = idata + 1
14026 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14027 4030336 : full_data(idata) = data_tmp
14028 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14029 4030336 : idata = idata + 1
14030 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14031 4030336 : full_data(idata) = data_tmp
14032 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14033 4030336 : idata = idata + 1
14034 4030336 : data_tmp = ISHFT(pack_tmp, 8)
14035 4030336 : ipack = ipack + 1
14036 4030336 : pack_tmp = packed_data(ipack)
14037 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14038 4030336 : pack_tmp = ISHFT(pack_tmp, -8)
14039 4030336 : idata = idata + 1
14040 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14041 4030336 : full_data(idata) = data_tmp
14042 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14043 4030336 : idata = idata + 1
14044 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14045 4030336 : full_data(idata) = data_tmp
14046 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14047 4030336 : idata = idata + 1
14048 4030336 : data_tmp = ISHFT(pack_tmp, 4)
14049 4030336 : ipack = ipack + 1
14050 4030336 : pack_tmp = packed_data(ipack)
14051 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14052 4030336 : pack_tmp = ISHFT(pack_tmp, -4)
14053 4030336 : idata = idata + 1
14054 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14055 4030336 : full_data(idata) = data_tmp
14056 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14057 4030336 : idata = idata + 1
14058 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14059 4030336 : full_data(idata) = data_tmp
14060 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14061 4030336 : idata = idata + 1
14062 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14063 4030336 : full_data(idata) = data_tmp
14064 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14065 4030336 : idata = idata + 1
14066 4030336 : data_tmp = ISHFT(pack_tmp, 20)
14067 4030336 : ipack = ipack + 1
14068 4030336 : pack_tmp = packed_data(ipack)
14069 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14070 4030336 : pack_tmp = ISHFT(pack_tmp, -20)
14071 4030336 : idata = idata + 1
14072 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14073 4030336 : full_data(idata) = data_tmp
14074 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14075 4030336 : idata = idata + 1
14076 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14077 4030336 : full_data(idata) = data_tmp
14078 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14079 4030336 : idata = idata + 1
14080 4030336 : data_tmp = ISHFT(pack_tmp, 16)
14081 4030336 : ipack = ipack + 1
14082 4030336 : pack_tmp = packed_data(ipack)
14083 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14084 4030336 : pack_tmp = ISHFT(pack_tmp, -16)
14085 4030336 : idata = idata + 1
14086 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14087 4030336 : full_data(idata) = data_tmp
14088 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14089 4030336 : idata = idata + 1
14090 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14091 4030336 : full_data(idata) = data_tmp
14092 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14093 4030336 : idata = idata + 1
14094 4030336 : data_tmp = ISHFT(pack_tmp, 12)
14095 4030336 : ipack = ipack + 1
14096 4030336 : pack_tmp = packed_data(ipack)
14097 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14098 4030336 : pack_tmp = ISHFT(pack_tmp, -12)
14099 4030336 : idata = idata + 1
14100 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14101 4030336 : full_data(idata) = data_tmp
14102 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14103 4030336 : idata = idata + 1
14104 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14105 4030336 : full_data(idata) = data_tmp
14106 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14107 4030336 : idata = idata + 1
14108 4030336 : data_tmp = ISHFT(pack_tmp, 8)
14109 4030336 : ipack = ipack + 1
14110 4030336 : pack_tmp = packed_data(ipack)
14111 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14112 4030336 : pack_tmp = ISHFT(pack_tmp, -8)
14113 4030336 : idata = idata + 1
14114 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14115 4030336 : full_data(idata) = data_tmp
14116 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14117 4030336 : idata = idata + 1
14118 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14119 4030336 : full_data(idata) = data_tmp
14120 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14121 4030336 : idata = idata + 1
14122 4030336 : data_tmp = ISHFT(pack_tmp, 4)
14123 4030336 : ipack = ipack + 1
14124 4030336 : pack_tmp = packed_data(ipack)
14125 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14126 4030336 : pack_tmp = ISHFT(pack_tmp, -4)
14127 4030336 : idata = idata + 1
14128 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14129 4030336 : full_data(idata) = data_tmp
14130 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14131 4030336 : idata = idata + 1
14132 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14133 4030336 : full_data(idata) = data_tmp
14134 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14135 4030336 : idata = idata + 1
14136 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14137 4030336 : full_data(idata) = data_tmp
14138 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14139 4030336 : idata = idata + 1
14140 4030336 : data_tmp = ISHFT(pack_tmp, 20)
14141 4030336 : ipack = ipack + 1
14142 4030336 : pack_tmp = packed_data(ipack)
14143 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14144 4030336 : pack_tmp = ISHFT(pack_tmp, -20)
14145 4030336 : idata = idata + 1
14146 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14147 4030336 : full_data(idata) = data_tmp
14148 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14149 4030336 : idata = idata + 1
14150 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14151 4030336 : full_data(idata) = data_tmp
14152 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14153 4030336 : idata = idata + 1
14154 4030336 : data_tmp = ISHFT(pack_tmp, 16)
14155 4030336 : ipack = ipack + 1
14156 4030336 : pack_tmp = packed_data(ipack)
14157 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14158 4030336 : pack_tmp = ISHFT(pack_tmp, -16)
14159 4030336 : idata = idata + 1
14160 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14161 4030336 : full_data(idata) = data_tmp
14162 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14163 4030336 : idata = idata + 1
14164 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14165 4030336 : full_data(idata) = data_tmp
14166 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14167 4030336 : idata = idata + 1
14168 4030336 : data_tmp = ISHFT(pack_tmp, 12)
14169 4030336 : ipack = ipack + 1
14170 4030336 : pack_tmp = packed_data(ipack)
14171 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14172 4030336 : pack_tmp = ISHFT(pack_tmp, -12)
14173 4030336 : idata = idata + 1
14174 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14175 4030336 : full_data(idata) = data_tmp
14176 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14177 4030336 : idata = idata + 1
14178 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14179 4030336 : full_data(idata) = data_tmp
14180 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14181 4030336 : idata = idata + 1
14182 4030336 : data_tmp = ISHFT(pack_tmp, 8)
14183 4030336 : ipack = ipack + 1
14184 4030336 : pack_tmp = packed_data(ipack)
14185 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14186 4030336 : pack_tmp = ISHFT(pack_tmp, -8)
14187 4030336 : idata = idata + 1
14188 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14189 4030336 : full_data(idata) = data_tmp
14190 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14191 4030336 : idata = idata + 1
14192 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14193 4030336 : full_data(idata) = data_tmp
14194 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14195 4030336 : idata = idata + 1
14196 4030336 : data_tmp = ISHFT(pack_tmp, 4)
14197 4030336 : ipack = ipack + 1
14198 4030336 : pack_tmp = packed_data(ipack)
14199 4030336 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14200 4030336 : pack_tmp = ISHFT(pack_tmp, -4)
14201 4030336 : idata = idata + 1
14202 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14203 4030336 : full_data(idata) = data_tmp
14204 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14205 4030336 : idata = idata + 1
14206 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14207 4030336 : full_data(idata) = data_tmp
14208 4030336 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14209 4030336 : idata = idata + 1
14210 4030336 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14211 4030336 : full_data(idata) = data_tmp
14212 4034512 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14213 : END DO
14214 301588 : IF (Ndata_rep < Ndata) THEN
14215 84384 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
14216 : END IF
14217 301588 : END SUBROUTINE bits2ints_20
14218 :
14219 : ! **************************************************************************************************
14220 : !> \brief ...
14221 : !> \param Ndata ...
14222 : !> \param packed_data ...
14223 : !> \param full_data ...
14224 : ! **************************************************************************************************
14225 30222 : 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(*)
14229 :
14230 : INTEGER, PARAMETER :: Nbits = 21
14231 :
14232 : INTEGER :: idata, ipack, kdata, Ndata_rep
14233 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
14234 :
14235 30222 : idata = 0
14236 30222 : ipack = 0
14237 30222 : Ndata_rep = (Ndata/64)*64
14238 30222 : DO kdata = 1, Ndata_rep, 64
14239 460908 : pack_tmp = 0
14240 460908 : idata = idata + 1
14241 460908 : data_tmp = full_data(idata)
14242 460908 : data_tmp = ISHFT(data_tmp, 43)
14243 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14244 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14245 460908 : idata = idata + 1
14246 460908 : data_tmp = full_data(idata)
14247 460908 : data_tmp = ISHFT(data_tmp, 43)
14248 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14249 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14250 460908 : idata = idata + 1
14251 460908 : data_tmp = full_data(idata)
14252 460908 : data_tmp = ISHFT(data_tmp, 43)
14253 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14254 460908 : pack_tmp = ISHFT(pack_tmp, -1)
14255 460908 : idata = idata + 1
14256 460908 : data_tmp = full_data(idata)
14257 460908 : data_tmp = ISHFT(data_tmp, 43)
14258 460908 : data_tmp = IAND(data_tmp, mask_left(1))
14259 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14260 460908 : ipack = ipack + 1
14261 460908 : packed_data(ipack) = pack_tmp
14262 460908 : data_tmp = full_data(idata)
14263 460908 : pack_tmp = ISHFT(data_tmp, 44)
14264 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14265 460908 : idata = idata + 1
14266 460908 : data_tmp = full_data(idata)
14267 460908 : data_tmp = ISHFT(data_tmp, 43)
14268 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14269 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14270 460908 : idata = idata + 1
14271 460908 : data_tmp = full_data(idata)
14272 460908 : data_tmp = ISHFT(data_tmp, 43)
14273 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14274 460908 : pack_tmp = ISHFT(pack_tmp, -2)
14275 460908 : idata = idata + 1
14276 460908 : data_tmp = full_data(idata)
14277 460908 : data_tmp = ISHFT(data_tmp, 43)
14278 460908 : data_tmp = IAND(data_tmp, mask_left(2))
14279 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14280 460908 : ipack = ipack + 1
14281 460908 : packed_data(ipack) = pack_tmp
14282 460908 : data_tmp = full_data(idata)
14283 460908 : pack_tmp = ISHFT(data_tmp, 45)
14284 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14285 460908 : idata = idata + 1
14286 460908 : data_tmp = full_data(idata)
14287 460908 : data_tmp = ISHFT(data_tmp, 43)
14288 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14289 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14290 460908 : idata = idata + 1
14291 460908 : data_tmp = full_data(idata)
14292 460908 : data_tmp = ISHFT(data_tmp, 43)
14293 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14294 460908 : pack_tmp = ISHFT(pack_tmp, -3)
14295 460908 : idata = idata + 1
14296 460908 : data_tmp = full_data(idata)
14297 460908 : data_tmp = ISHFT(data_tmp, 43)
14298 460908 : data_tmp = IAND(data_tmp, mask_left(3))
14299 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14300 460908 : ipack = ipack + 1
14301 460908 : packed_data(ipack) = pack_tmp
14302 460908 : data_tmp = full_data(idata)
14303 460908 : pack_tmp = ISHFT(data_tmp, 46)
14304 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14305 460908 : idata = idata + 1
14306 460908 : data_tmp = full_data(idata)
14307 460908 : data_tmp = ISHFT(data_tmp, 43)
14308 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14309 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14310 460908 : idata = idata + 1
14311 460908 : data_tmp = full_data(idata)
14312 460908 : data_tmp = ISHFT(data_tmp, 43)
14313 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14314 460908 : pack_tmp = ISHFT(pack_tmp, -4)
14315 460908 : idata = idata + 1
14316 460908 : data_tmp = full_data(idata)
14317 460908 : data_tmp = ISHFT(data_tmp, 43)
14318 460908 : data_tmp = IAND(data_tmp, mask_left(4))
14319 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14320 460908 : ipack = ipack + 1
14321 460908 : packed_data(ipack) = pack_tmp
14322 460908 : data_tmp = full_data(idata)
14323 460908 : pack_tmp = ISHFT(data_tmp, 47)
14324 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14325 460908 : idata = idata + 1
14326 460908 : data_tmp = full_data(idata)
14327 460908 : data_tmp = ISHFT(data_tmp, 43)
14328 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14329 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14330 460908 : idata = idata + 1
14331 460908 : data_tmp = full_data(idata)
14332 460908 : data_tmp = ISHFT(data_tmp, 43)
14333 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14334 460908 : pack_tmp = ISHFT(pack_tmp, -5)
14335 460908 : idata = idata + 1
14336 460908 : data_tmp = full_data(idata)
14337 460908 : data_tmp = ISHFT(data_tmp, 43)
14338 460908 : data_tmp = IAND(data_tmp, mask_left(5))
14339 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14340 460908 : ipack = ipack + 1
14341 460908 : packed_data(ipack) = pack_tmp
14342 460908 : data_tmp = full_data(idata)
14343 460908 : pack_tmp = ISHFT(data_tmp, 48)
14344 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14345 460908 : idata = idata + 1
14346 460908 : data_tmp = full_data(idata)
14347 460908 : data_tmp = ISHFT(data_tmp, 43)
14348 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14349 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14350 460908 : idata = idata + 1
14351 460908 : data_tmp = full_data(idata)
14352 460908 : data_tmp = ISHFT(data_tmp, 43)
14353 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14354 460908 : pack_tmp = ISHFT(pack_tmp, -6)
14355 460908 : idata = idata + 1
14356 460908 : data_tmp = full_data(idata)
14357 460908 : data_tmp = ISHFT(data_tmp, 43)
14358 460908 : data_tmp = IAND(data_tmp, mask_left(6))
14359 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14360 460908 : ipack = ipack + 1
14361 460908 : packed_data(ipack) = pack_tmp
14362 460908 : data_tmp = full_data(idata)
14363 460908 : pack_tmp = ISHFT(data_tmp, 49)
14364 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14365 460908 : idata = idata + 1
14366 460908 : data_tmp = full_data(idata)
14367 460908 : data_tmp = ISHFT(data_tmp, 43)
14368 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14369 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14370 460908 : idata = idata + 1
14371 460908 : data_tmp = full_data(idata)
14372 460908 : data_tmp = ISHFT(data_tmp, 43)
14373 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14374 460908 : pack_tmp = ISHFT(pack_tmp, -7)
14375 460908 : idata = idata + 1
14376 460908 : data_tmp = full_data(idata)
14377 460908 : data_tmp = ISHFT(data_tmp, 43)
14378 460908 : data_tmp = IAND(data_tmp, mask_left(7))
14379 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14380 460908 : ipack = ipack + 1
14381 460908 : packed_data(ipack) = pack_tmp
14382 460908 : data_tmp = full_data(idata)
14383 460908 : pack_tmp = ISHFT(data_tmp, 50)
14384 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14385 460908 : idata = idata + 1
14386 460908 : data_tmp = full_data(idata)
14387 460908 : data_tmp = ISHFT(data_tmp, 43)
14388 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14389 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14390 460908 : idata = idata + 1
14391 460908 : data_tmp = full_data(idata)
14392 460908 : data_tmp = ISHFT(data_tmp, 43)
14393 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14394 460908 : pack_tmp = ISHFT(pack_tmp, -8)
14395 460908 : idata = idata + 1
14396 460908 : data_tmp = full_data(idata)
14397 460908 : data_tmp = ISHFT(data_tmp, 43)
14398 460908 : data_tmp = IAND(data_tmp, mask_left(8))
14399 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14400 460908 : ipack = ipack + 1
14401 460908 : packed_data(ipack) = pack_tmp
14402 460908 : data_tmp = full_data(idata)
14403 460908 : pack_tmp = ISHFT(data_tmp, 51)
14404 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14405 460908 : idata = idata + 1
14406 460908 : data_tmp = full_data(idata)
14407 460908 : data_tmp = ISHFT(data_tmp, 43)
14408 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14409 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14410 460908 : idata = idata + 1
14411 460908 : data_tmp = full_data(idata)
14412 460908 : data_tmp = ISHFT(data_tmp, 43)
14413 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14414 460908 : pack_tmp = ISHFT(pack_tmp, -9)
14415 460908 : idata = idata + 1
14416 460908 : data_tmp = full_data(idata)
14417 460908 : data_tmp = ISHFT(data_tmp, 43)
14418 460908 : data_tmp = IAND(data_tmp, mask_left(9))
14419 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14420 460908 : ipack = ipack + 1
14421 460908 : packed_data(ipack) = pack_tmp
14422 460908 : data_tmp = full_data(idata)
14423 460908 : pack_tmp = ISHFT(data_tmp, 52)
14424 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14425 460908 : idata = idata + 1
14426 460908 : data_tmp = full_data(idata)
14427 460908 : data_tmp = ISHFT(data_tmp, 43)
14428 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14429 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14430 460908 : idata = idata + 1
14431 460908 : data_tmp = full_data(idata)
14432 460908 : data_tmp = ISHFT(data_tmp, 43)
14433 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14434 460908 : pack_tmp = ISHFT(pack_tmp, -10)
14435 460908 : idata = idata + 1
14436 460908 : data_tmp = full_data(idata)
14437 460908 : data_tmp = ISHFT(data_tmp, 43)
14438 460908 : data_tmp = IAND(data_tmp, mask_left(10))
14439 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14440 460908 : ipack = ipack + 1
14441 460908 : packed_data(ipack) = pack_tmp
14442 460908 : data_tmp = full_data(idata)
14443 460908 : pack_tmp = ISHFT(data_tmp, 53)
14444 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14445 460908 : idata = idata + 1
14446 460908 : data_tmp = full_data(idata)
14447 460908 : data_tmp = ISHFT(data_tmp, 43)
14448 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14449 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14450 460908 : idata = idata + 1
14451 460908 : data_tmp = full_data(idata)
14452 460908 : data_tmp = ISHFT(data_tmp, 43)
14453 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14454 460908 : pack_tmp = ISHFT(pack_tmp, -11)
14455 460908 : idata = idata + 1
14456 460908 : data_tmp = full_data(idata)
14457 460908 : data_tmp = ISHFT(data_tmp, 43)
14458 460908 : data_tmp = IAND(data_tmp, mask_left(11))
14459 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14460 460908 : ipack = ipack + 1
14461 460908 : packed_data(ipack) = pack_tmp
14462 460908 : data_tmp = full_data(idata)
14463 460908 : pack_tmp = ISHFT(data_tmp, 54)
14464 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14465 460908 : idata = idata + 1
14466 460908 : data_tmp = full_data(idata)
14467 460908 : data_tmp = ISHFT(data_tmp, 43)
14468 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14469 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14470 460908 : idata = idata + 1
14471 460908 : data_tmp = full_data(idata)
14472 460908 : data_tmp = ISHFT(data_tmp, 43)
14473 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14474 460908 : pack_tmp = ISHFT(pack_tmp, -12)
14475 460908 : idata = idata + 1
14476 460908 : data_tmp = full_data(idata)
14477 460908 : data_tmp = ISHFT(data_tmp, 43)
14478 460908 : data_tmp = IAND(data_tmp, mask_left(12))
14479 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14480 460908 : ipack = ipack + 1
14481 460908 : packed_data(ipack) = pack_tmp
14482 460908 : data_tmp = full_data(idata)
14483 460908 : pack_tmp = ISHFT(data_tmp, 55)
14484 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14485 460908 : idata = idata + 1
14486 460908 : data_tmp = full_data(idata)
14487 460908 : data_tmp = ISHFT(data_tmp, 43)
14488 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14489 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14490 460908 : idata = idata + 1
14491 460908 : data_tmp = full_data(idata)
14492 460908 : data_tmp = ISHFT(data_tmp, 43)
14493 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14494 460908 : pack_tmp = ISHFT(pack_tmp, -13)
14495 460908 : idata = idata + 1
14496 460908 : data_tmp = full_data(idata)
14497 460908 : data_tmp = ISHFT(data_tmp, 43)
14498 460908 : data_tmp = IAND(data_tmp, mask_left(13))
14499 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14500 460908 : ipack = ipack + 1
14501 460908 : packed_data(ipack) = pack_tmp
14502 460908 : data_tmp = full_data(idata)
14503 460908 : pack_tmp = ISHFT(data_tmp, 56)
14504 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14505 460908 : idata = idata + 1
14506 460908 : data_tmp = full_data(idata)
14507 460908 : data_tmp = ISHFT(data_tmp, 43)
14508 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14509 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14510 460908 : idata = idata + 1
14511 460908 : data_tmp = full_data(idata)
14512 460908 : data_tmp = ISHFT(data_tmp, 43)
14513 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14514 460908 : pack_tmp = ISHFT(pack_tmp, -14)
14515 460908 : idata = idata + 1
14516 460908 : data_tmp = full_data(idata)
14517 460908 : data_tmp = ISHFT(data_tmp, 43)
14518 460908 : data_tmp = IAND(data_tmp, mask_left(14))
14519 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14520 460908 : ipack = ipack + 1
14521 460908 : packed_data(ipack) = pack_tmp
14522 460908 : data_tmp = full_data(idata)
14523 460908 : pack_tmp = ISHFT(data_tmp, 57)
14524 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14525 460908 : idata = idata + 1
14526 460908 : data_tmp = full_data(idata)
14527 460908 : data_tmp = ISHFT(data_tmp, 43)
14528 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14529 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14530 460908 : idata = idata + 1
14531 460908 : data_tmp = full_data(idata)
14532 460908 : data_tmp = ISHFT(data_tmp, 43)
14533 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14534 460908 : pack_tmp = ISHFT(pack_tmp, -15)
14535 460908 : idata = idata + 1
14536 460908 : data_tmp = full_data(idata)
14537 460908 : data_tmp = ISHFT(data_tmp, 43)
14538 460908 : data_tmp = IAND(data_tmp, mask_left(15))
14539 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14540 460908 : ipack = ipack + 1
14541 460908 : packed_data(ipack) = pack_tmp
14542 460908 : data_tmp = full_data(idata)
14543 460908 : pack_tmp = ISHFT(data_tmp, 58)
14544 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14545 460908 : idata = idata + 1
14546 460908 : data_tmp = full_data(idata)
14547 460908 : data_tmp = ISHFT(data_tmp, 43)
14548 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14549 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14550 460908 : idata = idata + 1
14551 460908 : data_tmp = full_data(idata)
14552 460908 : data_tmp = ISHFT(data_tmp, 43)
14553 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14554 460908 : pack_tmp = ISHFT(pack_tmp, -16)
14555 460908 : idata = idata + 1
14556 460908 : data_tmp = full_data(idata)
14557 460908 : data_tmp = ISHFT(data_tmp, 43)
14558 460908 : data_tmp = IAND(data_tmp, mask_left(16))
14559 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14560 460908 : ipack = ipack + 1
14561 460908 : packed_data(ipack) = pack_tmp
14562 460908 : data_tmp = full_data(idata)
14563 460908 : pack_tmp = ISHFT(data_tmp, 59)
14564 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14565 460908 : idata = idata + 1
14566 460908 : data_tmp = full_data(idata)
14567 460908 : data_tmp = ISHFT(data_tmp, 43)
14568 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14569 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14570 460908 : idata = idata + 1
14571 460908 : data_tmp = full_data(idata)
14572 460908 : data_tmp = ISHFT(data_tmp, 43)
14573 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14574 460908 : pack_tmp = ISHFT(pack_tmp, -17)
14575 460908 : idata = idata + 1
14576 460908 : data_tmp = full_data(idata)
14577 460908 : data_tmp = ISHFT(data_tmp, 43)
14578 460908 : data_tmp = IAND(data_tmp, mask_left(17))
14579 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14580 460908 : ipack = ipack + 1
14581 460908 : packed_data(ipack) = pack_tmp
14582 460908 : data_tmp = full_data(idata)
14583 460908 : pack_tmp = ISHFT(data_tmp, 60)
14584 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14585 460908 : idata = idata + 1
14586 460908 : data_tmp = full_data(idata)
14587 460908 : data_tmp = ISHFT(data_tmp, 43)
14588 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14589 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14590 460908 : idata = idata + 1
14591 460908 : data_tmp = full_data(idata)
14592 460908 : data_tmp = ISHFT(data_tmp, 43)
14593 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14594 460908 : pack_tmp = ISHFT(pack_tmp, -18)
14595 460908 : idata = idata + 1
14596 460908 : data_tmp = full_data(idata)
14597 460908 : data_tmp = ISHFT(data_tmp, 43)
14598 460908 : data_tmp = IAND(data_tmp, mask_left(18))
14599 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14600 460908 : ipack = ipack + 1
14601 460908 : packed_data(ipack) = pack_tmp
14602 460908 : data_tmp = full_data(idata)
14603 460908 : pack_tmp = ISHFT(data_tmp, 61)
14604 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14605 460908 : idata = idata + 1
14606 460908 : data_tmp = full_data(idata)
14607 460908 : data_tmp = ISHFT(data_tmp, 43)
14608 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14609 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14610 460908 : idata = idata + 1
14611 460908 : data_tmp = full_data(idata)
14612 460908 : data_tmp = ISHFT(data_tmp, 43)
14613 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14614 460908 : pack_tmp = ISHFT(pack_tmp, -19)
14615 460908 : idata = idata + 1
14616 460908 : data_tmp = full_data(idata)
14617 460908 : data_tmp = ISHFT(data_tmp, 43)
14618 460908 : data_tmp = IAND(data_tmp, mask_left(19))
14619 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14620 460908 : ipack = ipack + 1
14621 460908 : packed_data(ipack) = pack_tmp
14622 460908 : data_tmp = full_data(idata)
14623 460908 : pack_tmp = ISHFT(data_tmp, 62)
14624 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14625 460908 : idata = idata + 1
14626 460908 : data_tmp = full_data(idata)
14627 460908 : data_tmp = ISHFT(data_tmp, 43)
14628 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14629 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14630 460908 : idata = idata + 1
14631 460908 : data_tmp = full_data(idata)
14632 460908 : data_tmp = ISHFT(data_tmp, 43)
14633 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14634 460908 : pack_tmp = ISHFT(pack_tmp, -20)
14635 460908 : idata = idata + 1
14636 460908 : data_tmp = full_data(idata)
14637 460908 : data_tmp = ISHFT(data_tmp, 43)
14638 460908 : data_tmp = IAND(data_tmp, mask_left(20))
14639 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14640 460908 : ipack = ipack + 1
14641 460908 : packed_data(ipack) = pack_tmp
14642 460908 : data_tmp = full_data(idata)
14643 460908 : pack_tmp = ISHFT(data_tmp, 63)
14644 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14645 460908 : idata = idata + 1
14646 460908 : data_tmp = full_data(idata)
14647 460908 : data_tmp = ISHFT(data_tmp, 43)
14648 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14649 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14650 460908 : idata = idata + 1
14651 460908 : data_tmp = full_data(idata)
14652 460908 : data_tmp = ISHFT(data_tmp, 43)
14653 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14654 460908 : pack_tmp = ISHFT(pack_tmp, -21)
14655 460908 : idata = idata + 1
14656 460908 : data_tmp = full_data(idata)
14657 460908 : data_tmp = ISHFT(data_tmp, 43)
14658 460908 : pack_tmp = IOR(pack_tmp, data_tmp)
14659 : pack_tmp = ISHFT(pack_tmp, 0)
14660 460908 : pack_tmp = ISHFT(pack_tmp, 0)
14661 460908 : ipack = ipack + 1
14662 461269 : packed_data(ipack) = pack_tmp
14663 : END DO
14664 30222 : IF (Ndata_rep < Ndata) THEN
14665 2664 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
14666 : END IF
14667 30222 : END SUBROUTINE ints2bits_21
14668 :
14669 : ! **************************************************************************************************
14670 : !> \brief ...
14671 : !> \param Ndata ...
14672 : !> \param packed_data ...
14673 : !> \param full_data ...
14674 : ! **************************************************************************************************
14675 154236 : 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(*)
14679 :
14680 : INTEGER, PARAMETER :: Nbits = 21
14681 :
14682 : INTEGER :: idata, ipack, kdata, Ndata_rep
14683 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
14684 :
14685 154236 : ipack = 0
14686 154236 : idata = 0
14687 154236 : pack_tmp = 0
14688 154236 : Ndata_rep = (Ndata/64)*64
14689 154236 : DO kdata = 1, Ndata_rep, 64
14690 2261209 : idata = idata + 1
14691 2261209 : data_tmp = ISHFT(pack_tmp, 21)
14692 2261209 : ipack = ipack + 1
14693 2261209 : pack_tmp = packed_data(ipack)
14694 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
14695 2261209 : pack_tmp = ISHFT(pack_tmp, -21)
14696 2261209 : idata = idata + 1
14697 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14698 2261209 : full_data(idata) = data_tmp
14699 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14700 2261209 : idata = idata + 1
14701 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14702 2261209 : full_data(idata) = data_tmp
14703 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14704 2261209 : idata = idata + 1
14705 2261209 : data_tmp = ISHFT(pack_tmp, 20)
14706 2261209 : ipack = ipack + 1
14707 2261209 : pack_tmp = packed_data(ipack)
14708 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
14709 2261209 : pack_tmp = ISHFT(pack_tmp, -20)
14710 2261209 : idata = idata + 1
14711 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14712 2261209 : full_data(idata) = data_tmp
14713 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14714 2261209 : idata = idata + 1
14715 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14716 2261209 : full_data(idata) = data_tmp
14717 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14718 2261209 : idata = idata + 1
14719 2261209 : data_tmp = ISHFT(pack_tmp, 19)
14720 2261209 : ipack = ipack + 1
14721 2261209 : pack_tmp = packed_data(ipack)
14722 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
14723 2261209 : pack_tmp = ISHFT(pack_tmp, -19)
14724 2261209 : idata = idata + 1
14725 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14726 2261209 : full_data(idata) = data_tmp
14727 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14728 2261209 : idata = idata + 1
14729 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14730 2261209 : full_data(idata) = data_tmp
14731 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14732 2261209 : idata = idata + 1
14733 2261209 : data_tmp = ISHFT(pack_tmp, 18)
14734 2261209 : ipack = ipack + 1
14735 2261209 : pack_tmp = packed_data(ipack)
14736 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
14737 2261209 : pack_tmp = ISHFT(pack_tmp, -18)
14738 2261209 : idata = idata + 1
14739 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14740 2261209 : full_data(idata) = data_tmp
14741 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14742 2261209 : idata = idata + 1
14743 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14744 2261209 : full_data(idata) = data_tmp
14745 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14746 2261209 : idata = idata + 1
14747 2261209 : data_tmp = ISHFT(pack_tmp, 17)
14748 2261209 : ipack = ipack + 1
14749 2261209 : pack_tmp = packed_data(ipack)
14750 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
14751 2261209 : pack_tmp = ISHFT(pack_tmp, -17)
14752 2261209 : idata = idata + 1
14753 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14754 2261209 : full_data(idata) = data_tmp
14755 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14756 2261209 : idata = idata + 1
14757 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14758 2261209 : full_data(idata) = data_tmp
14759 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14760 2261209 : idata = idata + 1
14761 2261209 : data_tmp = ISHFT(pack_tmp, 16)
14762 2261209 : ipack = ipack + 1
14763 2261209 : pack_tmp = packed_data(ipack)
14764 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
14765 2261209 : pack_tmp = ISHFT(pack_tmp, -16)
14766 2261209 : idata = idata + 1
14767 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14768 2261209 : full_data(idata) = data_tmp
14769 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14770 2261209 : idata = idata + 1
14771 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14772 2261209 : full_data(idata) = data_tmp
14773 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14774 2261209 : idata = idata + 1
14775 2261209 : data_tmp = ISHFT(pack_tmp, 15)
14776 2261209 : ipack = ipack + 1
14777 2261209 : pack_tmp = packed_data(ipack)
14778 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
14779 2261209 : pack_tmp = ISHFT(pack_tmp, -15)
14780 2261209 : idata = idata + 1
14781 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14782 2261209 : full_data(idata) = data_tmp
14783 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14784 2261209 : idata = idata + 1
14785 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14786 2261209 : full_data(idata) = data_tmp
14787 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14788 2261209 : idata = idata + 1
14789 2261209 : data_tmp = ISHFT(pack_tmp, 14)
14790 2261209 : ipack = ipack + 1
14791 2261209 : pack_tmp = packed_data(ipack)
14792 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
14793 2261209 : pack_tmp = ISHFT(pack_tmp, -14)
14794 2261209 : idata = idata + 1
14795 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14796 2261209 : full_data(idata) = data_tmp
14797 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14798 2261209 : idata = idata + 1
14799 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14800 2261209 : full_data(idata) = data_tmp
14801 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14802 2261209 : idata = idata + 1
14803 2261209 : data_tmp = ISHFT(pack_tmp, 13)
14804 2261209 : ipack = ipack + 1
14805 2261209 : pack_tmp = packed_data(ipack)
14806 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
14807 2261209 : pack_tmp = ISHFT(pack_tmp, -13)
14808 2261209 : idata = idata + 1
14809 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14810 2261209 : full_data(idata) = data_tmp
14811 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14812 2261209 : idata = idata + 1
14813 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14814 2261209 : full_data(idata) = data_tmp
14815 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14816 2261209 : idata = idata + 1
14817 2261209 : data_tmp = ISHFT(pack_tmp, 12)
14818 2261209 : ipack = ipack + 1
14819 2261209 : pack_tmp = packed_data(ipack)
14820 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
14821 2261209 : pack_tmp = ISHFT(pack_tmp, -12)
14822 2261209 : idata = idata + 1
14823 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14824 2261209 : full_data(idata) = data_tmp
14825 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14826 2261209 : idata = idata + 1
14827 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14828 2261209 : full_data(idata) = data_tmp
14829 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14830 2261209 : idata = idata + 1
14831 2261209 : data_tmp = ISHFT(pack_tmp, 11)
14832 2261209 : ipack = ipack + 1
14833 2261209 : pack_tmp = packed_data(ipack)
14834 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
14835 2261209 : pack_tmp = ISHFT(pack_tmp, -11)
14836 2261209 : idata = idata + 1
14837 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14838 2261209 : full_data(idata) = data_tmp
14839 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14840 2261209 : idata = idata + 1
14841 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14842 2261209 : full_data(idata) = data_tmp
14843 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14844 2261209 : idata = idata + 1
14845 2261209 : data_tmp = ISHFT(pack_tmp, 10)
14846 2261209 : ipack = ipack + 1
14847 2261209 : pack_tmp = packed_data(ipack)
14848 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
14849 2261209 : pack_tmp = ISHFT(pack_tmp, -10)
14850 2261209 : idata = idata + 1
14851 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14852 2261209 : full_data(idata) = data_tmp
14853 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14854 2261209 : idata = idata + 1
14855 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14856 2261209 : full_data(idata) = data_tmp
14857 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14858 2261209 : idata = idata + 1
14859 2261209 : data_tmp = ISHFT(pack_tmp, 9)
14860 2261209 : ipack = ipack + 1
14861 2261209 : pack_tmp = packed_data(ipack)
14862 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
14863 2261209 : pack_tmp = ISHFT(pack_tmp, -9)
14864 2261209 : idata = idata + 1
14865 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14866 2261209 : full_data(idata) = data_tmp
14867 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14868 2261209 : idata = idata + 1
14869 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14870 2261209 : full_data(idata) = data_tmp
14871 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14872 2261209 : idata = idata + 1
14873 2261209 : data_tmp = ISHFT(pack_tmp, 8)
14874 2261209 : ipack = ipack + 1
14875 2261209 : pack_tmp = packed_data(ipack)
14876 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
14877 2261209 : pack_tmp = ISHFT(pack_tmp, -8)
14878 2261209 : idata = idata + 1
14879 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14880 2261209 : full_data(idata) = data_tmp
14881 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14882 2261209 : idata = idata + 1
14883 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14884 2261209 : full_data(idata) = data_tmp
14885 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14886 2261209 : idata = idata + 1
14887 2261209 : data_tmp = ISHFT(pack_tmp, 7)
14888 2261209 : ipack = ipack + 1
14889 2261209 : pack_tmp = packed_data(ipack)
14890 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
14891 2261209 : pack_tmp = ISHFT(pack_tmp, -7)
14892 2261209 : idata = idata + 1
14893 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14894 2261209 : full_data(idata) = data_tmp
14895 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14896 2261209 : idata = idata + 1
14897 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14898 2261209 : full_data(idata) = data_tmp
14899 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14900 2261209 : idata = idata + 1
14901 2261209 : data_tmp = ISHFT(pack_tmp, 6)
14902 2261209 : ipack = ipack + 1
14903 2261209 : pack_tmp = packed_data(ipack)
14904 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
14905 2261209 : pack_tmp = ISHFT(pack_tmp, -6)
14906 2261209 : idata = idata + 1
14907 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14908 2261209 : full_data(idata) = data_tmp
14909 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14910 2261209 : idata = idata + 1
14911 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14912 2261209 : full_data(idata) = data_tmp
14913 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14914 2261209 : idata = idata + 1
14915 2261209 : data_tmp = ISHFT(pack_tmp, 5)
14916 2261209 : ipack = ipack + 1
14917 2261209 : pack_tmp = packed_data(ipack)
14918 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
14919 2261209 : pack_tmp = ISHFT(pack_tmp, -5)
14920 2261209 : idata = idata + 1
14921 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14922 2261209 : full_data(idata) = data_tmp
14923 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14924 2261209 : idata = idata + 1
14925 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14926 2261209 : full_data(idata) = data_tmp
14927 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14928 2261209 : idata = idata + 1
14929 2261209 : data_tmp = ISHFT(pack_tmp, 4)
14930 2261209 : ipack = ipack + 1
14931 2261209 : pack_tmp = packed_data(ipack)
14932 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
14933 2261209 : pack_tmp = ISHFT(pack_tmp, -4)
14934 2261209 : idata = idata + 1
14935 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14936 2261209 : full_data(idata) = data_tmp
14937 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14938 2261209 : idata = idata + 1
14939 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14940 2261209 : full_data(idata) = data_tmp
14941 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14942 2261209 : idata = idata + 1
14943 2261209 : data_tmp = ISHFT(pack_tmp, 3)
14944 2261209 : ipack = ipack + 1
14945 2261209 : pack_tmp = packed_data(ipack)
14946 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
14947 2261209 : pack_tmp = ISHFT(pack_tmp, -3)
14948 2261209 : idata = idata + 1
14949 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14950 2261209 : full_data(idata) = data_tmp
14951 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14952 2261209 : idata = idata + 1
14953 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14954 2261209 : full_data(idata) = data_tmp
14955 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14956 2261209 : idata = idata + 1
14957 2261209 : data_tmp = ISHFT(pack_tmp, 2)
14958 2261209 : ipack = ipack + 1
14959 2261209 : pack_tmp = packed_data(ipack)
14960 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
14961 2261209 : pack_tmp = ISHFT(pack_tmp, -2)
14962 2261209 : idata = idata + 1
14963 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14964 2261209 : full_data(idata) = data_tmp
14965 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14966 2261209 : idata = idata + 1
14967 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14968 2261209 : full_data(idata) = data_tmp
14969 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14970 2261209 : idata = idata + 1
14971 2261209 : data_tmp = ISHFT(pack_tmp, 1)
14972 2261209 : ipack = ipack + 1
14973 2261209 : pack_tmp = packed_data(ipack)
14974 2261209 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
14975 2261209 : pack_tmp = ISHFT(pack_tmp, -1)
14976 2261209 : idata = idata + 1
14977 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14978 2261209 : full_data(idata) = data_tmp
14979 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14980 2261209 : idata = idata + 1
14981 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14982 2261209 : full_data(idata) = data_tmp
14983 2261209 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14984 2261209 : idata = idata + 1
14985 2261209 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
14986 2261209 : full_data(idata) = data_tmp
14987 2264697 : pack_tmp = ISHFT(pack_tmp, -Nbits)
14988 : END DO
14989 154236 : IF (Ndata_rep < Ndata) THEN
14990 24302 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
14991 : END IF
14992 154236 : END SUBROUTINE bits2ints_21
14993 :
14994 : ! **************************************************************************************************
14995 : !> \brief ...
14996 : !> \param Ndata ...
14997 : !> \param packed_data ...
14998 : !> \param full_data ...
14999 : ! **************************************************************************************************
15000 30037 : 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(*)
15004 :
15005 : INTEGER, PARAMETER :: Nbits = 22
15006 :
15007 : INTEGER :: idata, ipack, kdata, Ndata_rep
15008 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
15009 :
15010 30037 : idata = 0
15011 30037 : ipack = 0
15012 30037 : Ndata_rep = (Ndata/64)*64
15013 30037 : DO kdata = 1, Ndata_rep, 64
15014 456622 : pack_tmp = 0
15015 456622 : idata = idata + 1
15016 456622 : data_tmp = full_data(idata)
15017 456622 : data_tmp = ISHFT(data_tmp, 42)
15018 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15019 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15020 456622 : idata = idata + 1
15021 456622 : data_tmp = full_data(idata)
15022 456622 : data_tmp = ISHFT(data_tmp, 42)
15023 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15024 456622 : pack_tmp = ISHFT(pack_tmp, -20)
15025 456622 : idata = idata + 1
15026 456622 : data_tmp = full_data(idata)
15027 456622 : data_tmp = ISHFT(data_tmp, 42)
15028 456622 : data_tmp = IAND(data_tmp, mask_left(20))
15029 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15030 456622 : ipack = ipack + 1
15031 456622 : packed_data(ipack) = pack_tmp
15032 456622 : data_tmp = full_data(idata)
15033 456622 : pack_tmp = ISHFT(data_tmp, 62)
15034 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15035 456622 : idata = idata + 1
15036 456622 : data_tmp = full_data(idata)
15037 456622 : data_tmp = ISHFT(data_tmp, 42)
15038 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15039 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15040 456622 : idata = idata + 1
15041 456622 : data_tmp = full_data(idata)
15042 456622 : data_tmp = ISHFT(data_tmp, 42)
15043 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15044 456622 : pack_tmp = ISHFT(pack_tmp, -18)
15045 456622 : idata = idata + 1
15046 456622 : data_tmp = full_data(idata)
15047 456622 : data_tmp = ISHFT(data_tmp, 42)
15048 456622 : data_tmp = IAND(data_tmp, mask_left(18))
15049 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15050 456622 : ipack = ipack + 1
15051 456622 : packed_data(ipack) = pack_tmp
15052 456622 : data_tmp = full_data(idata)
15053 456622 : pack_tmp = ISHFT(data_tmp, 60)
15054 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15055 456622 : idata = idata + 1
15056 456622 : data_tmp = full_data(idata)
15057 456622 : data_tmp = ISHFT(data_tmp, 42)
15058 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15059 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15060 456622 : idata = idata + 1
15061 456622 : data_tmp = full_data(idata)
15062 456622 : data_tmp = ISHFT(data_tmp, 42)
15063 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15064 456622 : pack_tmp = ISHFT(pack_tmp, -16)
15065 456622 : idata = idata + 1
15066 456622 : data_tmp = full_data(idata)
15067 456622 : data_tmp = ISHFT(data_tmp, 42)
15068 456622 : data_tmp = IAND(data_tmp, mask_left(16))
15069 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15070 456622 : ipack = ipack + 1
15071 456622 : packed_data(ipack) = pack_tmp
15072 456622 : data_tmp = full_data(idata)
15073 456622 : pack_tmp = ISHFT(data_tmp, 58)
15074 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15075 456622 : idata = idata + 1
15076 456622 : data_tmp = full_data(idata)
15077 456622 : data_tmp = ISHFT(data_tmp, 42)
15078 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15079 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15080 456622 : idata = idata + 1
15081 456622 : data_tmp = full_data(idata)
15082 456622 : data_tmp = ISHFT(data_tmp, 42)
15083 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15084 456622 : pack_tmp = ISHFT(pack_tmp, -14)
15085 456622 : idata = idata + 1
15086 456622 : data_tmp = full_data(idata)
15087 456622 : data_tmp = ISHFT(data_tmp, 42)
15088 456622 : data_tmp = IAND(data_tmp, mask_left(14))
15089 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15090 456622 : ipack = ipack + 1
15091 456622 : packed_data(ipack) = pack_tmp
15092 456622 : data_tmp = full_data(idata)
15093 456622 : pack_tmp = ISHFT(data_tmp, 56)
15094 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15095 456622 : idata = idata + 1
15096 456622 : data_tmp = full_data(idata)
15097 456622 : data_tmp = ISHFT(data_tmp, 42)
15098 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15099 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15100 456622 : idata = idata + 1
15101 456622 : data_tmp = full_data(idata)
15102 456622 : data_tmp = ISHFT(data_tmp, 42)
15103 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15104 456622 : pack_tmp = ISHFT(pack_tmp, -12)
15105 456622 : idata = idata + 1
15106 456622 : data_tmp = full_data(idata)
15107 456622 : data_tmp = ISHFT(data_tmp, 42)
15108 456622 : data_tmp = IAND(data_tmp, mask_left(12))
15109 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15110 456622 : ipack = ipack + 1
15111 456622 : packed_data(ipack) = pack_tmp
15112 456622 : data_tmp = full_data(idata)
15113 456622 : pack_tmp = ISHFT(data_tmp, 54)
15114 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15115 456622 : idata = idata + 1
15116 456622 : data_tmp = full_data(idata)
15117 456622 : data_tmp = ISHFT(data_tmp, 42)
15118 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15119 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15120 456622 : idata = idata + 1
15121 456622 : data_tmp = full_data(idata)
15122 456622 : data_tmp = ISHFT(data_tmp, 42)
15123 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15124 456622 : pack_tmp = ISHFT(pack_tmp, -10)
15125 456622 : idata = idata + 1
15126 456622 : data_tmp = full_data(idata)
15127 456622 : data_tmp = ISHFT(data_tmp, 42)
15128 456622 : data_tmp = IAND(data_tmp, mask_left(10))
15129 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15130 456622 : ipack = ipack + 1
15131 456622 : packed_data(ipack) = pack_tmp
15132 456622 : data_tmp = full_data(idata)
15133 456622 : pack_tmp = ISHFT(data_tmp, 52)
15134 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15135 456622 : idata = idata + 1
15136 456622 : data_tmp = full_data(idata)
15137 456622 : data_tmp = ISHFT(data_tmp, 42)
15138 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15139 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15140 456622 : idata = idata + 1
15141 456622 : data_tmp = full_data(idata)
15142 456622 : data_tmp = ISHFT(data_tmp, 42)
15143 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15144 456622 : pack_tmp = ISHFT(pack_tmp, -8)
15145 456622 : idata = idata + 1
15146 456622 : data_tmp = full_data(idata)
15147 456622 : data_tmp = ISHFT(data_tmp, 42)
15148 456622 : data_tmp = IAND(data_tmp, mask_left(8))
15149 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15150 456622 : ipack = ipack + 1
15151 456622 : packed_data(ipack) = pack_tmp
15152 456622 : data_tmp = full_data(idata)
15153 456622 : pack_tmp = ISHFT(data_tmp, 50)
15154 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15155 456622 : idata = idata + 1
15156 456622 : data_tmp = full_data(idata)
15157 456622 : data_tmp = ISHFT(data_tmp, 42)
15158 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15159 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15160 456622 : idata = idata + 1
15161 456622 : data_tmp = full_data(idata)
15162 456622 : data_tmp = ISHFT(data_tmp, 42)
15163 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15164 456622 : pack_tmp = ISHFT(pack_tmp, -6)
15165 456622 : idata = idata + 1
15166 456622 : data_tmp = full_data(idata)
15167 456622 : data_tmp = ISHFT(data_tmp, 42)
15168 456622 : data_tmp = IAND(data_tmp, mask_left(6))
15169 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15170 456622 : ipack = ipack + 1
15171 456622 : packed_data(ipack) = pack_tmp
15172 456622 : data_tmp = full_data(idata)
15173 456622 : pack_tmp = ISHFT(data_tmp, 48)
15174 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15175 456622 : idata = idata + 1
15176 456622 : data_tmp = full_data(idata)
15177 456622 : data_tmp = ISHFT(data_tmp, 42)
15178 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15179 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15180 456622 : idata = idata + 1
15181 456622 : data_tmp = full_data(idata)
15182 456622 : data_tmp = ISHFT(data_tmp, 42)
15183 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15184 456622 : pack_tmp = ISHFT(pack_tmp, -4)
15185 456622 : idata = idata + 1
15186 456622 : data_tmp = full_data(idata)
15187 456622 : data_tmp = ISHFT(data_tmp, 42)
15188 456622 : data_tmp = IAND(data_tmp, mask_left(4))
15189 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15190 456622 : ipack = ipack + 1
15191 456622 : packed_data(ipack) = pack_tmp
15192 456622 : data_tmp = full_data(idata)
15193 456622 : pack_tmp = ISHFT(data_tmp, 46)
15194 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15195 456622 : idata = idata + 1
15196 456622 : data_tmp = full_data(idata)
15197 456622 : data_tmp = ISHFT(data_tmp, 42)
15198 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15199 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15200 456622 : idata = idata + 1
15201 456622 : data_tmp = full_data(idata)
15202 456622 : data_tmp = ISHFT(data_tmp, 42)
15203 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15204 456622 : pack_tmp = ISHFT(pack_tmp, -2)
15205 456622 : idata = idata + 1
15206 456622 : data_tmp = full_data(idata)
15207 456622 : data_tmp = ISHFT(data_tmp, 42)
15208 456622 : data_tmp = IAND(data_tmp, mask_left(2))
15209 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15210 456622 : ipack = ipack + 1
15211 456622 : packed_data(ipack) = pack_tmp
15212 456622 : data_tmp = full_data(idata)
15213 456622 : pack_tmp = ISHFT(data_tmp, 44)
15214 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15215 456622 : idata = idata + 1
15216 456622 : data_tmp = full_data(idata)
15217 456622 : data_tmp = ISHFT(data_tmp, 42)
15218 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15219 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15220 456622 : idata = idata + 1
15221 456622 : data_tmp = full_data(idata)
15222 456622 : data_tmp = ISHFT(data_tmp, 42)
15223 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15224 456622 : pack_tmp = ISHFT(pack_tmp, 0)
15225 456622 : idata = idata + 1
15226 456622 : data_tmp = full_data(idata)
15227 : data_tmp = ISHFT(data_tmp, 42)
15228 456622 : data_tmp = IAND(data_tmp, mask_left(0))
15229 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15230 456622 : ipack = ipack + 1
15231 456622 : packed_data(ipack) = pack_tmp
15232 456622 : data_tmp = full_data(idata)
15233 456622 : pack_tmp = ISHFT(data_tmp, 42)
15234 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15235 456622 : idata = idata + 1
15236 456622 : data_tmp = full_data(idata)
15237 456622 : data_tmp = ISHFT(data_tmp, 42)
15238 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15239 456622 : pack_tmp = ISHFT(pack_tmp, -20)
15240 456622 : idata = idata + 1
15241 456622 : data_tmp = full_data(idata)
15242 456622 : data_tmp = ISHFT(data_tmp, 42)
15243 456622 : data_tmp = IAND(data_tmp, mask_left(20))
15244 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15245 456622 : ipack = ipack + 1
15246 456622 : packed_data(ipack) = pack_tmp
15247 456622 : data_tmp = full_data(idata)
15248 456622 : pack_tmp = ISHFT(data_tmp, 62)
15249 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15250 456622 : idata = idata + 1
15251 456622 : data_tmp = full_data(idata)
15252 456622 : data_tmp = ISHFT(data_tmp, 42)
15253 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15254 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15255 456622 : idata = idata + 1
15256 456622 : data_tmp = full_data(idata)
15257 456622 : data_tmp = ISHFT(data_tmp, 42)
15258 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15259 456622 : pack_tmp = ISHFT(pack_tmp, -18)
15260 456622 : idata = idata + 1
15261 456622 : data_tmp = full_data(idata)
15262 456622 : data_tmp = ISHFT(data_tmp, 42)
15263 456622 : data_tmp = IAND(data_tmp, mask_left(18))
15264 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15265 456622 : ipack = ipack + 1
15266 456622 : packed_data(ipack) = pack_tmp
15267 456622 : data_tmp = full_data(idata)
15268 456622 : pack_tmp = ISHFT(data_tmp, 60)
15269 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15270 456622 : idata = idata + 1
15271 456622 : data_tmp = full_data(idata)
15272 456622 : data_tmp = ISHFT(data_tmp, 42)
15273 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15274 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15275 456622 : idata = idata + 1
15276 456622 : data_tmp = full_data(idata)
15277 456622 : data_tmp = ISHFT(data_tmp, 42)
15278 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15279 456622 : pack_tmp = ISHFT(pack_tmp, -16)
15280 456622 : idata = idata + 1
15281 456622 : data_tmp = full_data(idata)
15282 456622 : data_tmp = ISHFT(data_tmp, 42)
15283 456622 : data_tmp = IAND(data_tmp, mask_left(16))
15284 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15285 456622 : ipack = ipack + 1
15286 456622 : packed_data(ipack) = pack_tmp
15287 456622 : data_tmp = full_data(idata)
15288 456622 : pack_tmp = ISHFT(data_tmp, 58)
15289 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15290 456622 : idata = idata + 1
15291 456622 : data_tmp = full_data(idata)
15292 456622 : data_tmp = ISHFT(data_tmp, 42)
15293 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15294 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15295 456622 : idata = idata + 1
15296 456622 : data_tmp = full_data(idata)
15297 456622 : data_tmp = ISHFT(data_tmp, 42)
15298 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15299 456622 : pack_tmp = ISHFT(pack_tmp, -14)
15300 456622 : idata = idata + 1
15301 456622 : data_tmp = full_data(idata)
15302 456622 : data_tmp = ISHFT(data_tmp, 42)
15303 456622 : data_tmp = IAND(data_tmp, mask_left(14))
15304 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15305 456622 : ipack = ipack + 1
15306 456622 : packed_data(ipack) = pack_tmp
15307 456622 : data_tmp = full_data(idata)
15308 456622 : pack_tmp = ISHFT(data_tmp, 56)
15309 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15310 456622 : idata = idata + 1
15311 456622 : data_tmp = full_data(idata)
15312 456622 : data_tmp = ISHFT(data_tmp, 42)
15313 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15314 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15315 456622 : idata = idata + 1
15316 456622 : data_tmp = full_data(idata)
15317 456622 : data_tmp = ISHFT(data_tmp, 42)
15318 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15319 456622 : pack_tmp = ISHFT(pack_tmp, -12)
15320 456622 : idata = idata + 1
15321 456622 : data_tmp = full_data(idata)
15322 456622 : data_tmp = ISHFT(data_tmp, 42)
15323 456622 : data_tmp = IAND(data_tmp, mask_left(12))
15324 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15325 456622 : ipack = ipack + 1
15326 456622 : packed_data(ipack) = pack_tmp
15327 456622 : data_tmp = full_data(idata)
15328 456622 : pack_tmp = ISHFT(data_tmp, 54)
15329 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15330 456622 : idata = idata + 1
15331 456622 : data_tmp = full_data(idata)
15332 456622 : data_tmp = ISHFT(data_tmp, 42)
15333 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15334 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15335 456622 : idata = idata + 1
15336 456622 : data_tmp = full_data(idata)
15337 456622 : data_tmp = ISHFT(data_tmp, 42)
15338 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15339 456622 : pack_tmp = ISHFT(pack_tmp, -10)
15340 456622 : idata = idata + 1
15341 456622 : data_tmp = full_data(idata)
15342 456622 : data_tmp = ISHFT(data_tmp, 42)
15343 456622 : data_tmp = IAND(data_tmp, mask_left(10))
15344 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15345 456622 : ipack = ipack + 1
15346 456622 : packed_data(ipack) = pack_tmp
15347 456622 : data_tmp = full_data(idata)
15348 456622 : pack_tmp = ISHFT(data_tmp, 52)
15349 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15350 456622 : idata = idata + 1
15351 456622 : data_tmp = full_data(idata)
15352 456622 : data_tmp = ISHFT(data_tmp, 42)
15353 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15354 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15355 456622 : idata = idata + 1
15356 456622 : data_tmp = full_data(idata)
15357 456622 : data_tmp = ISHFT(data_tmp, 42)
15358 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15359 456622 : pack_tmp = ISHFT(pack_tmp, -8)
15360 456622 : idata = idata + 1
15361 456622 : data_tmp = full_data(idata)
15362 456622 : data_tmp = ISHFT(data_tmp, 42)
15363 456622 : data_tmp = IAND(data_tmp, mask_left(8))
15364 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15365 456622 : ipack = ipack + 1
15366 456622 : packed_data(ipack) = pack_tmp
15367 456622 : data_tmp = full_data(idata)
15368 456622 : pack_tmp = ISHFT(data_tmp, 50)
15369 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15370 456622 : idata = idata + 1
15371 456622 : data_tmp = full_data(idata)
15372 456622 : data_tmp = ISHFT(data_tmp, 42)
15373 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15374 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15375 456622 : idata = idata + 1
15376 456622 : data_tmp = full_data(idata)
15377 456622 : data_tmp = ISHFT(data_tmp, 42)
15378 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15379 456622 : pack_tmp = ISHFT(pack_tmp, -6)
15380 456622 : idata = idata + 1
15381 456622 : data_tmp = full_data(idata)
15382 456622 : data_tmp = ISHFT(data_tmp, 42)
15383 456622 : data_tmp = IAND(data_tmp, mask_left(6))
15384 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15385 456622 : ipack = ipack + 1
15386 456622 : packed_data(ipack) = pack_tmp
15387 456622 : data_tmp = full_data(idata)
15388 456622 : pack_tmp = ISHFT(data_tmp, 48)
15389 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15390 456622 : idata = idata + 1
15391 456622 : data_tmp = full_data(idata)
15392 456622 : data_tmp = ISHFT(data_tmp, 42)
15393 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15394 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15395 456622 : idata = idata + 1
15396 456622 : data_tmp = full_data(idata)
15397 456622 : data_tmp = ISHFT(data_tmp, 42)
15398 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15399 456622 : pack_tmp = ISHFT(pack_tmp, -4)
15400 456622 : idata = idata + 1
15401 456622 : data_tmp = full_data(idata)
15402 456622 : data_tmp = ISHFT(data_tmp, 42)
15403 456622 : data_tmp = IAND(data_tmp, mask_left(4))
15404 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15405 456622 : ipack = ipack + 1
15406 456622 : packed_data(ipack) = pack_tmp
15407 456622 : data_tmp = full_data(idata)
15408 456622 : pack_tmp = ISHFT(data_tmp, 46)
15409 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15410 456622 : idata = idata + 1
15411 456622 : data_tmp = full_data(idata)
15412 456622 : data_tmp = ISHFT(data_tmp, 42)
15413 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15414 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15415 456622 : idata = idata + 1
15416 456622 : data_tmp = full_data(idata)
15417 456622 : data_tmp = ISHFT(data_tmp, 42)
15418 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15419 456622 : pack_tmp = ISHFT(pack_tmp, -2)
15420 456622 : idata = idata + 1
15421 456622 : data_tmp = full_data(idata)
15422 456622 : data_tmp = ISHFT(data_tmp, 42)
15423 456622 : data_tmp = IAND(data_tmp, mask_left(2))
15424 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15425 456622 : ipack = ipack + 1
15426 456622 : packed_data(ipack) = pack_tmp
15427 456622 : data_tmp = full_data(idata)
15428 456622 : pack_tmp = ISHFT(data_tmp, 44)
15429 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15430 456622 : idata = idata + 1
15431 456622 : data_tmp = full_data(idata)
15432 456622 : data_tmp = ISHFT(data_tmp, 42)
15433 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15434 456622 : pack_tmp = ISHFT(pack_tmp, -22)
15435 456622 : idata = idata + 1
15436 456622 : data_tmp = full_data(idata)
15437 456622 : data_tmp = ISHFT(data_tmp, 42)
15438 456622 : pack_tmp = IOR(pack_tmp, data_tmp)
15439 : pack_tmp = ISHFT(pack_tmp, 0)
15440 456622 : pack_tmp = ISHFT(pack_tmp, 0)
15441 456622 : ipack = ipack + 1
15442 456731 : packed_data(ipack) = pack_tmp
15443 : END DO
15444 30037 : IF (Ndata_rep < Ndata) THEN
15445 2820 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
15446 : END IF
15447 30037 : END SUBROUTINE ints2bits_22
15448 :
15449 : ! **************************************************************************************************
15450 : !> \brief ...
15451 : !> \param Ndata ...
15452 : !> \param packed_data ...
15453 : !> \param full_data ...
15454 : ! **************************************************************************************************
15455 153439 : 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(*)
15459 :
15460 : INTEGER, PARAMETER :: Nbits = 22
15461 :
15462 : INTEGER :: idata, ipack, kdata, Ndata_rep
15463 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
15464 :
15465 153439 : ipack = 0
15466 153439 : idata = 0
15467 153439 : pack_tmp = 0
15468 153439 : Ndata_rep = (Ndata/64)*64
15469 153439 : DO kdata = 1, Ndata_rep, 64
15470 2227173 : idata = idata + 1
15471 2227173 : data_tmp = ISHFT(pack_tmp, 22)
15472 2227173 : ipack = ipack + 1
15473 2227173 : pack_tmp = packed_data(ipack)
15474 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
15475 2227173 : pack_tmp = ISHFT(pack_tmp, -22)
15476 2227173 : idata = idata + 1
15477 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15478 2227173 : full_data(idata) = data_tmp
15479 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15480 2227173 : idata = idata + 1
15481 2227173 : data_tmp = ISHFT(pack_tmp, 2)
15482 2227173 : ipack = ipack + 1
15483 2227173 : pack_tmp = packed_data(ipack)
15484 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
15485 2227173 : pack_tmp = ISHFT(pack_tmp, -2)
15486 2227173 : idata = idata + 1
15487 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15488 2227173 : full_data(idata) = data_tmp
15489 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15490 2227173 : idata = idata + 1
15491 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15492 2227173 : full_data(idata) = data_tmp
15493 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15494 2227173 : idata = idata + 1
15495 2227173 : data_tmp = ISHFT(pack_tmp, 4)
15496 2227173 : ipack = ipack + 1
15497 2227173 : pack_tmp = packed_data(ipack)
15498 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
15499 2227173 : pack_tmp = ISHFT(pack_tmp, -4)
15500 2227173 : idata = idata + 1
15501 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15502 2227173 : full_data(idata) = data_tmp
15503 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15504 2227173 : idata = idata + 1
15505 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15506 2227173 : full_data(idata) = data_tmp
15507 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15508 2227173 : idata = idata + 1
15509 2227173 : data_tmp = ISHFT(pack_tmp, 6)
15510 2227173 : ipack = ipack + 1
15511 2227173 : pack_tmp = packed_data(ipack)
15512 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
15513 2227173 : pack_tmp = ISHFT(pack_tmp, -6)
15514 2227173 : idata = idata + 1
15515 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15516 2227173 : full_data(idata) = data_tmp
15517 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15518 2227173 : idata = idata + 1
15519 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15520 2227173 : full_data(idata) = data_tmp
15521 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15522 2227173 : idata = idata + 1
15523 2227173 : data_tmp = ISHFT(pack_tmp, 8)
15524 2227173 : ipack = ipack + 1
15525 2227173 : pack_tmp = packed_data(ipack)
15526 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
15527 2227173 : pack_tmp = ISHFT(pack_tmp, -8)
15528 2227173 : idata = idata + 1
15529 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15530 2227173 : full_data(idata) = data_tmp
15531 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15532 2227173 : idata = idata + 1
15533 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15534 2227173 : full_data(idata) = data_tmp
15535 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15536 2227173 : idata = idata + 1
15537 2227173 : data_tmp = ISHFT(pack_tmp, 10)
15538 2227173 : ipack = ipack + 1
15539 2227173 : pack_tmp = packed_data(ipack)
15540 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
15541 2227173 : pack_tmp = ISHFT(pack_tmp, -10)
15542 2227173 : idata = idata + 1
15543 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15544 2227173 : full_data(idata) = data_tmp
15545 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15546 2227173 : idata = idata + 1
15547 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15548 2227173 : full_data(idata) = data_tmp
15549 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15550 2227173 : idata = idata + 1
15551 2227173 : data_tmp = ISHFT(pack_tmp, 12)
15552 2227173 : ipack = ipack + 1
15553 2227173 : pack_tmp = packed_data(ipack)
15554 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
15555 2227173 : pack_tmp = ISHFT(pack_tmp, -12)
15556 2227173 : idata = idata + 1
15557 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15558 2227173 : full_data(idata) = data_tmp
15559 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15560 2227173 : idata = idata + 1
15561 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15562 2227173 : full_data(idata) = data_tmp
15563 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15564 2227173 : idata = idata + 1
15565 2227173 : data_tmp = ISHFT(pack_tmp, 14)
15566 2227173 : ipack = ipack + 1
15567 2227173 : pack_tmp = packed_data(ipack)
15568 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
15569 2227173 : pack_tmp = ISHFT(pack_tmp, -14)
15570 2227173 : idata = idata + 1
15571 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15572 2227173 : full_data(idata) = data_tmp
15573 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15574 2227173 : idata = idata + 1
15575 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15576 2227173 : full_data(idata) = data_tmp
15577 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15578 2227173 : idata = idata + 1
15579 2227173 : data_tmp = ISHFT(pack_tmp, 16)
15580 2227173 : ipack = ipack + 1
15581 2227173 : pack_tmp = packed_data(ipack)
15582 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
15583 2227173 : pack_tmp = ISHFT(pack_tmp, -16)
15584 2227173 : idata = idata + 1
15585 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15586 2227173 : full_data(idata) = data_tmp
15587 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15588 2227173 : idata = idata + 1
15589 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15590 2227173 : full_data(idata) = data_tmp
15591 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15592 2227173 : idata = idata + 1
15593 2227173 : data_tmp = ISHFT(pack_tmp, 18)
15594 2227173 : ipack = ipack + 1
15595 2227173 : pack_tmp = packed_data(ipack)
15596 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
15597 2227173 : pack_tmp = ISHFT(pack_tmp, -18)
15598 2227173 : idata = idata + 1
15599 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15600 2227173 : full_data(idata) = data_tmp
15601 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15602 2227173 : idata = idata + 1
15603 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15604 2227173 : full_data(idata) = data_tmp
15605 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15606 2227173 : idata = idata + 1
15607 2227173 : data_tmp = ISHFT(pack_tmp, 20)
15608 2227173 : ipack = ipack + 1
15609 2227173 : pack_tmp = packed_data(ipack)
15610 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
15611 2227173 : pack_tmp = ISHFT(pack_tmp, -20)
15612 2227173 : idata = idata + 1
15613 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15614 2227173 : full_data(idata) = data_tmp
15615 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15616 2227173 : idata = idata + 1
15617 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15618 2227173 : full_data(idata) = data_tmp
15619 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15620 2227173 : idata = idata + 1
15621 2227173 : data_tmp = ISHFT(pack_tmp, 22)
15622 2227173 : ipack = ipack + 1
15623 2227173 : pack_tmp = packed_data(ipack)
15624 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
15625 2227173 : pack_tmp = ISHFT(pack_tmp, -22)
15626 2227173 : idata = idata + 1
15627 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15628 2227173 : full_data(idata) = data_tmp
15629 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15630 2227173 : idata = idata + 1
15631 2227173 : data_tmp = ISHFT(pack_tmp, 2)
15632 2227173 : ipack = ipack + 1
15633 2227173 : pack_tmp = packed_data(ipack)
15634 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
15635 2227173 : pack_tmp = ISHFT(pack_tmp, -2)
15636 2227173 : idata = idata + 1
15637 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15638 2227173 : full_data(idata) = data_tmp
15639 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15640 2227173 : idata = idata + 1
15641 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15642 2227173 : full_data(idata) = data_tmp
15643 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15644 2227173 : idata = idata + 1
15645 2227173 : data_tmp = ISHFT(pack_tmp, 4)
15646 2227173 : ipack = ipack + 1
15647 2227173 : pack_tmp = packed_data(ipack)
15648 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
15649 2227173 : pack_tmp = ISHFT(pack_tmp, -4)
15650 2227173 : idata = idata + 1
15651 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15652 2227173 : full_data(idata) = data_tmp
15653 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15654 2227173 : idata = idata + 1
15655 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15656 2227173 : full_data(idata) = data_tmp
15657 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15658 2227173 : idata = idata + 1
15659 2227173 : data_tmp = ISHFT(pack_tmp, 6)
15660 2227173 : ipack = ipack + 1
15661 2227173 : pack_tmp = packed_data(ipack)
15662 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
15663 2227173 : pack_tmp = ISHFT(pack_tmp, -6)
15664 2227173 : idata = idata + 1
15665 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15666 2227173 : full_data(idata) = data_tmp
15667 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15668 2227173 : idata = idata + 1
15669 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15670 2227173 : full_data(idata) = data_tmp
15671 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15672 2227173 : idata = idata + 1
15673 2227173 : data_tmp = ISHFT(pack_tmp, 8)
15674 2227173 : ipack = ipack + 1
15675 2227173 : pack_tmp = packed_data(ipack)
15676 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
15677 2227173 : pack_tmp = ISHFT(pack_tmp, -8)
15678 2227173 : idata = idata + 1
15679 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15680 2227173 : full_data(idata) = data_tmp
15681 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15682 2227173 : idata = idata + 1
15683 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15684 2227173 : full_data(idata) = data_tmp
15685 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15686 2227173 : idata = idata + 1
15687 2227173 : data_tmp = ISHFT(pack_tmp, 10)
15688 2227173 : ipack = ipack + 1
15689 2227173 : pack_tmp = packed_data(ipack)
15690 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
15691 2227173 : pack_tmp = ISHFT(pack_tmp, -10)
15692 2227173 : idata = idata + 1
15693 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15694 2227173 : full_data(idata) = data_tmp
15695 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15696 2227173 : idata = idata + 1
15697 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15698 2227173 : full_data(idata) = data_tmp
15699 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15700 2227173 : idata = idata + 1
15701 2227173 : data_tmp = ISHFT(pack_tmp, 12)
15702 2227173 : ipack = ipack + 1
15703 2227173 : pack_tmp = packed_data(ipack)
15704 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
15705 2227173 : pack_tmp = ISHFT(pack_tmp, -12)
15706 2227173 : idata = idata + 1
15707 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15708 2227173 : full_data(idata) = data_tmp
15709 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15710 2227173 : idata = idata + 1
15711 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15712 2227173 : full_data(idata) = data_tmp
15713 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15714 2227173 : idata = idata + 1
15715 2227173 : data_tmp = ISHFT(pack_tmp, 14)
15716 2227173 : ipack = ipack + 1
15717 2227173 : pack_tmp = packed_data(ipack)
15718 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
15719 2227173 : pack_tmp = ISHFT(pack_tmp, -14)
15720 2227173 : idata = idata + 1
15721 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15722 2227173 : full_data(idata) = data_tmp
15723 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15724 2227173 : idata = idata + 1
15725 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15726 2227173 : full_data(idata) = data_tmp
15727 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15728 2227173 : idata = idata + 1
15729 2227173 : data_tmp = ISHFT(pack_tmp, 16)
15730 2227173 : ipack = ipack + 1
15731 2227173 : pack_tmp = packed_data(ipack)
15732 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
15733 2227173 : pack_tmp = ISHFT(pack_tmp, -16)
15734 2227173 : idata = idata + 1
15735 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15736 2227173 : full_data(idata) = data_tmp
15737 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15738 2227173 : idata = idata + 1
15739 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15740 2227173 : full_data(idata) = data_tmp
15741 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15742 2227173 : idata = idata + 1
15743 2227173 : data_tmp = ISHFT(pack_tmp, 18)
15744 2227173 : ipack = ipack + 1
15745 2227173 : pack_tmp = packed_data(ipack)
15746 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
15747 2227173 : pack_tmp = ISHFT(pack_tmp, -18)
15748 2227173 : idata = idata + 1
15749 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15750 2227173 : full_data(idata) = data_tmp
15751 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15752 2227173 : idata = idata + 1
15753 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15754 2227173 : full_data(idata) = data_tmp
15755 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15756 2227173 : idata = idata + 1
15757 2227173 : data_tmp = ISHFT(pack_tmp, 20)
15758 2227173 : ipack = ipack + 1
15759 2227173 : pack_tmp = packed_data(ipack)
15760 2227173 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
15761 2227173 : pack_tmp = ISHFT(pack_tmp, -20)
15762 2227173 : idata = idata + 1
15763 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15764 2227173 : full_data(idata) = data_tmp
15765 2227173 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15766 2227173 : idata = idata + 1
15767 2227173 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
15768 2227173 : full_data(idata) = data_tmp
15769 2227934 : pack_tmp = ISHFT(pack_tmp, -Nbits)
15770 : END DO
15771 153439 : IF (Ndata_rep < Ndata) THEN
15772 26806 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
15773 : END IF
15774 153439 : END SUBROUTINE bits2ints_22
15775 :
15776 : ! **************************************************************************************************
15777 : !> \brief ...
15778 : !> \param Ndata ...
15779 : !> \param packed_data ...
15780 : !> \param full_data ...
15781 : ! **************************************************************************************************
15782 74377 : 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(*)
15786 :
15787 : INTEGER, PARAMETER :: Nbits = 23
15788 :
15789 : INTEGER :: idata, ipack, kdata, Ndata_rep
15790 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
15791 :
15792 74377 : idata = 0
15793 74377 : ipack = 0
15794 74377 : Ndata_rep = (Ndata/64)*64
15795 74377 : DO kdata = 1, Ndata_rep, 64
15796 973984 : pack_tmp = 0
15797 973984 : idata = idata + 1
15798 973984 : data_tmp = full_data(idata)
15799 973984 : data_tmp = ISHFT(data_tmp, 41)
15800 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15801 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15802 973984 : idata = idata + 1
15803 973984 : data_tmp = full_data(idata)
15804 973984 : data_tmp = ISHFT(data_tmp, 41)
15805 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15806 973984 : pack_tmp = ISHFT(pack_tmp, -18)
15807 973984 : idata = idata + 1
15808 973984 : data_tmp = full_data(idata)
15809 973984 : data_tmp = ISHFT(data_tmp, 41)
15810 973984 : data_tmp = IAND(data_tmp, mask_left(18))
15811 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15812 973984 : ipack = ipack + 1
15813 973984 : packed_data(ipack) = pack_tmp
15814 973984 : data_tmp = full_data(idata)
15815 973984 : pack_tmp = ISHFT(data_tmp, 59)
15816 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15817 973984 : idata = idata + 1
15818 973984 : data_tmp = full_data(idata)
15819 973984 : data_tmp = ISHFT(data_tmp, 41)
15820 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15821 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15822 973984 : idata = idata + 1
15823 973984 : data_tmp = full_data(idata)
15824 973984 : data_tmp = ISHFT(data_tmp, 41)
15825 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15826 973984 : pack_tmp = ISHFT(pack_tmp, -13)
15827 973984 : idata = idata + 1
15828 973984 : data_tmp = full_data(idata)
15829 973984 : data_tmp = ISHFT(data_tmp, 41)
15830 973984 : data_tmp = IAND(data_tmp, mask_left(13))
15831 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15832 973984 : ipack = ipack + 1
15833 973984 : packed_data(ipack) = pack_tmp
15834 973984 : data_tmp = full_data(idata)
15835 973984 : pack_tmp = ISHFT(data_tmp, 54)
15836 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15837 973984 : idata = idata + 1
15838 973984 : data_tmp = full_data(idata)
15839 973984 : data_tmp = ISHFT(data_tmp, 41)
15840 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15841 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15842 973984 : idata = idata + 1
15843 973984 : data_tmp = full_data(idata)
15844 973984 : data_tmp = ISHFT(data_tmp, 41)
15845 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15846 973984 : pack_tmp = ISHFT(pack_tmp, -8)
15847 973984 : idata = idata + 1
15848 973984 : data_tmp = full_data(idata)
15849 973984 : data_tmp = ISHFT(data_tmp, 41)
15850 973984 : data_tmp = IAND(data_tmp, mask_left(8))
15851 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15852 973984 : ipack = ipack + 1
15853 973984 : packed_data(ipack) = pack_tmp
15854 973984 : data_tmp = full_data(idata)
15855 973984 : pack_tmp = ISHFT(data_tmp, 49)
15856 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15857 973984 : idata = idata + 1
15858 973984 : data_tmp = full_data(idata)
15859 973984 : data_tmp = ISHFT(data_tmp, 41)
15860 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15861 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15862 973984 : idata = idata + 1
15863 973984 : data_tmp = full_data(idata)
15864 973984 : data_tmp = ISHFT(data_tmp, 41)
15865 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15866 973984 : pack_tmp = ISHFT(pack_tmp, -3)
15867 973984 : idata = idata + 1
15868 973984 : data_tmp = full_data(idata)
15869 973984 : data_tmp = ISHFT(data_tmp, 41)
15870 973984 : data_tmp = IAND(data_tmp, mask_left(3))
15871 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15872 973984 : ipack = ipack + 1
15873 973984 : packed_data(ipack) = pack_tmp
15874 973984 : data_tmp = full_data(idata)
15875 973984 : pack_tmp = ISHFT(data_tmp, 44)
15876 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15877 973984 : idata = idata + 1
15878 973984 : data_tmp = full_data(idata)
15879 973984 : data_tmp = ISHFT(data_tmp, 41)
15880 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15881 973984 : pack_tmp = ISHFT(pack_tmp, -21)
15882 973984 : idata = idata + 1
15883 973984 : data_tmp = full_data(idata)
15884 973984 : data_tmp = ISHFT(data_tmp, 41)
15885 973984 : data_tmp = IAND(data_tmp, mask_left(21))
15886 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15887 973984 : ipack = ipack + 1
15888 973984 : packed_data(ipack) = pack_tmp
15889 973984 : data_tmp = full_data(idata)
15890 973984 : pack_tmp = ISHFT(data_tmp, 62)
15891 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15892 973984 : idata = idata + 1
15893 973984 : data_tmp = full_data(idata)
15894 973984 : data_tmp = ISHFT(data_tmp, 41)
15895 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15896 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15897 973984 : idata = idata + 1
15898 973984 : data_tmp = full_data(idata)
15899 973984 : data_tmp = ISHFT(data_tmp, 41)
15900 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15901 973984 : pack_tmp = ISHFT(pack_tmp, -16)
15902 973984 : idata = idata + 1
15903 973984 : data_tmp = full_data(idata)
15904 973984 : data_tmp = ISHFT(data_tmp, 41)
15905 973984 : data_tmp = IAND(data_tmp, mask_left(16))
15906 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15907 973984 : ipack = ipack + 1
15908 973984 : packed_data(ipack) = pack_tmp
15909 973984 : data_tmp = full_data(idata)
15910 973984 : pack_tmp = ISHFT(data_tmp, 57)
15911 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15912 973984 : idata = idata + 1
15913 973984 : data_tmp = full_data(idata)
15914 973984 : data_tmp = ISHFT(data_tmp, 41)
15915 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15916 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15917 973984 : idata = idata + 1
15918 973984 : data_tmp = full_data(idata)
15919 973984 : data_tmp = ISHFT(data_tmp, 41)
15920 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15921 973984 : pack_tmp = ISHFT(pack_tmp, -11)
15922 973984 : idata = idata + 1
15923 973984 : data_tmp = full_data(idata)
15924 973984 : data_tmp = ISHFT(data_tmp, 41)
15925 973984 : data_tmp = IAND(data_tmp, mask_left(11))
15926 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15927 973984 : ipack = ipack + 1
15928 973984 : packed_data(ipack) = pack_tmp
15929 973984 : data_tmp = full_data(idata)
15930 973984 : pack_tmp = ISHFT(data_tmp, 52)
15931 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15932 973984 : idata = idata + 1
15933 973984 : data_tmp = full_data(idata)
15934 973984 : data_tmp = ISHFT(data_tmp, 41)
15935 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15936 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15937 973984 : idata = idata + 1
15938 973984 : data_tmp = full_data(idata)
15939 973984 : data_tmp = ISHFT(data_tmp, 41)
15940 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15941 973984 : pack_tmp = ISHFT(pack_tmp, -6)
15942 973984 : idata = idata + 1
15943 973984 : data_tmp = full_data(idata)
15944 973984 : data_tmp = ISHFT(data_tmp, 41)
15945 973984 : data_tmp = IAND(data_tmp, mask_left(6))
15946 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15947 973984 : ipack = ipack + 1
15948 973984 : packed_data(ipack) = pack_tmp
15949 973984 : data_tmp = full_data(idata)
15950 973984 : pack_tmp = ISHFT(data_tmp, 47)
15951 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15952 973984 : idata = idata + 1
15953 973984 : data_tmp = full_data(idata)
15954 973984 : data_tmp = ISHFT(data_tmp, 41)
15955 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15956 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15957 973984 : idata = idata + 1
15958 973984 : data_tmp = full_data(idata)
15959 973984 : data_tmp = ISHFT(data_tmp, 41)
15960 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15961 973984 : pack_tmp = ISHFT(pack_tmp, -1)
15962 973984 : idata = idata + 1
15963 973984 : data_tmp = full_data(idata)
15964 973984 : data_tmp = ISHFT(data_tmp, 41)
15965 973984 : data_tmp = IAND(data_tmp, mask_left(1))
15966 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15967 973984 : ipack = ipack + 1
15968 973984 : packed_data(ipack) = pack_tmp
15969 973984 : data_tmp = full_data(idata)
15970 973984 : pack_tmp = ISHFT(data_tmp, 42)
15971 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15972 973984 : idata = idata + 1
15973 973984 : data_tmp = full_data(idata)
15974 973984 : data_tmp = ISHFT(data_tmp, 41)
15975 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15976 973984 : pack_tmp = ISHFT(pack_tmp, -19)
15977 973984 : idata = idata + 1
15978 973984 : data_tmp = full_data(idata)
15979 973984 : data_tmp = ISHFT(data_tmp, 41)
15980 973984 : data_tmp = IAND(data_tmp, mask_left(19))
15981 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15982 973984 : ipack = ipack + 1
15983 973984 : packed_data(ipack) = pack_tmp
15984 973984 : data_tmp = full_data(idata)
15985 973984 : pack_tmp = ISHFT(data_tmp, 60)
15986 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15987 973984 : idata = idata + 1
15988 973984 : data_tmp = full_data(idata)
15989 973984 : data_tmp = ISHFT(data_tmp, 41)
15990 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15991 973984 : pack_tmp = ISHFT(pack_tmp, -23)
15992 973984 : idata = idata + 1
15993 973984 : data_tmp = full_data(idata)
15994 973984 : data_tmp = ISHFT(data_tmp, 41)
15995 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
15996 973984 : pack_tmp = ISHFT(pack_tmp, -14)
15997 973984 : idata = idata + 1
15998 973984 : data_tmp = full_data(idata)
15999 973984 : data_tmp = ISHFT(data_tmp, 41)
16000 973984 : data_tmp = IAND(data_tmp, mask_left(14))
16001 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16002 973984 : ipack = ipack + 1
16003 973984 : packed_data(ipack) = pack_tmp
16004 973984 : data_tmp = full_data(idata)
16005 973984 : pack_tmp = ISHFT(data_tmp, 55)
16006 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16007 973984 : idata = idata + 1
16008 973984 : data_tmp = full_data(idata)
16009 973984 : data_tmp = ISHFT(data_tmp, 41)
16010 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16011 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16012 973984 : idata = idata + 1
16013 973984 : data_tmp = full_data(idata)
16014 973984 : data_tmp = ISHFT(data_tmp, 41)
16015 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16016 973984 : pack_tmp = ISHFT(pack_tmp, -9)
16017 973984 : idata = idata + 1
16018 973984 : data_tmp = full_data(idata)
16019 973984 : data_tmp = ISHFT(data_tmp, 41)
16020 973984 : data_tmp = IAND(data_tmp, mask_left(9))
16021 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16022 973984 : ipack = ipack + 1
16023 973984 : packed_data(ipack) = pack_tmp
16024 973984 : data_tmp = full_data(idata)
16025 973984 : pack_tmp = ISHFT(data_tmp, 50)
16026 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16027 973984 : idata = idata + 1
16028 973984 : data_tmp = full_data(idata)
16029 973984 : data_tmp = ISHFT(data_tmp, 41)
16030 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16031 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16032 973984 : idata = idata + 1
16033 973984 : data_tmp = full_data(idata)
16034 973984 : data_tmp = ISHFT(data_tmp, 41)
16035 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16036 973984 : pack_tmp = ISHFT(pack_tmp, -4)
16037 973984 : idata = idata + 1
16038 973984 : data_tmp = full_data(idata)
16039 973984 : data_tmp = ISHFT(data_tmp, 41)
16040 973984 : data_tmp = IAND(data_tmp, mask_left(4))
16041 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16042 973984 : ipack = ipack + 1
16043 973984 : packed_data(ipack) = pack_tmp
16044 973984 : data_tmp = full_data(idata)
16045 973984 : pack_tmp = ISHFT(data_tmp, 45)
16046 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16047 973984 : idata = idata + 1
16048 973984 : data_tmp = full_data(idata)
16049 973984 : data_tmp = ISHFT(data_tmp, 41)
16050 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16051 973984 : pack_tmp = ISHFT(pack_tmp, -22)
16052 973984 : idata = idata + 1
16053 973984 : data_tmp = full_data(idata)
16054 973984 : data_tmp = ISHFT(data_tmp, 41)
16055 973984 : data_tmp = IAND(data_tmp, mask_left(22))
16056 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16057 973984 : ipack = ipack + 1
16058 973984 : packed_data(ipack) = pack_tmp
16059 973984 : data_tmp = full_data(idata)
16060 973984 : pack_tmp = ISHFT(data_tmp, 63)
16061 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16062 973984 : idata = idata + 1
16063 973984 : data_tmp = full_data(idata)
16064 973984 : data_tmp = ISHFT(data_tmp, 41)
16065 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16066 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16067 973984 : idata = idata + 1
16068 973984 : data_tmp = full_data(idata)
16069 973984 : data_tmp = ISHFT(data_tmp, 41)
16070 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16071 973984 : pack_tmp = ISHFT(pack_tmp, -17)
16072 973984 : idata = idata + 1
16073 973984 : data_tmp = full_data(idata)
16074 973984 : data_tmp = ISHFT(data_tmp, 41)
16075 973984 : data_tmp = IAND(data_tmp, mask_left(17))
16076 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16077 973984 : ipack = ipack + 1
16078 973984 : packed_data(ipack) = pack_tmp
16079 973984 : data_tmp = full_data(idata)
16080 973984 : pack_tmp = ISHFT(data_tmp, 58)
16081 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16082 973984 : idata = idata + 1
16083 973984 : data_tmp = full_data(idata)
16084 973984 : data_tmp = ISHFT(data_tmp, 41)
16085 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16086 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16087 973984 : idata = idata + 1
16088 973984 : data_tmp = full_data(idata)
16089 973984 : data_tmp = ISHFT(data_tmp, 41)
16090 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16091 973984 : pack_tmp = ISHFT(pack_tmp, -12)
16092 973984 : idata = idata + 1
16093 973984 : data_tmp = full_data(idata)
16094 973984 : data_tmp = ISHFT(data_tmp, 41)
16095 973984 : data_tmp = IAND(data_tmp, mask_left(12))
16096 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16097 973984 : ipack = ipack + 1
16098 973984 : packed_data(ipack) = pack_tmp
16099 973984 : data_tmp = full_data(idata)
16100 973984 : pack_tmp = ISHFT(data_tmp, 53)
16101 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16102 973984 : idata = idata + 1
16103 973984 : data_tmp = full_data(idata)
16104 973984 : data_tmp = ISHFT(data_tmp, 41)
16105 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16106 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16107 973984 : idata = idata + 1
16108 973984 : data_tmp = full_data(idata)
16109 973984 : data_tmp = ISHFT(data_tmp, 41)
16110 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16111 973984 : pack_tmp = ISHFT(pack_tmp, -7)
16112 973984 : idata = idata + 1
16113 973984 : data_tmp = full_data(idata)
16114 973984 : data_tmp = ISHFT(data_tmp, 41)
16115 973984 : data_tmp = IAND(data_tmp, mask_left(7))
16116 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16117 973984 : ipack = ipack + 1
16118 973984 : packed_data(ipack) = pack_tmp
16119 973984 : data_tmp = full_data(idata)
16120 973984 : pack_tmp = ISHFT(data_tmp, 48)
16121 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16122 973984 : idata = idata + 1
16123 973984 : data_tmp = full_data(idata)
16124 973984 : data_tmp = ISHFT(data_tmp, 41)
16125 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16126 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16127 973984 : idata = idata + 1
16128 973984 : data_tmp = full_data(idata)
16129 973984 : data_tmp = ISHFT(data_tmp, 41)
16130 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16131 973984 : pack_tmp = ISHFT(pack_tmp, -2)
16132 973984 : idata = idata + 1
16133 973984 : data_tmp = full_data(idata)
16134 973984 : data_tmp = ISHFT(data_tmp, 41)
16135 973984 : data_tmp = IAND(data_tmp, mask_left(2))
16136 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16137 973984 : ipack = ipack + 1
16138 973984 : packed_data(ipack) = pack_tmp
16139 973984 : data_tmp = full_data(idata)
16140 973984 : pack_tmp = ISHFT(data_tmp, 43)
16141 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16142 973984 : idata = idata + 1
16143 973984 : data_tmp = full_data(idata)
16144 973984 : data_tmp = ISHFT(data_tmp, 41)
16145 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16146 973984 : pack_tmp = ISHFT(pack_tmp, -20)
16147 973984 : idata = idata + 1
16148 973984 : data_tmp = full_data(idata)
16149 973984 : data_tmp = ISHFT(data_tmp, 41)
16150 973984 : data_tmp = IAND(data_tmp, mask_left(20))
16151 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16152 973984 : ipack = ipack + 1
16153 973984 : packed_data(ipack) = pack_tmp
16154 973984 : data_tmp = full_data(idata)
16155 973984 : pack_tmp = ISHFT(data_tmp, 61)
16156 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16157 973984 : idata = idata + 1
16158 973984 : data_tmp = full_data(idata)
16159 973984 : data_tmp = ISHFT(data_tmp, 41)
16160 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16161 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16162 973984 : idata = idata + 1
16163 973984 : data_tmp = full_data(idata)
16164 973984 : data_tmp = ISHFT(data_tmp, 41)
16165 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16166 973984 : pack_tmp = ISHFT(pack_tmp, -15)
16167 973984 : idata = idata + 1
16168 973984 : data_tmp = full_data(idata)
16169 973984 : data_tmp = ISHFT(data_tmp, 41)
16170 973984 : data_tmp = IAND(data_tmp, mask_left(15))
16171 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16172 973984 : ipack = ipack + 1
16173 973984 : packed_data(ipack) = pack_tmp
16174 973984 : data_tmp = full_data(idata)
16175 973984 : pack_tmp = ISHFT(data_tmp, 56)
16176 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16177 973984 : idata = idata + 1
16178 973984 : data_tmp = full_data(idata)
16179 973984 : data_tmp = ISHFT(data_tmp, 41)
16180 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16181 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16182 973984 : idata = idata + 1
16183 973984 : data_tmp = full_data(idata)
16184 973984 : data_tmp = ISHFT(data_tmp, 41)
16185 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16186 973984 : pack_tmp = ISHFT(pack_tmp, -10)
16187 973984 : idata = idata + 1
16188 973984 : data_tmp = full_data(idata)
16189 973984 : data_tmp = ISHFT(data_tmp, 41)
16190 973984 : data_tmp = IAND(data_tmp, mask_left(10))
16191 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16192 973984 : ipack = ipack + 1
16193 973984 : packed_data(ipack) = pack_tmp
16194 973984 : data_tmp = full_data(idata)
16195 973984 : pack_tmp = ISHFT(data_tmp, 51)
16196 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16197 973984 : idata = idata + 1
16198 973984 : data_tmp = full_data(idata)
16199 973984 : data_tmp = ISHFT(data_tmp, 41)
16200 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16201 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16202 973984 : idata = idata + 1
16203 973984 : data_tmp = full_data(idata)
16204 973984 : data_tmp = ISHFT(data_tmp, 41)
16205 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16206 973984 : pack_tmp = ISHFT(pack_tmp, -5)
16207 973984 : idata = idata + 1
16208 973984 : data_tmp = full_data(idata)
16209 973984 : data_tmp = ISHFT(data_tmp, 41)
16210 973984 : data_tmp = IAND(data_tmp, mask_left(5))
16211 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16212 973984 : ipack = ipack + 1
16213 973984 : packed_data(ipack) = pack_tmp
16214 973984 : data_tmp = full_data(idata)
16215 973984 : pack_tmp = ISHFT(data_tmp, 46)
16216 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16217 973984 : idata = idata + 1
16218 973984 : data_tmp = full_data(idata)
16219 973984 : data_tmp = ISHFT(data_tmp, 41)
16220 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16221 973984 : pack_tmp = ISHFT(pack_tmp, -23)
16222 973984 : idata = idata + 1
16223 973984 : data_tmp = full_data(idata)
16224 973984 : data_tmp = ISHFT(data_tmp, 41)
16225 973984 : pack_tmp = IOR(pack_tmp, data_tmp)
16226 : pack_tmp = ISHFT(pack_tmp, 0)
16227 973984 : pack_tmp = ISHFT(pack_tmp, 0)
16228 973984 : ipack = ipack + 1
16229 974640 : packed_data(ipack) = pack_tmp
16230 : END DO
16231 74377 : IF (Ndata_rep < Ndata) THEN
16232 13952 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
16233 : END IF
16234 74377 : END SUBROUTINE ints2bits_23
16235 :
16236 : ! **************************************************************************************************
16237 : !> \brief ...
16238 : !> \param Ndata ...
16239 : !> \param packed_data ...
16240 : !> \param full_data ...
16241 : ! **************************************************************************************************
16242 231496 : 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(*)
16246 :
16247 : INTEGER, PARAMETER :: Nbits = 23
16248 :
16249 : INTEGER :: idata, ipack, kdata, Ndata_rep
16250 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
16251 :
16252 231496 : ipack = 0
16253 231496 : idata = 0
16254 231496 : pack_tmp = 0
16255 231496 : Ndata_rep = (Ndata/64)*64
16256 231496 : DO kdata = 1, Ndata_rep, 64
16257 3134578 : idata = idata + 1
16258 3134578 : data_tmp = ISHFT(pack_tmp, 23)
16259 3134578 : ipack = ipack + 1
16260 3134578 : pack_tmp = packed_data(ipack)
16261 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
16262 3134578 : pack_tmp = ISHFT(pack_tmp, -23)
16263 3134578 : idata = idata + 1
16264 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16265 3134578 : full_data(idata) = data_tmp
16266 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16267 3134578 : idata = idata + 1
16268 3134578 : data_tmp = ISHFT(pack_tmp, 5)
16269 3134578 : ipack = ipack + 1
16270 3134578 : pack_tmp = packed_data(ipack)
16271 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
16272 3134578 : pack_tmp = ISHFT(pack_tmp, -5)
16273 3134578 : idata = idata + 1
16274 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16275 3134578 : full_data(idata) = data_tmp
16276 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16277 3134578 : idata = idata + 1
16278 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16279 3134578 : full_data(idata) = data_tmp
16280 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16281 3134578 : idata = idata + 1
16282 3134578 : data_tmp = ISHFT(pack_tmp, 10)
16283 3134578 : ipack = ipack + 1
16284 3134578 : pack_tmp = packed_data(ipack)
16285 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
16286 3134578 : pack_tmp = ISHFT(pack_tmp, -10)
16287 3134578 : idata = idata + 1
16288 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16289 3134578 : full_data(idata) = data_tmp
16290 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16291 3134578 : idata = idata + 1
16292 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16293 3134578 : full_data(idata) = data_tmp
16294 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16295 3134578 : idata = idata + 1
16296 3134578 : data_tmp = ISHFT(pack_tmp, 15)
16297 3134578 : ipack = ipack + 1
16298 3134578 : pack_tmp = packed_data(ipack)
16299 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
16300 3134578 : pack_tmp = ISHFT(pack_tmp, -15)
16301 3134578 : idata = idata + 1
16302 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16303 3134578 : full_data(idata) = data_tmp
16304 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16305 3134578 : idata = idata + 1
16306 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16307 3134578 : full_data(idata) = data_tmp
16308 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16309 3134578 : idata = idata + 1
16310 3134578 : data_tmp = ISHFT(pack_tmp, 20)
16311 3134578 : ipack = ipack + 1
16312 3134578 : pack_tmp = packed_data(ipack)
16313 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
16314 3134578 : pack_tmp = ISHFT(pack_tmp, -20)
16315 3134578 : idata = idata + 1
16316 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16317 3134578 : full_data(idata) = data_tmp
16318 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16319 3134578 : idata = idata + 1
16320 3134578 : data_tmp = ISHFT(pack_tmp, 2)
16321 3134578 : ipack = ipack + 1
16322 3134578 : pack_tmp = packed_data(ipack)
16323 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
16324 3134578 : pack_tmp = ISHFT(pack_tmp, -2)
16325 3134578 : idata = idata + 1
16326 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16327 3134578 : full_data(idata) = data_tmp
16328 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16329 3134578 : idata = idata + 1
16330 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16331 3134578 : full_data(idata) = data_tmp
16332 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16333 3134578 : idata = idata + 1
16334 3134578 : data_tmp = ISHFT(pack_tmp, 7)
16335 3134578 : ipack = ipack + 1
16336 3134578 : pack_tmp = packed_data(ipack)
16337 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
16338 3134578 : pack_tmp = ISHFT(pack_tmp, -7)
16339 3134578 : idata = idata + 1
16340 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16341 3134578 : full_data(idata) = data_tmp
16342 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16343 3134578 : idata = idata + 1
16344 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16345 3134578 : full_data(idata) = data_tmp
16346 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16347 3134578 : idata = idata + 1
16348 3134578 : data_tmp = ISHFT(pack_tmp, 12)
16349 3134578 : ipack = ipack + 1
16350 3134578 : pack_tmp = packed_data(ipack)
16351 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
16352 3134578 : pack_tmp = ISHFT(pack_tmp, -12)
16353 3134578 : idata = idata + 1
16354 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16355 3134578 : full_data(idata) = data_tmp
16356 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16357 3134578 : idata = idata + 1
16358 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16359 3134578 : full_data(idata) = data_tmp
16360 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16361 3134578 : idata = idata + 1
16362 3134578 : data_tmp = ISHFT(pack_tmp, 17)
16363 3134578 : ipack = ipack + 1
16364 3134578 : pack_tmp = packed_data(ipack)
16365 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
16366 3134578 : pack_tmp = ISHFT(pack_tmp, -17)
16367 3134578 : idata = idata + 1
16368 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16369 3134578 : full_data(idata) = data_tmp
16370 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16371 3134578 : idata = idata + 1
16372 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16373 3134578 : full_data(idata) = data_tmp
16374 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16375 3134578 : idata = idata + 1
16376 3134578 : data_tmp = ISHFT(pack_tmp, 22)
16377 3134578 : ipack = ipack + 1
16378 3134578 : pack_tmp = packed_data(ipack)
16379 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
16380 3134578 : pack_tmp = ISHFT(pack_tmp, -22)
16381 3134578 : idata = idata + 1
16382 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16383 3134578 : full_data(idata) = data_tmp
16384 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16385 3134578 : idata = idata + 1
16386 3134578 : data_tmp = ISHFT(pack_tmp, 4)
16387 3134578 : ipack = ipack + 1
16388 3134578 : pack_tmp = packed_data(ipack)
16389 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
16390 3134578 : pack_tmp = ISHFT(pack_tmp, -4)
16391 3134578 : idata = idata + 1
16392 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16393 3134578 : full_data(idata) = data_tmp
16394 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16395 3134578 : idata = idata + 1
16396 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16397 3134578 : full_data(idata) = data_tmp
16398 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16399 3134578 : idata = idata + 1
16400 3134578 : data_tmp = ISHFT(pack_tmp, 9)
16401 3134578 : ipack = ipack + 1
16402 3134578 : pack_tmp = packed_data(ipack)
16403 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
16404 3134578 : pack_tmp = ISHFT(pack_tmp, -9)
16405 3134578 : idata = idata + 1
16406 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16407 3134578 : full_data(idata) = data_tmp
16408 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16409 3134578 : idata = idata + 1
16410 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16411 3134578 : full_data(idata) = data_tmp
16412 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16413 3134578 : idata = idata + 1
16414 3134578 : data_tmp = ISHFT(pack_tmp, 14)
16415 3134578 : ipack = ipack + 1
16416 3134578 : pack_tmp = packed_data(ipack)
16417 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
16418 3134578 : pack_tmp = ISHFT(pack_tmp, -14)
16419 3134578 : idata = idata + 1
16420 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16421 3134578 : full_data(idata) = data_tmp
16422 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16423 3134578 : idata = idata + 1
16424 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16425 3134578 : full_data(idata) = data_tmp
16426 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16427 3134578 : idata = idata + 1
16428 3134578 : data_tmp = ISHFT(pack_tmp, 19)
16429 3134578 : ipack = ipack + 1
16430 3134578 : pack_tmp = packed_data(ipack)
16431 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
16432 3134578 : pack_tmp = ISHFT(pack_tmp, -19)
16433 3134578 : idata = idata + 1
16434 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16435 3134578 : full_data(idata) = data_tmp
16436 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16437 3134578 : idata = idata + 1
16438 3134578 : data_tmp = ISHFT(pack_tmp, 1)
16439 3134578 : ipack = ipack + 1
16440 3134578 : pack_tmp = packed_data(ipack)
16441 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
16442 3134578 : pack_tmp = ISHFT(pack_tmp, -1)
16443 3134578 : idata = idata + 1
16444 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16445 3134578 : full_data(idata) = data_tmp
16446 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16447 3134578 : idata = idata + 1
16448 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16449 3134578 : full_data(idata) = data_tmp
16450 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16451 3134578 : idata = idata + 1
16452 3134578 : data_tmp = ISHFT(pack_tmp, 6)
16453 3134578 : ipack = ipack + 1
16454 3134578 : pack_tmp = packed_data(ipack)
16455 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
16456 3134578 : pack_tmp = ISHFT(pack_tmp, -6)
16457 3134578 : idata = idata + 1
16458 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16459 3134578 : full_data(idata) = data_tmp
16460 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16461 3134578 : idata = idata + 1
16462 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16463 3134578 : full_data(idata) = data_tmp
16464 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16465 3134578 : idata = idata + 1
16466 3134578 : data_tmp = ISHFT(pack_tmp, 11)
16467 3134578 : ipack = ipack + 1
16468 3134578 : pack_tmp = packed_data(ipack)
16469 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
16470 3134578 : pack_tmp = ISHFT(pack_tmp, -11)
16471 3134578 : idata = idata + 1
16472 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16473 3134578 : full_data(idata) = data_tmp
16474 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16475 3134578 : idata = idata + 1
16476 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16477 3134578 : full_data(idata) = data_tmp
16478 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16479 3134578 : idata = idata + 1
16480 3134578 : data_tmp = ISHFT(pack_tmp, 16)
16481 3134578 : ipack = ipack + 1
16482 3134578 : pack_tmp = packed_data(ipack)
16483 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
16484 3134578 : pack_tmp = ISHFT(pack_tmp, -16)
16485 3134578 : idata = idata + 1
16486 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16487 3134578 : full_data(idata) = data_tmp
16488 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16489 3134578 : idata = idata + 1
16490 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16491 3134578 : full_data(idata) = data_tmp
16492 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16493 3134578 : idata = idata + 1
16494 3134578 : data_tmp = ISHFT(pack_tmp, 21)
16495 3134578 : ipack = ipack + 1
16496 3134578 : pack_tmp = packed_data(ipack)
16497 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
16498 3134578 : pack_tmp = ISHFT(pack_tmp, -21)
16499 3134578 : idata = idata + 1
16500 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16501 3134578 : full_data(idata) = data_tmp
16502 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16503 3134578 : idata = idata + 1
16504 3134578 : data_tmp = ISHFT(pack_tmp, 3)
16505 3134578 : ipack = ipack + 1
16506 3134578 : pack_tmp = packed_data(ipack)
16507 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
16508 3134578 : pack_tmp = ISHFT(pack_tmp, -3)
16509 3134578 : idata = idata + 1
16510 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16511 3134578 : full_data(idata) = data_tmp
16512 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16513 3134578 : idata = idata + 1
16514 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16515 3134578 : full_data(idata) = data_tmp
16516 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16517 3134578 : idata = idata + 1
16518 3134578 : data_tmp = ISHFT(pack_tmp, 8)
16519 3134578 : ipack = ipack + 1
16520 3134578 : pack_tmp = packed_data(ipack)
16521 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
16522 3134578 : pack_tmp = ISHFT(pack_tmp, -8)
16523 3134578 : idata = idata + 1
16524 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16525 3134578 : full_data(idata) = data_tmp
16526 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16527 3134578 : idata = idata + 1
16528 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16529 3134578 : full_data(idata) = data_tmp
16530 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16531 3134578 : idata = idata + 1
16532 3134578 : data_tmp = ISHFT(pack_tmp, 13)
16533 3134578 : ipack = ipack + 1
16534 3134578 : pack_tmp = packed_data(ipack)
16535 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
16536 3134578 : pack_tmp = ISHFT(pack_tmp, -13)
16537 3134578 : idata = idata + 1
16538 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16539 3134578 : full_data(idata) = data_tmp
16540 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16541 3134578 : idata = idata + 1
16542 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16543 3134578 : full_data(idata) = data_tmp
16544 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16545 3134578 : idata = idata + 1
16546 3134578 : data_tmp = ISHFT(pack_tmp, 18)
16547 3134578 : ipack = ipack + 1
16548 3134578 : pack_tmp = packed_data(ipack)
16549 3134578 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
16550 3134578 : pack_tmp = ISHFT(pack_tmp, -18)
16551 3134578 : idata = idata + 1
16552 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16553 3134578 : full_data(idata) = data_tmp
16554 3134578 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16555 3134578 : idata = idata + 1
16556 3134578 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
16557 3134578 : full_data(idata) = data_tmp
16558 3136202 : pack_tmp = ISHFT(pack_tmp, -Nbits)
16559 : END DO
16560 231496 : IF (Ndata_rep < Ndata) THEN
16561 38172 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
16562 : END IF
16563 231496 : END SUBROUTINE bits2ints_23
16564 :
16565 : ! **************************************************************************************************
16566 : !> \brief ...
16567 : !> \param Ndata ...
16568 : !> \param packed_data ...
16569 : !> \param full_data ...
16570 : ! **************************************************************************************************
16571 36912 : 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(*)
16575 :
16576 : INTEGER, PARAMETER :: Nbits = 24
16577 :
16578 : INTEGER :: idata, ipack, kdata, Ndata_rep
16579 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
16580 :
16581 36912 : idata = 0
16582 36912 : ipack = 0
16583 36912 : Ndata_rep = (Ndata/64)*64
16584 36912 : DO kdata = 1, Ndata_rep, 64
16585 534832 : pack_tmp = 0
16586 534832 : idata = idata + 1
16587 534832 : data_tmp = full_data(idata)
16588 534832 : data_tmp = ISHFT(data_tmp, 40)
16589 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16590 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16591 534832 : idata = idata + 1
16592 534832 : data_tmp = full_data(idata)
16593 534832 : data_tmp = ISHFT(data_tmp, 40)
16594 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16595 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16596 534832 : idata = idata + 1
16597 534832 : data_tmp = full_data(idata)
16598 534832 : data_tmp = ISHFT(data_tmp, 40)
16599 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16600 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16601 534832 : ipack = ipack + 1
16602 534832 : packed_data(ipack) = pack_tmp
16603 534832 : data_tmp = full_data(idata)
16604 534832 : pack_tmp = ISHFT(data_tmp, 56)
16605 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16606 534832 : idata = idata + 1
16607 534832 : data_tmp = full_data(idata)
16608 534832 : data_tmp = ISHFT(data_tmp, 40)
16609 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16610 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16611 534832 : idata = idata + 1
16612 534832 : data_tmp = full_data(idata)
16613 534832 : data_tmp = ISHFT(data_tmp, 40)
16614 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16615 534832 : pack_tmp = ISHFT(pack_tmp, -8)
16616 534832 : idata = idata + 1
16617 534832 : data_tmp = full_data(idata)
16618 534832 : data_tmp = ISHFT(data_tmp, 40)
16619 534832 : data_tmp = IAND(data_tmp, mask_left(8))
16620 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16621 534832 : ipack = ipack + 1
16622 534832 : packed_data(ipack) = pack_tmp
16623 534832 : data_tmp = full_data(idata)
16624 534832 : pack_tmp = ISHFT(data_tmp, 48)
16625 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16626 534832 : idata = idata + 1
16627 534832 : data_tmp = full_data(idata)
16628 534832 : data_tmp = ISHFT(data_tmp, 40)
16629 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16630 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16631 534832 : idata = idata + 1
16632 534832 : data_tmp = full_data(idata)
16633 534832 : data_tmp = ISHFT(data_tmp, 40)
16634 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16635 534832 : pack_tmp = ISHFT(pack_tmp, 0)
16636 534832 : idata = idata + 1
16637 534832 : data_tmp = full_data(idata)
16638 : data_tmp = ISHFT(data_tmp, 40)
16639 534832 : data_tmp = IAND(data_tmp, mask_left(0))
16640 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16641 534832 : ipack = ipack + 1
16642 534832 : packed_data(ipack) = pack_tmp
16643 534832 : data_tmp = full_data(idata)
16644 534832 : pack_tmp = ISHFT(data_tmp, 40)
16645 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16646 534832 : idata = idata + 1
16647 534832 : data_tmp = full_data(idata)
16648 534832 : data_tmp = ISHFT(data_tmp, 40)
16649 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16650 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16651 534832 : idata = idata + 1
16652 534832 : data_tmp = full_data(idata)
16653 534832 : data_tmp = ISHFT(data_tmp, 40)
16654 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16655 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16656 534832 : ipack = ipack + 1
16657 534832 : packed_data(ipack) = pack_tmp
16658 534832 : data_tmp = full_data(idata)
16659 534832 : pack_tmp = ISHFT(data_tmp, 56)
16660 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16661 534832 : idata = idata + 1
16662 534832 : data_tmp = full_data(idata)
16663 534832 : data_tmp = ISHFT(data_tmp, 40)
16664 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16665 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16666 534832 : idata = idata + 1
16667 534832 : data_tmp = full_data(idata)
16668 534832 : data_tmp = ISHFT(data_tmp, 40)
16669 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16670 534832 : pack_tmp = ISHFT(pack_tmp, -8)
16671 534832 : idata = idata + 1
16672 534832 : data_tmp = full_data(idata)
16673 534832 : data_tmp = ISHFT(data_tmp, 40)
16674 534832 : data_tmp = IAND(data_tmp, mask_left(8))
16675 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16676 534832 : ipack = ipack + 1
16677 534832 : packed_data(ipack) = pack_tmp
16678 534832 : data_tmp = full_data(idata)
16679 534832 : pack_tmp = ISHFT(data_tmp, 48)
16680 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16681 534832 : idata = idata + 1
16682 534832 : data_tmp = full_data(idata)
16683 534832 : data_tmp = ISHFT(data_tmp, 40)
16684 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16685 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16686 534832 : idata = idata + 1
16687 534832 : data_tmp = full_data(idata)
16688 534832 : data_tmp = ISHFT(data_tmp, 40)
16689 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16690 534832 : pack_tmp = ISHFT(pack_tmp, 0)
16691 534832 : idata = idata + 1
16692 534832 : data_tmp = full_data(idata)
16693 : data_tmp = ISHFT(data_tmp, 40)
16694 534832 : data_tmp = IAND(data_tmp, mask_left(0))
16695 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16696 534832 : ipack = ipack + 1
16697 534832 : packed_data(ipack) = pack_tmp
16698 534832 : data_tmp = full_data(idata)
16699 534832 : pack_tmp = ISHFT(data_tmp, 40)
16700 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16701 534832 : idata = idata + 1
16702 534832 : data_tmp = full_data(idata)
16703 534832 : data_tmp = ISHFT(data_tmp, 40)
16704 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16705 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16706 534832 : idata = idata + 1
16707 534832 : data_tmp = full_data(idata)
16708 534832 : data_tmp = ISHFT(data_tmp, 40)
16709 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16710 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16711 534832 : ipack = ipack + 1
16712 534832 : packed_data(ipack) = pack_tmp
16713 534832 : data_tmp = full_data(idata)
16714 534832 : pack_tmp = ISHFT(data_tmp, 56)
16715 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16716 534832 : idata = idata + 1
16717 534832 : data_tmp = full_data(idata)
16718 534832 : data_tmp = ISHFT(data_tmp, 40)
16719 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16720 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16721 534832 : idata = idata + 1
16722 534832 : data_tmp = full_data(idata)
16723 534832 : data_tmp = ISHFT(data_tmp, 40)
16724 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16725 534832 : pack_tmp = ISHFT(pack_tmp, -8)
16726 534832 : idata = idata + 1
16727 534832 : data_tmp = full_data(idata)
16728 534832 : data_tmp = ISHFT(data_tmp, 40)
16729 534832 : data_tmp = IAND(data_tmp, mask_left(8))
16730 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16731 534832 : ipack = ipack + 1
16732 534832 : packed_data(ipack) = pack_tmp
16733 534832 : data_tmp = full_data(idata)
16734 534832 : pack_tmp = ISHFT(data_tmp, 48)
16735 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16736 534832 : idata = idata + 1
16737 534832 : data_tmp = full_data(idata)
16738 534832 : data_tmp = ISHFT(data_tmp, 40)
16739 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16740 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16741 534832 : idata = idata + 1
16742 534832 : data_tmp = full_data(idata)
16743 534832 : data_tmp = ISHFT(data_tmp, 40)
16744 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16745 534832 : pack_tmp = ISHFT(pack_tmp, 0)
16746 534832 : idata = idata + 1
16747 534832 : data_tmp = full_data(idata)
16748 : data_tmp = ISHFT(data_tmp, 40)
16749 534832 : data_tmp = IAND(data_tmp, mask_left(0))
16750 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16751 534832 : ipack = ipack + 1
16752 534832 : packed_data(ipack) = pack_tmp
16753 534832 : data_tmp = full_data(idata)
16754 534832 : pack_tmp = ISHFT(data_tmp, 40)
16755 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16756 534832 : idata = idata + 1
16757 534832 : data_tmp = full_data(idata)
16758 534832 : data_tmp = ISHFT(data_tmp, 40)
16759 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16760 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16761 534832 : idata = idata + 1
16762 534832 : data_tmp = full_data(idata)
16763 534832 : data_tmp = ISHFT(data_tmp, 40)
16764 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16765 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16766 534832 : ipack = ipack + 1
16767 534832 : packed_data(ipack) = pack_tmp
16768 534832 : data_tmp = full_data(idata)
16769 534832 : pack_tmp = ISHFT(data_tmp, 56)
16770 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16771 534832 : idata = idata + 1
16772 534832 : data_tmp = full_data(idata)
16773 534832 : data_tmp = ISHFT(data_tmp, 40)
16774 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16775 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16776 534832 : idata = idata + 1
16777 534832 : data_tmp = full_data(idata)
16778 534832 : data_tmp = ISHFT(data_tmp, 40)
16779 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16780 534832 : pack_tmp = ISHFT(pack_tmp, -8)
16781 534832 : idata = idata + 1
16782 534832 : data_tmp = full_data(idata)
16783 534832 : data_tmp = ISHFT(data_tmp, 40)
16784 534832 : data_tmp = IAND(data_tmp, mask_left(8))
16785 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16786 534832 : ipack = ipack + 1
16787 534832 : packed_data(ipack) = pack_tmp
16788 534832 : data_tmp = full_data(idata)
16789 534832 : pack_tmp = ISHFT(data_tmp, 48)
16790 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16791 534832 : idata = idata + 1
16792 534832 : data_tmp = full_data(idata)
16793 534832 : data_tmp = ISHFT(data_tmp, 40)
16794 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16795 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16796 534832 : idata = idata + 1
16797 534832 : data_tmp = full_data(idata)
16798 534832 : data_tmp = ISHFT(data_tmp, 40)
16799 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16800 534832 : pack_tmp = ISHFT(pack_tmp, 0)
16801 534832 : idata = idata + 1
16802 534832 : data_tmp = full_data(idata)
16803 : data_tmp = ISHFT(data_tmp, 40)
16804 534832 : data_tmp = IAND(data_tmp, mask_left(0))
16805 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16806 534832 : ipack = ipack + 1
16807 534832 : packed_data(ipack) = pack_tmp
16808 534832 : data_tmp = full_data(idata)
16809 534832 : pack_tmp = ISHFT(data_tmp, 40)
16810 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16811 534832 : idata = idata + 1
16812 534832 : data_tmp = full_data(idata)
16813 534832 : data_tmp = ISHFT(data_tmp, 40)
16814 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16815 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16816 534832 : idata = idata + 1
16817 534832 : data_tmp = full_data(idata)
16818 534832 : data_tmp = ISHFT(data_tmp, 40)
16819 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16820 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16821 534832 : ipack = ipack + 1
16822 534832 : packed_data(ipack) = pack_tmp
16823 534832 : data_tmp = full_data(idata)
16824 534832 : pack_tmp = ISHFT(data_tmp, 56)
16825 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16826 534832 : idata = idata + 1
16827 534832 : data_tmp = full_data(idata)
16828 534832 : data_tmp = ISHFT(data_tmp, 40)
16829 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16830 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16831 534832 : idata = idata + 1
16832 534832 : data_tmp = full_data(idata)
16833 534832 : data_tmp = ISHFT(data_tmp, 40)
16834 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16835 534832 : pack_tmp = ISHFT(pack_tmp, -8)
16836 534832 : idata = idata + 1
16837 534832 : data_tmp = full_data(idata)
16838 534832 : data_tmp = ISHFT(data_tmp, 40)
16839 534832 : data_tmp = IAND(data_tmp, mask_left(8))
16840 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16841 534832 : ipack = ipack + 1
16842 534832 : packed_data(ipack) = pack_tmp
16843 534832 : data_tmp = full_data(idata)
16844 534832 : pack_tmp = ISHFT(data_tmp, 48)
16845 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16846 534832 : idata = idata + 1
16847 534832 : data_tmp = full_data(idata)
16848 534832 : data_tmp = ISHFT(data_tmp, 40)
16849 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16850 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16851 534832 : idata = idata + 1
16852 534832 : data_tmp = full_data(idata)
16853 534832 : data_tmp = ISHFT(data_tmp, 40)
16854 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16855 534832 : pack_tmp = ISHFT(pack_tmp, 0)
16856 534832 : idata = idata + 1
16857 534832 : data_tmp = full_data(idata)
16858 : data_tmp = ISHFT(data_tmp, 40)
16859 534832 : data_tmp = IAND(data_tmp, mask_left(0))
16860 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16861 534832 : ipack = ipack + 1
16862 534832 : packed_data(ipack) = pack_tmp
16863 534832 : data_tmp = full_data(idata)
16864 534832 : pack_tmp = ISHFT(data_tmp, 40)
16865 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16866 534832 : idata = idata + 1
16867 534832 : data_tmp = full_data(idata)
16868 534832 : data_tmp = ISHFT(data_tmp, 40)
16869 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16870 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16871 534832 : idata = idata + 1
16872 534832 : data_tmp = full_data(idata)
16873 534832 : data_tmp = ISHFT(data_tmp, 40)
16874 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16875 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16876 534832 : ipack = ipack + 1
16877 534832 : packed_data(ipack) = pack_tmp
16878 534832 : data_tmp = full_data(idata)
16879 534832 : pack_tmp = ISHFT(data_tmp, 56)
16880 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16881 534832 : idata = idata + 1
16882 534832 : data_tmp = full_data(idata)
16883 534832 : data_tmp = ISHFT(data_tmp, 40)
16884 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16885 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16886 534832 : idata = idata + 1
16887 534832 : data_tmp = full_data(idata)
16888 534832 : data_tmp = ISHFT(data_tmp, 40)
16889 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16890 534832 : pack_tmp = ISHFT(pack_tmp, -8)
16891 534832 : idata = idata + 1
16892 534832 : data_tmp = full_data(idata)
16893 534832 : data_tmp = ISHFT(data_tmp, 40)
16894 534832 : data_tmp = IAND(data_tmp, mask_left(8))
16895 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16896 534832 : ipack = ipack + 1
16897 534832 : packed_data(ipack) = pack_tmp
16898 534832 : data_tmp = full_data(idata)
16899 534832 : pack_tmp = ISHFT(data_tmp, 48)
16900 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16901 534832 : idata = idata + 1
16902 534832 : data_tmp = full_data(idata)
16903 534832 : data_tmp = ISHFT(data_tmp, 40)
16904 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16905 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16906 534832 : idata = idata + 1
16907 534832 : data_tmp = full_data(idata)
16908 534832 : data_tmp = ISHFT(data_tmp, 40)
16909 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16910 534832 : pack_tmp = ISHFT(pack_tmp, 0)
16911 534832 : idata = idata + 1
16912 534832 : data_tmp = full_data(idata)
16913 : data_tmp = ISHFT(data_tmp, 40)
16914 534832 : data_tmp = IAND(data_tmp, mask_left(0))
16915 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16916 534832 : ipack = ipack + 1
16917 534832 : packed_data(ipack) = pack_tmp
16918 534832 : data_tmp = full_data(idata)
16919 534832 : pack_tmp = ISHFT(data_tmp, 40)
16920 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16921 534832 : idata = idata + 1
16922 534832 : data_tmp = full_data(idata)
16923 534832 : data_tmp = ISHFT(data_tmp, 40)
16924 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16925 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16926 534832 : idata = idata + 1
16927 534832 : data_tmp = full_data(idata)
16928 534832 : data_tmp = ISHFT(data_tmp, 40)
16929 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16930 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16931 534832 : ipack = ipack + 1
16932 534832 : packed_data(ipack) = pack_tmp
16933 534832 : data_tmp = full_data(idata)
16934 534832 : pack_tmp = ISHFT(data_tmp, 56)
16935 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16936 534832 : idata = idata + 1
16937 534832 : data_tmp = full_data(idata)
16938 534832 : data_tmp = ISHFT(data_tmp, 40)
16939 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16940 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16941 534832 : idata = idata + 1
16942 534832 : data_tmp = full_data(idata)
16943 534832 : data_tmp = ISHFT(data_tmp, 40)
16944 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16945 534832 : pack_tmp = ISHFT(pack_tmp, -8)
16946 534832 : idata = idata + 1
16947 534832 : data_tmp = full_data(idata)
16948 534832 : data_tmp = ISHFT(data_tmp, 40)
16949 534832 : data_tmp = IAND(data_tmp, mask_left(8))
16950 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16951 534832 : ipack = ipack + 1
16952 534832 : packed_data(ipack) = pack_tmp
16953 534832 : data_tmp = full_data(idata)
16954 534832 : pack_tmp = ISHFT(data_tmp, 48)
16955 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16956 534832 : idata = idata + 1
16957 534832 : data_tmp = full_data(idata)
16958 534832 : data_tmp = ISHFT(data_tmp, 40)
16959 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16960 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16961 534832 : idata = idata + 1
16962 534832 : data_tmp = full_data(idata)
16963 534832 : data_tmp = ISHFT(data_tmp, 40)
16964 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16965 534832 : pack_tmp = ISHFT(pack_tmp, 0)
16966 534832 : idata = idata + 1
16967 534832 : data_tmp = full_data(idata)
16968 : data_tmp = ISHFT(data_tmp, 40)
16969 534832 : data_tmp = IAND(data_tmp, mask_left(0))
16970 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16971 534832 : ipack = ipack + 1
16972 534832 : packed_data(ipack) = pack_tmp
16973 534832 : data_tmp = full_data(idata)
16974 534832 : pack_tmp = ISHFT(data_tmp, 40)
16975 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16976 534832 : idata = idata + 1
16977 534832 : data_tmp = full_data(idata)
16978 534832 : data_tmp = ISHFT(data_tmp, 40)
16979 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16980 534832 : pack_tmp = ISHFT(pack_tmp, -16)
16981 534832 : idata = idata + 1
16982 534832 : data_tmp = full_data(idata)
16983 534832 : data_tmp = ISHFT(data_tmp, 40)
16984 534832 : data_tmp = IAND(data_tmp, mask_left(16))
16985 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16986 534832 : ipack = ipack + 1
16987 534832 : packed_data(ipack) = pack_tmp
16988 534832 : data_tmp = full_data(idata)
16989 534832 : pack_tmp = ISHFT(data_tmp, 56)
16990 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16991 534832 : idata = idata + 1
16992 534832 : data_tmp = full_data(idata)
16993 534832 : data_tmp = ISHFT(data_tmp, 40)
16994 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
16995 534832 : pack_tmp = ISHFT(pack_tmp, -24)
16996 534832 : idata = idata + 1
16997 534832 : data_tmp = full_data(idata)
16998 534832 : data_tmp = ISHFT(data_tmp, 40)
16999 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
17000 534832 : pack_tmp = ISHFT(pack_tmp, -8)
17001 534832 : idata = idata + 1
17002 534832 : data_tmp = full_data(idata)
17003 534832 : data_tmp = ISHFT(data_tmp, 40)
17004 534832 : data_tmp = IAND(data_tmp, mask_left(8))
17005 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
17006 534832 : ipack = ipack + 1
17007 534832 : packed_data(ipack) = pack_tmp
17008 534832 : data_tmp = full_data(idata)
17009 534832 : pack_tmp = ISHFT(data_tmp, 48)
17010 534832 : pack_tmp = ISHFT(pack_tmp, -24)
17011 534832 : idata = idata + 1
17012 534832 : data_tmp = full_data(idata)
17013 534832 : data_tmp = ISHFT(data_tmp, 40)
17014 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
17015 534832 : pack_tmp = ISHFT(pack_tmp, -24)
17016 534832 : idata = idata + 1
17017 534832 : data_tmp = full_data(idata)
17018 534832 : data_tmp = ISHFT(data_tmp, 40)
17019 534832 : pack_tmp = IOR(pack_tmp, data_tmp)
17020 : pack_tmp = ISHFT(pack_tmp, 0)
17021 534832 : pack_tmp = ISHFT(pack_tmp, 0)
17022 534832 : ipack = ipack + 1
17023 535512 : packed_data(ipack) = pack_tmp
17024 : END DO
17025 36912 : IF (Ndata_rep < Ndata) THEN
17026 6560 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17027 : END IF
17028 36912 : END SUBROUTINE ints2bits_24
17029 :
17030 : ! **************************************************************************************************
17031 : !> \brief ...
17032 : !> \param Ndata ...
17033 : !> \param packed_data ...
17034 : !> \param full_data ...
17035 : ! **************************************************************************************************
17036 163883 : 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(*)
17040 :
17041 : INTEGER, PARAMETER :: Nbits = 24
17042 :
17043 : INTEGER :: idata, ipack, kdata, Ndata_rep
17044 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
17045 :
17046 163883 : ipack = 0
17047 163883 : idata = 0
17048 163883 : pack_tmp = 0
17049 163883 : Ndata_rep = (Ndata/64)*64
17050 163883 : DO kdata = 1, Ndata_rep, 64
17051 2322282 : idata = idata + 1
17052 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17053 2322282 : ipack = ipack + 1
17054 2322282 : pack_tmp = packed_data(ipack)
17055 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17056 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17057 2322282 : idata = idata + 1
17058 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17059 2322282 : full_data(idata) = data_tmp
17060 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17061 2322282 : idata = idata + 1
17062 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17063 2322282 : ipack = ipack + 1
17064 2322282 : pack_tmp = packed_data(ipack)
17065 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17066 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17067 2322282 : idata = idata + 1
17068 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17069 2322282 : full_data(idata) = data_tmp
17070 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17071 2322282 : idata = idata + 1
17072 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17073 2322282 : full_data(idata) = data_tmp
17074 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17075 2322282 : idata = idata + 1
17076 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17077 2322282 : ipack = ipack + 1
17078 2322282 : pack_tmp = packed_data(ipack)
17079 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17080 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17081 2322282 : idata = idata + 1
17082 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17083 2322282 : full_data(idata) = data_tmp
17084 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17085 2322282 : idata = idata + 1
17086 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17087 2322282 : full_data(idata) = data_tmp
17088 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17089 2322282 : idata = idata + 1
17090 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17091 2322282 : ipack = ipack + 1
17092 2322282 : pack_tmp = packed_data(ipack)
17093 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17094 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17095 2322282 : idata = idata + 1
17096 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17097 2322282 : full_data(idata) = data_tmp
17098 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17099 2322282 : idata = idata + 1
17100 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17101 2322282 : ipack = ipack + 1
17102 2322282 : pack_tmp = packed_data(ipack)
17103 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17104 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17105 2322282 : idata = idata + 1
17106 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17107 2322282 : full_data(idata) = data_tmp
17108 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17109 2322282 : idata = idata + 1
17110 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17111 2322282 : full_data(idata) = data_tmp
17112 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17113 2322282 : idata = idata + 1
17114 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17115 2322282 : ipack = ipack + 1
17116 2322282 : pack_tmp = packed_data(ipack)
17117 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17118 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17119 2322282 : idata = idata + 1
17120 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17121 2322282 : full_data(idata) = data_tmp
17122 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17123 2322282 : idata = idata + 1
17124 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17125 2322282 : full_data(idata) = data_tmp
17126 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17127 2322282 : idata = idata + 1
17128 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17129 2322282 : ipack = ipack + 1
17130 2322282 : pack_tmp = packed_data(ipack)
17131 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17132 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17133 2322282 : idata = idata + 1
17134 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17135 2322282 : full_data(idata) = data_tmp
17136 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17137 2322282 : idata = idata + 1
17138 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17139 2322282 : ipack = ipack + 1
17140 2322282 : pack_tmp = packed_data(ipack)
17141 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17142 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17143 2322282 : idata = idata + 1
17144 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17145 2322282 : full_data(idata) = data_tmp
17146 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17147 2322282 : idata = idata + 1
17148 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17149 2322282 : full_data(idata) = data_tmp
17150 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17151 2322282 : idata = idata + 1
17152 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17153 2322282 : ipack = ipack + 1
17154 2322282 : pack_tmp = packed_data(ipack)
17155 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17156 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17157 2322282 : idata = idata + 1
17158 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17159 2322282 : full_data(idata) = data_tmp
17160 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17161 2322282 : idata = idata + 1
17162 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17163 2322282 : full_data(idata) = data_tmp
17164 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17165 2322282 : idata = idata + 1
17166 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17167 2322282 : ipack = ipack + 1
17168 2322282 : pack_tmp = packed_data(ipack)
17169 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17170 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17171 2322282 : idata = idata + 1
17172 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17173 2322282 : full_data(idata) = data_tmp
17174 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17175 2322282 : idata = idata + 1
17176 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17177 2322282 : ipack = ipack + 1
17178 2322282 : pack_tmp = packed_data(ipack)
17179 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17180 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17181 2322282 : idata = idata + 1
17182 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17183 2322282 : full_data(idata) = data_tmp
17184 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17185 2322282 : idata = idata + 1
17186 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17187 2322282 : full_data(idata) = data_tmp
17188 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17189 2322282 : idata = idata + 1
17190 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17191 2322282 : ipack = ipack + 1
17192 2322282 : pack_tmp = packed_data(ipack)
17193 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17194 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17195 2322282 : idata = idata + 1
17196 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17197 2322282 : full_data(idata) = data_tmp
17198 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17199 2322282 : idata = idata + 1
17200 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17201 2322282 : full_data(idata) = data_tmp
17202 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17203 2322282 : idata = idata + 1
17204 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17205 2322282 : ipack = ipack + 1
17206 2322282 : pack_tmp = packed_data(ipack)
17207 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17208 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17209 2322282 : idata = idata + 1
17210 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17211 2322282 : full_data(idata) = data_tmp
17212 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17213 2322282 : idata = idata + 1
17214 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17215 2322282 : ipack = ipack + 1
17216 2322282 : pack_tmp = packed_data(ipack)
17217 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17218 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17219 2322282 : idata = idata + 1
17220 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17221 2322282 : full_data(idata) = data_tmp
17222 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17223 2322282 : idata = idata + 1
17224 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17225 2322282 : full_data(idata) = data_tmp
17226 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17227 2322282 : idata = idata + 1
17228 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17229 2322282 : ipack = ipack + 1
17230 2322282 : pack_tmp = packed_data(ipack)
17231 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17232 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17233 2322282 : idata = idata + 1
17234 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17235 2322282 : full_data(idata) = data_tmp
17236 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17237 2322282 : idata = idata + 1
17238 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17239 2322282 : full_data(idata) = data_tmp
17240 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17241 2322282 : idata = idata + 1
17242 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17243 2322282 : ipack = ipack + 1
17244 2322282 : pack_tmp = packed_data(ipack)
17245 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17246 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17247 2322282 : idata = idata + 1
17248 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17249 2322282 : full_data(idata) = data_tmp
17250 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17251 2322282 : idata = idata + 1
17252 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17253 2322282 : ipack = ipack + 1
17254 2322282 : pack_tmp = packed_data(ipack)
17255 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17256 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17257 2322282 : idata = idata + 1
17258 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17259 2322282 : full_data(idata) = data_tmp
17260 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17261 2322282 : idata = idata + 1
17262 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17263 2322282 : full_data(idata) = data_tmp
17264 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17265 2322282 : idata = idata + 1
17266 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17267 2322282 : ipack = ipack + 1
17268 2322282 : pack_tmp = packed_data(ipack)
17269 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17270 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17271 2322282 : idata = idata + 1
17272 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17273 2322282 : full_data(idata) = data_tmp
17274 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17275 2322282 : idata = idata + 1
17276 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17277 2322282 : full_data(idata) = data_tmp
17278 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17279 2322282 : idata = idata + 1
17280 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17281 2322282 : ipack = ipack + 1
17282 2322282 : pack_tmp = packed_data(ipack)
17283 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17284 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17285 2322282 : idata = idata + 1
17286 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17287 2322282 : full_data(idata) = data_tmp
17288 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17289 2322282 : idata = idata + 1
17290 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17291 2322282 : ipack = ipack + 1
17292 2322282 : pack_tmp = packed_data(ipack)
17293 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17294 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17295 2322282 : idata = idata + 1
17296 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17297 2322282 : full_data(idata) = data_tmp
17298 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17299 2322282 : idata = idata + 1
17300 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17301 2322282 : full_data(idata) = data_tmp
17302 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17303 2322282 : idata = idata + 1
17304 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17305 2322282 : ipack = ipack + 1
17306 2322282 : pack_tmp = packed_data(ipack)
17307 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17308 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17309 2322282 : idata = idata + 1
17310 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17311 2322282 : full_data(idata) = data_tmp
17312 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17313 2322282 : idata = idata + 1
17314 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17315 2322282 : full_data(idata) = data_tmp
17316 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17317 2322282 : idata = idata + 1
17318 2322282 : data_tmp = ISHFT(pack_tmp, 24)
17319 2322282 : ipack = ipack + 1
17320 2322282 : pack_tmp = packed_data(ipack)
17321 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17322 2322282 : pack_tmp = ISHFT(pack_tmp, -24)
17323 2322282 : idata = idata + 1
17324 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17325 2322282 : full_data(idata) = data_tmp
17326 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17327 2322282 : idata = idata + 1
17328 2322282 : data_tmp = ISHFT(pack_tmp, 8)
17329 2322282 : ipack = ipack + 1
17330 2322282 : pack_tmp = packed_data(ipack)
17331 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17332 2322282 : pack_tmp = ISHFT(pack_tmp, -8)
17333 2322282 : idata = idata + 1
17334 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17335 2322282 : full_data(idata) = data_tmp
17336 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17337 2322282 : idata = idata + 1
17338 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17339 2322282 : full_data(idata) = data_tmp
17340 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17341 2322282 : idata = idata + 1
17342 2322282 : data_tmp = ISHFT(pack_tmp, 16)
17343 2322282 : ipack = ipack + 1
17344 2322282 : pack_tmp = packed_data(ipack)
17345 2322282 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17346 2322282 : pack_tmp = ISHFT(pack_tmp, -16)
17347 2322282 : idata = idata + 1
17348 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17349 2322282 : full_data(idata) = data_tmp
17350 2322282 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17351 2322282 : idata = idata + 1
17352 2322282 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17353 2322282 : full_data(idata) = data_tmp
17354 2326079 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17355 : END DO
17356 163883 : IF (Ndata_rep < Ndata) THEN
17357 35276 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17358 : END IF
17359 163883 : END SUBROUTINE bits2ints_24
17360 :
17361 : ! **************************************************************************************************
17362 : !> \brief ...
17363 : !> \param Ndata ...
17364 : !> \param packed_data ...
17365 : !> \param full_data ...
17366 : ! **************************************************************************************************
17367 38223 : 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(*)
17371 :
17372 : INTEGER, PARAMETER :: Nbits = 25
17373 :
17374 : INTEGER :: idata, ipack, kdata, Ndata_rep
17375 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
17376 :
17377 38223 : idata = 0
17378 38223 : ipack = 0
17379 38223 : Ndata_rep = (Ndata/64)*64
17380 38223 : DO kdata = 1, Ndata_rep, 64
17381 547002 : pack_tmp = 0
17382 547002 : idata = idata + 1
17383 547002 : data_tmp = full_data(idata)
17384 547002 : data_tmp = ISHFT(data_tmp, 39)
17385 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17386 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17387 547002 : idata = idata + 1
17388 547002 : data_tmp = full_data(idata)
17389 547002 : data_tmp = ISHFT(data_tmp, 39)
17390 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17391 547002 : pack_tmp = ISHFT(pack_tmp, -14)
17392 547002 : idata = idata + 1
17393 547002 : data_tmp = full_data(idata)
17394 547002 : data_tmp = ISHFT(data_tmp, 39)
17395 547002 : data_tmp = IAND(data_tmp, mask_left(14))
17396 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17397 547002 : ipack = ipack + 1
17398 547002 : packed_data(ipack) = pack_tmp
17399 547002 : data_tmp = full_data(idata)
17400 547002 : pack_tmp = ISHFT(data_tmp, 53)
17401 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17402 547002 : idata = idata + 1
17403 547002 : data_tmp = full_data(idata)
17404 547002 : data_tmp = ISHFT(data_tmp, 39)
17405 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17406 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17407 547002 : idata = idata + 1
17408 547002 : data_tmp = full_data(idata)
17409 547002 : data_tmp = ISHFT(data_tmp, 39)
17410 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17411 547002 : pack_tmp = ISHFT(pack_tmp, -3)
17412 547002 : idata = idata + 1
17413 547002 : data_tmp = full_data(idata)
17414 547002 : data_tmp = ISHFT(data_tmp, 39)
17415 547002 : data_tmp = IAND(data_tmp, mask_left(3))
17416 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17417 547002 : ipack = ipack + 1
17418 547002 : packed_data(ipack) = pack_tmp
17419 547002 : data_tmp = full_data(idata)
17420 547002 : pack_tmp = ISHFT(data_tmp, 42)
17421 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17422 547002 : idata = idata + 1
17423 547002 : data_tmp = full_data(idata)
17424 547002 : data_tmp = ISHFT(data_tmp, 39)
17425 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17426 547002 : pack_tmp = ISHFT(pack_tmp, -17)
17427 547002 : idata = idata + 1
17428 547002 : data_tmp = full_data(idata)
17429 547002 : data_tmp = ISHFT(data_tmp, 39)
17430 547002 : data_tmp = IAND(data_tmp, mask_left(17))
17431 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17432 547002 : ipack = ipack + 1
17433 547002 : packed_data(ipack) = pack_tmp
17434 547002 : data_tmp = full_data(idata)
17435 547002 : pack_tmp = ISHFT(data_tmp, 56)
17436 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17437 547002 : idata = idata + 1
17438 547002 : data_tmp = full_data(idata)
17439 547002 : data_tmp = ISHFT(data_tmp, 39)
17440 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17441 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17442 547002 : idata = idata + 1
17443 547002 : data_tmp = full_data(idata)
17444 547002 : data_tmp = ISHFT(data_tmp, 39)
17445 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17446 547002 : pack_tmp = ISHFT(pack_tmp, -6)
17447 547002 : idata = idata + 1
17448 547002 : data_tmp = full_data(idata)
17449 547002 : data_tmp = ISHFT(data_tmp, 39)
17450 547002 : data_tmp = IAND(data_tmp, mask_left(6))
17451 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17452 547002 : ipack = ipack + 1
17453 547002 : packed_data(ipack) = pack_tmp
17454 547002 : data_tmp = full_data(idata)
17455 547002 : pack_tmp = ISHFT(data_tmp, 45)
17456 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17457 547002 : idata = idata + 1
17458 547002 : data_tmp = full_data(idata)
17459 547002 : data_tmp = ISHFT(data_tmp, 39)
17460 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17461 547002 : pack_tmp = ISHFT(pack_tmp, -20)
17462 547002 : idata = idata + 1
17463 547002 : data_tmp = full_data(idata)
17464 547002 : data_tmp = ISHFT(data_tmp, 39)
17465 547002 : data_tmp = IAND(data_tmp, mask_left(20))
17466 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17467 547002 : ipack = ipack + 1
17468 547002 : packed_data(ipack) = pack_tmp
17469 547002 : data_tmp = full_data(idata)
17470 547002 : pack_tmp = ISHFT(data_tmp, 59)
17471 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17472 547002 : idata = idata + 1
17473 547002 : data_tmp = full_data(idata)
17474 547002 : data_tmp = ISHFT(data_tmp, 39)
17475 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17476 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17477 547002 : idata = idata + 1
17478 547002 : data_tmp = full_data(idata)
17479 547002 : data_tmp = ISHFT(data_tmp, 39)
17480 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17481 547002 : pack_tmp = ISHFT(pack_tmp, -9)
17482 547002 : idata = idata + 1
17483 547002 : data_tmp = full_data(idata)
17484 547002 : data_tmp = ISHFT(data_tmp, 39)
17485 547002 : data_tmp = IAND(data_tmp, mask_left(9))
17486 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17487 547002 : ipack = ipack + 1
17488 547002 : packed_data(ipack) = pack_tmp
17489 547002 : data_tmp = full_data(idata)
17490 547002 : pack_tmp = ISHFT(data_tmp, 48)
17491 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17492 547002 : idata = idata + 1
17493 547002 : data_tmp = full_data(idata)
17494 547002 : data_tmp = ISHFT(data_tmp, 39)
17495 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17496 547002 : pack_tmp = ISHFT(pack_tmp, -23)
17497 547002 : idata = idata + 1
17498 547002 : data_tmp = full_data(idata)
17499 547002 : data_tmp = ISHFT(data_tmp, 39)
17500 547002 : data_tmp = IAND(data_tmp, mask_left(23))
17501 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17502 547002 : ipack = ipack + 1
17503 547002 : packed_data(ipack) = pack_tmp
17504 547002 : data_tmp = full_data(idata)
17505 547002 : pack_tmp = ISHFT(data_tmp, 62)
17506 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17507 547002 : idata = idata + 1
17508 547002 : data_tmp = full_data(idata)
17509 547002 : data_tmp = ISHFT(data_tmp, 39)
17510 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17511 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17512 547002 : idata = idata + 1
17513 547002 : data_tmp = full_data(idata)
17514 547002 : data_tmp = ISHFT(data_tmp, 39)
17515 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17516 547002 : pack_tmp = ISHFT(pack_tmp, -12)
17517 547002 : idata = idata + 1
17518 547002 : data_tmp = full_data(idata)
17519 547002 : data_tmp = ISHFT(data_tmp, 39)
17520 547002 : data_tmp = IAND(data_tmp, mask_left(12))
17521 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17522 547002 : ipack = ipack + 1
17523 547002 : packed_data(ipack) = pack_tmp
17524 547002 : data_tmp = full_data(idata)
17525 547002 : pack_tmp = ISHFT(data_tmp, 51)
17526 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17527 547002 : idata = idata + 1
17528 547002 : data_tmp = full_data(idata)
17529 547002 : data_tmp = ISHFT(data_tmp, 39)
17530 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17531 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17532 547002 : idata = idata + 1
17533 547002 : data_tmp = full_data(idata)
17534 547002 : data_tmp = ISHFT(data_tmp, 39)
17535 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17536 547002 : pack_tmp = ISHFT(pack_tmp, -1)
17537 547002 : idata = idata + 1
17538 547002 : data_tmp = full_data(idata)
17539 547002 : data_tmp = ISHFT(data_tmp, 39)
17540 547002 : data_tmp = IAND(data_tmp, mask_left(1))
17541 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17542 547002 : ipack = ipack + 1
17543 547002 : packed_data(ipack) = pack_tmp
17544 547002 : data_tmp = full_data(idata)
17545 547002 : pack_tmp = ISHFT(data_tmp, 40)
17546 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17547 547002 : idata = idata + 1
17548 547002 : data_tmp = full_data(idata)
17549 547002 : data_tmp = ISHFT(data_tmp, 39)
17550 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17551 547002 : pack_tmp = ISHFT(pack_tmp, -15)
17552 547002 : idata = idata + 1
17553 547002 : data_tmp = full_data(idata)
17554 547002 : data_tmp = ISHFT(data_tmp, 39)
17555 547002 : data_tmp = IAND(data_tmp, mask_left(15))
17556 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17557 547002 : ipack = ipack + 1
17558 547002 : packed_data(ipack) = pack_tmp
17559 547002 : data_tmp = full_data(idata)
17560 547002 : pack_tmp = ISHFT(data_tmp, 54)
17561 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17562 547002 : idata = idata + 1
17563 547002 : data_tmp = full_data(idata)
17564 547002 : data_tmp = ISHFT(data_tmp, 39)
17565 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17566 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17567 547002 : idata = idata + 1
17568 547002 : data_tmp = full_data(idata)
17569 547002 : data_tmp = ISHFT(data_tmp, 39)
17570 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17571 547002 : pack_tmp = ISHFT(pack_tmp, -4)
17572 547002 : idata = idata + 1
17573 547002 : data_tmp = full_data(idata)
17574 547002 : data_tmp = ISHFT(data_tmp, 39)
17575 547002 : data_tmp = IAND(data_tmp, mask_left(4))
17576 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17577 547002 : ipack = ipack + 1
17578 547002 : packed_data(ipack) = pack_tmp
17579 547002 : data_tmp = full_data(idata)
17580 547002 : pack_tmp = ISHFT(data_tmp, 43)
17581 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17582 547002 : idata = idata + 1
17583 547002 : data_tmp = full_data(idata)
17584 547002 : data_tmp = ISHFT(data_tmp, 39)
17585 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17586 547002 : pack_tmp = ISHFT(pack_tmp, -18)
17587 547002 : idata = idata + 1
17588 547002 : data_tmp = full_data(idata)
17589 547002 : data_tmp = ISHFT(data_tmp, 39)
17590 547002 : data_tmp = IAND(data_tmp, mask_left(18))
17591 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17592 547002 : ipack = ipack + 1
17593 547002 : packed_data(ipack) = pack_tmp
17594 547002 : data_tmp = full_data(idata)
17595 547002 : pack_tmp = ISHFT(data_tmp, 57)
17596 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17597 547002 : idata = idata + 1
17598 547002 : data_tmp = full_data(idata)
17599 547002 : data_tmp = ISHFT(data_tmp, 39)
17600 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17601 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17602 547002 : idata = idata + 1
17603 547002 : data_tmp = full_data(idata)
17604 547002 : data_tmp = ISHFT(data_tmp, 39)
17605 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17606 547002 : pack_tmp = ISHFT(pack_tmp, -7)
17607 547002 : idata = idata + 1
17608 547002 : data_tmp = full_data(idata)
17609 547002 : data_tmp = ISHFT(data_tmp, 39)
17610 547002 : data_tmp = IAND(data_tmp, mask_left(7))
17611 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17612 547002 : ipack = ipack + 1
17613 547002 : packed_data(ipack) = pack_tmp
17614 547002 : data_tmp = full_data(idata)
17615 547002 : pack_tmp = ISHFT(data_tmp, 46)
17616 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17617 547002 : idata = idata + 1
17618 547002 : data_tmp = full_data(idata)
17619 547002 : data_tmp = ISHFT(data_tmp, 39)
17620 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17621 547002 : pack_tmp = ISHFT(pack_tmp, -21)
17622 547002 : idata = idata + 1
17623 547002 : data_tmp = full_data(idata)
17624 547002 : data_tmp = ISHFT(data_tmp, 39)
17625 547002 : data_tmp = IAND(data_tmp, mask_left(21))
17626 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17627 547002 : ipack = ipack + 1
17628 547002 : packed_data(ipack) = pack_tmp
17629 547002 : data_tmp = full_data(idata)
17630 547002 : pack_tmp = ISHFT(data_tmp, 60)
17631 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17632 547002 : idata = idata + 1
17633 547002 : data_tmp = full_data(idata)
17634 547002 : data_tmp = ISHFT(data_tmp, 39)
17635 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17636 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17637 547002 : idata = idata + 1
17638 547002 : data_tmp = full_data(idata)
17639 547002 : data_tmp = ISHFT(data_tmp, 39)
17640 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17641 547002 : pack_tmp = ISHFT(pack_tmp, -10)
17642 547002 : idata = idata + 1
17643 547002 : data_tmp = full_data(idata)
17644 547002 : data_tmp = ISHFT(data_tmp, 39)
17645 547002 : data_tmp = IAND(data_tmp, mask_left(10))
17646 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17647 547002 : ipack = ipack + 1
17648 547002 : packed_data(ipack) = pack_tmp
17649 547002 : data_tmp = full_data(idata)
17650 547002 : pack_tmp = ISHFT(data_tmp, 49)
17651 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17652 547002 : idata = idata + 1
17653 547002 : data_tmp = full_data(idata)
17654 547002 : data_tmp = ISHFT(data_tmp, 39)
17655 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17656 547002 : pack_tmp = ISHFT(pack_tmp, -24)
17657 547002 : idata = idata + 1
17658 547002 : data_tmp = full_data(idata)
17659 547002 : data_tmp = ISHFT(data_tmp, 39)
17660 547002 : data_tmp = IAND(data_tmp, mask_left(24))
17661 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17662 547002 : ipack = ipack + 1
17663 547002 : packed_data(ipack) = pack_tmp
17664 547002 : data_tmp = full_data(idata)
17665 547002 : pack_tmp = ISHFT(data_tmp, 63)
17666 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17667 547002 : idata = idata + 1
17668 547002 : data_tmp = full_data(idata)
17669 547002 : data_tmp = ISHFT(data_tmp, 39)
17670 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17671 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17672 547002 : idata = idata + 1
17673 547002 : data_tmp = full_data(idata)
17674 547002 : data_tmp = ISHFT(data_tmp, 39)
17675 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17676 547002 : pack_tmp = ISHFT(pack_tmp, -13)
17677 547002 : idata = idata + 1
17678 547002 : data_tmp = full_data(idata)
17679 547002 : data_tmp = ISHFT(data_tmp, 39)
17680 547002 : data_tmp = IAND(data_tmp, mask_left(13))
17681 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17682 547002 : ipack = ipack + 1
17683 547002 : packed_data(ipack) = pack_tmp
17684 547002 : data_tmp = full_data(idata)
17685 547002 : pack_tmp = ISHFT(data_tmp, 52)
17686 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17687 547002 : idata = idata + 1
17688 547002 : data_tmp = full_data(idata)
17689 547002 : data_tmp = ISHFT(data_tmp, 39)
17690 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17691 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17692 547002 : idata = idata + 1
17693 547002 : data_tmp = full_data(idata)
17694 547002 : data_tmp = ISHFT(data_tmp, 39)
17695 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17696 547002 : pack_tmp = ISHFT(pack_tmp, -2)
17697 547002 : idata = idata + 1
17698 547002 : data_tmp = full_data(idata)
17699 547002 : data_tmp = ISHFT(data_tmp, 39)
17700 547002 : data_tmp = IAND(data_tmp, mask_left(2))
17701 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17702 547002 : ipack = ipack + 1
17703 547002 : packed_data(ipack) = pack_tmp
17704 547002 : data_tmp = full_data(idata)
17705 547002 : pack_tmp = ISHFT(data_tmp, 41)
17706 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17707 547002 : idata = idata + 1
17708 547002 : data_tmp = full_data(idata)
17709 547002 : data_tmp = ISHFT(data_tmp, 39)
17710 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17711 547002 : pack_tmp = ISHFT(pack_tmp, -16)
17712 547002 : idata = idata + 1
17713 547002 : data_tmp = full_data(idata)
17714 547002 : data_tmp = ISHFT(data_tmp, 39)
17715 547002 : data_tmp = IAND(data_tmp, mask_left(16))
17716 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17717 547002 : ipack = ipack + 1
17718 547002 : packed_data(ipack) = pack_tmp
17719 547002 : data_tmp = full_data(idata)
17720 547002 : pack_tmp = ISHFT(data_tmp, 55)
17721 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17722 547002 : idata = idata + 1
17723 547002 : data_tmp = full_data(idata)
17724 547002 : data_tmp = ISHFT(data_tmp, 39)
17725 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17726 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17727 547002 : idata = idata + 1
17728 547002 : data_tmp = full_data(idata)
17729 547002 : data_tmp = ISHFT(data_tmp, 39)
17730 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17731 547002 : pack_tmp = ISHFT(pack_tmp, -5)
17732 547002 : idata = idata + 1
17733 547002 : data_tmp = full_data(idata)
17734 547002 : data_tmp = ISHFT(data_tmp, 39)
17735 547002 : data_tmp = IAND(data_tmp, mask_left(5))
17736 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17737 547002 : ipack = ipack + 1
17738 547002 : packed_data(ipack) = pack_tmp
17739 547002 : data_tmp = full_data(idata)
17740 547002 : pack_tmp = ISHFT(data_tmp, 44)
17741 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17742 547002 : idata = idata + 1
17743 547002 : data_tmp = full_data(idata)
17744 547002 : data_tmp = ISHFT(data_tmp, 39)
17745 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17746 547002 : pack_tmp = ISHFT(pack_tmp, -19)
17747 547002 : idata = idata + 1
17748 547002 : data_tmp = full_data(idata)
17749 547002 : data_tmp = ISHFT(data_tmp, 39)
17750 547002 : data_tmp = IAND(data_tmp, mask_left(19))
17751 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17752 547002 : ipack = ipack + 1
17753 547002 : packed_data(ipack) = pack_tmp
17754 547002 : data_tmp = full_data(idata)
17755 547002 : pack_tmp = ISHFT(data_tmp, 58)
17756 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17757 547002 : idata = idata + 1
17758 547002 : data_tmp = full_data(idata)
17759 547002 : data_tmp = ISHFT(data_tmp, 39)
17760 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17761 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17762 547002 : idata = idata + 1
17763 547002 : data_tmp = full_data(idata)
17764 547002 : data_tmp = ISHFT(data_tmp, 39)
17765 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17766 547002 : pack_tmp = ISHFT(pack_tmp, -8)
17767 547002 : idata = idata + 1
17768 547002 : data_tmp = full_data(idata)
17769 547002 : data_tmp = ISHFT(data_tmp, 39)
17770 547002 : data_tmp = IAND(data_tmp, mask_left(8))
17771 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17772 547002 : ipack = ipack + 1
17773 547002 : packed_data(ipack) = pack_tmp
17774 547002 : data_tmp = full_data(idata)
17775 547002 : pack_tmp = ISHFT(data_tmp, 47)
17776 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17777 547002 : idata = idata + 1
17778 547002 : data_tmp = full_data(idata)
17779 547002 : data_tmp = ISHFT(data_tmp, 39)
17780 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17781 547002 : pack_tmp = ISHFT(pack_tmp, -22)
17782 547002 : idata = idata + 1
17783 547002 : data_tmp = full_data(idata)
17784 547002 : data_tmp = ISHFT(data_tmp, 39)
17785 547002 : data_tmp = IAND(data_tmp, mask_left(22))
17786 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17787 547002 : ipack = ipack + 1
17788 547002 : packed_data(ipack) = pack_tmp
17789 547002 : data_tmp = full_data(idata)
17790 547002 : pack_tmp = ISHFT(data_tmp, 61)
17791 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17792 547002 : idata = idata + 1
17793 547002 : data_tmp = full_data(idata)
17794 547002 : data_tmp = ISHFT(data_tmp, 39)
17795 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17796 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17797 547002 : idata = idata + 1
17798 547002 : data_tmp = full_data(idata)
17799 547002 : data_tmp = ISHFT(data_tmp, 39)
17800 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17801 547002 : pack_tmp = ISHFT(pack_tmp, -11)
17802 547002 : idata = idata + 1
17803 547002 : data_tmp = full_data(idata)
17804 547002 : data_tmp = ISHFT(data_tmp, 39)
17805 547002 : data_tmp = IAND(data_tmp, mask_left(11))
17806 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17807 547002 : ipack = ipack + 1
17808 547002 : packed_data(ipack) = pack_tmp
17809 547002 : data_tmp = full_data(idata)
17810 547002 : pack_tmp = ISHFT(data_tmp, 50)
17811 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17812 547002 : idata = idata + 1
17813 547002 : data_tmp = full_data(idata)
17814 547002 : data_tmp = ISHFT(data_tmp, 39)
17815 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17816 547002 : pack_tmp = ISHFT(pack_tmp, -25)
17817 547002 : idata = idata + 1
17818 547002 : data_tmp = full_data(idata)
17819 547002 : data_tmp = ISHFT(data_tmp, 39)
17820 547002 : pack_tmp = IOR(pack_tmp, data_tmp)
17821 : pack_tmp = ISHFT(pack_tmp, 0)
17822 547002 : pack_tmp = ISHFT(pack_tmp, 0)
17823 547002 : ipack = ipack + 1
17824 547127 : packed_data(ipack) = pack_tmp
17825 : END DO
17826 38223 : IF (Ndata_rep < Ndata) THEN
17827 7468 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
17828 : END IF
17829 38223 : END SUBROUTINE ints2bits_25
17830 :
17831 : ! **************************************************************************************************
17832 : !> \brief ...
17833 : !> \param Ndata ...
17834 : !> \param packed_data ...
17835 : !> \param full_data ...
17836 : ! **************************************************************************************************
17837 165302 : 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(*)
17841 :
17842 : INTEGER, PARAMETER :: Nbits = 25
17843 :
17844 : INTEGER :: idata, ipack, kdata, Ndata_rep
17845 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
17846 :
17847 165302 : ipack = 0
17848 165302 : idata = 0
17849 165302 : pack_tmp = 0
17850 165302 : Ndata_rep = (Ndata/64)*64
17851 165302 : DO kdata = 1, Ndata_rep, 64
17852 2333552 : idata = idata + 1
17853 2333552 : data_tmp = ISHFT(pack_tmp, 25)
17854 2333552 : ipack = ipack + 1
17855 2333552 : pack_tmp = packed_data(ipack)
17856 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
17857 2333552 : pack_tmp = ISHFT(pack_tmp, -25)
17858 2333552 : idata = idata + 1
17859 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17860 2333552 : full_data(idata) = data_tmp
17861 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17862 2333552 : idata = idata + 1
17863 2333552 : data_tmp = ISHFT(pack_tmp, 11)
17864 2333552 : ipack = ipack + 1
17865 2333552 : pack_tmp = packed_data(ipack)
17866 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
17867 2333552 : pack_tmp = ISHFT(pack_tmp, -11)
17868 2333552 : idata = idata + 1
17869 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17870 2333552 : full_data(idata) = data_tmp
17871 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17872 2333552 : idata = idata + 1
17873 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17874 2333552 : full_data(idata) = data_tmp
17875 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17876 2333552 : idata = idata + 1
17877 2333552 : data_tmp = ISHFT(pack_tmp, 22)
17878 2333552 : ipack = ipack + 1
17879 2333552 : pack_tmp = packed_data(ipack)
17880 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
17881 2333552 : pack_tmp = ISHFT(pack_tmp, -22)
17882 2333552 : idata = idata + 1
17883 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17884 2333552 : full_data(idata) = data_tmp
17885 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17886 2333552 : idata = idata + 1
17887 2333552 : data_tmp = ISHFT(pack_tmp, 8)
17888 2333552 : ipack = ipack + 1
17889 2333552 : pack_tmp = packed_data(ipack)
17890 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
17891 2333552 : pack_tmp = ISHFT(pack_tmp, -8)
17892 2333552 : idata = idata + 1
17893 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17894 2333552 : full_data(idata) = data_tmp
17895 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17896 2333552 : idata = idata + 1
17897 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17898 2333552 : full_data(idata) = data_tmp
17899 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17900 2333552 : idata = idata + 1
17901 2333552 : data_tmp = ISHFT(pack_tmp, 19)
17902 2333552 : ipack = ipack + 1
17903 2333552 : pack_tmp = packed_data(ipack)
17904 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
17905 2333552 : pack_tmp = ISHFT(pack_tmp, -19)
17906 2333552 : idata = idata + 1
17907 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17908 2333552 : full_data(idata) = data_tmp
17909 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17910 2333552 : idata = idata + 1
17911 2333552 : data_tmp = ISHFT(pack_tmp, 5)
17912 2333552 : ipack = ipack + 1
17913 2333552 : pack_tmp = packed_data(ipack)
17914 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
17915 2333552 : pack_tmp = ISHFT(pack_tmp, -5)
17916 2333552 : idata = idata + 1
17917 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17918 2333552 : full_data(idata) = data_tmp
17919 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17920 2333552 : idata = idata + 1
17921 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17922 2333552 : full_data(idata) = data_tmp
17923 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17924 2333552 : idata = idata + 1
17925 2333552 : data_tmp = ISHFT(pack_tmp, 16)
17926 2333552 : ipack = ipack + 1
17927 2333552 : pack_tmp = packed_data(ipack)
17928 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
17929 2333552 : pack_tmp = ISHFT(pack_tmp, -16)
17930 2333552 : idata = idata + 1
17931 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17932 2333552 : full_data(idata) = data_tmp
17933 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17934 2333552 : idata = idata + 1
17935 2333552 : data_tmp = ISHFT(pack_tmp, 2)
17936 2333552 : ipack = ipack + 1
17937 2333552 : pack_tmp = packed_data(ipack)
17938 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
17939 2333552 : pack_tmp = ISHFT(pack_tmp, -2)
17940 2333552 : idata = idata + 1
17941 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17942 2333552 : full_data(idata) = data_tmp
17943 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17944 2333552 : idata = idata + 1
17945 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17946 2333552 : full_data(idata) = data_tmp
17947 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17948 2333552 : idata = idata + 1
17949 2333552 : data_tmp = ISHFT(pack_tmp, 13)
17950 2333552 : ipack = ipack + 1
17951 2333552 : pack_tmp = packed_data(ipack)
17952 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
17953 2333552 : pack_tmp = ISHFT(pack_tmp, -13)
17954 2333552 : idata = idata + 1
17955 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17956 2333552 : full_data(idata) = data_tmp
17957 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17958 2333552 : idata = idata + 1
17959 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17960 2333552 : full_data(idata) = data_tmp
17961 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17962 2333552 : idata = idata + 1
17963 2333552 : data_tmp = ISHFT(pack_tmp, 24)
17964 2333552 : ipack = ipack + 1
17965 2333552 : pack_tmp = packed_data(ipack)
17966 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
17967 2333552 : pack_tmp = ISHFT(pack_tmp, -24)
17968 2333552 : idata = idata + 1
17969 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17970 2333552 : full_data(idata) = data_tmp
17971 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17972 2333552 : idata = idata + 1
17973 2333552 : data_tmp = ISHFT(pack_tmp, 10)
17974 2333552 : ipack = ipack + 1
17975 2333552 : pack_tmp = packed_data(ipack)
17976 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
17977 2333552 : pack_tmp = ISHFT(pack_tmp, -10)
17978 2333552 : idata = idata + 1
17979 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17980 2333552 : full_data(idata) = data_tmp
17981 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17982 2333552 : idata = idata + 1
17983 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17984 2333552 : full_data(idata) = data_tmp
17985 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17986 2333552 : idata = idata + 1
17987 2333552 : data_tmp = ISHFT(pack_tmp, 21)
17988 2333552 : ipack = ipack + 1
17989 2333552 : pack_tmp = packed_data(ipack)
17990 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
17991 2333552 : pack_tmp = ISHFT(pack_tmp, -21)
17992 2333552 : idata = idata + 1
17993 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
17994 2333552 : full_data(idata) = data_tmp
17995 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
17996 2333552 : idata = idata + 1
17997 2333552 : data_tmp = ISHFT(pack_tmp, 7)
17998 2333552 : ipack = ipack + 1
17999 2333552 : pack_tmp = packed_data(ipack)
18000 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
18001 2333552 : pack_tmp = ISHFT(pack_tmp, -7)
18002 2333552 : idata = idata + 1
18003 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18004 2333552 : full_data(idata) = data_tmp
18005 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18006 2333552 : idata = idata + 1
18007 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18008 2333552 : full_data(idata) = data_tmp
18009 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18010 2333552 : idata = idata + 1
18011 2333552 : data_tmp = ISHFT(pack_tmp, 18)
18012 2333552 : ipack = ipack + 1
18013 2333552 : pack_tmp = packed_data(ipack)
18014 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18015 2333552 : pack_tmp = ISHFT(pack_tmp, -18)
18016 2333552 : idata = idata + 1
18017 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18018 2333552 : full_data(idata) = data_tmp
18019 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18020 2333552 : idata = idata + 1
18021 2333552 : data_tmp = ISHFT(pack_tmp, 4)
18022 2333552 : ipack = ipack + 1
18023 2333552 : pack_tmp = packed_data(ipack)
18024 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18025 2333552 : pack_tmp = ISHFT(pack_tmp, -4)
18026 2333552 : idata = idata + 1
18027 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18028 2333552 : full_data(idata) = data_tmp
18029 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18030 2333552 : idata = idata + 1
18031 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18032 2333552 : full_data(idata) = data_tmp
18033 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18034 2333552 : idata = idata + 1
18035 2333552 : data_tmp = ISHFT(pack_tmp, 15)
18036 2333552 : ipack = ipack + 1
18037 2333552 : pack_tmp = packed_data(ipack)
18038 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
18039 2333552 : pack_tmp = ISHFT(pack_tmp, -15)
18040 2333552 : idata = idata + 1
18041 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18042 2333552 : full_data(idata) = data_tmp
18043 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18044 2333552 : idata = idata + 1
18045 2333552 : data_tmp = ISHFT(pack_tmp, 1)
18046 2333552 : ipack = ipack + 1
18047 2333552 : pack_tmp = packed_data(ipack)
18048 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
18049 2333552 : pack_tmp = ISHFT(pack_tmp, -1)
18050 2333552 : idata = idata + 1
18051 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18052 2333552 : full_data(idata) = data_tmp
18053 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18054 2333552 : idata = idata + 1
18055 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18056 2333552 : full_data(idata) = data_tmp
18057 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18058 2333552 : idata = idata + 1
18059 2333552 : data_tmp = ISHFT(pack_tmp, 12)
18060 2333552 : ipack = ipack + 1
18061 2333552 : pack_tmp = packed_data(ipack)
18062 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18063 2333552 : pack_tmp = ISHFT(pack_tmp, -12)
18064 2333552 : idata = idata + 1
18065 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18066 2333552 : full_data(idata) = data_tmp
18067 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18068 2333552 : idata = idata + 1
18069 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18070 2333552 : full_data(idata) = data_tmp
18071 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18072 2333552 : idata = idata + 1
18073 2333552 : data_tmp = ISHFT(pack_tmp, 23)
18074 2333552 : ipack = ipack + 1
18075 2333552 : pack_tmp = packed_data(ipack)
18076 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
18077 2333552 : pack_tmp = ISHFT(pack_tmp, -23)
18078 2333552 : idata = idata + 1
18079 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18080 2333552 : full_data(idata) = data_tmp
18081 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18082 2333552 : idata = idata + 1
18083 2333552 : data_tmp = ISHFT(pack_tmp, 9)
18084 2333552 : ipack = ipack + 1
18085 2333552 : pack_tmp = packed_data(ipack)
18086 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
18087 2333552 : pack_tmp = ISHFT(pack_tmp, -9)
18088 2333552 : idata = idata + 1
18089 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18090 2333552 : full_data(idata) = data_tmp
18091 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18092 2333552 : idata = idata + 1
18093 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18094 2333552 : full_data(idata) = data_tmp
18095 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18096 2333552 : idata = idata + 1
18097 2333552 : data_tmp = ISHFT(pack_tmp, 20)
18098 2333552 : ipack = ipack + 1
18099 2333552 : pack_tmp = packed_data(ipack)
18100 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18101 2333552 : pack_tmp = ISHFT(pack_tmp, -20)
18102 2333552 : idata = idata + 1
18103 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18104 2333552 : full_data(idata) = data_tmp
18105 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18106 2333552 : idata = idata + 1
18107 2333552 : data_tmp = ISHFT(pack_tmp, 6)
18108 2333552 : ipack = ipack + 1
18109 2333552 : pack_tmp = packed_data(ipack)
18110 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18111 2333552 : pack_tmp = ISHFT(pack_tmp, -6)
18112 2333552 : idata = idata + 1
18113 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18114 2333552 : full_data(idata) = data_tmp
18115 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18116 2333552 : idata = idata + 1
18117 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18118 2333552 : full_data(idata) = data_tmp
18119 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18120 2333552 : idata = idata + 1
18121 2333552 : data_tmp = ISHFT(pack_tmp, 17)
18122 2333552 : ipack = ipack + 1
18123 2333552 : pack_tmp = packed_data(ipack)
18124 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
18125 2333552 : pack_tmp = ISHFT(pack_tmp, -17)
18126 2333552 : idata = idata + 1
18127 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18128 2333552 : full_data(idata) = data_tmp
18129 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18130 2333552 : idata = idata + 1
18131 2333552 : data_tmp = ISHFT(pack_tmp, 3)
18132 2333552 : ipack = ipack + 1
18133 2333552 : pack_tmp = packed_data(ipack)
18134 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
18135 2333552 : pack_tmp = ISHFT(pack_tmp, -3)
18136 2333552 : idata = idata + 1
18137 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18138 2333552 : full_data(idata) = data_tmp
18139 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18140 2333552 : idata = idata + 1
18141 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18142 2333552 : full_data(idata) = data_tmp
18143 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18144 2333552 : idata = idata + 1
18145 2333552 : data_tmp = ISHFT(pack_tmp, 14)
18146 2333552 : ipack = ipack + 1
18147 2333552 : pack_tmp = packed_data(ipack)
18148 2333552 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18149 2333552 : pack_tmp = ISHFT(pack_tmp, -14)
18150 2333552 : idata = idata + 1
18151 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18152 2333552 : full_data(idata) = data_tmp
18153 2333552 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18154 2333552 : idata = idata + 1
18155 2333552 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18156 2333552 : full_data(idata) = data_tmp
18157 2334146 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18158 : END DO
18159 165302 : IF (Ndata_rep < Ndata) THEN
18160 36064 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18161 : END IF
18162 165302 : END SUBROUTINE bits2ints_25
18163 :
18164 : ! **************************************************************************************************
18165 : !> \brief ...
18166 : !> \param Ndata ...
18167 : !> \param packed_data ...
18168 : !> \param full_data ...
18169 : ! **************************************************************************************************
18170 30895 : 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(*)
18174 :
18175 : INTEGER, PARAMETER :: Nbits = 26
18176 :
18177 : INTEGER :: idata, ipack, kdata, Ndata_rep
18178 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
18179 :
18180 30895 : idata = 0
18181 30895 : ipack = 0
18182 30895 : Ndata_rep = (Ndata/64)*64
18183 30895 : DO kdata = 1, Ndata_rep, 64
18184 464487 : pack_tmp = 0
18185 464487 : idata = idata + 1
18186 464487 : data_tmp = full_data(idata)
18187 464487 : data_tmp = ISHFT(data_tmp, 38)
18188 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18189 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18190 464487 : idata = idata + 1
18191 464487 : data_tmp = full_data(idata)
18192 464487 : data_tmp = ISHFT(data_tmp, 38)
18193 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18194 464487 : pack_tmp = ISHFT(pack_tmp, -12)
18195 464487 : idata = idata + 1
18196 464487 : data_tmp = full_data(idata)
18197 464487 : data_tmp = ISHFT(data_tmp, 38)
18198 464487 : data_tmp = IAND(data_tmp, mask_left(12))
18199 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18200 464487 : ipack = ipack + 1
18201 464487 : packed_data(ipack) = pack_tmp
18202 464487 : data_tmp = full_data(idata)
18203 464487 : pack_tmp = ISHFT(data_tmp, 50)
18204 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18205 464487 : idata = idata + 1
18206 464487 : data_tmp = full_data(idata)
18207 464487 : data_tmp = ISHFT(data_tmp, 38)
18208 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18209 464487 : pack_tmp = ISHFT(pack_tmp, -24)
18210 464487 : idata = idata + 1
18211 464487 : data_tmp = full_data(idata)
18212 464487 : data_tmp = ISHFT(data_tmp, 38)
18213 464487 : data_tmp = IAND(data_tmp, mask_left(24))
18214 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18215 464487 : ipack = ipack + 1
18216 464487 : packed_data(ipack) = pack_tmp
18217 464487 : data_tmp = full_data(idata)
18218 464487 : pack_tmp = ISHFT(data_tmp, 62)
18219 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18220 464487 : idata = idata + 1
18221 464487 : data_tmp = full_data(idata)
18222 464487 : data_tmp = ISHFT(data_tmp, 38)
18223 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18224 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18225 464487 : idata = idata + 1
18226 464487 : data_tmp = full_data(idata)
18227 464487 : data_tmp = ISHFT(data_tmp, 38)
18228 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18229 464487 : pack_tmp = ISHFT(pack_tmp, -10)
18230 464487 : idata = idata + 1
18231 464487 : data_tmp = full_data(idata)
18232 464487 : data_tmp = ISHFT(data_tmp, 38)
18233 464487 : data_tmp = IAND(data_tmp, mask_left(10))
18234 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18235 464487 : ipack = ipack + 1
18236 464487 : packed_data(ipack) = pack_tmp
18237 464487 : data_tmp = full_data(idata)
18238 464487 : pack_tmp = ISHFT(data_tmp, 48)
18239 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18240 464487 : idata = idata + 1
18241 464487 : data_tmp = full_data(idata)
18242 464487 : data_tmp = ISHFT(data_tmp, 38)
18243 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18244 464487 : pack_tmp = ISHFT(pack_tmp, -22)
18245 464487 : idata = idata + 1
18246 464487 : data_tmp = full_data(idata)
18247 464487 : data_tmp = ISHFT(data_tmp, 38)
18248 464487 : data_tmp = IAND(data_tmp, mask_left(22))
18249 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18250 464487 : ipack = ipack + 1
18251 464487 : packed_data(ipack) = pack_tmp
18252 464487 : data_tmp = full_data(idata)
18253 464487 : pack_tmp = ISHFT(data_tmp, 60)
18254 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18255 464487 : idata = idata + 1
18256 464487 : data_tmp = full_data(idata)
18257 464487 : data_tmp = ISHFT(data_tmp, 38)
18258 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18259 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18260 464487 : idata = idata + 1
18261 464487 : data_tmp = full_data(idata)
18262 464487 : data_tmp = ISHFT(data_tmp, 38)
18263 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18264 464487 : pack_tmp = ISHFT(pack_tmp, -8)
18265 464487 : idata = idata + 1
18266 464487 : data_tmp = full_data(idata)
18267 464487 : data_tmp = ISHFT(data_tmp, 38)
18268 464487 : data_tmp = IAND(data_tmp, mask_left(8))
18269 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18270 464487 : ipack = ipack + 1
18271 464487 : packed_data(ipack) = pack_tmp
18272 464487 : data_tmp = full_data(idata)
18273 464487 : pack_tmp = ISHFT(data_tmp, 46)
18274 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18275 464487 : idata = idata + 1
18276 464487 : data_tmp = full_data(idata)
18277 464487 : data_tmp = ISHFT(data_tmp, 38)
18278 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18279 464487 : pack_tmp = ISHFT(pack_tmp, -20)
18280 464487 : idata = idata + 1
18281 464487 : data_tmp = full_data(idata)
18282 464487 : data_tmp = ISHFT(data_tmp, 38)
18283 464487 : data_tmp = IAND(data_tmp, mask_left(20))
18284 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18285 464487 : ipack = ipack + 1
18286 464487 : packed_data(ipack) = pack_tmp
18287 464487 : data_tmp = full_data(idata)
18288 464487 : pack_tmp = ISHFT(data_tmp, 58)
18289 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18290 464487 : idata = idata + 1
18291 464487 : data_tmp = full_data(idata)
18292 464487 : data_tmp = ISHFT(data_tmp, 38)
18293 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18294 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18295 464487 : idata = idata + 1
18296 464487 : data_tmp = full_data(idata)
18297 464487 : data_tmp = ISHFT(data_tmp, 38)
18298 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18299 464487 : pack_tmp = ISHFT(pack_tmp, -6)
18300 464487 : idata = idata + 1
18301 464487 : data_tmp = full_data(idata)
18302 464487 : data_tmp = ISHFT(data_tmp, 38)
18303 464487 : data_tmp = IAND(data_tmp, mask_left(6))
18304 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18305 464487 : ipack = ipack + 1
18306 464487 : packed_data(ipack) = pack_tmp
18307 464487 : data_tmp = full_data(idata)
18308 464487 : pack_tmp = ISHFT(data_tmp, 44)
18309 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18310 464487 : idata = idata + 1
18311 464487 : data_tmp = full_data(idata)
18312 464487 : data_tmp = ISHFT(data_tmp, 38)
18313 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18314 464487 : pack_tmp = ISHFT(pack_tmp, -18)
18315 464487 : idata = idata + 1
18316 464487 : data_tmp = full_data(idata)
18317 464487 : data_tmp = ISHFT(data_tmp, 38)
18318 464487 : data_tmp = IAND(data_tmp, mask_left(18))
18319 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18320 464487 : ipack = ipack + 1
18321 464487 : packed_data(ipack) = pack_tmp
18322 464487 : data_tmp = full_data(idata)
18323 464487 : pack_tmp = ISHFT(data_tmp, 56)
18324 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18325 464487 : idata = idata + 1
18326 464487 : data_tmp = full_data(idata)
18327 464487 : data_tmp = ISHFT(data_tmp, 38)
18328 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18329 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18330 464487 : idata = idata + 1
18331 464487 : data_tmp = full_data(idata)
18332 464487 : data_tmp = ISHFT(data_tmp, 38)
18333 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18334 464487 : pack_tmp = ISHFT(pack_tmp, -4)
18335 464487 : idata = idata + 1
18336 464487 : data_tmp = full_data(idata)
18337 464487 : data_tmp = ISHFT(data_tmp, 38)
18338 464487 : data_tmp = IAND(data_tmp, mask_left(4))
18339 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18340 464487 : ipack = ipack + 1
18341 464487 : packed_data(ipack) = pack_tmp
18342 464487 : data_tmp = full_data(idata)
18343 464487 : pack_tmp = ISHFT(data_tmp, 42)
18344 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18345 464487 : idata = idata + 1
18346 464487 : data_tmp = full_data(idata)
18347 464487 : data_tmp = ISHFT(data_tmp, 38)
18348 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18349 464487 : pack_tmp = ISHFT(pack_tmp, -16)
18350 464487 : idata = idata + 1
18351 464487 : data_tmp = full_data(idata)
18352 464487 : data_tmp = ISHFT(data_tmp, 38)
18353 464487 : data_tmp = IAND(data_tmp, mask_left(16))
18354 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18355 464487 : ipack = ipack + 1
18356 464487 : packed_data(ipack) = pack_tmp
18357 464487 : data_tmp = full_data(idata)
18358 464487 : pack_tmp = ISHFT(data_tmp, 54)
18359 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18360 464487 : idata = idata + 1
18361 464487 : data_tmp = full_data(idata)
18362 464487 : data_tmp = ISHFT(data_tmp, 38)
18363 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18364 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18365 464487 : idata = idata + 1
18366 464487 : data_tmp = full_data(idata)
18367 464487 : data_tmp = ISHFT(data_tmp, 38)
18368 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18369 464487 : pack_tmp = ISHFT(pack_tmp, -2)
18370 464487 : idata = idata + 1
18371 464487 : data_tmp = full_data(idata)
18372 464487 : data_tmp = ISHFT(data_tmp, 38)
18373 464487 : data_tmp = IAND(data_tmp, mask_left(2))
18374 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18375 464487 : ipack = ipack + 1
18376 464487 : packed_data(ipack) = pack_tmp
18377 464487 : data_tmp = full_data(idata)
18378 464487 : pack_tmp = ISHFT(data_tmp, 40)
18379 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18380 464487 : idata = idata + 1
18381 464487 : data_tmp = full_data(idata)
18382 464487 : data_tmp = ISHFT(data_tmp, 38)
18383 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18384 464487 : pack_tmp = ISHFT(pack_tmp, -14)
18385 464487 : idata = idata + 1
18386 464487 : data_tmp = full_data(idata)
18387 464487 : data_tmp = ISHFT(data_tmp, 38)
18388 464487 : data_tmp = IAND(data_tmp, mask_left(14))
18389 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18390 464487 : ipack = ipack + 1
18391 464487 : packed_data(ipack) = pack_tmp
18392 464487 : data_tmp = full_data(idata)
18393 464487 : pack_tmp = ISHFT(data_tmp, 52)
18394 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18395 464487 : idata = idata + 1
18396 464487 : data_tmp = full_data(idata)
18397 464487 : data_tmp = ISHFT(data_tmp, 38)
18398 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18399 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18400 464487 : idata = idata + 1
18401 464487 : data_tmp = full_data(idata)
18402 464487 : data_tmp = ISHFT(data_tmp, 38)
18403 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18404 464487 : pack_tmp = ISHFT(pack_tmp, 0)
18405 464487 : idata = idata + 1
18406 464487 : data_tmp = full_data(idata)
18407 : data_tmp = ISHFT(data_tmp, 38)
18408 464487 : data_tmp = IAND(data_tmp, mask_left(0))
18409 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18410 464487 : ipack = ipack + 1
18411 464487 : packed_data(ipack) = pack_tmp
18412 464487 : data_tmp = full_data(idata)
18413 464487 : pack_tmp = ISHFT(data_tmp, 38)
18414 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18415 464487 : idata = idata + 1
18416 464487 : data_tmp = full_data(idata)
18417 464487 : data_tmp = ISHFT(data_tmp, 38)
18418 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18419 464487 : pack_tmp = ISHFT(pack_tmp, -12)
18420 464487 : idata = idata + 1
18421 464487 : data_tmp = full_data(idata)
18422 464487 : data_tmp = ISHFT(data_tmp, 38)
18423 464487 : data_tmp = IAND(data_tmp, mask_left(12))
18424 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18425 464487 : ipack = ipack + 1
18426 464487 : packed_data(ipack) = pack_tmp
18427 464487 : data_tmp = full_data(idata)
18428 464487 : pack_tmp = ISHFT(data_tmp, 50)
18429 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18430 464487 : idata = idata + 1
18431 464487 : data_tmp = full_data(idata)
18432 464487 : data_tmp = ISHFT(data_tmp, 38)
18433 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18434 464487 : pack_tmp = ISHFT(pack_tmp, -24)
18435 464487 : idata = idata + 1
18436 464487 : data_tmp = full_data(idata)
18437 464487 : data_tmp = ISHFT(data_tmp, 38)
18438 464487 : data_tmp = IAND(data_tmp, mask_left(24))
18439 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18440 464487 : ipack = ipack + 1
18441 464487 : packed_data(ipack) = pack_tmp
18442 464487 : data_tmp = full_data(idata)
18443 464487 : pack_tmp = ISHFT(data_tmp, 62)
18444 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18445 464487 : idata = idata + 1
18446 464487 : data_tmp = full_data(idata)
18447 464487 : data_tmp = ISHFT(data_tmp, 38)
18448 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18449 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18450 464487 : idata = idata + 1
18451 464487 : data_tmp = full_data(idata)
18452 464487 : data_tmp = ISHFT(data_tmp, 38)
18453 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18454 464487 : pack_tmp = ISHFT(pack_tmp, -10)
18455 464487 : idata = idata + 1
18456 464487 : data_tmp = full_data(idata)
18457 464487 : data_tmp = ISHFT(data_tmp, 38)
18458 464487 : data_tmp = IAND(data_tmp, mask_left(10))
18459 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18460 464487 : ipack = ipack + 1
18461 464487 : packed_data(ipack) = pack_tmp
18462 464487 : data_tmp = full_data(idata)
18463 464487 : pack_tmp = ISHFT(data_tmp, 48)
18464 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18465 464487 : idata = idata + 1
18466 464487 : data_tmp = full_data(idata)
18467 464487 : data_tmp = ISHFT(data_tmp, 38)
18468 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18469 464487 : pack_tmp = ISHFT(pack_tmp, -22)
18470 464487 : idata = idata + 1
18471 464487 : data_tmp = full_data(idata)
18472 464487 : data_tmp = ISHFT(data_tmp, 38)
18473 464487 : data_tmp = IAND(data_tmp, mask_left(22))
18474 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18475 464487 : ipack = ipack + 1
18476 464487 : packed_data(ipack) = pack_tmp
18477 464487 : data_tmp = full_data(idata)
18478 464487 : pack_tmp = ISHFT(data_tmp, 60)
18479 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18480 464487 : idata = idata + 1
18481 464487 : data_tmp = full_data(idata)
18482 464487 : data_tmp = ISHFT(data_tmp, 38)
18483 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18484 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18485 464487 : idata = idata + 1
18486 464487 : data_tmp = full_data(idata)
18487 464487 : data_tmp = ISHFT(data_tmp, 38)
18488 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18489 464487 : pack_tmp = ISHFT(pack_tmp, -8)
18490 464487 : idata = idata + 1
18491 464487 : data_tmp = full_data(idata)
18492 464487 : data_tmp = ISHFT(data_tmp, 38)
18493 464487 : data_tmp = IAND(data_tmp, mask_left(8))
18494 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18495 464487 : ipack = ipack + 1
18496 464487 : packed_data(ipack) = pack_tmp
18497 464487 : data_tmp = full_data(idata)
18498 464487 : pack_tmp = ISHFT(data_tmp, 46)
18499 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18500 464487 : idata = idata + 1
18501 464487 : data_tmp = full_data(idata)
18502 464487 : data_tmp = ISHFT(data_tmp, 38)
18503 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18504 464487 : pack_tmp = ISHFT(pack_tmp, -20)
18505 464487 : idata = idata + 1
18506 464487 : data_tmp = full_data(idata)
18507 464487 : data_tmp = ISHFT(data_tmp, 38)
18508 464487 : data_tmp = IAND(data_tmp, mask_left(20))
18509 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18510 464487 : ipack = ipack + 1
18511 464487 : packed_data(ipack) = pack_tmp
18512 464487 : data_tmp = full_data(idata)
18513 464487 : pack_tmp = ISHFT(data_tmp, 58)
18514 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18515 464487 : idata = idata + 1
18516 464487 : data_tmp = full_data(idata)
18517 464487 : data_tmp = ISHFT(data_tmp, 38)
18518 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18519 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18520 464487 : idata = idata + 1
18521 464487 : data_tmp = full_data(idata)
18522 464487 : data_tmp = ISHFT(data_tmp, 38)
18523 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18524 464487 : pack_tmp = ISHFT(pack_tmp, -6)
18525 464487 : idata = idata + 1
18526 464487 : data_tmp = full_data(idata)
18527 464487 : data_tmp = ISHFT(data_tmp, 38)
18528 464487 : data_tmp = IAND(data_tmp, mask_left(6))
18529 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18530 464487 : ipack = ipack + 1
18531 464487 : packed_data(ipack) = pack_tmp
18532 464487 : data_tmp = full_data(idata)
18533 464487 : pack_tmp = ISHFT(data_tmp, 44)
18534 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18535 464487 : idata = idata + 1
18536 464487 : data_tmp = full_data(idata)
18537 464487 : data_tmp = ISHFT(data_tmp, 38)
18538 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18539 464487 : pack_tmp = ISHFT(pack_tmp, -18)
18540 464487 : idata = idata + 1
18541 464487 : data_tmp = full_data(idata)
18542 464487 : data_tmp = ISHFT(data_tmp, 38)
18543 464487 : data_tmp = IAND(data_tmp, mask_left(18))
18544 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18545 464487 : ipack = ipack + 1
18546 464487 : packed_data(ipack) = pack_tmp
18547 464487 : data_tmp = full_data(idata)
18548 464487 : pack_tmp = ISHFT(data_tmp, 56)
18549 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18550 464487 : idata = idata + 1
18551 464487 : data_tmp = full_data(idata)
18552 464487 : data_tmp = ISHFT(data_tmp, 38)
18553 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18554 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18555 464487 : idata = idata + 1
18556 464487 : data_tmp = full_data(idata)
18557 464487 : data_tmp = ISHFT(data_tmp, 38)
18558 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18559 464487 : pack_tmp = ISHFT(pack_tmp, -4)
18560 464487 : idata = idata + 1
18561 464487 : data_tmp = full_data(idata)
18562 464487 : data_tmp = ISHFT(data_tmp, 38)
18563 464487 : data_tmp = IAND(data_tmp, mask_left(4))
18564 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18565 464487 : ipack = ipack + 1
18566 464487 : packed_data(ipack) = pack_tmp
18567 464487 : data_tmp = full_data(idata)
18568 464487 : pack_tmp = ISHFT(data_tmp, 42)
18569 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18570 464487 : idata = idata + 1
18571 464487 : data_tmp = full_data(idata)
18572 464487 : data_tmp = ISHFT(data_tmp, 38)
18573 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18574 464487 : pack_tmp = ISHFT(pack_tmp, -16)
18575 464487 : idata = idata + 1
18576 464487 : data_tmp = full_data(idata)
18577 464487 : data_tmp = ISHFT(data_tmp, 38)
18578 464487 : data_tmp = IAND(data_tmp, mask_left(16))
18579 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18580 464487 : ipack = ipack + 1
18581 464487 : packed_data(ipack) = pack_tmp
18582 464487 : data_tmp = full_data(idata)
18583 464487 : pack_tmp = ISHFT(data_tmp, 54)
18584 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18585 464487 : idata = idata + 1
18586 464487 : data_tmp = full_data(idata)
18587 464487 : data_tmp = ISHFT(data_tmp, 38)
18588 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18589 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18590 464487 : idata = idata + 1
18591 464487 : data_tmp = full_data(idata)
18592 464487 : data_tmp = ISHFT(data_tmp, 38)
18593 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18594 464487 : pack_tmp = ISHFT(pack_tmp, -2)
18595 464487 : idata = idata + 1
18596 464487 : data_tmp = full_data(idata)
18597 464487 : data_tmp = ISHFT(data_tmp, 38)
18598 464487 : data_tmp = IAND(data_tmp, mask_left(2))
18599 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18600 464487 : ipack = ipack + 1
18601 464487 : packed_data(ipack) = pack_tmp
18602 464487 : data_tmp = full_data(idata)
18603 464487 : pack_tmp = ISHFT(data_tmp, 40)
18604 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18605 464487 : idata = idata + 1
18606 464487 : data_tmp = full_data(idata)
18607 464487 : data_tmp = ISHFT(data_tmp, 38)
18608 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18609 464487 : pack_tmp = ISHFT(pack_tmp, -14)
18610 464487 : idata = idata + 1
18611 464487 : data_tmp = full_data(idata)
18612 464487 : data_tmp = ISHFT(data_tmp, 38)
18613 464487 : data_tmp = IAND(data_tmp, mask_left(14))
18614 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18615 464487 : ipack = ipack + 1
18616 464487 : packed_data(ipack) = pack_tmp
18617 464487 : data_tmp = full_data(idata)
18618 464487 : pack_tmp = ISHFT(data_tmp, 52)
18619 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18620 464487 : idata = idata + 1
18621 464487 : data_tmp = full_data(idata)
18622 464487 : data_tmp = ISHFT(data_tmp, 38)
18623 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18624 464487 : pack_tmp = ISHFT(pack_tmp, -26)
18625 464487 : idata = idata + 1
18626 464487 : data_tmp = full_data(idata)
18627 464487 : data_tmp = ISHFT(data_tmp, 38)
18628 464487 : pack_tmp = IOR(pack_tmp, data_tmp)
18629 : pack_tmp = ISHFT(pack_tmp, 0)
18630 464487 : pack_tmp = ISHFT(pack_tmp, 0)
18631 464487 : ipack = ipack + 1
18632 464612 : packed_data(ipack) = pack_tmp
18633 : END DO
18634 30895 : IF (Ndata_rep < Ndata) THEN
18635 3442 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18636 : END IF
18637 30895 : END SUBROUTINE ints2bits_26
18638 :
18639 : ! **************************************************************************************************
18640 : !> \brief ...
18641 : !> \param Ndata ...
18642 : !> \param packed_data ...
18643 : !> \param full_data ...
18644 : ! **************************************************************************************************
18645 137284 : 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(*)
18649 :
18650 : INTEGER, PARAMETER :: Nbits = 26
18651 :
18652 : INTEGER :: idata, ipack, kdata, Ndata_rep
18653 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
18654 :
18655 137284 : ipack = 0
18656 137284 : idata = 0
18657 137284 : pack_tmp = 0
18658 137284 : Ndata_rep = (Ndata/64)*64
18659 137284 : DO kdata = 1, Ndata_rep, 64
18660 2014944 : idata = idata + 1
18661 2014944 : data_tmp = ISHFT(pack_tmp, 26)
18662 2014944 : ipack = ipack + 1
18663 2014944 : pack_tmp = packed_data(ipack)
18664 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
18665 2014944 : pack_tmp = ISHFT(pack_tmp, -26)
18666 2014944 : idata = idata + 1
18667 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18668 2014944 : full_data(idata) = data_tmp
18669 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18670 2014944 : idata = idata + 1
18671 2014944 : data_tmp = ISHFT(pack_tmp, 14)
18672 2014944 : ipack = ipack + 1
18673 2014944 : pack_tmp = packed_data(ipack)
18674 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18675 2014944 : pack_tmp = ISHFT(pack_tmp, -14)
18676 2014944 : idata = idata + 1
18677 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18678 2014944 : full_data(idata) = data_tmp
18679 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18680 2014944 : idata = idata + 1
18681 2014944 : data_tmp = ISHFT(pack_tmp, 2)
18682 2014944 : ipack = ipack + 1
18683 2014944 : pack_tmp = packed_data(ipack)
18684 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
18685 2014944 : pack_tmp = ISHFT(pack_tmp, -2)
18686 2014944 : idata = idata + 1
18687 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18688 2014944 : full_data(idata) = data_tmp
18689 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18690 2014944 : idata = idata + 1
18691 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18692 2014944 : full_data(idata) = data_tmp
18693 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18694 2014944 : idata = idata + 1
18695 2014944 : data_tmp = ISHFT(pack_tmp, 16)
18696 2014944 : ipack = ipack + 1
18697 2014944 : pack_tmp = packed_data(ipack)
18698 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
18699 2014944 : pack_tmp = ISHFT(pack_tmp, -16)
18700 2014944 : idata = idata + 1
18701 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18702 2014944 : full_data(idata) = data_tmp
18703 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18704 2014944 : idata = idata + 1
18705 2014944 : data_tmp = ISHFT(pack_tmp, 4)
18706 2014944 : ipack = ipack + 1
18707 2014944 : pack_tmp = packed_data(ipack)
18708 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18709 2014944 : pack_tmp = ISHFT(pack_tmp, -4)
18710 2014944 : idata = idata + 1
18711 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18712 2014944 : full_data(idata) = data_tmp
18713 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18714 2014944 : idata = idata + 1
18715 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18716 2014944 : full_data(idata) = data_tmp
18717 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18718 2014944 : idata = idata + 1
18719 2014944 : data_tmp = ISHFT(pack_tmp, 18)
18720 2014944 : ipack = ipack + 1
18721 2014944 : pack_tmp = packed_data(ipack)
18722 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18723 2014944 : pack_tmp = ISHFT(pack_tmp, -18)
18724 2014944 : idata = idata + 1
18725 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18726 2014944 : full_data(idata) = data_tmp
18727 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18728 2014944 : idata = idata + 1
18729 2014944 : data_tmp = ISHFT(pack_tmp, 6)
18730 2014944 : ipack = ipack + 1
18731 2014944 : pack_tmp = packed_data(ipack)
18732 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18733 2014944 : pack_tmp = ISHFT(pack_tmp, -6)
18734 2014944 : idata = idata + 1
18735 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18736 2014944 : full_data(idata) = data_tmp
18737 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18738 2014944 : idata = idata + 1
18739 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18740 2014944 : full_data(idata) = data_tmp
18741 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18742 2014944 : idata = idata + 1
18743 2014944 : data_tmp = ISHFT(pack_tmp, 20)
18744 2014944 : ipack = ipack + 1
18745 2014944 : pack_tmp = packed_data(ipack)
18746 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18747 2014944 : pack_tmp = ISHFT(pack_tmp, -20)
18748 2014944 : idata = idata + 1
18749 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18750 2014944 : full_data(idata) = data_tmp
18751 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18752 2014944 : idata = idata + 1
18753 2014944 : data_tmp = ISHFT(pack_tmp, 8)
18754 2014944 : ipack = ipack + 1
18755 2014944 : pack_tmp = packed_data(ipack)
18756 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
18757 2014944 : pack_tmp = ISHFT(pack_tmp, -8)
18758 2014944 : idata = idata + 1
18759 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18760 2014944 : full_data(idata) = data_tmp
18761 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18762 2014944 : idata = idata + 1
18763 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18764 2014944 : full_data(idata) = data_tmp
18765 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18766 2014944 : idata = idata + 1
18767 2014944 : data_tmp = ISHFT(pack_tmp, 22)
18768 2014944 : ipack = ipack + 1
18769 2014944 : pack_tmp = packed_data(ipack)
18770 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
18771 2014944 : pack_tmp = ISHFT(pack_tmp, -22)
18772 2014944 : idata = idata + 1
18773 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18774 2014944 : full_data(idata) = data_tmp
18775 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18776 2014944 : idata = idata + 1
18777 2014944 : data_tmp = ISHFT(pack_tmp, 10)
18778 2014944 : ipack = ipack + 1
18779 2014944 : pack_tmp = packed_data(ipack)
18780 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
18781 2014944 : pack_tmp = ISHFT(pack_tmp, -10)
18782 2014944 : idata = idata + 1
18783 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18784 2014944 : full_data(idata) = data_tmp
18785 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18786 2014944 : idata = idata + 1
18787 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18788 2014944 : full_data(idata) = data_tmp
18789 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18790 2014944 : idata = idata + 1
18791 2014944 : data_tmp = ISHFT(pack_tmp, 24)
18792 2014944 : ipack = ipack + 1
18793 2014944 : pack_tmp = packed_data(ipack)
18794 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
18795 2014944 : pack_tmp = ISHFT(pack_tmp, -24)
18796 2014944 : idata = idata + 1
18797 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18798 2014944 : full_data(idata) = data_tmp
18799 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18800 2014944 : idata = idata + 1
18801 2014944 : data_tmp = ISHFT(pack_tmp, 12)
18802 2014944 : ipack = ipack + 1
18803 2014944 : pack_tmp = packed_data(ipack)
18804 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18805 2014944 : pack_tmp = ISHFT(pack_tmp, -12)
18806 2014944 : idata = idata + 1
18807 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18808 2014944 : full_data(idata) = data_tmp
18809 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18810 2014944 : idata = idata + 1
18811 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18812 2014944 : full_data(idata) = data_tmp
18813 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18814 2014944 : idata = idata + 1
18815 2014944 : data_tmp = ISHFT(pack_tmp, 26)
18816 2014944 : ipack = ipack + 1
18817 2014944 : pack_tmp = packed_data(ipack)
18818 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
18819 2014944 : pack_tmp = ISHFT(pack_tmp, -26)
18820 2014944 : idata = idata + 1
18821 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18822 2014944 : full_data(idata) = data_tmp
18823 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18824 2014944 : idata = idata + 1
18825 2014944 : data_tmp = ISHFT(pack_tmp, 14)
18826 2014944 : ipack = ipack + 1
18827 2014944 : pack_tmp = packed_data(ipack)
18828 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
18829 2014944 : pack_tmp = ISHFT(pack_tmp, -14)
18830 2014944 : idata = idata + 1
18831 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18832 2014944 : full_data(idata) = data_tmp
18833 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18834 2014944 : idata = idata + 1
18835 2014944 : data_tmp = ISHFT(pack_tmp, 2)
18836 2014944 : ipack = ipack + 1
18837 2014944 : pack_tmp = packed_data(ipack)
18838 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
18839 2014944 : pack_tmp = ISHFT(pack_tmp, -2)
18840 2014944 : idata = idata + 1
18841 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18842 2014944 : full_data(idata) = data_tmp
18843 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18844 2014944 : idata = idata + 1
18845 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18846 2014944 : full_data(idata) = data_tmp
18847 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18848 2014944 : idata = idata + 1
18849 2014944 : data_tmp = ISHFT(pack_tmp, 16)
18850 2014944 : ipack = ipack + 1
18851 2014944 : pack_tmp = packed_data(ipack)
18852 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
18853 2014944 : pack_tmp = ISHFT(pack_tmp, -16)
18854 2014944 : idata = idata + 1
18855 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18856 2014944 : full_data(idata) = data_tmp
18857 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18858 2014944 : idata = idata + 1
18859 2014944 : data_tmp = ISHFT(pack_tmp, 4)
18860 2014944 : ipack = ipack + 1
18861 2014944 : pack_tmp = packed_data(ipack)
18862 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
18863 2014944 : pack_tmp = ISHFT(pack_tmp, -4)
18864 2014944 : idata = idata + 1
18865 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18866 2014944 : full_data(idata) = data_tmp
18867 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18868 2014944 : idata = idata + 1
18869 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18870 2014944 : full_data(idata) = data_tmp
18871 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18872 2014944 : idata = idata + 1
18873 2014944 : data_tmp = ISHFT(pack_tmp, 18)
18874 2014944 : ipack = ipack + 1
18875 2014944 : pack_tmp = packed_data(ipack)
18876 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
18877 2014944 : pack_tmp = ISHFT(pack_tmp, -18)
18878 2014944 : idata = idata + 1
18879 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18880 2014944 : full_data(idata) = data_tmp
18881 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18882 2014944 : idata = idata + 1
18883 2014944 : data_tmp = ISHFT(pack_tmp, 6)
18884 2014944 : ipack = ipack + 1
18885 2014944 : pack_tmp = packed_data(ipack)
18886 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
18887 2014944 : pack_tmp = ISHFT(pack_tmp, -6)
18888 2014944 : idata = idata + 1
18889 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18890 2014944 : full_data(idata) = data_tmp
18891 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18892 2014944 : idata = idata + 1
18893 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18894 2014944 : full_data(idata) = data_tmp
18895 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18896 2014944 : idata = idata + 1
18897 2014944 : data_tmp = ISHFT(pack_tmp, 20)
18898 2014944 : ipack = ipack + 1
18899 2014944 : pack_tmp = packed_data(ipack)
18900 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
18901 2014944 : pack_tmp = ISHFT(pack_tmp, -20)
18902 2014944 : idata = idata + 1
18903 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18904 2014944 : full_data(idata) = data_tmp
18905 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18906 2014944 : idata = idata + 1
18907 2014944 : data_tmp = ISHFT(pack_tmp, 8)
18908 2014944 : ipack = ipack + 1
18909 2014944 : pack_tmp = packed_data(ipack)
18910 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
18911 2014944 : pack_tmp = ISHFT(pack_tmp, -8)
18912 2014944 : idata = idata + 1
18913 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18914 2014944 : full_data(idata) = data_tmp
18915 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18916 2014944 : idata = idata + 1
18917 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18918 2014944 : full_data(idata) = data_tmp
18919 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18920 2014944 : idata = idata + 1
18921 2014944 : data_tmp = ISHFT(pack_tmp, 22)
18922 2014944 : ipack = ipack + 1
18923 2014944 : pack_tmp = packed_data(ipack)
18924 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
18925 2014944 : pack_tmp = ISHFT(pack_tmp, -22)
18926 2014944 : idata = idata + 1
18927 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18928 2014944 : full_data(idata) = data_tmp
18929 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18930 2014944 : idata = idata + 1
18931 2014944 : data_tmp = ISHFT(pack_tmp, 10)
18932 2014944 : ipack = ipack + 1
18933 2014944 : pack_tmp = packed_data(ipack)
18934 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
18935 2014944 : pack_tmp = ISHFT(pack_tmp, -10)
18936 2014944 : idata = idata + 1
18937 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18938 2014944 : full_data(idata) = data_tmp
18939 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18940 2014944 : idata = idata + 1
18941 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18942 2014944 : full_data(idata) = data_tmp
18943 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18944 2014944 : idata = idata + 1
18945 2014944 : data_tmp = ISHFT(pack_tmp, 24)
18946 2014944 : ipack = ipack + 1
18947 2014944 : pack_tmp = packed_data(ipack)
18948 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
18949 2014944 : pack_tmp = ISHFT(pack_tmp, -24)
18950 2014944 : idata = idata + 1
18951 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18952 2014944 : full_data(idata) = data_tmp
18953 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18954 2014944 : idata = idata + 1
18955 2014944 : data_tmp = ISHFT(pack_tmp, 12)
18956 2014944 : ipack = ipack + 1
18957 2014944 : pack_tmp = packed_data(ipack)
18958 2014944 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
18959 2014944 : pack_tmp = ISHFT(pack_tmp, -12)
18960 2014944 : idata = idata + 1
18961 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18962 2014944 : full_data(idata) = data_tmp
18963 2014944 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18964 2014944 : idata = idata + 1
18965 2014944 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
18966 2014944 : full_data(idata) = data_tmp
18967 2015456 : pack_tmp = ISHFT(pack_tmp, -Nbits)
18968 : END DO
18969 137284 : IF (Ndata_rep < Ndata) THEN
18970 21120 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
18971 : END IF
18972 137284 : END SUBROUTINE bits2ints_26
18973 :
18974 : ! **************************************************************************************************
18975 : !> \brief ...
18976 : !> \param Ndata ...
18977 : !> \param packed_data ...
18978 : !> \param full_data ...
18979 : ! **************************************************************************************************
18980 30487 : 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(*)
18984 :
18985 : INTEGER, PARAMETER :: Nbits = 27
18986 :
18987 : INTEGER :: idata, ipack, kdata, Ndata_rep
18988 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
18989 :
18990 30487 : idata = 0
18991 30487 : ipack = 0
18992 30487 : Ndata_rep = (Ndata/64)*64
18993 30487 : DO kdata = 1, Ndata_rep, 64
18994 460439 : pack_tmp = 0
18995 460439 : idata = idata + 1
18996 460439 : data_tmp = full_data(idata)
18997 460439 : data_tmp = ISHFT(data_tmp, 37)
18998 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
18999 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19000 460439 : idata = idata + 1
19001 460439 : data_tmp = full_data(idata)
19002 460439 : data_tmp = ISHFT(data_tmp, 37)
19003 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19004 460439 : pack_tmp = ISHFT(pack_tmp, -10)
19005 460439 : idata = idata + 1
19006 460439 : data_tmp = full_data(idata)
19007 460439 : data_tmp = ISHFT(data_tmp, 37)
19008 460439 : data_tmp = IAND(data_tmp, mask_left(10))
19009 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19010 460439 : ipack = ipack + 1
19011 460439 : packed_data(ipack) = pack_tmp
19012 460439 : data_tmp = full_data(idata)
19013 460439 : pack_tmp = ISHFT(data_tmp, 47)
19014 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19015 460439 : idata = idata + 1
19016 460439 : data_tmp = full_data(idata)
19017 460439 : data_tmp = ISHFT(data_tmp, 37)
19018 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19019 460439 : pack_tmp = ISHFT(pack_tmp, -20)
19020 460439 : idata = idata + 1
19021 460439 : data_tmp = full_data(idata)
19022 460439 : data_tmp = ISHFT(data_tmp, 37)
19023 460439 : data_tmp = IAND(data_tmp, mask_left(20))
19024 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19025 460439 : ipack = ipack + 1
19026 460439 : packed_data(ipack) = pack_tmp
19027 460439 : data_tmp = full_data(idata)
19028 460439 : pack_tmp = ISHFT(data_tmp, 57)
19029 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19030 460439 : idata = idata + 1
19031 460439 : data_tmp = full_data(idata)
19032 460439 : data_tmp = ISHFT(data_tmp, 37)
19033 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19034 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19035 460439 : idata = idata + 1
19036 460439 : data_tmp = full_data(idata)
19037 460439 : data_tmp = ISHFT(data_tmp, 37)
19038 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19039 460439 : pack_tmp = ISHFT(pack_tmp, -3)
19040 460439 : idata = idata + 1
19041 460439 : data_tmp = full_data(idata)
19042 460439 : data_tmp = ISHFT(data_tmp, 37)
19043 460439 : data_tmp = IAND(data_tmp, mask_left(3))
19044 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19045 460439 : ipack = ipack + 1
19046 460439 : packed_data(ipack) = pack_tmp
19047 460439 : data_tmp = full_data(idata)
19048 460439 : pack_tmp = ISHFT(data_tmp, 40)
19049 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19050 460439 : idata = idata + 1
19051 460439 : data_tmp = full_data(idata)
19052 460439 : data_tmp = ISHFT(data_tmp, 37)
19053 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19054 460439 : pack_tmp = ISHFT(pack_tmp, -13)
19055 460439 : idata = idata + 1
19056 460439 : data_tmp = full_data(idata)
19057 460439 : data_tmp = ISHFT(data_tmp, 37)
19058 460439 : data_tmp = IAND(data_tmp, mask_left(13))
19059 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19060 460439 : ipack = ipack + 1
19061 460439 : packed_data(ipack) = pack_tmp
19062 460439 : data_tmp = full_data(idata)
19063 460439 : pack_tmp = ISHFT(data_tmp, 50)
19064 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19065 460439 : idata = idata + 1
19066 460439 : data_tmp = full_data(idata)
19067 460439 : data_tmp = ISHFT(data_tmp, 37)
19068 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19069 460439 : pack_tmp = ISHFT(pack_tmp, -23)
19070 460439 : idata = idata + 1
19071 460439 : data_tmp = full_data(idata)
19072 460439 : data_tmp = ISHFT(data_tmp, 37)
19073 460439 : data_tmp = IAND(data_tmp, mask_left(23))
19074 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19075 460439 : ipack = ipack + 1
19076 460439 : packed_data(ipack) = pack_tmp
19077 460439 : data_tmp = full_data(idata)
19078 460439 : pack_tmp = ISHFT(data_tmp, 60)
19079 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19080 460439 : idata = idata + 1
19081 460439 : data_tmp = full_data(idata)
19082 460439 : data_tmp = ISHFT(data_tmp, 37)
19083 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19084 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19085 460439 : idata = idata + 1
19086 460439 : data_tmp = full_data(idata)
19087 460439 : data_tmp = ISHFT(data_tmp, 37)
19088 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19089 460439 : pack_tmp = ISHFT(pack_tmp, -6)
19090 460439 : idata = idata + 1
19091 460439 : data_tmp = full_data(idata)
19092 460439 : data_tmp = ISHFT(data_tmp, 37)
19093 460439 : data_tmp = IAND(data_tmp, mask_left(6))
19094 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19095 460439 : ipack = ipack + 1
19096 460439 : packed_data(ipack) = pack_tmp
19097 460439 : data_tmp = full_data(idata)
19098 460439 : pack_tmp = ISHFT(data_tmp, 43)
19099 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19100 460439 : idata = idata + 1
19101 460439 : data_tmp = full_data(idata)
19102 460439 : data_tmp = ISHFT(data_tmp, 37)
19103 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19104 460439 : pack_tmp = ISHFT(pack_tmp, -16)
19105 460439 : idata = idata + 1
19106 460439 : data_tmp = full_data(idata)
19107 460439 : data_tmp = ISHFT(data_tmp, 37)
19108 460439 : data_tmp = IAND(data_tmp, mask_left(16))
19109 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19110 460439 : ipack = ipack + 1
19111 460439 : packed_data(ipack) = pack_tmp
19112 460439 : data_tmp = full_data(idata)
19113 460439 : pack_tmp = ISHFT(data_tmp, 53)
19114 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19115 460439 : idata = idata + 1
19116 460439 : data_tmp = full_data(idata)
19117 460439 : data_tmp = ISHFT(data_tmp, 37)
19118 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19119 460439 : pack_tmp = ISHFT(pack_tmp, -26)
19120 460439 : idata = idata + 1
19121 460439 : data_tmp = full_data(idata)
19122 460439 : data_tmp = ISHFT(data_tmp, 37)
19123 460439 : data_tmp = IAND(data_tmp, mask_left(26))
19124 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19125 460439 : ipack = ipack + 1
19126 460439 : packed_data(ipack) = pack_tmp
19127 460439 : data_tmp = full_data(idata)
19128 460439 : pack_tmp = ISHFT(data_tmp, 63)
19129 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19130 460439 : idata = idata + 1
19131 460439 : data_tmp = full_data(idata)
19132 460439 : data_tmp = ISHFT(data_tmp, 37)
19133 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19134 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19135 460439 : idata = idata + 1
19136 460439 : data_tmp = full_data(idata)
19137 460439 : data_tmp = ISHFT(data_tmp, 37)
19138 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19139 460439 : pack_tmp = ISHFT(pack_tmp, -9)
19140 460439 : idata = idata + 1
19141 460439 : data_tmp = full_data(idata)
19142 460439 : data_tmp = ISHFT(data_tmp, 37)
19143 460439 : data_tmp = IAND(data_tmp, mask_left(9))
19144 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19145 460439 : ipack = ipack + 1
19146 460439 : packed_data(ipack) = pack_tmp
19147 460439 : data_tmp = full_data(idata)
19148 460439 : pack_tmp = ISHFT(data_tmp, 46)
19149 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19150 460439 : idata = idata + 1
19151 460439 : data_tmp = full_data(idata)
19152 460439 : data_tmp = ISHFT(data_tmp, 37)
19153 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19154 460439 : pack_tmp = ISHFT(pack_tmp, -19)
19155 460439 : idata = idata + 1
19156 460439 : data_tmp = full_data(idata)
19157 460439 : data_tmp = ISHFT(data_tmp, 37)
19158 460439 : data_tmp = IAND(data_tmp, mask_left(19))
19159 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19160 460439 : ipack = ipack + 1
19161 460439 : packed_data(ipack) = pack_tmp
19162 460439 : data_tmp = full_data(idata)
19163 460439 : pack_tmp = ISHFT(data_tmp, 56)
19164 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19165 460439 : idata = idata + 1
19166 460439 : data_tmp = full_data(idata)
19167 460439 : data_tmp = ISHFT(data_tmp, 37)
19168 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19169 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19170 460439 : idata = idata + 1
19171 460439 : data_tmp = full_data(idata)
19172 460439 : data_tmp = ISHFT(data_tmp, 37)
19173 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19174 460439 : pack_tmp = ISHFT(pack_tmp, -2)
19175 460439 : idata = idata + 1
19176 460439 : data_tmp = full_data(idata)
19177 460439 : data_tmp = ISHFT(data_tmp, 37)
19178 460439 : data_tmp = IAND(data_tmp, mask_left(2))
19179 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19180 460439 : ipack = ipack + 1
19181 460439 : packed_data(ipack) = pack_tmp
19182 460439 : data_tmp = full_data(idata)
19183 460439 : pack_tmp = ISHFT(data_tmp, 39)
19184 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19185 460439 : idata = idata + 1
19186 460439 : data_tmp = full_data(idata)
19187 460439 : data_tmp = ISHFT(data_tmp, 37)
19188 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19189 460439 : pack_tmp = ISHFT(pack_tmp, -12)
19190 460439 : idata = idata + 1
19191 460439 : data_tmp = full_data(idata)
19192 460439 : data_tmp = ISHFT(data_tmp, 37)
19193 460439 : data_tmp = IAND(data_tmp, mask_left(12))
19194 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19195 460439 : ipack = ipack + 1
19196 460439 : packed_data(ipack) = pack_tmp
19197 460439 : data_tmp = full_data(idata)
19198 460439 : pack_tmp = ISHFT(data_tmp, 49)
19199 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19200 460439 : idata = idata + 1
19201 460439 : data_tmp = full_data(idata)
19202 460439 : data_tmp = ISHFT(data_tmp, 37)
19203 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19204 460439 : pack_tmp = ISHFT(pack_tmp, -22)
19205 460439 : idata = idata + 1
19206 460439 : data_tmp = full_data(idata)
19207 460439 : data_tmp = ISHFT(data_tmp, 37)
19208 460439 : data_tmp = IAND(data_tmp, mask_left(22))
19209 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19210 460439 : ipack = ipack + 1
19211 460439 : packed_data(ipack) = pack_tmp
19212 460439 : data_tmp = full_data(idata)
19213 460439 : pack_tmp = ISHFT(data_tmp, 59)
19214 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19215 460439 : idata = idata + 1
19216 460439 : data_tmp = full_data(idata)
19217 460439 : data_tmp = ISHFT(data_tmp, 37)
19218 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19219 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19220 460439 : idata = idata + 1
19221 460439 : data_tmp = full_data(idata)
19222 460439 : data_tmp = ISHFT(data_tmp, 37)
19223 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19224 460439 : pack_tmp = ISHFT(pack_tmp, -5)
19225 460439 : idata = idata + 1
19226 460439 : data_tmp = full_data(idata)
19227 460439 : data_tmp = ISHFT(data_tmp, 37)
19228 460439 : data_tmp = IAND(data_tmp, mask_left(5))
19229 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19230 460439 : ipack = ipack + 1
19231 460439 : packed_data(ipack) = pack_tmp
19232 460439 : data_tmp = full_data(idata)
19233 460439 : pack_tmp = ISHFT(data_tmp, 42)
19234 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19235 460439 : idata = idata + 1
19236 460439 : data_tmp = full_data(idata)
19237 460439 : data_tmp = ISHFT(data_tmp, 37)
19238 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19239 460439 : pack_tmp = ISHFT(pack_tmp, -15)
19240 460439 : idata = idata + 1
19241 460439 : data_tmp = full_data(idata)
19242 460439 : data_tmp = ISHFT(data_tmp, 37)
19243 460439 : data_tmp = IAND(data_tmp, mask_left(15))
19244 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19245 460439 : ipack = ipack + 1
19246 460439 : packed_data(ipack) = pack_tmp
19247 460439 : data_tmp = full_data(idata)
19248 460439 : pack_tmp = ISHFT(data_tmp, 52)
19249 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19250 460439 : idata = idata + 1
19251 460439 : data_tmp = full_data(idata)
19252 460439 : data_tmp = ISHFT(data_tmp, 37)
19253 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19254 460439 : pack_tmp = ISHFT(pack_tmp, -25)
19255 460439 : idata = idata + 1
19256 460439 : data_tmp = full_data(idata)
19257 460439 : data_tmp = ISHFT(data_tmp, 37)
19258 460439 : data_tmp = IAND(data_tmp, mask_left(25))
19259 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19260 460439 : ipack = ipack + 1
19261 460439 : packed_data(ipack) = pack_tmp
19262 460439 : data_tmp = full_data(idata)
19263 460439 : pack_tmp = ISHFT(data_tmp, 62)
19264 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19265 460439 : idata = idata + 1
19266 460439 : data_tmp = full_data(idata)
19267 460439 : data_tmp = ISHFT(data_tmp, 37)
19268 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19269 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19270 460439 : idata = idata + 1
19271 460439 : data_tmp = full_data(idata)
19272 460439 : data_tmp = ISHFT(data_tmp, 37)
19273 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19274 460439 : pack_tmp = ISHFT(pack_tmp, -8)
19275 460439 : idata = idata + 1
19276 460439 : data_tmp = full_data(idata)
19277 460439 : data_tmp = ISHFT(data_tmp, 37)
19278 460439 : data_tmp = IAND(data_tmp, mask_left(8))
19279 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19280 460439 : ipack = ipack + 1
19281 460439 : packed_data(ipack) = pack_tmp
19282 460439 : data_tmp = full_data(idata)
19283 460439 : pack_tmp = ISHFT(data_tmp, 45)
19284 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19285 460439 : idata = idata + 1
19286 460439 : data_tmp = full_data(idata)
19287 460439 : data_tmp = ISHFT(data_tmp, 37)
19288 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19289 460439 : pack_tmp = ISHFT(pack_tmp, -18)
19290 460439 : idata = idata + 1
19291 460439 : data_tmp = full_data(idata)
19292 460439 : data_tmp = ISHFT(data_tmp, 37)
19293 460439 : data_tmp = IAND(data_tmp, mask_left(18))
19294 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19295 460439 : ipack = ipack + 1
19296 460439 : packed_data(ipack) = pack_tmp
19297 460439 : data_tmp = full_data(idata)
19298 460439 : pack_tmp = ISHFT(data_tmp, 55)
19299 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19300 460439 : idata = idata + 1
19301 460439 : data_tmp = full_data(idata)
19302 460439 : data_tmp = ISHFT(data_tmp, 37)
19303 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19304 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19305 460439 : idata = idata + 1
19306 460439 : data_tmp = full_data(idata)
19307 460439 : data_tmp = ISHFT(data_tmp, 37)
19308 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19309 460439 : pack_tmp = ISHFT(pack_tmp, -1)
19310 460439 : idata = idata + 1
19311 460439 : data_tmp = full_data(idata)
19312 460439 : data_tmp = ISHFT(data_tmp, 37)
19313 460439 : data_tmp = IAND(data_tmp, mask_left(1))
19314 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19315 460439 : ipack = ipack + 1
19316 460439 : packed_data(ipack) = pack_tmp
19317 460439 : data_tmp = full_data(idata)
19318 460439 : pack_tmp = ISHFT(data_tmp, 38)
19319 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19320 460439 : idata = idata + 1
19321 460439 : data_tmp = full_data(idata)
19322 460439 : data_tmp = ISHFT(data_tmp, 37)
19323 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19324 460439 : pack_tmp = ISHFT(pack_tmp, -11)
19325 460439 : idata = idata + 1
19326 460439 : data_tmp = full_data(idata)
19327 460439 : data_tmp = ISHFT(data_tmp, 37)
19328 460439 : data_tmp = IAND(data_tmp, mask_left(11))
19329 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19330 460439 : ipack = ipack + 1
19331 460439 : packed_data(ipack) = pack_tmp
19332 460439 : data_tmp = full_data(idata)
19333 460439 : pack_tmp = ISHFT(data_tmp, 48)
19334 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19335 460439 : idata = idata + 1
19336 460439 : data_tmp = full_data(idata)
19337 460439 : data_tmp = ISHFT(data_tmp, 37)
19338 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19339 460439 : pack_tmp = ISHFT(pack_tmp, -21)
19340 460439 : idata = idata + 1
19341 460439 : data_tmp = full_data(idata)
19342 460439 : data_tmp = ISHFT(data_tmp, 37)
19343 460439 : data_tmp = IAND(data_tmp, mask_left(21))
19344 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19345 460439 : ipack = ipack + 1
19346 460439 : packed_data(ipack) = pack_tmp
19347 460439 : data_tmp = full_data(idata)
19348 460439 : pack_tmp = ISHFT(data_tmp, 58)
19349 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19350 460439 : idata = idata + 1
19351 460439 : data_tmp = full_data(idata)
19352 460439 : data_tmp = ISHFT(data_tmp, 37)
19353 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19354 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19355 460439 : idata = idata + 1
19356 460439 : data_tmp = full_data(idata)
19357 460439 : data_tmp = ISHFT(data_tmp, 37)
19358 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19359 460439 : pack_tmp = ISHFT(pack_tmp, -4)
19360 460439 : idata = idata + 1
19361 460439 : data_tmp = full_data(idata)
19362 460439 : data_tmp = ISHFT(data_tmp, 37)
19363 460439 : data_tmp = IAND(data_tmp, mask_left(4))
19364 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19365 460439 : ipack = ipack + 1
19366 460439 : packed_data(ipack) = pack_tmp
19367 460439 : data_tmp = full_data(idata)
19368 460439 : pack_tmp = ISHFT(data_tmp, 41)
19369 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19370 460439 : idata = idata + 1
19371 460439 : data_tmp = full_data(idata)
19372 460439 : data_tmp = ISHFT(data_tmp, 37)
19373 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19374 460439 : pack_tmp = ISHFT(pack_tmp, -14)
19375 460439 : idata = idata + 1
19376 460439 : data_tmp = full_data(idata)
19377 460439 : data_tmp = ISHFT(data_tmp, 37)
19378 460439 : data_tmp = IAND(data_tmp, mask_left(14))
19379 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19380 460439 : ipack = ipack + 1
19381 460439 : packed_data(ipack) = pack_tmp
19382 460439 : data_tmp = full_data(idata)
19383 460439 : pack_tmp = ISHFT(data_tmp, 51)
19384 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19385 460439 : idata = idata + 1
19386 460439 : data_tmp = full_data(idata)
19387 460439 : data_tmp = ISHFT(data_tmp, 37)
19388 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19389 460439 : pack_tmp = ISHFT(pack_tmp, -24)
19390 460439 : idata = idata + 1
19391 460439 : data_tmp = full_data(idata)
19392 460439 : data_tmp = ISHFT(data_tmp, 37)
19393 460439 : data_tmp = IAND(data_tmp, mask_left(24))
19394 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19395 460439 : ipack = ipack + 1
19396 460439 : packed_data(ipack) = pack_tmp
19397 460439 : data_tmp = full_data(idata)
19398 460439 : pack_tmp = ISHFT(data_tmp, 61)
19399 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19400 460439 : idata = idata + 1
19401 460439 : data_tmp = full_data(idata)
19402 460439 : data_tmp = ISHFT(data_tmp, 37)
19403 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19404 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19405 460439 : idata = idata + 1
19406 460439 : data_tmp = full_data(idata)
19407 460439 : data_tmp = ISHFT(data_tmp, 37)
19408 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19409 460439 : pack_tmp = ISHFT(pack_tmp, -7)
19410 460439 : idata = idata + 1
19411 460439 : data_tmp = full_data(idata)
19412 460439 : data_tmp = ISHFT(data_tmp, 37)
19413 460439 : data_tmp = IAND(data_tmp, mask_left(7))
19414 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19415 460439 : ipack = ipack + 1
19416 460439 : packed_data(ipack) = pack_tmp
19417 460439 : data_tmp = full_data(idata)
19418 460439 : pack_tmp = ISHFT(data_tmp, 44)
19419 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19420 460439 : idata = idata + 1
19421 460439 : data_tmp = full_data(idata)
19422 460439 : data_tmp = ISHFT(data_tmp, 37)
19423 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19424 460439 : pack_tmp = ISHFT(pack_tmp, -17)
19425 460439 : idata = idata + 1
19426 460439 : data_tmp = full_data(idata)
19427 460439 : data_tmp = ISHFT(data_tmp, 37)
19428 460439 : data_tmp = IAND(data_tmp, mask_left(17))
19429 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19430 460439 : ipack = ipack + 1
19431 460439 : packed_data(ipack) = pack_tmp
19432 460439 : data_tmp = full_data(idata)
19433 460439 : pack_tmp = ISHFT(data_tmp, 54)
19434 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19435 460439 : idata = idata + 1
19436 460439 : data_tmp = full_data(idata)
19437 460439 : data_tmp = ISHFT(data_tmp, 37)
19438 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19439 460439 : pack_tmp = ISHFT(pack_tmp, -27)
19440 460439 : idata = idata + 1
19441 460439 : data_tmp = full_data(idata)
19442 460439 : data_tmp = ISHFT(data_tmp, 37)
19443 460439 : pack_tmp = IOR(pack_tmp, data_tmp)
19444 : pack_tmp = ISHFT(pack_tmp, 0)
19445 460439 : pack_tmp = ISHFT(pack_tmp, 0)
19446 460439 : ipack = ipack + 1
19447 460522 : packed_data(ipack) = pack_tmp
19448 : END DO
19449 30487 : IF (Ndata_rep < Ndata) THEN
19450 3218 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
19451 : END IF
19452 30487 : END SUBROUTINE ints2bits_27
19453 :
19454 : ! **************************************************************************************************
19455 : !> \brief ...
19456 : !> \param Ndata ...
19457 : !> \param packed_data ...
19458 : !> \param full_data ...
19459 : ! **************************************************************************************************
19460 138233 : 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(*)
19464 :
19465 : INTEGER, PARAMETER :: Nbits = 27
19466 :
19467 : INTEGER :: idata, ipack, kdata, Ndata_rep
19468 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
19469 :
19470 138233 : ipack = 0
19471 138233 : idata = 0
19472 138233 : pack_tmp = 0
19473 138233 : Ndata_rep = (Ndata/64)*64
19474 138233 : DO kdata = 1, Ndata_rep, 64
19475 2024813 : idata = idata + 1
19476 2024813 : data_tmp = ISHFT(pack_tmp, 27)
19477 2024813 : ipack = ipack + 1
19478 2024813 : pack_tmp = packed_data(ipack)
19479 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
19480 2024813 : pack_tmp = ISHFT(pack_tmp, -27)
19481 2024813 : idata = idata + 1
19482 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19483 2024813 : full_data(idata) = data_tmp
19484 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19485 2024813 : idata = idata + 1
19486 2024813 : data_tmp = ISHFT(pack_tmp, 17)
19487 2024813 : ipack = ipack + 1
19488 2024813 : pack_tmp = packed_data(ipack)
19489 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
19490 2024813 : pack_tmp = ISHFT(pack_tmp, -17)
19491 2024813 : idata = idata + 1
19492 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19493 2024813 : full_data(idata) = data_tmp
19494 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19495 2024813 : idata = idata + 1
19496 2024813 : data_tmp = ISHFT(pack_tmp, 7)
19497 2024813 : ipack = ipack + 1
19498 2024813 : pack_tmp = packed_data(ipack)
19499 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
19500 2024813 : pack_tmp = ISHFT(pack_tmp, -7)
19501 2024813 : idata = idata + 1
19502 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19503 2024813 : full_data(idata) = data_tmp
19504 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19505 2024813 : idata = idata + 1
19506 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19507 2024813 : full_data(idata) = data_tmp
19508 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19509 2024813 : idata = idata + 1
19510 2024813 : data_tmp = ISHFT(pack_tmp, 24)
19511 2024813 : ipack = ipack + 1
19512 2024813 : pack_tmp = packed_data(ipack)
19513 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
19514 2024813 : pack_tmp = ISHFT(pack_tmp, -24)
19515 2024813 : idata = idata + 1
19516 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19517 2024813 : full_data(idata) = data_tmp
19518 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19519 2024813 : idata = idata + 1
19520 2024813 : data_tmp = ISHFT(pack_tmp, 14)
19521 2024813 : ipack = ipack + 1
19522 2024813 : pack_tmp = packed_data(ipack)
19523 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
19524 2024813 : pack_tmp = ISHFT(pack_tmp, -14)
19525 2024813 : idata = idata + 1
19526 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19527 2024813 : full_data(idata) = data_tmp
19528 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19529 2024813 : idata = idata + 1
19530 2024813 : data_tmp = ISHFT(pack_tmp, 4)
19531 2024813 : ipack = ipack + 1
19532 2024813 : pack_tmp = packed_data(ipack)
19533 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
19534 2024813 : pack_tmp = ISHFT(pack_tmp, -4)
19535 2024813 : idata = idata + 1
19536 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19537 2024813 : full_data(idata) = data_tmp
19538 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19539 2024813 : idata = idata + 1
19540 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19541 2024813 : full_data(idata) = data_tmp
19542 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19543 2024813 : idata = idata + 1
19544 2024813 : data_tmp = ISHFT(pack_tmp, 21)
19545 2024813 : ipack = ipack + 1
19546 2024813 : pack_tmp = packed_data(ipack)
19547 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
19548 2024813 : pack_tmp = ISHFT(pack_tmp, -21)
19549 2024813 : idata = idata + 1
19550 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19551 2024813 : full_data(idata) = data_tmp
19552 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19553 2024813 : idata = idata + 1
19554 2024813 : data_tmp = ISHFT(pack_tmp, 11)
19555 2024813 : ipack = ipack + 1
19556 2024813 : pack_tmp = packed_data(ipack)
19557 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
19558 2024813 : pack_tmp = ISHFT(pack_tmp, -11)
19559 2024813 : idata = idata + 1
19560 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19561 2024813 : full_data(idata) = data_tmp
19562 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19563 2024813 : idata = idata + 1
19564 2024813 : data_tmp = ISHFT(pack_tmp, 1)
19565 2024813 : ipack = ipack + 1
19566 2024813 : pack_tmp = packed_data(ipack)
19567 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
19568 2024813 : pack_tmp = ISHFT(pack_tmp, -1)
19569 2024813 : idata = idata + 1
19570 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19571 2024813 : full_data(idata) = data_tmp
19572 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19573 2024813 : idata = idata + 1
19574 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19575 2024813 : full_data(idata) = data_tmp
19576 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19577 2024813 : idata = idata + 1
19578 2024813 : data_tmp = ISHFT(pack_tmp, 18)
19579 2024813 : ipack = ipack + 1
19580 2024813 : pack_tmp = packed_data(ipack)
19581 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
19582 2024813 : pack_tmp = ISHFT(pack_tmp, -18)
19583 2024813 : idata = idata + 1
19584 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19585 2024813 : full_data(idata) = data_tmp
19586 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19587 2024813 : idata = idata + 1
19588 2024813 : data_tmp = ISHFT(pack_tmp, 8)
19589 2024813 : ipack = ipack + 1
19590 2024813 : pack_tmp = packed_data(ipack)
19591 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
19592 2024813 : pack_tmp = ISHFT(pack_tmp, -8)
19593 2024813 : idata = idata + 1
19594 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19595 2024813 : full_data(idata) = data_tmp
19596 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19597 2024813 : idata = idata + 1
19598 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19599 2024813 : full_data(idata) = data_tmp
19600 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19601 2024813 : idata = idata + 1
19602 2024813 : data_tmp = ISHFT(pack_tmp, 25)
19603 2024813 : ipack = ipack + 1
19604 2024813 : pack_tmp = packed_data(ipack)
19605 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
19606 2024813 : pack_tmp = ISHFT(pack_tmp, -25)
19607 2024813 : idata = idata + 1
19608 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19609 2024813 : full_data(idata) = data_tmp
19610 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19611 2024813 : idata = idata + 1
19612 2024813 : data_tmp = ISHFT(pack_tmp, 15)
19613 2024813 : ipack = ipack + 1
19614 2024813 : pack_tmp = packed_data(ipack)
19615 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
19616 2024813 : pack_tmp = ISHFT(pack_tmp, -15)
19617 2024813 : idata = idata + 1
19618 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19619 2024813 : full_data(idata) = data_tmp
19620 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19621 2024813 : idata = idata + 1
19622 2024813 : data_tmp = ISHFT(pack_tmp, 5)
19623 2024813 : ipack = ipack + 1
19624 2024813 : pack_tmp = packed_data(ipack)
19625 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
19626 2024813 : pack_tmp = ISHFT(pack_tmp, -5)
19627 2024813 : idata = idata + 1
19628 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19629 2024813 : full_data(idata) = data_tmp
19630 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19631 2024813 : idata = idata + 1
19632 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19633 2024813 : full_data(idata) = data_tmp
19634 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19635 2024813 : idata = idata + 1
19636 2024813 : data_tmp = ISHFT(pack_tmp, 22)
19637 2024813 : ipack = ipack + 1
19638 2024813 : pack_tmp = packed_data(ipack)
19639 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
19640 2024813 : pack_tmp = ISHFT(pack_tmp, -22)
19641 2024813 : idata = idata + 1
19642 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19643 2024813 : full_data(idata) = data_tmp
19644 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19645 2024813 : idata = idata + 1
19646 2024813 : data_tmp = ISHFT(pack_tmp, 12)
19647 2024813 : ipack = ipack + 1
19648 2024813 : pack_tmp = packed_data(ipack)
19649 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
19650 2024813 : pack_tmp = ISHFT(pack_tmp, -12)
19651 2024813 : idata = idata + 1
19652 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19653 2024813 : full_data(idata) = data_tmp
19654 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19655 2024813 : idata = idata + 1
19656 2024813 : data_tmp = ISHFT(pack_tmp, 2)
19657 2024813 : ipack = ipack + 1
19658 2024813 : pack_tmp = packed_data(ipack)
19659 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
19660 2024813 : pack_tmp = ISHFT(pack_tmp, -2)
19661 2024813 : idata = idata + 1
19662 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19663 2024813 : full_data(idata) = data_tmp
19664 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19665 2024813 : idata = idata + 1
19666 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19667 2024813 : full_data(idata) = data_tmp
19668 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19669 2024813 : idata = idata + 1
19670 2024813 : data_tmp = ISHFT(pack_tmp, 19)
19671 2024813 : ipack = ipack + 1
19672 2024813 : pack_tmp = packed_data(ipack)
19673 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
19674 2024813 : pack_tmp = ISHFT(pack_tmp, -19)
19675 2024813 : idata = idata + 1
19676 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19677 2024813 : full_data(idata) = data_tmp
19678 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19679 2024813 : idata = idata + 1
19680 2024813 : data_tmp = ISHFT(pack_tmp, 9)
19681 2024813 : ipack = ipack + 1
19682 2024813 : pack_tmp = packed_data(ipack)
19683 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
19684 2024813 : pack_tmp = ISHFT(pack_tmp, -9)
19685 2024813 : idata = idata + 1
19686 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19687 2024813 : full_data(idata) = data_tmp
19688 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19689 2024813 : idata = idata + 1
19690 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19691 2024813 : full_data(idata) = data_tmp
19692 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19693 2024813 : idata = idata + 1
19694 2024813 : data_tmp = ISHFT(pack_tmp, 26)
19695 2024813 : ipack = ipack + 1
19696 2024813 : pack_tmp = packed_data(ipack)
19697 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
19698 2024813 : pack_tmp = ISHFT(pack_tmp, -26)
19699 2024813 : idata = idata + 1
19700 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19701 2024813 : full_data(idata) = data_tmp
19702 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19703 2024813 : idata = idata + 1
19704 2024813 : data_tmp = ISHFT(pack_tmp, 16)
19705 2024813 : ipack = ipack + 1
19706 2024813 : pack_tmp = packed_data(ipack)
19707 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
19708 2024813 : pack_tmp = ISHFT(pack_tmp, -16)
19709 2024813 : idata = idata + 1
19710 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19711 2024813 : full_data(idata) = data_tmp
19712 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19713 2024813 : idata = idata + 1
19714 2024813 : data_tmp = ISHFT(pack_tmp, 6)
19715 2024813 : ipack = ipack + 1
19716 2024813 : pack_tmp = packed_data(ipack)
19717 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
19718 2024813 : pack_tmp = ISHFT(pack_tmp, -6)
19719 2024813 : idata = idata + 1
19720 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19721 2024813 : full_data(idata) = data_tmp
19722 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19723 2024813 : idata = idata + 1
19724 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19725 2024813 : full_data(idata) = data_tmp
19726 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19727 2024813 : idata = idata + 1
19728 2024813 : data_tmp = ISHFT(pack_tmp, 23)
19729 2024813 : ipack = ipack + 1
19730 2024813 : pack_tmp = packed_data(ipack)
19731 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
19732 2024813 : pack_tmp = ISHFT(pack_tmp, -23)
19733 2024813 : idata = idata + 1
19734 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19735 2024813 : full_data(idata) = data_tmp
19736 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19737 2024813 : idata = idata + 1
19738 2024813 : data_tmp = ISHFT(pack_tmp, 13)
19739 2024813 : ipack = ipack + 1
19740 2024813 : pack_tmp = packed_data(ipack)
19741 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
19742 2024813 : pack_tmp = ISHFT(pack_tmp, -13)
19743 2024813 : idata = idata + 1
19744 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19745 2024813 : full_data(idata) = data_tmp
19746 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19747 2024813 : idata = idata + 1
19748 2024813 : data_tmp = ISHFT(pack_tmp, 3)
19749 2024813 : ipack = ipack + 1
19750 2024813 : pack_tmp = packed_data(ipack)
19751 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
19752 2024813 : pack_tmp = ISHFT(pack_tmp, -3)
19753 2024813 : idata = idata + 1
19754 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19755 2024813 : full_data(idata) = data_tmp
19756 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19757 2024813 : idata = idata + 1
19758 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19759 2024813 : full_data(idata) = data_tmp
19760 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19761 2024813 : idata = idata + 1
19762 2024813 : data_tmp = ISHFT(pack_tmp, 20)
19763 2024813 : ipack = ipack + 1
19764 2024813 : pack_tmp = packed_data(ipack)
19765 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
19766 2024813 : pack_tmp = ISHFT(pack_tmp, -20)
19767 2024813 : idata = idata + 1
19768 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19769 2024813 : full_data(idata) = data_tmp
19770 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19771 2024813 : idata = idata + 1
19772 2024813 : data_tmp = ISHFT(pack_tmp, 10)
19773 2024813 : ipack = ipack + 1
19774 2024813 : pack_tmp = packed_data(ipack)
19775 2024813 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
19776 2024813 : pack_tmp = ISHFT(pack_tmp, -10)
19777 2024813 : idata = idata + 1
19778 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19779 2024813 : full_data(idata) = data_tmp
19780 2024813 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19781 2024813 : idata = idata + 1
19782 2024813 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
19783 2024813 : full_data(idata) = data_tmp
19784 2025407 : pack_tmp = ISHFT(pack_tmp, -Nbits)
19785 : END DO
19786 138233 : IF (Ndata_rep < Ndata) THEN
19787 21990 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
19788 : END IF
19789 138233 : END SUBROUTINE bits2ints_27
19790 :
19791 : ! **************************************************************************************************
19792 : !> \brief ...
19793 : !> \param Ndata ...
19794 : !> \param packed_data ...
19795 : !> \param full_data ...
19796 : ! **************************************************************************************************
19797 34914 : 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(*)
19801 :
19802 : INTEGER, PARAMETER :: Nbits = 28
19803 :
19804 : INTEGER :: idata, ipack, kdata, Ndata_rep
19805 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
19806 :
19807 34914 : idata = 0
19808 34914 : ipack = 0
19809 34914 : Ndata_rep = (Ndata/64)*64
19810 34914 : DO kdata = 1, Ndata_rep, 64
19811 504698 : pack_tmp = 0
19812 504698 : idata = idata + 1
19813 504698 : data_tmp = full_data(idata)
19814 504698 : data_tmp = ISHFT(data_tmp, 36)
19815 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19816 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19817 504698 : idata = idata + 1
19818 504698 : data_tmp = full_data(idata)
19819 504698 : data_tmp = ISHFT(data_tmp, 36)
19820 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19821 504698 : pack_tmp = ISHFT(pack_tmp, -8)
19822 504698 : idata = idata + 1
19823 504698 : data_tmp = full_data(idata)
19824 504698 : data_tmp = ISHFT(data_tmp, 36)
19825 504698 : data_tmp = IAND(data_tmp, mask_left(8))
19826 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19827 504698 : ipack = ipack + 1
19828 504698 : packed_data(ipack) = pack_tmp
19829 504698 : data_tmp = full_data(idata)
19830 504698 : pack_tmp = ISHFT(data_tmp, 44)
19831 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19832 504698 : idata = idata + 1
19833 504698 : data_tmp = full_data(idata)
19834 504698 : data_tmp = ISHFT(data_tmp, 36)
19835 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19836 504698 : pack_tmp = ISHFT(pack_tmp, -16)
19837 504698 : idata = idata + 1
19838 504698 : data_tmp = full_data(idata)
19839 504698 : data_tmp = ISHFT(data_tmp, 36)
19840 504698 : data_tmp = IAND(data_tmp, mask_left(16))
19841 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19842 504698 : ipack = ipack + 1
19843 504698 : packed_data(ipack) = pack_tmp
19844 504698 : data_tmp = full_data(idata)
19845 504698 : pack_tmp = ISHFT(data_tmp, 52)
19846 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19847 504698 : idata = idata + 1
19848 504698 : data_tmp = full_data(idata)
19849 504698 : data_tmp = ISHFT(data_tmp, 36)
19850 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19851 504698 : pack_tmp = ISHFT(pack_tmp, -24)
19852 504698 : idata = idata + 1
19853 504698 : data_tmp = full_data(idata)
19854 504698 : data_tmp = ISHFT(data_tmp, 36)
19855 504698 : data_tmp = IAND(data_tmp, mask_left(24))
19856 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19857 504698 : ipack = ipack + 1
19858 504698 : packed_data(ipack) = pack_tmp
19859 504698 : data_tmp = full_data(idata)
19860 504698 : pack_tmp = ISHFT(data_tmp, 60)
19861 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19862 504698 : idata = idata + 1
19863 504698 : data_tmp = full_data(idata)
19864 504698 : data_tmp = ISHFT(data_tmp, 36)
19865 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19866 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19867 504698 : idata = idata + 1
19868 504698 : data_tmp = full_data(idata)
19869 504698 : data_tmp = ISHFT(data_tmp, 36)
19870 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19871 504698 : pack_tmp = ISHFT(pack_tmp, -4)
19872 504698 : idata = idata + 1
19873 504698 : data_tmp = full_data(idata)
19874 504698 : data_tmp = ISHFT(data_tmp, 36)
19875 504698 : data_tmp = IAND(data_tmp, mask_left(4))
19876 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19877 504698 : ipack = ipack + 1
19878 504698 : packed_data(ipack) = pack_tmp
19879 504698 : data_tmp = full_data(idata)
19880 504698 : pack_tmp = ISHFT(data_tmp, 40)
19881 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19882 504698 : idata = idata + 1
19883 504698 : data_tmp = full_data(idata)
19884 504698 : data_tmp = ISHFT(data_tmp, 36)
19885 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19886 504698 : pack_tmp = ISHFT(pack_tmp, -12)
19887 504698 : idata = idata + 1
19888 504698 : data_tmp = full_data(idata)
19889 504698 : data_tmp = ISHFT(data_tmp, 36)
19890 504698 : data_tmp = IAND(data_tmp, mask_left(12))
19891 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19892 504698 : ipack = ipack + 1
19893 504698 : packed_data(ipack) = pack_tmp
19894 504698 : data_tmp = full_data(idata)
19895 504698 : pack_tmp = ISHFT(data_tmp, 48)
19896 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19897 504698 : idata = idata + 1
19898 504698 : data_tmp = full_data(idata)
19899 504698 : data_tmp = ISHFT(data_tmp, 36)
19900 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19901 504698 : pack_tmp = ISHFT(pack_tmp, -20)
19902 504698 : idata = idata + 1
19903 504698 : data_tmp = full_data(idata)
19904 504698 : data_tmp = ISHFT(data_tmp, 36)
19905 504698 : data_tmp = IAND(data_tmp, mask_left(20))
19906 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19907 504698 : ipack = ipack + 1
19908 504698 : packed_data(ipack) = pack_tmp
19909 504698 : data_tmp = full_data(idata)
19910 504698 : pack_tmp = ISHFT(data_tmp, 56)
19911 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19912 504698 : idata = idata + 1
19913 504698 : data_tmp = full_data(idata)
19914 504698 : data_tmp = ISHFT(data_tmp, 36)
19915 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19916 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19917 504698 : idata = idata + 1
19918 504698 : data_tmp = full_data(idata)
19919 504698 : data_tmp = ISHFT(data_tmp, 36)
19920 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19921 504698 : pack_tmp = ISHFT(pack_tmp, 0)
19922 504698 : idata = idata + 1
19923 504698 : data_tmp = full_data(idata)
19924 : data_tmp = ISHFT(data_tmp, 36)
19925 504698 : data_tmp = IAND(data_tmp, mask_left(0))
19926 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19927 504698 : ipack = ipack + 1
19928 504698 : packed_data(ipack) = pack_tmp
19929 504698 : data_tmp = full_data(idata)
19930 504698 : pack_tmp = ISHFT(data_tmp, 36)
19931 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19932 504698 : idata = idata + 1
19933 504698 : data_tmp = full_data(idata)
19934 504698 : data_tmp = ISHFT(data_tmp, 36)
19935 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19936 504698 : pack_tmp = ISHFT(pack_tmp, -8)
19937 504698 : idata = idata + 1
19938 504698 : data_tmp = full_data(idata)
19939 504698 : data_tmp = ISHFT(data_tmp, 36)
19940 504698 : data_tmp = IAND(data_tmp, mask_left(8))
19941 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19942 504698 : ipack = ipack + 1
19943 504698 : packed_data(ipack) = pack_tmp
19944 504698 : data_tmp = full_data(idata)
19945 504698 : pack_tmp = ISHFT(data_tmp, 44)
19946 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19947 504698 : idata = idata + 1
19948 504698 : data_tmp = full_data(idata)
19949 504698 : data_tmp = ISHFT(data_tmp, 36)
19950 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19951 504698 : pack_tmp = ISHFT(pack_tmp, -16)
19952 504698 : idata = idata + 1
19953 504698 : data_tmp = full_data(idata)
19954 504698 : data_tmp = ISHFT(data_tmp, 36)
19955 504698 : data_tmp = IAND(data_tmp, mask_left(16))
19956 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19957 504698 : ipack = ipack + 1
19958 504698 : packed_data(ipack) = pack_tmp
19959 504698 : data_tmp = full_data(idata)
19960 504698 : pack_tmp = ISHFT(data_tmp, 52)
19961 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19962 504698 : idata = idata + 1
19963 504698 : data_tmp = full_data(idata)
19964 504698 : data_tmp = ISHFT(data_tmp, 36)
19965 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19966 504698 : pack_tmp = ISHFT(pack_tmp, -24)
19967 504698 : idata = idata + 1
19968 504698 : data_tmp = full_data(idata)
19969 504698 : data_tmp = ISHFT(data_tmp, 36)
19970 504698 : data_tmp = IAND(data_tmp, mask_left(24))
19971 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19972 504698 : ipack = ipack + 1
19973 504698 : packed_data(ipack) = pack_tmp
19974 504698 : data_tmp = full_data(idata)
19975 504698 : pack_tmp = ISHFT(data_tmp, 60)
19976 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19977 504698 : idata = idata + 1
19978 504698 : data_tmp = full_data(idata)
19979 504698 : data_tmp = ISHFT(data_tmp, 36)
19980 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19981 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19982 504698 : idata = idata + 1
19983 504698 : data_tmp = full_data(idata)
19984 504698 : data_tmp = ISHFT(data_tmp, 36)
19985 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19986 504698 : pack_tmp = ISHFT(pack_tmp, -4)
19987 504698 : idata = idata + 1
19988 504698 : data_tmp = full_data(idata)
19989 504698 : data_tmp = ISHFT(data_tmp, 36)
19990 504698 : data_tmp = IAND(data_tmp, mask_left(4))
19991 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
19992 504698 : ipack = ipack + 1
19993 504698 : packed_data(ipack) = pack_tmp
19994 504698 : data_tmp = full_data(idata)
19995 504698 : pack_tmp = ISHFT(data_tmp, 40)
19996 504698 : pack_tmp = ISHFT(pack_tmp, -28)
19997 504698 : idata = idata + 1
19998 504698 : data_tmp = full_data(idata)
19999 504698 : data_tmp = ISHFT(data_tmp, 36)
20000 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20001 504698 : pack_tmp = ISHFT(pack_tmp, -12)
20002 504698 : idata = idata + 1
20003 504698 : data_tmp = full_data(idata)
20004 504698 : data_tmp = ISHFT(data_tmp, 36)
20005 504698 : data_tmp = IAND(data_tmp, mask_left(12))
20006 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20007 504698 : ipack = ipack + 1
20008 504698 : packed_data(ipack) = pack_tmp
20009 504698 : data_tmp = full_data(idata)
20010 504698 : pack_tmp = ISHFT(data_tmp, 48)
20011 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20012 504698 : idata = idata + 1
20013 504698 : data_tmp = full_data(idata)
20014 504698 : data_tmp = ISHFT(data_tmp, 36)
20015 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20016 504698 : pack_tmp = ISHFT(pack_tmp, -20)
20017 504698 : idata = idata + 1
20018 504698 : data_tmp = full_data(idata)
20019 504698 : data_tmp = ISHFT(data_tmp, 36)
20020 504698 : data_tmp = IAND(data_tmp, mask_left(20))
20021 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20022 504698 : ipack = ipack + 1
20023 504698 : packed_data(ipack) = pack_tmp
20024 504698 : data_tmp = full_data(idata)
20025 504698 : pack_tmp = ISHFT(data_tmp, 56)
20026 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20027 504698 : idata = idata + 1
20028 504698 : data_tmp = full_data(idata)
20029 504698 : data_tmp = ISHFT(data_tmp, 36)
20030 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20031 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20032 504698 : idata = idata + 1
20033 504698 : data_tmp = full_data(idata)
20034 504698 : data_tmp = ISHFT(data_tmp, 36)
20035 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20036 504698 : pack_tmp = ISHFT(pack_tmp, 0)
20037 504698 : idata = idata + 1
20038 504698 : data_tmp = full_data(idata)
20039 : data_tmp = ISHFT(data_tmp, 36)
20040 504698 : data_tmp = IAND(data_tmp, mask_left(0))
20041 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20042 504698 : ipack = ipack + 1
20043 504698 : packed_data(ipack) = pack_tmp
20044 504698 : data_tmp = full_data(idata)
20045 504698 : pack_tmp = ISHFT(data_tmp, 36)
20046 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20047 504698 : idata = idata + 1
20048 504698 : data_tmp = full_data(idata)
20049 504698 : data_tmp = ISHFT(data_tmp, 36)
20050 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20051 504698 : pack_tmp = ISHFT(pack_tmp, -8)
20052 504698 : idata = idata + 1
20053 504698 : data_tmp = full_data(idata)
20054 504698 : data_tmp = ISHFT(data_tmp, 36)
20055 504698 : data_tmp = IAND(data_tmp, mask_left(8))
20056 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20057 504698 : ipack = ipack + 1
20058 504698 : packed_data(ipack) = pack_tmp
20059 504698 : data_tmp = full_data(idata)
20060 504698 : pack_tmp = ISHFT(data_tmp, 44)
20061 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20062 504698 : idata = idata + 1
20063 504698 : data_tmp = full_data(idata)
20064 504698 : data_tmp = ISHFT(data_tmp, 36)
20065 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20066 504698 : pack_tmp = ISHFT(pack_tmp, -16)
20067 504698 : idata = idata + 1
20068 504698 : data_tmp = full_data(idata)
20069 504698 : data_tmp = ISHFT(data_tmp, 36)
20070 504698 : data_tmp = IAND(data_tmp, mask_left(16))
20071 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20072 504698 : ipack = ipack + 1
20073 504698 : packed_data(ipack) = pack_tmp
20074 504698 : data_tmp = full_data(idata)
20075 504698 : pack_tmp = ISHFT(data_tmp, 52)
20076 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20077 504698 : idata = idata + 1
20078 504698 : data_tmp = full_data(idata)
20079 504698 : data_tmp = ISHFT(data_tmp, 36)
20080 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20081 504698 : pack_tmp = ISHFT(pack_tmp, -24)
20082 504698 : idata = idata + 1
20083 504698 : data_tmp = full_data(idata)
20084 504698 : data_tmp = ISHFT(data_tmp, 36)
20085 504698 : data_tmp = IAND(data_tmp, mask_left(24))
20086 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20087 504698 : ipack = ipack + 1
20088 504698 : packed_data(ipack) = pack_tmp
20089 504698 : data_tmp = full_data(idata)
20090 504698 : pack_tmp = ISHFT(data_tmp, 60)
20091 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20092 504698 : idata = idata + 1
20093 504698 : data_tmp = full_data(idata)
20094 504698 : data_tmp = ISHFT(data_tmp, 36)
20095 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20096 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20097 504698 : idata = idata + 1
20098 504698 : data_tmp = full_data(idata)
20099 504698 : data_tmp = ISHFT(data_tmp, 36)
20100 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20101 504698 : pack_tmp = ISHFT(pack_tmp, -4)
20102 504698 : idata = idata + 1
20103 504698 : data_tmp = full_data(idata)
20104 504698 : data_tmp = ISHFT(data_tmp, 36)
20105 504698 : data_tmp = IAND(data_tmp, mask_left(4))
20106 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20107 504698 : ipack = ipack + 1
20108 504698 : packed_data(ipack) = pack_tmp
20109 504698 : data_tmp = full_data(idata)
20110 504698 : pack_tmp = ISHFT(data_tmp, 40)
20111 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20112 504698 : idata = idata + 1
20113 504698 : data_tmp = full_data(idata)
20114 504698 : data_tmp = ISHFT(data_tmp, 36)
20115 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20116 504698 : pack_tmp = ISHFT(pack_tmp, -12)
20117 504698 : idata = idata + 1
20118 504698 : data_tmp = full_data(idata)
20119 504698 : data_tmp = ISHFT(data_tmp, 36)
20120 504698 : data_tmp = IAND(data_tmp, mask_left(12))
20121 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20122 504698 : ipack = ipack + 1
20123 504698 : packed_data(ipack) = pack_tmp
20124 504698 : data_tmp = full_data(idata)
20125 504698 : pack_tmp = ISHFT(data_tmp, 48)
20126 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20127 504698 : idata = idata + 1
20128 504698 : data_tmp = full_data(idata)
20129 504698 : data_tmp = ISHFT(data_tmp, 36)
20130 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20131 504698 : pack_tmp = ISHFT(pack_tmp, -20)
20132 504698 : idata = idata + 1
20133 504698 : data_tmp = full_data(idata)
20134 504698 : data_tmp = ISHFT(data_tmp, 36)
20135 504698 : data_tmp = IAND(data_tmp, mask_left(20))
20136 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20137 504698 : ipack = ipack + 1
20138 504698 : packed_data(ipack) = pack_tmp
20139 504698 : data_tmp = full_data(idata)
20140 504698 : pack_tmp = ISHFT(data_tmp, 56)
20141 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20142 504698 : idata = idata + 1
20143 504698 : data_tmp = full_data(idata)
20144 504698 : data_tmp = ISHFT(data_tmp, 36)
20145 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20146 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20147 504698 : idata = idata + 1
20148 504698 : data_tmp = full_data(idata)
20149 504698 : data_tmp = ISHFT(data_tmp, 36)
20150 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20151 504698 : pack_tmp = ISHFT(pack_tmp, 0)
20152 504698 : idata = idata + 1
20153 504698 : data_tmp = full_data(idata)
20154 : data_tmp = ISHFT(data_tmp, 36)
20155 504698 : data_tmp = IAND(data_tmp, mask_left(0))
20156 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20157 504698 : ipack = ipack + 1
20158 504698 : packed_data(ipack) = pack_tmp
20159 504698 : data_tmp = full_data(idata)
20160 504698 : pack_tmp = ISHFT(data_tmp, 36)
20161 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20162 504698 : idata = idata + 1
20163 504698 : data_tmp = full_data(idata)
20164 504698 : data_tmp = ISHFT(data_tmp, 36)
20165 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20166 504698 : pack_tmp = ISHFT(pack_tmp, -8)
20167 504698 : idata = idata + 1
20168 504698 : data_tmp = full_data(idata)
20169 504698 : data_tmp = ISHFT(data_tmp, 36)
20170 504698 : data_tmp = IAND(data_tmp, mask_left(8))
20171 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20172 504698 : ipack = ipack + 1
20173 504698 : packed_data(ipack) = pack_tmp
20174 504698 : data_tmp = full_data(idata)
20175 504698 : pack_tmp = ISHFT(data_tmp, 44)
20176 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20177 504698 : idata = idata + 1
20178 504698 : data_tmp = full_data(idata)
20179 504698 : data_tmp = ISHFT(data_tmp, 36)
20180 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20181 504698 : pack_tmp = ISHFT(pack_tmp, -16)
20182 504698 : idata = idata + 1
20183 504698 : data_tmp = full_data(idata)
20184 504698 : data_tmp = ISHFT(data_tmp, 36)
20185 504698 : data_tmp = IAND(data_tmp, mask_left(16))
20186 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20187 504698 : ipack = ipack + 1
20188 504698 : packed_data(ipack) = pack_tmp
20189 504698 : data_tmp = full_data(idata)
20190 504698 : pack_tmp = ISHFT(data_tmp, 52)
20191 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20192 504698 : idata = idata + 1
20193 504698 : data_tmp = full_data(idata)
20194 504698 : data_tmp = ISHFT(data_tmp, 36)
20195 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20196 504698 : pack_tmp = ISHFT(pack_tmp, -24)
20197 504698 : idata = idata + 1
20198 504698 : data_tmp = full_data(idata)
20199 504698 : data_tmp = ISHFT(data_tmp, 36)
20200 504698 : data_tmp = IAND(data_tmp, mask_left(24))
20201 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20202 504698 : ipack = ipack + 1
20203 504698 : packed_data(ipack) = pack_tmp
20204 504698 : data_tmp = full_data(idata)
20205 504698 : pack_tmp = ISHFT(data_tmp, 60)
20206 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20207 504698 : idata = idata + 1
20208 504698 : data_tmp = full_data(idata)
20209 504698 : data_tmp = ISHFT(data_tmp, 36)
20210 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20211 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20212 504698 : idata = idata + 1
20213 504698 : data_tmp = full_data(idata)
20214 504698 : data_tmp = ISHFT(data_tmp, 36)
20215 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20216 504698 : pack_tmp = ISHFT(pack_tmp, -4)
20217 504698 : idata = idata + 1
20218 504698 : data_tmp = full_data(idata)
20219 504698 : data_tmp = ISHFT(data_tmp, 36)
20220 504698 : data_tmp = IAND(data_tmp, mask_left(4))
20221 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20222 504698 : ipack = ipack + 1
20223 504698 : packed_data(ipack) = pack_tmp
20224 504698 : data_tmp = full_data(idata)
20225 504698 : pack_tmp = ISHFT(data_tmp, 40)
20226 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20227 504698 : idata = idata + 1
20228 504698 : data_tmp = full_data(idata)
20229 504698 : data_tmp = ISHFT(data_tmp, 36)
20230 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20231 504698 : pack_tmp = ISHFT(pack_tmp, -12)
20232 504698 : idata = idata + 1
20233 504698 : data_tmp = full_data(idata)
20234 504698 : data_tmp = ISHFT(data_tmp, 36)
20235 504698 : data_tmp = IAND(data_tmp, mask_left(12))
20236 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20237 504698 : ipack = ipack + 1
20238 504698 : packed_data(ipack) = pack_tmp
20239 504698 : data_tmp = full_data(idata)
20240 504698 : pack_tmp = ISHFT(data_tmp, 48)
20241 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20242 504698 : idata = idata + 1
20243 504698 : data_tmp = full_data(idata)
20244 504698 : data_tmp = ISHFT(data_tmp, 36)
20245 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20246 504698 : pack_tmp = ISHFT(pack_tmp, -20)
20247 504698 : idata = idata + 1
20248 504698 : data_tmp = full_data(idata)
20249 504698 : data_tmp = ISHFT(data_tmp, 36)
20250 504698 : data_tmp = IAND(data_tmp, mask_left(20))
20251 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20252 504698 : ipack = ipack + 1
20253 504698 : packed_data(ipack) = pack_tmp
20254 504698 : data_tmp = full_data(idata)
20255 504698 : pack_tmp = ISHFT(data_tmp, 56)
20256 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20257 504698 : idata = idata + 1
20258 504698 : data_tmp = full_data(idata)
20259 504698 : data_tmp = ISHFT(data_tmp, 36)
20260 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20261 504698 : pack_tmp = ISHFT(pack_tmp, -28)
20262 504698 : idata = idata + 1
20263 504698 : data_tmp = full_data(idata)
20264 504698 : data_tmp = ISHFT(data_tmp, 36)
20265 504698 : pack_tmp = IOR(pack_tmp, data_tmp)
20266 : pack_tmp = ISHFT(pack_tmp, 0)
20267 504698 : pack_tmp = ISHFT(pack_tmp, 0)
20268 504698 : ipack = ipack + 1
20269 504807 : packed_data(ipack) = pack_tmp
20270 : END DO
20271 34914 : IF (Ndata_rep < Ndata) THEN
20272 6316 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
20273 : END IF
20274 34914 : END SUBROUTINE ints2bits_28
20275 :
20276 : ! **************************************************************************************************
20277 : !> \brief ...
20278 : !> \param Ndata ...
20279 : !> \param packed_data ...
20280 : !> \param full_data ...
20281 : ! **************************************************************************************************
20282 162275 : 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(*)
20286 :
20287 : INTEGER, PARAMETER :: Nbits = 28
20288 :
20289 : INTEGER :: idata, ipack, kdata, Ndata_rep
20290 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
20291 :
20292 162275 : ipack = 0
20293 162275 : idata = 0
20294 162275 : pack_tmp = 0
20295 162275 : Ndata_rep = (Ndata/64)*64
20296 162275 : DO kdata = 1, Ndata_rep, 64
20297 2278152 : idata = idata + 1
20298 2278152 : data_tmp = ISHFT(pack_tmp, 28)
20299 2278152 : ipack = ipack + 1
20300 2278152 : pack_tmp = packed_data(ipack)
20301 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20302 2278152 : pack_tmp = ISHFT(pack_tmp, -28)
20303 2278152 : idata = idata + 1
20304 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20305 2278152 : full_data(idata) = data_tmp
20306 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20307 2278152 : idata = idata + 1
20308 2278152 : data_tmp = ISHFT(pack_tmp, 20)
20309 2278152 : ipack = ipack + 1
20310 2278152 : pack_tmp = packed_data(ipack)
20311 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20312 2278152 : pack_tmp = ISHFT(pack_tmp, -20)
20313 2278152 : idata = idata + 1
20314 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20315 2278152 : full_data(idata) = data_tmp
20316 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20317 2278152 : idata = idata + 1
20318 2278152 : data_tmp = ISHFT(pack_tmp, 12)
20319 2278152 : ipack = ipack + 1
20320 2278152 : pack_tmp = packed_data(ipack)
20321 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20322 2278152 : pack_tmp = ISHFT(pack_tmp, -12)
20323 2278152 : idata = idata + 1
20324 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20325 2278152 : full_data(idata) = data_tmp
20326 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20327 2278152 : idata = idata + 1
20328 2278152 : data_tmp = ISHFT(pack_tmp, 4)
20329 2278152 : ipack = ipack + 1
20330 2278152 : pack_tmp = packed_data(ipack)
20331 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20332 2278152 : pack_tmp = ISHFT(pack_tmp, -4)
20333 2278152 : idata = idata + 1
20334 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20335 2278152 : full_data(idata) = data_tmp
20336 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20337 2278152 : idata = idata + 1
20338 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20339 2278152 : full_data(idata) = data_tmp
20340 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20341 2278152 : idata = idata + 1
20342 2278152 : data_tmp = ISHFT(pack_tmp, 24)
20343 2278152 : ipack = ipack + 1
20344 2278152 : pack_tmp = packed_data(ipack)
20345 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20346 2278152 : pack_tmp = ISHFT(pack_tmp, -24)
20347 2278152 : idata = idata + 1
20348 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20349 2278152 : full_data(idata) = data_tmp
20350 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20351 2278152 : idata = idata + 1
20352 2278152 : data_tmp = ISHFT(pack_tmp, 16)
20353 2278152 : ipack = ipack + 1
20354 2278152 : pack_tmp = packed_data(ipack)
20355 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20356 2278152 : pack_tmp = ISHFT(pack_tmp, -16)
20357 2278152 : idata = idata + 1
20358 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20359 2278152 : full_data(idata) = data_tmp
20360 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20361 2278152 : idata = idata + 1
20362 2278152 : data_tmp = ISHFT(pack_tmp, 8)
20363 2278152 : ipack = ipack + 1
20364 2278152 : pack_tmp = packed_data(ipack)
20365 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20366 2278152 : pack_tmp = ISHFT(pack_tmp, -8)
20367 2278152 : idata = idata + 1
20368 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20369 2278152 : full_data(idata) = data_tmp
20370 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20371 2278152 : idata = idata + 1
20372 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20373 2278152 : full_data(idata) = data_tmp
20374 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20375 2278152 : idata = idata + 1
20376 2278152 : data_tmp = ISHFT(pack_tmp, 28)
20377 2278152 : ipack = ipack + 1
20378 2278152 : pack_tmp = packed_data(ipack)
20379 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20380 2278152 : pack_tmp = ISHFT(pack_tmp, -28)
20381 2278152 : idata = idata + 1
20382 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20383 2278152 : full_data(idata) = data_tmp
20384 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20385 2278152 : idata = idata + 1
20386 2278152 : data_tmp = ISHFT(pack_tmp, 20)
20387 2278152 : ipack = ipack + 1
20388 2278152 : pack_tmp = packed_data(ipack)
20389 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20390 2278152 : pack_tmp = ISHFT(pack_tmp, -20)
20391 2278152 : idata = idata + 1
20392 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20393 2278152 : full_data(idata) = data_tmp
20394 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20395 2278152 : idata = idata + 1
20396 2278152 : data_tmp = ISHFT(pack_tmp, 12)
20397 2278152 : ipack = ipack + 1
20398 2278152 : pack_tmp = packed_data(ipack)
20399 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20400 2278152 : pack_tmp = ISHFT(pack_tmp, -12)
20401 2278152 : idata = idata + 1
20402 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20403 2278152 : full_data(idata) = data_tmp
20404 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20405 2278152 : idata = idata + 1
20406 2278152 : data_tmp = ISHFT(pack_tmp, 4)
20407 2278152 : ipack = ipack + 1
20408 2278152 : pack_tmp = packed_data(ipack)
20409 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20410 2278152 : pack_tmp = ISHFT(pack_tmp, -4)
20411 2278152 : idata = idata + 1
20412 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20413 2278152 : full_data(idata) = data_tmp
20414 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20415 2278152 : idata = idata + 1
20416 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20417 2278152 : full_data(idata) = data_tmp
20418 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20419 2278152 : idata = idata + 1
20420 2278152 : data_tmp = ISHFT(pack_tmp, 24)
20421 2278152 : ipack = ipack + 1
20422 2278152 : pack_tmp = packed_data(ipack)
20423 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20424 2278152 : pack_tmp = ISHFT(pack_tmp, -24)
20425 2278152 : idata = idata + 1
20426 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20427 2278152 : full_data(idata) = data_tmp
20428 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20429 2278152 : idata = idata + 1
20430 2278152 : data_tmp = ISHFT(pack_tmp, 16)
20431 2278152 : ipack = ipack + 1
20432 2278152 : pack_tmp = packed_data(ipack)
20433 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20434 2278152 : pack_tmp = ISHFT(pack_tmp, -16)
20435 2278152 : idata = idata + 1
20436 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20437 2278152 : full_data(idata) = data_tmp
20438 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20439 2278152 : idata = idata + 1
20440 2278152 : data_tmp = ISHFT(pack_tmp, 8)
20441 2278152 : ipack = ipack + 1
20442 2278152 : pack_tmp = packed_data(ipack)
20443 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20444 2278152 : pack_tmp = ISHFT(pack_tmp, -8)
20445 2278152 : idata = idata + 1
20446 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20447 2278152 : full_data(idata) = data_tmp
20448 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20449 2278152 : idata = idata + 1
20450 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20451 2278152 : full_data(idata) = data_tmp
20452 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20453 2278152 : idata = idata + 1
20454 2278152 : data_tmp = ISHFT(pack_tmp, 28)
20455 2278152 : ipack = ipack + 1
20456 2278152 : pack_tmp = packed_data(ipack)
20457 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20458 2278152 : pack_tmp = ISHFT(pack_tmp, -28)
20459 2278152 : idata = idata + 1
20460 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20461 2278152 : full_data(idata) = data_tmp
20462 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20463 2278152 : idata = idata + 1
20464 2278152 : data_tmp = ISHFT(pack_tmp, 20)
20465 2278152 : ipack = ipack + 1
20466 2278152 : pack_tmp = packed_data(ipack)
20467 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20468 2278152 : pack_tmp = ISHFT(pack_tmp, -20)
20469 2278152 : idata = idata + 1
20470 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20471 2278152 : full_data(idata) = data_tmp
20472 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20473 2278152 : idata = idata + 1
20474 2278152 : data_tmp = ISHFT(pack_tmp, 12)
20475 2278152 : ipack = ipack + 1
20476 2278152 : pack_tmp = packed_data(ipack)
20477 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20478 2278152 : pack_tmp = ISHFT(pack_tmp, -12)
20479 2278152 : idata = idata + 1
20480 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20481 2278152 : full_data(idata) = data_tmp
20482 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20483 2278152 : idata = idata + 1
20484 2278152 : data_tmp = ISHFT(pack_tmp, 4)
20485 2278152 : ipack = ipack + 1
20486 2278152 : pack_tmp = packed_data(ipack)
20487 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20488 2278152 : pack_tmp = ISHFT(pack_tmp, -4)
20489 2278152 : idata = idata + 1
20490 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20491 2278152 : full_data(idata) = data_tmp
20492 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20493 2278152 : idata = idata + 1
20494 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20495 2278152 : full_data(idata) = data_tmp
20496 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20497 2278152 : idata = idata + 1
20498 2278152 : data_tmp = ISHFT(pack_tmp, 24)
20499 2278152 : ipack = ipack + 1
20500 2278152 : pack_tmp = packed_data(ipack)
20501 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20502 2278152 : pack_tmp = ISHFT(pack_tmp, -24)
20503 2278152 : idata = idata + 1
20504 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20505 2278152 : full_data(idata) = data_tmp
20506 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20507 2278152 : idata = idata + 1
20508 2278152 : data_tmp = ISHFT(pack_tmp, 16)
20509 2278152 : ipack = ipack + 1
20510 2278152 : pack_tmp = packed_data(ipack)
20511 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20512 2278152 : pack_tmp = ISHFT(pack_tmp, -16)
20513 2278152 : idata = idata + 1
20514 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20515 2278152 : full_data(idata) = data_tmp
20516 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20517 2278152 : idata = idata + 1
20518 2278152 : data_tmp = ISHFT(pack_tmp, 8)
20519 2278152 : ipack = ipack + 1
20520 2278152 : pack_tmp = packed_data(ipack)
20521 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20522 2278152 : pack_tmp = ISHFT(pack_tmp, -8)
20523 2278152 : idata = idata + 1
20524 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20525 2278152 : full_data(idata) = data_tmp
20526 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20527 2278152 : idata = idata + 1
20528 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20529 2278152 : full_data(idata) = data_tmp
20530 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20531 2278152 : idata = idata + 1
20532 2278152 : data_tmp = ISHFT(pack_tmp, 28)
20533 2278152 : ipack = ipack + 1
20534 2278152 : pack_tmp = packed_data(ipack)
20535 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
20536 2278152 : pack_tmp = ISHFT(pack_tmp, -28)
20537 2278152 : idata = idata + 1
20538 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20539 2278152 : full_data(idata) = data_tmp
20540 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20541 2278152 : idata = idata + 1
20542 2278152 : data_tmp = ISHFT(pack_tmp, 20)
20543 2278152 : ipack = ipack + 1
20544 2278152 : pack_tmp = packed_data(ipack)
20545 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
20546 2278152 : pack_tmp = ISHFT(pack_tmp, -20)
20547 2278152 : idata = idata + 1
20548 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20549 2278152 : full_data(idata) = data_tmp
20550 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20551 2278152 : idata = idata + 1
20552 2278152 : data_tmp = ISHFT(pack_tmp, 12)
20553 2278152 : ipack = ipack + 1
20554 2278152 : pack_tmp = packed_data(ipack)
20555 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
20556 2278152 : pack_tmp = ISHFT(pack_tmp, -12)
20557 2278152 : idata = idata + 1
20558 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20559 2278152 : full_data(idata) = data_tmp
20560 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20561 2278152 : idata = idata + 1
20562 2278152 : data_tmp = ISHFT(pack_tmp, 4)
20563 2278152 : ipack = ipack + 1
20564 2278152 : pack_tmp = packed_data(ipack)
20565 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
20566 2278152 : pack_tmp = ISHFT(pack_tmp, -4)
20567 2278152 : idata = idata + 1
20568 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20569 2278152 : full_data(idata) = data_tmp
20570 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20571 2278152 : idata = idata + 1
20572 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20573 2278152 : full_data(idata) = data_tmp
20574 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20575 2278152 : idata = idata + 1
20576 2278152 : data_tmp = ISHFT(pack_tmp, 24)
20577 2278152 : ipack = ipack + 1
20578 2278152 : pack_tmp = packed_data(ipack)
20579 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
20580 2278152 : pack_tmp = ISHFT(pack_tmp, -24)
20581 2278152 : idata = idata + 1
20582 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20583 2278152 : full_data(idata) = data_tmp
20584 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20585 2278152 : idata = idata + 1
20586 2278152 : data_tmp = ISHFT(pack_tmp, 16)
20587 2278152 : ipack = ipack + 1
20588 2278152 : pack_tmp = packed_data(ipack)
20589 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
20590 2278152 : pack_tmp = ISHFT(pack_tmp, -16)
20591 2278152 : idata = idata + 1
20592 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20593 2278152 : full_data(idata) = data_tmp
20594 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20595 2278152 : idata = idata + 1
20596 2278152 : data_tmp = ISHFT(pack_tmp, 8)
20597 2278152 : ipack = ipack + 1
20598 2278152 : pack_tmp = packed_data(ipack)
20599 2278152 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
20600 2278152 : pack_tmp = ISHFT(pack_tmp, -8)
20601 2278152 : idata = idata + 1
20602 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20603 2278152 : full_data(idata) = data_tmp
20604 2278152 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20605 2278152 : idata = idata + 1
20606 2278152 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
20607 2278152 : full_data(idata) = data_tmp
20608 2279139 : pack_tmp = ISHFT(pack_tmp, -Nbits)
20609 : END DO
20610 162275 : IF (Ndata_rep < Ndata) THEN
20611 37168 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
20612 : END IF
20613 162275 : END SUBROUTINE bits2ints_28
20614 :
20615 : ! **************************************************************************************************
20616 : !> \brief ...
20617 : !> \param Ndata ...
20618 : !> \param packed_data ...
20619 : !> \param full_data ...
20620 : ! **************************************************************************************************
20621 37744 : 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(*)
20625 :
20626 : INTEGER, PARAMETER :: Nbits = 29
20627 :
20628 : INTEGER :: idata, ipack, kdata, Ndata_rep
20629 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
20630 :
20631 37744 : idata = 0
20632 37744 : ipack = 0
20633 37744 : Ndata_rep = (Ndata/64)*64
20634 37744 : DO kdata = 1, Ndata_rep, 64
20635 535626 : pack_tmp = 0
20636 535626 : idata = idata + 1
20637 535626 : data_tmp = full_data(idata)
20638 535626 : data_tmp = ISHFT(data_tmp, 35)
20639 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20640 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20641 535626 : idata = idata + 1
20642 535626 : data_tmp = full_data(idata)
20643 535626 : data_tmp = ISHFT(data_tmp, 35)
20644 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20645 535626 : pack_tmp = ISHFT(pack_tmp, -6)
20646 535626 : idata = idata + 1
20647 535626 : data_tmp = full_data(idata)
20648 535626 : data_tmp = ISHFT(data_tmp, 35)
20649 535626 : data_tmp = IAND(data_tmp, mask_left(6))
20650 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20651 535626 : ipack = ipack + 1
20652 535626 : packed_data(ipack) = pack_tmp
20653 535626 : data_tmp = full_data(idata)
20654 535626 : pack_tmp = ISHFT(data_tmp, 41)
20655 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20656 535626 : idata = idata + 1
20657 535626 : data_tmp = full_data(idata)
20658 535626 : data_tmp = ISHFT(data_tmp, 35)
20659 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20660 535626 : pack_tmp = ISHFT(pack_tmp, -12)
20661 535626 : idata = idata + 1
20662 535626 : data_tmp = full_data(idata)
20663 535626 : data_tmp = ISHFT(data_tmp, 35)
20664 535626 : data_tmp = IAND(data_tmp, mask_left(12))
20665 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20666 535626 : ipack = ipack + 1
20667 535626 : packed_data(ipack) = pack_tmp
20668 535626 : data_tmp = full_data(idata)
20669 535626 : pack_tmp = ISHFT(data_tmp, 47)
20670 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20671 535626 : idata = idata + 1
20672 535626 : data_tmp = full_data(idata)
20673 535626 : data_tmp = ISHFT(data_tmp, 35)
20674 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20675 535626 : pack_tmp = ISHFT(pack_tmp, -18)
20676 535626 : idata = idata + 1
20677 535626 : data_tmp = full_data(idata)
20678 535626 : data_tmp = ISHFT(data_tmp, 35)
20679 535626 : data_tmp = IAND(data_tmp, mask_left(18))
20680 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20681 535626 : ipack = ipack + 1
20682 535626 : packed_data(ipack) = pack_tmp
20683 535626 : data_tmp = full_data(idata)
20684 535626 : pack_tmp = ISHFT(data_tmp, 53)
20685 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20686 535626 : idata = idata + 1
20687 535626 : data_tmp = full_data(idata)
20688 535626 : data_tmp = ISHFT(data_tmp, 35)
20689 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20690 535626 : pack_tmp = ISHFT(pack_tmp, -24)
20691 535626 : idata = idata + 1
20692 535626 : data_tmp = full_data(idata)
20693 535626 : data_tmp = ISHFT(data_tmp, 35)
20694 535626 : data_tmp = IAND(data_tmp, mask_left(24))
20695 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20696 535626 : ipack = ipack + 1
20697 535626 : packed_data(ipack) = pack_tmp
20698 535626 : data_tmp = full_data(idata)
20699 535626 : pack_tmp = ISHFT(data_tmp, 59)
20700 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20701 535626 : idata = idata + 1
20702 535626 : data_tmp = full_data(idata)
20703 535626 : data_tmp = ISHFT(data_tmp, 35)
20704 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20705 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20706 535626 : idata = idata + 1
20707 535626 : data_tmp = full_data(idata)
20708 535626 : data_tmp = ISHFT(data_tmp, 35)
20709 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20710 535626 : pack_tmp = ISHFT(pack_tmp, -1)
20711 535626 : idata = idata + 1
20712 535626 : data_tmp = full_data(idata)
20713 535626 : data_tmp = ISHFT(data_tmp, 35)
20714 535626 : data_tmp = IAND(data_tmp, mask_left(1))
20715 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20716 535626 : ipack = ipack + 1
20717 535626 : packed_data(ipack) = pack_tmp
20718 535626 : data_tmp = full_data(idata)
20719 535626 : pack_tmp = ISHFT(data_tmp, 36)
20720 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20721 535626 : idata = idata + 1
20722 535626 : data_tmp = full_data(idata)
20723 535626 : data_tmp = ISHFT(data_tmp, 35)
20724 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20725 535626 : pack_tmp = ISHFT(pack_tmp, -7)
20726 535626 : idata = idata + 1
20727 535626 : data_tmp = full_data(idata)
20728 535626 : data_tmp = ISHFT(data_tmp, 35)
20729 535626 : data_tmp = IAND(data_tmp, mask_left(7))
20730 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20731 535626 : ipack = ipack + 1
20732 535626 : packed_data(ipack) = pack_tmp
20733 535626 : data_tmp = full_data(idata)
20734 535626 : pack_tmp = ISHFT(data_tmp, 42)
20735 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20736 535626 : idata = idata + 1
20737 535626 : data_tmp = full_data(idata)
20738 535626 : data_tmp = ISHFT(data_tmp, 35)
20739 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20740 535626 : pack_tmp = ISHFT(pack_tmp, -13)
20741 535626 : idata = idata + 1
20742 535626 : data_tmp = full_data(idata)
20743 535626 : data_tmp = ISHFT(data_tmp, 35)
20744 535626 : data_tmp = IAND(data_tmp, mask_left(13))
20745 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20746 535626 : ipack = ipack + 1
20747 535626 : packed_data(ipack) = pack_tmp
20748 535626 : data_tmp = full_data(idata)
20749 535626 : pack_tmp = ISHFT(data_tmp, 48)
20750 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20751 535626 : idata = idata + 1
20752 535626 : data_tmp = full_data(idata)
20753 535626 : data_tmp = ISHFT(data_tmp, 35)
20754 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20755 535626 : pack_tmp = ISHFT(pack_tmp, -19)
20756 535626 : idata = idata + 1
20757 535626 : data_tmp = full_data(idata)
20758 535626 : data_tmp = ISHFT(data_tmp, 35)
20759 535626 : data_tmp = IAND(data_tmp, mask_left(19))
20760 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20761 535626 : ipack = ipack + 1
20762 535626 : packed_data(ipack) = pack_tmp
20763 535626 : data_tmp = full_data(idata)
20764 535626 : pack_tmp = ISHFT(data_tmp, 54)
20765 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20766 535626 : idata = idata + 1
20767 535626 : data_tmp = full_data(idata)
20768 535626 : data_tmp = ISHFT(data_tmp, 35)
20769 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20770 535626 : pack_tmp = ISHFT(pack_tmp, -25)
20771 535626 : idata = idata + 1
20772 535626 : data_tmp = full_data(idata)
20773 535626 : data_tmp = ISHFT(data_tmp, 35)
20774 535626 : data_tmp = IAND(data_tmp, mask_left(25))
20775 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20776 535626 : ipack = ipack + 1
20777 535626 : packed_data(ipack) = pack_tmp
20778 535626 : data_tmp = full_data(idata)
20779 535626 : pack_tmp = ISHFT(data_tmp, 60)
20780 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20781 535626 : idata = idata + 1
20782 535626 : data_tmp = full_data(idata)
20783 535626 : data_tmp = ISHFT(data_tmp, 35)
20784 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20785 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20786 535626 : idata = idata + 1
20787 535626 : data_tmp = full_data(idata)
20788 535626 : data_tmp = ISHFT(data_tmp, 35)
20789 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20790 535626 : pack_tmp = ISHFT(pack_tmp, -2)
20791 535626 : idata = idata + 1
20792 535626 : data_tmp = full_data(idata)
20793 535626 : data_tmp = ISHFT(data_tmp, 35)
20794 535626 : data_tmp = IAND(data_tmp, mask_left(2))
20795 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20796 535626 : ipack = ipack + 1
20797 535626 : packed_data(ipack) = pack_tmp
20798 535626 : data_tmp = full_data(idata)
20799 535626 : pack_tmp = ISHFT(data_tmp, 37)
20800 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20801 535626 : idata = idata + 1
20802 535626 : data_tmp = full_data(idata)
20803 535626 : data_tmp = ISHFT(data_tmp, 35)
20804 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20805 535626 : pack_tmp = ISHFT(pack_tmp, -8)
20806 535626 : idata = idata + 1
20807 535626 : data_tmp = full_data(idata)
20808 535626 : data_tmp = ISHFT(data_tmp, 35)
20809 535626 : data_tmp = IAND(data_tmp, mask_left(8))
20810 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20811 535626 : ipack = ipack + 1
20812 535626 : packed_data(ipack) = pack_tmp
20813 535626 : data_tmp = full_data(idata)
20814 535626 : pack_tmp = ISHFT(data_tmp, 43)
20815 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20816 535626 : idata = idata + 1
20817 535626 : data_tmp = full_data(idata)
20818 535626 : data_tmp = ISHFT(data_tmp, 35)
20819 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20820 535626 : pack_tmp = ISHFT(pack_tmp, -14)
20821 535626 : idata = idata + 1
20822 535626 : data_tmp = full_data(idata)
20823 535626 : data_tmp = ISHFT(data_tmp, 35)
20824 535626 : data_tmp = IAND(data_tmp, mask_left(14))
20825 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20826 535626 : ipack = ipack + 1
20827 535626 : packed_data(ipack) = pack_tmp
20828 535626 : data_tmp = full_data(idata)
20829 535626 : pack_tmp = ISHFT(data_tmp, 49)
20830 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20831 535626 : idata = idata + 1
20832 535626 : data_tmp = full_data(idata)
20833 535626 : data_tmp = ISHFT(data_tmp, 35)
20834 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20835 535626 : pack_tmp = ISHFT(pack_tmp, -20)
20836 535626 : idata = idata + 1
20837 535626 : data_tmp = full_data(idata)
20838 535626 : data_tmp = ISHFT(data_tmp, 35)
20839 535626 : data_tmp = IAND(data_tmp, mask_left(20))
20840 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20841 535626 : ipack = ipack + 1
20842 535626 : packed_data(ipack) = pack_tmp
20843 535626 : data_tmp = full_data(idata)
20844 535626 : pack_tmp = ISHFT(data_tmp, 55)
20845 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20846 535626 : idata = idata + 1
20847 535626 : data_tmp = full_data(idata)
20848 535626 : data_tmp = ISHFT(data_tmp, 35)
20849 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20850 535626 : pack_tmp = ISHFT(pack_tmp, -26)
20851 535626 : idata = idata + 1
20852 535626 : data_tmp = full_data(idata)
20853 535626 : data_tmp = ISHFT(data_tmp, 35)
20854 535626 : data_tmp = IAND(data_tmp, mask_left(26))
20855 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20856 535626 : ipack = ipack + 1
20857 535626 : packed_data(ipack) = pack_tmp
20858 535626 : data_tmp = full_data(idata)
20859 535626 : pack_tmp = ISHFT(data_tmp, 61)
20860 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20861 535626 : idata = idata + 1
20862 535626 : data_tmp = full_data(idata)
20863 535626 : data_tmp = ISHFT(data_tmp, 35)
20864 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20865 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20866 535626 : idata = idata + 1
20867 535626 : data_tmp = full_data(idata)
20868 535626 : data_tmp = ISHFT(data_tmp, 35)
20869 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20870 535626 : pack_tmp = ISHFT(pack_tmp, -3)
20871 535626 : idata = idata + 1
20872 535626 : data_tmp = full_data(idata)
20873 535626 : data_tmp = ISHFT(data_tmp, 35)
20874 535626 : data_tmp = IAND(data_tmp, mask_left(3))
20875 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20876 535626 : ipack = ipack + 1
20877 535626 : packed_data(ipack) = pack_tmp
20878 535626 : data_tmp = full_data(idata)
20879 535626 : pack_tmp = ISHFT(data_tmp, 38)
20880 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20881 535626 : idata = idata + 1
20882 535626 : data_tmp = full_data(idata)
20883 535626 : data_tmp = ISHFT(data_tmp, 35)
20884 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20885 535626 : pack_tmp = ISHFT(pack_tmp, -9)
20886 535626 : idata = idata + 1
20887 535626 : data_tmp = full_data(idata)
20888 535626 : data_tmp = ISHFT(data_tmp, 35)
20889 535626 : data_tmp = IAND(data_tmp, mask_left(9))
20890 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20891 535626 : ipack = ipack + 1
20892 535626 : packed_data(ipack) = pack_tmp
20893 535626 : data_tmp = full_data(idata)
20894 535626 : pack_tmp = ISHFT(data_tmp, 44)
20895 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20896 535626 : idata = idata + 1
20897 535626 : data_tmp = full_data(idata)
20898 535626 : data_tmp = ISHFT(data_tmp, 35)
20899 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20900 535626 : pack_tmp = ISHFT(pack_tmp, -15)
20901 535626 : idata = idata + 1
20902 535626 : data_tmp = full_data(idata)
20903 535626 : data_tmp = ISHFT(data_tmp, 35)
20904 535626 : data_tmp = IAND(data_tmp, mask_left(15))
20905 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20906 535626 : ipack = ipack + 1
20907 535626 : packed_data(ipack) = pack_tmp
20908 535626 : data_tmp = full_data(idata)
20909 535626 : pack_tmp = ISHFT(data_tmp, 50)
20910 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20911 535626 : idata = idata + 1
20912 535626 : data_tmp = full_data(idata)
20913 535626 : data_tmp = ISHFT(data_tmp, 35)
20914 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20915 535626 : pack_tmp = ISHFT(pack_tmp, -21)
20916 535626 : idata = idata + 1
20917 535626 : data_tmp = full_data(idata)
20918 535626 : data_tmp = ISHFT(data_tmp, 35)
20919 535626 : data_tmp = IAND(data_tmp, mask_left(21))
20920 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20921 535626 : ipack = ipack + 1
20922 535626 : packed_data(ipack) = pack_tmp
20923 535626 : data_tmp = full_data(idata)
20924 535626 : pack_tmp = ISHFT(data_tmp, 56)
20925 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20926 535626 : idata = idata + 1
20927 535626 : data_tmp = full_data(idata)
20928 535626 : data_tmp = ISHFT(data_tmp, 35)
20929 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20930 535626 : pack_tmp = ISHFT(pack_tmp, -27)
20931 535626 : idata = idata + 1
20932 535626 : data_tmp = full_data(idata)
20933 535626 : data_tmp = ISHFT(data_tmp, 35)
20934 535626 : data_tmp = IAND(data_tmp, mask_left(27))
20935 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20936 535626 : ipack = ipack + 1
20937 535626 : packed_data(ipack) = pack_tmp
20938 535626 : data_tmp = full_data(idata)
20939 535626 : pack_tmp = ISHFT(data_tmp, 62)
20940 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20941 535626 : idata = idata + 1
20942 535626 : data_tmp = full_data(idata)
20943 535626 : data_tmp = ISHFT(data_tmp, 35)
20944 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20945 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20946 535626 : idata = idata + 1
20947 535626 : data_tmp = full_data(idata)
20948 535626 : data_tmp = ISHFT(data_tmp, 35)
20949 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20950 535626 : pack_tmp = ISHFT(pack_tmp, -4)
20951 535626 : idata = idata + 1
20952 535626 : data_tmp = full_data(idata)
20953 535626 : data_tmp = ISHFT(data_tmp, 35)
20954 535626 : data_tmp = IAND(data_tmp, mask_left(4))
20955 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20956 535626 : ipack = ipack + 1
20957 535626 : packed_data(ipack) = pack_tmp
20958 535626 : data_tmp = full_data(idata)
20959 535626 : pack_tmp = ISHFT(data_tmp, 39)
20960 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20961 535626 : idata = idata + 1
20962 535626 : data_tmp = full_data(idata)
20963 535626 : data_tmp = ISHFT(data_tmp, 35)
20964 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20965 535626 : pack_tmp = ISHFT(pack_tmp, -10)
20966 535626 : idata = idata + 1
20967 535626 : data_tmp = full_data(idata)
20968 535626 : data_tmp = ISHFT(data_tmp, 35)
20969 535626 : data_tmp = IAND(data_tmp, mask_left(10))
20970 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20971 535626 : ipack = ipack + 1
20972 535626 : packed_data(ipack) = pack_tmp
20973 535626 : data_tmp = full_data(idata)
20974 535626 : pack_tmp = ISHFT(data_tmp, 45)
20975 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20976 535626 : idata = idata + 1
20977 535626 : data_tmp = full_data(idata)
20978 535626 : data_tmp = ISHFT(data_tmp, 35)
20979 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20980 535626 : pack_tmp = ISHFT(pack_tmp, -16)
20981 535626 : idata = idata + 1
20982 535626 : data_tmp = full_data(idata)
20983 535626 : data_tmp = ISHFT(data_tmp, 35)
20984 535626 : data_tmp = IAND(data_tmp, mask_left(16))
20985 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20986 535626 : ipack = ipack + 1
20987 535626 : packed_data(ipack) = pack_tmp
20988 535626 : data_tmp = full_data(idata)
20989 535626 : pack_tmp = ISHFT(data_tmp, 51)
20990 535626 : pack_tmp = ISHFT(pack_tmp, -29)
20991 535626 : idata = idata + 1
20992 535626 : data_tmp = full_data(idata)
20993 535626 : data_tmp = ISHFT(data_tmp, 35)
20994 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
20995 535626 : pack_tmp = ISHFT(pack_tmp, -22)
20996 535626 : idata = idata + 1
20997 535626 : data_tmp = full_data(idata)
20998 535626 : data_tmp = ISHFT(data_tmp, 35)
20999 535626 : data_tmp = IAND(data_tmp, mask_left(22))
21000 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21001 535626 : ipack = ipack + 1
21002 535626 : packed_data(ipack) = pack_tmp
21003 535626 : data_tmp = full_data(idata)
21004 535626 : pack_tmp = ISHFT(data_tmp, 57)
21005 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21006 535626 : idata = idata + 1
21007 535626 : data_tmp = full_data(idata)
21008 535626 : data_tmp = ISHFT(data_tmp, 35)
21009 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21010 535626 : pack_tmp = ISHFT(pack_tmp, -28)
21011 535626 : idata = idata + 1
21012 535626 : data_tmp = full_data(idata)
21013 535626 : data_tmp = ISHFT(data_tmp, 35)
21014 535626 : data_tmp = IAND(data_tmp, mask_left(28))
21015 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21016 535626 : ipack = ipack + 1
21017 535626 : packed_data(ipack) = pack_tmp
21018 535626 : data_tmp = full_data(idata)
21019 535626 : pack_tmp = ISHFT(data_tmp, 63)
21020 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21021 535626 : idata = idata + 1
21022 535626 : data_tmp = full_data(idata)
21023 535626 : data_tmp = ISHFT(data_tmp, 35)
21024 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21025 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21026 535626 : idata = idata + 1
21027 535626 : data_tmp = full_data(idata)
21028 535626 : data_tmp = ISHFT(data_tmp, 35)
21029 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21030 535626 : pack_tmp = ISHFT(pack_tmp, -5)
21031 535626 : idata = idata + 1
21032 535626 : data_tmp = full_data(idata)
21033 535626 : data_tmp = ISHFT(data_tmp, 35)
21034 535626 : data_tmp = IAND(data_tmp, mask_left(5))
21035 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21036 535626 : ipack = ipack + 1
21037 535626 : packed_data(ipack) = pack_tmp
21038 535626 : data_tmp = full_data(idata)
21039 535626 : pack_tmp = ISHFT(data_tmp, 40)
21040 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21041 535626 : idata = idata + 1
21042 535626 : data_tmp = full_data(idata)
21043 535626 : data_tmp = ISHFT(data_tmp, 35)
21044 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21045 535626 : pack_tmp = ISHFT(pack_tmp, -11)
21046 535626 : idata = idata + 1
21047 535626 : data_tmp = full_data(idata)
21048 535626 : data_tmp = ISHFT(data_tmp, 35)
21049 535626 : data_tmp = IAND(data_tmp, mask_left(11))
21050 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21051 535626 : ipack = ipack + 1
21052 535626 : packed_data(ipack) = pack_tmp
21053 535626 : data_tmp = full_data(idata)
21054 535626 : pack_tmp = ISHFT(data_tmp, 46)
21055 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21056 535626 : idata = idata + 1
21057 535626 : data_tmp = full_data(idata)
21058 535626 : data_tmp = ISHFT(data_tmp, 35)
21059 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21060 535626 : pack_tmp = ISHFT(pack_tmp, -17)
21061 535626 : idata = idata + 1
21062 535626 : data_tmp = full_data(idata)
21063 535626 : data_tmp = ISHFT(data_tmp, 35)
21064 535626 : data_tmp = IAND(data_tmp, mask_left(17))
21065 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21066 535626 : ipack = ipack + 1
21067 535626 : packed_data(ipack) = pack_tmp
21068 535626 : data_tmp = full_data(idata)
21069 535626 : pack_tmp = ISHFT(data_tmp, 52)
21070 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21071 535626 : idata = idata + 1
21072 535626 : data_tmp = full_data(idata)
21073 535626 : data_tmp = ISHFT(data_tmp, 35)
21074 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21075 535626 : pack_tmp = ISHFT(pack_tmp, -23)
21076 535626 : idata = idata + 1
21077 535626 : data_tmp = full_data(idata)
21078 535626 : data_tmp = ISHFT(data_tmp, 35)
21079 535626 : data_tmp = IAND(data_tmp, mask_left(23))
21080 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21081 535626 : ipack = ipack + 1
21082 535626 : packed_data(ipack) = pack_tmp
21083 535626 : data_tmp = full_data(idata)
21084 535626 : pack_tmp = ISHFT(data_tmp, 58)
21085 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21086 535626 : idata = idata + 1
21087 535626 : data_tmp = full_data(idata)
21088 535626 : data_tmp = ISHFT(data_tmp, 35)
21089 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21090 535626 : pack_tmp = ISHFT(pack_tmp, -29)
21091 535626 : idata = idata + 1
21092 535626 : data_tmp = full_data(idata)
21093 535626 : data_tmp = ISHFT(data_tmp, 35)
21094 535626 : pack_tmp = IOR(pack_tmp, data_tmp)
21095 : pack_tmp = ISHFT(pack_tmp, 0)
21096 535626 : pack_tmp = ISHFT(pack_tmp, 0)
21097 535626 : ipack = ipack + 1
21098 536037 : packed_data(ipack) = pack_tmp
21099 : END DO
21100 37744 : IF (Ndata_rep < Ndata) THEN
21101 7948 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21102 : END IF
21103 37744 : END SUBROUTINE ints2bits_29
21104 :
21105 : ! **************************************************************************************************
21106 : !> \brief ...
21107 : !> \param Ndata ...
21108 : !> \param packed_data ...
21109 : !> \param full_data ...
21110 : ! **************************************************************************************************
21111 182665 : 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(*)
21115 :
21116 : INTEGER, PARAMETER :: Nbits = 29
21117 :
21118 : INTEGER :: idata, ipack, kdata, Ndata_rep
21119 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
21120 :
21121 182665 : ipack = 0
21122 182665 : idata = 0
21123 182665 : pack_tmp = 0
21124 182665 : Ndata_rep = (Ndata/64)*64
21125 182665 : DO kdata = 1, Ndata_rep, 64
21126 2499466 : idata = idata + 1
21127 2499466 : data_tmp = ISHFT(pack_tmp, 29)
21128 2499466 : ipack = ipack + 1
21129 2499466 : pack_tmp = packed_data(ipack)
21130 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
21131 2499466 : pack_tmp = ISHFT(pack_tmp, -29)
21132 2499466 : idata = idata + 1
21133 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21134 2499466 : full_data(idata) = data_tmp
21135 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21136 2499466 : idata = idata + 1
21137 2499466 : data_tmp = ISHFT(pack_tmp, 23)
21138 2499466 : ipack = ipack + 1
21139 2499466 : pack_tmp = packed_data(ipack)
21140 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
21141 2499466 : pack_tmp = ISHFT(pack_tmp, -23)
21142 2499466 : idata = idata + 1
21143 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21144 2499466 : full_data(idata) = data_tmp
21145 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21146 2499466 : idata = idata + 1
21147 2499466 : data_tmp = ISHFT(pack_tmp, 17)
21148 2499466 : ipack = ipack + 1
21149 2499466 : pack_tmp = packed_data(ipack)
21150 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
21151 2499466 : pack_tmp = ISHFT(pack_tmp, -17)
21152 2499466 : idata = idata + 1
21153 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21154 2499466 : full_data(idata) = data_tmp
21155 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21156 2499466 : idata = idata + 1
21157 2499466 : data_tmp = ISHFT(pack_tmp, 11)
21158 2499466 : ipack = ipack + 1
21159 2499466 : pack_tmp = packed_data(ipack)
21160 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
21161 2499466 : pack_tmp = ISHFT(pack_tmp, -11)
21162 2499466 : idata = idata + 1
21163 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21164 2499466 : full_data(idata) = data_tmp
21165 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21166 2499466 : idata = idata + 1
21167 2499466 : data_tmp = ISHFT(pack_tmp, 5)
21168 2499466 : ipack = ipack + 1
21169 2499466 : pack_tmp = packed_data(ipack)
21170 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
21171 2499466 : pack_tmp = ISHFT(pack_tmp, -5)
21172 2499466 : idata = idata + 1
21173 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21174 2499466 : full_data(idata) = data_tmp
21175 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21176 2499466 : idata = idata + 1
21177 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21178 2499466 : full_data(idata) = data_tmp
21179 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21180 2499466 : idata = idata + 1
21181 2499466 : data_tmp = ISHFT(pack_tmp, 28)
21182 2499466 : ipack = ipack + 1
21183 2499466 : pack_tmp = packed_data(ipack)
21184 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
21185 2499466 : pack_tmp = ISHFT(pack_tmp, -28)
21186 2499466 : idata = idata + 1
21187 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21188 2499466 : full_data(idata) = data_tmp
21189 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21190 2499466 : idata = idata + 1
21191 2499466 : data_tmp = ISHFT(pack_tmp, 22)
21192 2499466 : ipack = ipack + 1
21193 2499466 : pack_tmp = packed_data(ipack)
21194 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
21195 2499466 : pack_tmp = ISHFT(pack_tmp, -22)
21196 2499466 : idata = idata + 1
21197 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21198 2499466 : full_data(idata) = data_tmp
21199 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21200 2499466 : idata = idata + 1
21201 2499466 : data_tmp = ISHFT(pack_tmp, 16)
21202 2499466 : ipack = ipack + 1
21203 2499466 : pack_tmp = packed_data(ipack)
21204 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
21205 2499466 : pack_tmp = ISHFT(pack_tmp, -16)
21206 2499466 : idata = idata + 1
21207 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21208 2499466 : full_data(idata) = data_tmp
21209 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21210 2499466 : idata = idata + 1
21211 2499466 : data_tmp = ISHFT(pack_tmp, 10)
21212 2499466 : ipack = ipack + 1
21213 2499466 : pack_tmp = packed_data(ipack)
21214 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
21215 2499466 : pack_tmp = ISHFT(pack_tmp, -10)
21216 2499466 : idata = idata + 1
21217 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21218 2499466 : full_data(idata) = data_tmp
21219 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21220 2499466 : idata = idata + 1
21221 2499466 : data_tmp = ISHFT(pack_tmp, 4)
21222 2499466 : ipack = ipack + 1
21223 2499466 : pack_tmp = packed_data(ipack)
21224 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
21225 2499466 : pack_tmp = ISHFT(pack_tmp, -4)
21226 2499466 : idata = idata + 1
21227 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21228 2499466 : full_data(idata) = data_tmp
21229 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21230 2499466 : idata = idata + 1
21231 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21232 2499466 : full_data(idata) = data_tmp
21233 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21234 2499466 : idata = idata + 1
21235 2499466 : data_tmp = ISHFT(pack_tmp, 27)
21236 2499466 : ipack = ipack + 1
21237 2499466 : pack_tmp = packed_data(ipack)
21238 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
21239 2499466 : pack_tmp = ISHFT(pack_tmp, -27)
21240 2499466 : idata = idata + 1
21241 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21242 2499466 : full_data(idata) = data_tmp
21243 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21244 2499466 : idata = idata + 1
21245 2499466 : data_tmp = ISHFT(pack_tmp, 21)
21246 2499466 : ipack = ipack + 1
21247 2499466 : pack_tmp = packed_data(ipack)
21248 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
21249 2499466 : pack_tmp = ISHFT(pack_tmp, -21)
21250 2499466 : idata = idata + 1
21251 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21252 2499466 : full_data(idata) = data_tmp
21253 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21254 2499466 : idata = idata + 1
21255 2499466 : data_tmp = ISHFT(pack_tmp, 15)
21256 2499466 : ipack = ipack + 1
21257 2499466 : pack_tmp = packed_data(ipack)
21258 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
21259 2499466 : pack_tmp = ISHFT(pack_tmp, -15)
21260 2499466 : idata = idata + 1
21261 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21262 2499466 : full_data(idata) = data_tmp
21263 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21264 2499466 : idata = idata + 1
21265 2499466 : data_tmp = ISHFT(pack_tmp, 9)
21266 2499466 : ipack = ipack + 1
21267 2499466 : pack_tmp = packed_data(ipack)
21268 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
21269 2499466 : pack_tmp = ISHFT(pack_tmp, -9)
21270 2499466 : idata = idata + 1
21271 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21272 2499466 : full_data(idata) = data_tmp
21273 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21274 2499466 : idata = idata + 1
21275 2499466 : data_tmp = ISHFT(pack_tmp, 3)
21276 2499466 : ipack = ipack + 1
21277 2499466 : pack_tmp = packed_data(ipack)
21278 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
21279 2499466 : pack_tmp = ISHFT(pack_tmp, -3)
21280 2499466 : idata = idata + 1
21281 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21282 2499466 : full_data(idata) = data_tmp
21283 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21284 2499466 : idata = idata + 1
21285 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21286 2499466 : full_data(idata) = data_tmp
21287 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21288 2499466 : idata = idata + 1
21289 2499466 : data_tmp = ISHFT(pack_tmp, 26)
21290 2499466 : ipack = ipack + 1
21291 2499466 : pack_tmp = packed_data(ipack)
21292 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
21293 2499466 : pack_tmp = ISHFT(pack_tmp, -26)
21294 2499466 : idata = idata + 1
21295 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21296 2499466 : full_data(idata) = data_tmp
21297 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21298 2499466 : idata = idata + 1
21299 2499466 : data_tmp = ISHFT(pack_tmp, 20)
21300 2499466 : ipack = ipack + 1
21301 2499466 : pack_tmp = packed_data(ipack)
21302 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
21303 2499466 : pack_tmp = ISHFT(pack_tmp, -20)
21304 2499466 : idata = idata + 1
21305 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21306 2499466 : full_data(idata) = data_tmp
21307 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21308 2499466 : idata = idata + 1
21309 2499466 : data_tmp = ISHFT(pack_tmp, 14)
21310 2499466 : ipack = ipack + 1
21311 2499466 : pack_tmp = packed_data(ipack)
21312 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
21313 2499466 : pack_tmp = ISHFT(pack_tmp, -14)
21314 2499466 : idata = idata + 1
21315 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21316 2499466 : full_data(idata) = data_tmp
21317 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21318 2499466 : idata = idata + 1
21319 2499466 : data_tmp = ISHFT(pack_tmp, 8)
21320 2499466 : ipack = ipack + 1
21321 2499466 : pack_tmp = packed_data(ipack)
21322 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
21323 2499466 : pack_tmp = ISHFT(pack_tmp, -8)
21324 2499466 : idata = idata + 1
21325 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21326 2499466 : full_data(idata) = data_tmp
21327 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21328 2499466 : idata = idata + 1
21329 2499466 : data_tmp = ISHFT(pack_tmp, 2)
21330 2499466 : ipack = ipack + 1
21331 2499466 : pack_tmp = packed_data(ipack)
21332 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
21333 2499466 : pack_tmp = ISHFT(pack_tmp, -2)
21334 2499466 : idata = idata + 1
21335 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21336 2499466 : full_data(idata) = data_tmp
21337 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21338 2499466 : idata = idata + 1
21339 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21340 2499466 : full_data(idata) = data_tmp
21341 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21342 2499466 : idata = idata + 1
21343 2499466 : data_tmp = ISHFT(pack_tmp, 25)
21344 2499466 : ipack = ipack + 1
21345 2499466 : pack_tmp = packed_data(ipack)
21346 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
21347 2499466 : pack_tmp = ISHFT(pack_tmp, -25)
21348 2499466 : idata = idata + 1
21349 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21350 2499466 : full_data(idata) = data_tmp
21351 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21352 2499466 : idata = idata + 1
21353 2499466 : data_tmp = ISHFT(pack_tmp, 19)
21354 2499466 : ipack = ipack + 1
21355 2499466 : pack_tmp = packed_data(ipack)
21356 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
21357 2499466 : pack_tmp = ISHFT(pack_tmp, -19)
21358 2499466 : idata = idata + 1
21359 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21360 2499466 : full_data(idata) = data_tmp
21361 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21362 2499466 : idata = idata + 1
21363 2499466 : data_tmp = ISHFT(pack_tmp, 13)
21364 2499466 : ipack = ipack + 1
21365 2499466 : pack_tmp = packed_data(ipack)
21366 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
21367 2499466 : pack_tmp = ISHFT(pack_tmp, -13)
21368 2499466 : idata = idata + 1
21369 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21370 2499466 : full_data(idata) = data_tmp
21371 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21372 2499466 : idata = idata + 1
21373 2499466 : data_tmp = ISHFT(pack_tmp, 7)
21374 2499466 : ipack = ipack + 1
21375 2499466 : pack_tmp = packed_data(ipack)
21376 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
21377 2499466 : pack_tmp = ISHFT(pack_tmp, -7)
21378 2499466 : idata = idata + 1
21379 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21380 2499466 : full_data(idata) = data_tmp
21381 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21382 2499466 : idata = idata + 1
21383 2499466 : data_tmp = ISHFT(pack_tmp, 1)
21384 2499466 : ipack = ipack + 1
21385 2499466 : pack_tmp = packed_data(ipack)
21386 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
21387 2499466 : pack_tmp = ISHFT(pack_tmp, -1)
21388 2499466 : idata = idata + 1
21389 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21390 2499466 : full_data(idata) = data_tmp
21391 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21392 2499466 : idata = idata + 1
21393 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21394 2499466 : full_data(idata) = data_tmp
21395 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21396 2499466 : idata = idata + 1
21397 2499466 : data_tmp = ISHFT(pack_tmp, 24)
21398 2499466 : ipack = ipack + 1
21399 2499466 : pack_tmp = packed_data(ipack)
21400 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
21401 2499466 : pack_tmp = ISHFT(pack_tmp, -24)
21402 2499466 : idata = idata + 1
21403 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21404 2499466 : full_data(idata) = data_tmp
21405 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21406 2499466 : idata = idata + 1
21407 2499466 : data_tmp = ISHFT(pack_tmp, 18)
21408 2499466 : ipack = ipack + 1
21409 2499466 : pack_tmp = packed_data(ipack)
21410 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
21411 2499466 : pack_tmp = ISHFT(pack_tmp, -18)
21412 2499466 : idata = idata + 1
21413 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21414 2499466 : full_data(idata) = data_tmp
21415 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21416 2499466 : idata = idata + 1
21417 2499466 : data_tmp = ISHFT(pack_tmp, 12)
21418 2499466 : ipack = ipack + 1
21419 2499466 : pack_tmp = packed_data(ipack)
21420 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
21421 2499466 : pack_tmp = ISHFT(pack_tmp, -12)
21422 2499466 : idata = idata + 1
21423 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21424 2499466 : full_data(idata) = data_tmp
21425 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21426 2499466 : idata = idata + 1
21427 2499466 : data_tmp = ISHFT(pack_tmp, 6)
21428 2499466 : ipack = ipack + 1
21429 2499466 : pack_tmp = packed_data(ipack)
21430 2499466 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
21431 2499466 : pack_tmp = ISHFT(pack_tmp, -6)
21432 2499466 : idata = idata + 1
21433 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21434 2499466 : full_data(idata) = data_tmp
21435 2499466 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21436 2499466 : idata = idata + 1
21437 2499466 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21438 2499466 : full_data(idata) = data_tmp
21439 2501977 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21440 : END DO
21441 182665 : IF (Ndata_rep < Ndata) THEN
21442 49004 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21443 : END IF
21444 182665 : END SUBROUTINE bits2ints_29
21445 :
21446 : ! **************************************************************************************************
21447 : !> \brief ...
21448 : !> \param Ndata ...
21449 : !> \param packed_data ...
21450 : !> \param full_data ...
21451 : ! **************************************************************************************************
21452 45259 : 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(*)
21456 :
21457 : INTEGER, PARAMETER :: Nbits = 30
21458 :
21459 : INTEGER :: idata, ipack, kdata, Ndata_rep
21460 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
21461 :
21462 45259 : idata = 0
21463 45259 : ipack = 0
21464 45259 : Ndata_rep = (Ndata/64)*64
21465 45259 : DO kdata = 1, Ndata_rep, 64
21466 613236 : pack_tmp = 0
21467 613236 : idata = idata + 1
21468 613236 : data_tmp = full_data(idata)
21469 613236 : data_tmp = ISHFT(data_tmp, 34)
21470 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21471 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21472 613236 : idata = idata + 1
21473 613236 : data_tmp = full_data(idata)
21474 613236 : data_tmp = ISHFT(data_tmp, 34)
21475 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21476 613236 : pack_tmp = ISHFT(pack_tmp, -4)
21477 613236 : idata = idata + 1
21478 613236 : data_tmp = full_data(idata)
21479 613236 : data_tmp = ISHFT(data_tmp, 34)
21480 613236 : data_tmp = IAND(data_tmp, mask_left(4))
21481 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21482 613236 : ipack = ipack + 1
21483 613236 : packed_data(ipack) = pack_tmp
21484 613236 : data_tmp = full_data(idata)
21485 613236 : pack_tmp = ISHFT(data_tmp, 38)
21486 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21487 613236 : idata = idata + 1
21488 613236 : data_tmp = full_data(idata)
21489 613236 : data_tmp = ISHFT(data_tmp, 34)
21490 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21491 613236 : pack_tmp = ISHFT(pack_tmp, -8)
21492 613236 : idata = idata + 1
21493 613236 : data_tmp = full_data(idata)
21494 613236 : data_tmp = ISHFT(data_tmp, 34)
21495 613236 : data_tmp = IAND(data_tmp, mask_left(8))
21496 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21497 613236 : ipack = ipack + 1
21498 613236 : packed_data(ipack) = pack_tmp
21499 613236 : data_tmp = full_data(idata)
21500 613236 : pack_tmp = ISHFT(data_tmp, 42)
21501 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21502 613236 : idata = idata + 1
21503 613236 : data_tmp = full_data(idata)
21504 613236 : data_tmp = ISHFT(data_tmp, 34)
21505 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21506 613236 : pack_tmp = ISHFT(pack_tmp, -12)
21507 613236 : idata = idata + 1
21508 613236 : data_tmp = full_data(idata)
21509 613236 : data_tmp = ISHFT(data_tmp, 34)
21510 613236 : data_tmp = IAND(data_tmp, mask_left(12))
21511 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21512 613236 : ipack = ipack + 1
21513 613236 : packed_data(ipack) = pack_tmp
21514 613236 : data_tmp = full_data(idata)
21515 613236 : pack_tmp = ISHFT(data_tmp, 46)
21516 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21517 613236 : idata = idata + 1
21518 613236 : data_tmp = full_data(idata)
21519 613236 : data_tmp = ISHFT(data_tmp, 34)
21520 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21521 613236 : pack_tmp = ISHFT(pack_tmp, -16)
21522 613236 : idata = idata + 1
21523 613236 : data_tmp = full_data(idata)
21524 613236 : data_tmp = ISHFT(data_tmp, 34)
21525 613236 : data_tmp = IAND(data_tmp, mask_left(16))
21526 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21527 613236 : ipack = ipack + 1
21528 613236 : packed_data(ipack) = pack_tmp
21529 613236 : data_tmp = full_data(idata)
21530 613236 : pack_tmp = ISHFT(data_tmp, 50)
21531 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21532 613236 : idata = idata + 1
21533 613236 : data_tmp = full_data(idata)
21534 613236 : data_tmp = ISHFT(data_tmp, 34)
21535 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21536 613236 : pack_tmp = ISHFT(pack_tmp, -20)
21537 613236 : idata = idata + 1
21538 613236 : data_tmp = full_data(idata)
21539 613236 : data_tmp = ISHFT(data_tmp, 34)
21540 613236 : data_tmp = IAND(data_tmp, mask_left(20))
21541 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21542 613236 : ipack = ipack + 1
21543 613236 : packed_data(ipack) = pack_tmp
21544 613236 : data_tmp = full_data(idata)
21545 613236 : pack_tmp = ISHFT(data_tmp, 54)
21546 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21547 613236 : idata = idata + 1
21548 613236 : data_tmp = full_data(idata)
21549 613236 : data_tmp = ISHFT(data_tmp, 34)
21550 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21551 613236 : pack_tmp = ISHFT(pack_tmp, -24)
21552 613236 : idata = idata + 1
21553 613236 : data_tmp = full_data(idata)
21554 613236 : data_tmp = ISHFT(data_tmp, 34)
21555 613236 : data_tmp = IAND(data_tmp, mask_left(24))
21556 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21557 613236 : ipack = ipack + 1
21558 613236 : packed_data(ipack) = pack_tmp
21559 613236 : data_tmp = full_data(idata)
21560 613236 : pack_tmp = ISHFT(data_tmp, 58)
21561 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21562 613236 : idata = idata + 1
21563 613236 : data_tmp = full_data(idata)
21564 613236 : data_tmp = ISHFT(data_tmp, 34)
21565 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21566 613236 : pack_tmp = ISHFT(pack_tmp, -28)
21567 613236 : idata = idata + 1
21568 613236 : data_tmp = full_data(idata)
21569 613236 : data_tmp = ISHFT(data_tmp, 34)
21570 613236 : data_tmp = IAND(data_tmp, mask_left(28))
21571 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21572 613236 : ipack = ipack + 1
21573 613236 : packed_data(ipack) = pack_tmp
21574 613236 : data_tmp = full_data(idata)
21575 613236 : pack_tmp = ISHFT(data_tmp, 62)
21576 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21577 613236 : idata = idata + 1
21578 613236 : data_tmp = full_data(idata)
21579 613236 : data_tmp = ISHFT(data_tmp, 34)
21580 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21581 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21582 613236 : idata = idata + 1
21583 613236 : data_tmp = full_data(idata)
21584 613236 : data_tmp = ISHFT(data_tmp, 34)
21585 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21586 613236 : pack_tmp = ISHFT(pack_tmp, -2)
21587 613236 : idata = idata + 1
21588 613236 : data_tmp = full_data(idata)
21589 613236 : data_tmp = ISHFT(data_tmp, 34)
21590 613236 : data_tmp = IAND(data_tmp, mask_left(2))
21591 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21592 613236 : ipack = ipack + 1
21593 613236 : packed_data(ipack) = pack_tmp
21594 613236 : data_tmp = full_data(idata)
21595 613236 : pack_tmp = ISHFT(data_tmp, 36)
21596 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21597 613236 : idata = idata + 1
21598 613236 : data_tmp = full_data(idata)
21599 613236 : data_tmp = ISHFT(data_tmp, 34)
21600 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21601 613236 : pack_tmp = ISHFT(pack_tmp, -6)
21602 613236 : idata = idata + 1
21603 613236 : data_tmp = full_data(idata)
21604 613236 : data_tmp = ISHFT(data_tmp, 34)
21605 613236 : data_tmp = IAND(data_tmp, mask_left(6))
21606 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21607 613236 : ipack = ipack + 1
21608 613236 : packed_data(ipack) = pack_tmp
21609 613236 : data_tmp = full_data(idata)
21610 613236 : pack_tmp = ISHFT(data_tmp, 40)
21611 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21612 613236 : idata = idata + 1
21613 613236 : data_tmp = full_data(idata)
21614 613236 : data_tmp = ISHFT(data_tmp, 34)
21615 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21616 613236 : pack_tmp = ISHFT(pack_tmp, -10)
21617 613236 : idata = idata + 1
21618 613236 : data_tmp = full_data(idata)
21619 613236 : data_tmp = ISHFT(data_tmp, 34)
21620 613236 : data_tmp = IAND(data_tmp, mask_left(10))
21621 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21622 613236 : ipack = ipack + 1
21623 613236 : packed_data(ipack) = pack_tmp
21624 613236 : data_tmp = full_data(idata)
21625 613236 : pack_tmp = ISHFT(data_tmp, 44)
21626 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21627 613236 : idata = idata + 1
21628 613236 : data_tmp = full_data(idata)
21629 613236 : data_tmp = ISHFT(data_tmp, 34)
21630 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21631 613236 : pack_tmp = ISHFT(pack_tmp, -14)
21632 613236 : idata = idata + 1
21633 613236 : data_tmp = full_data(idata)
21634 613236 : data_tmp = ISHFT(data_tmp, 34)
21635 613236 : data_tmp = IAND(data_tmp, mask_left(14))
21636 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21637 613236 : ipack = ipack + 1
21638 613236 : packed_data(ipack) = pack_tmp
21639 613236 : data_tmp = full_data(idata)
21640 613236 : pack_tmp = ISHFT(data_tmp, 48)
21641 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21642 613236 : idata = idata + 1
21643 613236 : data_tmp = full_data(idata)
21644 613236 : data_tmp = ISHFT(data_tmp, 34)
21645 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21646 613236 : pack_tmp = ISHFT(pack_tmp, -18)
21647 613236 : idata = idata + 1
21648 613236 : data_tmp = full_data(idata)
21649 613236 : data_tmp = ISHFT(data_tmp, 34)
21650 613236 : data_tmp = IAND(data_tmp, mask_left(18))
21651 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21652 613236 : ipack = ipack + 1
21653 613236 : packed_data(ipack) = pack_tmp
21654 613236 : data_tmp = full_data(idata)
21655 613236 : pack_tmp = ISHFT(data_tmp, 52)
21656 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21657 613236 : idata = idata + 1
21658 613236 : data_tmp = full_data(idata)
21659 613236 : data_tmp = ISHFT(data_tmp, 34)
21660 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21661 613236 : pack_tmp = ISHFT(pack_tmp, -22)
21662 613236 : idata = idata + 1
21663 613236 : data_tmp = full_data(idata)
21664 613236 : data_tmp = ISHFT(data_tmp, 34)
21665 613236 : data_tmp = IAND(data_tmp, mask_left(22))
21666 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21667 613236 : ipack = ipack + 1
21668 613236 : packed_data(ipack) = pack_tmp
21669 613236 : data_tmp = full_data(idata)
21670 613236 : pack_tmp = ISHFT(data_tmp, 56)
21671 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21672 613236 : idata = idata + 1
21673 613236 : data_tmp = full_data(idata)
21674 613236 : data_tmp = ISHFT(data_tmp, 34)
21675 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21676 613236 : pack_tmp = ISHFT(pack_tmp, -26)
21677 613236 : idata = idata + 1
21678 613236 : data_tmp = full_data(idata)
21679 613236 : data_tmp = ISHFT(data_tmp, 34)
21680 613236 : data_tmp = IAND(data_tmp, mask_left(26))
21681 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21682 613236 : ipack = ipack + 1
21683 613236 : packed_data(ipack) = pack_tmp
21684 613236 : data_tmp = full_data(idata)
21685 613236 : pack_tmp = ISHFT(data_tmp, 60)
21686 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21687 613236 : idata = idata + 1
21688 613236 : data_tmp = full_data(idata)
21689 613236 : data_tmp = ISHFT(data_tmp, 34)
21690 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21691 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21692 613236 : idata = idata + 1
21693 613236 : data_tmp = full_data(idata)
21694 613236 : data_tmp = ISHFT(data_tmp, 34)
21695 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21696 613236 : pack_tmp = ISHFT(pack_tmp, 0)
21697 613236 : idata = idata + 1
21698 613236 : data_tmp = full_data(idata)
21699 : data_tmp = ISHFT(data_tmp, 34)
21700 613236 : data_tmp = IAND(data_tmp, mask_left(0))
21701 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21702 613236 : ipack = ipack + 1
21703 613236 : packed_data(ipack) = pack_tmp
21704 613236 : data_tmp = full_data(idata)
21705 613236 : pack_tmp = ISHFT(data_tmp, 34)
21706 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21707 613236 : idata = idata + 1
21708 613236 : data_tmp = full_data(idata)
21709 613236 : data_tmp = ISHFT(data_tmp, 34)
21710 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21711 613236 : pack_tmp = ISHFT(pack_tmp, -4)
21712 613236 : idata = idata + 1
21713 613236 : data_tmp = full_data(idata)
21714 613236 : data_tmp = ISHFT(data_tmp, 34)
21715 613236 : data_tmp = IAND(data_tmp, mask_left(4))
21716 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21717 613236 : ipack = ipack + 1
21718 613236 : packed_data(ipack) = pack_tmp
21719 613236 : data_tmp = full_data(idata)
21720 613236 : pack_tmp = ISHFT(data_tmp, 38)
21721 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21722 613236 : idata = idata + 1
21723 613236 : data_tmp = full_data(idata)
21724 613236 : data_tmp = ISHFT(data_tmp, 34)
21725 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21726 613236 : pack_tmp = ISHFT(pack_tmp, -8)
21727 613236 : idata = idata + 1
21728 613236 : data_tmp = full_data(idata)
21729 613236 : data_tmp = ISHFT(data_tmp, 34)
21730 613236 : data_tmp = IAND(data_tmp, mask_left(8))
21731 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21732 613236 : ipack = ipack + 1
21733 613236 : packed_data(ipack) = pack_tmp
21734 613236 : data_tmp = full_data(idata)
21735 613236 : pack_tmp = ISHFT(data_tmp, 42)
21736 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21737 613236 : idata = idata + 1
21738 613236 : data_tmp = full_data(idata)
21739 613236 : data_tmp = ISHFT(data_tmp, 34)
21740 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21741 613236 : pack_tmp = ISHFT(pack_tmp, -12)
21742 613236 : idata = idata + 1
21743 613236 : data_tmp = full_data(idata)
21744 613236 : data_tmp = ISHFT(data_tmp, 34)
21745 613236 : data_tmp = IAND(data_tmp, mask_left(12))
21746 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21747 613236 : ipack = ipack + 1
21748 613236 : packed_data(ipack) = pack_tmp
21749 613236 : data_tmp = full_data(idata)
21750 613236 : pack_tmp = ISHFT(data_tmp, 46)
21751 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21752 613236 : idata = idata + 1
21753 613236 : data_tmp = full_data(idata)
21754 613236 : data_tmp = ISHFT(data_tmp, 34)
21755 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21756 613236 : pack_tmp = ISHFT(pack_tmp, -16)
21757 613236 : idata = idata + 1
21758 613236 : data_tmp = full_data(idata)
21759 613236 : data_tmp = ISHFT(data_tmp, 34)
21760 613236 : data_tmp = IAND(data_tmp, mask_left(16))
21761 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21762 613236 : ipack = ipack + 1
21763 613236 : packed_data(ipack) = pack_tmp
21764 613236 : data_tmp = full_data(idata)
21765 613236 : pack_tmp = ISHFT(data_tmp, 50)
21766 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21767 613236 : idata = idata + 1
21768 613236 : data_tmp = full_data(idata)
21769 613236 : data_tmp = ISHFT(data_tmp, 34)
21770 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21771 613236 : pack_tmp = ISHFT(pack_tmp, -20)
21772 613236 : idata = idata + 1
21773 613236 : data_tmp = full_data(idata)
21774 613236 : data_tmp = ISHFT(data_tmp, 34)
21775 613236 : data_tmp = IAND(data_tmp, mask_left(20))
21776 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21777 613236 : ipack = ipack + 1
21778 613236 : packed_data(ipack) = pack_tmp
21779 613236 : data_tmp = full_data(idata)
21780 613236 : pack_tmp = ISHFT(data_tmp, 54)
21781 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21782 613236 : idata = idata + 1
21783 613236 : data_tmp = full_data(idata)
21784 613236 : data_tmp = ISHFT(data_tmp, 34)
21785 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21786 613236 : pack_tmp = ISHFT(pack_tmp, -24)
21787 613236 : idata = idata + 1
21788 613236 : data_tmp = full_data(idata)
21789 613236 : data_tmp = ISHFT(data_tmp, 34)
21790 613236 : data_tmp = IAND(data_tmp, mask_left(24))
21791 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21792 613236 : ipack = ipack + 1
21793 613236 : packed_data(ipack) = pack_tmp
21794 613236 : data_tmp = full_data(idata)
21795 613236 : pack_tmp = ISHFT(data_tmp, 58)
21796 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21797 613236 : idata = idata + 1
21798 613236 : data_tmp = full_data(idata)
21799 613236 : data_tmp = ISHFT(data_tmp, 34)
21800 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21801 613236 : pack_tmp = ISHFT(pack_tmp, -28)
21802 613236 : idata = idata + 1
21803 613236 : data_tmp = full_data(idata)
21804 613236 : data_tmp = ISHFT(data_tmp, 34)
21805 613236 : data_tmp = IAND(data_tmp, mask_left(28))
21806 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21807 613236 : ipack = ipack + 1
21808 613236 : packed_data(ipack) = pack_tmp
21809 613236 : data_tmp = full_data(idata)
21810 613236 : pack_tmp = ISHFT(data_tmp, 62)
21811 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21812 613236 : idata = idata + 1
21813 613236 : data_tmp = full_data(idata)
21814 613236 : data_tmp = ISHFT(data_tmp, 34)
21815 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21816 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21817 613236 : idata = idata + 1
21818 613236 : data_tmp = full_data(idata)
21819 613236 : data_tmp = ISHFT(data_tmp, 34)
21820 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21821 613236 : pack_tmp = ISHFT(pack_tmp, -2)
21822 613236 : idata = idata + 1
21823 613236 : data_tmp = full_data(idata)
21824 613236 : data_tmp = ISHFT(data_tmp, 34)
21825 613236 : data_tmp = IAND(data_tmp, mask_left(2))
21826 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21827 613236 : ipack = ipack + 1
21828 613236 : packed_data(ipack) = pack_tmp
21829 613236 : data_tmp = full_data(idata)
21830 613236 : pack_tmp = ISHFT(data_tmp, 36)
21831 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21832 613236 : idata = idata + 1
21833 613236 : data_tmp = full_data(idata)
21834 613236 : data_tmp = ISHFT(data_tmp, 34)
21835 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21836 613236 : pack_tmp = ISHFT(pack_tmp, -6)
21837 613236 : idata = idata + 1
21838 613236 : data_tmp = full_data(idata)
21839 613236 : data_tmp = ISHFT(data_tmp, 34)
21840 613236 : data_tmp = IAND(data_tmp, mask_left(6))
21841 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21842 613236 : ipack = ipack + 1
21843 613236 : packed_data(ipack) = pack_tmp
21844 613236 : data_tmp = full_data(idata)
21845 613236 : pack_tmp = ISHFT(data_tmp, 40)
21846 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21847 613236 : idata = idata + 1
21848 613236 : data_tmp = full_data(idata)
21849 613236 : data_tmp = ISHFT(data_tmp, 34)
21850 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21851 613236 : pack_tmp = ISHFT(pack_tmp, -10)
21852 613236 : idata = idata + 1
21853 613236 : data_tmp = full_data(idata)
21854 613236 : data_tmp = ISHFT(data_tmp, 34)
21855 613236 : data_tmp = IAND(data_tmp, mask_left(10))
21856 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21857 613236 : ipack = ipack + 1
21858 613236 : packed_data(ipack) = pack_tmp
21859 613236 : data_tmp = full_data(idata)
21860 613236 : pack_tmp = ISHFT(data_tmp, 44)
21861 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21862 613236 : idata = idata + 1
21863 613236 : data_tmp = full_data(idata)
21864 613236 : data_tmp = ISHFT(data_tmp, 34)
21865 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21866 613236 : pack_tmp = ISHFT(pack_tmp, -14)
21867 613236 : idata = idata + 1
21868 613236 : data_tmp = full_data(idata)
21869 613236 : data_tmp = ISHFT(data_tmp, 34)
21870 613236 : data_tmp = IAND(data_tmp, mask_left(14))
21871 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21872 613236 : ipack = ipack + 1
21873 613236 : packed_data(ipack) = pack_tmp
21874 613236 : data_tmp = full_data(idata)
21875 613236 : pack_tmp = ISHFT(data_tmp, 48)
21876 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21877 613236 : idata = idata + 1
21878 613236 : data_tmp = full_data(idata)
21879 613236 : data_tmp = ISHFT(data_tmp, 34)
21880 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21881 613236 : pack_tmp = ISHFT(pack_tmp, -18)
21882 613236 : idata = idata + 1
21883 613236 : data_tmp = full_data(idata)
21884 613236 : data_tmp = ISHFT(data_tmp, 34)
21885 613236 : data_tmp = IAND(data_tmp, mask_left(18))
21886 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21887 613236 : ipack = ipack + 1
21888 613236 : packed_data(ipack) = pack_tmp
21889 613236 : data_tmp = full_data(idata)
21890 613236 : pack_tmp = ISHFT(data_tmp, 52)
21891 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21892 613236 : idata = idata + 1
21893 613236 : data_tmp = full_data(idata)
21894 613236 : data_tmp = ISHFT(data_tmp, 34)
21895 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21896 613236 : pack_tmp = ISHFT(pack_tmp, -22)
21897 613236 : idata = idata + 1
21898 613236 : data_tmp = full_data(idata)
21899 613236 : data_tmp = ISHFT(data_tmp, 34)
21900 613236 : data_tmp = IAND(data_tmp, mask_left(22))
21901 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21902 613236 : ipack = ipack + 1
21903 613236 : packed_data(ipack) = pack_tmp
21904 613236 : data_tmp = full_data(idata)
21905 613236 : pack_tmp = ISHFT(data_tmp, 56)
21906 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21907 613236 : idata = idata + 1
21908 613236 : data_tmp = full_data(idata)
21909 613236 : data_tmp = ISHFT(data_tmp, 34)
21910 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21911 613236 : pack_tmp = ISHFT(pack_tmp, -26)
21912 613236 : idata = idata + 1
21913 613236 : data_tmp = full_data(idata)
21914 613236 : data_tmp = ISHFT(data_tmp, 34)
21915 613236 : data_tmp = IAND(data_tmp, mask_left(26))
21916 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21917 613236 : ipack = ipack + 1
21918 613236 : packed_data(ipack) = pack_tmp
21919 613236 : data_tmp = full_data(idata)
21920 613236 : pack_tmp = ISHFT(data_tmp, 60)
21921 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21922 613236 : idata = idata + 1
21923 613236 : data_tmp = full_data(idata)
21924 613236 : data_tmp = ISHFT(data_tmp, 34)
21925 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21926 613236 : pack_tmp = ISHFT(pack_tmp, -30)
21927 613236 : idata = idata + 1
21928 613236 : data_tmp = full_data(idata)
21929 613236 : data_tmp = ISHFT(data_tmp, 34)
21930 613236 : pack_tmp = IOR(pack_tmp, data_tmp)
21931 : pack_tmp = ISHFT(pack_tmp, 0)
21932 613236 : pack_tmp = ISHFT(pack_tmp, 0)
21933 613236 : ipack = ipack + 1
21934 613511 : packed_data(ipack) = pack_tmp
21935 : END DO
21936 45259 : IF (Ndata_rep < Ndata) THEN
21937 13048 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
21938 : END IF
21939 45259 : END SUBROUTINE ints2bits_30
21940 :
21941 : ! **************************************************************************************************
21942 : !> \brief ...
21943 : !> \param Ndata ...
21944 : !> \param packed_data ...
21945 : !> \param full_data ...
21946 : ! **************************************************************************************************
21947 237740 : 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(*)
21951 :
21952 : INTEGER, PARAMETER :: Nbits = 30
21953 :
21954 : INTEGER :: idata, ipack, kdata, Ndata_rep
21955 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
21956 :
21957 237740 : ipack = 0
21958 237740 : idata = 0
21959 237740 : pack_tmp = 0
21960 237740 : Ndata_rep = (Ndata/64)*64
21961 237740 : DO kdata = 1, Ndata_rep, 64
21962 3068760 : idata = idata + 1
21963 3068760 : data_tmp = ISHFT(pack_tmp, 30)
21964 3068760 : ipack = ipack + 1
21965 3068760 : pack_tmp = packed_data(ipack)
21966 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
21967 3068760 : pack_tmp = ISHFT(pack_tmp, -30)
21968 3068760 : idata = idata + 1
21969 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21970 3068760 : full_data(idata) = data_tmp
21971 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21972 3068760 : idata = idata + 1
21973 3068760 : data_tmp = ISHFT(pack_tmp, 26)
21974 3068760 : ipack = ipack + 1
21975 3068760 : pack_tmp = packed_data(ipack)
21976 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
21977 3068760 : pack_tmp = ISHFT(pack_tmp, -26)
21978 3068760 : idata = idata + 1
21979 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21980 3068760 : full_data(idata) = data_tmp
21981 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21982 3068760 : idata = idata + 1
21983 3068760 : data_tmp = ISHFT(pack_tmp, 22)
21984 3068760 : ipack = ipack + 1
21985 3068760 : pack_tmp = packed_data(ipack)
21986 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
21987 3068760 : pack_tmp = ISHFT(pack_tmp, -22)
21988 3068760 : idata = idata + 1
21989 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
21990 3068760 : full_data(idata) = data_tmp
21991 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
21992 3068760 : idata = idata + 1
21993 3068760 : data_tmp = ISHFT(pack_tmp, 18)
21994 3068760 : ipack = ipack + 1
21995 3068760 : pack_tmp = packed_data(ipack)
21996 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
21997 3068760 : pack_tmp = ISHFT(pack_tmp, -18)
21998 3068760 : idata = idata + 1
21999 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22000 3068760 : full_data(idata) = data_tmp
22001 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22002 3068760 : idata = idata + 1
22003 3068760 : data_tmp = ISHFT(pack_tmp, 14)
22004 3068760 : ipack = ipack + 1
22005 3068760 : pack_tmp = packed_data(ipack)
22006 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
22007 3068760 : pack_tmp = ISHFT(pack_tmp, -14)
22008 3068760 : idata = idata + 1
22009 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22010 3068760 : full_data(idata) = data_tmp
22011 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22012 3068760 : idata = idata + 1
22013 3068760 : data_tmp = ISHFT(pack_tmp, 10)
22014 3068760 : ipack = ipack + 1
22015 3068760 : pack_tmp = packed_data(ipack)
22016 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
22017 3068760 : pack_tmp = ISHFT(pack_tmp, -10)
22018 3068760 : idata = idata + 1
22019 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22020 3068760 : full_data(idata) = data_tmp
22021 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22022 3068760 : idata = idata + 1
22023 3068760 : data_tmp = ISHFT(pack_tmp, 6)
22024 3068760 : ipack = ipack + 1
22025 3068760 : pack_tmp = packed_data(ipack)
22026 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
22027 3068760 : pack_tmp = ISHFT(pack_tmp, -6)
22028 3068760 : idata = idata + 1
22029 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22030 3068760 : full_data(idata) = data_tmp
22031 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22032 3068760 : idata = idata + 1
22033 3068760 : data_tmp = ISHFT(pack_tmp, 2)
22034 3068760 : ipack = ipack + 1
22035 3068760 : pack_tmp = packed_data(ipack)
22036 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
22037 3068760 : pack_tmp = ISHFT(pack_tmp, -2)
22038 3068760 : idata = idata + 1
22039 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22040 3068760 : full_data(idata) = data_tmp
22041 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22042 3068760 : idata = idata + 1
22043 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22044 3068760 : full_data(idata) = data_tmp
22045 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22046 3068760 : idata = idata + 1
22047 3068760 : data_tmp = ISHFT(pack_tmp, 28)
22048 3068760 : ipack = ipack + 1
22049 3068760 : pack_tmp = packed_data(ipack)
22050 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22051 3068760 : pack_tmp = ISHFT(pack_tmp, -28)
22052 3068760 : idata = idata + 1
22053 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22054 3068760 : full_data(idata) = data_tmp
22055 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22056 3068760 : idata = idata + 1
22057 3068760 : data_tmp = ISHFT(pack_tmp, 24)
22058 3068760 : ipack = ipack + 1
22059 3068760 : pack_tmp = packed_data(ipack)
22060 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
22061 3068760 : pack_tmp = ISHFT(pack_tmp, -24)
22062 3068760 : idata = idata + 1
22063 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22064 3068760 : full_data(idata) = data_tmp
22065 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22066 3068760 : idata = idata + 1
22067 3068760 : data_tmp = ISHFT(pack_tmp, 20)
22068 3068760 : ipack = ipack + 1
22069 3068760 : pack_tmp = packed_data(ipack)
22070 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
22071 3068760 : pack_tmp = ISHFT(pack_tmp, -20)
22072 3068760 : idata = idata + 1
22073 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22074 3068760 : full_data(idata) = data_tmp
22075 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22076 3068760 : idata = idata + 1
22077 3068760 : data_tmp = ISHFT(pack_tmp, 16)
22078 3068760 : ipack = ipack + 1
22079 3068760 : pack_tmp = packed_data(ipack)
22080 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
22081 3068760 : pack_tmp = ISHFT(pack_tmp, -16)
22082 3068760 : idata = idata + 1
22083 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22084 3068760 : full_data(idata) = data_tmp
22085 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22086 3068760 : idata = idata + 1
22087 3068760 : data_tmp = ISHFT(pack_tmp, 12)
22088 3068760 : ipack = ipack + 1
22089 3068760 : pack_tmp = packed_data(ipack)
22090 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
22091 3068760 : pack_tmp = ISHFT(pack_tmp, -12)
22092 3068760 : idata = idata + 1
22093 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22094 3068760 : full_data(idata) = data_tmp
22095 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22096 3068760 : idata = idata + 1
22097 3068760 : data_tmp = ISHFT(pack_tmp, 8)
22098 3068760 : ipack = ipack + 1
22099 3068760 : pack_tmp = packed_data(ipack)
22100 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
22101 3068760 : pack_tmp = ISHFT(pack_tmp, -8)
22102 3068760 : idata = idata + 1
22103 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22104 3068760 : full_data(idata) = data_tmp
22105 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22106 3068760 : idata = idata + 1
22107 3068760 : data_tmp = ISHFT(pack_tmp, 4)
22108 3068760 : ipack = ipack + 1
22109 3068760 : pack_tmp = packed_data(ipack)
22110 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
22111 3068760 : pack_tmp = ISHFT(pack_tmp, -4)
22112 3068760 : idata = idata + 1
22113 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22114 3068760 : full_data(idata) = data_tmp
22115 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22116 3068760 : idata = idata + 1
22117 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22118 3068760 : full_data(idata) = data_tmp
22119 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22120 3068760 : idata = idata + 1
22121 3068760 : data_tmp = ISHFT(pack_tmp, 30)
22122 3068760 : ipack = ipack + 1
22123 3068760 : pack_tmp = packed_data(ipack)
22124 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
22125 3068760 : pack_tmp = ISHFT(pack_tmp, -30)
22126 3068760 : idata = idata + 1
22127 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22128 3068760 : full_data(idata) = data_tmp
22129 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22130 3068760 : idata = idata + 1
22131 3068760 : data_tmp = ISHFT(pack_tmp, 26)
22132 3068760 : ipack = ipack + 1
22133 3068760 : pack_tmp = packed_data(ipack)
22134 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
22135 3068760 : pack_tmp = ISHFT(pack_tmp, -26)
22136 3068760 : idata = idata + 1
22137 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22138 3068760 : full_data(idata) = data_tmp
22139 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22140 3068760 : idata = idata + 1
22141 3068760 : data_tmp = ISHFT(pack_tmp, 22)
22142 3068760 : ipack = ipack + 1
22143 3068760 : pack_tmp = packed_data(ipack)
22144 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
22145 3068760 : pack_tmp = ISHFT(pack_tmp, -22)
22146 3068760 : idata = idata + 1
22147 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22148 3068760 : full_data(idata) = data_tmp
22149 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22150 3068760 : idata = idata + 1
22151 3068760 : data_tmp = ISHFT(pack_tmp, 18)
22152 3068760 : ipack = ipack + 1
22153 3068760 : pack_tmp = packed_data(ipack)
22154 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
22155 3068760 : pack_tmp = ISHFT(pack_tmp, -18)
22156 3068760 : idata = idata + 1
22157 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22158 3068760 : full_data(idata) = data_tmp
22159 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22160 3068760 : idata = idata + 1
22161 3068760 : data_tmp = ISHFT(pack_tmp, 14)
22162 3068760 : ipack = ipack + 1
22163 3068760 : pack_tmp = packed_data(ipack)
22164 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
22165 3068760 : pack_tmp = ISHFT(pack_tmp, -14)
22166 3068760 : idata = idata + 1
22167 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22168 3068760 : full_data(idata) = data_tmp
22169 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22170 3068760 : idata = idata + 1
22171 3068760 : data_tmp = ISHFT(pack_tmp, 10)
22172 3068760 : ipack = ipack + 1
22173 3068760 : pack_tmp = packed_data(ipack)
22174 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
22175 3068760 : pack_tmp = ISHFT(pack_tmp, -10)
22176 3068760 : idata = idata + 1
22177 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22178 3068760 : full_data(idata) = data_tmp
22179 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22180 3068760 : idata = idata + 1
22181 3068760 : data_tmp = ISHFT(pack_tmp, 6)
22182 3068760 : ipack = ipack + 1
22183 3068760 : pack_tmp = packed_data(ipack)
22184 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
22185 3068760 : pack_tmp = ISHFT(pack_tmp, -6)
22186 3068760 : idata = idata + 1
22187 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22188 3068760 : full_data(idata) = data_tmp
22189 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22190 3068760 : idata = idata + 1
22191 3068760 : data_tmp = ISHFT(pack_tmp, 2)
22192 3068760 : ipack = ipack + 1
22193 3068760 : pack_tmp = packed_data(ipack)
22194 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
22195 3068760 : pack_tmp = ISHFT(pack_tmp, -2)
22196 3068760 : idata = idata + 1
22197 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22198 3068760 : full_data(idata) = data_tmp
22199 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22200 3068760 : idata = idata + 1
22201 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22202 3068760 : full_data(idata) = data_tmp
22203 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22204 3068760 : idata = idata + 1
22205 3068760 : data_tmp = ISHFT(pack_tmp, 28)
22206 3068760 : ipack = ipack + 1
22207 3068760 : pack_tmp = packed_data(ipack)
22208 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22209 3068760 : pack_tmp = ISHFT(pack_tmp, -28)
22210 3068760 : idata = idata + 1
22211 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22212 3068760 : full_data(idata) = data_tmp
22213 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22214 3068760 : idata = idata + 1
22215 3068760 : data_tmp = ISHFT(pack_tmp, 24)
22216 3068760 : ipack = ipack + 1
22217 3068760 : pack_tmp = packed_data(ipack)
22218 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
22219 3068760 : pack_tmp = ISHFT(pack_tmp, -24)
22220 3068760 : idata = idata + 1
22221 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22222 3068760 : full_data(idata) = data_tmp
22223 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22224 3068760 : idata = idata + 1
22225 3068760 : data_tmp = ISHFT(pack_tmp, 20)
22226 3068760 : ipack = ipack + 1
22227 3068760 : pack_tmp = packed_data(ipack)
22228 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
22229 3068760 : pack_tmp = ISHFT(pack_tmp, -20)
22230 3068760 : idata = idata + 1
22231 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22232 3068760 : full_data(idata) = data_tmp
22233 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22234 3068760 : idata = idata + 1
22235 3068760 : data_tmp = ISHFT(pack_tmp, 16)
22236 3068760 : ipack = ipack + 1
22237 3068760 : pack_tmp = packed_data(ipack)
22238 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
22239 3068760 : pack_tmp = ISHFT(pack_tmp, -16)
22240 3068760 : idata = idata + 1
22241 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22242 3068760 : full_data(idata) = data_tmp
22243 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22244 3068760 : idata = idata + 1
22245 3068760 : data_tmp = ISHFT(pack_tmp, 12)
22246 3068760 : ipack = ipack + 1
22247 3068760 : pack_tmp = packed_data(ipack)
22248 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
22249 3068760 : pack_tmp = ISHFT(pack_tmp, -12)
22250 3068760 : idata = idata + 1
22251 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22252 3068760 : full_data(idata) = data_tmp
22253 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22254 3068760 : idata = idata + 1
22255 3068760 : data_tmp = ISHFT(pack_tmp, 8)
22256 3068760 : ipack = ipack + 1
22257 3068760 : pack_tmp = packed_data(ipack)
22258 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
22259 3068760 : pack_tmp = ISHFT(pack_tmp, -8)
22260 3068760 : idata = idata + 1
22261 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22262 3068760 : full_data(idata) = data_tmp
22263 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22264 3068760 : idata = idata + 1
22265 3068760 : data_tmp = ISHFT(pack_tmp, 4)
22266 3068760 : ipack = ipack + 1
22267 3068760 : pack_tmp = packed_data(ipack)
22268 3068760 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
22269 3068760 : pack_tmp = ISHFT(pack_tmp, -4)
22270 3068760 : idata = idata + 1
22271 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22272 3068760 : full_data(idata) = data_tmp
22273 3068760 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22274 3068760 : idata = idata + 1
22275 3068760 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22276 3068760 : full_data(idata) = data_tmp
22277 3071134 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22278 : END DO
22279 237740 : IF (Ndata_rep < Ndata) THEN
22280 86480 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
22281 : END IF
22282 237740 : END SUBROUTINE bits2ints_30
22283 :
22284 : ! **************************************************************************************************
22285 : !> \brief ...
22286 : !> \param Ndata ...
22287 : !> \param packed_data ...
22288 : !> \param full_data ...
22289 : ! **************************************************************************************************
22290 46706 : 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(*)
22294 :
22295 : INTEGER, PARAMETER :: Nbits = 31
22296 :
22297 : INTEGER :: idata, ipack, kdata, Ndata_rep
22298 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
22299 :
22300 46706 : idata = 0
22301 46706 : ipack = 0
22302 46706 : Ndata_rep = (Ndata/64)*64
22303 46706 : DO kdata = 1, Ndata_rep, 64
22304 627922 : pack_tmp = 0
22305 627922 : idata = idata + 1
22306 627922 : data_tmp = full_data(idata)
22307 627922 : data_tmp = ISHFT(data_tmp, 33)
22308 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22309 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22310 627922 : idata = idata + 1
22311 627922 : data_tmp = full_data(idata)
22312 627922 : data_tmp = ISHFT(data_tmp, 33)
22313 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22314 627922 : pack_tmp = ISHFT(pack_tmp, -2)
22315 627922 : idata = idata + 1
22316 627922 : data_tmp = full_data(idata)
22317 627922 : data_tmp = ISHFT(data_tmp, 33)
22318 627922 : data_tmp = IAND(data_tmp, mask_left(2))
22319 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22320 627922 : ipack = ipack + 1
22321 627922 : packed_data(ipack) = pack_tmp
22322 627922 : data_tmp = full_data(idata)
22323 627922 : pack_tmp = ISHFT(data_tmp, 35)
22324 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22325 627922 : idata = idata + 1
22326 627922 : data_tmp = full_data(idata)
22327 627922 : data_tmp = ISHFT(data_tmp, 33)
22328 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22329 627922 : pack_tmp = ISHFT(pack_tmp, -4)
22330 627922 : idata = idata + 1
22331 627922 : data_tmp = full_data(idata)
22332 627922 : data_tmp = ISHFT(data_tmp, 33)
22333 627922 : data_tmp = IAND(data_tmp, mask_left(4))
22334 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22335 627922 : ipack = ipack + 1
22336 627922 : packed_data(ipack) = pack_tmp
22337 627922 : data_tmp = full_data(idata)
22338 627922 : pack_tmp = ISHFT(data_tmp, 37)
22339 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22340 627922 : idata = idata + 1
22341 627922 : data_tmp = full_data(idata)
22342 627922 : data_tmp = ISHFT(data_tmp, 33)
22343 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22344 627922 : pack_tmp = ISHFT(pack_tmp, -6)
22345 627922 : idata = idata + 1
22346 627922 : data_tmp = full_data(idata)
22347 627922 : data_tmp = ISHFT(data_tmp, 33)
22348 627922 : data_tmp = IAND(data_tmp, mask_left(6))
22349 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22350 627922 : ipack = ipack + 1
22351 627922 : packed_data(ipack) = pack_tmp
22352 627922 : data_tmp = full_data(idata)
22353 627922 : pack_tmp = ISHFT(data_tmp, 39)
22354 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22355 627922 : idata = idata + 1
22356 627922 : data_tmp = full_data(idata)
22357 627922 : data_tmp = ISHFT(data_tmp, 33)
22358 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22359 627922 : pack_tmp = ISHFT(pack_tmp, -8)
22360 627922 : idata = idata + 1
22361 627922 : data_tmp = full_data(idata)
22362 627922 : data_tmp = ISHFT(data_tmp, 33)
22363 627922 : data_tmp = IAND(data_tmp, mask_left(8))
22364 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22365 627922 : ipack = ipack + 1
22366 627922 : packed_data(ipack) = pack_tmp
22367 627922 : data_tmp = full_data(idata)
22368 627922 : pack_tmp = ISHFT(data_tmp, 41)
22369 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22370 627922 : idata = idata + 1
22371 627922 : data_tmp = full_data(idata)
22372 627922 : data_tmp = ISHFT(data_tmp, 33)
22373 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22374 627922 : pack_tmp = ISHFT(pack_tmp, -10)
22375 627922 : idata = idata + 1
22376 627922 : data_tmp = full_data(idata)
22377 627922 : data_tmp = ISHFT(data_tmp, 33)
22378 627922 : data_tmp = IAND(data_tmp, mask_left(10))
22379 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22380 627922 : ipack = ipack + 1
22381 627922 : packed_data(ipack) = pack_tmp
22382 627922 : data_tmp = full_data(idata)
22383 627922 : pack_tmp = ISHFT(data_tmp, 43)
22384 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22385 627922 : idata = idata + 1
22386 627922 : data_tmp = full_data(idata)
22387 627922 : data_tmp = ISHFT(data_tmp, 33)
22388 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22389 627922 : pack_tmp = ISHFT(pack_tmp, -12)
22390 627922 : idata = idata + 1
22391 627922 : data_tmp = full_data(idata)
22392 627922 : data_tmp = ISHFT(data_tmp, 33)
22393 627922 : data_tmp = IAND(data_tmp, mask_left(12))
22394 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22395 627922 : ipack = ipack + 1
22396 627922 : packed_data(ipack) = pack_tmp
22397 627922 : data_tmp = full_data(idata)
22398 627922 : pack_tmp = ISHFT(data_tmp, 45)
22399 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22400 627922 : idata = idata + 1
22401 627922 : data_tmp = full_data(idata)
22402 627922 : data_tmp = ISHFT(data_tmp, 33)
22403 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22404 627922 : pack_tmp = ISHFT(pack_tmp, -14)
22405 627922 : idata = idata + 1
22406 627922 : data_tmp = full_data(idata)
22407 627922 : data_tmp = ISHFT(data_tmp, 33)
22408 627922 : data_tmp = IAND(data_tmp, mask_left(14))
22409 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22410 627922 : ipack = ipack + 1
22411 627922 : packed_data(ipack) = pack_tmp
22412 627922 : data_tmp = full_data(idata)
22413 627922 : pack_tmp = ISHFT(data_tmp, 47)
22414 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22415 627922 : idata = idata + 1
22416 627922 : data_tmp = full_data(idata)
22417 627922 : data_tmp = ISHFT(data_tmp, 33)
22418 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22419 627922 : pack_tmp = ISHFT(pack_tmp, -16)
22420 627922 : idata = idata + 1
22421 627922 : data_tmp = full_data(idata)
22422 627922 : data_tmp = ISHFT(data_tmp, 33)
22423 627922 : data_tmp = IAND(data_tmp, mask_left(16))
22424 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22425 627922 : ipack = ipack + 1
22426 627922 : packed_data(ipack) = pack_tmp
22427 627922 : data_tmp = full_data(idata)
22428 627922 : pack_tmp = ISHFT(data_tmp, 49)
22429 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22430 627922 : idata = idata + 1
22431 627922 : data_tmp = full_data(idata)
22432 627922 : data_tmp = ISHFT(data_tmp, 33)
22433 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22434 627922 : pack_tmp = ISHFT(pack_tmp, -18)
22435 627922 : idata = idata + 1
22436 627922 : data_tmp = full_data(idata)
22437 627922 : data_tmp = ISHFT(data_tmp, 33)
22438 627922 : data_tmp = IAND(data_tmp, mask_left(18))
22439 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22440 627922 : ipack = ipack + 1
22441 627922 : packed_data(ipack) = pack_tmp
22442 627922 : data_tmp = full_data(idata)
22443 627922 : pack_tmp = ISHFT(data_tmp, 51)
22444 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22445 627922 : idata = idata + 1
22446 627922 : data_tmp = full_data(idata)
22447 627922 : data_tmp = ISHFT(data_tmp, 33)
22448 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22449 627922 : pack_tmp = ISHFT(pack_tmp, -20)
22450 627922 : idata = idata + 1
22451 627922 : data_tmp = full_data(idata)
22452 627922 : data_tmp = ISHFT(data_tmp, 33)
22453 627922 : data_tmp = IAND(data_tmp, mask_left(20))
22454 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22455 627922 : ipack = ipack + 1
22456 627922 : packed_data(ipack) = pack_tmp
22457 627922 : data_tmp = full_data(idata)
22458 627922 : pack_tmp = ISHFT(data_tmp, 53)
22459 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22460 627922 : idata = idata + 1
22461 627922 : data_tmp = full_data(idata)
22462 627922 : data_tmp = ISHFT(data_tmp, 33)
22463 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22464 627922 : pack_tmp = ISHFT(pack_tmp, -22)
22465 627922 : idata = idata + 1
22466 627922 : data_tmp = full_data(idata)
22467 627922 : data_tmp = ISHFT(data_tmp, 33)
22468 627922 : data_tmp = IAND(data_tmp, mask_left(22))
22469 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22470 627922 : ipack = ipack + 1
22471 627922 : packed_data(ipack) = pack_tmp
22472 627922 : data_tmp = full_data(idata)
22473 627922 : pack_tmp = ISHFT(data_tmp, 55)
22474 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22475 627922 : idata = idata + 1
22476 627922 : data_tmp = full_data(idata)
22477 627922 : data_tmp = ISHFT(data_tmp, 33)
22478 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22479 627922 : pack_tmp = ISHFT(pack_tmp, -24)
22480 627922 : idata = idata + 1
22481 627922 : data_tmp = full_data(idata)
22482 627922 : data_tmp = ISHFT(data_tmp, 33)
22483 627922 : data_tmp = IAND(data_tmp, mask_left(24))
22484 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22485 627922 : ipack = ipack + 1
22486 627922 : packed_data(ipack) = pack_tmp
22487 627922 : data_tmp = full_data(idata)
22488 627922 : pack_tmp = ISHFT(data_tmp, 57)
22489 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22490 627922 : idata = idata + 1
22491 627922 : data_tmp = full_data(idata)
22492 627922 : data_tmp = ISHFT(data_tmp, 33)
22493 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22494 627922 : pack_tmp = ISHFT(pack_tmp, -26)
22495 627922 : idata = idata + 1
22496 627922 : data_tmp = full_data(idata)
22497 627922 : data_tmp = ISHFT(data_tmp, 33)
22498 627922 : data_tmp = IAND(data_tmp, mask_left(26))
22499 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22500 627922 : ipack = ipack + 1
22501 627922 : packed_data(ipack) = pack_tmp
22502 627922 : data_tmp = full_data(idata)
22503 627922 : pack_tmp = ISHFT(data_tmp, 59)
22504 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22505 627922 : idata = idata + 1
22506 627922 : data_tmp = full_data(idata)
22507 627922 : data_tmp = ISHFT(data_tmp, 33)
22508 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22509 627922 : pack_tmp = ISHFT(pack_tmp, -28)
22510 627922 : idata = idata + 1
22511 627922 : data_tmp = full_data(idata)
22512 627922 : data_tmp = ISHFT(data_tmp, 33)
22513 627922 : data_tmp = IAND(data_tmp, mask_left(28))
22514 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22515 627922 : ipack = ipack + 1
22516 627922 : packed_data(ipack) = pack_tmp
22517 627922 : data_tmp = full_data(idata)
22518 627922 : pack_tmp = ISHFT(data_tmp, 61)
22519 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22520 627922 : idata = idata + 1
22521 627922 : data_tmp = full_data(idata)
22522 627922 : data_tmp = ISHFT(data_tmp, 33)
22523 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22524 627922 : pack_tmp = ISHFT(pack_tmp, -30)
22525 627922 : idata = idata + 1
22526 627922 : data_tmp = full_data(idata)
22527 627922 : data_tmp = ISHFT(data_tmp, 33)
22528 627922 : data_tmp = IAND(data_tmp, mask_left(30))
22529 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22530 627922 : ipack = ipack + 1
22531 627922 : packed_data(ipack) = pack_tmp
22532 627922 : data_tmp = full_data(idata)
22533 627922 : pack_tmp = ISHFT(data_tmp, 63)
22534 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22535 627922 : idata = idata + 1
22536 627922 : data_tmp = full_data(idata)
22537 627922 : data_tmp = ISHFT(data_tmp, 33)
22538 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22539 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22540 627922 : idata = idata + 1
22541 627922 : data_tmp = full_data(idata)
22542 627922 : data_tmp = ISHFT(data_tmp, 33)
22543 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22544 627922 : pack_tmp = ISHFT(pack_tmp, -1)
22545 627922 : idata = idata + 1
22546 627922 : data_tmp = full_data(idata)
22547 627922 : data_tmp = ISHFT(data_tmp, 33)
22548 627922 : data_tmp = IAND(data_tmp, mask_left(1))
22549 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22550 627922 : ipack = ipack + 1
22551 627922 : packed_data(ipack) = pack_tmp
22552 627922 : data_tmp = full_data(idata)
22553 627922 : pack_tmp = ISHFT(data_tmp, 34)
22554 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22555 627922 : idata = idata + 1
22556 627922 : data_tmp = full_data(idata)
22557 627922 : data_tmp = ISHFT(data_tmp, 33)
22558 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22559 627922 : pack_tmp = ISHFT(pack_tmp, -3)
22560 627922 : idata = idata + 1
22561 627922 : data_tmp = full_data(idata)
22562 627922 : data_tmp = ISHFT(data_tmp, 33)
22563 627922 : data_tmp = IAND(data_tmp, mask_left(3))
22564 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22565 627922 : ipack = ipack + 1
22566 627922 : packed_data(ipack) = pack_tmp
22567 627922 : data_tmp = full_data(idata)
22568 627922 : pack_tmp = ISHFT(data_tmp, 36)
22569 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22570 627922 : idata = idata + 1
22571 627922 : data_tmp = full_data(idata)
22572 627922 : data_tmp = ISHFT(data_tmp, 33)
22573 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22574 627922 : pack_tmp = ISHFT(pack_tmp, -5)
22575 627922 : idata = idata + 1
22576 627922 : data_tmp = full_data(idata)
22577 627922 : data_tmp = ISHFT(data_tmp, 33)
22578 627922 : data_tmp = IAND(data_tmp, mask_left(5))
22579 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22580 627922 : ipack = ipack + 1
22581 627922 : packed_data(ipack) = pack_tmp
22582 627922 : data_tmp = full_data(idata)
22583 627922 : pack_tmp = ISHFT(data_tmp, 38)
22584 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22585 627922 : idata = idata + 1
22586 627922 : data_tmp = full_data(idata)
22587 627922 : data_tmp = ISHFT(data_tmp, 33)
22588 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22589 627922 : pack_tmp = ISHFT(pack_tmp, -7)
22590 627922 : idata = idata + 1
22591 627922 : data_tmp = full_data(idata)
22592 627922 : data_tmp = ISHFT(data_tmp, 33)
22593 627922 : data_tmp = IAND(data_tmp, mask_left(7))
22594 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22595 627922 : ipack = ipack + 1
22596 627922 : packed_data(ipack) = pack_tmp
22597 627922 : data_tmp = full_data(idata)
22598 627922 : pack_tmp = ISHFT(data_tmp, 40)
22599 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22600 627922 : idata = idata + 1
22601 627922 : data_tmp = full_data(idata)
22602 627922 : data_tmp = ISHFT(data_tmp, 33)
22603 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22604 627922 : pack_tmp = ISHFT(pack_tmp, -9)
22605 627922 : idata = idata + 1
22606 627922 : data_tmp = full_data(idata)
22607 627922 : data_tmp = ISHFT(data_tmp, 33)
22608 627922 : data_tmp = IAND(data_tmp, mask_left(9))
22609 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22610 627922 : ipack = ipack + 1
22611 627922 : packed_data(ipack) = pack_tmp
22612 627922 : data_tmp = full_data(idata)
22613 627922 : pack_tmp = ISHFT(data_tmp, 42)
22614 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22615 627922 : idata = idata + 1
22616 627922 : data_tmp = full_data(idata)
22617 627922 : data_tmp = ISHFT(data_tmp, 33)
22618 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22619 627922 : pack_tmp = ISHFT(pack_tmp, -11)
22620 627922 : idata = idata + 1
22621 627922 : data_tmp = full_data(idata)
22622 627922 : data_tmp = ISHFT(data_tmp, 33)
22623 627922 : data_tmp = IAND(data_tmp, mask_left(11))
22624 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22625 627922 : ipack = ipack + 1
22626 627922 : packed_data(ipack) = pack_tmp
22627 627922 : data_tmp = full_data(idata)
22628 627922 : pack_tmp = ISHFT(data_tmp, 44)
22629 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22630 627922 : idata = idata + 1
22631 627922 : data_tmp = full_data(idata)
22632 627922 : data_tmp = ISHFT(data_tmp, 33)
22633 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22634 627922 : pack_tmp = ISHFT(pack_tmp, -13)
22635 627922 : idata = idata + 1
22636 627922 : data_tmp = full_data(idata)
22637 627922 : data_tmp = ISHFT(data_tmp, 33)
22638 627922 : data_tmp = IAND(data_tmp, mask_left(13))
22639 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22640 627922 : ipack = ipack + 1
22641 627922 : packed_data(ipack) = pack_tmp
22642 627922 : data_tmp = full_data(idata)
22643 627922 : pack_tmp = ISHFT(data_tmp, 46)
22644 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22645 627922 : idata = idata + 1
22646 627922 : data_tmp = full_data(idata)
22647 627922 : data_tmp = ISHFT(data_tmp, 33)
22648 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22649 627922 : pack_tmp = ISHFT(pack_tmp, -15)
22650 627922 : idata = idata + 1
22651 627922 : data_tmp = full_data(idata)
22652 627922 : data_tmp = ISHFT(data_tmp, 33)
22653 627922 : data_tmp = IAND(data_tmp, mask_left(15))
22654 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22655 627922 : ipack = ipack + 1
22656 627922 : packed_data(ipack) = pack_tmp
22657 627922 : data_tmp = full_data(idata)
22658 627922 : pack_tmp = ISHFT(data_tmp, 48)
22659 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22660 627922 : idata = idata + 1
22661 627922 : data_tmp = full_data(idata)
22662 627922 : data_tmp = ISHFT(data_tmp, 33)
22663 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22664 627922 : pack_tmp = ISHFT(pack_tmp, -17)
22665 627922 : idata = idata + 1
22666 627922 : data_tmp = full_data(idata)
22667 627922 : data_tmp = ISHFT(data_tmp, 33)
22668 627922 : data_tmp = IAND(data_tmp, mask_left(17))
22669 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22670 627922 : ipack = ipack + 1
22671 627922 : packed_data(ipack) = pack_tmp
22672 627922 : data_tmp = full_data(idata)
22673 627922 : pack_tmp = ISHFT(data_tmp, 50)
22674 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22675 627922 : idata = idata + 1
22676 627922 : data_tmp = full_data(idata)
22677 627922 : data_tmp = ISHFT(data_tmp, 33)
22678 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22679 627922 : pack_tmp = ISHFT(pack_tmp, -19)
22680 627922 : idata = idata + 1
22681 627922 : data_tmp = full_data(idata)
22682 627922 : data_tmp = ISHFT(data_tmp, 33)
22683 627922 : data_tmp = IAND(data_tmp, mask_left(19))
22684 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22685 627922 : ipack = ipack + 1
22686 627922 : packed_data(ipack) = pack_tmp
22687 627922 : data_tmp = full_data(idata)
22688 627922 : pack_tmp = ISHFT(data_tmp, 52)
22689 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22690 627922 : idata = idata + 1
22691 627922 : data_tmp = full_data(idata)
22692 627922 : data_tmp = ISHFT(data_tmp, 33)
22693 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22694 627922 : pack_tmp = ISHFT(pack_tmp, -21)
22695 627922 : idata = idata + 1
22696 627922 : data_tmp = full_data(idata)
22697 627922 : data_tmp = ISHFT(data_tmp, 33)
22698 627922 : data_tmp = IAND(data_tmp, mask_left(21))
22699 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22700 627922 : ipack = ipack + 1
22701 627922 : packed_data(ipack) = pack_tmp
22702 627922 : data_tmp = full_data(idata)
22703 627922 : pack_tmp = ISHFT(data_tmp, 54)
22704 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22705 627922 : idata = idata + 1
22706 627922 : data_tmp = full_data(idata)
22707 627922 : data_tmp = ISHFT(data_tmp, 33)
22708 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22709 627922 : pack_tmp = ISHFT(pack_tmp, -23)
22710 627922 : idata = idata + 1
22711 627922 : data_tmp = full_data(idata)
22712 627922 : data_tmp = ISHFT(data_tmp, 33)
22713 627922 : data_tmp = IAND(data_tmp, mask_left(23))
22714 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22715 627922 : ipack = ipack + 1
22716 627922 : packed_data(ipack) = pack_tmp
22717 627922 : data_tmp = full_data(idata)
22718 627922 : pack_tmp = ISHFT(data_tmp, 56)
22719 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22720 627922 : idata = idata + 1
22721 627922 : data_tmp = full_data(idata)
22722 627922 : data_tmp = ISHFT(data_tmp, 33)
22723 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22724 627922 : pack_tmp = ISHFT(pack_tmp, -25)
22725 627922 : idata = idata + 1
22726 627922 : data_tmp = full_data(idata)
22727 627922 : data_tmp = ISHFT(data_tmp, 33)
22728 627922 : data_tmp = IAND(data_tmp, mask_left(25))
22729 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22730 627922 : ipack = ipack + 1
22731 627922 : packed_data(ipack) = pack_tmp
22732 627922 : data_tmp = full_data(idata)
22733 627922 : pack_tmp = ISHFT(data_tmp, 58)
22734 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22735 627922 : idata = idata + 1
22736 627922 : data_tmp = full_data(idata)
22737 627922 : data_tmp = ISHFT(data_tmp, 33)
22738 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22739 627922 : pack_tmp = ISHFT(pack_tmp, -27)
22740 627922 : idata = idata + 1
22741 627922 : data_tmp = full_data(idata)
22742 627922 : data_tmp = ISHFT(data_tmp, 33)
22743 627922 : data_tmp = IAND(data_tmp, mask_left(27))
22744 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22745 627922 : ipack = ipack + 1
22746 627922 : packed_data(ipack) = pack_tmp
22747 627922 : data_tmp = full_data(idata)
22748 627922 : pack_tmp = ISHFT(data_tmp, 60)
22749 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22750 627922 : idata = idata + 1
22751 627922 : data_tmp = full_data(idata)
22752 627922 : data_tmp = ISHFT(data_tmp, 33)
22753 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22754 627922 : pack_tmp = ISHFT(pack_tmp, -29)
22755 627922 : idata = idata + 1
22756 627922 : data_tmp = full_data(idata)
22757 627922 : data_tmp = ISHFT(data_tmp, 33)
22758 627922 : data_tmp = IAND(data_tmp, mask_left(29))
22759 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22760 627922 : ipack = ipack + 1
22761 627922 : packed_data(ipack) = pack_tmp
22762 627922 : data_tmp = full_data(idata)
22763 627922 : pack_tmp = ISHFT(data_tmp, 62)
22764 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22765 627922 : idata = idata + 1
22766 627922 : data_tmp = full_data(idata)
22767 627922 : data_tmp = ISHFT(data_tmp, 33)
22768 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22769 627922 : pack_tmp = ISHFT(pack_tmp, -31)
22770 627922 : idata = idata + 1
22771 627922 : data_tmp = full_data(idata)
22772 627922 : data_tmp = ISHFT(data_tmp, 33)
22773 627922 : pack_tmp = IOR(pack_tmp, data_tmp)
22774 : pack_tmp = ISHFT(pack_tmp, 0)
22775 627922 : pack_tmp = ISHFT(pack_tmp, 0)
22776 627922 : ipack = ipack + 1
22777 628082 : packed_data(ipack) = pack_tmp
22778 : END DO
22779 46706 : IF (Ndata_rep < Ndata) THEN
22780 14044 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
22781 : END IF
22782 46706 : END SUBROUTINE ints2bits_31
22783 :
22784 : ! **************************************************************************************************
22785 : !> \brief ...
22786 : !> \param Ndata ...
22787 : !> \param packed_data ...
22788 : !> \param full_data ...
22789 : ! **************************************************************************************************
22790 294882 : 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(*)
22794 :
22795 : INTEGER, PARAMETER :: Nbits = 31
22796 :
22797 : INTEGER :: idata, ipack, kdata, Ndata_rep
22798 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
22799 :
22800 294882 : ipack = 0
22801 294882 : idata = 0
22802 294882 : pack_tmp = 0
22803 294882 : Ndata_rep = (Ndata/64)*64
22804 294882 : DO kdata = 1, Ndata_rep, 64
22805 3659522 : idata = idata + 1
22806 3659522 : data_tmp = ISHFT(pack_tmp, 31)
22807 3659522 : ipack = ipack + 1
22808 3659522 : pack_tmp = packed_data(ipack)
22809 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
22810 3659522 : pack_tmp = ISHFT(pack_tmp, -31)
22811 3659522 : idata = idata + 1
22812 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22813 3659522 : full_data(idata) = data_tmp
22814 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22815 3659522 : idata = idata + 1
22816 3659522 : data_tmp = ISHFT(pack_tmp, 29)
22817 3659522 : ipack = ipack + 1
22818 3659522 : pack_tmp = packed_data(ipack)
22819 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
22820 3659522 : pack_tmp = ISHFT(pack_tmp, -29)
22821 3659522 : idata = idata + 1
22822 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22823 3659522 : full_data(idata) = data_tmp
22824 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22825 3659522 : idata = idata + 1
22826 3659522 : data_tmp = ISHFT(pack_tmp, 27)
22827 3659522 : ipack = ipack + 1
22828 3659522 : pack_tmp = packed_data(ipack)
22829 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
22830 3659522 : pack_tmp = ISHFT(pack_tmp, -27)
22831 3659522 : idata = idata + 1
22832 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22833 3659522 : full_data(idata) = data_tmp
22834 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22835 3659522 : idata = idata + 1
22836 3659522 : data_tmp = ISHFT(pack_tmp, 25)
22837 3659522 : ipack = ipack + 1
22838 3659522 : pack_tmp = packed_data(ipack)
22839 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
22840 3659522 : pack_tmp = ISHFT(pack_tmp, -25)
22841 3659522 : idata = idata + 1
22842 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22843 3659522 : full_data(idata) = data_tmp
22844 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22845 3659522 : idata = idata + 1
22846 3659522 : data_tmp = ISHFT(pack_tmp, 23)
22847 3659522 : ipack = ipack + 1
22848 3659522 : pack_tmp = packed_data(ipack)
22849 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
22850 3659522 : pack_tmp = ISHFT(pack_tmp, -23)
22851 3659522 : idata = idata + 1
22852 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22853 3659522 : full_data(idata) = data_tmp
22854 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22855 3659522 : idata = idata + 1
22856 3659522 : data_tmp = ISHFT(pack_tmp, 21)
22857 3659522 : ipack = ipack + 1
22858 3659522 : pack_tmp = packed_data(ipack)
22859 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
22860 3659522 : pack_tmp = ISHFT(pack_tmp, -21)
22861 3659522 : idata = idata + 1
22862 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22863 3659522 : full_data(idata) = data_tmp
22864 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22865 3659522 : idata = idata + 1
22866 3659522 : data_tmp = ISHFT(pack_tmp, 19)
22867 3659522 : ipack = ipack + 1
22868 3659522 : pack_tmp = packed_data(ipack)
22869 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
22870 3659522 : pack_tmp = ISHFT(pack_tmp, -19)
22871 3659522 : idata = idata + 1
22872 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22873 3659522 : full_data(idata) = data_tmp
22874 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22875 3659522 : idata = idata + 1
22876 3659522 : data_tmp = ISHFT(pack_tmp, 17)
22877 3659522 : ipack = ipack + 1
22878 3659522 : pack_tmp = packed_data(ipack)
22879 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
22880 3659522 : pack_tmp = ISHFT(pack_tmp, -17)
22881 3659522 : idata = idata + 1
22882 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22883 3659522 : full_data(idata) = data_tmp
22884 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22885 3659522 : idata = idata + 1
22886 3659522 : data_tmp = ISHFT(pack_tmp, 15)
22887 3659522 : ipack = ipack + 1
22888 3659522 : pack_tmp = packed_data(ipack)
22889 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
22890 3659522 : pack_tmp = ISHFT(pack_tmp, -15)
22891 3659522 : idata = idata + 1
22892 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22893 3659522 : full_data(idata) = data_tmp
22894 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22895 3659522 : idata = idata + 1
22896 3659522 : data_tmp = ISHFT(pack_tmp, 13)
22897 3659522 : ipack = ipack + 1
22898 3659522 : pack_tmp = packed_data(ipack)
22899 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
22900 3659522 : pack_tmp = ISHFT(pack_tmp, -13)
22901 3659522 : idata = idata + 1
22902 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22903 3659522 : full_data(idata) = data_tmp
22904 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22905 3659522 : idata = idata + 1
22906 3659522 : data_tmp = ISHFT(pack_tmp, 11)
22907 3659522 : ipack = ipack + 1
22908 3659522 : pack_tmp = packed_data(ipack)
22909 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
22910 3659522 : pack_tmp = ISHFT(pack_tmp, -11)
22911 3659522 : idata = idata + 1
22912 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22913 3659522 : full_data(idata) = data_tmp
22914 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22915 3659522 : idata = idata + 1
22916 3659522 : data_tmp = ISHFT(pack_tmp, 9)
22917 3659522 : ipack = ipack + 1
22918 3659522 : pack_tmp = packed_data(ipack)
22919 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
22920 3659522 : pack_tmp = ISHFT(pack_tmp, -9)
22921 3659522 : idata = idata + 1
22922 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22923 3659522 : full_data(idata) = data_tmp
22924 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22925 3659522 : idata = idata + 1
22926 3659522 : data_tmp = ISHFT(pack_tmp, 7)
22927 3659522 : ipack = ipack + 1
22928 3659522 : pack_tmp = packed_data(ipack)
22929 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
22930 3659522 : pack_tmp = ISHFT(pack_tmp, -7)
22931 3659522 : idata = idata + 1
22932 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22933 3659522 : full_data(idata) = data_tmp
22934 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22935 3659522 : idata = idata + 1
22936 3659522 : data_tmp = ISHFT(pack_tmp, 5)
22937 3659522 : ipack = ipack + 1
22938 3659522 : pack_tmp = packed_data(ipack)
22939 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
22940 3659522 : pack_tmp = ISHFT(pack_tmp, -5)
22941 3659522 : idata = idata + 1
22942 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22943 3659522 : full_data(idata) = data_tmp
22944 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22945 3659522 : idata = idata + 1
22946 3659522 : data_tmp = ISHFT(pack_tmp, 3)
22947 3659522 : ipack = ipack + 1
22948 3659522 : pack_tmp = packed_data(ipack)
22949 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
22950 3659522 : pack_tmp = ISHFT(pack_tmp, -3)
22951 3659522 : idata = idata + 1
22952 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22953 3659522 : full_data(idata) = data_tmp
22954 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22955 3659522 : idata = idata + 1
22956 3659522 : data_tmp = ISHFT(pack_tmp, 1)
22957 3659522 : ipack = ipack + 1
22958 3659522 : pack_tmp = packed_data(ipack)
22959 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
22960 3659522 : pack_tmp = ISHFT(pack_tmp, -1)
22961 3659522 : idata = idata + 1
22962 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22963 3659522 : full_data(idata) = data_tmp
22964 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22965 3659522 : idata = idata + 1
22966 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22967 3659522 : full_data(idata) = data_tmp
22968 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22969 3659522 : idata = idata + 1
22970 3659522 : data_tmp = ISHFT(pack_tmp, 30)
22971 3659522 : ipack = ipack + 1
22972 3659522 : pack_tmp = packed_data(ipack)
22973 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
22974 3659522 : pack_tmp = ISHFT(pack_tmp, -30)
22975 3659522 : idata = idata + 1
22976 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22977 3659522 : full_data(idata) = data_tmp
22978 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22979 3659522 : idata = idata + 1
22980 3659522 : data_tmp = ISHFT(pack_tmp, 28)
22981 3659522 : ipack = ipack + 1
22982 3659522 : pack_tmp = packed_data(ipack)
22983 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
22984 3659522 : pack_tmp = ISHFT(pack_tmp, -28)
22985 3659522 : idata = idata + 1
22986 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22987 3659522 : full_data(idata) = data_tmp
22988 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22989 3659522 : idata = idata + 1
22990 3659522 : data_tmp = ISHFT(pack_tmp, 26)
22991 3659522 : ipack = ipack + 1
22992 3659522 : pack_tmp = packed_data(ipack)
22993 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
22994 3659522 : pack_tmp = ISHFT(pack_tmp, -26)
22995 3659522 : idata = idata + 1
22996 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
22997 3659522 : full_data(idata) = data_tmp
22998 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
22999 3659522 : idata = idata + 1
23000 3659522 : data_tmp = ISHFT(pack_tmp, 24)
23001 3659522 : ipack = ipack + 1
23002 3659522 : pack_tmp = packed_data(ipack)
23003 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
23004 3659522 : pack_tmp = ISHFT(pack_tmp, -24)
23005 3659522 : idata = idata + 1
23006 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23007 3659522 : full_data(idata) = data_tmp
23008 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23009 3659522 : idata = idata + 1
23010 3659522 : data_tmp = ISHFT(pack_tmp, 22)
23011 3659522 : ipack = ipack + 1
23012 3659522 : pack_tmp = packed_data(ipack)
23013 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
23014 3659522 : pack_tmp = ISHFT(pack_tmp, -22)
23015 3659522 : idata = idata + 1
23016 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23017 3659522 : full_data(idata) = data_tmp
23018 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23019 3659522 : idata = idata + 1
23020 3659522 : data_tmp = ISHFT(pack_tmp, 20)
23021 3659522 : ipack = ipack + 1
23022 3659522 : pack_tmp = packed_data(ipack)
23023 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
23024 3659522 : pack_tmp = ISHFT(pack_tmp, -20)
23025 3659522 : idata = idata + 1
23026 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23027 3659522 : full_data(idata) = data_tmp
23028 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23029 3659522 : idata = idata + 1
23030 3659522 : data_tmp = ISHFT(pack_tmp, 18)
23031 3659522 : ipack = ipack + 1
23032 3659522 : pack_tmp = packed_data(ipack)
23033 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
23034 3659522 : pack_tmp = ISHFT(pack_tmp, -18)
23035 3659522 : idata = idata + 1
23036 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23037 3659522 : full_data(idata) = data_tmp
23038 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23039 3659522 : idata = idata + 1
23040 3659522 : data_tmp = ISHFT(pack_tmp, 16)
23041 3659522 : ipack = ipack + 1
23042 3659522 : pack_tmp = packed_data(ipack)
23043 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
23044 3659522 : pack_tmp = ISHFT(pack_tmp, -16)
23045 3659522 : idata = idata + 1
23046 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23047 3659522 : full_data(idata) = data_tmp
23048 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23049 3659522 : idata = idata + 1
23050 3659522 : data_tmp = ISHFT(pack_tmp, 14)
23051 3659522 : ipack = ipack + 1
23052 3659522 : pack_tmp = packed_data(ipack)
23053 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
23054 3659522 : pack_tmp = ISHFT(pack_tmp, -14)
23055 3659522 : idata = idata + 1
23056 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23057 3659522 : full_data(idata) = data_tmp
23058 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23059 3659522 : idata = idata + 1
23060 3659522 : data_tmp = ISHFT(pack_tmp, 12)
23061 3659522 : ipack = ipack + 1
23062 3659522 : pack_tmp = packed_data(ipack)
23063 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
23064 3659522 : pack_tmp = ISHFT(pack_tmp, -12)
23065 3659522 : idata = idata + 1
23066 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23067 3659522 : full_data(idata) = data_tmp
23068 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23069 3659522 : idata = idata + 1
23070 3659522 : data_tmp = ISHFT(pack_tmp, 10)
23071 3659522 : ipack = ipack + 1
23072 3659522 : pack_tmp = packed_data(ipack)
23073 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
23074 3659522 : pack_tmp = ISHFT(pack_tmp, -10)
23075 3659522 : idata = idata + 1
23076 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23077 3659522 : full_data(idata) = data_tmp
23078 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23079 3659522 : idata = idata + 1
23080 3659522 : data_tmp = ISHFT(pack_tmp, 8)
23081 3659522 : ipack = ipack + 1
23082 3659522 : pack_tmp = packed_data(ipack)
23083 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
23084 3659522 : pack_tmp = ISHFT(pack_tmp, -8)
23085 3659522 : idata = idata + 1
23086 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23087 3659522 : full_data(idata) = data_tmp
23088 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23089 3659522 : idata = idata + 1
23090 3659522 : data_tmp = ISHFT(pack_tmp, 6)
23091 3659522 : ipack = ipack + 1
23092 3659522 : pack_tmp = packed_data(ipack)
23093 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
23094 3659522 : pack_tmp = ISHFT(pack_tmp, -6)
23095 3659522 : idata = idata + 1
23096 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23097 3659522 : full_data(idata) = data_tmp
23098 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23099 3659522 : idata = idata + 1
23100 3659522 : data_tmp = ISHFT(pack_tmp, 4)
23101 3659522 : ipack = ipack + 1
23102 3659522 : pack_tmp = packed_data(ipack)
23103 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
23104 3659522 : pack_tmp = ISHFT(pack_tmp, -4)
23105 3659522 : idata = idata + 1
23106 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23107 3659522 : full_data(idata) = data_tmp
23108 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23109 3659522 : idata = idata + 1
23110 3659522 : data_tmp = ISHFT(pack_tmp, 2)
23111 3659522 : ipack = ipack + 1
23112 3659522 : pack_tmp = packed_data(ipack)
23113 3659522 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
23114 3659522 : pack_tmp = ISHFT(pack_tmp, -2)
23115 3659522 : idata = idata + 1
23116 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23117 3659522 : full_data(idata) = data_tmp
23118 3659522 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23119 3659522 : idata = idata + 1
23120 3659522 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23121 3659522 : full_data(idata) = data_tmp
23122 3661652 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23123 : END DO
23124 294882 : IF (Ndata_rep < Ndata) THEN
23125 124540 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
23126 : END IF
23127 294882 : END SUBROUTINE bits2ints_31
23128 :
23129 : ! **************************************************************************************************
23130 : !> \brief ...
23131 : !> \param Ndata ...
23132 : !> \param packed_data ...
23133 : !> \param full_data ...
23134 : ! **************************************************************************************************
23135 55688 : 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(*)
23139 :
23140 : INTEGER, PARAMETER :: Nbits = 32
23141 :
23142 : INTEGER :: idata, ipack, kdata, Ndata_rep
23143 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
23144 :
23145 55688 : idata = 0
23146 55688 : ipack = 0
23147 55688 : Ndata_rep = (Ndata/64)*64
23148 55688 : DO kdata = 1, Ndata_rep, 64
23149 717712 : pack_tmp = 0
23150 717712 : idata = idata + 1
23151 717712 : data_tmp = full_data(idata)
23152 717712 : data_tmp = ISHFT(data_tmp, 32)
23153 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23154 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23155 717712 : idata = idata + 1
23156 717712 : data_tmp = full_data(idata)
23157 717712 : data_tmp = ISHFT(data_tmp, 32)
23158 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23159 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23160 717712 : idata = idata + 1
23161 717712 : data_tmp = full_data(idata)
23162 : data_tmp = ISHFT(data_tmp, 32)
23163 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23164 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23165 717712 : ipack = ipack + 1
23166 717712 : packed_data(ipack) = pack_tmp
23167 717712 : data_tmp = full_data(idata)
23168 717712 : pack_tmp = ISHFT(data_tmp, 32)
23169 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23170 717712 : idata = idata + 1
23171 717712 : data_tmp = full_data(idata)
23172 717712 : data_tmp = ISHFT(data_tmp, 32)
23173 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23174 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23175 717712 : idata = idata + 1
23176 717712 : data_tmp = full_data(idata)
23177 : data_tmp = ISHFT(data_tmp, 32)
23178 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23179 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23180 717712 : ipack = ipack + 1
23181 717712 : packed_data(ipack) = pack_tmp
23182 717712 : data_tmp = full_data(idata)
23183 717712 : pack_tmp = ISHFT(data_tmp, 32)
23184 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23185 717712 : idata = idata + 1
23186 717712 : data_tmp = full_data(idata)
23187 717712 : data_tmp = ISHFT(data_tmp, 32)
23188 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23189 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23190 717712 : idata = idata + 1
23191 717712 : data_tmp = full_data(idata)
23192 : data_tmp = ISHFT(data_tmp, 32)
23193 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23194 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23195 717712 : ipack = ipack + 1
23196 717712 : packed_data(ipack) = pack_tmp
23197 717712 : data_tmp = full_data(idata)
23198 717712 : pack_tmp = ISHFT(data_tmp, 32)
23199 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23200 717712 : idata = idata + 1
23201 717712 : data_tmp = full_data(idata)
23202 717712 : data_tmp = ISHFT(data_tmp, 32)
23203 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23204 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23205 717712 : idata = idata + 1
23206 717712 : data_tmp = full_data(idata)
23207 : data_tmp = ISHFT(data_tmp, 32)
23208 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23209 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23210 717712 : ipack = ipack + 1
23211 717712 : packed_data(ipack) = pack_tmp
23212 717712 : data_tmp = full_data(idata)
23213 717712 : pack_tmp = ISHFT(data_tmp, 32)
23214 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23215 717712 : idata = idata + 1
23216 717712 : data_tmp = full_data(idata)
23217 717712 : data_tmp = ISHFT(data_tmp, 32)
23218 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23219 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23220 717712 : idata = idata + 1
23221 717712 : data_tmp = full_data(idata)
23222 : data_tmp = ISHFT(data_tmp, 32)
23223 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23224 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23225 717712 : ipack = ipack + 1
23226 717712 : packed_data(ipack) = pack_tmp
23227 717712 : data_tmp = full_data(idata)
23228 717712 : pack_tmp = ISHFT(data_tmp, 32)
23229 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23230 717712 : idata = idata + 1
23231 717712 : data_tmp = full_data(idata)
23232 717712 : data_tmp = ISHFT(data_tmp, 32)
23233 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23234 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23235 717712 : idata = idata + 1
23236 717712 : data_tmp = full_data(idata)
23237 : data_tmp = ISHFT(data_tmp, 32)
23238 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23239 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23240 717712 : ipack = ipack + 1
23241 717712 : packed_data(ipack) = pack_tmp
23242 717712 : data_tmp = full_data(idata)
23243 717712 : pack_tmp = ISHFT(data_tmp, 32)
23244 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23245 717712 : idata = idata + 1
23246 717712 : data_tmp = full_data(idata)
23247 717712 : data_tmp = ISHFT(data_tmp, 32)
23248 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23249 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23250 717712 : idata = idata + 1
23251 717712 : data_tmp = full_data(idata)
23252 : data_tmp = ISHFT(data_tmp, 32)
23253 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23254 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23255 717712 : ipack = ipack + 1
23256 717712 : packed_data(ipack) = pack_tmp
23257 717712 : data_tmp = full_data(idata)
23258 717712 : pack_tmp = ISHFT(data_tmp, 32)
23259 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23260 717712 : idata = idata + 1
23261 717712 : data_tmp = full_data(idata)
23262 717712 : data_tmp = ISHFT(data_tmp, 32)
23263 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23264 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23265 717712 : idata = idata + 1
23266 717712 : data_tmp = full_data(idata)
23267 : data_tmp = ISHFT(data_tmp, 32)
23268 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23269 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23270 717712 : ipack = ipack + 1
23271 717712 : packed_data(ipack) = pack_tmp
23272 717712 : data_tmp = full_data(idata)
23273 717712 : pack_tmp = ISHFT(data_tmp, 32)
23274 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23275 717712 : idata = idata + 1
23276 717712 : data_tmp = full_data(idata)
23277 717712 : data_tmp = ISHFT(data_tmp, 32)
23278 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23279 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23280 717712 : idata = idata + 1
23281 717712 : data_tmp = full_data(idata)
23282 : data_tmp = ISHFT(data_tmp, 32)
23283 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23284 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23285 717712 : ipack = ipack + 1
23286 717712 : packed_data(ipack) = pack_tmp
23287 717712 : data_tmp = full_data(idata)
23288 717712 : pack_tmp = ISHFT(data_tmp, 32)
23289 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23290 717712 : idata = idata + 1
23291 717712 : data_tmp = full_data(idata)
23292 717712 : data_tmp = ISHFT(data_tmp, 32)
23293 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23294 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23295 717712 : idata = idata + 1
23296 717712 : data_tmp = full_data(idata)
23297 : data_tmp = ISHFT(data_tmp, 32)
23298 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23299 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23300 717712 : ipack = ipack + 1
23301 717712 : packed_data(ipack) = pack_tmp
23302 717712 : data_tmp = full_data(idata)
23303 717712 : pack_tmp = ISHFT(data_tmp, 32)
23304 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23305 717712 : idata = idata + 1
23306 717712 : data_tmp = full_data(idata)
23307 717712 : data_tmp = ISHFT(data_tmp, 32)
23308 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23309 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23310 717712 : idata = idata + 1
23311 717712 : data_tmp = full_data(idata)
23312 : data_tmp = ISHFT(data_tmp, 32)
23313 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23314 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23315 717712 : ipack = ipack + 1
23316 717712 : packed_data(ipack) = pack_tmp
23317 717712 : data_tmp = full_data(idata)
23318 717712 : pack_tmp = ISHFT(data_tmp, 32)
23319 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23320 717712 : idata = idata + 1
23321 717712 : data_tmp = full_data(idata)
23322 717712 : data_tmp = ISHFT(data_tmp, 32)
23323 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23324 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23325 717712 : idata = idata + 1
23326 717712 : data_tmp = full_data(idata)
23327 : data_tmp = ISHFT(data_tmp, 32)
23328 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23329 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23330 717712 : ipack = ipack + 1
23331 717712 : packed_data(ipack) = pack_tmp
23332 717712 : data_tmp = full_data(idata)
23333 717712 : pack_tmp = ISHFT(data_tmp, 32)
23334 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23335 717712 : idata = idata + 1
23336 717712 : data_tmp = full_data(idata)
23337 717712 : data_tmp = ISHFT(data_tmp, 32)
23338 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23339 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23340 717712 : idata = idata + 1
23341 717712 : data_tmp = full_data(idata)
23342 : data_tmp = ISHFT(data_tmp, 32)
23343 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23344 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23345 717712 : ipack = ipack + 1
23346 717712 : packed_data(ipack) = pack_tmp
23347 717712 : data_tmp = full_data(idata)
23348 717712 : pack_tmp = ISHFT(data_tmp, 32)
23349 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23350 717712 : idata = idata + 1
23351 717712 : data_tmp = full_data(idata)
23352 717712 : data_tmp = ISHFT(data_tmp, 32)
23353 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23354 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23355 717712 : idata = idata + 1
23356 717712 : data_tmp = full_data(idata)
23357 : data_tmp = ISHFT(data_tmp, 32)
23358 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23359 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23360 717712 : ipack = ipack + 1
23361 717712 : packed_data(ipack) = pack_tmp
23362 717712 : data_tmp = full_data(idata)
23363 717712 : pack_tmp = ISHFT(data_tmp, 32)
23364 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23365 717712 : idata = idata + 1
23366 717712 : data_tmp = full_data(idata)
23367 717712 : data_tmp = ISHFT(data_tmp, 32)
23368 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23369 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23370 717712 : idata = idata + 1
23371 717712 : data_tmp = full_data(idata)
23372 : data_tmp = ISHFT(data_tmp, 32)
23373 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23374 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23375 717712 : ipack = ipack + 1
23376 717712 : packed_data(ipack) = pack_tmp
23377 717712 : data_tmp = full_data(idata)
23378 717712 : pack_tmp = ISHFT(data_tmp, 32)
23379 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23380 717712 : idata = idata + 1
23381 717712 : data_tmp = full_data(idata)
23382 717712 : data_tmp = ISHFT(data_tmp, 32)
23383 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23384 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23385 717712 : idata = idata + 1
23386 717712 : data_tmp = full_data(idata)
23387 : data_tmp = ISHFT(data_tmp, 32)
23388 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23389 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23390 717712 : ipack = ipack + 1
23391 717712 : packed_data(ipack) = pack_tmp
23392 717712 : data_tmp = full_data(idata)
23393 717712 : pack_tmp = ISHFT(data_tmp, 32)
23394 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23395 717712 : idata = idata + 1
23396 717712 : data_tmp = full_data(idata)
23397 717712 : data_tmp = ISHFT(data_tmp, 32)
23398 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23399 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23400 717712 : idata = idata + 1
23401 717712 : data_tmp = full_data(idata)
23402 : data_tmp = ISHFT(data_tmp, 32)
23403 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23404 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23405 717712 : ipack = ipack + 1
23406 717712 : packed_data(ipack) = pack_tmp
23407 717712 : data_tmp = full_data(idata)
23408 717712 : pack_tmp = ISHFT(data_tmp, 32)
23409 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23410 717712 : idata = idata + 1
23411 717712 : data_tmp = full_data(idata)
23412 717712 : data_tmp = ISHFT(data_tmp, 32)
23413 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23414 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23415 717712 : idata = idata + 1
23416 717712 : data_tmp = full_data(idata)
23417 : data_tmp = ISHFT(data_tmp, 32)
23418 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23419 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23420 717712 : ipack = ipack + 1
23421 717712 : packed_data(ipack) = pack_tmp
23422 717712 : data_tmp = full_data(idata)
23423 717712 : pack_tmp = ISHFT(data_tmp, 32)
23424 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23425 717712 : idata = idata + 1
23426 717712 : data_tmp = full_data(idata)
23427 717712 : data_tmp = ISHFT(data_tmp, 32)
23428 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23429 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23430 717712 : idata = idata + 1
23431 717712 : data_tmp = full_data(idata)
23432 : data_tmp = ISHFT(data_tmp, 32)
23433 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23434 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23435 717712 : ipack = ipack + 1
23436 717712 : packed_data(ipack) = pack_tmp
23437 717712 : data_tmp = full_data(idata)
23438 717712 : pack_tmp = ISHFT(data_tmp, 32)
23439 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23440 717712 : idata = idata + 1
23441 717712 : data_tmp = full_data(idata)
23442 717712 : data_tmp = ISHFT(data_tmp, 32)
23443 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23444 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23445 717712 : idata = idata + 1
23446 717712 : data_tmp = full_data(idata)
23447 : data_tmp = ISHFT(data_tmp, 32)
23448 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23449 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23450 717712 : ipack = ipack + 1
23451 717712 : packed_data(ipack) = pack_tmp
23452 717712 : data_tmp = full_data(idata)
23453 717712 : pack_tmp = ISHFT(data_tmp, 32)
23454 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23455 717712 : idata = idata + 1
23456 717712 : data_tmp = full_data(idata)
23457 717712 : data_tmp = ISHFT(data_tmp, 32)
23458 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23459 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23460 717712 : idata = idata + 1
23461 717712 : data_tmp = full_data(idata)
23462 : data_tmp = ISHFT(data_tmp, 32)
23463 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23464 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23465 717712 : ipack = ipack + 1
23466 717712 : packed_data(ipack) = pack_tmp
23467 717712 : data_tmp = full_data(idata)
23468 717712 : pack_tmp = ISHFT(data_tmp, 32)
23469 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23470 717712 : idata = idata + 1
23471 717712 : data_tmp = full_data(idata)
23472 717712 : data_tmp = ISHFT(data_tmp, 32)
23473 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23474 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23475 717712 : idata = idata + 1
23476 717712 : data_tmp = full_data(idata)
23477 : data_tmp = ISHFT(data_tmp, 32)
23478 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23479 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23480 717712 : ipack = ipack + 1
23481 717712 : packed_data(ipack) = pack_tmp
23482 717712 : data_tmp = full_data(idata)
23483 717712 : pack_tmp = ISHFT(data_tmp, 32)
23484 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23485 717712 : idata = idata + 1
23486 717712 : data_tmp = full_data(idata)
23487 717712 : data_tmp = ISHFT(data_tmp, 32)
23488 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23489 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23490 717712 : idata = idata + 1
23491 717712 : data_tmp = full_data(idata)
23492 : data_tmp = ISHFT(data_tmp, 32)
23493 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23494 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23495 717712 : ipack = ipack + 1
23496 717712 : packed_data(ipack) = pack_tmp
23497 717712 : data_tmp = full_data(idata)
23498 717712 : pack_tmp = ISHFT(data_tmp, 32)
23499 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23500 717712 : idata = idata + 1
23501 717712 : data_tmp = full_data(idata)
23502 717712 : data_tmp = ISHFT(data_tmp, 32)
23503 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23504 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23505 717712 : idata = idata + 1
23506 717712 : data_tmp = full_data(idata)
23507 : data_tmp = ISHFT(data_tmp, 32)
23508 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23509 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23510 717712 : ipack = ipack + 1
23511 717712 : packed_data(ipack) = pack_tmp
23512 717712 : data_tmp = full_data(idata)
23513 717712 : pack_tmp = ISHFT(data_tmp, 32)
23514 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23515 717712 : idata = idata + 1
23516 717712 : data_tmp = full_data(idata)
23517 717712 : data_tmp = ISHFT(data_tmp, 32)
23518 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23519 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23520 717712 : idata = idata + 1
23521 717712 : data_tmp = full_data(idata)
23522 : data_tmp = ISHFT(data_tmp, 32)
23523 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23524 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23525 717712 : ipack = ipack + 1
23526 717712 : packed_data(ipack) = pack_tmp
23527 717712 : data_tmp = full_data(idata)
23528 717712 : pack_tmp = ISHFT(data_tmp, 32)
23529 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23530 717712 : idata = idata + 1
23531 717712 : data_tmp = full_data(idata)
23532 717712 : data_tmp = ISHFT(data_tmp, 32)
23533 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23534 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23535 717712 : idata = idata + 1
23536 717712 : data_tmp = full_data(idata)
23537 : data_tmp = ISHFT(data_tmp, 32)
23538 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23539 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23540 717712 : ipack = ipack + 1
23541 717712 : packed_data(ipack) = pack_tmp
23542 717712 : data_tmp = full_data(idata)
23543 717712 : pack_tmp = ISHFT(data_tmp, 32)
23544 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23545 717712 : idata = idata + 1
23546 717712 : data_tmp = full_data(idata)
23547 717712 : data_tmp = ISHFT(data_tmp, 32)
23548 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23549 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23550 717712 : idata = idata + 1
23551 717712 : data_tmp = full_data(idata)
23552 : data_tmp = ISHFT(data_tmp, 32)
23553 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23554 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23555 717712 : ipack = ipack + 1
23556 717712 : packed_data(ipack) = pack_tmp
23557 717712 : data_tmp = full_data(idata)
23558 717712 : pack_tmp = ISHFT(data_tmp, 32)
23559 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23560 717712 : idata = idata + 1
23561 717712 : data_tmp = full_data(idata)
23562 717712 : data_tmp = ISHFT(data_tmp, 32)
23563 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23564 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23565 717712 : idata = idata + 1
23566 717712 : data_tmp = full_data(idata)
23567 : data_tmp = ISHFT(data_tmp, 32)
23568 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23569 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23570 717712 : ipack = ipack + 1
23571 717712 : packed_data(ipack) = pack_tmp
23572 717712 : data_tmp = full_data(idata)
23573 717712 : pack_tmp = ISHFT(data_tmp, 32)
23574 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23575 717712 : idata = idata + 1
23576 717712 : data_tmp = full_data(idata)
23577 717712 : data_tmp = ISHFT(data_tmp, 32)
23578 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23579 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23580 717712 : idata = idata + 1
23581 717712 : data_tmp = full_data(idata)
23582 : data_tmp = ISHFT(data_tmp, 32)
23583 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23584 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23585 717712 : ipack = ipack + 1
23586 717712 : packed_data(ipack) = pack_tmp
23587 717712 : data_tmp = full_data(idata)
23588 717712 : pack_tmp = ISHFT(data_tmp, 32)
23589 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23590 717712 : idata = idata + 1
23591 717712 : data_tmp = full_data(idata)
23592 717712 : data_tmp = ISHFT(data_tmp, 32)
23593 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23594 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23595 717712 : idata = idata + 1
23596 717712 : data_tmp = full_data(idata)
23597 : data_tmp = ISHFT(data_tmp, 32)
23598 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23599 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23600 717712 : ipack = ipack + 1
23601 717712 : packed_data(ipack) = pack_tmp
23602 717712 : data_tmp = full_data(idata)
23603 717712 : pack_tmp = ISHFT(data_tmp, 32)
23604 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23605 717712 : idata = idata + 1
23606 717712 : data_tmp = full_data(idata)
23607 717712 : data_tmp = ISHFT(data_tmp, 32)
23608 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23609 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23610 717712 : idata = idata + 1
23611 717712 : data_tmp = full_data(idata)
23612 : data_tmp = ISHFT(data_tmp, 32)
23613 717712 : data_tmp = IAND(data_tmp, mask_left(0))
23614 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23615 717712 : ipack = ipack + 1
23616 717712 : packed_data(ipack) = pack_tmp
23617 717712 : data_tmp = full_data(idata)
23618 717712 : pack_tmp = ISHFT(data_tmp, 32)
23619 717712 : pack_tmp = ISHFT(pack_tmp, -32)
23620 717712 : idata = idata + 1
23621 717712 : data_tmp = full_data(idata)
23622 717712 : data_tmp = ISHFT(data_tmp, 32)
23623 717712 : pack_tmp = IOR(pack_tmp, data_tmp)
23624 : pack_tmp = ISHFT(pack_tmp, 0)
23625 717712 : pack_tmp = ISHFT(pack_tmp, 0)
23626 717712 : ipack = ipack + 1
23627 728543 : packed_data(ipack) = pack_tmp
23628 : END DO
23629 55688 : IF (Ndata_rep < Ndata) THEN
23630 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
23631 : END IF
23632 55688 : END SUBROUTINE ints2bits_32
23633 :
23634 : ! **************************************************************************************************
23635 : !> \brief ...
23636 : !> \param Ndata ...
23637 : !> \param packed_data ...
23638 : !> \param full_data ...
23639 : ! **************************************************************************************************
23640 375620 : 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(*)
23644 :
23645 : INTEGER, PARAMETER :: Nbits = 32
23646 :
23647 : INTEGER :: idata, ipack, kdata, Ndata_rep
23648 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
23649 :
23650 375620 : ipack = 0
23651 375620 : idata = 0
23652 375620 : pack_tmp = 0
23653 375620 : Ndata_rep = (Ndata/64)*64
23654 375620 : DO kdata = 1, Ndata_rep, 64
23655 4474400 : idata = idata + 1
23656 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23657 4474400 : ipack = ipack + 1
23658 4474400 : pack_tmp = packed_data(ipack)
23659 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23660 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23661 4474400 : idata = idata + 1
23662 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23663 4474400 : full_data(idata) = data_tmp
23664 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23665 4474400 : idata = idata + 1
23666 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23667 4474400 : ipack = ipack + 1
23668 4474400 : pack_tmp = packed_data(ipack)
23669 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23670 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23671 4474400 : idata = idata + 1
23672 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23673 4474400 : full_data(idata) = data_tmp
23674 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23675 4474400 : idata = idata + 1
23676 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23677 4474400 : ipack = ipack + 1
23678 4474400 : pack_tmp = packed_data(ipack)
23679 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23680 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23681 4474400 : idata = idata + 1
23682 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23683 4474400 : full_data(idata) = data_tmp
23684 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23685 4474400 : idata = idata + 1
23686 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23687 4474400 : ipack = ipack + 1
23688 4474400 : pack_tmp = packed_data(ipack)
23689 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23690 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23691 4474400 : idata = idata + 1
23692 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23693 4474400 : full_data(idata) = data_tmp
23694 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23695 4474400 : idata = idata + 1
23696 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23697 4474400 : ipack = ipack + 1
23698 4474400 : pack_tmp = packed_data(ipack)
23699 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23700 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23701 4474400 : idata = idata + 1
23702 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23703 4474400 : full_data(idata) = data_tmp
23704 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23705 4474400 : idata = idata + 1
23706 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23707 4474400 : ipack = ipack + 1
23708 4474400 : pack_tmp = packed_data(ipack)
23709 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23710 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23711 4474400 : idata = idata + 1
23712 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23713 4474400 : full_data(idata) = data_tmp
23714 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23715 4474400 : idata = idata + 1
23716 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23717 4474400 : ipack = ipack + 1
23718 4474400 : pack_tmp = packed_data(ipack)
23719 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23720 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23721 4474400 : idata = idata + 1
23722 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23723 4474400 : full_data(idata) = data_tmp
23724 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23725 4474400 : idata = idata + 1
23726 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23727 4474400 : ipack = ipack + 1
23728 4474400 : pack_tmp = packed_data(ipack)
23729 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23730 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23731 4474400 : idata = idata + 1
23732 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23733 4474400 : full_data(idata) = data_tmp
23734 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23735 4474400 : idata = idata + 1
23736 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23737 4474400 : ipack = ipack + 1
23738 4474400 : pack_tmp = packed_data(ipack)
23739 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23740 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23741 4474400 : idata = idata + 1
23742 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23743 4474400 : full_data(idata) = data_tmp
23744 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23745 4474400 : idata = idata + 1
23746 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23747 4474400 : ipack = ipack + 1
23748 4474400 : pack_tmp = packed_data(ipack)
23749 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23750 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23751 4474400 : idata = idata + 1
23752 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23753 4474400 : full_data(idata) = data_tmp
23754 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23755 4474400 : idata = idata + 1
23756 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23757 4474400 : ipack = ipack + 1
23758 4474400 : pack_tmp = packed_data(ipack)
23759 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23760 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23761 4474400 : idata = idata + 1
23762 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23763 4474400 : full_data(idata) = data_tmp
23764 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23765 4474400 : idata = idata + 1
23766 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23767 4474400 : ipack = ipack + 1
23768 4474400 : pack_tmp = packed_data(ipack)
23769 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23770 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23771 4474400 : idata = idata + 1
23772 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23773 4474400 : full_data(idata) = data_tmp
23774 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23775 4474400 : idata = idata + 1
23776 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23777 4474400 : ipack = ipack + 1
23778 4474400 : pack_tmp = packed_data(ipack)
23779 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23780 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23781 4474400 : idata = idata + 1
23782 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23783 4474400 : full_data(idata) = data_tmp
23784 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23785 4474400 : idata = idata + 1
23786 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23787 4474400 : ipack = ipack + 1
23788 4474400 : pack_tmp = packed_data(ipack)
23789 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23790 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23791 4474400 : idata = idata + 1
23792 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23793 4474400 : full_data(idata) = data_tmp
23794 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23795 4474400 : idata = idata + 1
23796 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23797 4474400 : ipack = ipack + 1
23798 4474400 : pack_tmp = packed_data(ipack)
23799 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23800 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23801 4474400 : idata = idata + 1
23802 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23803 4474400 : full_data(idata) = data_tmp
23804 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23805 4474400 : idata = idata + 1
23806 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23807 4474400 : ipack = ipack + 1
23808 4474400 : pack_tmp = packed_data(ipack)
23809 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23810 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23811 4474400 : idata = idata + 1
23812 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23813 4474400 : full_data(idata) = data_tmp
23814 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23815 4474400 : idata = idata + 1
23816 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23817 4474400 : ipack = ipack + 1
23818 4474400 : pack_tmp = packed_data(ipack)
23819 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23820 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23821 4474400 : idata = idata + 1
23822 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23823 4474400 : full_data(idata) = data_tmp
23824 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23825 4474400 : idata = idata + 1
23826 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23827 4474400 : ipack = ipack + 1
23828 4474400 : pack_tmp = packed_data(ipack)
23829 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23830 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23831 4474400 : idata = idata + 1
23832 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23833 4474400 : full_data(idata) = data_tmp
23834 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23835 4474400 : idata = idata + 1
23836 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23837 4474400 : ipack = ipack + 1
23838 4474400 : pack_tmp = packed_data(ipack)
23839 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23840 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23841 4474400 : idata = idata + 1
23842 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23843 4474400 : full_data(idata) = data_tmp
23844 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23845 4474400 : idata = idata + 1
23846 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23847 4474400 : ipack = ipack + 1
23848 4474400 : pack_tmp = packed_data(ipack)
23849 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23850 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23851 4474400 : idata = idata + 1
23852 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23853 4474400 : full_data(idata) = data_tmp
23854 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23855 4474400 : idata = idata + 1
23856 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23857 4474400 : ipack = ipack + 1
23858 4474400 : pack_tmp = packed_data(ipack)
23859 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23860 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23861 4474400 : idata = idata + 1
23862 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23863 4474400 : full_data(idata) = data_tmp
23864 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23865 4474400 : idata = idata + 1
23866 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23867 4474400 : ipack = ipack + 1
23868 4474400 : pack_tmp = packed_data(ipack)
23869 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23870 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23871 4474400 : idata = idata + 1
23872 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23873 4474400 : full_data(idata) = data_tmp
23874 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23875 4474400 : idata = idata + 1
23876 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23877 4474400 : ipack = ipack + 1
23878 4474400 : pack_tmp = packed_data(ipack)
23879 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23880 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23881 4474400 : idata = idata + 1
23882 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23883 4474400 : full_data(idata) = data_tmp
23884 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23885 4474400 : idata = idata + 1
23886 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23887 4474400 : ipack = ipack + 1
23888 4474400 : pack_tmp = packed_data(ipack)
23889 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23890 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23891 4474400 : idata = idata + 1
23892 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23893 4474400 : full_data(idata) = data_tmp
23894 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23895 4474400 : idata = idata + 1
23896 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23897 4474400 : ipack = ipack + 1
23898 4474400 : pack_tmp = packed_data(ipack)
23899 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23900 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23901 4474400 : idata = idata + 1
23902 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23903 4474400 : full_data(idata) = data_tmp
23904 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23905 4474400 : idata = idata + 1
23906 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23907 4474400 : ipack = ipack + 1
23908 4474400 : pack_tmp = packed_data(ipack)
23909 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23910 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23911 4474400 : idata = idata + 1
23912 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23913 4474400 : full_data(idata) = data_tmp
23914 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23915 4474400 : idata = idata + 1
23916 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23917 4474400 : ipack = ipack + 1
23918 4474400 : pack_tmp = packed_data(ipack)
23919 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23920 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23921 4474400 : idata = idata + 1
23922 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23923 4474400 : full_data(idata) = data_tmp
23924 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23925 4474400 : idata = idata + 1
23926 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23927 4474400 : ipack = ipack + 1
23928 4474400 : pack_tmp = packed_data(ipack)
23929 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23930 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23931 4474400 : idata = idata + 1
23932 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23933 4474400 : full_data(idata) = data_tmp
23934 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23935 4474400 : idata = idata + 1
23936 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23937 4474400 : ipack = ipack + 1
23938 4474400 : pack_tmp = packed_data(ipack)
23939 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23940 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23941 4474400 : idata = idata + 1
23942 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23943 4474400 : full_data(idata) = data_tmp
23944 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23945 4474400 : idata = idata + 1
23946 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23947 4474400 : ipack = ipack + 1
23948 4474400 : pack_tmp = packed_data(ipack)
23949 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23950 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23951 4474400 : idata = idata + 1
23952 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23953 4474400 : full_data(idata) = data_tmp
23954 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23955 4474400 : idata = idata + 1
23956 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23957 4474400 : ipack = ipack + 1
23958 4474400 : pack_tmp = packed_data(ipack)
23959 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23960 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23961 4474400 : idata = idata + 1
23962 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23963 4474400 : full_data(idata) = data_tmp
23964 4474400 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23965 4474400 : idata = idata + 1
23966 4474400 : data_tmp = ISHFT(pack_tmp, 32)
23967 4474400 : ipack = ipack + 1
23968 4474400 : pack_tmp = packed_data(ipack)
23969 4474400 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
23970 4474400 : pack_tmp = ISHFT(pack_tmp, -32)
23971 4474400 : idata = idata + 1
23972 4474400 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
23973 4474400 : full_data(idata) = data_tmp
23974 4570370 : pack_tmp = ISHFT(pack_tmp, -Nbits)
23975 : END DO
23976 375620 : IF (Ndata_rep < Ndata) THEN
23977 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
23978 : END IF
23979 375620 : END SUBROUTINE bits2ints_32
23980 :
23981 : ! **************************************************************************************************
23982 : !> \brief ...
23983 : !> \param Ndata ...
23984 : !> \param packed_data ...
23985 : !> \param full_data ...
23986 : ! **************************************************************************************************
23987 55545 : 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(*)
23991 :
23992 : INTEGER, PARAMETER :: Nbits = 33
23993 :
23994 : INTEGER :: idata, ipack, kdata, Ndata_rep
23995 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
23996 :
23997 55545 : idata = 0
23998 55545 : ipack = 0
23999 55545 : Ndata_rep = (Ndata/64)*64
24000 55545 : DO kdata = 1, Ndata_rep, 64
24001 703029 : pack_tmp = 0
24002 703029 : idata = idata + 1
24003 703029 : data_tmp = full_data(idata)
24004 703029 : data_tmp = ISHFT(data_tmp, 31)
24005 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24006 703029 : pack_tmp = ISHFT(pack_tmp, -31)
24007 703029 : idata = idata + 1
24008 703029 : data_tmp = full_data(idata)
24009 703029 : data_tmp = ISHFT(data_tmp, 31)
24010 703029 : data_tmp = IAND(data_tmp, mask_left(31))
24011 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24012 703029 : ipack = ipack + 1
24013 703029 : packed_data(ipack) = pack_tmp
24014 703029 : data_tmp = full_data(idata)
24015 703029 : pack_tmp = ISHFT(data_tmp, 62)
24016 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24017 703029 : idata = idata + 1
24018 703029 : data_tmp = full_data(idata)
24019 703029 : data_tmp = ISHFT(data_tmp, 31)
24020 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24021 703029 : pack_tmp = ISHFT(pack_tmp, -29)
24022 703029 : idata = idata + 1
24023 703029 : data_tmp = full_data(idata)
24024 703029 : data_tmp = ISHFT(data_tmp, 31)
24025 703029 : data_tmp = IAND(data_tmp, mask_left(29))
24026 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24027 703029 : ipack = ipack + 1
24028 703029 : packed_data(ipack) = pack_tmp
24029 703029 : data_tmp = full_data(idata)
24030 703029 : pack_tmp = ISHFT(data_tmp, 60)
24031 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24032 703029 : idata = idata + 1
24033 703029 : data_tmp = full_data(idata)
24034 703029 : data_tmp = ISHFT(data_tmp, 31)
24035 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24036 703029 : pack_tmp = ISHFT(pack_tmp, -27)
24037 703029 : idata = idata + 1
24038 703029 : data_tmp = full_data(idata)
24039 703029 : data_tmp = ISHFT(data_tmp, 31)
24040 703029 : data_tmp = IAND(data_tmp, mask_left(27))
24041 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24042 703029 : ipack = ipack + 1
24043 703029 : packed_data(ipack) = pack_tmp
24044 703029 : data_tmp = full_data(idata)
24045 703029 : pack_tmp = ISHFT(data_tmp, 58)
24046 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24047 703029 : idata = idata + 1
24048 703029 : data_tmp = full_data(idata)
24049 703029 : data_tmp = ISHFT(data_tmp, 31)
24050 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24051 703029 : pack_tmp = ISHFT(pack_tmp, -25)
24052 703029 : idata = idata + 1
24053 703029 : data_tmp = full_data(idata)
24054 703029 : data_tmp = ISHFT(data_tmp, 31)
24055 703029 : data_tmp = IAND(data_tmp, mask_left(25))
24056 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24057 703029 : ipack = ipack + 1
24058 703029 : packed_data(ipack) = pack_tmp
24059 703029 : data_tmp = full_data(idata)
24060 703029 : pack_tmp = ISHFT(data_tmp, 56)
24061 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24062 703029 : idata = idata + 1
24063 703029 : data_tmp = full_data(idata)
24064 703029 : data_tmp = ISHFT(data_tmp, 31)
24065 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24066 703029 : pack_tmp = ISHFT(pack_tmp, -23)
24067 703029 : idata = idata + 1
24068 703029 : data_tmp = full_data(idata)
24069 703029 : data_tmp = ISHFT(data_tmp, 31)
24070 703029 : data_tmp = IAND(data_tmp, mask_left(23))
24071 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24072 703029 : ipack = ipack + 1
24073 703029 : packed_data(ipack) = pack_tmp
24074 703029 : data_tmp = full_data(idata)
24075 703029 : pack_tmp = ISHFT(data_tmp, 54)
24076 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24077 703029 : idata = idata + 1
24078 703029 : data_tmp = full_data(idata)
24079 703029 : data_tmp = ISHFT(data_tmp, 31)
24080 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24081 703029 : pack_tmp = ISHFT(pack_tmp, -21)
24082 703029 : idata = idata + 1
24083 703029 : data_tmp = full_data(idata)
24084 703029 : data_tmp = ISHFT(data_tmp, 31)
24085 703029 : data_tmp = IAND(data_tmp, mask_left(21))
24086 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24087 703029 : ipack = ipack + 1
24088 703029 : packed_data(ipack) = pack_tmp
24089 703029 : data_tmp = full_data(idata)
24090 703029 : pack_tmp = ISHFT(data_tmp, 52)
24091 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24092 703029 : idata = idata + 1
24093 703029 : data_tmp = full_data(idata)
24094 703029 : data_tmp = ISHFT(data_tmp, 31)
24095 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24096 703029 : pack_tmp = ISHFT(pack_tmp, -19)
24097 703029 : idata = idata + 1
24098 703029 : data_tmp = full_data(idata)
24099 703029 : data_tmp = ISHFT(data_tmp, 31)
24100 703029 : data_tmp = IAND(data_tmp, mask_left(19))
24101 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24102 703029 : ipack = ipack + 1
24103 703029 : packed_data(ipack) = pack_tmp
24104 703029 : data_tmp = full_data(idata)
24105 703029 : pack_tmp = ISHFT(data_tmp, 50)
24106 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24107 703029 : idata = idata + 1
24108 703029 : data_tmp = full_data(idata)
24109 703029 : data_tmp = ISHFT(data_tmp, 31)
24110 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24111 703029 : pack_tmp = ISHFT(pack_tmp, -17)
24112 703029 : idata = idata + 1
24113 703029 : data_tmp = full_data(idata)
24114 703029 : data_tmp = ISHFT(data_tmp, 31)
24115 703029 : data_tmp = IAND(data_tmp, mask_left(17))
24116 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24117 703029 : ipack = ipack + 1
24118 703029 : packed_data(ipack) = pack_tmp
24119 703029 : data_tmp = full_data(idata)
24120 703029 : pack_tmp = ISHFT(data_tmp, 48)
24121 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24122 703029 : idata = idata + 1
24123 703029 : data_tmp = full_data(idata)
24124 703029 : data_tmp = ISHFT(data_tmp, 31)
24125 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24126 703029 : pack_tmp = ISHFT(pack_tmp, -15)
24127 703029 : idata = idata + 1
24128 703029 : data_tmp = full_data(idata)
24129 703029 : data_tmp = ISHFT(data_tmp, 31)
24130 703029 : data_tmp = IAND(data_tmp, mask_left(15))
24131 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24132 703029 : ipack = ipack + 1
24133 703029 : packed_data(ipack) = pack_tmp
24134 703029 : data_tmp = full_data(idata)
24135 703029 : pack_tmp = ISHFT(data_tmp, 46)
24136 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24137 703029 : idata = idata + 1
24138 703029 : data_tmp = full_data(idata)
24139 703029 : data_tmp = ISHFT(data_tmp, 31)
24140 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24141 703029 : pack_tmp = ISHFT(pack_tmp, -13)
24142 703029 : idata = idata + 1
24143 703029 : data_tmp = full_data(idata)
24144 703029 : data_tmp = ISHFT(data_tmp, 31)
24145 703029 : data_tmp = IAND(data_tmp, mask_left(13))
24146 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24147 703029 : ipack = ipack + 1
24148 703029 : packed_data(ipack) = pack_tmp
24149 703029 : data_tmp = full_data(idata)
24150 703029 : pack_tmp = ISHFT(data_tmp, 44)
24151 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24152 703029 : idata = idata + 1
24153 703029 : data_tmp = full_data(idata)
24154 703029 : data_tmp = ISHFT(data_tmp, 31)
24155 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24156 703029 : pack_tmp = ISHFT(pack_tmp, -11)
24157 703029 : idata = idata + 1
24158 703029 : data_tmp = full_data(idata)
24159 703029 : data_tmp = ISHFT(data_tmp, 31)
24160 703029 : data_tmp = IAND(data_tmp, mask_left(11))
24161 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24162 703029 : ipack = ipack + 1
24163 703029 : packed_data(ipack) = pack_tmp
24164 703029 : data_tmp = full_data(idata)
24165 703029 : pack_tmp = ISHFT(data_tmp, 42)
24166 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24167 703029 : idata = idata + 1
24168 703029 : data_tmp = full_data(idata)
24169 703029 : data_tmp = ISHFT(data_tmp, 31)
24170 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24171 703029 : pack_tmp = ISHFT(pack_tmp, -9)
24172 703029 : idata = idata + 1
24173 703029 : data_tmp = full_data(idata)
24174 703029 : data_tmp = ISHFT(data_tmp, 31)
24175 703029 : data_tmp = IAND(data_tmp, mask_left(9))
24176 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24177 703029 : ipack = ipack + 1
24178 703029 : packed_data(ipack) = pack_tmp
24179 703029 : data_tmp = full_data(idata)
24180 703029 : pack_tmp = ISHFT(data_tmp, 40)
24181 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24182 703029 : idata = idata + 1
24183 703029 : data_tmp = full_data(idata)
24184 703029 : data_tmp = ISHFT(data_tmp, 31)
24185 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24186 703029 : pack_tmp = ISHFT(pack_tmp, -7)
24187 703029 : idata = idata + 1
24188 703029 : data_tmp = full_data(idata)
24189 703029 : data_tmp = ISHFT(data_tmp, 31)
24190 703029 : data_tmp = IAND(data_tmp, mask_left(7))
24191 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24192 703029 : ipack = ipack + 1
24193 703029 : packed_data(ipack) = pack_tmp
24194 703029 : data_tmp = full_data(idata)
24195 703029 : pack_tmp = ISHFT(data_tmp, 38)
24196 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24197 703029 : idata = idata + 1
24198 703029 : data_tmp = full_data(idata)
24199 703029 : data_tmp = ISHFT(data_tmp, 31)
24200 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24201 703029 : pack_tmp = ISHFT(pack_tmp, -5)
24202 703029 : idata = idata + 1
24203 703029 : data_tmp = full_data(idata)
24204 703029 : data_tmp = ISHFT(data_tmp, 31)
24205 703029 : data_tmp = IAND(data_tmp, mask_left(5))
24206 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24207 703029 : ipack = ipack + 1
24208 703029 : packed_data(ipack) = pack_tmp
24209 703029 : data_tmp = full_data(idata)
24210 703029 : pack_tmp = ISHFT(data_tmp, 36)
24211 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24212 703029 : idata = idata + 1
24213 703029 : data_tmp = full_data(idata)
24214 703029 : data_tmp = ISHFT(data_tmp, 31)
24215 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24216 703029 : pack_tmp = ISHFT(pack_tmp, -3)
24217 703029 : idata = idata + 1
24218 703029 : data_tmp = full_data(idata)
24219 703029 : data_tmp = ISHFT(data_tmp, 31)
24220 703029 : data_tmp = IAND(data_tmp, mask_left(3))
24221 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24222 703029 : ipack = ipack + 1
24223 703029 : packed_data(ipack) = pack_tmp
24224 703029 : data_tmp = full_data(idata)
24225 703029 : pack_tmp = ISHFT(data_tmp, 34)
24226 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24227 703029 : idata = idata + 1
24228 703029 : data_tmp = full_data(idata)
24229 703029 : data_tmp = ISHFT(data_tmp, 31)
24230 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24231 703029 : pack_tmp = ISHFT(pack_tmp, -1)
24232 703029 : idata = idata + 1
24233 703029 : data_tmp = full_data(idata)
24234 703029 : data_tmp = ISHFT(data_tmp, 31)
24235 703029 : data_tmp = IAND(data_tmp, mask_left(1))
24236 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24237 703029 : ipack = ipack + 1
24238 703029 : packed_data(ipack) = pack_tmp
24239 703029 : data_tmp = full_data(idata)
24240 703029 : pack_tmp = ISHFT(data_tmp, 32)
24241 703029 : pack_tmp = ISHFT(pack_tmp, -32)
24242 703029 : idata = idata + 1
24243 703029 : data_tmp = full_data(idata)
24244 703029 : data_tmp = ISHFT(data_tmp, 31)
24245 703029 : data_tmp = IAND(data_tmp, mask_left(32))
24246 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24247 703029 : ipack = ipack + 1
24248 703029 : packed_data(ipack) = pack_tmp
24249 703029 : data_tmp = full_data(idata)
24250 703029 : pack_tmp = ISHFT(data_tmp, 63)
24251 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24252 703029 : idata = idata + 1
24253 703029 : data_tmp = full_data(idata)
24254 703029 : data_tmp = ISHFT(data_tmp, 31)
24255 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24256 703029 : pack_tmp = ISHFT(pack_tmp, -30)
24257 703029 : idata = idata + 1
24258 703029 : data_tmp = full_data(idata)
24259 703029 : data_tmp = ISHFT(data_tmp, 31)
24260 703029 : data_tmp = IAND(data_tmp, mask_left(30))
24261 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24262 703029 : ipack = ipack + 1
24263 703029 : packed_data(ipack) = pack_tmp
24264 703029 : data_tmp = full_data(idata)
24265 703029 : pack_tmp = ISHFT(data_tmp, 61)
24266 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24267 703029 : idata = idata + 1
24268 703029 : data_tmp = full_data(idata)
24269 703029 : data_tmp = ISHFT(data_tmp, 31)
24270 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24271 703029 : pack_tmp = ISHFT(pack_tmp, -28)
24272 703029 : idata = idata + 1
24273 703029 : data_tmp = full_data(idata)
24274 703029 : data_tmp = ISHFT(data_tmp, 31)
24275 703029 : data_tmp = IAND(data_tmp, mask_left(28))
24276 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24277 703029 : ipack = ipack + 1
24278 703029 : packed_data(ipack) = pack_tmp
24279 703029 : data_tmp = full_data(idata)
24280 703029 : pack_tmp = ISHFT(data_tmp, 59)
24281 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24282 703029 : idata = idata + 1
24283 703029 : data_tmp = full_data(idata)
24284 703029 : data_tmp = ISHFT(data_tmp, 31)
24285 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24286 703029 : pack_tmp = ISHFT(pack_tmp, -26)
24287 703029 : idata = idata + 1
24288 703029 : data_tmp = full_data(idata)
24289 703029 : data_tmp = ISHFT(data_tmp, 31)
24290 703029 : data_tmp = IAND(data_tmp, mask_left(26))
24291 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24292 703029 : ipack = ipack + 1
24293 703029 : packed_data(ipack) = pack_tmp
24294 703029 : data_tmp = full_data(idata)
24295 703029 : pack_tmp = ISHFT(data_tmp, 57)
24296 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24297 703029 : idata = idata + 1
24298 703029 : data_tmp = full_data(idata)
24299 703029 : data_tmp = ISHFT(data_tmp, 31)
24300 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24301 703029 : pack_tmp = ISHFT(pack_tmp, -24)
24302 703029 : idata = idata + 1
24303 703029 : data_tmp = full_data(idata)
24304 703029 : data_tmp = ISHFT(data_tmp, 31)
24305 703029 : data_tmp = IAND(data_tmp, mask_left(24))
24306 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24307 703029 : ipack = ipack + 1
24308 703029 : packed_data(ipack) = pack_tmp
24309 703029 : data_tmp = full_data(idata)
24310 703029 : pack_tmp = ISHFT(data_tmp, 55)
24311 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24312 703029 : idata = idata + 1
24313 703029 : data_tmp = full_data(idata)
24314 703029 : data_tmp = ISHFT(data_tmp, 31)
24315 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24316 703029 : pack_tmp = ISHFT(pack_tmp, -22)
24317 703029 : idata = idata + 1
24318 703029 : data_tmp = full_data(idata)
24319 703029 : data_tmp = ISHFT(data_tmp, 31)
24320 703029 : data_tmp = IAND(data_tmp, mask_left(22))
24321 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24322 703029 : ipack = ipack + 1
24323 703029 : packed_data(ipack) = pack_tmp
24324 703029 : data_tmp = full_data(idata)
24325 703029 : pack_tmp = ISHFT(data_tmp, 53)
24326 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24327 703029 : idata = idata + 1
24328 703029 : data_tmp = full_data(idata)
24329 703029 : data_tmp = ISHFT(data_tmp, 31)
24330 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24331 703029 : pack_tmp = ISHFT(pack_tmp, -20)
24332 703029 : idata = idata + 1
24333 703029 : data_tmp = full_data(idata)
24334 703029 : data_tmp = ISHFT(data_tmp, 31)
24335 703029 : data_tmp = IAND(data_tmp, mask_left(20))
24336 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24337 703029 : ipack = ipack + 1
24338 703029 : packed_data(ipack) = pack_tmp
24339 703029 : data_tmp = full_data(idata)
24340 703029 : pack_tmp = ISHFT(data_tmp, 51)
24341 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24342 703029 : idata = idata + 1
24343 703029 : data_tmp = full_data(idata)
24344 703029 : data_tmp = ISHFT(data_tmp, 31)
24345 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24346 703029 : pack_tmp = ISHFT(pack_tmp, -18)
24347 703029 : idata = idata + 1
24348 703029 : data_tmp = full_data(idata)
24349 703029 : data_tmp = ISHFT(data_tmp, 31)
24350 703029 : data_tmp = IAND(data_tmp, mask_left(18))
24351 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24352 703029 : ipack = ipack + 1
24353 703029 : packed_data(ipack) = pack_tmp
24354 703029 : data_tmp = full_data(idata)
24355 703029 : pack_tmp = ISHFT(data_tmp, 49)
24356 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24357 703029 : idata = idata + 1
24358 703029 : data_tmp = full_data(idata)
24359 703029 : data_tmp = ISHFT(data_tmp, 31)
24360 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24361 703029 : pack_tmp = ISHFT(pack_tmp, -16)
24362 703029 : idata = idata + 1
24363 703029 : data_tmp = full_data(idata)
24364 703029 : data_tmp = ISHFT(data_tmp, 31)
24365 703029 : data_tmp = IAND(data_tmp, mask_left(16))
24366 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24367 703029 : ipack = ipack + 1
24368 703029 : packed_data(ipack) = pack_tmp
24369 703029 : data_tmp = full_data(idata)
24370 703029 : pack_tmp = ISHFT(data_tmp, 47)
24371 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24372 703029 : idata = idata + 1
24373 703029 : data_tmp = full_data(idata)
24374 703029 : data_tmp = ISHFT(data_tmp, 31)
24375 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24376 703029 : pack_tmp = ISHFT(pack_tmp, -14)
24377 703029 : idata = idata + 1
24378 703029 : data_tmp = full_data(idata)
24379 703029 : data_tmp = ISHFT(data_tmp, 31)
24380 703029 : data_tmp = IAND(data_tmp, mask_left(14))
24381 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24382 703029 : ipack = ipack + 1
24383 703029 : packed_data(ipack) = pack_tmp
24384 703029 : data_tmp = full_data(idata)
24385 703029 : pack_tmp = ISHFT(data_tmp, 45)
24386 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24387 703029 : idata = idata + 1
24388 703029 : data_tmp = full_data(idata)
24389 703029 : data_tmp = ISHFT(data_tmp, 31)
24390 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24391 703029 : pack_tmp = ISHFT(pack_tmp, -12)
24392 703029 : idata = idata + 1
24393 703029 : data_tmp = full_data(idata)
24394 703029 : data_tmp = ISHFT(data_tmp, 31)
24395 703029 : data_tmp = IAND(data_tmp, mask_left(12))
24396 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24397 703029 : ipack = ipack + 1
24398 703029 : packed_data(ipack) = pack_tmp
24399 703029 : data_tmp = full_data(idata)
24400 703029 : pack_tmp = ISHFT(data_tmp, 43)
24401 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24402 703029 : idata = idata + 1
24403 703029 : data_tmp = full_data(idata)
24404 703029 : data_tmp = ISHFT(data_tmp, 31)
24405 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24406 703029 : pack_tmp = ISHFT(pack_tmp, -10)
24407 703029 : idata = idata + 1
24408 703029 : data_tmp = full_data(idata)
24409 703029 : data_tmp = ISHFT(data_tmp, 31)
24410 703029 : data_tmp = IAND(data_tmp, mask_left(10))
24411 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24412 703029 : ipack = ipack + 1
24413 703029 : packed_data(ipack) = pack_tmp
24414 703029 : data_tmp = full_data(idata)
24415 703029 : pack_tmp = ISHFT(data_tmp, 41)
24416 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24417 703029 : idata = idata + 1
24418 703029 : data_tmp = full_data(idata)
24419 703029 : data_tmp = ISHFT(data_tmp, 31)
24420 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24421 703029 : pack_tmp = ISHFT(pack_tmp, -8)
24422 703029 : idata = idata + 1
24423 703029 : data_tmp = full_data(idata)
24424 703029 : data_tmp = ISHFT(data_tmp, 31)
24425 703029 : data_tmp = IAND(data_tmp, mask_left(8))
24426 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24427 703029 : ipack = ipack + 1
24428 703029 : packed_data(ipack) = pack_tmp
24429 703029 : data_tmp = full_data(idata)
24430 703029 : pack_tmp = ISHFT(data_tmp, 39)
24431 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24432 703029 : idata = idata + 1
24433 703029 : data_tmp = full_data(idata)
24434 703029 : data_tmp = ISHFT(data_tmp, 31)
24435 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24436 703029 : pack_tmp = ISHFT(pack_tmp, -6)
24437 703029 : idata = idata + 1
24438 703029 : data_tmp = full_data(idata)
24439 703029 : data_tmp = ISHFT(data_tmp, 31)
24440 703029 : data_tmp = IAND(data_tmp, mask_left(6))
24441 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24442 703029 : ipack = ipack + 1
24443 703029 : packed_data(ipack) = pack_tmp
24444 703029 : data_tmp = full_data(idata)
24445 703029 : pack_tmp = ISHFT(data_tmp, 37)
24446 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24447 703029 : idata = idata + 1
24448 703029 : data_tmp = full_data(idata)
24449 703029 : data_tmp = ISHFT(data_tmp, 31)
24450 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24451 703029 : pack_tmp = ISHFT(pack_tmp, -4)
24452 703029 : idata = idata + 1
24453 703029 : data_tmp = full_data(idata)
24454 703029 : data_tmp = ISHFT(data_tmp, 31)
24455 703029 : data_tmp = IAND(data_tmp, mask_left(4))
24456 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24457 703029 : ipack = ipack + 1
24458 703029 : packed_data(ipack) = pack_tmp
24459 703029 : data_tmp = full_data(idata)
24460 703029 : pack_tmp = ISHFT(data_tmp, 35)
24461 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24462 703029 : idata = idata + 1
24463 703029 : data_tmp = full_data(idata)
24464 703029 : data_tmp = ISHFT(data_tmp, 31)
24465 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24466 703029 : pack_tmp = ISHFT(pack_tmp, -2)
24467 703029 : idata = idata + 1
24468 703029 : data_tmp = full_data(idata)
24469 703029 : data_tmp = ISHFT(data_tmp, 31)
24470 703029 : data_tmp = IAND(data_tmp, mask_left(2))
24471 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24472 703029 : ipack = ipack + 1
24473 703029 : packed_data(ipack) = pack_tmp
24474 703029 : data_tmp = full_data(idata)
24475 703029 : pack_tmp = ISHFT(data_tmp, 33)
24476 703029 : pack_tmp = ISHFT(pack_tmp, -33)
24477 703029 : idata = idata + 1
24478 703029 : data_tmp = full_data(idata)
24479 703029 : data_tmp = ISHFT(data_tmp, 31)
24480 703029 : pack_tmp = IOR(pack_tmp, data_tmp)
24481 : pack_tmp = ISHFT(pack_tmp, 0)
24482 703029 : pack_tmp = ISHFT(pack_tmp, 0)
24483 703029 : ipack = ipack + 1
24484 706163 : packed_data(ipack) = pack_tmp
24485 : END DO
24486 55545 : IF (Ndata_rep < Ndata) THEN
24487 21846 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
24488 : END IF
24489 55545 : END SUBROUTINE ints2bits_33
24490 :
24491 : ! **************************************************************************************************
24492 : !> \brief ...
24493 : !> \param Ndata ...
24494 : !> \param packed_data ...
24495 : !> \param full_data ...
24496 : ! **************************************************************************************************
24497 277566 : 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(*)
24501 :
24502 : INTEGER, PARAMETER :: Nbits = 33
24503 :
24504 : INTEGER :: idata, ipack, kdata, Ndata_rep
24505 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
24506 :
24507 277566 : ipack = 0
24508 277566 : idata = 0
24509 277566 : pack_tmp = 0
24510 277566 : Ndata_rep = (Ndata/64)*64
24511 277566 : DO kdata = 1, Ndata_rep, 64
24512 3360621 : idata = idata + 1
24513 3360621 : data_tmp = ISHFT(pack_tmp, 33)
24514 3360621 : ipack = ipack + 1
24515 3360621 : pack_tmp = packed_data(ipack)
24516 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
24517 3360621 : pack_tmp = ISHFT(pack_tmp, -33)
24518 3360621 : idata = idata + 1
24519 3360621 : data_tmp = ISHFT(pack_tmp, 2)
24520 3360621 : ipack = ipack + 1
24521 3360621 : pack_tmp = packed_data(ipack)
24522 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
24523 3360621 : pack_tmp = ISHFT(pack_tmp, -2)
24524 3360621 : idata = idata + 1
24525 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24526 3360621 : full_data(idata) = data_tmp
24527 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24528 3360621 : idata = idata + 1
24529 3360621 : data_tmp = ISHFT(pack_tmp, 4)
24530 3360621 : ipack = ipack + 1
24531 3360621 : pack_tmp = packed_data(ipack)
24532 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
24533 3360621 : pack_tmp = ISHFT(pack_tmp, -4)
24534 3360621 : idata = idata + 1
24535 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24536 3360621 : full_data(idata) = data_tmp
24537 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24538 3360621 : idata = idata + 1
24539 3360621 : data_tmp = ISHFT(pack_tmp, 6)
24540 3360621 : ipack = ipack + 1
24541 3360621 : pack_tmp = packed_data(ipack)
24542 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
24543 3360621 : pack_tmp = ISHFT(pack_tmp, -6)
24544 3360621 : idata = idata + 1
24545 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24546 3360621 : full_data(idata) = data_tmp
24547 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24548 3360621 : idata = idata + 1
24549 3360621 : data_tmp = ISHFT(pack_tmp, 8)
24550 3360621 : ipack = ipack + 1
24551 3360621 : pack_tmp = packed_data(ipack)
24552 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
24553 3360621 : pack_tmp = ISHFT(pack_tmp, -8)
24554 3360621 : idata = idata + 1
24555 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24556 3360621 : full_data(idata) = data_tmp
24557 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24558 3360621 : idata = idata + 1
24559 3360621 : data_tmp = ISHFT(pack_tmp, 10)
24560 3360621 : ipack = ipack + 1
24561 3360621 : pack_tmp = packed_data(ipack)
24562 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
24563 3360621 : pack_tmp = ISHFT(pack_tmp, -10)
24564 3360621 : idata = idata + 1
24565 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24566 3360621 : full_data(idata) = data_tmp
24567 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24568 3360621 : idata = idata + 1
24569 3360621 : data_tmp = ISHFT(pack_tmp, 12)
24570 3360621 : ipack = ipack + 1
24571 3360621 : pack_tmp = packed_data(ipack)
24572 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
24573 3360621 : pack_tmp = ISHFT(pack_tmp, -12)
24574 3360621 : idata = idata + 1
24575 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24576 3360621 : full_data(idata) = data_tmp
24577 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24578 3360621 : idata = idata + 1
24579 3360621 : data_tmp = ISHFT(pack_tmp, 14)
24580 3360621 : ipack = ipack + 1
24581 3360621 : pack_tmp = packed_data(ipack)
24582 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
24583 3360621 : pack_tmp = ISHFT(pack_tmp, -14)
24584 3360621 : idata = idata + 1
24585 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24586 3360621 : full_data(idata) = data_tmp
24587 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24588 3360621 : idata = idata + 1
24589 3360621 : data_tmp = ISHFT(pack_tmp, 16)
24590 3360621 : ipack = ipack + 1
24591 3360621 : pack_tmp = packed_data(ipack)
24592 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
24593 3360621 : pack_tmp = ISHFT(pack_tmp, -16)
24594 3360621 : idata = idata + 1
24595 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24596 3360621 : full_data(idata) = data_tmp
24597 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24598 3360621 : idata = idata + 1
24599 3360621 : data_tmp = ISHFT(pack_tmp, 18)
24600 3360621 : ipack = ipack + 1
24601 3360621 : pack_tmp = packed_data(ipack)
24602 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
24603 3360621 : pack_tmp = ISHFT(pack_tmp, -18)
24604 3360621 : idata = idata + 1
24605 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24606 3360621 : full_data(idata) = data_tmp
24607 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24608 3360621 : idata = idata + 1
24609 3360621 : data_tmp = ISHFT(pack_tmp, 20)
24610 3360621 : ipack = ipack + 1
24611 3360621 : pack_tmp = packed_data(ipack)
24612 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
24613 3360621 : pack_tmp = ISHFT(pack_tmp, -20)
24614 3360621 : idata = idata + 1
24615 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24616 3360621 : full_data(idata) = data_tmp
24617 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24618 3360621 : idata = idata + 1
24619 3360621 : data_tmp = ISHFT(pack_tmp, 22)
24620 3360621 : ipack = ipack + 1
24621 3360621 : pack_tmp = packed_data(ipack)
24622 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
24623 3360621 : pack_tmp = ISHFT(pack_tmp, -22)
24624 3360621 : idata = idata + 1
24625 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24626 3360621 : full_data(idata) = data_tmp
24627 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24628 3360621 : idata = idata + 1
24629 3360621 : data_tmp = ISHFT(pack_tmp, 24)
24630 3360621 : ipack = ipack + 1
24631 3360621 : pack_tmp = packed_data(ipack)
24632 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
24633 3360621 : pack_tmp = ISHFT(pack_tmp, -24)
24634 3360621 : idata = idata + 1
24635 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24636 3360621 : full_data(idata) = data_tmp
24637 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24638 3360621 : idata = idata + 1
24639 3360621 : data_tmp = ISHFT(pack_tmp, 26)
24640 3360621 : ipack = ipack + 1
24641 3360621 : pack_tmp = packed_data(ipack)
24642 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
24643 3360621 : pack_tmp = ISHFT(pack_tmp, -26)
24644 3360621 : idata = idata + 1
24645 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24646 3360621 : full_data(idata) = data_tmp
24647 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24648 3360621 : idata = idata + 1
24649 3360621 : data_tmp = ISHFT(pack_tmp, 28)
24650 3360621 : ipack = ipack + 1
24651 3360621 : pack_tmp = packed_data(ipack)
24652 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
24653 3360621 : pack_tmp = ISHFT(pack_tmp, -28)
24654 3360621 : idata = idata + 1
24655 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24656 3360621 : full_data(idata) = data_tmp
24657 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24658 3360621 : idata = idata + 1
24659 3360621 : data_tmp = ISHFT(pack_tmp, 30)
24660 3360621 : ipack = ipack + 1
24661 3360621 : pack_tmp = packed_data(ipack)
24662 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
24663 3360621 : pack_tmp = ISHFT(pack_tmp, -30)
24664 3360621 : idata = idata + 1
24665 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24666 3360621 : full_data(idata) = data_tmp
24667 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24668 3360621 : idata = idata + 1
24669 3360621 : data_tmp = ISHFT(pack_tmp, 32)
24670 3360621 : ipack = ipack + 1
24671 3360621 : pack_tmp = packed_data(ipack)
24672 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
24673 3360621 : pack_tmp = ISHFT(pack_tmp, -32)
24674 3360621 : idata = idata + 1
24675 3360621 : data_tmp = ISHFT(pack_tmp, 1)
24676 3360621 : ipack = ipack + 1
24677 3360621 : pack_tmp = packed_data(ipack)
24678 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
24679 3360621 : pack_tmp = ISHFT(pack_tmp, -1)
24680 3360621 : idata = idata + 1
24681 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24682 3360621 : full_data(idata) = data_tmp
24683 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24684 3360621 : idata = idata + 1
24685 3360621 : data_tmp = ISHFT(pack_tmp, 3)
24686 3360621 : ipack = ipack + 1
24687 3360621 : pack_tmp = packed_data(ipack)
24688 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
24689 3360621 : pack_tmp = ISHFT(pack_tmp, -3)
24690 3360621 : idata = idata + 1
24691 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24692 3360621 : full_data(idata) = data_tmp
24693 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24694 3360621 : idata = idata + 1
24695 3360621 : data_tmp = ISHFT(pack_tmp, 5)
24696 3360621 : ipack = ipack + 1
24697 3360621 : pack_tmp = packed_data(ipack)
24698 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
24699 3360621 : pack_tmp = ISHFT(pack_tmp, -5)
24700 3360621 : idata = idata + 1
24701 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24702 3360621 : full_data(idata) = data_tmp
24703 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24704 3360621 : idata = idata + 1
24705 3360621 : data_tmp = ISHFT(pack_tmp, 7)
24706 3360621 : ipack = ipack + 1
24707 3360621 : pack_tmp = packed_data(ipack)
24708 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
24709 3360621 : pack_tmp = ISHFT(pack_tmp, -7)
24710 3360621 : idata = idata + 1
24711 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24712 3360621 : full_data(idata) = data_tmp
24713 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24714 3360621 : idata = idata + 1
24715 3360621 : data_tmp = ISHFT(pack_tmp, 9)
24716 3360621 : ipack = ipack + 1
24717 3360621 : pack_tmp = packed_data(ipack)
24718 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
24719 3360621 : pack_tmp = ISHFT(pack_tmp, -9)
24720 3360621 : idata = idata + 1
24721 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24722 3360621 : full_data(idata) = data_tmp
24723 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24724 3360621 : idata = idata + 1
24725 3360621 : data_tmp = ISHFT(pack_tmp, 11)
24726 3360621 : ipack = ipack + 1
24727 3360621 : pack_tmp = packed_data(ipack)
24728 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
24729 3360621 : pack_tmp = ISHFT(pack_tmp, -11)
24730 3360621 : idata = idata + 1
24731 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24732 3360621 : full_data(idata) = data_tmp
24733 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24734 3360621 : idata = idata + 1
24735 3360621 : data_tmp = ISHFT(pack_tmp, 13)
24736 3360621 : ipack = ipack + 1
24737 3360621 : pack_tmp = packed_data(ipack)
24738 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
24739 3360621 : pack_tmp = ISHFT(pack_tmp, -13)
24740 3360621 : idata = idata + 1
24741 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24742 3360621 : full_data(idata) = data_tmp
24743 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24744 3360621 : idata = idata + 1
24745 3360621 : data_tmp = ISHFT(pack_tmp, 15)
24746 3360621 : ipack = ipack + 1
24747 3360621 : pack_tmp = packed_data(ipack)
24748 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
24749 3360621 : pack_tmp = ISHFT(pack_tmp, -15)
24750 3360621 : idata = idata + 1
24751 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24752 3360621 : full_data(idata) = data_tmp
24753 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24754 3360621 : idata = idata + 1
24755 3360621 : data_tmp = ISHFT(pack_tmp, 17)
24756 3360621 : ipack = ipack + 1
24757 3360621 : pack_tmp = packed_data(ipack)
24758 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
24759 3360621 : pack_tmp = ISHFT(pack_tmp, -17)
24760 3360621 : idata = idata + 1
24761 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24762 3360621 : full_data(idata) = data_tmp
24763 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24764 3360621 : idata = idata + 1
24765 3360621 : data_tmp = ISHFT(pack_tmp, 19)
24766 3360621 : ipack = ipack + 1
24767 3360621 : pack_tmp = packed_data(ipack)
24768 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
24769 3360621 : pack_tmp = ISHFT(pack_tmp, -19)
24770 3360621 : idata = idata + 1
24771 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24772 3360621 : full_data(idata) = data_tmp
24773 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24774 3360621 : idata = idata + 1
24775 3360621 : data_tmp = ISHFT(pack_tmp, 21)
24776 3360621 : ipack = ipack + 1
24777 3360621 : pack_tmp = packed_data(ipack)
24778 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
24779 3360621 : pack_tmp = ISHFT(pack_tmp, -21)
24780 3360621 : idata = idata + 1
24781 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24782 3360621 : full_data(idata) = data_tmp
24783 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24784 3360621 : idata = idata + 1
24785 3360621 : data_tmp = ISHFT(pack_tmp, 23)
24786 3360621 : ipack = ipack + 1
24787 3360621 : pack_tmp = packed_data(ipack)
24788 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
24789 3360621 : pack_tmp = ISHFT(pack_tmp, -23)
24790 3360621 : idata = idata + 1
24791 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24792 3360621 : full_data(idata) = data_tmp
24793 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24794 3360621 : idata = idata + 1
24795 3360621 : data_tmp = ISHFT(pack_tmp, 25)
24796 3360621 : ipack = ipack + 1
24797 3360621 : pack_tmp = packed_data(ipack)
24798 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
24799 3360621 : pack_tmp = ISHFT(pack_tmp, -25)
24800 3360621 : idata = idata + 1
24801 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24802 3360621 : full_data(idata) = data_tmp
24803 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24804 3360621 : idata = idata + 1
24805 3360621 : data_tmp = ISHFT(pack_tmp, 27)
24806 3360621 : ipack = ipack + 1
24807 3360621 : pack_tmp = packed_data(ipack)
24808 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
24809 3360621 : pack_tmp = ISHFT(pack_tmp, -27)
24810 3360621 : idata = idata + 1
24811 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24812 3360621 : full_data(idata) = data_tmp
24813 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24814 3360621 : idata = idata + 1
24815 3360621 : data_tmp = ISHFT(pack_tmp, 29)
24816 3360621 : ipack = ipack + 1
24817 3360621 : pack_tmp = packed_data(ipack)
24818 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
24819 3360621 : pack_tmp = ISHFT(pack_tmp, -29)
24820 3360621 : idata = idata + 1
24821 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24822 3360621 : full_data(idata) = data_tmp
24823 3360621 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24824 3360621 : idata = idata + 1
24825 3360621 : data_tmp = ISHFT(pack_tmp, 31)
24826 3360621 : ipack = ipack + 1
24827 3360621 : pack_tmp = packed_data(ipack)
24828 3360621 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
24829 3360621 : pack_tmp = ISHFT(pack_tmp, -31)
24830 3360621 : idata = idata + 1
24831 3360621 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
24832 3360621 : full_data(idata) = data_tmp
24833 3379537 : pack_tmp = ISHFT(pack_tmp, -Nbits)
24834 : END DO
24835 277566 : IF (Ndata_rep < Ndata) THEN
24836 127110 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
24837 : END IF
24838 277566 : END SUBROUTINE bits2ints_33
24839 :
24840 : ! **************************************************************************************************
24841 : !> \brief ...
24842 : !> \param Ndata ...
24843 : !> \param packed_data ...
24844 : !> \param full_data ...
24845 : ! **************************************************************************************************
24846 48637 : 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(*)
24850 :
24851 : INTEGER, PARAMETER :: Nbits = 34
24852 :
24853 : INTEGER :: idata, ipack, kdata, Ndata_rep
24854 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
24855 :
24856 48637 : idata = 0
24857 48637 : ipack = 0
24858 48637 : Ndata_rep = (Ndata/64)*64
24859 48637 : DO kdata = 1, Ndata_rep, 64
24860 633175 : pack_tmp = 0
24861 633175 : idata = idata + 1
24862 633175 : data_tmp = full_data(idata)
24863 633175 : data_tmp = ISHFT(data_tmp, 30)
24864 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24865 633175 : pack_tmp = ISHFT(pack_tmp, -30)
24866 633175 : idata = idata + 1
24867 633175 : data_tmp = full_data(idata)
24868 633175 : data_tmp = ISHFT(data_tmp, 30)
24869 633175 : data_tmp = IAND(data_tmp, mask_left(30))
24870 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24871 633175 : ipack = ipack + 1
24872 633175 : packed_data(ipack) = pack_tmp
24873 633175 : data_tmp = full_data(idata)
24874 633175 : pack_tmp = ISHFT(data_tmp, 60)
24875 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24876 633175 : idata = idata + 1
24877 633175 : data_tmp = full_data(idata)
24878 633175 : data_tmp = ISHFT(data_tmp, 30)
24879 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24880 633175 : pack_tmp = ISHFT(pack_tmp, -26)
24881 633175 : idata = idata + 1
24882 633175 : data_tmp = full_data(idata)
24883 633175 : data_tmp = ISHFT(data_tmp, 30)
24884 633175 : data_tmp = IAND(data_tmp, mask_left(26))
24885 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24886 633175 : ipack = ipack + 1
24887 633175 : packed_data(ipack) = pack_tmp
24888 633175 : data_tmp = full_data(idata)
24889 633175 : pack_tmp = ISHFT(data_tmp, 56)
24890 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24891 633175 : idata = idata + 1
24892 633175 : data_tmp = full_data(idata)
24893 633175 : data_tmp = ISHFT(data_tmp, 30)
24894 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24895 633175 : pack_tmp = ISHFT(pack_tmp, -22)
24896 633175 : idata = idata + 1
24897 633175 : data_tmp = full_data(idata)
24898 633175 : data_tmp = ISHFT(data_tmp, 30)
24899 633175 : data_tmp = IAND(data_tmp, mask_left(22))
24900 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24901 633175 : ipack = ipack + 1
24902 633175 : packed_data(ipack) = pack_tmp
24903 633175 : data_tmp = full_data(idata)
24904 633175 : pack_tmp = ISHFT(data_tmp, 52)
24905 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24906 633175 : idata = idata + 1
24907 633175 : data_tmp = full_data(idata)
24908 633175 : data_tmp = ISHFT(data_tmp, 30)
24909 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24910 633175 : pack_tmp = ISHFT(pack_tmp, -18)
24911 633175 : idata = idata + 1
24912 633175 : data_tmp = full_data(idata)
24913 633175 : data_tmp = ISHFT(data_tmp, 30)
24914 633175 : data_tmp = IAND(data_tmp, mask_left(18))
24915 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24916 633175 : ipack = ipack + 1
24917 633175 : packed_data(ipack) = pack_tmp
24918 633175 : data_tmp = full_data(idata)
24919 633175 : pack_tmp = ISHFT(data_tmp, 48)
24920 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24921 633175 : idata = idata + 1
24922 633175 : data_tmp = full_data(idata)
24923 633175 : data_tmp = ISHFT(data_tmp, 30)
24924 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24925 633175 : pack_tmp = ISHFT(pack_tmp, -14)
24926 633175 : idata = idata + 1
24927 633175 : data_tmp = full_data(idata)
24928 633175 : data_tmp = ISHFT(data_tmp, 30)
24929 633175 : data_tmp = IAND(data_tmp, mask_left(14))
24930 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24931 633175 : ipack = ipack + 1
24932 633175 : packed_data(ipack) = pack_tmp
24933 633175 : data_tmp = full_data(idata)
24934 633175 : pack_tmp = ISHFT(data_tmp, 44)
24935 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24936 633175 : idata = idata + 1
24937 633175 : data_tmp = full_data(idata)
24938 633175 : data_tmp = ISHFT(data_tmp, 30)
24939 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24940 633175 : pack_tmp = ISHFT(pack_tmp, -10)
24941 633175 : idata = idata + 1
24942 633175 : data_tmp = full_data(idata)
24943 633175 : data_tmp = ISHFT(data_tmp, 30)
24944 633175 : data_tmp = IAND(data_tmp, mask_left(10))
24945 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24946 633175 : ipack = ipack + 1
24947 633175 : packed_data(ipack) = pack_tmp
24948 633175 : data_tmp = full_data(idata)
24949 633175 : pack_tmp = ISHFT(data_tmp, 40)
24950 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24951 633175 : idata = idata + 1
24952 633175 : data_tmp = full_data(idata)
24953 633175 : data_tmp = ISHFT(data_tmp, 30)
24954 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24955 633175 : pack_tmp = ISHFT(pack_tmp, -6)
24956 633175 : idata = idata + 1
24957 633175 : data_tmp = full_data(idata)
24958 633175 : data_tmp = ISHFT(data_tmp, 30)
24959 633175 : data_tmp = IAND(data_tmp, mask_left(6))
24960 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24961 633175 : ipack = ipack + 1
24962 633175 : packed_data(ipack) = pack_tmp
24963 633175 : data_tmp = full_data(idata)
24964 633175 : pack_tmp = ISHFT(data_tmp, 36)
24965 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24966 633175 : idata = idata + 1
24967 633175 : data_tmp = full_data(idata)
24968 633175 : data_tmp = ISHFT(data_tmp, 30)
24969 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24970 633175 : pack_tmp = ISHFT(pack_tmp, -2)
24971 633175 : idata = idata + 1
24972 633175 : data_tmp = full_data(idata)
24973 633175 : data_tmp = ISHFT(data_tmp, 30)
24974 633175 : data_tmp = IAND(data_tmp, mask_left(2))
24975 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24976 633175 : ipack = ipack + 1
24977 633175 : packed_data(ipack) = pack_tmp
24978 633175 : data_tmp = full_data(idata)
24979 633175 : pack_tmp = ISHFT(data_tmp, 32)
24980 633175 : pack_tmp = ISHFT(pack_tmp, -32)
24981 633175 : idata = idata + 1
24982 633175 : data_tmp = full_data(idata)
24983 633175 : data_tmp = ISHFT(data_tmp, 30)
24984 633175 : data_tmp = IAND(data_tmp, mask_left(32))
24985 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24986 633175 : ipack = ipack + 1
24987 633175 : packed_data(ipack) = pack_tmp
24988 633175 : data_tmp = full_data(idata)
24989 633175 : pack_tmp = ISHFT(data_tmp, 62)
24990 633175 : pack_tmp = ISHFT(pack_tmp, -34)
24991 633175 : idata = idata + 1
24992 633175 : data_tmp = full_data(idata)
24993 633175 : data_tmp = ISHFT(data_tmp, 30)
24994 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
24995 633175 : pack_tmp = ISHFT(pack_tmp, -28)
24996 633175 : idata = idata + 1
24997 633175 : data_tmp = full_data(idata)
24998 633175 : data_tmp = ISHFT(data_tmp, 30)
24999 633175 : data_tmp = IAND(data_tmp, mask_left(28))
25000 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25001 633175 : ipack = ipack + 1
25002 633175 : packed_data(ipack) = pack_tmp
25003 633175 : data_tmp = full_data(idata)
25004 633175 : pack_tmp = ISHFT(data_tmp, 58)
25005 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25006 633175 : idata = idata + 1
25007 633175 : data_tmp = full_data(idata)
25008 633175 : data_tmp = ISHFT(data_tmp, 30)
25009 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25010 633175 : pack_tmp = ISHFT(pack_tmp, -24)
25011 633175 : idata = idata + 1
25012 633175 : data_tmp = full_data(idata)
25013 633175 : data_tmp = ISHFT(data_tmp, 30)
25014 633175 : data_tmp = IAND(data_tmp, mask_left(24))
25015 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25016 633175 : ipack = ipack + 1
25017 633175 : packed_data(ipack) = pack_tmp
25018 633175 : data_tmp = full_data(idata)
25019 633175 : pack_tmp = ISHFT(data_tmp, 54)
25020 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25021 633175 : idata = idata + 1
25022 633175 : data_tmp = full_data(idata)
25023 633175 : data_tmp = ISHFT(data_tmp, 30)
25024 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25025 633175 : pack_tmp = ISHFT(pack_tmp, -20)
25026 633175 : idata = idata + 1
25027 633175 : data_tmp = full_data(idata)
25028 633175 : data_tmp = ISHFT(data_tmp, 30)
25029 633175 : data_tmp = IAND(data_tmp, mask_left(20))
25030 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25031 633175 : ipack = ipack + 1
25032 633175 : packed_data(ipack) = pack_tmp
25033 633175 : data_tmp = full_data(idata)
25034 633175 : pack_tmp = ISHFT(data_tmp, 50)
25035 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25036 633175 : idata = idata + 1
25037 633175 : data_tmp = full_data(idata)
25038 633175 : data_tmp = ISHFT(data_tmp, 30)
25039 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25040 633175 : pack_tmp = ISHFT(pack_tmp, -16)
25041 633175 : idata = idata + 1
25042 633175 : data_tmp = full_data(idata)
25043 633175 : data_tmp = ISHFT(data_tmp, 30)
25044 633175 : data_tmp = IAND(data_tmp, mask_left(16))
25045 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25046 633175 : ipack = ipack + 1
25047 633175 : packed_data(ipack) = pack_tmp
25048 633175 : data_tmp = full_data(idata)
25049 633175 : pack_tmp = ISHFT(data_tmp, 46)
25050 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25051 633175 : idata = idata + 1
25052 633175 : data_tmp = full_data(idata)
25053 633175 : data_tmp = ISHFT(data_tmp, 30)
25054 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25055 633175 : pack_tmp = ISHFT(pack_tmp, -12)
25056 633175 : idata = idata + 1
25057 633175 : data_tmp = full_data(idata)
25058 633175 : data_tmp = ISHFT(data_tmp, 30)
25059 633175 : data_tmp = IAND(data_tmp, mask_left(12))
25060 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25061 633175 : ipack = ipack + 1
25062 633175 : packed_data(ipack) = pack_tmp
25063 633175 : data_tmp = full_data(idata)
25064 633175 : pack_tmp = ISHFT(data_tmp, 42)
25065 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25066 633175 : idata = idata + 1
25067 633175 : data_tmp = full_data(idata)
25068 633175 : data_tmp = ISHFT(data_tmp, 30)
25069 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25070 633175 : pack_tmp = ISHFT(pack_tmp, -8)
25071 633175 : idata = idata + 1
25072 633175 : data_tmp = full_data(idata)
25073 633175 : data_tmp = ISHFT(data_tmp, 30)
25074 633175 : data_tmp = IAND(data_tmp, mask_left(8))
25075 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25076 633175 : ipack = ipack + 1
25077 633175 : packed_data(ipack) = pack_tmp
25078 633175 : data_tmp = full_data(idata)
25079 633175 : pack_tmp = ISHFT(data_tmp, 38)
25080 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25081 633175 : idata = idata + 1
25082 633175 : data_tmp = full_data(idata)
25083 633175 : data_tmp = ISHFT(data_tmp, 30)
25084 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25085 633175 : pack_tmp = ISHFT(pack_tmp, -4)
25086 633175 : idata = idata + 1
25087 633175 : data_tmp = full_data(idata)
25088 633175 : data_tmp = ISHFT(data_tmp, 30)
25089 633175 : data_tmp = IAND(data_tmp, mask_left(4))
25090 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25091 633175 : ipack = ipack + 1
25092 633175 : packed_data(ipack) = pack_tmp
25093 633175 : data_tmp = full_data(idata)
25094 633175 : pack_tmp = ISHFT(data_tmp, 34)
25095 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25096 633175 : idata = idata + 1
25097 633175 : data_tmp = full_data(idata)
25098 633175 : data_tmp = ISHFT(data_tmp, 30)
25099 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25100 633175 : pack_tmp = ISHFT(pack_tmp, 0)
25101 633175 : idata = idata + 1
25102 633175 : data_tmp = full_data(idata)
25103 : data_tmp = ISHFT(data_tmp, 30)
25104 633175 : data_tmp = IAND(data_tmp, mask_left(0))
25105 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25106 633175 : ipack = ipack + 1
25107 633175 : packed_data(ipack) = pack_tmp
25108 633175 : data_tmp = full_data(idata)
25109 633175 : pack_tmp = ISHFT(data_tmp, 30)
25110 633175 : pack_tmp = ISHFT(pack_tmp, -30)
25111 633175 : idata = idata + 1
25112 633175 : data_tmp = full_data(idata)
25113 633175 : data_tmp = ISHFT(data_tmp, 30)
25114 633175 : data_tmp = IAND(data_tmp, mask_left(30))
25115 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25116 633175 : ipack = ipack + 1
25117 633175 : packed_data(ipack) = pack_tmp
25118 633175 : data_tmp = full_data(idata)
25119 633175 : pack_tmp = ISHFT(data_tmp, 60)
25120 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25121 633175 : idata = idata + 1
25122 633175 : data_tmp = full_data(idata)
25123 633175 : data_tmp = ISHFT(data_tmp, 30)
25124 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25125 633175 : pack_tmp = ISHFT(pack_tmp, -26)
25126 633175 : idata = idata + 1
25127 633175 : data_tmp = full_data(idata)
25128 633175 : data_tmp = ISHFT(data_tmp, 30)
25129 633175 : data_tmp = IAND(data_tmp, mask_left(26))
25130 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25131 633175 : ipack = ipack + 1
25132 633175 : packed_data(ipack) = pack_tmp
25133 633175 : data_tmp = full_data(idata)
25134 633175 : pack_tmp = ISHFT(data_tmp, 56)
25135 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25136 633175 : idata = idata + 1
25137 633175 : data_tmp = full_data(idata)
25138 633175 : data_tmp = ISHFT(data_tmp, 30)
25139 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25140 633175 : pack_tmp = ISHFT(pack_tmp, -22)
25141 633175 : idata = idata + 1
25142 633175 : data_tmp = full_data(idata)
25143 633175 : data_tmp = ISHFT(data_tmp, 30)
25144 633175 : data_tmp = IAND(data_tmp, mask_left(22))
25145 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25146 633175 : ipack = ipack + 1
25147 633175 : packed_data(ipack) = pack_tmp
25148 633175 : data_tmp = full_data(idata)
25149 633175 : pack_tmp = ISHFT(data_tmp, 52)
25150 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25151 633175 : idata = idata + 1
25152 633175 : data_tmp = full_data(idata)
25153 633175 : data_tmp = ISHFT(data_tmp, 30)
25154 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25155 633175 : pack_tmp = ISHFT(pack_tmp, -18)
25156 633175 : idata = idata + 1
25157 633175 : data_tmp = full_data(idata)
25158 633175 : data_tmp = ISHFT(data_tmp, 30)
25159 633175 : data_tmp = IAND(data_tmp, mask_left(18))
25160 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25161 633175 : ipack = ipack + 1
25162 633175 : packed_data(ipack) = pack_tmp
25163 633175 : data_tmp = full_data(idata)
25164 633175 : pack_tmp = ISHFT(data_tmp, 48)
25165 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25166 633175 : idata = idata + 1
25167 633175 : data_tmp = full_data(idata)
25168 633175 : data_tmp = ISHFT(data_tmp, 30)
25169 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25170 633175 : pack_tmp = ISHFT(pack_tmp, -14)
25171 633175 : idata = idata + 1
25172 633175 : data_tmp = full_data(idata)
25173 633175 : data_tmp = ISHFT(data_tmp, 30)
25174 633175 : data_tmp = IAND(data_tmp, mask_left(14))
25175 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25176 633175 : ipack = ipack + 1
25177 633175 : packed_data(ipack) = pack_tmp
25178 633175 : data_tmp = full_data(idata)
25179 633175 : pack_tmp = ISHFT(data_tmp, 44)
25180 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25181 633175 : idata = idata + 1
25182 633175 : data_tmp = full_data(idata)
25183 633175 : data_tmp = ISHFT(data_tmp, 30)
25184 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25185 633175 : pack_tmp = ISHFT(pack_tmp, -10)
25186 633175 : idata = idata + 1
25187 633175 : data_tmp = full_data(idata)
25188 633175 : data_tmp = ISHFT(data_tmp, 30)
25189 633175 : data_tmp = IAND(data_tmp, mask_left(10))
25190 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25191 633175 : ipack = ipack + 1
25192 633175 : packed_data(ipack) = pack_tmp
25193 633175 : data_tmp = full_data(idata)
25194 633175 : pack_tmp = ISHFT(data_tmp, 40)
25195 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25196 633175 : idata = idata + 1
25197 633175 : data_tmp = full_data(idata)
25198 633175 : data_tmp = ISHFT(data_tmp, 30)
25199 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25200 633175 : pack_tmp = ISHFT(pack_tmp, -6)
25201 633175 : idata = idata + 1
25202 633175 : data_tmp = full_data(idata)
25203 633175 : data_tmp = ISHFT(data_tmp, 30)
25204 633175 : data_tmp = IAND(data_tmp, mask_left(6))
25205 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25206 633175 : ipack = ipack + 1
25207 633175 : packed_data(ipack) = pack_tmp
25208 633175 : data_tmp = full_data(idata)
25209 633175 : pack_tmp = ISHFT(data_tmp, 36)
25210 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25211 633175 : idata = idata + 1
25212 633175 : data_tmp = full_data(idata)
25213 633175 : data_tmp = ISHFT(data_tmp, 30)
25214 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25215 633175 : pack_tmp = ISHFT(pack_tmp, -2)
25216 633175 : idata = idata + 1
25217 633175 : data_tmp = full_data(idata)
25218 633175 : data_tmp = ISHFT(data_tmp, 30)
25219 633175 : data_tmp = IAND(data_tmp, mask_left(2))
25220 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25221 633175 : ipack = ipack + 1
25222 633175 : packed_data(ipack) = pack_tmp
25223 633175 : data_tmp = full_data(idata)
25224 633175 : pack_tmp = ISHFT(data_tmp, 32)
25225 633175 : pack_tmp = ISHFT(pack_tmp, -32)
25226 633175 : idata = idata + 1
25227 633175 : data_tmp = full_data(idata)
25228 633175 : data_tmp = ISHFT(data_tmp, 30)
25229 633175 : data_tmp = IAND(data_tmp, mask_left(32))
25230 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25231 633175 : ipack = ipack + 1
25232 633175 : packed_data(ipack) = pack_tmp
25233 633175 : data_tmp = full_data(idata)
25234 633175 : pack_tmp = ISHFT(data_tmp, 62)
25235 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25236 633175 : idata = idata + 1
25237 633175 : data_tmp = full_data(idata)
25238 633175 : data_tmp = ISHFT(data_tmp, 30)
25239 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25240 633175 : pack_tmp = ISHFT(pack_tmp, -28)
25241 633175 : idata = idata + 1
25242 633175 : data_tmp = full_data(idata)
25243 633175 : data_tmp = ISHFT(data_tmp, 30)
25244 633175 : data_tmp = IAND(data_tmp, mask_left(28))
25245 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25246 633175 : ipack = ipack + 1
25247 633175 : packed_data(ipack) = pack_tmp
25248 633175 : data_tmp = full_data(idata)
25249 633175 : pack_tmp = ISHFT(data_tmp, 58)
25250 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25251 633175 : idata = idata + 1
25252 633175 : data_tmp = full_data(idata)
25253 633175 : data_tmp = ISHFT(data_tmp, 30)
25254 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25255 633175 : pack_tmp = ISHFT(pack_tmp, -24)
25256 633175 : idata = idata + 1
25257 633175 : data_tmp = full_data(idata)
25258 633175 : data_tmp = ISHFT(data_tmp, 30)
25259 633175 : data_tmp = IAND(data_tmp, mask_left(24))
25260 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25261 633175 : ipack = ipack + 1
25262 633175 : packed_data(ipack) = pack_tmp
25263 633175 : data_tmp = full_data(idata)
25264 633175 : pack_tmp = ISHFT(data_tmp, 54)
25265 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25266 633175 : idata = idata + 1
25267 633175 : data_tmp = full_data(idata)
25268 633175 : data_tmp = ISHFT(data_tmp, 30)
25269 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25270 633175 : pack_tmp = ISHFT(pack_tmp, -20)
25271 633175 : idata = idata + 1
25272 633175 : data_tmp = full_data(idata)
25273 633175 : data_tmp = ISHFT(data_tmp, 30)
25274 633175 : data_tmp = IAND(data_tmp, mask_left(20))
25275 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25276 633175 : ipack = ipack + 1
25277 633175 : packed_data(ipack) = pack_tmp
25278 633175 : data_tmp = full_data(idata)
25279 633175 : pack_tmp = ISHFT(data_tmp, 50)
25280 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25281 633175 : idata = idata + 1
25282 633175 : data_tmp = full_data(idata)
25283 633175 : data_tmp = ISHFT(data_tmp, 30)
25284 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25285 633175 : pack_tmp = ISHFT(pack_tmp, -16)
25286 633175 : idata = idata + 1
25287 633175 : data_tmp = full_data(idata)
25288 633175 : data_tmp = ISHFT(data_tmp, 30)
25289 633175 : data_tmp = IAND(data_tmp, mask_left(16))
25290 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25291 633175 : ipack = ipack + 1
25292 633175 : packed_data(ipack) = pack_tmp
25293 633175 : data_tmp = full_data(idata)
25294 633175 : pack_tmp = ISHFT(data_tmp, 46)
25295 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25296 633175 : idata = idata + 1
25297 633175 : data_tmp = full_data(idata)
25298 633175 : data_tmp = ISHFT(data_tmp, 30)
25299 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25300 633175 : pack_tmp = ISHFT(pack_tmp, -12)
25301 633175 : idata = idata + 1
25302 633175 : data_tmp = full_data(idata)
25303 633175 : data_tmp = ISHFT(data_tmp, 30)
25304 633175 : data_tmp = IAND(data_tmp, mask_left(12))
25305 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25306 633175 : ipack = ipack + 1
25307 633175 : packed_data(ipack) = pack_tmp
25308 633175 : data_tmp = full_data(idata)
25309 633175 : pack_tmp = ISHFT(data_tmp, 42)
25310 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25311 633175 : idata = idata + 1
25312 633175 : data_tmp = full_data(idata)
25313 633175 : data_tmp = ISHFT(data_tmp, 30)
25314 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25315 633175 : pack_tmp = ISHFT(pack_tmp, -8)
25316 633175 : idata = idata + 1
25317 633175 : data_tmp = full_data(idata)
25318 633175 : data_tmp = ISHFT(data_tmp, 30)
25319 633175 : data_tmp = IAND(data_tmp, mask_left(8))
25320 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25321 633175 : ipack = ipack + 1
25322 633175 : packed_data(ipack) = pack_tmp
25323 633175 : data_tmp = full_data(idata)
25324 633175 : pack_tmp = ISHFT(data_tmp, 38)
25325 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25326 633175 : idata = idata + 1
25327 633175 : data_tmp = full_data(idata)
25328 633175 : data_tmp = ISHFT(data_tmp, 30)
25329 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25330 633175 : pack_tmp = ISHFT(pack_tmp, -4)
25331 633175 : idata = idata + 1
25332 633175 : data_tmp = full_data(idata)
25333 633175 : data_tmp = ISHFT(data_tmp, 30)
25334 633175 : data_tmp = IAND(data_tmp, mask_left(4))
25335 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25336 633175 : ipack = ipack + 1
25337 633175 : packed_data(ipack) = pack_tmp
25338 633175 : data_tmp = full_data(idata)
25339 633175 : pack_tmp = ISHFT(data_tmp, 34)
25340 633175 : pack_tmp = ISHFT(pack_tmp, -34)
25341 633175 : idata = idata + 1
25342 633175 : data_tmp = full_data(idata)
25343 633175 : data_tmp = ISHFT(data_tmp, 30)
25344 633175 : pack_tmp = IOR(pack_tmp, data_tmp)
25345 : pack_tmp = ISHFT(pack_tmp, 0)
25346 633175 : pack_tmp = ISHFT(pack_tmp, 0)
25347 633175 : ipack = ipack + 1
25348 633445 : packed_data(ipack) = pack_tmp
25349 : END DO
25350 48637 : IF (Ndata_rep < Ndata) THEN
25351 16818 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
25352 : END IF
25353 48637 : END SUBROUTINE ints2bits_34
25354 :
25355 : ! **************************************************************************************************
25356 : !> \brief ...
25357 : !> \param Ndata ...
25358 : !> \param packed_data ...
25359 : !> \param full_data ...
25360 : ! **************************************************************************************************
25361 226916 : 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(*)
25365 :
25366 : INTEGER, PARAMETER :: Nbits = 34
25367 :
25368 : INTEGER :: idata, ipack, kdata, Ndata_rep
25369 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
25370 :
25371 226916 : ipack = 0
25372 226916 : idata = 0
25373 226916 : pack_tmp = 0
25374 226916 : Ndata_rep = (Ndata/64)*64
25375 226916 : DO kdata = 1, Ndata_rep, 64
25376 2851217 : idata = idata + 1
25377 2851217 : data_tmp = ISHFT(pack_tmp, 34)
25378 2851217 : ipack = ipack + 1
25379 2851217 : pack_tmp = packed_data(ipack)
25380 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
25381 2851217 : pack_tmp = ISHFT(pack_tmp, -34)
25382 2851217 : idata = idata + 1
25383 2851217 : data_tmp = ISHFT(pack_tmp, 4)
25384 2851217 : ipack = ipack + 1
25385 2851217 : pack_tmp = packed_data(ipack)
25386 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
25387 2851217 : pack_tmp = ISHFT(pack_tmp, -4)
25388 2851217 : idata = idata + 1
25389 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25390 2851217 : full_data(idata) = data_tmp
25391 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25392 2851217 : idata = idata + 1
25393 2851217 : data_tmp = ISHFT(pack_tmp, 8)
25394 2851217 : ipack = ipack + 1
25395 2851217 : pack_tmp = packed_data(ipack)
25396 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
25397 2851217 : pack_tmp = ISHFT(pack_tmp, -8)
25398 2851217 : idata = idata + 1
25399 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25400 2851217 : full_data(idata) = data_tmp
25401 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25402 2851217 : idata = idata + 1
25403 2851217 : data_tmp = ISHFT(pack_tmp, 12)
25404 2851217 : ipack = ipack + 1
25405 2851217 : pack_tmp = packed_data(ipack)
25406 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
25407 2851217 : pack_tmp = ISHFT(pack_tmp, -12)
25408 2851217 : idata = idata + 1
25409 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25410 2851217 : full_data(idata) = data_tmp
25411 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25412 2851217 : idata = idata + 1
25413 2851217 : data_tmp = ISHFT(pack_tmp, 16)
25414 2851217 : ipack = ipack + 1
25415 2851217 : pack_tmp = packed_data(ipack)
25416 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
25417 2851217 : pack_tmp = ISHFT(pack_tmp, -16)
25418 2851217 : idata = idata + 1
25419 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25420 2851217 : full_data(idata) = data_tmp
25421 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25422 2851217 : idata = idata + 1
25423 2851217 : data_tmp = ISHFT(pack_tmp, 20)
25424 2851217 : ipack = ipack + 1
25425 2851217 : pack_tmp = packed_data(ipack)
25426 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
25427 2851217 : pack_tmp = ISHFT(pack_tmp, -20)
25428 2851217 : idata = idata + 1
25429 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25430 2851217 : full_data(idata) = data_tmp
25431 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25432 2851217 : idata = idata + 1
25433 2851217 : data_tmp = ISHFT(pack_tmp, 24)
25434 2851217 : ipack = ipack + 1
25435 2851217 : pack_tmp = packed_data(ipack)
25436 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
25437 2851217 : pack_tmp = ISHFT(pack_tmp, -24)
25438 2851217 : idata = idata + 1
25439 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25440 2851217 : full_data(idata) = data_tmp
25441 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25442 2851217 : idata = idata + 1
25443 2851217 : data_tmp = ISHFT(pack_tmp, 28)
25444 2851217 : ipack = ipack + 1
25445 2851217 : pack_tmp = packed_data(ipack)
25446 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
25447 2851217 : pack_tmp = ISHFT(pack_tmp, -28)
25448 2851217 : idata = idata + 1
25449 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25450 2851217 : full_data(idata) = data_tmp
25451 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25452 2851217 : idata = idata + 1
25453 2851217 : data_tmp = ISHFT(pack_tmp, 32)
25454 2851217 : ipack = ipack + 1
25455 2851217 : pack_tmp = packed_data(ipack)
25456 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
25457 2851217 : pack_tmp = ISHFT(pack_tmp, -32)
25458 2851217 : idata = idata + 1
25459 2851217 : data_tmp = ISHFT(pack_tmp, 2)
25460 2851217 : ipack = ipack + 1
25461 2851217 : pack_tmp = packed_data(ipack)
25462 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
25463 2851217 : pack_tmp = ISHFT(pack_tmp, -2)
25464 2851217 : idata = idata + 1
25465 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25466 2851217 : full_data(idata) = data_tmp
25467 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25468 2851217 : idata = idata + 1
25469 2851217 : data_tmp = ISHFT(pack_tmp, 6)
25470 2851217 : ipack = ipack + 1
25471 2851217 : pack_tmp = packed_data(ipack)
25472 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
25473 2851217 : pack_tmp = ISHFT(pack_tmp, -6)
25474 2851217 : idata = idata + 1
25475 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25476 2851217 : full_data(idata) = data_tmp
25477 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25478 2851217 : idata = idata + 1
25479 2851217 : data_tmp = ISHFT(pack_tmp, 10)
25480 2851217 : ipack = ipack + 1
25481 2851217 : pack_tmp = packed_data(ipack)
25482 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
25483 2851217 : pack_tmp = ISHFT(pack_tmp, -10)
25484 2851217 : idata = idata + 1
25485 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25486 2851217 : full_data(idata) = data_tmp
25487 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25488 2851217 : idata = idata + 1
25489 2851217 : data_tmp = ISHFT(pack_tmp, 14)
25490 2851217 : ipack = ipack + 1
25491 2851217 : pack_tmp = packed_data(ipack)
25492 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
25493 2851217 : pack_tmp = ISHFT(pack_tmp, -14)
25494 2851217 : idata = idata + 1
25495 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25496 2851217 : full_data(idata) = data_tmp
25497 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25498 2851217 : idata = idata + 1
25499 2851217 : data_tmp = ISHFT(pack_tmp, 18)
25500 2851217 : ipack = ipack + 1
25501 2851217 : pack_tmp = packed_data(ipack)
25502 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
25503 2851217 : pack_tmp = ISHFT(pack_tmp, -18)
25504 2851217 : idata = idata + 1
25505 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25506 2851217 : full_data(idata) = data_tmp
25507 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25508 2851217 : idata = idata + 1
25509 2851217 : data_tmp = ISHFT(pack_tmp, 22)
25510 2851217 : ipack = ipack + 1
25511 2851217 : pack_tmp = packed_data(ipack)
25512 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
25513 2851217 : pack_tmp = ISHFT(pack_tmp, -22)
25514 2851217 : idata = idata + 1
25515 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25516 2851217 : full_data(idata) = data_tmp
25517 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25518 2851217 : idata = idata + 1
25519 2851217 : data_tmp = ISHFT(pack_tmp, 26)
25520 2851217 : ipack = ipack + 1
25521 2851217 : pack_tmp = packed_data(ipack)
25522 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
25523 2851217 : pack_tmp = ISHFT(pack_tmp, -26)
25524 2851217 : idata = idata + 1
25525 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25526 2851217 : full_data(idata) = data_tmp
25527 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25528 2851217 : idata = idata + 1
25529 2851217 : data_tmp = ISHFT(pack_tmp, 30)
25530 2851217 : ipack = ipack + 1
25531 2851217 : pack_tmp = packed_data(ipack)
25532 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
25533 2851217 : pack_tmp = ISHFT(pack_tmp, -30)
25534 2851217 : idata = idata + 1
25535 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25536 2851217 : full_data(idata) = data_tmp
25537 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25538 2851217 : idata = idata + 1
25539 2851217 : data_tmp = ISHFT(pack_tmp, 34)
25540 2851217 : ipack = ipack + 1
25541 2851217 : pack_tmp = packed_data(ipack)
25542 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
25543 2851217 : pack_tmp = ISHFT(pack_tmp, -34)
25544 2851217 : idata = idata + 1
25545 2851217 : data_tmp = ISHFT(pack_tmp, 4)
25546 2851217 : ipack = ipack + 1
25547 2851217 : pack_tmp = packed_data(ipack)
25548 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
25549 2851217 : pack_tmp = ISHFT(pack_tmp, -4)
25550 2851217 : idata = idata + 1
25551 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25552 2851217 : full_data(idata) = data_tmp
25553 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25554 2851217 : idata = idata + 1
25555 2851217 : data_tmp = ISHFT(pack_tmp, 8)
25556 2851217 : ipack = ipack + 1
25557 2851217 : pack_tmp = packed_data(ipack)
25558 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
25559 2851217 : pack_tmp = ISHFT(pack_tmp, -8)
25560 2851217 : idata = idata + 1
25561 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25562 2851217 : full_data(idata) = data_tmp
25563 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25564 2851217 : idata = idata + 1
25565 2851217 : data_tmp = ISHFT(pack_tmp, 12)
25566 2851217 : ipack = ipack + 1
25567 2851217 : pack_tmp = packed_data(ipack)
25568 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
25569 2851217 : pack_tmp = ISHFT(pack_tmp, -12)
25570 2851217 : idata = idata + 1
25571 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25572 2851217 : full_data(idata) = data_tmp
25573 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25574 2851217 : idata = idata + 1
25575 2851217 : data_tmp = ISHFT(pack_tmp, 16)
25576 2851217 : ipack = ipack + 1
25577 2851217 : pack_tmp = packed_data(ipack)
25578 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
25579 2851217 : pack_tmp = ISHFT(pack_tmp, -16)
25580 2851217 : idata = idata + 1
25581 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25582 2851217 : full_data(idata) = data_tmp
25583 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25584 2851217 : idata = idata + 1
25585 2851217 : data_tmp = ISHFT(pack_tmp, 20)
25586 2851217 : ipack = ipack + 1
25587 2851217 : pack_tmp = packed_data(ipack)
25588 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
25589 2851217 : pack_tmp = ISHFT(pack_tmp, -20)
25590 2851217 : idata = idata + 1
25591 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25592 2851217 : full_data(idata) = data_tmp
25593 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25594 2851217 : idata = idata + 1
25595 2851217 : data_tmp = ISHFT(pack_tmp, 24)
25596 2851217 : ipack = ipack + 1
25597 2851217 : pack_tmp = packed_data(ipack)
25598 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
25599 2851217 : pack_tmp = ISHFT(pack_tmp, -24)
25600 2851217 : idata = idata + 1
25601 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25602 2851217 : full_data(idata) = data_tmp
25603 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25604 2851217 : idata = idata + 1
25605 2851217 : data_tmp = ISHFT(pack_tmp, 28)
25606 2851217 : ipack = ipack + 1
25607 2851217 : pack_tmp = packed_data(ipack)
25608 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
25609 2851217 : pack_tmp = ISHFT(pack_tmp, -28)
25610 2851217 : idata = idata + 1
25611 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25612 2851217 : full_data(idata) = data_tmp
25613 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25614 2851217 : idata = idata + 1
25615 2851217 : data_tmp = ISHFT(pack_tmp, 32)
25616 2851217 : ipack = ipack + 1
25617 2851217 : pack_tmp = packed_data(ipack)
25618 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
25619 2851217 : pack_tmp = ISHFT(pack_tmp, -32)
25620 2851217 : idata = idata + 1
25621 2851217 : data_tmp = ISHFT(pack_tmp, 2)
25622 2851217 : ipack = ipack + 1
25623 2851217 : pack_tmp = packed_data(ipack)
25624 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
25625 2851217 : pack_tmp = ISHFT(pack_tmp, -2)
25626 2851217 : idata = idata + 1
25627 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25628 2851217 : full_data(idata) = data_tmp
25629 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25630 2851217 : idata = idata + 1
25631 2851217 : data_tmp = ISHFT(pack_tmp, 6)
25632 2851217 : ipack = ipack + 1
25633 2851217 : pack_tmp = packed_data(ipack)
25634 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
25635 2851217 : pack_tmp = ISHFT(pack_tmp, -6)
25636 2851217 : idata = idata + 1
25637 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25638 2851217 : full_data(idata) = data_tmp
25639 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25640 2851217 : idata = idata + 1
25641 2851217 : data_tmp = ISHFT(pack_tmp, 10)
25642 2851217 : ipack = ipack + 1
25643 2851217 : pack_tmp = packed_data(ipack)
25644 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
25645 2851217 : pack_tmp = ISHFT(pack_tmp, -10)
25646 2851217 : idata = idata + 1
25647 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25648 2851217 : full_data(idata) = data_tmp
25649 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25650 2851217 : idata = idata + 1
25651 2851217 : data_tmp = ISHFT(pack_tmp, 14)
25652 2851217 : ipack = ipack + 1
25653 2851217 : pack_tmp = packed_data(ipack)
25654 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
25655 2851217 : pack_tmp = ISHFT(pack_tmp, -14)
25656 2851217 : idata = idata + 1
25657 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25658 2851217 : full_data(idata) = data_tmp
25659 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25660 2851217 : idata = idata + 1
25661 2851217 : data_tmp = ISHFT(pack_tmp, 18)
25662 2851217 : ipack = ipack + 1
25663 2851217 : pack_tmp = packed_data(ipack)
25664 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
25665 2851217 : pack_tmp = ISHFT(pack_tmp, -18)
25666 2851217 : idata = idata + 1
25667 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25668 2851217 : full_data(idata) = data_tmp
25669 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25670 2851217 : idata = idata + 1
25671 2851217 : data_tmp = ISHFT(pack_tmp, 22)
25672 2851217 : ipack = ipack + 1
25673 2851217 : pack_tmp = packed_data(ipack)
25674 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
25675 2851217 : pack_tmp = ISHFT(pack_tmp, -22)
25676 2851217 : idata = idata + 1
25677 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25678 2851217 : full_data(idata) = data_tmp
25679 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25680 2851217 : idata = idata + 1
25681 2851217 : data_tmp = ISHFT(pack_tmp, 26)
25682 2851217 : ipack = ipack + 1
25683 2851217 : pack_tmp = packed_data(ipack)
25684 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
25685 2851217 : pack_tmp = ISHFT(pack_tmp, -26)
25686 2851217 : idata = idata + 1
25687 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25688 2851217 : full_data(idata) = data_tmp
25689 2851217 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25690 2851217 : idata = idata + 1
25691 2851217 : data_tmp = ISHFT(pack_tmp, 30)
25692 2851217 : ipack = ipack + 1
25693 2851217 : pack_tmp = packed_data(ipack)
25694 2851217 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
25695 2851217 : pack_tmp = ISHFT(pack_tmp, -30)
25696 2851217 : idata = idata + 1
25697 2851217 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
25698 2851217 : full_data(idata) = data_tmp
25699 2852406 : pack_tmp = ISHFT(pack_tmp, -Nbits)
25700 : END DO
25701 226916 : IF (Ndata_rep < Ndata) THEN
25702 90398 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
25703 : END IF
25704 226916 : END SUBROUTINE bits2ints_34
25705 :
25706 : ! **************************************************************************************************
25707 : !> \brief ...
25708 : !> \param Ndata ...
25709 : !> \param packed_data ...
25710 : !> \param full_data ...
25711 : ! **************************************************************************************************
25712 49942 : 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(*)
25716 :
25717 : INTEGER, PARAMETER :: Nbits = 35
25718 :
25719 : INTEGER :: idata, ipack, kdata, Ndata_rep
25720 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
25721 :
25722 49942 : idata = 0
25723 49942 : ipack = 0
25724 49942 : Ndata_rep = (Ndata/64)*64
25725 49942 : DO kdata = 1, Ndata_rep, 64
25726 637120 : pack_tmp = 0
25727 637120 : idata = idata + 1
25728 637120 : data_tmp = full_data(idata)
25729 637120 : data_tmp = ISHFT(data_tmp, 29)
25730 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25731 637120 : pack_tmp = ISHFT(pack_tmp, -29)
25732 637120 : idata = idata + 1
25733 637120 : data_tmp = full_data(idata)
25734 637120 : data_tmp = ISHFT(data_tmp, 29)
25735 637120 : data_tmp = IAND(data_tmp, mask_left(29))
25736 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25737 637120 : ipack = ipack + 1
25738 637120 : packed_data(ipack) = pack_tmp
25739 637120 : data_tmp = full_data(idata)
25740 637120 : pack_tmp = ISHFT(data_tmp, 58)
25741 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25742 637120 : idata = idata + 1
25743 637120 : data_tmp = full_data(idata)
25744 637120 : data_tmp = ISHFT(data_tmp, 29)
25745 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25746 637120 : pack_tmp = ISHFT(pack_tmp, -23)
25747 637120 : idata = idata + 1
25748 637120 : data_tmp = full_data(idata)
25749 637120 : data_tmp = ISHFT(data_tmp, 29)
25750 637120 : data_tmp = IAND(data_tmp, mask_left(23))
25751 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25752 637120 : ipack = ipack + 1
25753 637120 : packed_data(ipack) = pack_tmp
25754 637120 : data_tmp = full_data(idata)
25755 637120 : pack_tmp = ISHFT(data_tmp, 52)
25756 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25757 637120 : idata = idata + 1
25758 637120 : data_tmp = full_data(idata)
25759 637120 : data_tmp = ISHFT(data_tmp, 29)
25760 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25761 637120 : pack_tmp = ISHFT(pack_tmp, -17)
25762 637120 : idata = idata + 1
25763 637120 : data_tmp = full_data(idata)
25764 637120 : data_tmp = ISHFT(data_tmp, 29)
25765 637120 : data_tmp = IAND(data_tmp, mask_left(17))
25766 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25767 637120 : ipack = ipack + 1
25768 637120 : packed_data(ipack) = pack_tmp
25769 637120 : data_tmp = full_data(idata)
25770 637120 : pack_tmp = ISHFT(data_tmp, 46)
25771 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25772 637120 : idata = idata + 1
25773 637120 : data_tmp = full_data(idata)
25774 637120 : data_tmp = ISHFT(data_tmp, 29)
25775 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25776 637120 : pack_tmp = ISHFT(pack_tmp, -11)
25777 637120 : idata = idata + 1
25778 637120 : data_tmp = full_data(idata)
25779 637120 : data_tmp = ISHFT(data_tmp, 29)
25780 637120 : data_tmp = IAND(data_tmp, mask_left(11))
25781 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25782 637120 : ipack = ipack + 1
25783 637120 : packed_data(ipack) = pack_tmp
25784 637120 : data_tmp = full_data(idata)
25785 637120 : pack_tmp = ISHFT(data_tmp, 40)
25786 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25787 637120 : idata = idata + 1
25788 637120 : data_tmp = full_data(idata)
25789 637120 : data_tmp = ISHFT(data_tmp, 29)
25790 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25791 637120 : pack_tmp = ISHFT(pack_tmp, -5)
25792 637120 : idata = idata + 1
25793 637120 : data_tmp = full_data(idata)
25794 637120 : data_tmp = ISHFT(data_tmp, 29)
25795 637120 : data_tmp = IAND(data_tmp, mask_left(5))
25796 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25797 637120 : ipack = ipack + 1
25798 637120 : packed_data(ipack) = pack_tmp
25799 637120 : data_tmp = full_data(idata)
25800 637120 : pack_tmp = ISHFT(data_tmp, 34)
25801 637120 : pack_tmp = ISHFT(pack_tmp, -34)
25802 637120 : idata = idata + 1
25803 637120 : data_tmp = full_data(idata)
25804 637120 : data_tmp = ISHFT(data_tmp, 29)
25805 637120 : data_tmp = IAND(data_tmp, mask_left(34))
25806 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25807 637120 : ipack = ipack + 1
25808 637120 : packed_data(ipack) = pack_tmp
25809 637120 : data_tmp = full_data(idata)
25810 637120 : pack_tmp = ISHFT(data_tmp, 63)
25811 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25812 637120 : idata = idata + 1
25813 637120 : data_tmp = full_data(idata)
25814 637120 : data_tmp = ISHFT(data_tmp, 29)
25815 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25816 637120 : pack_tmp = ISHFT(pack_tmp, -28)
25817 637120 : idata = idata + 1
25818 637120 : data_tmp = full_data(idata)
25819 637120 : data_tmp = ISHFT(data_tmp, 29)
25820 637120 : data_tmp = IAND(data_tmp, mask_left(28))
25821 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25822 637120 : ipack = ipack + 1
25823 637120 : packed_data(ipack) = pack_tmp
25824 637120 : data_tmp = full_data(idata)
25825 637120 : pack_tmp = ISHFT(data_tmp, 57)
25826 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25827 637120 : idata = idata + 1
25828 637120 : data_tmp = full_data(idata)
25829 637120 : data_tmp = ISHFT(data_tmp, 29)
25830 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25831 637120 : pack_tmp = ISHFT(pack_tmp, -22)
25832 637120 : idata = idata + 1
25833 637120 : data_tmp = full_data(idata)
25834 637120 : data_tmp = ISHFT(data_tmp, 29)
25835 637120 : data_tmp = IAND(data_tmp, mask_left(22))
25836 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25837 637120 : ipack = ipack + 1
25838 637120 : packed_data(ipack) = pack_tmp
25839 637120 : data_tmp = full_data(idata)
25840 637120 : pack_tmp = ISHFT(data_tmp, 51)
25841 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25842 637120 : idata = idata + 1
25843 637120 : data_tmp = full_data(idata)
25844 637120 : data_tmp = ISHFT(data_tmp, 29)
25845 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25846 637120 : pack_tmp = ISHFT(pack_tmp, -16)
25847 637120 : idata = idata + 1
25848 637120 : data_tmp = full_data(idata)
25849 637120 : data_tmp = ISHFT(data_tmp, 29)
25850 637120 : data_tmp = IAND(data_tmp, mask_left(16))
25851 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25852 637120 : ipack = ipack + 1
25853 637120 : packed_data(ipack) = pack_tmp
25854 637120 : data_tmp = full_data(idata)
25855 637120 : pack_tmp = ISHFT(data_tmp, 45)
25856 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25857 637120 : idata = idata + 1
25858 637120 : data_tmp = full_data(idata)
25859 637120 : data_tmp = ISHFT(data_tmp, 29)
25860 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25861 637120 : pack_tmp = ISHFT(pack_tmp, -10)
25862 637120 : idata = idata + 1
25863 637120 : data_tmp = full_data(idata)
25864 637120 : data_tmp = ISHFT(data_tmp, 29)
25865 637120 : data_tmp = IAND(data_tmp, mask_left(10))
25866 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25867 637120 : ipack = ipack + 1
25868 637120 : packed_data(ipack) = pack_tmp
25869 637120 : data_tmp = full_data(idata)
25870 637120 : pack_tmp = ISHFT(data_tmp, 39)
25871 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25872 637120 : idata = idata + 1
25873 637120 : data_tmp = full_data(idata)
25874 637120 : data_tmp = ISHFT(data_tmp, 29)
25875 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25876 637120 : pack_tmp = ISHFT(pack_tmp, -4)
25877 637120 : idata = idata + 1
25878 637120 : data_tmp = full_data(idata)
25879 637120 : data_tmp = ISHFT(data_tmp, 29)
25880 637120 : data_tmp = IAND(data_tmp, mask_left(4))
25881 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25882 637120 : ipack = ipack + 1
25883 637120 : packed_data(ipack) = pack_tmp
25884 637120 : data_tmp = full_data(idata)
25885 637120 : pack_tmp = ISHFT(data_tmp, 33)
25886 637120 : pack_tmp = ISHFT(pack_tmp, -33)
25887 637120 : idata = idata + 1
25888 637120 : data_tmp = full_data(idata)
25889 637120 : data_tmp = ISHFT(data_tmp, 29)
25890 637120 : data_tmp = IAND(data_tmp, mask_left(33))
25891 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25892 637120 : ipack = ipack + 1
25893 637120 : packed_data(ipack) = pack_tmp
25894 637120 : data_tmp = full_data(idata)
25895 637120 : pack_tmp = ISHFT(data_tmp, 62)
25896 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25897 637120 : idata = idata + 1
25898 637120 : data_tmp = full_data(idata)
25899 637120 : data_tmp = ISHFT(data_tmp, 29)
25900 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25901 637120 : pack_tmp = ISHFT(pack_tmp, -27)
25902 637120 : idata = idata + 1
25903 637120 : data_tmp = full_data(idata)
25904 637120 : data_tmp = ISHFT(data_tmp, 29)
25905 637120 : data_tmp = IAND(data_tmp, mask_left(27))
25906 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25907 637120 : ipack = ipack + 1
25908 637120 : packed_data(ipack) = pack_tmp
25909 637120 : data_tmp = full_data(idata)
25910 637120 : pack_tmp = ISHFT(data_tmp, 56)
25911 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25912 637120 : idata = idata + 1
25913 637120 : data_tmp = full_data(idata)
25914 637120 : data_tmp = ISHFT(data_tmp, 29)
25915 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25916 637120 : pack_tmp = ISHFT(pack_tmp, -21)
25917 637120 : idata = idata + 1
25918 637120 : data_tmp = full_data(idata)
25919 637120 : data_tmp = ISHFT(data_tmp, 29)
25920 637120 : data_tmp = IAND(data_tmp, mask_left(21))
25921 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25922 637120 : ipack = ipack + 1
25923 637120 : packed_data(ipack) = pack_tmp
25924 637120 : data_tmp = full_data(idata)
25925 637120 : pack_tmp = ISHFT(data_tmp, 50)
25926 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25927 637120 : idata = idata + 1
25928 637120 : data_tmp = full_data(idata)
25929 637120 : data_tmp = ISHFT(data_tmp, 29)
25930 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25931 637120 : pack_tmp = ISHFT(pack_tmp, -15)
25932 637120 : idata = idata + 1
25933 637120 : data_tmp = full_data(idata)
25934 637120 : data_tmp = ISHFT(data_tmp, 29)
25935 637120 : data_tmp = IAND(data_tmp, mask_left(15))
25936 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25937 637120 : ipack = ipack + 1
25938 637120 : packed_data(ipack) = pack_tmp
25939 637120 : data_tmp = full_data(idata)
25940 637120 : pack_tmp = ISHFT(data_tmp, 44)
25941 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25942 637120 : idata = idata + 1
25943 637120 : data_tmp = full_data(idata)
25944 637120 : data_tmp = ISHFT(data_tmp, 29)
25945 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25946 637120 : pack_tmp = ISHFT(pack_tmp, -9)
25947 637120 : idata = idata + 1
25948 637120 : data_tmp = full_data(idata)
25949 637120 : data_tmp = ISHFT(data_tmp, 29)
25950 637120 : data_tmp = IAND(data_tmp, mask_left(9))
25951 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25952 637120 : ipack = ipack + 1
25953 637120 : packed_data(ipack) = pack_tmp
25954 637120 : data_tmp = full_data(idata)
25955 637120 : pack_tmp = ISHFT(data_tmp, 38)
25956 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25957 637120 : idata = idata + 1
25958 637120 : data_tmp = full_data(idata)
25959 637120 : data_tmp = ISHFT(data_tmp, 29)
25960 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25961 637120 : pack_tmp = ISHFT(pack_tmp, -3)
25962 637120 : idata = idata + 1
25963 637120 : data_tmp = full_data(idata)
25964 637120 : data_tmp = ISHFT(data_tmp, 29)
25965 637120 : data_tmp = IAND(data_tmp, mask_left(3))
25966 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25967 637120 : ipack = ipack + 1
25968 637120 : packed_data(ipack) = pack_tmp
25969 637120 : data_tmp = full_data(idata)
25970 637120 : pack_tmp = ISHFT(data_tmp, 32)
25971 637120 : pack_tmp = ISHFT(pack_tmp, -32)
25972 637120 : idata = idata + 1
25973 637120 : data_tmp = full_data(idata)
25974 637120 : data_tmp = ISHFT(data_tmp, 29)
25975 637120 : data_tmp = IAND(data_tmp, mask_left(32))
25976 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25977 637120 : ipack = ipack + 1
25978 637120 : packed_data(ipack) = pack_tmp
25979 637120 : data_tmp = full_data(idata)
25980 637120 : pack_tmp = ISHFT(data_tmp, 61)
25981 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25982 637120 : idata = idata + 1
25983 637120 : data_tmp = full_data(idata)
25984 637120 : data_tmp = ISHFT(data_tmp, 29)
25985 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25986 637120 : pack_tmp = ISHFT(pack_tmp, -26)
25987 637120 : idata = idata + 1
25988 637120 : data_tmp = full_data(idata)
25989 637120 : data_tmp = ISHFT(data_tmp, 29)
25990 637120 : data_tmp = IAND(data_tmp, mask_left(26))
25991 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
25992 637120 : ipack = ipack + 1
25993 637120 : packed_data(ipack) = pack_tmp
25994 637120 : data_tmp = full_data(idata)
25995 637120 : pack_tmp = ISHFT(data_tmp, 55)
25996 637120 : pack_tmp = ISHFT(pack_tmp, -35)
25997 637120 : idata = idata + 1
25998 637120 : data_tmp = full_data(idata)
25999 637120 : data_tmp = ISHFT(data_tmp, 29)
26000 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26001 637120 : pack_tmp = ISHFT(pack_tmp, -20)
26002 637120 : idata = idata + 1
26003 637120 : data_tmp = full_data(idata)
26004 637120 : data_tmp = ISHFT(data_tmp, 29)
26005 637120 : data_tmp = IAND(data_tmp, mask_left(20))
26006 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26007 637120 : ipack = ipack + 1
26008 637120 : packed_data(ipack) = pack_tmp
26009 637120 : data_tmp = full_data(idata)
26010 637120 : pack_tmp = ISHFT(data_tmp, 49)
26011 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26012 637120 : idata = idata + 1
26013 637120 : data_tmp = full_data(idata)
26014 637120 : data_tmp = ISHFT(data_tmp, 29)
26015 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26016 637120 : pack_tmp = ISHFT(pack_tmp, -14)
26017 637120 : idata = idata + 1
26018 637120 : data_tmp = full_data(idata)
26019 637120 : data_tmp = ISHFT(data_tmp, 29)
26020 637120 : data_tmp = IAND(data_tmp, mask_left(14))
26021 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26022 637120 : ipack = ipack + 1
26023 637120 : packed_data(ipack) = pack_tmp
26024 637120 : data_tmp = full_data(idata)
26025 637120 : pack_tmp = ISHFT(data_tmp, 43)
26026 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26027 637120 : idata = idata + 1
26028 637120 : data_tmp = full_data(idata)
26029 637120 : data_tmp = ISHFT(data_tmp, 29)
26030 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26031 637120 : pack_tmp = ISHFT(pack_tmp, -8)
26032 637120 : idata = idata + 1
26033 637120 : data_tmp = full_data(idata)
26034 637120 : data_tmp = ISHFT(data_tmp, 29)
26035 637120 : data_tmp = IAND(data_tmp, mask_left(8))
26036 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26037 637120 : ipack = ipack + 1
26038 637120 : packed_data(ipack) = pack_tmp
26039 637120 : data_tmp = full_data(idata)
26040 637120 : pack_tmp = ISHFT(data_tmp, 37)
26041 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26042 637120 : idata = idata + 1
26043 637120 : data_tmp = full_data(idata)
26044 637120 : data_tmp = ISHFT(data_tmp, 29)
26045 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26046 637120 : pack_tmp = ISHFT(pack_tmp, -2)
26047 637120 : idata = idata + 1
26048 637120 : data_tmp = full_data(idata)
26049 637120 : data_tmp = ISHFT(data_tmp, 29)
26050 637120 : data_tmp = IAND(data_tmp, mask_left(2))
26051 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26052 637120 : ipack = ipack + 1
26053 637120 : packed_data(ipack) = pack_tmp
26054 637120 : data_tmp = full_data(idata)
26055 637120 : pack_tmp = ISHFT(data_tmp, 31)
26056 637120 : pack_tmp = ISHFT(pack_tmp, -31)
26057 637120 : idata = idata + 1
26058 637120 : data_tmp = full_data(idata)
26059 637120 : data_tmp = ISHFT(data_tmp, 29)
26060 637120 : data_tmp = IAND(data_tmp, mask_left(31))
26061 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26062 637120 : ipack = ipack + 1
26063 637120 : packed_data(ipack) = pack_tmp
26064 637120 : data_tmp = full_data(idata)
26065 637120 : pack_tmp = ISHFT(data_tmp, 60)
26066 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26067 637120 : idata = idata + 1
26068 637120 : data_tmp = full_data(idata)
26069 637120 : data_tmp = ISHFT(data_tmp, 29)
26070 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26071 637120 : pack_tmp = ISHFT(pack_tmp, -25)
26072 637120 : idata = idata + 1
26073 637120 : data_tmp = full_data(idata)
26074 637120 : data_tmp = ISHFT(data_tmp, 29)
26075 637120 : data_tmp = IAND(data_tmp, mask_left(25))
26076 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26077 637120 : ipack = ipack + 1
26078 637120 : packed_data(ipack) = pack_tmp
26079 637120 : data_tmp = full_data(idata)
26080 637120 : pack_tmp = ISHFT(data_tmp, 54)
26081 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26082 637120 : idata = idata + 1
26083 637120 : data_tmp = full_data(idata)
26084 637120 : data_tmp = ISHFT(data_tmp, 29)
26085 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26086 637120 : pack_tmp = ISHFT(pack_tmp, -19)
26087 637120 : idata = idata + 1
26088 637120 : data_tmp = full_data(idata)
26089 637120 : data_tmp = ISHFT(data_tmp, 29)
26090 637120 : data_tmp = IAND(data_tmp, mask_left(19))
26091 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26092 637120 : ipack = ipack + 1
26093 637120 : packed_data(ipack) = pack_tmp
26094 637120 : data_tmp = full_data(idata)
26095 637120 : pack_tmp = ISHFT(data_tmp, 48)
26096 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26097 637120 : idata = idata + 1
26098 637120 : data_tmp = full_data(idata)
26099 637120 : data_tmp = ISHFT(data_tmp, 29)
26100 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26101 637120 : pack_tmp = ISHFT(pack_tmp, -13)
26102 637120 : idata = idata + 1
26103 637120 : data_tmp = full_data(idata)
26104 637120 : data_tmp = ISHFT(data_tmp, 29)
26105 637120 : data_tmp = IAND(data_tmp, mask_left(13))
26106 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26107 637120 : ipack = ipack + 1
26108 637120 : packed_data(ipack) = pack_tmp
26109 637120 : data_tmp = full_data(idata)
26110 637120 : pack_tmp = ISHFT(data_tmp, 42)
26111 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26112 637120 : idata = idata + 1
26113 637120 : data_tmp = full_data(idata)
26114 637120 : data_tmp = ISHFT(data_tmp, 29)
26115 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26116 637120 : pack_tmp = ISHFT(pack_tmp, -7)
26117 637120 : idata = idata + 1
26118 637120 : data_tmp = full_data(idata)
26119 637120 : data_tmp = ISHFT(data_tmp, 29)
26120 637120 : data_tmp = IAND(data_tmp, mask_left(7))
26121 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26122 637120 : ipack = ipack + 1
26123 637120 : packed_data(ipack) = pack_tmp
26124 637120 : data_tmp = full_data(idata)
26125 637120 : pack_tmp = ISHFT(data_tmp, 36)
26126 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26127 637120 : idata = idata + 1
26128 637120 : data_tmp = full_data(idata)
26129 637120 : data_tmp = ISHFT(data_tmp, 29)
26130 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26131 637120 : pack_tmp = ISHFT(pack_tmp, -1)
26132 637120 : idata = idata + 1
26133 637120 : data_tmp = full_data(idata)
26134 637120 : data_tmp = ISHFT(data_tmp, 29)
26135 637120 : data_tmp = IAND(data_tmp, mask_left(1))
26136 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26137 637120 : ipack = ipack + 1
26138 637120 : packed_data(ipack) = pack_tmp
26139 637120 : data_tmp = full_data(idata)
26140 637120 : pack_tmp = ISHFT(data_tmp, 30)
26141 637120 : pack_tmp = ISHFT(pack_tmp, -30)
26142 637120 : idata = idata + 1
26143 637120 : data_tmp = full_data(idata)
26144 637120 : data_tmp = ISHFT(data_tmp, 29)
26145 637120 : data_tmp = IAND(data_tmp, mask_left(30))
26146 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26147 637120 : ipack = ipack + 1
26148 637120 : packed_data(ipack) = pack_tmp
26149 637120 : data_tmp = full_data(idata)
26150 637120 : pack_tmp = ISHFT(data_tmp, 59)
26151 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26152 637120 : idata = idata + 1
26153 637120 : data_tmp = full_data(idata)
26154 637120 : data_tmp = ISHFT(data_tmp, 29)
26155 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26156 637120 : pack_tmp = ISHFT(pack_tmp, -24)
26157 637120 : idata = idata + 1
26158 637120 : data_tmp = full_data(idata)
26159 637120 : data_tmp = ISHFT(data_tmp, 29)
26160 637120 : data_tmp = IAND(data_tmp, mask_left(24))
26161 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26162 637120 : ipack = ipack + 1
26163 637120 : packed_data(ipack) = pack_tmp
26164 637120 : data_tmp = full_data(idata)
26165 637120 : pack_tmp = ISHFT(data_tmp, 53)
26166 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26167 637120 : idata = idata + 1
26168 637120 : data_tmp = full_data(idata)
26169 637120 : data_tmp = ISHFT(data_tmp, 29)
26170 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26171 637120 : pack_tmp = ISHFT(pack_tmp, -18)
26172 637120 : idata = idata + 1
26173 637120 : data_tmp = full_data(idata)
26174 637120 : data_tmp = ISHFT(data_tmp, 29)
26175 637120 : data_tmp = IAND(data_tmp, mask_left(18))
26176 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26177 637120 : ipack = ipack + 1
26178 637120 : packed_data(ipack) = pack_tmp
26179 637120 : data_tmp = full_data(idata)
26180 637120 : pack_tmp = ISHFT(data_tmp, 47)
26181 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26182 637120 : idata = idata + 1
26183 637120 : data_tmp = full_data(idata)
26184 637120 : data_tmp = ISHFT(data_tmp, 29)
26185 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26186 637120 : pack_tmp = ISHFT(pack_tmp, -12)
26187 637120 : idata = idata + 1
26188 637120 : data_tmp = full_data(idata)
26189 637120 : data_tmp = ISHFT(data_tmp, 29)
26190 637120 : data_tmp = IAND(data_tmp, mask_left(12))
26191 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26192 637120 : ipack = ipack + 1
26193 637120 : packed_data(ipack) = pack_tmp
26194 637120 : data_tmp = full_data(idata)
26195 637120 : pack_tmp = ISHFT(data_tmp, 41)
26196 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26197 637120 : idata = idata + 1
26198 637120 : data_tmp = full_data(idata)
26199 637120 : data_tmp = ISHFT(data_tmp, 29)
26200 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26201 637120 : pack_tmp = ISHFT(pack_tmp, -6)
26202 637120 : idata = idata + 1
26203 637120 : data_tmp = full_data(idata)
26204 637120 : data_tmp = ISHFT(data_tmp, 29)
26205 637120 : data_tmp = IAND(data_tmp, mask_left(6))
26206 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26207 637120 : ipack = ipack + 1
26208 637120 : packed_data(ipack) = pack_tmp
26209 637120 : data_tmp = full_data(idata)
26210 637120 : pack_tmp = ISHFT(data_tmp, 35)
26211 637120 : pack_tmp = ISHFT(pack_tmp, -35)
26212 637120 : idata = idata + 1
26213 637120 : data_tmp = full_data(idata)
26214 637120 : data_tmp = ISHFT(data_tmp, 29)
26215 637120 : pack_tmp = IOR(pack_tmp, data_tmp)
26216 : pack_tmp = ISHFT(pack_tmp, 0)
26217 637120 : pack_tmp = ISHFT(pack_tmp, 0)
26218 637120 : ipack = ipack + 1
26219 637672 : packed_data(ipack) = pack_tmp
26220 : END DO
26221 49942 : IF (Ndata_rep < Ndata) THEN
26222 18848 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
26223 : END IF
26224 49942 : END SUBROUTINE ints2bits_35
26225 :
26226 : ! **************************************************************************************************
26227 : !> \brief ...
26228 : !> \param Ndata ...
26229 : !> \param packed_data ...
26230 : !> \param full_data ...
26231 : ! **************************************************************************************************
26232 235202 : 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(*)
26236 :
26237 : INTEGER, PARAMETER :: Nbits = 35
26238 :
26239 : INTEGER :: idata, ipack, kdata, Ndata_rep
26240 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
26241 :
26242 235202 : ipack = 0
26243 235202 : idata = 0
26244 235202 : pack_tmp = 0
26245 235202 : Ndata_rep = (Ndata/64)*64
26246 235202 : DO kdata = 1, Ndata_rep, 64
26247 2902402 : idata = idata + 1
26248 2902402 : data_tmp = ISHFT(pack_tmp, 35)
26249 2902402 : ipack = ipack + 1
26250 2902402 : pack_tmp = packed_data(ipack)
26251 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
26252 2902402 : pack_tmp = ISHFT(pack_tmp, -35)
26253 2902402 : idata = idata + 1
26254 2902402 : data_tmp = ISHFT(pack_tmp, 6)
26255 2902402 : ipack = ipack + 1
26256 2902402 : pack_tmp = packed_data(ipack)
26257 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
26258 2902402 : pack_tmp = ISHFT(pack_tmp, -6)
26259 2902402 : idata = idata + 1
26260 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26261 2902402 : full_data(idata) = data_tmp
26262 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26263 2902402 : idata = idata + 1
26264 2902402 : data_tmp = ISHFT(pack_tmp, 12)
26265 2902402 : ipack = ipack + 1
26266 2902402 : pack_tmp = packed_data(ipack)
26267 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
26268 2902402 : pack_tmp = ISHFT(pack_tmp, -12)
26269 2902402 : idata = idata + 1
26270 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26271 2902402 : full_data(idata) = data_tmp
26272 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26273 2902402 : idata = idata + 1
26274 2902402 : data_tmp = ISHFT(pack_tmp, 18)
26275 2902402 : ipack = ipack + 1
26276 2902402 : pack_tmp = packed_data(ipack)
26277 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
26278 2902402 : pack_tmp = ISHFT(pack_tmp, -18)
26279 2902402 : idata = idata + 1
26280 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26281 2902402 : full_data(idata) = data_tmp
26282 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26283 2902402 : idata = idata + 1
26284 2902402 : data_tmp = ISHFT(pack_tmp, 24)
26285 2902402 : ipack = ipack + 1
26286 2902402 : pack_tmp = packed_data(ipack)
26287 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
26288 2902402 : pack_tmp = ISHFT(pack_tmp, -24)
26289 2902402 : idata = idata + 1
26290 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26291 2902402 : full_data(idata) = data_tmp
26292 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26293 2902402 : idata = idata + 1
26294 2902402 : data_tmp = ISHFT(pack_tmp, 30)
26295 2902402 : ipack = ipack + 1
26296 2902402 : pack_tmp = packed_data(ipack)
26297 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
26298 2902402 : pack_tmp = ISHFT(pack_tmp, -30)
26299 2902402 : idata = idata + 1
26300 2902402 : data_tmp = ISHFT(pack_tmp, 1)
26301 2902402 : ipack = ipack + 1
26302 2902402 : pack_tmp = packed_data(ipack)
26303 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
26304 2902402 : pack_tmp = ISHFT(pack_tmp, -1)
26305 2902402 : idata = idata + 1
26306 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26307 2902402 : full_data(idata) = data_tmp
26308 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26309 2902402 : idata = idata + 1
26310 2902402 : data_tmp = ISHFT(pack_tmp, 7)
26311 2902402 : ipack = ipack + 1
26312 2902402 : pack_tmp = packed_data(ipack)
26313 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
26314 2902402 : pack_tmp = ISHFT(pack_tmp, -7)
26315 2902402 : idata = idata + 1
26316 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26317 2902402 : full_data(idata) = data_tmp
26318 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26319 2902402 : idata = idata + 1
26320 2902402 : data_tmp = ISHFT(pack_tmp, 13)
26321 2902402 : ipack = ipack + 1
26322 2902402 : pack_tmp = packed_data(ipack)
26323 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
26324 2902402 : pack_tmp = ISHFT(pack_tmp, -13)
26325 2902402 : idata = idata + 1
26326 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26327 2902402 : full_data(idata) = data_tmp
26328 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26329 2902402 : idata = idata + 1
26330 2902402 : data_tmp = ISHFT(pack_tmp, 19)
26331 2902402 : ipack = ipack + 1
26332 2902402 : pack_tmp = packed_data(ipack)
26333 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
26334 2902402 : pack_tmp = ISHFT(pack_tmp, -19)
26335 2902402 : idata = idata + 1
26336 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26337 2902402 : full_data(idata) = data_tmp
26338 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26339 2902402 : idata = idata + 1
26340 2902402 : data_tmp = ISHFT(pack_tmp, 25)
26341 2902402 : ipack = ipack + 1
26342 2902402 : pack_tmp = packed_data(ipack)
26343 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
26344 2902402 : pack_tmp = ISHFT(pack_tmp, -25)
26345 2902402 : idata = idata + 1
26346 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26347 2902402 : full_data(idata) = data_tmp
26348 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26349 2902402 : idata = idata + 1
26350 2902402 : data_tmp = ISHFT(pack_tmp, 31)
26351 2902402 : ipack = ipack + 1
26352 2902402 : pack_tmp = packed_data(ipack)
26353 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
26354 2902402 : pack_tmp = ISHFT(pack_tmp, -31)
26355 2902402 : idata = idata + 1
26356 2902402 : data_tmp = ISHFT(pack_tmp, 2)
26357 2902402 : ipack = ipack + 1
26358 2902402 : pack_tmp = packed_data(ipack)
26359 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
26360 2902402 : pack_tmp = ISHFT(pack_tmp, -2)
26361 2902402 : idata = idata + 1
26362 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26363 2902402 : full_data(idata) = data_tmp
26364 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26365 2902402 : idata = idata + 1
26366 2902402 : data_tmp = ISHFT(pack_tmp, 8)
26367 2902402 : ipack = ipack + 1
26368 2902402 : pack_tmp = packed_data(ipack)
26369 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
26370 2902402 : pack_tmp = ISHFT(pack_tmp, -8)
26371 2902402 : idata = idata + 1
26372 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26373 2902402 : full_data(idata) = data_tmp
26374 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26375 2902402 : idata = idata + 1
26376 2902402 : data_tmp = ISHFT(pack_tmp, 14)
26377 2902402 : ipack = ipack + 1
26378 2902402 : pack_tmp = packed_data(ipack)
26379 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
26380 2902402 : pack_tmp = ISHFT(pack_tmp, -14)
26381 2902402 : idata = idata + 1
26382 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26383 2902402 : full_data(idata) = data_tmp
26384 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26385 2902402 : idata = idata + 1
26386 2902402 : data_tmp = ISHFT(pack_tmp, 20)
26387 2902402 : ipack = ipack + 1
26388 2902402 : pack_tmp = packed_data(ipack)
26389 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
26390 2902402 : pack_tmp = ISHFT(pack_tmp, -20)
26391 2902402 : idata = idata + 1
26392 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26393 2902402 : full_data(idata) = data_tmp
26394 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26395 2902402 : idata = idata + 1
26396 2902402 : data_tmp = ISHFT(pack_tmp, 26)
26397 2902402 : ipack = ipack + 1
26398 2902402 : pack_tmp = packed_data(ipack)
26399 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
26400 2902402 : pack_tmp = ISHFT(pack_tmp, -26)
26401 2902402 : idata = idata + 1
26402 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26403 2902402 : full_data(idata) = data_tmp
26404 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26405 2902402 : idata = idata + 1
26406 2902402 : data_tmp = ISHFT(pack_tmp, 32)
26407 2902402 : ipack = ipack + 1
26408 2902402 : pack_tmp = packed_data(ipack)
26409 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
26410 2902402 : pack_tmp = ISHFT(pack_tmp, -32)
26411 2902402 : idata = idata + 1
26412 2902402 : data_tmp = ISHFT(pack_tmp, 3)
26413 2902402 : ipack = ipack + 1
26414 2902402 : pack_tmp = packed_data(ipack)
26415 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
26416 2902402 : pack_tmp = ISHFT(pack_tmp, -3)
26417 2902402 : idata = idata + 1
26418 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26419 2902402 : full_data(idata) = data_tmp
26420 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26421 2902402 : idata = idata + 1
26422 2902402 : data_tmp = ISHFT(pack_tmp, 9)
26423 2902402 : ipack = ipack + 1
26424 2902402 : pack_tmp = packed_data(ipack)
26425 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
26426 2902402 : pack_tmp = ISHFT(pack_tmp, -9)
26427 2902402 : idata = idata + 1
26428 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26429 2902402 : full_data(idata) = data_tmp
26430 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26431 2902402 : idata = idata + 1
26432 2902402 : data_tmp = ISHFT(pack_tmp, 15)
26433 2902402 : ipack = ipack + 1
26434 2902402 : pack_tmp = packed_data(ipack)
26435 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
26436 2902402 : pack_tmp = ISHFT(pack_tmp, -15)
26437 2902402 : idata = idata + 1
26438 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26439 2902402 : full_data(idata) = data_tmp
26440 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26441 2902402 : idata = idata + 1
26442 2902402 : data_tmp = ISHFT(pack_tmp, 21)
26443 2902402 : ipack = ipack + 1
26444 2902402 : pack_tmp = packed_data(ipack)
26445 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
26446 2902402 : pack_tmp = ISHFT(pack_tmp, -21)
26447 2902402 : idata = idata + 1
26448 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26449 2902402 : full_data(idata) = data_tmp
26450 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26451 2902402 : idata = idata + 1
26452 2902402 : data_tmp = ISHFT(pack_tmp, 27)
26453 2902402 : ipack = ipack + 1
26454 2902402 : pack_tmp = packed_data(ipack)
26455 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
26456 2902402 : pack_tmp = ISHFT(pack_tmp, -27)
26457 2902402 : idata = idata + 1
26458 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26459 2902402 : full_data(idata) = data_tmp
26460 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26461 2902402 : idata = idata + 1
26462 2902402 : data_tmp = ISHFT(pack_tmp, 33)
26463 2902402 : ipack = ipack + 1
26464 2902402 : pack_tmp = packed_data(ipack)
26465 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
26466 2902402 : pack_tmp = ISHFT(pack_tmp, -33)
26467 2902402 : idata = idata + 1
26468 2902402 : data_tmp = ISHFT(pack_tmp, 4)
26469 2902402 : ipack = ipack + 1
26470 2902402 : pack_tmp = packed_data(ipack)
26471 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
26472 2902402 : pack_tmp = ISHFT(pack_tmp, -4)
26473 2902402 : idata = idata + 1
26474 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26475 2902402 : full_data(idata) = data_tmp
26476 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26477 2902402 : idata = idata + 1
26478 2902402 : data_tmp = ISHFT(pack_tmp, 10)
26479 2902402 : ipack = ipack + 1
26480 2902402 : pack_tmp = packed_data(ipack)
26481 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
26482 2902402 : pack_tmp = ISHFT(pack_tmp, -10)
26483 2902402 : idata = idata + 1
26484 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26485 2902402 : full_data(idata) = data_tmp
26486 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26487 2902402 : idata = idata + 1
26488 2902402 : data_tmp = ISHFT(pack_tmp, 16)
26489 2902402 : ipack = ipack + 1
26490 2902402 : pack_tmp = packed_data(ipack)
26491 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
26492 2902402 : pack_tmp = ISHFT(pack_tmp, -16)
26493 2902402 : idata = idata + 1
26494 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26495 2902402 : full_data(idata) = data_tmp
26496 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26497 2902402 : idata = idata + 1
26498 2902402 : data_tmp = ISHFT(pack_tmp, 22)
26499 2902402 : ipack = ipack + 1
26500 2902402 : pack_tmp = packed_data(ipack)
26501 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
26502 2902402 : pack_tmp = ISHFT(pack_tmp, -22)
26503 2902402 : idata = idata + 1
26504 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26505 2902402 : full_data(idata) = data_tmp
26506 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26507 2902402 : idata = idata + 1
26508 2902402 : data_tmp = ISHFT(pack_tmp, 28)
26509 2902402 : ipack = ipack + 1
26510 2902402 : pack_tmp = packed_data(ipack)
26511 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
26512 2902402 : pack_tmp = ISHFT(pack_tmp, -28)
26513 2902402 : idata = idata + 1
26514 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26515 2902402 : full_data(idata) = data_tmp
26516 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26517 2902402 : idata = idata + 1
26518 2902402 : data_tmp = ISHFT(pack_tmp, 34)
26519 2902402 : ipack = ipack + 1
26520 2902402 : pack_tmp = packed_data(ipack)
26521 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
26522 2902402 : pack_tmp = ISHFT(pack_tmp, -34)
26523 2902402 : idata = idata + 1
26524 2902402 : data_tmp = ISHFT(pack_tmp, 5)
26525 2902402 : ipack = ipack + 1
26526 2902402 : pack_tmp = packed_data(ipack)
26527 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
26528 2902402 : pack_tmp = ISHFT(pack_tmp, -5)
26529 2902402 : idata = idata + 1
26530 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26531 2902402 : full_data(idata) = data_tmp
26532 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26533 2902402 : idata = idata + 1
26534 2902402 : data_tmp = ISHFT(pack_tmp, 11)
26535 2902402 : ipack = ipack + 1
26536 2902402 : pack_tmp = packed_data(ipack)
26537 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
26538 2902402 : pack_tmp = ISHFT(pack_tmp, -11)
26539 2902402 : idata = idata + 1
26540 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26541 2902402 : full_data(idata) = data_tmp
26542 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26543 2902402 : idata = idata + 1
26544 2902402 : data_tmp = ISHFT(pack_tmp, 17)
26545 2902402 : ipack = ipack + 1
26546 2902402 : pack_tmp = packed_data(ipack)
26547 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
26548 2902402 : pack_tmp = ISHFT(pack_tmp, -17)
26549 2902402 : idata = idata + 1
26550 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26551 2902402 : full_data(idata) = data_tmp
26552 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26553 2902402 : idata = idata + 1
26554 2902402 : data_tmp = ISHFT(pack_tmp, 23)
26555 2902402 : ipack = ipack + 1
26556 2902402 : pack_tmp = packed_data(ipack)
26557 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
26558 2902402 : pack_tmp = ISHFT(pack_tmp, -23)
26559 2902402 : idata = idata + 1
26560 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26561 2902402 : full_data(idata) = data_tmp
26562 2902402 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26563 2902402 : idata = idata + 1
26564 2902402 : data_tmp = ISHFT(pack_tmp, 29)
26565 2902402 : ipack = ipack + 1
26566 2902402 : pack_tmp = packed_data(ipack)
26567 2902402 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
26568 2902402 : pack_tmp = ISHFT(pack_tmp, -29)
26569 2902402 : idata = idata + 1
26570 2902402 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
26571 2902402 : full_data(idata) = data_tmp
26572 2904787 : pack_tmp = ISHFT(pack_tmp, -Nbits)
26573 : END DO
26574 235202 : IF (Ndata_rep < Ndata) THEN
26575 100220 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
26576 : END IF
26577 235202 : END SUBROUTINE bits2ints_35
26578 :
26579 : ! **************************************************************************************************
26580 : !> \brief ...
26581 : !> \param Ndata ...
26582 : !> \param packed_data ...
26583 : !> \param full_data ...
26584 : ! **************************************************************************************************
26585 51671 : 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(*)
26589 :
26590 : INTEGER, PARAMETER :: Nbits = 36
26591 :
26592 : INTEGER :: idata, ipack, kdata, Ndata_rep
26593 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
26594 :
26595 51671 : idata = 0
26596 51671 : ipack = 0
26597 51671 : Ndata_rep = (Ndata/64)*64
26598 51671 : DO kdata = 1, Ndata_rep, 64
26599 654458 : pack_tmp = 0
26600 654458 : idata = idata + 1
26601 654458 : data_tmp = full_data(idata)
26602 654458 : data_tmp = ISHFT(data_tmp, 28)
26603 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26604 654458 : pack_tmp = ISHFT(pack_tmp, -28)
26605 654458 : idata = idata + 1
26606 654458 : data_tmp = full_data(idata)
26607 654458 : data_tmp = ISHFT(data_tmp, 28)
26608 654458 : data_tmp = IAND(data_tmp, mask_left(28))
26609 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26610 654458 : ipack = ipack + 1
26611 654458 : packed_data(ipack) = pack_tmp
26612 654458 : data_tmp = full_data(idata)
26613 654458 : pack_tmp = ISHFT(data_tmp, 56)
26614 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26615 654458 : idata = idata + 1
26616 654458 : data_tmp = full_data(idata)
26617 654458 : data_tmp = ISHFT(data_tmp, 28)
26618 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26619 654458 : pack_tmp = ISHFT(pack_tmp, -20)
26620 654458 : idata = idata + 1
26621 654458 : data_tmp = full_data(idata)
26622 654458 : data_tmp = ISHFT(data_tmp, 28)
26623 654458 : data_tmp = IAND(data_tmp, mask_left(20))
26624 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26625 654458 : ipack = ipack + 1
26626 654458 : packed_data(ipack) = pack_tmp
26627 654458 : data_tmp = full_data(idata)
26628 654458 : pack_tmp = ISHFT(data_tmp, 48)
26629 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26630 654458 : idata = idata + 1
26631 654458 : data_tmp = full_data(idata)
26632 654458 : data_tmp = ISHFT(data_tmp, 28)
26633 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26634 654458 : pack_tmp = ISHFT(pack_tmp, -12)
26635 654458 : idata = idata + 1
26636 654458 : data_tmp = full_data(idata)
26637 654458 : data_tmp = ISHFT(data_tmp, 28)
26638 654458 : data_tmp = IAND(data_tmp, mask_left(12))
26639 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26640 654458 : ipack = ipack + 1
26641 654458 : packed_data(ipack) = pack_tmp
26642 654458 : data_tmp = full_data(idata)
26643 654458 : pack_tmp = ISHFT(data_tmp, 40)
26644 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26645 654458 : idata = idata + 1
26646 654458 : data_tmp = full_data(idata)
26647 654458 : data_tmp = ISHFT(data_tmp, 28)
26648 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26649 654458 : pack_tmp = ISHFT(pack_tmp, -4)
26650 654458 : idata = idata + 1
26651 654458 : data_tmp = full_data(idata)
26652 654458 : data_tmp = ISHFT(data_tmp, 28)
26653 654458 : data_tmp = IAND(data_tmp, mask_left(4))
26654 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26655 654458 : ipack = ipack + 1
26656 654458 : packed_data(ipack) = pack_tmp
26657 654458 : data_tmp = full_data(idata)
26658 654458 : pack_tmp = ISHFT(data_tmp, 32)
26659 654458 : pack_tmp = ISHFT(pack_tmp, -32)
26660 654458 : idata = idata + 1
26661 654458 : data_tmp = full_data(idata)
26662 654458 : data_tmp = ISHFT(data_tmp, 28)
26663 654458 : data_tmp = IAND(data_tmp, mask_left(32))
26664 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26665 654458 : ipack = ipack + 1
26666 654458 : packed_data(ipack) = pack_tmp
26667 654458 : data_tmp = full_data(idata)
26668 654458 : pack_tmp = ISHFT(data_tmp, 60)
26669 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26670 654458 : idata = idata + 1
26671 654458 : data_tmp = full_data(idata)
26672 654458 : data_tmp = ISHFT(data_tmp, 28)
26673 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26674 654458 : pack_tmp = ISHFT(pack_tmp, -24)
26675 654458 : idata = idata + 1
26676 654458 : data_tmp = full_data(idata)
26677 654458 : data_tmp = ISHFT(data_tmp, 28)
26678 654458 : data_tmp = IAND(data_tmp, mask_left(24))
26679 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26680 654458 : ipack = ipack + 1
26681 654458 : packed_data(ipack) = pack_tmp
26682 654458 : data_tmp = full_data(idata)
26683 654458 : pack_tmp = ISHFT(data_tmp, 52)
26684 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26685 654458 : idata = idata + 1
26686 654458 : data_tmp = full_data(idata)
26687 654458 : data_tmp = ISHFT(data_tmp, 28)
26688 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26689 654458 : pack_tmp = ISHFT(pack_tmp, -16)
26690 654458 : idata = idata + 1
26691 654458 : data_tmp = full_data(idata)
26692 654458 : data_tmp = ISHFT(data_tmp, 28)
26693 654458 : data_tmp = IAND(data_tmp, mask_left(16))
26694 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26695 654458 : ipack = ipack + 1
26696 654458 : packed_data(ipack) = pack_tmp
26697 654458 : data_tmp = full_data(idata)
26698 654458 : pack_tmp = ISHFT(data_tmp, 44)
26699 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26700 654458 : idata = idata + 1
26701 654458 : data_tmp = full_data(idata)
26702 654458 : data_tmp = ISHFT(data_tmp, 28)
26703 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26704 654458 : pack_tmp = ISHFT(pack_tmp, -8)
26705 654458 : idata = idata + 1
26706 654458 : data_tmp = full_data(idata)
26707 654458 : data_tmp = ISHFT(data_tmp, 28)
26708 654458 : data_tmp = IAND(data_tmp, mask_left(8))
26709 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26710 654458 : ipack = ipack + 1
26711 654458 : packed_data(ipack) = pack_tmp
26712 654458 : data_tmp = full_data(idata)
26713 654458 : pack_tmp = ISHFT(data_tmp, 36)
26714 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26715 654458 : idata = idata + 1
26716 654458 : data_tmp = full_data(idata)
26717 654458 : data_tmp = ISHFT(data_tmp, 28)
26718 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26719 654458 : pack_tmp = ISHFT(pack_tmp, 0)
26720 654458 : idata = idata + 1
26721 654458 : data_tmp = full_data(idata)
26722 : data_tmp = ISHFT(data_tmp, 28)
26723 654458 : data_tmp = IAND(data_tmp, mask_left(0))
26724 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26725 654458 : ipack = ipack + 1
26726 654458 : packed_data(ipack) = pack_tmp
26727 654458 : data_tmp = full_data(idata)
26728 654458 : pack_tmp = ISHFT(data_tmp, 28)
26729 654458 : pack_tmp = ISHFT(pack_tmp, -28)
26730 654458 : idata = idata + 1
26731 654458 : data_tmp = full_data(idata)
26732 654458 : data_tmp = ISHFT(data_tmp, 28)
26733 654458 : data_tmp = IAND(data_tmp, mask_left(28))
26734 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26735 654458 : ipack = ipack + 1
26736 654458 : packed_data(ipack) = pack_tmp
26737 654458 : data_tmp = full_data(idata)
26738 654458 : pack_tmp = ISHFT(data_tmp, 56)
26739 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26740 654458 : idata = idata + 1
26741 654458 : data_tmp = full_data(idata)
26742 654458 : data_tmp = ISHFT(data_tmp, 28)
26743 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26744 654458 : pack_tmp = ISHFT(pack_tmp, -20)
26745 654458 : idata = idata + 1
26746 654458 : data_tmp = full_data(idata)
26747 654458 : data_tmp = ISHFT(data_tmp, 28)
26748 654458 : data_tmp = IAND(data_tmp, mask_left(20))
26749 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26750 654458 : ipack = ipack + 1
26751 654458 : packed_data(ipack) = pack_tmp
26752 654458 : data_tmp = full_data(idata)
26753 654458 : pack_tmp = ISHFT(data_tmp, 48)
26754 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26755 654458 : idata = idata + 1
26756 654458 : data_tmp = full_data(idata)
26757 654458 : data_tmp = ISHFT(data_tmp, 28)
26758 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26759 654458 : pack_tmp = ISHFT(pack_tmp, -12)
26760 654458 : idata = idata + 1
26761 654458 : data_tmp = full_data(idata)
26762 654458 : data_tmp = ISHFT(data_tmp, 28)
26763 654458 : data_tmp = IAND(data_tmp, mask_left(12))
26764 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26765 654458 : ipack = ipack + 1
26766 654458 : packed_data(ipack) = pack_tmp
26767 654458 : data_tmp = full_data(idata)
26768 654458 : pack_tmp = ISHFT(data_tmp, 40)
26769 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26770 654458 : idata = idata + 1
26771 654458 : data_tmp = full_data(idata)
26772 654458 : data_tmp = ISHFT(data_tmp, 28)
26773 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26774 654458 : pack_tmp = ISHFT(pack_tmp, -4)
26775 654458 : idata = idata + 1
26776 654458 : data_tmp = full_data(idata)
26777 654458 : data_tmp = ISHFT(data_tmp, 28)
26778 654458 : data_tmp = IAND(data_tmp, mask_left(4))
26779 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26780 654458 : ipack = ipack + 1
26781 654458 : packed_data(ipack) = pack_tmp
26782 654458 : data_tmp = full_data(idata)
26783 654458 : pack_tmp = ISHFT(data_tmp, 32)
26784 654458 : pack_tmp = ISHFT(pack_tmp, -32)
26785 654458 : idata = idata + 1
26786 654458 : data_tmp = full_data(idata)
26787 654458 : data_tmp = ISHFT(data_tmp, 28)
26788 654458 : data_tmp = IAND(data_tmp, mask_left(32))
26789 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26790 654458 : ipack = ipack + 1
26791 654458 : packed_data(ipack) = pack_tmp
26792 654458 : data_tmp = full_data(idata)
26793 654458 : pack_tmp = ISHFT(data_tmp, 60)
26794 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26795 654458 : idata = idata + 1
26796 654458 : data_tmp = full_data(idata)
26797 654458 : data_tmp = ISHFT(data_tmp, 28)
26798 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26799 654458 : pack_tmp = ISHFT(pack_tmp, -24)
26800 654458 : idata = idata + 1
26801 654458 : data_tmp = full_data(idata)
26802 654458 : data_tmp = ISHFT(data_tmp, 28)
26803 654458 : data_tmp = IAND(data_tmp, mask_left(24))
26804 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26805 654458 : ipack = ipack + 1
26806 654458 : packed_data(ipack) = pack_tmp
26807 654458 : data_tmp = full_data(idata)
26808 654458 : pack_tmp = ISHFT(data_tmp, 52)
26809 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26810 654458 : idata = idata + 1
26811 654458 : data_tmp = full_data(idata)
26812 654458 : data_tmp = ISHFT(data_tmp, 28)
26813 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26814 654458 : pack_tmp = ISHFT(pack_tmp, -16)
26815 654458 : idata = idata + 1
26816 654458 : data_tmp = full_data(idata)
26817 654458 : data_tmp = ISHFT(data_tmp, 28)
26818 654458 : data_tmp = IAND(data_tmp, mask_left(16))
26819 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26820 654458 : ipack = ipack + 1
26821 654458 : packed_data(ipack) = pack_tmp
26822 654458 : data_tmp = full_data(idata)
26823 654458 : pack_tmp = ISHFT(data_tmp, 44)
26824 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26825 654458 : idata = idata + 1
26826 654458 : data_tmp = full_data(idata)
26827 654458 : data_tmp = ISHFT(data_tmp, 28)
26828 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26829 654458 : pack_tmp = ISHFT(pack_tmp, -8)
26830 654458 : idata = idata + 1
26831 654458 : data_tmp = full_data(idata)
26832 654458 : data_tmp = ISHFT(data_tmp, 28)
26833 654458 : data_tmp = IAND(data_tmp, mask_left(8))
26834 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26835 654458 : ipack = ipack + 1
26836 654458 : packed_data(ipack) = pack_tmp
26837 654458 : data_tmp = full_data(idata)
26838 654458 : pack_tmp = ISHFT(data_tmp, 36)
26839 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26840 654458 : idata = idata + 1
26841 654458 : data_tmp = full_data(idata)
26842 654458 : data_tmp = ISHFT(data_tmp, 28)
26843 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26844 654458 : pack_tmp = ISHFT(pack_tmp, 0)
26845 654458 : idata = idata + 1
26846 654458 : data_tmp = full_data(idata)
26847 : data_tmp = ISHFT(data_tmp, 28)
26848 654458 : data_tmp = IAND(data_tmp, mask_left(0))
26849 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26850 654458 : ipack = ipack + 1
26851 654458 : packed_data(ipack) = pack_tmp
26852 654458 : data_tmp = full_data(idata)
26853 654458 : pack_tmp = ISHFT(data_tmp, 28)
26854 654458 : pack_tmp = ISHFT(pack_tmp, -28)
26855 654458 : idata = idata + 1
26856 654458 : data_tmp = full_data(idata)
26857 654458 : data_tmp = ISHFT(data_tmp, 28)
26858 654458 : data_tmp = IAND(data_tmp, mask_left(28))
26859 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26860 654458 : ipack = ipack + 1
26861 654458 : packed_data(ipack) = pack_tmp
26862 654458 : data_tmp = full_data(idata)
26863 654458 : pack_tmp = ISHFT(data_tmp, 56)
26864 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26865 654458 : idata = idata + 1
26866 654458 : data_tmp = full_data(idata)
26867 654458 : data_tmp = ISHFT(data_tmp, 28)
26868 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26869 654458 : pack_tmp = ISHFT(pack_tmp, -20)
26870 654458 : idata = idata + 1
26871 654458 : data_tmp = full_data(idata)
26872 654458 : data_tmp = ISHFT(data_tmp, 28)
26873 654458 : data_tmp = IAND(data_tmp, mask_left(20))
26874 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26875 654458 : ipack = ipack + 1
26876 654458 : packed_data(ipack) = pack_tmp
26877 654458 : data_tmp = full_data(idata)
26878 654458 : pack_tmp = ISHFT(data_tmp, 48)
26879 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26880 654458 : idata = idata + 1
26881 654458 : data_tmp = full_data(idata)
26882 654458 : data_tmp = ISHFT(data_tmp, 28)
26883 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26884 654458 : pack_tmp = ISHFT(pack_tmp, -12)
26885 654458 : idata = idata + 1
26886 654458 : data_tmp = full_data(idata)
26887 654458 : data_tmp = ISHFT(data_tmp, 28)
26888 654458 : data_tmp = IAND(data_tmp, mask_left(12))
26889 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26890 654458 : ipack = ipack + 1
26891 654458 : packed_data(ipack) = pack_tmp
26892 654458 : data_tmp = full_data(idata)
26893 654458 : pack_tmp = ISHFT(data_tmp, 40)
26894 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26895 654458 : idata = idata + 1
26896 654458 : data_tmp = full_data(idata)
26897 654458 : data_tmp = ISHFT(data_tmp, 28)
26898 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26899 654458 : pack_tmp = ISHFT(pack_tmp, -4)
26900 654458 : idata = idata + 1
26901 654458 : data_tmp = full_data(idata)
26902 654458 : data_tmp = ISHFT(data_tmp, 28)
26903 654458 : data_tmp = IAND(data_tmp, mask_left(4))
26904 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26905 654458 : ipack = ipack + 1
26906 654458 : packed_data(ipack) = pack_tmp
26907 654458 : data_tmp = full_data(idata)
26908 654458 : pack_tmp = ISHFT(data_tmp, 32)
26909 654458 : pack_tmp = ISHFT(pack_tmp, -32)
26910 654458 : idata = idata + 1
26911 654458 : data_tmp = full_data(idata)
26912 654458 : data_tmp = ISHFT(data_tmp, 28)
26913 654458 : data_tmp = IAND(data_tmp, mask_left(32))
26914 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26915 654458 : ipack = ipack + 1
26916 654458 : packed_data(ipack) = pack_tmp
26917 654458 : data_tmp = full_data(idata)
26918 654458 : pack_tmp = ISHFT(data_tmp, 60)
26919 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26920 654458 : idata = idata + 1
26921 654458 : data_tmp = full_data(idata)
26922 654458 : data_tmp = ISHFT(data_tmp, 28)
26923 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26924 654458 : pack_tmp = ISHFT(pack_tmp, -24)
26925 654458 : idata = idata + 1
26926 654458 : data_tmp = full_data(idata)
26927 654458 : data_tmp = ISHFT(data_tmp, 28)
26928 654458 : data_tmp = IAND(data_tmp, mask_left(24))
26929 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26930 654458 : ipack = ipack + 1
26931 654458 : packed_data(ipack) = pack_tmp
26932 654458 : data_tmp = full_data(idata)
26933 654458 : pack_tmp = ISHFT(data_tmp, 52)
26934 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26935 654458 : idata = idata + 1
26936 654458 : data_tmp = full_data(idata)
26937 654458 : data_tmp = ISHFT(data_tmp, 28)
26938 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26939 654458 : pack_tmp = ISHFT(pack_tmp, -16)
26940 654458 : idata = idata + 1
26941 654458 : data_tmp = full_data(idata)
26942 654458 : data_tmp = ISHFT(data_tmp, 28)
26943 654458 : data_tmp = IAND(data_tmp, mask_left(16))
26944 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26945 654458 : ipack = ipack + 1
26946 654458 : packed_data(ipack) = pack_tmp
26947 654458 : data_tmp = full_data(idata)
26948 654458 : pack_tmp = ISHFT(data_tmp, 44)
26949 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26950 654458 : idata = idata + 1
26951 654458 : data_tmp = full_data(idata)
26952 654458 : data_tmp = ISHFT(data_tmp, 28)
26953 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26954 654458 : pack_tmp = ISHFT(pack_tmp, -8)
26955 654458 : idata = idata + 1
26956 654458 : data_tmp = full_data(idata)
26957 654458 : data_tmp = ISHFT(data_tmp, 28)
26958 654458 : data_tmp = IAND(data_tmp, mask_left(8))
26959 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26960 654458 : ipack = ipack + 1
26961 654458 : packed_data(ipack) = pack_tmp
26962 654458 : data_tmp = full_data(idata)
26963 654458 : pack_tmp = ISHFT(data_tmp, 36)
26964 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26965 654458 : idata = idata + 1
26966 654458 : data_tmp = full_data(idata)
26967 654458 : data_tmp = ISHFT(data_tmp, 28)
26968 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26969 654458 : pack_tmp = ISHFT(pack_tmp, 0)
26970 654458 : idata = idata + 1
26971 654458 : data_tmp = full_data(idata)
26972 : data_tmp = ISHFT(data_tmp, 28)
26973 654458 : data_tmp = IAND(data_tmp, mask_left(0))
26974 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26975 654458 : ipack = ipack + 1
26976 654458 : packed_data(ipack) = pack_tmp
26977 654458 : data_tmp = full_data(idata)
26978 654458 : pack_tmp = ISHFT(data_tmp, 28)
26979 654458 : pack_tmp = ISHFT(pack_tmp, -28)
26980 654458 : idata = idata + 1
26981 654458 : data_tmp = full_data(idata)
26982 654458 : data_tmp = ISHFT(data_tmp, 28)
26983 654458 : data_tmp = IAND(data_tmp, mask_left(28))
26984 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26985 654458 : ipack = ipack + 1
26986 654458 : packed_data(ipack) = pack_tmp
26987 654458 : data_tmp = full_data(idata)
26988 654458 : pack_tmp = ISHFT(data_tmp, 56)
26989 654458 : pack_tmp = ISHFT(pack_tmp, -36)
26990 654458 : idata = idata + 1
26991 654458 : data_tmp = full_data(idata)
26992 654458 : data_tmp = ISHFT(data_tmp, 28)
26993 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
26994 654458 : pack_tmp = ISHFT(pack_tmp, -20)
26995 654458 : idata = idata + 1
26996 654458 : data_tmp = full_data(idata)
26997 654458 : data_tmp = ISHFT(data_tmp, 28)
26998 654458 : data_tmp = IAND(data_tmp, mask_left(20))
26999 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27000 654458 : ipack = ipack + 1
27001 654458 : packed_data(ipack) = pack_tmp
27002 654458 : data_tmp = full_data(idata)
27003 654458 : pack_tmp = ISHFT(data_tmp, 48)
27004 654458 : pack_tmp = ISHFT(pack_tmp, -36)
27005 654458 : idata = idata + 1
27006 654458 : data_tmp = full_data(idata)
27007 654458 : data_tmp = ISHFT(data_tmp, 28)
27008 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27009 654458 : pack_tmp = ISHFT(pack_tmp, -12)
27010 654458 : idata = idata + 1
27011 654458 : data_tmp = full_data(idata)
27012 654458 : data_tmp = ISHFT(data_tmp, 28)
27013 654458 : data_tmp = IAND(data_tmp, mask_left(12))
27014 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27015 654458 : ipack = ipack + 1
27016 654458 : packed_data(ipack) = pack_tmp
27017 654458 : data_tmp = full_data(idata)
27018 654458 : pack_tmp = ISHFT(data_tmp, 40)
27019 654458 : pack_tmp = ISHFT(pack_tmp, -36)
27020 654458 : idata = idata + 1
27021 654458 : data_tmp = full_data(idata)
27022 654458 : data_tmp = ISHFT(data_tmp, 28)
27023 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27024 654458 : pack_tmp = ISHFT(pack_tmp, -4)
27025 654458 : idata = idata + 1
27026 654458 : data_tmp = full_data(idata)
27027 654458 : data_tmp = ISHFT(data_tmp, 28)
27028 654458 : data_tmp = IAND(data_tmp, mask_left(4))
27029 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27030 654458 : ipack = ipack + 1
27031 654458 : packed_data(ipack) = pack_tmp
27032 654458 : data_tmp = full_data(idata)
27033 654458 : pack_tmp = ISHFT(data_tmp, 32)
27034 654458 : pack_tmp = ISHFT(pack_tmp, -32)
27035 654458 : idata = idata + 1
27036 654458 : data_tmp = full_data(idata)
27037 654458 : data_tmp = ISHFT(data_tmp, 28)
27038 654458 : data_tmp = IAND(data_tmp, mask_left(32))
27039 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27040 654458 : ipack = ipack + 1
27041 654458 : packed_data(ipack) = pack_tmp
27042 654458 : data_tmp = full_data(idata)
27043 654458 : pack_tmp = ISHFT(data_tmp, 60)
27044 654458 : pack_tmp = ISHFT(pack_tmp, -36)
27045 654458 : idata = idata + 1
27046 654458 : data_tmp = full_data(idata)
27047 654458 : data_tmp = ISHFT(data_tmp, 28)
27048 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27049 654458 : pack_tmp = ISHFT(pack_tmp, -24)
27050 654458 : idata = idata + 1
27051 654458 : data_tmp = full_data(idata)
27052 654458 : data_tmp = ISHFT(data_tmp, 28)
27053 654458 : data_tmp = IAND(data_tmp, mask_left(24))
27054 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27055 654458 : ipack = ipack + 1
27056 654458 : packed_data(ipack) = pack_tmp
27057 654458 : data_tmp = full_data(idata)
27058 654458 : pack_tmp = ISHFT(data_tmp, 52)
27059 654458 : pack_tmp = ISHFT(pack_tmp, -36)
27060 654458 : idata = idata + 1
27061 654458 : data_tmp = full_data(idata)
27062 654458 : data_tmp = ISHFT(data_tmp, 28)
27063 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27064 654458 : pack_tmp = ISHFT(pack_tmp, -16)
27065 654458 : idata = idata + 1
27066 654458 : data_tmp = full_data(idata)
27067 654458 : data_tmp = ISHFT(data_tmp, 28)
27068 654458 : data_tmp = IAND(data_tmp, mask_left(16))
27069 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27070 654458 : ipack = ipack + 1
27071 654458 : packed_data(ipack) = pack_tmp
27072 654458 : data_tmp = full_data(idata)
27073 654458 : pack_tmp = ISHFT(data_tmp, 44)
27074 654458 : pack_tmp = ISHFT(pack_tmp, -36)
27075 654458 : idata = idata + 1
27076 654458 : data_tmp = full_data(idata)
27077 654458 : data_tmp = ISHFT(data_tmp, 28)
27078 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27079 654458 : pack_tmp = ISHFT(pack_tmp, -8)
27080 654458 : idata = idata + 1
27081 654458 : data_tmp = full_data(idata)
27082 654458 : data_tmp = ISHFT(data_tmp, 28)
27083 654458 : data_tmp = IAND(data_tmp, mask_left(8))
27084 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27085 654458 : ipack = ipack + 1
27086 654458 : packed_data(ipack) = pack_tmp
27087 654458 : data_tmp = full_data(idata)
27088 654458 : pack_tmp = ISHFT(data_tmp, 36)
27089 654458 : pack_tmp = ISHFT(pack_tmp, -36)
27090 654458 : idata = idata + 1
27091 654458 : data_tmp = full_data(idata)
27092 654458 : data_tmp = ISHFT(data_tmp, 28)
27093 654458 : pack_tmp = IOR(pack_tmp, data_tmp)
27094 : pack_tmp = ISHFT(pack_tmp, 0)
27095 654458 : pack_tmp = ISHFT(pack_tmp, 0)
27096 654458 : ipack = ipack + 1
27097 654834 : packed_data(ipack) = pack_tmp
27098 : END DO
27099 51671 : IF (Ndata_rep < Ndata) THEN
27100 20268 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
27101 : END IF
27102 51671 : END SUBROUTINE ints2bits_36
27103 :
27104 : ! **************************************************************************************************
27105 : !> \brief ...
27106 : !> \param Ndata ...
27107 : !> \param packed_data ...
27108 : !> \param full_data ...
27109 : ! **************************************************************************************************
27110 184779 : 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(*)
27114 :
27115 : INTEGER, PARAMETER :: Nbits = 36
27116 :
27117 : INTEGER :: idata, ipack, kdata, Ndata_rep
27118 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
27119 :
27120 184779 : ipack = 0
27121 184779 : idata = 0
27122 184779 : pack_tmp = 0
27123 184779 : Ndata_rep = (Ndata/64)*64
27124 184779 : DO kdata = 1, Ndata_rep, 64
27125 2409625 : idata = idata + 1
27126 2409625 : data_tmp = ISHFT(pack_tmp, 36)
27127 2409625 : ipack = ipack + 1
27128 2409625 : pack_tmp = packed_data(ipack)
27129 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27130 2409625 : pack_tmp = ISHFT(pack_tmp, -36)
27131 2409625 : idata = idata + 1
27132 2409625 : data_tmp = ISHFT(pack_tmp, 8)
27133 2409625 : ipack = ipack + 1
27134 2409625 : pack_tmp = packed_data(ipack)
27135 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27136 2409625 : pack_tmp = ISHFT(pack_tmp, -8)
27137 2409625 : idata = idata + 1
27138 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27139 2409625 : full_data(idata) = data_tmp
27140 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27141 2409625 : idata = idata + 1
27142 2409625 : data_tmp = ISHFT(pack_tmp, 16)
27143 2409625 : ipack = ipack + 1
27144 2409625 : pack_tmp = packed_data(ipack)
27145 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27146 2409625 : pack_tmp = ISHFT(pack_tmp, -16)
27147 2409625 : idata = idata + 1
27148 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27149 2409625 : full_data(idata) = data_tmp
27150 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27151 2409625 : idata = idata + 1
27152 2409625 : data_tmp = ISHFT(pack_tmp, 24)
27153 2409625 : ipack = ipack + 1
27154 2409625 : pack_tmp = packed_data(ipack)
27155 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27156 2409625 : pack_tmp = ISHFT(pack_tmp, -24)
27157 2409625 : idata = idata + 1
27158 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27159 2409625 : full_data(idata) = data_tmp
27160 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27161 2409625 : idata = idata + 1
27162 2409625 : data_tmp = ISHFT(pack_tmp, 32)
27163 2409625 : ipack = ipack + 1
27164 2409625 : pack_tmp = packed_data(ipack)
27165 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27166 2409625 : pack_tmp = ISHFT(pack_tmp, -32)
27167 2409625 : idata = idata + 1
27168 2409625 : data_tmp = ISHFT(pack_tmp, 4)
27169 2409625 : ipack = ipack + 1
27170 2409625 : pack_tmp = packed_data(ipack)
27171 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27172 2409625 : pack_tmp = ISHFT(pack_tmp, -4)
27173 2409625 : idata = idata + 1
27174 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27175 2409625 : full_data(idata) = data_tmp
27176 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27177 2409625 : idata = idata + 1
27178 2409625 : data_tmp = ISHFT(pack_tmp, 12)
27179 2409625 : ipack = ipack + 1
27180 2409625 : pack_tmp = packed_data(ipack)
27181 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27182 2409625 : pack_tmp = ISHFT(pack_tmp, -12)
27183 2409625 : idata = idata + 1
27184 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27185 2409625 : full_data(idata) = data_tmp
27186 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27187 2409625 : idata = idata + 1
27188 2409625 : data_tmp = ISHFT(pack_tmp, 20)
27189 2409625 : ipack = ipack + 1
27190 2409625 : pack_tmp = packed_data(ipack)
27191 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27192 2409625 : pack_tmp = ISHFT(pack_tmp, -20)
27193 2409625 : idata = idata + 1
27194 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27195 2409625 : full_data(idata) = data_tmp
27196 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27197 2409625 : idata = idata + 1
27198 2409625 : data_tmp = ISHFT(pack_tmp, 28)
27199 2409625 : ipack = ipack + 1
27200 2409625 : pack_tmp = packed_data(ipack)
27201 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27202 2409625 : pack_tmp = ISHFT(pack_tmp, -28)
27203 2409625 : idata = idata + 1
27204 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27205 2409625 : full_data(idata) = data_tmp
27206 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27207 2409625 : idata = idata + 1
27208 2409625 : data_tmp = ISHFT(pack_tmp, 36)
27209 2409625 : ipack = ipack + 1
27210 2409625 : pack_tmp = packed_data(ipack)
27211 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27212 2409625 : pack_tmp = ISHFT(pack_tmp, -36)
27213 2409625 : idata = idata + 1
27214 2409625 : data_tmp = ISHFT(pack_tmp, 8)
27215 2409625 : ipack = ipack + 1
27216 2409625 : pack_tmp = packed_data(ipack)
27217 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27218 2409625 : pack_tmp = ISHFT(pack_tmp, -8)
27219 2409625 : idata = idata + 1
27220 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27221 2409625 : full_data(idata) = data_tmp
27222 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27223 2409625 : idata = idata + 1
27224 2409625 : data_tmp = ISHFT(pack_tmp, 16)
27225 2409625 : ipack = ipack + 1
27226 2409625 : pack_tmp = packed_data(ipack)
27227 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27228 2409625 : pack_tmp = ISHFT(pack_tmp, -16)
27229 2409625 : idata = idata + 1
27230 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27231 2409625 : full_data(idata) = data_tmp
27232 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27233 2409625 : idata = idata + 1
27234 2409625 : data_tmp = ISHFT(pack_tmp, 24)
27235 2409625 : ipack = ipack + 1
27236 2409625 : pack_tmp = packed_data(ipack)
27237 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27238 2409625 : pack_tmp = ISHFT(pack_tmp, -24)
27239 2409625 : idata = idata + 1
27240 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27241 2409625 : full_data(idata) = data_tmp
27242 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27243 2409625 : idata = idata + 1
27244 2409625 : data_tmp = ISHFT(pack_tmp, 32)
27245 2409625 : ipack = ipack + 1
27246 2409625 : pack_tmp = packed_data(ipack)
27247 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27248 2409625 : pack_tmp = ISHFT(pack_tmp, -32)
27249 2409625 : idata = idata + 1
27250 2409625 : data_tmp = ISHFT(pack_tmp, 4)
27251 2409625 : ipack = ipack + 1
27252 2409625 : pack_tmp = packed_data(ipack)
27253 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27254 2409625 : pack_tmp = ISHFT(pack_tmp, -4)
27255 2409625 : idata = idata + 1
27256 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27257 2409625 : full_data(idata) = data_tmp
27258 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27259 2409625 : idata = idata + 1
27260 2409625 : data_tmp = ISHFT(pack_tmp, 12)
27261 2409625 : ipack = ipack + 1
27262 2409625 : pack_tmp = packed_data(ipack)
27263 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27264 2409625 : pack_tmp = ISHFT(pack_tmp, -12)
27265 2409625 : idata = idata + 1
27266 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27267 2409625 : full_data(idata) = data_tmp
27268 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27269 2409625 : idata = idata + 1
27270 2409625 : data_tmp = ISHFT(pack_tmp, 20)
27271 2409625 : ipack = ipack + 1
27272 2409625 : pack_tmp = packed_data(ipack)
27273 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27274 2409625 : pack_tmp = ISHFT(pack_tmp, -20)
27275 2409625 : idata = idata + 1
27276 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27277 2409625 : full_data(idata) = data_tmp
27278 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27279 2409625 : idata = idata + 1
27280 2409625 : data_tmp = ISHFT(pack_tmp, 28)
27281 2409625 : ipack = ipack + 1
27282 2409625 : pack_tmp = packed_data(ipack)
27283 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27284 2409625 : pack_tmp = ISHFT(pack_tmp, -28)
27285 2409625 : idata = idata + 1
27286 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27287 2409625 : full_data(idata) = data_tmp
27288 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27289 2409625 : idata = idata + 1
27290 2409625 : data_tmp = ISHFT(pack_tmp, 36)
27291 2409625 : ipack = ipack + 1
27292 2409625 : pack_tmp = packed_data(ipack)
27293 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27294 2409625 : pack_tmp = ISHFT(pack_tmp, -36)
27295 2409625 : idata = idata + 1
27296 2409625 : data_tmp = ISHFT(pack_tmp, 8)
27297 2409625 : ipack = ipack + 1
27298 2409625 : pack_tmp = packed_data(ipack)
27299 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27300 2409625 : pack_tmp = ISHFT(pack_tmp, -8)
27301 2409625 : idata = idata + 1
27302 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27303 2409625 : full_data(idata) = data_tmp
27304 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27305 2409625 : idata = idata + 1
27306 2409625 : data_tmp = ISHFT(pack_tmp, 16)
27307 2409625 : ipack = ipack + 1
27308 2409625 : pack_tmp = packed_data(ipack)
27309 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27310 2409625 : pack_tmp = ISHFT(pack_tmp, -16)
27311 2409625 : idata = idata + 1
27312 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27313 2409625 : full_data(idata) = data_tmp
27314 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27315 2409625 : idata = idata + 1
27316 2409625 : data_tmp = ISHFT(pack_tmp, 24)
27317 2409625 : ipack = ipack + 1
27318 2409625 : pack_tmp = packed_data(ipack)
27319 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27320 2409625 : pack_tmp = ISHFT(pack_tmp, -24)
27321 2409625 : idata = idata + 1
27322 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27323 2409625 : full_data(idata) = data_tmp
27324 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27325 2409625 : idata = idata + 1
27326 2409625 : data_tmp = ISHFT(pack_tmp, 32)
27327 2409625 : ipack = ipack + 1
27328 2409625 : pack_tmp = packed_data(ipack)
27329 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27330 2409625 : pack_tmp = ISHFT(pack_tmp, -32)
27331 2409625 : idata = idata + 1
27332 2409625 : data_tmp = ISHFT(pack_tmp, 4)
27333 2409625 : ipack = ipack + 1
27334 2409625 : pack_tmp = packed_data(ipack)
27335 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27336 2409625 : pack_tmp = ISHFT(pack_tmp, -4)
27337 2409625 : idata = idata + 1
27338 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27339 2409625 : full_data(idata) = data_tmp
27340 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27341 2409625 : idata = idata + 1
27342 2409625 : data_tmp = ISHFT(pack_tmp, 12)
27343 2409625 : ipack = ipack + 1
27344 2409625 : pack_tmp = packed_data(ipack)
27345 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27346 2409625 : pack_tmp = ISHFT(pack_tmp, -12)
27347 2409625 : idata = idata + 1
27348 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27349 2409625 : full_data(idata) = data_tmp
27350 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27351 2409625 : idata = idata + 1
27352 2409625 : data_tmp = ISHFT(pack_tmp, 20)
27353 2409625 : ipack = ipack + 1
27354 2409625 : pack_tmp = packed_data(ipack)
27355 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27356 2409625 : pack_tmp = ISHFT(pack_tmp, -20)
27357 2409625 : idata = idata + 1
27358 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27359 2409625 : full_data(idata) = data_tmp
27360 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27361 2409625 : idata = idata + 1
27362 2409625 : data_tmp = ISHFT(pack_tmp, 28)
27363 2409625 : ipack = ipack + 1
27364 2409625 : pack_tmp = packed_data(ipack)
27365 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27366 2409625 : pack_tmp = ISHFT(pack_tmp, -28)
27367 2409625 : idata = idata + 1
27368 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27369 2409625 : full_data(idata) = data_tmp
27370 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27371 2409625 : idata = idata + 1
27372 2409625 : data_tmp = ISHFT(pack_tmp, 36)
27373 2409625 : ipack = ipack + 1
27374 2409625 : pack_tmp = packed_data(ipack)
27375 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
27376 2409625 : pack_tmp = ISHFT(pack_tmp, -36)
27377 2409625 : idata = idata + 1
27378 2409625 : data_tmp = ISHFT(pack_tmp, 8)
27379 2409625 : ipack = ipack + 1
27380 2409625 : pack_tmp = packed_data(ipack)
27381 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
27382 2409625 : pack_tmp = ISHFT(pack_tmp, -8)
27383 2409625 : idata = idata + 1
27384 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27385 2409625 : full_data(idata) = data_tmp
27386 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27387 2409625 : idata = idata + 1
27388 2409625 : data_tmp = ISHFT(pack_tmp, 16)
27389 2409625 : ipack = ipack + 1
27390 2409625 : pack_tmp = packed_data(ipack)
27391 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
27392 2409625 : pack_tmp = ISHFT(pack_tmp, -16)
27393 2409625 : idata = idata + 1
27394 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27395 2409625 : full_data(idata) = data_tmp
27396 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27397 2409625 : idata = idata + 1
27398 2409625 : data_tmp = ISHFT(pack_tmp, 24)
27399 2409625 : ipack = ipack + 1
27400 2409625 : pack_tmp = packed_data(ipack)
27401 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
27402 2409625 : pack_tmp = ISHFT(pack_tmp, -24)
27403 2409625 : idata = idata + 1
27404 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27405 2409625 : full_data(idata) = data_tmp
27406 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27407 2409625 : idata = idata + 1
27408 2409625 : data_tmp = ISHFT(pack_tmp, 32)
27409 2409625 : ipack = ipack + 1
27410 2409625 : pack_tmp = packed_data(ipack)
27411 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
27412 2409625 : pack_tmp = ISHFT(pack_tmp, -32)
27413 2409625 : idata = idata + 1
27414 2409625 : data_tmp = ISHFT(pack_tmp, 4)
27415 2409625 : ipack = ipack + 1
27416 2409625 : pack_tmp = packed_data(ipack)
27417 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
27418 2409625 : pack_tmp = ISHFT(pack_tmp, -4)
27419 2409625 : idata = idata + 1
27420 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27421 2409625 : full_data(idata) = data_tmp
27422 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27423 2409625 : idata = idata + 1
27424 2409625 : data_tmp = ISHFT(pack_tmp, 12)
27425 2409625 : ipack = ipack + 1
27426 2409625 : pack_tmp = packed_data(ipack)
27427 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
27428 2409625 : pack_tmp = ISHFT(pack_tmp, -12)
27429 2409625 : idata = idata + 1
27430 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27431 2409625 : full_data(idata) = data_tmp
27432 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27433 2409625 : idata = idata + 1
27434 2409625 : data_tmp = ISHFT(pack_tmp, 20)
27435 2409625 : ipack = ipack + 1
27436 2409625 : pack_tmp = packed_data(ipack)
27437 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
27438 2409625 : pack_tmp = ISHFT(pack_tmp, -20)
27439 2409625 : idata = idata + 1
27440 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27441 2409625 : full_data(idata) = data_tmp
27442 2409625 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27443 2409625 : idata = idata + 1
27444 2409625 : data_tmp = ISHFT(pack_tmp, 28)
27445 2409625 : ipack = ipack + 1
27446 2409625 : pack_tmp = packed_data(ipack)
27447 2409625 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
27448 2409625 : pack_tmp = ISHFT(pack_tmp, -28)
27449 2409625 : idata = idata + 1
27450 2409625 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
27451 2409625 : full_data(idata) = data_tmp
27452 2411203 : pack_tmp = ISHFT(pack_tmp, -Nbits)
27453 : END DO
27454 184779 : IF (Ndata_rep < Ndata) THEN
27455 64334 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
27456 : END IF
27457 184779 : END SUBROUTINE bits2ints_36
27458 :
27459 : ! **************************************************************************************************
27460 : !> \brief ...
27461 : !> \param Ndata ...
27462 : !> \param packed_data ...
27463 : !> \param full_data ...
27464 : ! **************************************************************************************************
27465 42183 : 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(*)
27469 :
27470 : INTEGER, PARAMETER :: Nbits = 37
27471 :
27472 : INTEGER :: idata, ipack, kdata, Ndata_rep
27473 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
27474 :
27475 42183 : idata = 0
27476 42183 : ipack = 0
27477 42183 : Ndata_rep = (Ndata/64)*64
27478 42183 : DO kdata = 1, Ndata_rep, 64
27479 561152 : pack_tmp = 0
27480 561152 : idata = idata + 1
27481 561152 : data_tmp = full_data(idata)
27482 561152 : data_tmp = ISHFT(data_tmp, 27)
27483 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27484 561152 : pack_tmp = ISHFT(pack_tmp, -27)
27485 561152 : idata = idata + 1
27486 561152 : data_tmp = full_data(idata)
27487 561152 : data_tmp = ISHFT(data_tmp, 27)
27488 561152 : data_tmp = IAND(data_tmp, mask_left(27))
27489 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27490 561152 : ipack = ipack + 1
27491 561152 : packed_data(ipack) = pack_tmp
27492 561152 : data_tmp = full_data(idata)
27493 561152 : pack_tmp = ISHFT(data_tmp, 54)
27494 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27495 561152 : idata = idata + 1
27496 561152 : data_tmp = full_data(idata)
27497 561152 : data_tmp = ISHFT(data_tmp, 27)
27498 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27499 561152 : pack_tmp = ISHFT(pack_tmp, -17)
27500 561152 : idata = idata + 1
27501 561152 : data_tmp = full_data(idata)
27502 561152 : data_tmp = ISHFT(data_tmp, 27)
27503 561152 : data_tmp = IAND(data_tmp, mask_left(17))
27504 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27505 561152 : ipack = ipack + 1
27506 561152 : packed_data(ipack) = pack_tmp
27507 561152 : data_tmp = full_data(idata)
27508 561152 : pack_tmp = ISHFT(data_tmp, 44)
27509 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27510 561152 : idata = idata + 1
27511 561152 : data_tmp = full_data(idata)
27512 561152 : data_tmp = ISHFT(data_tmp, 27)
27513 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27514 561152 : pack_tmp = ISHFT(pack_tmp, -7)
27515 561152 : idata = idata + 1
27516 561152 : data_tmp = full_data(idata)
27517 561152 : data_tmp = ISHFT(data_tmp, 27)
27518 561152 : data_tmp = IAND(data_tmp, mask_left(7))
27519 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27520 561152 : ipack = ipack + 1
27521 561152 : packed_data(ipack) = pack_tmp
27522 561152 : data_tmp = full_data(idata)
27523 561152 : pack_tmp = ISHFT(data_tmp, 34)
27524 561152 : pack_tmp = ISHFT(pack_tmp, -34)
27525 561152 : idata = idata + 1
27526 561152 : data_tmp = full_data(idata)
27527 561152 : data_tmp = ISHFT(data_tmp, 27)
27528 561152 : data_tmp = IAND(data_tmp, mask_left(34))
27529 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27530 561152 : ipack = ipack + 1
27531 561152 : packed_data(ipack) = pack_tmp
27532 561152 : data_tmp = full_data(idata)
27533 561152 : pack_tmp = ISHFT(data_tmp, 61)
27534 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27535 561152 : idata = idata + 1
27536 561152 : data_tmp = full_data(idata)
27537 561152 : data_tmp = ISHFT(data_tmp, 27)
27538 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27539 561152 : pack_tmp = ISHFT(pack_tmp, -24)
27540 561152 : idata = idata + 1
27541 561152 : data_tmp = full_data(idata)
27542 561152 : data_tmp = ISHFT(data_tmp, 27)
27543 561152 : data_tmp = IAND(data_tmp, mask_left(24))
27544 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27545 561152 : ipack = ipack + 1
27546 561152 : packed_data(ipack) = pack_tmp
27547 561152 : data_tmp = full_data(idata)
27548 561152 : pack_tmp = ISHFT(data_tmp, 51)
27549 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27550 561152 : idata = idata + 1
27551 561152 : data_tmp = full_data(idata)
27552 561152 : data_tmp = ISHFT(data_tmp, 27)
27553 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27554 561152 : pack_tmp = ISHFT(pack_tmp, -14)
27555 561152 : idata = idata + 1
27556 561152 : data_tmp = full_data(idata)
27557 561152 : data_tmp = ISHFT(data_tmp, 27)
27558 561152 : data_tmp = IAND(data_tmp, mask_left(14))
27559 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27560 561152 : ipack = ipack + 1
27561 561152 : packed_data(ipack) = pack_tmp
27562 561152 : data_tmp = full_data(idata)
27563 561152 : pack_tmp = ISHFT(data_tmp, 41)
27564 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27565 561152 : idata = idata + 1
27566 561152 : data_tmp = full_data(idata)
27567 561152 : data_tmp = ISHFT(data_tmp, 27)
27568 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27569 561152 : pack_tmp = ISHFT(pack_tmp, -4)
27570 561152 : idata = idata + 1
27571 561152 : data_tmp = full_data(idata)
27572 561152 : data_tmp = ISHFT(data_tmp, 27)
27573 561152 : data_tmp = IAND(data_tmp, mask_left(4))
27574 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27575 561152 : ipack = ipack + 1
27576 561152 : packed_data(ipack) = pack_tmp
27577 561152 : data_tmp = full_data(idata)
27578 561152 : pack_tmp = ISHFT(data_tmp, 31)
27579 561152 : pack_tmp = ISHFT(pack_tmp, -31)
27580 561152 : idata = idata + 1
27581 561152 : data_tmp = full_data(idata)
27582 561152 : data_tmp = ISHFT(data_tmp, 27)
27583 561152 : data_tmp = IAND(data_tmp, mask_left(31))
27584 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27585 561152 : ipack = ipack + 1
27586 561152 : packed_data(ipack) = pack_tmp
27587 561152 : data_tmp = full_data(idata)
27588 561152 : pack_tmp = ISHFT(data_tmp, 58)
27589 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27590 561152 : idata = idata + 1
27591 561152 : data_tmp = full_data(idata)
27592 561152 : data_tmp = ISHFT(data_tmp, 27)
27593 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27594 561152 : pack_tmp = ISHFT(pack_tmp, -21)
27595 561152 : idata = idata + 1
27596 561152 : data_tmp = full_data(idata)
27597 561152 : data_tmp = ISHFT(data_tmp, 27)
27598 561152 : data_tmp = IAND(data_tmp, mask_left(21))
27599 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27600 561152 : ipack = ipack + 1
27601 561152 : packed_data(ipack) = pack_tmp
27602 561152 : data_tmp = full_data(idata)
27603 561152 : pack_tmp = ISHFT(data_tmp, 48)
27604 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27605 561152 : idata = idata + 1
27606 561152 : data_tmp = full_data(idata)
27607 561152 : data_tmp = ISHFT(data_tmp, 27)
27608 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27609 561152 : pack_tmp = ISHFT(pack_tmp, -11)
27610 561152 : idata = idata + 1
27611 561152 : data_tmp = full_data(idata)
27612 561152 : data_tmp = ISHFT(data_tmp, 27)
27613 561152 : data_tmp = IAND(data_tmp, mask_left(11))
27614 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27615 561152 : ipack = ipack + 1
27616 561152 : packed_data(ipack) = pack_tmp
27617 561152 : data_tmp = full_data(idata)
27618 561152 : pack_tmp = ISHFT(data_tmp, 38)
27619 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27620 561152 : idata = idata + 1
27621 561152 : data_tmp = full_data(idata)
27622 561152 : data_tmp = ISHFT(data_tmp, 27)
27623 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27624 561152 : pack_tmp = ISHFT(pack_tmp, -1)
27625 561152 : idata = idata + 1
27626 561152 : data_tmp = full_data(idata)
27627 561152 : data_tmp = ISHFT(data_tmp, 27)
27628 561152 : data_tmp = IAND(data_tmp, mask_left(1))
27629 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27630 561152 : ipack = ipack + 1
27631 561152 : packed_data(ipack) = pack_tmp
27632 561152 : data_tmp = full_data(idata)
27633 561152 : pack_tmp = ISHFT(data_tmp, 28)
27634 561152 : pack_tmp = ISHFT(pack_tmp, -28)
27635 561152 : idata = idata + 1
27636 561152 : data_tmp = full_data(idata)
27637 561152 : data_tmp = ISHFT(data_tmp, 27)
27638 561152 : data_tmp = IAND(data_tmp, mask_left(28))
27639 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27640 561152 : ipack = ipack + 1
27641 561152 : packed_data(ipack) = pack_tmp
27642 561152 : data_tmp = full_data(idata)
27643 561152 : pack_tmp = ISHFT(data_tmp, 55)
27644 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27645 561152 : idata = idata + 1
27646 561152 : data_tmp = full_data(idata)
27647 561152 : data_tmp = ISHFT(data_tmp, 27)
27648 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27649 561152 : pack_tmp = ISHFT(pack_tmp, -18)
27650 561152 : idata = idata + 1
27651 561152 : data_tmp = full_data(idata)
27652 561152 : data_tmp = ISHFT(data_tmp, 27)
27653 561152 : data_tmp = IAND(data_tmp, mask_left(18))
27654 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27655 561152 : ipack = ipack + 1
27656 561152 : packed_data(ipack) = pack_tmp
27657 561152 : data_tmp = full_data(idata)
27658 561152 : pack_tmp = ISHFT(data_tmp, 45)
27659 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27660 561152 : idata = idata + 1
27661 561152 : data_tmp = full_data(idata)
27662 561152 : data_tmp = ISHFT(data_tmp, 27)
27663 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27664 561152 : pack_tmp = ISHFT(pack_tmp, -8)
27665 561152 : idata = idata + 1
27666 561152 : data_tmp = full_data(idata)
27667 561152 : data_tmp = ISHFT(data_tmp, 27)
27668 561152 : data_tmp = IAND(data_tmp, mask_left(8))
27669 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27670 561152 : ipack = ipack + 1
27671 561152 : packed_data(ipack) = pack_tmp
27672 561152 : data_tmp = full_data(idata)
27673 561152 : pack_tmp = ISHFT(data_tmp, 35)
27674 561152 : pack_tmp = ISHFT(pack_tmp, -35)
27675 561152 : idata = idata + 1
27676 561152 : data_tmp = full_data(idata)
27677 561152 : data_tmp = ISHFT(data_tmp, 27)
27678 561152 : data_tmp = IAND(data_tmp, mask_left(35))
27679 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27680 561152 : ipack = ipack + 1
27681 561152 : packed_data(ipack) = pack_tmp
27682 561152 : data_tmp = full_data(idata)
27683 561152 : pack_tmp = ISHFT(data_tmp, 62)
27684 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27685 561152 : idata = idata + 1
27686 561152 : data_tmp = full_data(idata)
27687 561152 : data_tmp = ISHFT(data_tmp, 27)
27688 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27689 561152 : pack_tmp = ISHFT(pack_tmp, -25)
27690 561152 : idata = idata + 1
27691 561152 : data_tmp = full_data(idata)
27692 561152 : data_tmp = ISHFT(data_tmp, 27)
27693 561152 : data_tmp = IAND(data_tmp, mask_left(25))
27694 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27695 561152 : ipack = ipack + 1
27696 561152 : packed_data(ipack) = pack_tmp
27697 561152 : data_tmp = full_data(idata)
27698 561152 : pack_tmp = ISHFT(data_tmp, 52)
27699 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27700 561152 : idata = idata + 1
27701 561152 : data_tmp = full_data(idata)
27702 561152 : data_tmp = ISHFT(data_tmp, 27)
27703 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27704 561152 : pack_tmp = ISHFT(pack_tmp, -15)
27705 561152 : idata = idata + 1
27706 561152 : data_tmp = full_data(idata)
27707 561152 : data_tmp = ISHFT(data_tmp, 27)
27708 561152 : data_tmp = IAND(data_tmp, mask_left(15))
27709 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27710 561152 : ipack = ipack + 1
27711 561152 : packed_data(ipack) = pack_tmp
27712 561152 : data_tmp = full_data(idata)
27713 561152 : pack_tmp = ISHFT(data_tmp, 42)
27714 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27715 561152 : idata = idata + 1
27716 561152 : data_tmp = full_data(idata)
27717 561152 : data_tmp = ISHFT(data_tmp, 27)
27718 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27719 561152 : pack_tmp = ISHFT(pack_tmp, -5)
27720 561152 : idata = idata + 1
27721 561152 : data_tmp = full_data(idata)
27722 561152 : data_tmp = ISHFT(data_tmp, 27)
27723 561152 : data_tmp = IAND(data_tmp, mask_left(5))
27724 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27725 561152 : ipack = ipack + 1
27726 561152 : packed_data(ipack) = pack_tmp
27727 561152 : data_tmp = full_data(idata)
27728 561152 : pack_tmp = ISHFT(data_tmp, 32)
27729 561152 : pack_tmp = ISHFT(pack_tmp, -32)
27730 561152 : idata = idata + 1
27731 561152 : data_tmp = full_data(idata)
27732 561152 : data_tmp = ISHFT(data_tmp, 27)
27733 561152 : data_tmp = IAND(data_tmp, mask_left(32))
27734 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27735 561152 : ipack = ipack + 1
27736 561152 : packed_data(ipack) = pack_tmp
27737 561152 : data_tmp = full_data(idata)
27738 561152 : pack_tmp = ISHFT(data_tmp, 59)
27739 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27740 561152 : idata = idata + 1
27741 561152 : data_tmp = full_data(idata)
27742 561152 : data_tmp = ISHFT(data_tmp, 27)
27743 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27744 561152 : pack_tmp = ISHFT(pack_tmp, -22)
27745 561152 : idata = idata + 1
27746 561152 : data_tmp = full_data(idata)
27747 561152 : data_tmp = ISHFT(data_tmp, 27)
27748 561152 : data_tmp = IAND(data_tmp, mask_left(22))
27749 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27750 561152 : ipack = ipack + 1
27751 561152 : packed_data(ipack) = pack_tmp
27752 561152 : data_tmp = full_data(idata)
27753 561152 : pack_tmp = ISHFT(data_tmp, 49)
27754 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27755 561152 : idata = idata + 1
27756 561152 : data_tmp = full_data(idata)
27757 561152 : data_tmp = ISHFT(data_tmp, 27)
27758 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27759 561152 : pack_tmp = ISHFT(pack_tmp, -12)
27760 561152 : idata = idata + 1
27761 561152 : data_tmp = full_data(idata)
27762 561152 : data_tmp = ISHFT(data_tmp, 27)
27763 561152 : data_tmp = IAND(data_tmp, mask_left(12))
27764 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27765 561152 : ipack = ipack + 1
27766 561152 : packed_data(ipack) = pack_tmp
27767 561152 : data_tmp = full_data(idata)
27768 561152 : pack_tmp = ISHFT(data_tmp, 39)
27769 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27770 561152 : idata = idata + 1
27771 561152 : data_tmp = full_data(idata)
27772 561152 : data_tmp = ISHFT(data_tmp, 27)
27773 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27774 561152 : pack_tmp = ISHFT(pack_tmp, -2)
27775 561152 : idata = idata + 1
27776 561152 : data_tmp = full_data(idata)
27777 561152 : data_tmp = ISHFT(data_tmp, 27)
27778 561152 : data_tmp = IAND(data_tmp, mask_left(2))
27779 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27780 561152 : ipack = ipack + 1
27781 561152 : packed_data(ipack) = pack_tmp
27782 561152 : data_tmp = full_data(idata)
27783 561152 : pack_tmp = ISHFT(data_tmp, 29)
27784 561152 : pack_tmp = ISHFT(pack_tmp, -29)
27785 561152 : idata = idata + 1
27786 561152 : data_tmp = full_data(idata)
27787 561152 : data_tmp = ISHFT(data_tmp, 27)
27788 561152 : data_tmp = IAND(data_tmp, mask_left(29))
27789 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27790 561152 : ipack = ipack + 1
27791 561152 : packed_data(ipack) = pack_tmp
27792 561152 : data_tmp = full_data(idata)
27793 561152 : pack_tmp = ISHFT(data_tmp, 56)
27794 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27795 561152 : idata = idata + 1
27796 561152 : data_tmp = full_data(idata)
27797 561152 : data_tmp = ISHFT(data_tmp, 27)
27798 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27799 561152 : pack_tmp = ISHFT(pack_tmp, -19)
27800 561152 : idata = idata + 1
27801 561152 : data_tmp = full_data(idata)
27802 561152 : data_tmp = ISHFT(data_tmp, 27)
27803 561152 : data_tmp = IAND(data_tmp, mask_left(19))
27804 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27805 561152 : ipack = ipack + 1
27806 561152 : packed_data(ipack) = pack_tmp
27807 561152 : data_tmp = full_data(idata)
27808 561152 : pack_tmp = ISHFT(data_tmp, 46)
27809 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27810 561152 : idata = idata + 1
27811 561152 : data_tmp = full_data(idata)
27812 561152 : data_tmp = ISHFT(data_tmp, 27)
27813 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27814 561152 : pack_tmp = ISHFT(pack_tmp, -9)
27815 561152 : idata = idata + 1
27816 561152 : data_tmp = full_data(idata)
27817 561152 : data_tmp = ISHFT(data_tmp, 27)
27818 561152 : data_tmp = IAND(data_tmp, mask_left(9))
27819 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27820 561152 : ipack = ipack + 1
27821 561152 : packed_data(ipack) = pack_tmp
27822 561152 : data_tmp = full_data(idata)
27823 561152 : pack_tmp = ISHFT(data_tmp, 36)
27824 561152 : pack_tmp = ISHFT(pack_tmp, -36)
27825 561152 : idata = idata + 1
27826 561152 : data_tmp = full_data(idata)
27827 561152 : data_tmp = ISHFT(data_tmp, 27)
27828 561152 : data_tmp = IAND(data_tmp, mask_left(36))
27829 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27830 561152 : ipack = ipack + 1
27831 561152 : packed_data(ipack) = pack_tmp
27832 561152 : data_tmp = full_data(idata)
27833 561152 : pack_tmp = ISHFT(data_tmp, 63)
27834 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27835 561152 : idata = idata + 1
27836 561152 : data_tmp = full_data(idata)
27837 561152 : data_tmp = ISHFT(data_tmp, 27)
27838 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27839 561152 : pack_tmp = ISHFT(pack_tmp, -26)
27840 561152 : idata = idata + 1
27841 561152 : data_tmp = full_data(idata)
27842 561152 : data_tmp = ISHFT(data_tmp, 27)
27843 561152 : data_tmp = IAND(data_tmp, mask_left(26))
27844 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27845 561152 : ipack = ipack + 1
27846 561152 : packed_data(ipack) = pack_tmp
27847 561152 : data_tmp = full_data(idata)
27848 561152 : pack_tmp = ISHFT(data_tmp, 53)
27849 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27850 561152 : idata = idata + 1
27851 561152 : data_tmp = full_data(idata)
27852 561152 : data_tmp = ISHFT(data_tmp, 27)
27853 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27854 561152 : pack_tmp = ISHFT(pack_tmp, -16)
27855 561152 : idata = idata + 1
27856 561152 : data_tmp = full_data(idata)
27857 561152 : data_tmp = ISHFT(data_tmp, 27)
27858 561152 : data_tmp = IAND(data_tmp, mask_left(16))
27859 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27860 561152 : ipack = ipack + 1
27861 561152 : packed_data(ipack) = pack_tmp
27862 561152 : data_tmp = full_data(idata)
27863 561152 : pack_tmp = ISHFT(data_tmp, 43)
27864 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27865 561152 : idata = idata + 1
27866 561152 : data_tmp = full_data(idata)
27867 561152 : data_tmp = ISHFT(data_tmp, 27)
27868 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27869 561152 : pack_tmp = ISHFT(pack_tmp, -6)
27870 561152 : idata = idata + 1
27871 561152 : data_tmp = full_data(idata)
27872 561152 : data_tmp = ISHFT(data_tmp, 27)
27873 561152 : data_tmp = IAND(data_tmp, mask_left(6))
27874 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27875 561152 : ipack = ipack + 1
27876 561152 : packed_data(ipack) = pack_tmp
27877 561152 : data_tmp = full_data(idata)
27878 561152 : pack_tmp = ISHFT(data_tmp, 33)
27879 561152 : pack_tmp = ISHFT(pack_tmp, -33)
27880 561152 : idata = idata + 1
27881 561152 : data_tmp = full_data(idata)
27882 561152 : data_tmp = ISHFT(data_tmp, 27)
27883 561152 : data_tmp = IAND(data_tmp, mask_left(33))
27884 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27885 561152 : ipack = ipack + 1
27886 561152 : packed_data(ipack) = pack_tmp
27887 561152 : data_tmp = full_data(idata)
27888 561152 : pack_tmp = ISHFT(data_tmp, 60)
27889 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27890 561152 : idata = idata + 1
27891 561152 : data_tmp = full_data(idata)
27892 561152 : data_tmp = ISHFT(data_tmp, 27)
27893 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27894 561152 : pack_tmp = ISHFT(pack_tmp, -23)
27895 561152 : idata = idata + 1
27896 561152 : data_tmp = full_data(idata)
27897 561152 : data_tmp = ISHFT(data_tmp, 27)
27898 561152 : data_tmp = IAND(data_tmp, mask_left(23))
27899 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27900 561152 : ipack = ipack + 1
27901 561152 : packed_data(ipack) = pack_tmp
27902 561152 : data_tmp = full_data(idata)
27903 561152 : pack_tmp = ISHFT(data_tmp, 50)
27904 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27905 561152 : idata = idata + 1
27906 561152 : data_tmp = full_data(idata)
27907 561152 : data_tmp = ISHFT(data_tmp, 27)
27908 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27909 561152 : pack_tmp = ISHFT(pack_tmp, -13)
27910 561152 : idata = idata + 1
27911 561152 : data_tmp = full_data(idata)
27912 561152 : data_tmp = ISHFT(data_tmp, 27)
27913 561152 : data_tmp = IAND(data_tmp, mask_left(13))
27914 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27915 561152 : ipack = ipack + 1
27916 561152 : packed_data(ipack) = pack_tmp
27917 561152 : data_tmp = full_data(idata)
27918 561152 : pack_tmp = ISHFT(data_tmp, 40)
27919 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27920 561152 : idata = idata + 1
27921 561152 : data_tmp = full_data(idata)
27922 561152 : data_tmp = ISHFT(data_tmp, 27)
27923 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27924 561152 : pack_tmp = ISHFT(pack_tmp, -3)
27925 561152 : idata = idata + 1
27926 561152 : data_tmp = full_data(idata)
27927 561152 : data_tmp = ISHFT(data_tmp, 27)
27928 561152 : data_tmp = IAND(data_tmp, mask_left(3))
27929 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27930 561152 : ipack = ipack + 1
27931 561152 : packed_data(ipack) = pack_tmp
27932 561152 : data_tmp = full_data(idata)
27933 561152 : pack_tmp = ISHFT(data_tmp, 30)
27934 561152 : pack_tmp = ISHFT(pack_tmp, -30)
27935 561152 : idata = idata + 1
27936 561152 : data_tmp = full_data(idata)
27937 561152 : data_tmp = ISHFT(data_tmp, 27)
27938 561152 : data_tmp = IAND(data_tmp, mask_left(30))
27939 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27940 561152 : ipack = ipack + 1
27941 561152 : packed_data(ipack) = pack_tmp
27942 561152 : data_tmp = full_data(idata)
27943 561152 : pack_tmp = ISHFT(data_tmp, 57)
27944 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27945 561152 : idata = idata + 1
27946 561152 : data_tmp = full_data(idata)
27947 561152 : data_tmp = ISHFT(data_tmp, 27)
27948 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27949 561152 : pack_tmp = ISHFT(pack_tmp, -20)
27950 561152 : idata = idata + 1
27951 561152 : data_tmp = full_data(idata)
27952 561152 : data_tmp = ISHFT(data_tmp, 27)
27953 561152 : data_tmp = IAND(data_tmp, mask_left(20))
27954 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27955 561152 : ipack = ipack + 1
27956 561152 : packed_data(ipack) = pack_tmp
27957 561152 : data_tmp = full_data(idata)
27958 561152 : pack_tmp = ISHFT(data_tmp, 47)
27959 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27960 561152 : idata = idata + 1
27961 561152 : data_tmp = full_data(idata)
27962 561152 : data_tmp = ISHFT(data_tmp, 27)
27963 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27964 561152 : pack_tmp = ISHFT(pack_tmp, -10)
27965 561152 : idata = idata + 1
27966 561152 : data_tmp = full_data(idata)
27967 561152 : data_tmp = ISHFT(data_tmp, 27)
27968 561152 : data_tmp = IAND(data_tmp, mask_left(10))
27969 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27970 561152 : ipack = ipack + 1
27971 561152 : packed_data(ipack) = pack_tmp
27972 561152 : data_tmp = full_data(idata)
27973 561152 : pack_tmp = ISHFT(data_tmp, 37)
27974 561152 : pack_tmp = ISHFT(pack_tmp, -37)
27975 561152 : idata = idata + 1
27976 561152 : data_tmp = full_data(idata)
27977 561152 : data_tmp = ISHFT(data_tmp, 27)
27978 561152 : pack_tmp = IOR(pack_tmp, data_tmp)
27979 : pack_tmp = ISHFT(pack_tmp, 0)
27980 561152 : pack_tmp = ISHFT(pack_tmp, 0)
27981 561152 : ipack = ipack + 1
27982 561295 : packed_data(ipack) = pack_tmp
27983 : END DO
27984 42183 : IF (Ndata_rep < Ndata) THEN
27985 13344 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
27986 : END IF
27987 42183 : END SUBROUTINE ints2bits_37
27988 :
27989 : ! **************************************************************************************************
27990 : !> \brief ...
27991 : !> \param Ndata ...
27992 : !> \param packed_data ...
27993 : !> \param full_data ...
27994 : ! **************************************************************************************************
27995 164321 : 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(*)
27999 :
28000 : INTEGER, PARAMETER :: Nbits = 37
28001 :
28002 : INTEGER :: idata, ipack, kdata, Ndata_rep
28003 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
28004 :
28005 164321 : ipack = 0
28006 164321 : idata = 0
28007 164321 : pack_tmp = 0
28008 164321 : Ndata_rep = (Ndata/64)*64
28009 164321 : DO kdata = 1, Ndata_rep, 64
28010 2194603 : idata = idata + 1
28011 2194603 : data_tmp = ISHFT(pack_tmp, 37)
28012 2194603 : ipack = ipack + 1
28013 2194603 : pack_tmp = packed_data(ipack)
28014 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
28015 2194603 : pack_tmp = ISHFT(pack_tmp, -37)
28016 2194603 : idata = idata + 1
28017 2194603 : data_tmp = ISHFT(pack_tmp, 10)
28018 2194603 : ipack = ipack + 1
28019 2194603 : pack_tmp = packed_data(ipack)
28020 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
28021 2194603 : pack_tmp = ISHFT(pack_tmp, -10)
28022 2194603 : idata = idata + 1
28023 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28024 2194603 : full_data(idata) = data_tmp
28025 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28026 2194603 : idata = idata + 1
28027 2194603 : data_tmp = ISHFT(pack_tmp, 20)
28028 2194603 : ipack = ipack + 1
28029 2194603 : pack_tmp = packed_data(ipack)
28030 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
28031 2194603 : pack_tmp = ISHFT(pack_tmp, -20)
28032 2194603 : idata = idata + 1
28033 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28034 2194603 : full_data(idata) = data_tmp
28035 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28036 2194603 : idata = idata + 1
28037 2194603 : data_tmp = ISHFT(pack_tmp, 30)
28038 2194603 : ipack = ipack + 1
28039 2194603 : pack_tmp = packed_data(ipack)
28040 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
28041 2194603 : pack_tmp = ISHFT(pack_tmp, -30)
28042 2194603 : idata = idata + 1
28043 2194603 : data_tmp = ISHFT(pack_tmp, 3)
28044 2194603 : ipack = ipack + 1
28045 2194603 : pack_tmp = packed_data(ipack)
28046 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
28047 2194603 : pack_tmp = ISHFT(pack_tmp, -3)
28048 2194603 : idata = idata + 1
28049 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28050 2194603 : full_data(idata) = data_tmp
28051 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28052 2194603 : idata = idata + 1
28053 2194603 : data_tmp = ISHFT(pack_tmp, 13)
28054 2194603 : ipack = ipack + 1
28055 2194603 : pack_tmp = packed_data(ipack)
28056 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
28057 2194603 : pack_tmp = ISHFT(pack_tmp, -13)
28058 2194603 : idata = idata + 1
28059 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28060 2194603 : full_data(idata) = data_tmp
28061 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28062 2194603 : idata = idata + 1
28063 2194603 : data_tmp = ISHFT(pack_tmp, 23)
28064 2194603 : ipack = ipack + 1
28065 2194603 : pack_tmp = packed_data(ipack)
28066 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
28067 2194603 : pack_tmp = ISHFT(pack_tmp, -23)
28068 2194603 : idata = idata + 1
28069 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28070 2194603 : full_data(idata) = data_tmp
28071 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28072 2194603 : idata = idata + 1
28073 2194603 : data_tmp = ISHFT(pack_tmp, 33)
28074 2194603 : ipack = ipack + 1
28075 2194603 : pack_tmp = packed_data(ipack)
28076 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
28077 2194603 : pack_tmp = ISHFT(pack_tmp, -33)
28078 2194603 : idata = idata + 1
28079 2194603 : data_tmp = ISHFT(pack_tmp, 6)
28080 2194603 : ipack = ipack + 1
28081 2194603 : pack_tmp = packed_data(ipack)
28082 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
28083 2194603 : pack_tmp = ISHFT(pack_tmp, -6)
28084 2194603 : idata = idata + 1
28085 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28086 2194603 : full_data(idata) = data_tmp
28087 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28088 2194603 : idata = idata + 1
28089 2194603 : data_tmp = ISHFT(pack_tmp, 16)
28090 2194603 : ipack = ipack + 1
28091 2194603 : pack_tmp = packed_data(ipack)
28092 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
28093 2194603 : pack_tmp = ISHFT(pack_tmp, -16)
28094 2194603 : idata = idata + 1
28095 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28096 2194603 : full_data(idata) = data_tmp
28097 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28098 2194603 : idata = idata + 1
28099 2194603 : data_tmp = ISHFT(pack_tmp, 26)
28100 2194603 : ipack = ipack + 1
28101 2194603 : pack_tmp = packed_data(ipack)
28102 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
28103 2194603 : pack_tmp = ISHFT(pack_tmp, -26)
28104 2194603 : idata = idata + 1
28105 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28106 2194603 : full_data(idata) = data_tmp
28107 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28108 2194603 : idata = idata + 1
28109 2194603 : data_tmp = ISHFT(pack_tmp, 36)
28110 2194603 : ipack = ipack + 1
28111 2194603 : pack_tmp = packed_data(ipack)
28112 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
28113 2194603 : pack_tmp = ISHFT(pack_tmp, -36)
28114 2194603 : idata = idata + 1
28115 2194603 : data_tmp = ISHFT(pack_tmp, 9)
28116 2194603 : ipack = ipack + 1
28117 2194603 : pack_tmp = packed_data(ipack)
28118 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
28119 2194603 : pack_tmp = ISHFT(pack_tmp, -9)
28120 2194603 : idata = idata + 1
28121 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28122 2194603 : full_data(idata) = data_tmp
28123 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28124 2194603 : idata = idata + 1
28125 2194603 : data_tmp = ISHFT(pack_tmp, 19)
28126 2194603 : ipack = ipack + 1
28127 2194603 : pack_tmp = packed_data(ipack)
28128 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
28129 2194603 : pack_tmp = ISHFT(pack_tmp, -19)
28130 2194603 : idata = idata + 1
28131 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28132 2194603 : full_data(idata) = data_tmp
28133 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28134 2194603 : idata = idata + 1
28135 2194603 : data_tmp = ISHFT(pack_tmp, 29)
28136 2194603 : ipack = ipack + 1
28137 2194603 : pack_tmp = packed_data(ipack)
28138 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
28139 2194603 : pack_tmp = ISHFT(pack_tmp, -29)
28140 2194603 : idata = idata + 1
28141 2194603 : data_tmp = ISHFT(pack_tmp, 2)
28142 2194603 : ipack = ipack + 1
28143 2194603 : pack_tmp = packed_data(ipack)
28144 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
28145 2194603 : pack_tmp = ISHFT(pack_tmp, -2)
28146 2194603 : idata = idata + 1
28147 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28148 2194603 : full_data(idata) = data_tmp
28149 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28150 2194603 : idata = idata + 1
28151 2194603 : data_tmp = ISHFT(pack_tmp, 12)
28152 2194603 : ipack = ipack + 1
28153 2194603 : pack_tmp = packed_data(ipack)
28154 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
28155 2194603 : pack_tmp = ISHFT(pack_tmp, -12)
28156 2194603 : idata = idata + 1
28157 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28158 2194603 : full_data(idata) = data_tmp
28159 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28160 2194603 : idata = idata + 1
28161 2194603 : data_tmp = ISHFT(pack_tmp, 22)
28162 2194603 : ipack = ipack + 1
28163 2194603 : pack_tmp = packed_data(ipack)
28164 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
28165 2194603 : pack_tmp = ISHFT(pack_tmp, -22)
28166 2194603 : idata = idata + 1
28167 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28168 2194603 : full_data(idata) = data_tmp
28169 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28170 2194603 : idata = idata + 1
28171 2194603 : data_tmp = ISHFT(pack_tmp, 32)
28172 2194603 : ipack = ipack + 1
28173 2194603 : pack_tmp = packed_data(ipack)
28174 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
28175 2194603 : pack_tmp = ISHFT(pack_tmp, -32)
28176 2194603 : idata = idata + 1
28177 2194603 : data_tmp = ISHFT(pack_tmp, 5)
28178 2194603 : ipack = ipack + 1
28179 2194603 : pack_tmp = packed_data(ipack)
28180 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
28181 2194603 : pack_tmp = ISHFT(pack_tmp, -5)
28182 2194603 : idata = idata + 1
28183 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28184 2194603 : full_data(idata) = data_tmp
28185 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28186 2194603 : idata = idata + 1
28187 2194603 : data_tmp = ISHFT(pack_tmp, 15)
28188 2194603 : ipack = ipack + 1
28189 2194603 : pack_tmp = packed_data(ipack)
28190 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
28191 2194603 : pack_tmp = ISHFT(pack_tmp, -15)
28192 2194603 : idata = idata + 1
28193 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28194 2194603 : full_data(idata) = data_tmp
28195 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28196 2194603 : idata = idata + 1
28197 2194603 : data_tmp = ISHFT(pack_tmp, 25)
28198 2194603 : ipack = ipack + 1
28199 2194603 : pack_tmp = packed_data(ipack)
28200 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
28201 2194603 : pack_tmp = ISHFT(pack_tmp, -25)
28202 2194603 : idata = idata + 1
28203 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28204 2194603 : full_data(idata) = data_tmp
28205 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28206 2194603 : idata = idata + 1
28207 2194603 : data_tmp = ISHFT(pack_tmp, 35)
28208 2194603 : ipack = ipack + 1
28209 2194603 : pack_tmp = packed_data(ipack)
28210 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
28211 2194603 : pack_tmp = ISHFT(pack_tmp, -35)
28212 2194603 : idata = idata + 1
28213 2194603 : data_tmp = ISHFT(pack_tmp, 8)
28214 2194603 : ipack = ipack + 1
28215 2194603 : pack_tmp = packed_data(ipack)
28216 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
28217 2194603 : pack_tmp = ISHFT(pack_tmp, -8)
28218 2194603 : idata = idata + 1
28219 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28220 2194603 : full_data(idata) = data_tmp
28221 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28222 2194603 : idata = idata + 1
28223 2194603 : data_tmp = ISHFT(pack_tmp, 18)
28224 2194603 : ipack = ipack + 1
28225 2194603 : pack_tmp = packed_data(ipack)
28226 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
28227 2194603 : pack_tmp = ISHFT(pack_tmp, -18)
28228 2194603 : idata = idata + 1
28229 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28230 2194603 : full_data(idata) = data_tmp
28231 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28232 2194603 : idata = idata + 1
28233 2194603 : data_tmp = ISHFT(pack_tmp, 28)
28234 2194603 : ipack = ipack + 1
28235 2194603 : pack_tmp = packed_data(ipack)
28236 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
28237 2194603 : pack_tmp = ISHFT(pack_tmp, -28)
28238 2194603 : idata = idata + 1
28239 2194603 : data_tmp = ISHFT(pack_tmp, 1)
28240 2194603 : ipack = ipack + 1
28241 2194603 : pack_tmp = packed_data(ipack)
28242 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
28243 2194603 : pack_tmp = ISHFT(pack_tmp, -1)
28244 2194603 : idata = idata + 1
28245 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28246 2194603 : full_data(idata) = data_tmp
28247 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28248 2194603 : idata = idata + 1
28249 2194603 : data_tmp = ISHFT(pack_tmp, 11)
28250 2194603 : ipack = ipack + 1
28251 2194603 : pack_tmp = packed_data(ipack)
28252 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
28253 2194603 : pack_tmp = ISHFT(pack_tmp, -11)
28254 2194603 : idata = idata + 1
28255 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28256 2194603 : full_data(idata) = data_tmp
28257 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28258 2194603 : idata = idata + 1
28259 2194603 : data_tmp = ISHFT(pack_tmp, 21)
28260 2194603 : ipack = ipack + 1
28261 2194603 : pack_tmp = packed_data(ipack)
28262 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
28263 2194603 : pack_tmp = ISHFT(pack_tmp, -21)
28264 2194603 : idata = idata + 1
28265 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28266 2194603 : full_data(idata) = data_tmp
28267 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28268 2194603 : idata = idata + 1
28269 2194603 : data_tmp = ISHFT(pack_tmp, 31)
28270 2194603 : ipack = ipack + 1
28271 2194603 : pack_tmp = packed_data(ipack)
28272 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
28273 2194603 : pack_tmp = ISHFT(pack_tmp, -31)
28274 2194603 : idata = idata + 1
28275 2194603 : data_tmp = ISHFT(pack_tmp, 4)
28276 2194603 : ipack = ipack + 1
28277 2194603 : pack_tmp = packed_data(ipack)
28278 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
28279 2194603 : pack_tmp = ISHFT(pack_tmp, -4)
28280 2194603 : idata = idata + 1
28281 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28282 2194603 : full_data(idata) = data_tmp
28283 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28284 2194603 : idata = idata + 1
28285 2194603 : data_tmp = ISHFT(pack_tmp, 14)
28286 2194603 : ipack = ipack + 1
28287 2194603 : pack_tmp = packed_data(ipack)
28288 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
28289 2194603 : pack_tmp = ISHFT(pack_tmp, -14)
28290 2194603 : idata = idata + 1
28291 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28292 2194603 : full_data(idata) = data_tmp
28293 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28294 2194603 : idata = idata + 1
28295 2194603 : data_tmp = ISHFT(pack_tmp, 24)
28296 2194603 : ipack = ipack + 1
28297 2194603 : pack_tmp = packed_data(ipack)
28298 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
28299 2194603 : pack_tmp = ISHFT(pack_tmp, -24)
28300 2194603 : idata = idata + 1
28301 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28302 2194603 : full_data(idata) = data_tmp
28303 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28304 2194603 : idata = idata + 1
28305 2194603 : data_tmp = ISHFT(pack_tmp, 34)
28306 2194603 : ipack = ipack + 1
28307 2194603 : pack_tmp = packed_data(ipack)
28308 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
28309 2194603 : pack_tmp = ISHFT(pack_tmp, -34)
28310 2194603 : idata = idata + 1
28311 2194603 : data_tmp = ISHFT(pack_tmp, 7)
28312 2194603 : ipack = ipack + 1
28313 2194603 : pack_tmp = packed_data(ipack)
28314 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
28315 2194603 : pack_tmp = ISHFT(pack_tmp, -7)
28316 2194603 : idata = idata + 1
28317 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28318 2194603 : full_data(idata) = data_tmp
28319 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28320 2194603 : idata = idata + 1
28321 2194603 : data_tmp = ISHFT(pack_tmp, 17)
28322 2194603 : ipack = ipack + 1
28323 2194603 : pack_tmp = packed_data(ipack)
28324 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
28325 2194603 : pack_tmp = ISHFT(pack_tmp, -17)
28326 2194603 : idata = idata + 1
28327 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28328 2194603 : full_data(idata) = data_tmp
28329 2194603 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28330 2194603 : idata = idata + 1
28331 2194603 : data_tmp = ISHFT(pack_tmp, 27)
28332 2194603 : ipack = ipack + 1
28333 2194603 : pack_tmp = packed_data(ipack)
28334 2194603 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
28335 2194603 : pack_tmp = ISHFT(pack_tmp, -27)
28336 2194603 : idata = idata + 1
28337 2194603 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28338 2194603 : full_data(idata) = data_tmp
28339 2194858 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28340 : END DO
28341 164321 : IF (Ndata_rep < Ndata) THEN
28342 51050 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
28343 : END IF
28344 164321 : END SUBROUTINE bits2ints_37
28345 :
28346 : ! **************************************************************************************************
28347 : !> \brief ...
28348 : !> \param Ndata ...
28349 : !> \param packed_data ...
28350 : !> \param full_data ...
28351 : ! **************************************************************************************************
28352 39731 : 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(*)
28356 :
28357 : INTEGER, PARAMETER :: Nbits = 38
28358 :
28359 : INTEGER :: idata, ipack, kdata, Ndata_rep
28360 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
28361 :
28362 39731 : idata = 0
28363 39731 : ipack = 0
28364 39731 : Ndata_rep = (Ndata/64)*64
28365 39731 : DO kdata = 1, Ndata_rep, 64
28366 536684 : pack_tmp = 0
28367 536684 : idata = idata + 1
28368 536684 : data_tmp = full_data(idata)
28369 536684 : data_tmp = ISHFT(data_tmp, 26)
28370 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28371 536684 : pack_tmp = ISHFT(pack_tmp, -26)
28372 536684 : idata = idata + 1
28373 536684 : data_tmp = full_data(idata)
28374 536684 : data_tmp = ISHFT(data_tmp, 26)
28375 536684 : data_tmp = IAND(data_tmp, mask_left(26))
28376 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28377 536684 : ipack = ipack + 1
28378 536684 : packed_data(ipack) = pack_tmp
28379 536684 : data_tmp = full_data(idata)
28380 536684 : pack_tmp = ISHFT(data_tmp, 52)
28381 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28382 536684 : idata = idata + 1
28383 536684 : data_tmp = full_data(idata)
28384 536684 : data_tmp = ISHFT(data_tmp, 26)
28385 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28386 536684 : pack_tmp = ISHFT(pack_tmp, -14)
28387 536684 : idata = idata + 1
28388 536684 : data_tmp = full_data(idata)
28389 536684 : data_tmp = ISHFT(data_tmp, 26)
28390 536684 : data_tmp = IAND(data_tmp, mask_left(14))
28391 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28392 536684 : ipack = ipack + 1
28393 536684 : packed_data(ipack) = pack_tmp
28394 536684 : data_tmp = full_data(idata)
28395 536684 : pack_tmp = ISHFT(data_tmp, 40)
28396 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28397 536684 : idata = idata + 1
28398 536684 : data_tmp = full_data(idata)
28399 536684 : data_tmp = ISHFT(data_tmp, 26)
28400 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28401 536684 : pack_tmp = ISHFT(pack_tmp, -2)
28402 536684 : idata = idata + 1
28403 536684 : data_tmp = full_data(idata)
28404 536684 : data_tmp = ISHFT(data_tmp, 26)
28405 536684 : data_tmp = IAND(data_tmp, mask_left(2))
28406 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28407 536684 : ipack = ipack + 1
28408 536684 : packed_data(ipack) = pack_tmp
28409 536684 : data_tmp = full_data(idata)
28410 536684 : pack_tmp = ISHFT(data_tmp, 28)
28411 536684 : pack_tmp = ISHFT(pack_tmp, -28)
28412 536684 : idata = idata + 1
28413 536684 : data_tmp = full_data(idata)
28414 536684 : data_tmp = ISHFT(data_tmp, 26)
28415 536684 : data_tmp = IAND(data_tmp, mask_left(28))
28416 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28417 536684 : ipack = ipack + 1
28418 536684 : packed_data(ipack) = pack_tmp
28419 536684 : data_tmp = full_data(idata)
28420 536684 : pack_tmp = ISHFT(data_tmp, 54)
28421 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28422 536684 : idata = idata + 1
28423 536684 : data_tmp = full_data(idata)
28424 536684 : data_tmp = ISHFT(data_tmp, 26)
28425 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28426 536684 : pack_tmp = ISHFT(pack_tmp, -16)
28427 536684 : idata = idata + 1
28428 536684 : data_tmp = full_data(idata)
28429 536684 : data_tmp = ISHFT(data_tmp, 26)
28430 536684 : data_tmp = IAND(data_tmp, mask_left(16))
28431 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28432 536684 : ipack = ipack + 1
28433 536684 : packed_data(ipack) = pack_tmp
28434 536684 : data_tmp = full_data(idata)
28435 536684 : pack_tmp = ISHFT(data_tmp, 42)
28436 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28437 536684 : idata = idata + 1
28438 536684 : data_tmp = full_data(idata)
28439 536684 : data_tmp = ISHFT(data_tmp, 26)
28440 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28441 536684 : pack_tmp = ISHFT(pack_tmp, -4)
28442 536684 : idata = idata + 1
28443 536684 : data_tmp = full_data(idata)
28444 536684 : data_tmp = ISHFT(data_tmp, 26)
28445 536684 : data_tmp = IAND(data_tmp, mask_left(4))
28446 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28447 536684 : ipack = ipack + 1
28448 536684 : packed_data(ipack) = pack_tmp
28449 536684 : data_tmp = full_data(idata)
28450 536684 : pack_tmp = ISHFT(data_tmp, 30)
28451 536684 : pack_tmp = ISHFT(pack_tmp, -30)
28452 536684 : idata = idata + 1
28453 536684 : data_tmp = full_data(idata)
28454 536684 : data_tmp = ISHFT(data_tmp, 26)
28455 536684 : data_tmp = IAND(data_tmp, mask_left(30))
28456 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28457 536684 : ipack = ipack + 1
28458 536684 : packed_data(ipack) = pack_tmp
28459 536684 : data_tmp = full_data(idata)
28460 536684 : pack_tmp = ISHFT(data_tmp, 56)
28461 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28462 536684 : idata = idata + 1
28463 536684 : data_tmp = full_data(idata)
28464 536684 : data_tmp = ISHFT(data_tmp, 26)
28465 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28466 536684 : pack_tmp = ISHFT(pack_tmp, -18)
28467 536684 : idata = idata + 1
28468 536684 : data_tmp = full_data(idata)
28469 536684 : data_tmp = ISHFT(data_tmp, 26)
28470 536684 : data_tmp = IAND(data_tmp, mask_left(18))
28471 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28472 536684 : ipack = ipack + 1
28473 536684 : packed_data(ipack) = pack_tmp
28474 536684 : data_tmp = full_data(idata)
28475 536684 : pack_tmp = ISHFT(data_tmp, 44)
28476 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28477 536684 : idata = idata + 1
28478 536684 : data_tmp = full_data(idata)
28479 536684 : data_tmp = ISHFT(data_tmp, 26)
28480 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28481 536684 : pack_tmp = ISHFT(pack_tmp, -6)
28482 536684 : idata = idata + 1
28483 536684 : data_tmp = full_data(idata)
28484 536684 : data_tmp = ISHFT(data_tmp, 26)
28485 536684 : data_tmp = IAND(data_tmp, mask_left(6))
28486 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28487 536684 : ipack = ipack + 1
28488 536684 : packed_data(ipack) = pack_tmp
28489 536684 : data_tmp = full_data(idata)
28490 536684 : pack_tmp = ISHFT(data_tmp, 32)
28491 536684 : pack_tmp = ISHFT(pack_tmp, -32)
28492 536684 : idata = idata + 1
28493 536684 : data_tmp = full_data(idata)
28494 536684 : data_tmp = ISHFT(data_tmp, 26)
28495 536684 : data_tmp = IAND(data_tmp, mask_left(32))
28496 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28497 536684 : ipack = ipack + 1
28498 536684 : packed_data(ipack) = pack_tmp
28499 536684 : data_tmp = full_data(idata)
28500 536684 : pack_tmp = ISHFT(data_tmp, 58)
28501 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28502 536684 : idata = idata + 1
28503 536684 : data_tmp = full_data(idata)
28504 536684 : data_tmp = ISHFT(data_tmp, 26)
28505 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28506 536684 : pack_tmp = ISHFT(pack_tmp, -20)
28507 536684 : idata = idata + 1
28508 536684 : data_tmp = full_data(idata)
28509 536684 : data_tmp = ISHFT(data_tmp, 26)
28510 536684 : data_tmp = IAND(data_tmp, mask_left(20))
28511 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28512 536684 : ipack = ipack + 1
28513 536684 : packed_data(ipack) = pack_tmp
28514 536684 : data_tmp = full_data(idata)
28515 536684 : pack_tmp = ISHFT(data_tmp, 46)
28516 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28517 536684 : idata = idata + 1
28518 536684 : data_tmp = full_data(idata)
28519 536684 : data_tmp = ISHFT(data_tmp, 26)
28520 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28521 536684 : pack_tmp = ISHFT(pack_tmp, -8)
28522 536684 : idata = idata + 1
28523 536684 : data_tmp = full_data(idata)
28524 536684 : data_tmp = ISHFT(data_tmp, 26)
28525 536684 : data_tmp = IAND(data_tmp, mask_left(8))
28526 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28527 536684 : ipack = ipack + 1
28528 536684 : packed_data(ipack) = pack_tmp
28529 536684 : data_tmp = full_data(idata)
28530 536684 : pack_tmp = ISHFT(data_tmp, 34)
28531 536684 : pack_tmp = ISHFT(pack_tmp, -34)
28532 536684 : idata = idata + 1
28533 536684 : data_tmp = full_data(idata)
28534 536684 : data_tmp = ISHFT(data_tmp, 26)
28535 536684 : data_tmp = IAND(data_tmp, mask_left(34))
28536 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28537 536684 : ipack = ipack + 1
28538 536684 : packed_data(ipack) = pack_tmp
28539 536684 : data_tmp = full_data(idata)
28540 536684 : pack_tmp = ISHFT(data_tmp, 60)
28541 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28542 536684 : idata = idata + 1
28543 536684 : data_tmp = full_data(idata)
28544 536684 : data_tmp = ISHFT(data_tmp, 26)
28545 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28546 536684 : pack_tmp = ISHFT(pack_tmp, -22)
28547 536684 : idata = idata + 1
28548 536684 : data_tmp = full_data(idata)
28549 536684 : data_tmp = ISHFT(data_tmp, 26)
28550 536684 : data_tmp = IAND(data_tmp, mask_left(22))
28551 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28552 536684 : ipack = ipack + 1
28553 536684 : packed_data(ipack) = pack_tmp
28554 536684 : data_tmp = full_data(idata)
28555 536684 : pack_tmp = ISHFT(data_tmp, 48)
28556 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28557 536684 : idata = idata + 1
28558 536684 : data_tmp = full_data(idata)
28559 536684 : data_tmp = ISHFT(data_tmp, 26)
28560 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28561 536684 : pack_tmp = ISHFT(pack_tmp, -10)
28562 536684 : idata = idata + 1
28563 536684 : data_tmp = full_data(idata)
28564 536684 : data_tmp = ISHFT(data_tmp, 26)
28565 536684 : data_tmp = IAND(data_tmp, mask_left(10))
28566 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28567 536684 : ipack = ipack + 1
28568 536684 : packed_data(ipack) = pack_tmp
28569 536684 : data_tmp = full_data(idata)
28570 536684 : pack_tmp = ISHFT(data_tmp, 36)
28571 536684 : pack_tmp = ISHFT(pack_tmp, -36)
28572 536684 : idata = idata + 1
28573 536684 : data_tmp = full_data(idata)
28574 536684 : data_tmp = ISHFT(data_tmp, 26)
28575 536684 : data_tmp = IAND(data_tmp, mask_left(36))
28576 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28577 536684 : ipack = ipack + 1
28578 536684 : packed_data(ipack) = pack_tmp
28579 536684 : data_tmp = full_data(idata)
28580 536684 : pack_tmp = ISHFT(data_tmp, 62)
28581 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28582 536684 : idata = idata + 1
28583 536684 : data_tmp = full_data(idata)
28584 536684 : data_tmp = ISHFT(data_tmp, 26)
28585 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28586 536684 : pack_tmp = ISHFT(pack_tmp, -24)
28587 536684 : idata = idata + 1
28588 536684 : data_tmp = full_data(idata)
28589 536684 : data_tmp = ISHFT(data_tmp, 26)
28590 536684 : data_tmp = IAND(data_tmp, mask_left(24))
28591 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28592 536684 : ipack = ipack + 1
28593 536684 : packed_data(ipack) = pack_tmp
28594 536684 : data_tmp = full_data(idata)
28595 536684 : pack_tmp = ISHFT(data_tmp, 50)
28596 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28597 536684 : idata = idata + 1
28598 536684 : data_tmp = full_data(idata)
28599 536684 : data_tmp = ISHFT(data_tmp, 26)
28600 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28601 536684 : pack_tmp = ISHFT(pack_tmp, -12)
28602 536684 : idata = idata + 1
28603 536684 : data_tmp = full_data(idata)
28604 536684 : data_tmp = ISHFT(data_tmp, 26)
28605 536684 : data_tmp = IAND(data_tmp, mask_left(12))
28606 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28607 536684 : ipack = ipack + 1
28608 536684 : packed_data(ipack) = pack_tmp
28609 536684 : data_tmp = full_data(idata)
28610 536684 : pack_tmp = ISHFT(data_tmp, 38)
28611 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28612 536684 : idata = idata + 1
28613 536684 : data_tmp = full_data(idata)
28614 536684 : data_tmp = ISHFT(data_tmp, 26)
28615 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28616 536684 : pack_tmp = ISHFT(pack_tmp, 0)
28617 536684 : idata = idata + 1
28618 536684 : data_tmp = full_data(idata)
28619 : data_tmp = ISHFT(data_tmp, 26)
28620 536684 : data_tmp = IAND(data_tmp, mask_left(0))
28621 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28622 536684 : ipack = ipack + 1
28623 536684 : packed_data(ipack) = pack_tmp
28624 536684 : data_tmp = full_data(idata)
28625 536684 : pack_tmp = ISHFT(data_tmp, 26)
28626 536684 : pack_tmp = ISHFT(pack_tmp, -26)
28627 536684 : idata = idata + 1
28628 536684 : data_tmp = full_data(idata)
28629 536684 : data_tmp = ISHFT(data_tmp, 26)
28630 536684 : data_tmp = IAND(data_tmp, mask_left(26))
28631 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28632 536684 : ipack = ipack + 1
28633 536684 : packed_data(ipack) = pack_tmp
28634 536684 : data_tmp = full_data(idata)
28635 536684 : pack_tmp = ISHFT(data_tmp, 52)
28636 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28637 536684 : idata = idata + 1
28638 536684 : data_tmp = full_data(idata)
28639 536684 : data_tmp = ISHFT(data_tmp, 26)
28640 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28641 536684 : pack_tmp = ISHFT(pack_tmp, -14)
28642 536684 : idata = idata + 1
28643 536684 : data_tmp = full_data(idata)
28644 536684 : data_tmp = ISHFT(data_tmp, 26)
28645 536684 : data_tmp = IAND(data_tmp, mask_left(14))
28646 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28647 536684 : ipack = ipack + 1
28648 536684 : packed_data(ipack) = pack_tmp
28649 536684 : data_tmp = full_data(idata)
28650 536684 : pack_tmp = ISHFT(data_tmp, 40)
28651 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28652 536684 : idata = idata + 1
28653 536684 : data_tmp = full_data(idata)
28654 536684 : data_tmp = ISHFT(data_tmp, 26)
28655 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28656 536684 : pack_tmp = ISHFT(pack_tmp, -2)
28657 536684 : idata = idata + 1
28658 536684 : data_tmp = full_data(idata)
28659 536684 : data_tmp = ISHFT(data_tmp, 26)
28660 536684 : data_tmp = IAND(data_tmp, mask_left(2))
28661 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28662 536684 : ipack = ipack + 1
28663 536684 : packed_data(ipack) = pack_tmp
28664 536684 : data_tmp = full_data(idata)
28665 536684 : pack_tmp = ISHFT(data_tmp, 28)
28666 536684 : pack_tmp = ISHFT(pack_tmp, -28)
28667 536684 : idata = idata + 1
28668 536684 : data_tmp = full_data(idata)
28669 536684 : data_tmp = ISHFT(data_tmp, 26)
28670 536684 : data_tmp = IAND(data_tmp, mask_left(28))
28671 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28672 536684 : ipack = ipack + 1
28673 536684 : packed_data(ipack) = pack_tmp
28674 536684 : data_tmp = full_data(idata)
28675 536684 : pack_tmp = ISHFT(data_tmp, 54)
28676 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28677 536684 : idata = idata + 1
28678 536684 : data_tmp = full_data(idata)
28679 536684 : data_tmp = ISHFT(data_tmp, 26)
28680 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28681 536684 : pack_tmp = ISHFT(pack_tmp, -16)
28682 536684 : idata = idata + 1
28683 536684 : data_tmp = full_data(idata)
28684 536684 : data_tmp = ISHFT(data_tmp, 26)
28685 536684 : data_tmp = IAND(data_tmp, mask_left(16))
28686 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28687 536684 : ipack = ipack + 1
28688 536684 : packed_data(ipack) = pack_tmp
28689 536684 : data_tmp = full_data(idata)
28690 536684 : pack_tmp = ISHFT(data_tmp, 42)
28691 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28692 536684 : idata = idata + 1
28693 536684 : data_tmp = full_data(idata)
28694 536684 : data_tmp = ISHFT(data_tmp, 26)
28695 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28696 536684 : pack_tmp = ISHFT(pack_tmp, -4)
28697 536684 : idata = idata + 1
28698 536684 : data_tmp = full_data(idata)
28699 536684 : data_tmp = ISHFT(data_tmp, 26)
28700 536684 : data_tmp = IAND(data_tmp, mask_left(4))
28701 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28702 536684 : ipack = ipack + 1
28703 536684 : packed_data(ipack) = pack_tmp
28704 536684 : data_tmp = full_data(idata)
28705 536684 : pack_tmp = ISHFT(data_tmp, 30)
28706 536684 : pack_tmp = ISHFT(pack_tmp, -30)
28707 536684 : idata = idata + 1
28708 536684 : data_tmp = full_data(idata)
28709 536684 : data_tmp = ISHFT(data_tmp, 26)
28710 536684 : data_tmp = IAND(data_tmp, mask_left(30))
28711 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28712 536684 : ipack = ipack + 1
28713 536684 : packed_data(ipack) = pack_tmp
28714 536684 : data_tmp = full_data(idata)
28715 536684 : pack_tmp = ISHFT(data_tmp, 56)
28716 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28717 536684 : idata = idata + 1
28718 536684 : data_tmp = full_data(idata)
28719 536684 : data_tmp = ISHFT(data_tmp, 26)
28720 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28721 536684 : pack_tmp = ISHFT(pack_tmp, -18)
28722 536684 : idata = idata + 1
28723 536684 : data_tmp = full_data(idata)
28724 536684 : data_tmp = ISHFT(data_tmp, 26)
28725 536684 : data_tmp = IAND(data_tmp, mask_left(18))
28726 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28727 536684 : ipack = ipack + 1
28728 536684 : packed_data(ipack) = pack_tmp
28729 536684 : data_tmp = full_data(idata)
28730 536684 : pack_tmp = ISHFT(data_tmp, 44)
28731 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28732 536684 : idata = idata + 1
28733 536684 : data_tmp = full_data(idata)
28734 536684 : data_tmp = ISHFT(data_tmp, 26)
28735 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28736 536684 : pack_tmp = ISHFT(pack_tmp, -6)
28737 536684 : idata = idata + 1
28738 536684 : data_tmp = full_data(idata)
28739 536684 : data_tmp = ISHFT(data_tmp, 26)
28740 536684 : data_tmp = IAND(data_tmp, mask_left(6))
28741 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28742 536684 : ipack = ipack + 1
28743 536684 : packed_data(ipack) = pack_tmp
28744 536684 : data_tmp = full_data(idata)
28745 536684 : pack_tmp = ISHFT(data_tmp, 32)
28746 536684 : pack_tmp = ISHFT(pack_tmp, -32)
28747 536684 : idata = idata + 1
28748 536684 : data_tmp = full_data(idata)
28749 536684 : data_tmp = ISHFT(data_tmp, 26)
28750 536684 : data_tmp = IAND(data_tmp, mask_left(32))
28751 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28752 536684 : ipack = ipack + 1
28753 536684 : packed_data(ipack) = pack_tmp
28754 536684 : data_tmp = full_data(idata)
28755 536684 : pack_tmp = ISHFT(data_tmp, 58)
28756 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28757 536684 : idata = idata + 1
28758 536684 : data_tmp = full_data(idata)
28759 536684 : data_tmp = ISHFT(data_tmp, 26)
28760 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28761 536684 : pack_tmp = ISHFT(pack_tmp, -20)
28762 536684 : idata = idata + 1
28763 536684 : data_tmp = full_data(idata)
28764 536684 : data_tmp = ISHFT(data_tmp, 26)
28765 536684 : data_tmp = IAND(data_tmp, mask_left(20))
28766 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28767 536684 : ipack = ipack + 1
28768 536684 : packed_data(ipack) = pack_tmp
28769 536684 : data_tmp = full_data(idata)
28770 536684 : pack_tmp = ISHFT(data_tmp, 46)
28771 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28772 536684 : idata = idata + 1
28773 536684 : data_tmp = full_data(idata)
28774 536684 : data_tmp = ISHFT(data_tmp, 26)
28775 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28776 536684 : pack_tmp = ISHFT(pack_tmp, -8)
28777 536684 : idata = idata + 1
28778 536684 : data_tmp = full_data(idata)
28779 536684 : data_tmp = ISHFT(data_tmp, 26)
28780 536684 : data_tmp = IAND(data_tmp, mask_left(8))
28781 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28782 536684 : ipack = ipack + 1
28783 536684 : packed_data(ipack) = pack_tmp
28784 536684 : data_tmp = full_data(idata)
28785 536684 : pack_tmp = ISHFT(data_tmp, 34)
28786 536684 : pack_tmp = ISHFT(pack_tmp, -34)
28787 536684 : idata = idata + 1
28788 536684 : data_tmp = full_data(idata)
28789 536684 : data_tmp = ISHFT(data_tmp, 26)
28790 536684 : data_tmp = IAND(data_tmp, mask_left(34))
28791 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28792 536684 : ipack = ipack + 1
28793 536684 : packed_data(ipack) = pack_tmp
28794 536684 : data_tmp = full_data(idata)
28795 536684 : pack_tmp = ISHFT(data_tmp, 60)
28796 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28797 536684 : idata = idata + 1
28798 536684 : data_tmp = full_data(idata)
28799 536684 : data_tmp = ISHFT(data_tmp, 26)
28800 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28801 536684 : pack_tmp = ISHFT(pack_tmp, -22)
28802 536684 : idata = idata + 1
28803 536684 : data_tmp = full_data(idata)
28804 536684 : data_tmp = ISHFT(data_tmp, 26)
28805 536684 : data_tmp = IAND(data_tmp, mask_left(22))
28806 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28807 536684 : ipack = ipack + 1
28808 536684 : packed_data(ipack) = pack_tmp
28809 536684 : data_tmp = full_data(idata)
28810 536684 : pack_tmp = ISHFT(data_tmp, 48)
28811 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28812 536684 : idata = idata + 1
28813 536684 : data_tmp = full_data(idata)
28814 536684 : data_tmp = ISHFT(data_tmp, 26)
28815 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28816 536684 : pack_tmp = ISHFT(pack_tmp, -10)
28817 536684 : idata = idata + 1
28818 536684 : data_tmp = full_data(idata)
28819 536684 : data_tmp = ISHFT(data_tmp, 26)
28820 536684 : data_tmp = IAND(data_tmp, mask_left(10))
28821 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28822 536684 : ipack = ipack + 1
28823 536684 : packed_data(ipack) = pack_tmp
28824 536684 : data_tmp = full_data(idata)
28825 536684 : pack_tmp = ISHFT(data_tmp, 36)
28826 536684 : pack_tmp = ISHFT(pack_tmp, -36)
28827 536684 : idata = idata + 1
28828 536684 : data_tmp = full_data(idata)
28829 536684 : data_tmp = ISHFT(data_tmp, 26)
28830 536684 : data_tmp = IAND(data_tmp, mask_left(36))
28831 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28832 536684 : ipack = ipack + 1
28833 536684 : packed_data(ipack) = pack_tmp
28834 536684 : data_tmp = full_data(idata)
28835 536684 : pack_tmp = ISHFT(data_tmp, 62)
28836 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28837 536684 : idata = idata + 1
28838 536684 : data_tmp = full_data(idata)
28839 536684 : data_tmp = ISHFT(data_tmp, 26)
28840 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28841 536684 : pack_tmp = ISHFT(pack_tmp, -24)
28842 536684 : idata = idata + 1
28843 536684 : data_tmp = full_data(idata)
28844 536684 : data_tmp = ISHFT(data_tmp, 26)
28845 536684 : data_tmp = IAND(data_tmp, mask_left(24))
28846 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28847 536684 : ipack = ipack + 1
28848 536684 : packed_data(ipack) = pack_tmp
28849 536684 : data_tmp = full_data(idata)
28850 536684 : pack_tmp = ISHFT(data_tmp, 50)
28851 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28852 536684 : idata = idata + 1
28853 536684 : data_tmp = full_data(idata)
28854 536684 : data_tmp = ISHFT(data_tmp, 26)
28855 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28856 536684 : pack_tmp = ISHFT(pack_tmp, -12)
28857 536684 : idata = idata + 1
28858 536684 : data_tmp = full_data(idata)
28859 536684 : data_tmp = ISHFT(data_tmp, 26)
28860 536684 : data_tmp = IAND(data_tmp, mask_left(12))
28861 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28862 536684 : ipack = ipack + 1
28863 536684 : packed_data(ipack) = pack_tmp
28864 536684 : data_tmp = full_data(idata)
28865 536684 : pack_tmp = ISHFT(data_tmp, 38)
28866 536684 : pack_tmp = ISHFT(pack_tmp, -38)
28867 536684 : idata = idata + 1
28868 536684 : data_tmp = full_data(idata)
28869 536684 : data_tmp = ISHFT(data_tmp, 26)
28870 536684 : pack_tmp = IOR(pack_tmp, data_tmp)
28871 : pack_tmp = ISHFT(pack_tmp, 0)
28872 536684 : pack_tmp = ISHFT(pack_tmp, 0)
28873 536684 : ipack = ipack + 1
28874 537238 : packed_data(ipack) = pack_tmp
28875 : END DO
28876 39731 : IF (Ndata_rep < Ndata) THEN
28877 11432 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
28878 : END IF
28879 39731 : END SUBROUTINE ints2bits_38
28880 :
28881 : ! **************************************************************************************************
28882 : !> \brief ...
28883 : !> \param Ndata ...
28884 : !> \param packed_data ...
28885 : !> \param full_data ...
28886 : ! **************************************************************************************************
28887 184015 : 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(*)
28891 :
28892 : INTEGER, PARAMETER :: Nbits = 38
28893 :
28894 : INTEGER :: idata, ipack, kdata, Ndata_rep
28895 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
28896 :
28897 184015 : ipack = 0
28898 184015 : idata = 0
28899 184015 : pack_tmp = 0
28900 184015 : Ndata_rep = (Ndata/64)*64
28901 184015 : DO kdata = 1, Ndata_rep, 64
28902 2393558 : idata = idata + 1
28903 2393558 : data_tmp = ISHFT(pack_tmp, 38)
28904 2393558 : ipack = ipack + 1
28905 2393558 : pack_tmp = packed_data(ipack)
28906 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
28907 2393558 : pack_tmp = ISHFT(pack_tmp, -38)
28908 2393558 : idata = idata + 1
28909 2393558 : data_tmp = ISHFT(pack_tmp, 12)
28910 2393558 : ipack = ipack + 1
28911 2393558 : pack_tmp = packed_data(ipack)
28912 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
28913 2393558 : pack_tmp = ISHFT(pack_tmp, -12)
28914 2393558 : idata = idata + 1
28915 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28916 2393558 : full_data(idata) = data_tmp
28917 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28918 2393558 : idata = idata + 1
28919 2393558 : data_tmp = ISHFT(pack_tmp, 24)
28920 2393558 : ipack = ipack + 1
28921 2393558 : pack_tmp = packed_data(ipack)
28922 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
28923 2393558 : pack_tmp = ISHFT(pack_tmp, -24)
28924 2393558 : idata = idata + 1
28925 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28926 2393558 : full_data(idata) = data_tmp
28927 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28928 2393558 : idata = idata + 1
28929 2393558 : data_tmp = ISHFT(pack_tmp, 36)
28930 2393558 : ipack = ipack + 1
28931 2393558 : pack_tmp = packed_data(ipack)
28932 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
28933 2393558 : pack_tmp = ISHFT(pack_tmp, -36)
28934 2393558 : idata = idata + 1
28935 2393558 : data_tmp = ISHFT(pack_tmp, 10)
28936 2393558 : ipack = ipack + 1
28937 2393558 : pack_tmp = packed_data(ipack)
28938 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
28939 2393558 : pack_tmp = ISHFT(pack_tmp, -10)
28940 2393558 : idata = idata + 1
28941 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28942 2393558 : full_data(idata) = data_tmp
28943 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28944 2393558 : idata = idata + 1
28945 2393558 : data_tmp = ISHFT(pack_tmp, 22)
28946 2393558 : ipack = ipack + 1
28947 2393558 : pack_tmp = packed_data(ipack)
28948 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
28949 2393558 : pack_tmp = ISHFT(pack_tmp, -22)
28950 2393558 : idata = idata + 1
28951 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28952 2393558 : full_data(idata) = data_tmp
28953 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28954 2393558 : idata = idata + 1
28955 2393558 : data_tmp = ISHFT(pack_tmp, 34)
28956 2393558 : ipack = ipack + 1
28957 2393558 : pack_tmp = packed_data(ipack)
28958 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
28959 2393558 : pack_tmp = ISHFT(pack_tmp, -34)
28960 2393558 : idata = idata + 1
28961 2393558 : data_tmp = ISHFT(pack_tmp, 8)
28962 2393558 : ipack = ipack + 1
28963 2393558 : pack_tmp = packed_data(ipack)
28964 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
28965 2393558 : pack_tmp = ISHFT(pack_tmp, -8)
28966 2393558 : idata = idata + 1
28967 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28968 2393558 : full_data(idata) = data_tmp
28969 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28970 2393558 : idata = idata + 1
28971 2393558 : data_tmp = ISHFT(pack_tmp, 20)
28972 2393558 : ipack = ipack + 1
28973 2393558 : pack_tmp = packed_data(ipack)
28974 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
28975 2393558 : pack_tmp = ISHFT(pack_tmp, -20)
28976 2393558 : idata = idata + 1
28977 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28978 2393558 : full_data(idata) = data_tmp
28979 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28980 2393558 : idata = idata + 1
28981 2393558 : data_tmp = ISHFT(pack_tmp, 32)
28982 2393558 : ipack = ipack + 1
28983 2393558 : pack_tmp = packed_data(ipack)
28984 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
28985 2393558 : pack_tmp = ISHFT(pack_tmp, -32)
28986 2393558 : idata = idata + 1
28987 2393558 : data_tmp = ISHFT(pack_tmp, 6)
28988 2393558 : ipack = ipack + 1
28989 2393558 : pack_tmp = packed_data(ipack)
28990 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
28991 2393558 : pack_tmp = ISHFT(pack_tmp, -6)
28992 2393558 : idata = idata + 1
28993 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
28994 2393558 : full_data(idata) = data_tmp
28995 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
28996 2393558 : idata = idata + 1
28997 2393558 : data_tmp = ISHFT(pack_tmp, 18)
28998 2393558 : ipack = ipack + 1
28999 2393558 : pack_tmp = packed_data(ipack)
29000 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29001 2393558 : pack_tmp = ISHFT(pack_tmp, -18)
29002 2393558 : idata = idata + 1
29003 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29004 2393558 : full_data(idata) = data_tmp
29005 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29006 2393558 : idata = idata + 1
29007 2393558 : data_tmp = ISHFT(pack_tmp, 30)
29008 2393558 : ipack = ipack + 1
29009 2393558 : pack_tmp = packed_data(ipack)
29010 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
29011 2393558 : pack_tmp = ISHFT(pack_tmp, -30)
29012 2393558 : idata = idata + 1
29013 2393558 : data_tmp = ISHFT(pack_tmp, 4)
29014 2393558 : ipack = ipack + 1
29015 2393558 : pack_tmp = packed_data(ipack)
29016 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29017 2393558 : pack_tmp = ISHFT(pack_tmp, -4)
29018 2393558 : idata = idata + 1
29019 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29020 2393558 : full_data(idata) = data_tmp
29021 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29022 2393558 : idata = idata + 1
29023 2393558 : data_tmp = ISHFT(pack_tmp, 16)
29024 2393558 : ipack = ipack + 1
29025 2393558 : pack_tmp = packed_data(ipack)
29026 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
29027 2393558 : pack_tmp = ISHFT(pack_tmp, -16)
29028 2393558 : idata = idata + 1
29029 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29030 2393558 : full_data(idata) = data_tmp
29031 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29032 2393558 : idata = idata + 1
29033 2393558 : data_tmp = ISHFT(pack_tmp, 28)
29034 2393558 : ipack = ipack + 1
29035 2393558 : pack_tmp = packed_data(ipack)
29036 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29037 2393558 : pack_tmp = ISHFT(pack_tmp, -28)
29038 2393558 : idata = idata + 1
29039 2393558 : data_tmp = ISHFT(pack_tmp, 2)
29040 2393558 : ipack = ipack + 1
29041 2393558 : pack_tmp = packed_data(ipack)
29042 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
29043 2393558 : pack_tmp = ISHFT(pack_tmp, -2)
29044 2393558 : idata = idata + 1
29045 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29046 2393558 : full_data(idata) = data_tmp
29047 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29048 2393558 : idata = idata + 1
29049 2393558 : data_tmp = ISHFT(pack_tmp, 14)
29050 2393558 : ipack = ipack + 1
29051 2393558 : pack_tmp = packed_data(ipack)
29052 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29053 2393558 : pack_tmp = ISHFT(pack_tmp, -14)
29054 2393558 : idata = idata + 1
29055 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29056 2393558 : full_data(idata) = data_tmp
29057 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29058 2393558 : idata = idata + 1
29059 2393558 : data_tmp = ISHFT(pack_tmp, 26)
29060 2393558 : ipack = ipack + 1
29061 2393558 : pack_tmp = packed_data(ipack)
29062 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29063 2393558 : pack_tmp = ISHFT(pack_tmp, -26)
29064 2393558 : idata = idata + 1
29065 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29066 2393558 : full_data(idata) = data_tmp
29067 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29068 2393558 : idata = idata + 1
29069 2393558 : data_tmp = ISHFT(pack_tmp, 38)
29070 2393558 : ipack = ipack + 1
29071 2393558 : pack_tmp = packed_data(ipack)
29072 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
29073 2393558 : pack_tmp = ISHFT(pack_tmp, -38)
29074 2393558 : idata = idata + 1
29075 2393558 : data_tmp = ISHFT(pack_tmp, 12)
29076 2393558 : ipack = ipack + 1
29077 2393558 : pack_tmp = packed_data(ipack)
29078 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
29079 2393558 : pack_tmp = ISHFT(pack_tmp, -12)
29080 2393558 : idata = idata + 1
29081 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29082 2393558 : full_data(idata) = data_tmp
29083 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29084 2393558 : idata = idata + 1
29085 2393558 : data_tmp = ISHFT(pack_tmp, 24)
29086 2393558 : ipack = ipack + 1
29087 2393558 : pack_tmp = packed_data(ipack)
29088 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
29089 2393558 : pack_tmp = ISHFT(pack_tmp, -24)
29090 2393558 : idata = idata + 1
29091 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29092 2393558 : full_data(idata) = data_tmp
29093 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29094 2393558 : idata = idata + 1
29095 2393558 : data_tmp = ISHFT(pack_tmp, 36)
29096 2393558 : ipack = ipack + 1
29097 2393558 : pack_tmp = packed_data(ipack)
29098 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
29099 2393558 : pack_tmp = ISHFT(pack_tmp, -36)
29100 2393558 : idata = idata + 1
29101 2393558 : data_tmp = ISHFT(pack_tmp, 10)
29102 2393558 : ipack = ipack + 1
29103 2393558 : pack_tmp = packed_data(ipack)
29104 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
29105 2393558 : pack_tmp = ISHFT(pack_tmp, -10)
29106 2393558 : idata = idata + 1
29107 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29108 2393558 : full_data(idata) = data_tmp
29109 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29110 2393558 : idata = idata + 1
29111 2393558 : data_tmp = ISHFT(pack_tmp, 22)
29112 2393558 : ipack = ipack + 1
29113 2393558 : pack_tmp = packed_data(ipack)
29114 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
29115 2393558 : pack_tmp = ISHFT(pack_tmp, -22)
29116 2393558 : idata = idata + 1
29117 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29118 2393558 : full_data(idata) = data_tmp
29119 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29120 2393558 : idata = idata + 1
29121 2393558 : data_tmp = ISHFT(pack_tmp, 34)
29122 2393558 : ipack = ipack + 1
29123 2393558 : pack_tmp = packed_data(ipack)
29124 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
29125 2393558 : pack_tmp = ISHFT(pack_tmp, -34)
29126 2393558 : idata = idata + 1
29127 2393558 : data_tmp = ISHFT(pack_tmp, 8)
29128 2393558 : ipack = ipack + 1
29129 2393558 : pack_tmp = packed_data(ipack)
29130 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
29131 2393558 : pack_tmp = ISHFT(pack_tmp, -8)
29132 2393558 : idata = idata + 1
29133 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29134 2393558 : full_data(idata) = data_tmp
29135 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29136 2393558 : idata = idata + 1
29137 2393558 : data_tmp = ISHFT(pack_tmp, 20)
29138 2393558 : ipack = ipack + 1
29139 2393558 : pack_tmp = packed_data(ipack)
29140 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
29141 2393558 : pack_tmp = ISHFT(pack_tmp, -20)
29142 2393558 : idata = idata + 1
29143 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29144 2393558 : full_data(idata) = data_tmp
29145 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29146 2393558 : idata = idata + 1
29147 2393558 : data_tmp = ISHFT(pack_tmp, 32)
29148 2393558 : ipack = ipack + 1
29149 2393558 : pack_tmp = packed_data(ipack)
29150 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
29151 2393558 : pack_tmp = ISHFT(pack_tmp, -32)
29152 2393558 : idata = idata + 1
29153 2393558 : data_tmp = ISHFT(pack_tmp, 6)
29154 2393558 : ipack = ipack + 1
29155 2393558 : pack_tmp = packed_data(ipack)
29156 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
29157 2393558 : pack_tmp = ISHFT(pack_tmp, -6)
29158 2393558 : idata = idata + 1
29159 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29160 2393558 : full_data(idata) = data_tmp
29161 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29162 2393558 : idata = idata + 1
29163 2393558 : data_tmp = ISHFT(pack_tmp, 18)
29164 2393558 : ipack = ipack + 1
29165 2393558 : pack_tmp = packed_data(ipack)
29166 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29167 2393558 : pack_tmp = ISHFT(pack_tmp, -18)
29168 2393558 : idata = idata + 1
29169 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29170 2393558 : full_data(idata) = data_tmp
29171 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29172 2393558 : idata = idata + 1
29173 2393558 : data_tmp = ISHFT(pack_tmp, 30)
29174 2393558 : ipack = ipack + 1
29175 2393558 : pack_tmp = packed_data(ipack)
29176 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
29177 2393558 : pack_tmp = ISHFT(pack_tmp, -30)
29178 2393558 : idata = idata + 1
29179 2393558 : data_tmp = ISHFT(pack_tmp, 4)
29180 2393558 : ipack = ipack + 1
29181 2393558 : pack_tmp = packed_data(ipack)
29182 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29183 2393558 : pack_tmp = ISHFT(pack_tmp, -4)
29184 2393558 : idata = idata + 1
29185 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29186 2393558 : full_data(idata) = data_tmp
29187 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29188 2393558 : idata = idata + 1
29189 2393558 : data_tmp = ISHFT(pack_tmp, 16)
29190 2393558 : ipack = ipack + 1
29191 2393558 : pack_tmp = packed_data(ipack)
29192 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
29193 2393558 : pack_tmp = ISHFT(pack_tmp, -16)
29194 2393558 : idata = idata + 1
29195 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29196 2393558 : full_data(idata) = data_tmp
29197 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29198 2393558 : idata = idata + 1
29199 2393558 : data_tmp = ISHFT(pack_tmp, 28)
29200 2393558 : ipack = ipack + 1
29201 2393558 : pack_tmp = packed_data(ipack)
29202 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29203 2393558 : pack_tmp = ISHFT(pack_tmp, -28)
29204 2393558 : idata = idata + 1
29205 2393558 : data_tmp = ISHFT(pack_tmp, 2)
29206 2393558 : ipack = ipack + 1
29207 2393558 : pack_tmp = packed_data(ipack)
29208 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
29209 2393558 : pack_tmp = ISHFT(pack_tmp, -2)
29210 2393558 : idata = idata + 1
29211 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29212 2393558 : full_data(idata) = data_tmp
29213 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29214 2393558 : idata = idata + 1
29215 2393558 : data_tmp = ISHFT(pack_tmp, 14)
29216 2393558 : ipack = ipack + 1
29217 2393558 : pack_tmp = packed_data(ipack)
29218 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29219 2393558 : pack_tmp = ISHFT(pack_tmp, -14)
29220 2393558 : idata = idata + 1
29221 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29222 2393558 : full_data(idata) = data_tmp
29223 2393558 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29224 2393558 : idata = idata + 1
29225 2393558 : data_tmp = ISHFT(pack_tmp, 26)
29226 2393558 : ipack = ipack + 1
29227 2393558 : pack_tmp = packed_data(ipack)
29228 2393558 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29229 2393558 : pack_tmp = ISHFT(pack_tmp, -26)
29230 2393558 : idata = idata + 1
29231 2393558 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29232 2393558 : full_data(idata) = data_tmp
29233 2397278 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29234 : END DO
29235 184015 : IF (Ndata_rep < Ndata) THEN
29236 64148 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
29237 : END IF
29238 184015 : END SUBROUTINE bits2ints_38
29239 :
29240 : ! **************************************************************************************************
29241 : !> \brief ...
29242 : !> \param Ndata ...
29243 : !> \param packed_data ...
29244 : !> \param full_data ...
29245 : ! **************************************************************************************************
29246 38172 : 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(*)
29250 :
29251 : INTEGER, PARAMETER :: Nbits = 39
29252 :
29253 : INTEGER :: idata, ipack, kdata, Ndata_rep
29254 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
29255 :
29256 38172 : idata = 0
29257 38172 : ipack = 0
29258 38172 : Ndata_rep = (Ndata/64)*64
29259 38172 : DO kdata = 1, Ndata_rep, 64
29260 517439 : pack_tmp = 0
29261 517439 : idata = idata + 1
29262 517439 : data_tmp = full_data(idata)
29263 517439 : data_tmp = ISHFT(data_tmp, 25)
29264 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29265 517439 : pack_tmp = ISHFT(pack_tmp, -25)
29266 517439 : idata = idata + 1
29267 517439 : data_tmp = full_data(idata)
29268 517439 : data_tmp = ISHFT(data_tmp, 25)
29269 517439 : data_tmp = IAND(data_tmp, mask_left(25))
29270 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29271 517439 : ipack = ipack + 1
29272 517439 : packed_data(ipack) = pack_tmp
29273 517439 : data_tmp = full_data(idata)
29274 517439 : pack_tmp = ISHFT(data_tmp, 50)
29275 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29276 517439 : idata = idata + 1
29277 517439 : data_tmp = full_data(idata)
29278 517439 : data_tmp = ISHFT(data_tmp, 25)
29279 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29280 517439 : pack_tmp = ISHFT(pack_tmp, -11)
29281 517439 : idata = idata + 1
29282 517439 : data_tmp = full_data(idata)
29283 517439 : data_tmp = ISHFT(data_tmp, 25)
29284 517439 : data_tmp = IAND(data_tmp, mask_left(11))
29285 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29286 517439 : ipack = ipack + 1
29287 517439 : packed_data(ipack) = pack_tmp
29288 517439 : data_tmp = full_data(idata)
29289 517439 : pack_tmp = ISHFT(data_tmp, 36)
29290 517439 : pack_tmp = ISHFT(pack_tmp, -36)
29291 517439 : idata = idata + 1
29292 517439 : data_tmp = full_data(idata)
29293 517439 : data_tmp = ISHFT(data_tmp, 25)
29294 517439 : data_tmp = IAND(data_tmp, mask_left(36))
29295 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29296 517439 : ipack = ipack + 1
29297 517439 : packed_data(ipack) = pack_tmp
29298 517439 : data_tmp = full_data(idata)
29299 517439 : pack_tmp = ISHFT(data_tmp, 61)
29300 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29301 517439 : idata = idata + 1
29302 517439 : data_tmp = full_data(idata)
29303 517439 : data_tmp = ISHFT(data_tmp, 25)
29304 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29305 517439 : pack_tmp = ISHFT(pack_tmp, -22)
29306 517439 : idata = idata + 1
29307 517439 : data_tmp = full_data(idata)
29308 517439 : data_tmp = ISHFT(data_tmp, 25)
29309 517439 : data_tmp = IAND(data_tmp, mask_left(22))
29310 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29311 517439 : ipack = ipack + 1
29312 517439 : packed_data(ipack) = pack_tmp
29313 517439 : data_tmp = full_data(idata)
29314 517439 : pack_tmp = ISHFT(data_tmp, 47)
29315 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29316 517439 : idata = idata + 1
29317 517439 : data_tmp = full_data(idata)
29318 517439 : data_tmp = ISHFT(data_tmp, 25)
29319 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29320 517439 : pack_tmp = ISHFT(pack_tmp, -8)
29321 517439 : idata = idata + 1
29322 517439 : data_tmp = full_data(idata)
29323 517439 : data_tmp = ISHFT(data_tmp, 25)
29324 517439 : data_tmp = IAND(data_tmp, mask_left(8))
29325 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29326 517439 : ipack = ipack + 1
29327 517439 : packed_data(ipack) = pack_tmp
29328 517439 : data_tmp = full_data(idata)
29329 517439 : pack_tmp = ISHFT(data_tmp, 33)
29330 517439 : pack_tmp = ISHFT(pack_tmp, -33)
29331 517439 : idata = idata + 1
29332 517439 : data_tmp = full_data(idata)
29333 517439 : data_tmp = ISHFT(data_tmp, 25)
29334 517439 : data_tmp = IAND(data_tmp, mask_left(33))
29335 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29336 517439 : ipack = ipack + 1
29337 517439 : packed_data(ipack) = pack_tmp
29338 517439 : data_tmp = full_data(idata)
29339 517439 : pack_tmp = ISHFT(data_tmp, 58)
29340 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29341 517439 : idata = idata + 1
29342 517439 : data_tmp = full_data(idata)
29343 517439 : data_tmp = ISHFT(data_tmp, 25)
29344 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29345 517439 : pack_tmp = ISHFT(pack_tmp, -19)
29346 517439 : idata = idata + 1
29347 517439 : data_tmp = full_data(idata)
29348 517439 : data_tmp = ISHFT(data_tmp, 25)
29349 517439 : data_tmp = IAND(data_tmp, mask_left(19))
29350 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29351 517439 : ipack = ipack + 1
29352 517439 : packed_data(ipack) = pack_tmp
29353 517439 : data_tmp = full_data(idata)
29354 517439 : pack_tmp = ISHFT(data_tmp, 44)
29355 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29356 517439 : idata = idata + 1
29357 517439 : data_tmp = full_data(idata)
29358 517439 : data_tmp = ISHFT(data_tmp, 25)
29359 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29360 517439 : pack_tmp = ISHFT(pack_tmp, -5)
29361 517439 : idata = idata + 1
29362 517439 : data_tmp = full_data(idata)
29363 517439 : data_tmp = ISHFT(data_tmp, 25)
29364 517439 : data_tmp = IAND(data_tmp, mask_left(5))
29365 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29366 517439 : ipack = ipack + 1
29367 517439 : packed_data(ipack) = pack_tmp
29368 517439 : data_tmp = full_data(idata)
29369 517439 : pack_tmp = ISHFT(data_tmp, 30)
29370 517439 : pack_tmp = ISHFT(pack_tmp, -30)
29371 517439 : idata = idata + 1
29372 517439 : data_tmp = full_data(idata)
29373 517439 : data_tmp = ISHFT(data_tmp, 25)
29374 517439 : data_tmp = IAND(data_tmp, mask_left(30))
29375 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29376 517439 : ipack = ipack + 1
29377 517439 : packed_data(ipack) = pack_tmp
29378 517439 : data_tmp = full_data(idata)
29379 517439 : pack_tmp = ISHFT(data_tmp, 55)
29380 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29381 517439 : idata = idata + 1
29382 517439 : data_tmp = full_data(idata)
29383 517439 : data_tmp = ISHFT(data_tmp, 25)
29384 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29385 517439 : pack_tmp = ISHFT(pack_tmp, -16)
29386 517439 : idata = idata + 1
29387 517439 : data_tmp = full_data(idata)
29388 517439 : data_tmp = ISHFT(data_tmp, 25)
29389 517439 : data_tmp = IAND(data_tmp, mask_left(16))
29390 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29391 517439 : ipack = ipack + 1
29392 517439 : packed_data(ipack) = pack_tmp
29393 517439 : data_tmp = full_data(idata)
29394 517439 : pack_tmp = ISHFT(data_tmp, 41)
29395 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29396 517439 : idata = idata + 1
29397 517439 : data_tmp = full_data(idata)
29398 517439 : data_tmp = ISHFT(data_tmp, 25)
29399 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29400 517439 : pack_tmp = ISHFT(pack_tmp, -2)
29401 517439 : idata = idata + 1
29402 517439 : data_tmp = full_data(idata)
29403 517439 : data_tmp = ISHFT(data_tmp, 25)
29404 517439 : data_tmp = IAND(data_tmp, mask_left(2))
29405 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29406 517439 : ipack = ipack + 1
29407 517439 : packed_data(ipack) = pack_tmp
29408 517439 : data_tmp = full_data(idata)
29409 517439 : pack_tmp = ISHFT(data_tmp, 27)
29410 517439 : pack_tmp = ISHFT(pack_tmp, -27)
29411 517439 : idata = idata + 1
29412 517439 : data_tmp = full_data(idata)
29413 517439 : data_tmp = ISHFT(data_tmp, 25)
29414 517439 : data_tmp = IAND(data_tmp, mask_left(27))
29415 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29416 517439 : ipack = ipack + 1
29417 517439 : packed_data(ipack) = pack_tmp
29418 517439 : data_tmp = full_data(idata)
29419 517439 : pack_tmp = ISHFT(data_tmp, 52)
29420 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29421 517439 : idata = idata + 1
29422 517439 : data_tmp = full_data(idata)
29423 517439 : data_tmp = ISHFT(data_tmp, 25)
29424 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29425 517439 : pack_tmp = ISHFT(pack_tmp, -13)
29426 517439 : idata = idata + 1
29427 517439 : data_tmp = full_data(idata)
29428 517439 : data_tmp = ISHFT(data_tmp, 25)
29429 517439 : data_tmp = IAND(data_tmp, mask_left(13))
29430 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29431 517439 : ipack = ipack + 1
29432 517439 : packed_data(ipack) = pack_tmp
29433 517439 : data_tmp = full_data(idata)
29434 517439 : pack_tmp = ISHFT(data_tmp, 38)
29435 517439 : pack_tmp = ISHFT(pack_tmp, -38)
29436 517439 : idata = idata + 1
29437 517439 : data_tmp = full_data(idata)
29438 517439 : data_tmp = ISHFT(data_tmp, 25)
29439 517439 : data_tmp = IAND(data_tmp, mask_left(38))
29440 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29441 517439 : ipack = ipack + 1
29442 517439 : packed_data(ipack) = pack_tmp
29443 517439 : data_tmp = full_data(idata)
29444 517439 : pack_tmp = ISHFT(data_tmp, 63)
29445 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29446 517439 : idata = idata + 1
29447 517439 : data_tmp = full_data(idata)
29448 517439 : data_tmp = ISHFT(data_tmp, 25)
29449 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29450 517439 : pack_tmp = ISHFT(pack_tmp, -24)
29451 517439 : idata = idata + 1
29452 517439 : data_tmp = full_data(idata)
29453 517439 : data_tmp = ISHFT(data_tmp, 25)
29454 517439 : data_tmp = IAND(data_tmp, mask_left(24))
29455 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29456 517439 : ipack = ipack + 1
29457 517439 : packed_data(ipack) = pack_tmp
29458 517439 : data_tmp = full_data(idata)
29459 517439 : pack_tmp = ISHFT(data_tmp, 49)
29460 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29461 517439 : idata = idata + 1
29462 517439 : data_tmp = full_data(idata)
29463 517439 : data_tmp = ISHFT(data_tmp, 25)
29464 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29465 517439 : pack_tmp = ISHFT(pack_tmp, -10)
29466 517439 : idata = idata + 1
29467 517439 : data_tmp = full_data(idata)
29468 517439 : data_tmp = ISHFT(data_tmp, 25)
29469 517439 : data_tmp = IAND(data_tmp, mask_left(10))
29470 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29471 517439 : ipack = ipack + 1
29472 517439 : packed_data(ipack) = pack_tmp
29473 517439 : data_tmp = full_data(idata)
29474 517439 : pack_tmp = ISHFT(data_tmp, 35)
29475 517439 : pack_tmp = ISHFT(pack_tmp, -35)
29476 517439 : idata = idata + 1
29477 517439 : data_tmp = full_data(idata)
29478 517439 : data_tmp = ISHFT(data_tmp, 25)
29479 517439 : data_tmp = IAND(data_tmp, mask_left(35))
29480 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29481 517439 : ipack = ipack + 1
29482 517439 : packed_data(ipack) = pack_tmp
29483 517439 : data_tmp = full_data(idata)
29484 517439 : pack_tmp = ISHFT(data_tmp, 60)
29485 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29486 517439 : idata = idata + 1
29487 517439 : data_tmp = full_data(idata)
29488 517439 : data_tmp = ISHFT(data_tmp, 25)
29489 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29490 517439 : pack_tmp = ISHFT(pack_tmp, -21)
29491 517439 : idata = idata + 1
29492 517439 : data_tmp = full_data(idata)
29493 517439 : data_tmp = ISHFT(data_tmp, 25)
29494 517439 : data_tmp = IAND(data_tmp, mask_left(21))
29495 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29496 517439 : ipack = ipack + 1
29497 517439 : packed_data(ipack) = pack_tmp
29498 517439 : data_tmp = full_data(idata)
29499 517439 : pack_tmp = ISHFT(data_tmp, 46)
29500 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29501 517439 : idata = idata + 1
29502 517439 : data_tmp = full_data(idata)
29503 517439 : data_tmp = ISHFT(data_tmp, 25)
29504 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29505 517439 : pack_tmp = ISHFT(pack_tmp, -7)
29506 517439 : idata = idata + 1
29507 517439 : data_tmp = full_data(idata)
29508 517439 : data_tmp = ISHFT(data_tmp, 25)
29509 517439 : data_tmp = IAND(data_tmp, mask_left(7))
29510 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29511 517439 : ipack = ipack + 1
29512 517439 : packed_data(ipack) = pack_tmp
29513 517439 : data_tmp = full_data(idata)
29514 517439 : pack_tmp = ISHFT(data_tmp, 32)
29515 517439 : pack_tmp = ISHFT(pack_tmp, -32)
29516 517439 : idata = idata + 1
29517 517439 : data_tmp = full_data(idata)
29518 517439 : data_tmp = ISHFT(data_tmp, 25)
29519 517439 : data_tmp = IAND(data_tmp, mask_left(32))
29520 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29521 517439 : ipack = ipack + 1
29522 517439 : packed_data(ipack) = pack_tmp
29523 517439 : data_tmp = full_data(idata)
29524 517439 : pack_tmp = ISHFT(data_tmp, 57)
29525 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29526 517439 : idata = idata + 1
29527 517439 : data_tmp = full_data(idata)
29528 517439 : data_tmp = ISHFT(data_tmp, 25)
29529 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29530 517439 : pack_tmp = ISHFT(pack_tmp, -18)
29531 517439 : idata = idata + 1
29532 517439 : data_tmp = full_data(idata)
29533 517439 : data_tmp = ISHFT(data_tmp, 25)
29534 517439 : data_tmp = IAND(data_tmp, mask_left(18))
29535 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29536 517439 : ipack = ipack + 1
29537 517439 : packed_data(ipack) = pack_tmp
29538 517439 : data_tmp = full_data(idata)
29539 517439 : pack_tmp = ISHFT(data_tmp, 43)
29540 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29541 517439 : idata = idata + 1
29542 517439 : data_tmp = full_data(idata)
29543 517439 : data_tmp = ISHFT(data_tmp, 25)
29544 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29545 517439 : pack_tmp = ISHFT(pack_tmp, -4)
29546 517439 : idata = idata + 1
29547 517439 : data_tmp = full_data(idata)
29548 517439 : data_tmp = ISHFT(data_tmp, 25)
29549 517439 : data_tmp = IAND(data_tmp, mask_left(4))
29550 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29551 517439 : ipack = ipack + 1
29552 517439 : packed_data(ipack) = pack_tmp
29553 517439 : data_tmp = full_data(idata)
29554 517439 : pack_tmp = ISHFT(data_tmp, 29)
29555 517439 : pack_tmp = ISHFT(pack_tmp, -29)
29556 517439 : idata = idata + 1
29557 517439 : data_tmp = full_data(idata)
29558 517439 : data_tmp = ISHFT(data_tmp, 25)
29559 517439 : data_tmp = IAND(data_tmp, mask_left(29))
29560 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29561 517439 : ipack = ipack + 1
29562 517439 : packed_data(ipack) = pack_tmp
29563 517439 : data_tmp = full_data(idata)
29564 517439 : pack_tmp = ISHFT(data_tmp, 54)
29565 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29566 517439 : idata = idata + 1
29567 517439 : data_tmp = full_data(idata)
29568 517439 : data_tmp = ISHFT(data_tmp, 25)
29569 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29570 517439 : pack_tmp = ISHFT(pack_tmp, -15)
29571 517439 : idata = idata + 1
29572 517439 : data_tmp = full_data(idata)
29573 517439 : data_tmp = ISHFT(data_tmp, 25)
29574 517439 : data_tmp = IAND(data_tmp, mask_left(15))
29575 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29576 517439 : ipack = ipack + 1
29577 517439 : packed_data(ipack) = pack_tmp
29578 517439 : data_tmp = full_data(idata)
29579 517439 : pack_tmp = ISHFT(data_tmp, 40)
29580 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29581 517439 : idata = idata + 1
29582 517439 : data_tmp = full_data(idata)
29583 517439 : data_tmp = ISHFT(data_tmp, 25)
29584 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29585 517439 : pack_tmp = ISHFT(pack_tmp, -1)
29586 517439 : idata = idata + 1
29587 517439 : data_tmp = full_data(idata)
29588 517439 : data_tmp = ISHFT(data_tmp, 25)
29589 517439 : data_tmp = IAND(data_tmp, mask_left(1))
29590 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29591 517439 : ipack = ipack + 1
29592 517439 : packed_data(ipack) = pack_tmp
29593 517439 : data_tmp = full_data(idata)
29594 517439 : pack_tmp = ISHFT(data_tmp, 26)
29595 517439 : pack_tmp = ISHFT(pack_tmp, -26)
29596 517439 : idata = idata + 1
29597 517439 : data_tmp = full_data(idata)
29598 517439 : data_tmp = ISHFT(data_tmp, 25)
29599 517439 : data_tmp = IAND(data_tmp, mask_left(26))
29600 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29601 517439 : ipack = ipack + 1
29602 517439 : packed_data(ipack) = pack_tmp
29603 517439 : data_tmp = full_data(idata)
29604 517439 : pack_tmp = ISHFT(data_tmp, 51)
29605 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29606 517439 : idata = idata + 1
29607 517439 : data_tmp = full_data(idata)
29608 517439 : data_tmp = ISHFT(data_tmp, 25)
29609 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29610 517439 : pack_tmp = ISHFT(pack_tmp, -12)
29611 517439 : idata = idata + 1
29612 517439 : data_tmp = full_data(idata)
29613 517439 : data_tmp = ISHFT(data_tmp, 25)
29614 517439 : data_tmp = IAND(data_tmp, mask_left(12))
29615 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29616 517439 : ipack = ipack + 1
29617 517439 : packed_data(ipack) = pack_tmp
29618 517439 : data_tmp = full_data(idata)
29619 517439 : pack_tmp = ISHFT(data_tmp, 37)
29620 517439 : pack_tmp = ISHFT(pack_tmp, -37)
29621 517439 : idata = idata + 1
29622 517439 : data_tmp = full_data(idata)
29623 517439 : data_tmp = ISHFT(data_tmp, 25)
29624 517439 : data_tmp = IAND(data_tmp, mask_left(37))
29625 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29626 517439 : ipack = ipack + 1
29627 517439 : packed_data(ipack) = pack_tmp
29628 517439 : data_tmp = full_data(idata)
29629 517439 : pack_tmp = ISHFT(data_tmp, 62)
29630 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29631 517439 : idata = idata + 1
29632 517439 : data_tmp = full_data(idata)
29633 517439 : data_tmp = ISHFT(data_tmp, 25)
29634 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29635 517439 : pack_tmp = ISHFT(pack_tmp, -23)
29636 517439 : idata = idata + 1
29637 517439 : data_tmp = full_data(idata)
29638 517439 : data_tmp = ISHFT(data_tmp, 25)
29639 517439 : data_tmp = IAND(data_tmp, mask_left(23))
29640 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29641 517439 : ipack = ipack + 1
29642 517439 : packed_data(ipack) = pack_tmp
29643 517439 : data_tmp = full_data(idata)
29644 517439 : pack_tmp = ISHFT(data_tmp, 48)
29645 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29646 517439 : idata = idata + 1
29647 517439 : data_tmp = full_data(idata)
29648 517439 : data_tmp = ISHFT(data_tmp, 25)
29649 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29650 517439 : pack_tmp = ISHFT(pack_tmp, -9)
29651 517439 : idata = idata + 1
29652 517439 : data_tmp = full_data(idata)
29653 517439 : data_tmp = ISHFT(data_tmp, 25)
29654 517439 : data_tmp = IAND(data_tmp, mask_left(9))
29655 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29656 517439 : ipack = ipack + 1
29657 517439 : packed_data(ipack) = pack_tmp
29658 517439 : data_tmp = full_data(idata)
29659 517439 : pack_tmp = ISHFT(data_tmp, 34)
29660 517439 : pack_tmp = ISHFT(pack_tmp, -34)
29661 517439 : idata = idata + 1
29662 517439 : data_tmp = full_data(idata)
29663 517439 : data_tmp = ISHFT(data_tmp, 25)
29664 517439 : data_tmp = IAND(data_tmp, mask_left(34))
29665 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29666 517439 : ipack = ipack + 1
29667 517439 : packed_data(ipack) = pack_tmp
29668 517439 : data_tmp = full_data(idata)
29669 517439 : pack_tmp = ISHFT(data_tmp, 59)
29670 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29671 517439 : idata = idata + 1
29672 517439 : data_tmp = full_data(idata)
29673 517439 : data_tmp = ISHFT(data_tmp, 25)
29674 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29675 517439 : pack_tmp = ISHFT(pack_tmp, -20)
29676 517439 : idata = idata + 1
29677 517439 : data_tmp = full_data(idata)
29678 517439 : data_tmp = ISHFT(data_tmp, 25)
29679 517439 : data_tmp = IAND(data_tmp, mask_left(20))
29680 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29681 517439 : ipack = ipack + 1
29682 517439 : packed_data(ipack) = pack_tmp
29683 517439 : data_tmp = full_data(idata)
29684 517439 : pack_tmp = ISHFT(data_tmp, 45)
29685 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29686 517439 : idata = idata + 1
29687 517439 : data_tmp = full_data(idata)
29688 517439 : data_tmp = ISHFT(data_tmp, 25)
29689 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29690 517439 : pack_tmp = ISHFT(pack_tmp, -6)
29691 517439 : idata = idata + 1
29692 517439 : data_tmp = full_data(idata)
29693 517439 : data_tmp = ISHFT(data_tmp, 25)
29694 517439 : data_tmp = IAND(data_tmp, mask_left(6))
29695 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29696 517439 : ipack = ipack + 1
29697 517439 : packed_data(ipack) = pack_tmp
29698 517439 : data_tmp = full_data(idata)
29699 517439 : pack_tmp = ISHFT(data_tmp, 31)
29700 517439 : pack_tmp = ISHFT(pack_tmp, -31)
29701 517439 : idata = idata + 1
29702 517439 : data_tmp = full_data(idata)
29703 517439 : data_tmp = ISHFT(data_tmp, 25)
29704 517439 : data_tmp = IAND(data_tmp, mask_left(31))
29705 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29706 517439 : ipack = ipack + 1
29707 517439 : packed_data(ipack) = pack_tmp
29708 517439 : data_tmp = full_data(idata)
29709 517439 : pack_tmp = ISHFT(data_tmp, 56)
29710 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29711 517439 : idata = idata + 1
29712 517439 : data_tmp = full_data(idata)
29713 517439 : data_tmp = ISHFT(data_tmp, 25)
29714 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29715 517439 : pack_tmp = ISHFT(pack_tmp, -17)
29716 517439 : idata = idata + 1
29717 517439 : data_tmp = full_data(idata)
29718 517439 : data_tmp = ISHFT(data_tmp, 25)
29719 517439 : data_tmp = IAND(data_tmp, mask_left(17))
29720 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29721 517439 : ipack = ipack + 1
29722 517439 : packed_data(ipack) = pack_tmp
29723 517439 : data_tmp = full_data(idata)
29724 517439 : pack_tmp = ISHFT(data_tmp, 42)
29725 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29726 517439 : idata = idata + 1
29727 517439 : data_tmp = full_data(idata)
29728 517439 : data_tmp = ISHFT(data_tmp, 25)
29729 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29730 517439 : pack_tmp = ISHFT(pack_tmp, -3)
29731 517439 : idata = idata + 1
29732 517439 : data_tmp = full_data(idata)
29733 517439 : data_tmp = ISHFT(data_tmp, 25)
29734 517439 : data_tmp = IAND(data_tmp, mask_left(3))
29735 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29736 517439 : ipack = ipack + 1
29737 517439 : packed_data(ipack) = pack_tmp
29738 517439 : data_tmp = full_data(idata)
29739 517439 : pack_tmp = ISHFT(data_tmp, 28)
29740 517439 : pack_tmp = ISHFT(pack_tmp, -28)
29741 517439 : idata = idata + 1
29742 517439 : data_tmp = full_data(idata)
29743 517439 : data_tmp = ISHFT(data_tmp, 25)
29744 517439 : data_tmp = IAND(data_tmp, mask_left(28))
29745 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29746 517439 : ipack = ipack + 1
29747 517439 : packed_data(ipack) = pack_tmp
29748 517439 : data_tmp = full_data(idata)
29749 517439 : pack_tmp = ISHFT(data_tmp, 53)
29750 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29751 517439 : idata = idata + 1
29752 517439 : data_tmp = full_data(idata)
29753 517439 : data_tmp = ISHFT(data_tmp, 25)
29754 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29755 517439 : pack_tmp = ISHFT(pack_tmp, -14)
29756 517439 : idata = idata + 1
29757 517439 : data_tmp = full_data(idata)
29758 517439 : data_tmp = ISHFT(data_tmp, 25)
29759 517439 : data_tmp = IAND(data_tmp, mask_left(14))
29760 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29761 517439 : ipack = ipack + 1
29762 517439 : packed_data(ipack) = pack_tmp
29763 517439 : data_tmp = full_data(idata)
29764 517439 : pack_tmp = ISHFT(data_tmp, 39)
29765 517439 : pack_tmp = ISHFT(pack_tmp, -39)
29766 517439 : idata = idata + 1
29767 517439 : data_tmp = full_data(idata)
29768 517439 : data_tmp = ISHFT(data_tmp, 25)
29769 517439 : pack_tmp = IOR(pack_tmp, data_tmp)
29770 : pack_tmp = ISHFT(pack_tmp, 0)
29771 517439 : pack_tmp = ISHFT(pack_tmp, 0)
29772 517439 : ipack = ipack + 1
29773 517759 : packed_data(ipack) = pack_tmp
29774 : END DO
29775 38172 : IF (Ndata_rep < Ndata) THEN
29776 10978 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
29777 : END IF
29778 38172 : END SUBROUTINE ints2bits_39
29779 :
29780 : ! **************************************************************************************************
29781 : !> \brief ...
29782 : !> \param Ndata ...
29783 : !> \param packed_data ...
29784 : !> \param full_data ...
29785 : ! **************************************************************************************************
29786 144913 : 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(*)
29790 :
29791 : INTEGER, PARAMETER :: Nbits = 39
29792 :
29793 : INTEGER :: idata, ipack, kdata, Ndata_rep
29794 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
29795 :
29796 144913 : ipack = 0
29797 144913 : idata = 0
29798 144913 : pack_tmp = 0
29799 144913 : Ndata_rep = (Ndata/64)*64
29800 144913 : DO kdata = 1, Ndata_rep, 64
29801 1997104 : idata = idata + 1
29802 1997104 : data_tmp = ISHFT(pack_tmp, 39)
29803 1997104 : ipack = ipack + 1
29804 1997104 : pack_tmp = packed_data(ipack)
29805 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
29806 1997104 : pack_tmp = ISHFT(pack_tmp, -39)
29807 1997104 : idata = idata + 1
29808 1997104 : data_tmp = ISHFT(pack_tmp, 14)
29809 1997104 : ipack = ipack + 1
29810 1997104 : pack_tmp = packed_data(ipack)
29811 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
29812 1997104 : pack_tmp = ISHFT(pack_tmp, -14)
29813 1997104 : idata = idata + 1
29814 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29815 1997104 : full_data(idata) = data_tmp
29816 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29817 1997104 : idata = idata + 1
29818 1997104 : data_tmp = ISHFT(pack_tmp, 28)
29819 1997104 : ipack = ipack + 1
29820 1997104 : pack_tmp = packed_data(ipack)
29821 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
29822 1997104 : pack_tmp = ISHFT(pack_tmp, -28)
29823 1997104 : idata = idata + 1
29824 1997104 : data_tmp = ISHFT(pack_tmp, 3)
29825 1997104 : ipack = ipack + 1
29826 1997104 : pack_tmp = packed_data(ipack)
29827 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
29828 1997104 : pack_tmp = ISHFT(pack_tmp, -3)
29829 1997104 : idata = idata + 1
29830 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29831 1997104 : full_data(idata) = data_tmp
29832 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29833 1997104 : idata = idata + 1
29834 1997104 : data_tmp = ISHFT(pack_tmp, 17)
29835 1997104 : ipack = ipack + 1
29836 1997104 : pack_tmp = packed_data(ipack)
29837 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
29838 1997104 : pack_tmp = ISHFT(pack_tmp, -17)
29839 1997104 : idata = idata + 1
29840 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29841 1997104 : full_data(idata) = data_tmp
29842 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29843 1997104 : idata = idata + 1
29844 1997104 : data_tmp = ISHFT(pack_tmp, 31)
29845 1997104 : ipack = ipack + 1
29846 1997104 : pack_tmp = packed_data(ipack)
29847 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
29848 1997104 : pack_tmp = ISHFT(pack_tmp, -31)
29849 1997104 : idata = idata + 1
29850 1997104 : data_tmp = ISHFT(pack_tmp, 6)
29851 1997104 : ipack = ipack + 1
29852 1997104 : pack_tmp = packed_data(ipack)
29853 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
29854 1997104 : pack_tmp = ISHFT(pack_tmp, -6)
29855 1997104 : idata = idata + 1
29856 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29857 1997104 : full_data(idata) = data_tmp
29858 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29859 1997104 : idata = idata + 1
29860 1997104 : data_tmp = ISHFT(pack_tmp, 20)
29861 1997104 : ipack = ipack + 1
29862 1997104 : pack_tmp = packed_data(ipack)
29863 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
29864 1997104 : pack_tmp = ISHFT(pack_tmp, -20)
29865 1997104 : idata = idata + 1
29866 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29867 1997104 : full_data(idata) = data_tmp
29868 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29869 1997104 : idata = idata + 1
29870 1997104 : data_tmp = ISHFT(pack_tmp, 34)
29871 1997104 : ipack = ipack + 1
29872 1997104 : pack_tmp = packed_data(ipack)
29873 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
29874 1997104 : pack_tmp = ISHFT(pack_tmp, -34)
29875 1997104 : idata = idata + 1
29876 1997104 : data_tmp = ISHFT(pack_tmp, 9)
29877 1997104 : ipack = ipack + 1
29878 1997104 : pack_tmp = packed_data(ipack)
29879 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
29880 1997104 : pack_tmp = ISHFT(pack_tmp, -9)
29881 1997104 : idata = idata + 1
29882 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29883 1997104 : full_data(idata) = data_tmp
29884 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29885 1997104 : idata = idata + 1
29886 1997104 : data_tmp = ISHFT(pack_tmp, 23)
29887 1997104 : ipack = ipack + 1
29888 1997104 : pack_tmp = packed_data(ipack)
29889 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
29890 1997104 : pack_tmp = ISHFT(pack_tmp, -23)
29891 1997104 : idata = idata + 1
29892 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29893 1997104 : full_data(idata) = data_tmp
29894 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29895 1997104 : idata = idata + 1
29896 1997104 : data_tmp = ISHFT(pack_tmp, 37)
29897 1997104 : ipack = ipack + 1
29898 1997104 : pack_tmp = packed_data(ipack)
29899 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
29900 1997104 : pack_tmp = ISHFT(pack_tmp, -37)
29901 1997104 : idata = idata + 1
29902 1997104 : data_tmp = ISHFT(pack_tmp, 12)
29903 1997104 : ipack = ipack + 1
29904 1997104 : pack_tmp = packed_data(ipack)
29905 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
29906 1997104 : pack_tmp = ISHFT(pack_tmp, -12)
29907 1997104 : idata = idata + 1
29908 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29909 1997104 : full_data(idata) = data_tmp
29910 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29911 1997104 : idata = idata + 1
29912 1997104 : data_tmp = ISHFT(pack_tmp, 26)
29913 1997104 : ipack = ipack + 1
29914 1997104 : pack_tmp = packed_data(ipack)
29915 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
29916 1997104 : pack_tmp = ISHFT(pack_tmp, -26)
29917 1997104 : idata = idata + 1
29918 1997104 : data_tmp = ISHFT(pack_tmp, 1)
29919 1997104 : ipack = ipack + 1
29920 1997104 : pack_tmp = packed_data(ipack)
29921 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
29922 1997104 : pack_tmp = ISHFT(pack_tmp, -1)
29923 1997104 : idata = idata + 1
29924 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29925 1997104 : full_data(idata) = data_tmp
29926 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29927 1997104 : idata = idata + 1
29928 1997104 : data_tmp = ISHFT(pack_tmp, 15)
29929 1997104 : ipack = ipack + 1
29930 1997104 : pack_tmp = packed_data(ipack)
29931 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
29932 1997104 : pack_tmp = ISHFT(pack_tmp, -15)
29933 1997104 : idata = idata + 1
29934 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29935 1997104 : full_data(idata) = data_tmp
29936 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29937 1997104 : idata = idata + 1
29938 1997104 : data_tmp = ISHFT(pack_tmp, 29)
29939 1997104 : ipack = ipack + 1
29940 1997104 : pack_tmp = packed_data(ipack)
29941 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
29942 1997104 : pack_tmp = ISHFT(pack_tmp, -29)
29943 1997104 : idata = idata + 1
29944 1997104 : data_tmp = ISHFT(pack_tmp, 4)
29945 1997104 : ipack = ipack + 1
29946 1997104 : pack_tmp = packed_data(ipack)
29947 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
29948 1997104 : pack_tmp = ISHFT(pack_tmp, -4)
29949 1997104 : idata = idata + 1
29950 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29951 1997104 : full_data(idata) = data_tmp
29952 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29953 1997104 : idata = idata + 1
29954 1997104 : data_tmp = ISHFT(pack_tmp, 18)
29955 1997104 : ipack = ipack + 1
29956 1997104 : pack_tmp = packed_data(ipack)
29957 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
29958 1997104 : pack_tmp = ISHFT(pack_tmp, -18)
29959 1997104 : idata = idata + 1
29960 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29961 1997104 : full_data(idata) = data_tmp
29962 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29963 1997104 : idata = idata + 1
29964 1997104 : data_tmp = ISHFT(pack_tmp, 32)
29965 1997104 : ipack = ipack + 1
29966 1997104 : pack_tmp = packed_data(ipack)
29967 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
29968 1997104 : pack_tmp = ISHFT(pack_tmp, -32)
29969 1997104 : idata = idata + 1
29970 1997104 : data_tmp = ISHFT(pack_tmp, 7)
29971 1997104 : ipack = ipack + 1
29972 1997104 : pack_tmp = packed_data(ipack)
29973 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
29974 1997104 : pack_tmp = ISHFT(pack_tmp, -7)
29975 1997104 : idata = idata + 1
29976 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29977 1997104 : full_data(idata) = data_tmp
29978 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29979 1997104 : idata = idata + 1
29980 1997104 : data_tmp = ISHFT(pack_tmp, 21)
29981 1997104 : ipack = ipack + 1
29982 1997104 : pack_tmp = packed_data(ipack)
29983 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
29984 1997104 : pack_tmp = ISHFT(pack_tmp, -21)
29985 1997104 : idata = idata + 1
29986 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
29987 1997104 : full_data(idata) = data_tmp
29988 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
29989 1997104 : idata = idata + 1
29990 1997104 : data_tmp = ISHFT(pack_tmp, 35)
29991 1997104 : ipack = ipack + 1
29992 1997104 : pack_tmp = packed_data(ipack)
29993 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
29994 1997104 : pack_tmp = ISHFT(pack_tmp, -35)
29995 1997104 : idata = idata + 1
29996 1997104 : data_tmp = ISHFT(pack_tmp, 10)
29997 1997104 : ipack = ipack + 1
29998 1997104 : pack_tmp = packed_data(ipack)
29999 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
30000 1997104 : pack_tmp = ISHFT(pack_tmp, -10)
30001 1997104 : idata = idata + 1
30002 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30003 1997104 : full_data(idata) = data_tmp
30004 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30005 1997104 : idata = idata + 1
30006 1997104 : data_tmp = ISHFT(pack_tmp, 24)
30007 1997104 : ipack = ipack + 1
30008 1997104 : pack_tmp = packed_data(ipack)
30009 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30010 1997104 : pack_tmp = ISHFT(pack_tmp, -24)
30011 1997104 : idata = idata + 1
30012 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30013 1997104 : full_data(idata) = data_tmp
30014 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30015 1997104 : idata = idata + 1
30016 1997104 : data_tmp = ISHFT(pack_tmp, 38)
30017 1997104 : ipack = ipack + 1
30018 1997104 : pack_tmp = packed_data(ipack)
30019 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
30020 1997104 : pack_tmp = ISHFT(pack_tmp, -38)
30021 1997104 : idata = idata + 1
30022 1997104 : data_tmp = ISHFT(pack_tmp, 13)
30023 1997104 : ipack = ipack + 1
30024 1997104 : pack_tmp = packed_data(ipack)
30025 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
30026 1997104 : pack_tmp = ISHFT(pack_tmp, -13)
30027 1997104 : idata = idata + 1
30028 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30029 1997104 : full_data(idata) = data_tmp
30030 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30031 1997104 : idata = idata + 1
30032 1997104 : data_tmp = ISHFT(pack_tmp, 27)
30033 1997104 : ipack = ipack + 1
30034 1997104 : pack_tmp = packed_data(ipack)
30035 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
30036 1997104 : pack_tmp = ISHFT(pack_tmp, -27)
30037 1997104 : idata = idata + 1
30038 1997104 : data_tmp = ISHFT(pack_tmp, 2)
30039 1997104 : ipack = ipack + 1
30040 1997104 : pack_tmp = packed_data(ipack)
30041 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
30042 1997104 : pack_tmp = ISHFT(pack_tmp, -2)
30043 1997104 : idata = idata + 1
30044 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30045 1997104 : full_data(idata) = data_tmp
30046 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30047 1997104 : idata = idata + 1
30048 1997104 : data_tmp = ISHFT(pack_tmp, 16)
30049 1997104 : ipack = ipack + 1
30050 1997104 : pack_tmp = packed_data(ipack)
30051 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30052 1997104 : pack_tmp = ISHFT(pack_tmp, -16)
30053 1997104 : idata = idata + 1
30054 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30055 1997104 : full_data(idata) = data_tmp
30056 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30057 1997104 : idata = idata + 1
30058 1997104 : data_tmp = ISHFT(pack_tmp, 30)
30059 1997104 : ipack = ipack + 1
30060 1997104 : pack_tmp = packed_data(ipack)
30061 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
30062 1997104 : pack_tmp = ISHFT(pack_tmp, -30)
30063 1997104 : idata = idata + 1
30064 1997104 : data_tmp = ISHFT(pack_tmp, 5)
30065 1997104 : ipack = ipack + 1
30066 1997104 : pack_tmp = packed_data(ipack)
30067 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
30068 1997104 : pack_tmp = ISHFT(pack_tmp, -5)
30069 1997104 : idata = idata + 1
30070 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30071 1997104 : full_data(idata) = data_tmp
30072 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30073 1997104 : idata = idata + 1
30074 1997104 : data_tmp = ISHFT(pack_tmp, 19)
30075 1997104 : ipack = ipack + 1
30076 1997104 : pack_tmp = packed_data(ipack)
30077 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
30078 1997104 : pack_tmp = ISHFT(pack_tmp, -19)
30079 1997104 : idata = idata + 1
30080 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30081 1997104 : full_data(idata) = data_tmp
30082 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30083 1997104 : idata = idata + 1
30084 1997104 : data_tmp = ISHFT(pack_tmp, 33)
30085 1997104 : ipack = ipack + 1
30086 1997104 : pack_tmp = packed_data(ipack)
30087 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
30088 1997104 : pack_tmp = ISHFT(pack_tmp, -33)
30089 1997104 : idata = idata + 1
30090 1997104 : data_tmp = ISHFT(pack_tmp, 8)
30091 1997104 : ipack = ipack + 1
30092 1997104 : pack_tmp = packed_data(ipack)
30093 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30094 1997104 : pack_tmp = ISHFT(pack_tmp, -8)
30095 1997104 : idata = idata + 1
30096 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30097 1997104 : full_data(idata) = data_tmp
30098 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30099 1997104 : idata = idata + 1
30100 1997104 : data_tmp = ISHFT(pack_tmp, 22)
30101 1997104 : ipack = ipack + 1
30102 1997104 : pack_tmp = packed_data(ipack)
30103 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
30104 1997104 : pack_tmp = ISHFT(pack_tmp, -22)
30105 1997104 : idata = idata + 1
30106 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30107 1997104 : full_data(idata) = data_tmp
30108 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30109 1997104 : idata = idata + 1
30110 1997104 : data_tmp = ISHFT(pack_tmp, 36)
30111 1997104 : ipack = ipack + 1
30112 1997104 : pack_tmp = packed_data(ipack)
30113 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
30114 1997104 : pack_tmp = ISHFT(pack_tmp, -36)
30115 1997104 : idata = idata + 1
30116 1997104 : data_tmp = ISHFT(pack_tmp, 11)
30117 1997104 : ipack = ipack + 1
30118 1997104 : pack_tmp = packed_data(ipack)
30119 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
30120 1997104 : pack_tmp = ISHFT(pack_tmp, -11)
30121 1997104 : idata = idata + 1
30122 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30123 1997104 : full_data(idata) = data_tmp
30124 1997104 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30125 1997104 : idata = idata + 1
30126 1997104 : data_tmp = ISHFT(pack_tmp, 25)
30127 1997104 : ipack = ipack + 1
30128 1997104 : pack_tmp = packed_data(ipack)
30129 1997104 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
30130 1997104 : pack_tmp = ISHFT(pack_tmp, -25)
30131 1997104 : idata = idata + 1
30132 1997104 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30133 1997104 : full_data(idata) = data_tmp
30134 1997680 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30135 : END DO
30136 144913 : IF (Ndata_rep < Ndata) THEN
30137 37824 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
30138 : END IF
30139 144913 : END SUBROUTINE bits2ints_39
30140 :
30141 : ! **************************************************************************************************
30142 : !> \brief ...
30143 : !> \param Ndata ...
30144 : !> \param packed_data ...
30145 : !> \param full_data ...
30146 : ! **************************************************************************************************
30147 40425 : 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(*)
30151 :
30152 : INTEGER, PARAMETER :: Nbits = 40
30153 :
30154 : INTEGER :: idata, ipack, kdata, Ndata_rep
30155 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
30156 :
30157 40425 : idata = 0
30158 40425 : ipack = 0
30159 40425 : Ndata_rep = (Ndata/64)*64
30160 40425 : DO kdata = 1, Ndata_rep, 64
30161 539654 : pack_tmp = 0
30162 539654 : idata = idata + 1
30163 539654 : data_tmp = full_data(idata)
30164 539654 : data_tmp = ISHFT(data_tmp, 24)
30165 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30166 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30167 539654 : idata = idata + 1
30168 539654 : data_tmp = full_data(idata)
30169 539654 : data_tmp = ISHFT(data_tmp, 24)
30170 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30171 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30172 539654 : ipack = ipack + 1
30173 539654 : packed_data(ipack) = pack_tmp
30174 539654 : data_tmp = full_data(idata)
30175 539654 : pack_tmp = ISHFT(data_tmp, 48)
30176 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30177 539654 : idata = idata + 1
30178 539654 : data_tmp = full_data(idata)
30179 539654 : data_tmp = ISHFT(data_tmp, 24)
30180 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30181 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30182 539654 : idata = idata + 1
30183 539654 : data_tmp = full_data(idata)
30184 539654 : data_tmp = ISHFT(data_tmp, 24)
30185 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30186 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30187 539654 : ipack = ipack + 1
30188 539654 : packed_data(ipack) = pack_tmp
30189 539654 : data_tmp = full_data(idata)
30190 539654 : pack_tmp = ISHFT(data_tmp, 32)
30191 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30192 539654 : idata = idata + 1
30193 539654 : data_tmp = full_data(idata)
30194 539654 : data_tmp = ISHFT(data_tmp, 24)
30195 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30196 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30197 539654 : ipack = ipack + 1
30198 539654 : packed_data(ipack) = pack_tmp
30199 539654 : data_tmp = full_data(idata)
30200 539654 : pack_tmp = ISHFT(data_tmp, 56)
30201 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30202 539654 : idata = idata + 1
30203 539654 : data_tmp = full_data(idata)
30204 539654 : data_tmp = ISHFT(data_tmp, 24)
30205 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30206 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30207 539654 : idata = idata + 1
30208 539654 : data_tmp = full_data(idata)
30209 539654 : data_tmp = ISHFT(data_tmp, 24)
30210 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30211 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30212 539654 : ipack = ipack + 1
30213 539654 : packed_data(ipack) = pack_tmp
30214 539654 : data_tmp = full_data(idata)
30215 539654 : pack_tmp = ISHFT(data_tmp, 40)
30216 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30217 539654 : idata = idata + 1
30218 539654 : data_tmp = full_data(idata)
30219 539654 : data_tmp = ISHFT(data_tmp, 24)
30220 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30221 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30222 539654 : idata = idata + 1
30223 539654 : data_tmp = full_data(idata)
30224 : data_tmp = ISHFT(data_tmp, 24)
30225 539654 : data_tmp = IAND(data_tmp, mask_left(0))
30226 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30227 539654 : ipack = ipack + 1
30228 539654 : packed_data(ipack) = pack_tmp
30229 539654 : data_tmp = full_data(idata)
30230 539654 : pack_tmp = ISHFT(data_tmp, 24)
30231 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30232 539654 : idata = idata + 1
30233 539654 : data_tmp = full_data(idata)
30234 539654 : data_tmp = ISHFT(data_tmp, 24)
30235 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30236 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30237 539654 : ipack = ipack + 1
30238 539654 : packed_data(ipack) = pack_tmp
30239 539654 : data_tmp = full_data(idata)
30240 539654 : pack_tmp = ISHFT(data_tmp, 48)
30241 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30242 539654 : idata = idata + 1
30243 539654 : data_tmp = full_data(idata)
30244 539654 : data_tmp = ISHFT(data_tmp, 24)
30245 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30246 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30247 539654 : idata = idata + 1
30248 539654 : data_tmp = full_data(idata)
30249 539654 : data_tmp = ISHFT(data_tmp, 24)
30250 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30251 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30252 539654 : ipack = ipack + 1
30253 539654 : packed_data(ipack) = pack_tmp
30254 539654 : data_tmp = full_data(idata)
30255 539654 : pack_tmp = ISHFT(data_tmp, 32)
30256 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30257 539654 : idata = idata + 1
30258 539654 : data_tmp = full_data(idata)
30259 539654 : data_tmp = ISHFT(data_tmp, 24)
30260 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30261 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30262 539654 : ipack = ipack + 1
30263 539654 : packed_data(ipack) = pack_tmp
30264 539654 : data_tmp = full_data(idata)
30265 539654 : pack_tmp = ISHFT(data_tmp, 56)
30266 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30267 539654 : idata = idata + 1
30268 539654 : data_tmp = full_data(idata)
30269 539654 : data_tmp = ISHFT(data_tmp, 24)
30270 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30271 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30272 539654 : idata = idata + 1
30273 539654 : data_tmp = full_data(idata)
30274 539654 : data_tmp = ISHFT(data_tmp, 24)
30275 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30276 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30277 539654 : ipack = ipack + 1
30278 539654 : packed_data(ipack) = pack_tmp
30279 539654 : data_tmp = full_data(idata)
30280 539654 : pack_tmp = ISHFT(data_tmp, 40)
30281 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30282 539654 : idata = idata + 1
30283 539654 : data_tmp = full_data(idata)
30284 539654 : data_tmp = ISHFT(data_tmp, 24)
30285 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30286 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30287 539654 : idata = idata + 1
30288 539654 : data_tmp = full_data(idata)
30289 : data_tmp = ISHFT(data_tmp, 24)
30290 539654 : data_tmp = IAND(data_tmp, mask_left(0))
30291 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30292 539654 : ipack = ipack + 1
30293 539654 : packed_data(ipack) = pack_tmp
30294 539654 : data_tmp = full_data(idata)
30295 539654 : pack_tmp = ISHFT(data_tmp, 24)
30296 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30297 539654 : idata = idata + 1
30298 539654 : data_tmp = full_data(idata)
30299 539654 : data_tmp = ISHFT(data_tmp, 24)
30300 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30301 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30302 539654 : ipack = ipack + 1
30303 539654 : packed_data(ipack) = pack_tmp
30304 539654 : data_tmp = full_data(idata)
30305 539654 : pack_tmp = ISHFT(data_tmp, 48)
30306 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30307 539654 : idata = idata + 1
30308 539654 : data_tmp = full_data(idata)
30309 539654 : data_tmp = ISHFT(data_tmp, 24)
30310 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30311 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30312 539654 : idata = idata + 1
30313 539654 : data_tmp = full_data(idata)
30314 539654 : data_tmp = ISHFT(data_tmp, 24)
30315 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30316 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30317 539654 : ipack = ipack + 1
30318 539654 : packed_data(ipack) = pack_tmp
30319 539654 : data_tmp = full_data(idata)
30320 539654 : pack_tmp = ISHFT(data_tmp, 32)
30321 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30322 539654 : idata = idata + 1
30323 539654 : data_tmp = full_data(idata)
30324 539654 : data_tmp = ISHFT(data_tmp, 24)
30325 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30326 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30327 539654 : ipack = ipack + 1
30328 539654 : packed_data(ipack) = pack_tmp
30329 539654 : data_tmp = full_data(idata)
30330 539654 : pack_tmp = ISHFT(data_tmp, 56)
30331 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30332 539654 : idata = idata + 1
30333 539654 : data_tmp = full_data(idata)
30334 539654 : data_tmp = ISHFT(data_tmp, 24)
30335 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30336 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30337 539654 : idata = idata + 1
30338 539654 : data_tmp = full_data(idata)
30339 539654 : data_tmp = ISHFT(data_tmp, 24)
30340 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30341 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30342 539654 : ipack = ipack + 1
30343 539654 : packed_data(ipack) = pack_tmp
30344 539654 : data_tmp = full_data(idata)
30345 539654 : pack_tmp = ISHFT(data_tmp, 40)
30346 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30347 539654 : idata = idata + 1
30348 539654 : data_tmp = full_data(idata)
30349 539654 : data_tmp = ISHFT(data_tmp, 24)
30350 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30351 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30352 539654 : idata = idata + 1
30353 539654 : data_tmp = full_data(idata)
30354 : data_tmp = ISHFT(data_tmp, 24)
30355 539654 : data_tmp = IAND(data_tmp, mask_left(0))
30356 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30357 539654 : ipack = ipack + 1
30358 539654 : packed_data(ipack) = pack_tmp
30359 539654 : data_tmp = full_data(idata)
30360 539654 : pack_tmp = ISHFT(data_tmp, 24)
30361 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30362 539654 : idata = idata + 1
30363 539654 : data_tmp = full_data(idata)
30364 539654 : data_tmp = ISHFT(data_tmp, 24)
30365 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30366 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30367 539654 : ipack = ipack + 1
30368 539654 : packed_data(ipack) = pack_tmp
30369 539654 : data_tmp = full_data(idata)
30370 539654 : pack_tmp = ISHFT(data_tmp, 48)
30371 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30372 539654 : idata = idata + 1
30373 539654 : data_tmp = full_data(idata)
30374 539654 : data_tmp = ISHFT(data_tmp, 24)
30375 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30376 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30377 539654 : idata = idata + 1
30378 539654 : data_tmp = full_data(idata)
30379 539654 : data_tmp = ISHFT(data_tmp, 24)
30380 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30381 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30382 539654 : ipack = ipack + 1
30383 539654 : packed_data(ipack) = pack_tmp
30384 539654 : data_tmp = full_data(idata)
30385 539654 : pack_tmp = ISHFT(data_tmp, 32)
30386 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30387 539654 : idata = idata + 1
30388 539654 : data_tmp = full_data(idata)
30389 539654 : data_tmp = ISHFT(data_tmp, 24)
30390 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30391 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30392 539654 : ipack = ipack + 1
30393 539654 : packed_data(ipack) = pack_tmp
30394 539654 : data_tmp = full_data(idata)
30395 539654 : pack_tmp = ISHFT(data_tmp, 56)
30396 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30397 539654 : idata = idata + 1
30398 539654 : data_tmp = full_data(idata)
30399 539654 : data_tmp = ISHFT(data_tmp, 24)
30400 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30401 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30402 539654 : idata = idata + 1
30403 539654 : data_tmp = full_data(idata)
30404 539654 : data_tmp = ISHFT(data_tmp, 24)
30405 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30406 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30407 539654 : ipack = ipack + 1
30408 539654 : packed_data(ipack) = pack_tmp
30409 539654 : data_tmp = full_data(idata)
30410 539654 : pack_tmp = ISHFT(data_tmp, 40)
30411 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30412 539654 : idata = idata + 1
30413 539654 : data_tmp = full_data(idata)
30414 539654 : data_tmp = ISHFT(data_tmp, 24)
30415 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30416 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30417 539654 : idata = idata + 1
30418 539654 : data_tmp = full_data(idata)
30419 : data_tmp = ISHFT(data_tmp, 24)
30420 539654 : data_tmp = IAND(data_tmp, mask_left(0))
30421 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30422 539654 : ipack = ipack + 1
30423 539654 : packed_data(ipack) = pack_tmp
30424 539654 : data_tmp = full_data(idata)
30425 539654 : pack_tmp = ISHFT(data_tmp, 24)
30426 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30427 539654 : idata = idata + 1
30428 539654 : data_tmp = full_data(idata)
30429 539654 : data_tmp = ISHFT(data_tmp, 24)
30430 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30431 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30432 539654 : ipack = ipack + 1
30433 539654 : packed_data(ipack) = pack_tmp
30434 539654 : data_tmp = full_data(idata)
30435 539654 : pack_tmp = ISHFT(data_tmp, 48)
30436 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30437 539654 : idata = idata + 1
30438 539654 : data_tmp = full_data(idata)
30439 539654 : data_tmp = ISHFT(data_tmp, 24)
30440 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30441 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30442 539654 : idata = idata + 1
30443 539654 : data_tmp = full_data(idata)
30444 539654 : data_tmp = ISHFT(data_tmp, 24)
30445 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30446 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30447 539654 : ipack = ipack + 1
30448 539654 : packed_data(ipack) = pack_tmp
30449 539654 : data_tmp = full_data(idata)
30450 539654 : pack_tmp = ISHFT(data_tmp, 32)
30451 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30452 539654 : idata = idata + 1
30453 539654 : data_tmp = full_data(idata)
30454 539654 : data_tmp = ISHFT(data_tmp, 24)
30455 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30456 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30457 539654 : ipack = ipack + 1
30458 539654 : packed_data(ipack) = pack_tmp
30459 539654 : data_tmp = full_data(idata)
30460 539654 : pack_tmp = ISHFT(data_tmp, 56)
30461 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30462 539654 : idata = idata + 1
30463 539654 : data_tmp = full_data(idata)
30464 539654 : data_tmp = ISHFT(data_tmp, 24)
30465 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30466 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30467 539654 : idata = idata + 1
30468 539654 : data_tmp = full_data(idata)
30469 539654 : data_tmp = ISHFT(data_tmp, 24)
30470 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30471 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30472 539654 : ipack = ipack + 1
30473 539654 : packed_data(ipack) = pack_tmp
30474 539654 : data_tmp = full_data(idata)
30475 539654 : pack_tmp = ISHFT(data_tmp, 40)
30476 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30477 539654 : idata = idata + 1
30478 539654 : data_tmp = full_data(idata)
30479 539654 : data_tmp = ISHFT(data_tmp, 24)
30480 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30481 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30482 539654 : idata = idata + 1
30483 539654 : data_tmp = full_data(idata)
30484 : data_tmp = ISHFT(data_tmp, 24)
30485 539654 : data_tmp = IAND(data_tmp, mask_left(0))
30486 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30487 539654 : ipack = ipack + 1
30488 539654 : packed_data(ipack) = pack_tmp
30489 539654 : data_tmp = full_data(idata)
30490 539654 : pack_tmp = ISHFT(data_tmp, 24)
30491 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30492 539654 : idata = idata + 1
30493 539654 : data_tmp = full_data(idata)
30494 539654 : data_tmp = ISHFT(data_tmp, 24)
30495 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30496 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30497 539654 : ipack = ipack + 1
30498 539654 : packed_data(ipack) = pack_tmp
30499 539654 : data_tmp = full_data(idata)
30500 539654 : pack_tmp = ISHFT(data_tmp, 48)
30501 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30502 539654 : idata = idata + 1
30503 539654 : data_tmp = full_data(idata)
30504 539654 : data_tmp = ISHFT(data_tmp, 24)
30505 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30506 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30507 539654 : idata = idata + 1
30508 539654 : data_tmp = full_data(idata)
30509 539654 : data_tmp = ISHFT(data_tmp, 24)
30510 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30511 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30512 539654 : ipack = ipack + 1
30513 539654 : packed_data(ipack) = pack_tmp
30514 539654 : data_tmp = full_data(idata)
30515 539654 : pack_tmp = ISHFT(data_tmp, 32)
30516 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30517 539654 : idata = idata + 1
30518 539654 : data_tmp = full_data(idata)
30519 539654 : data_tmp = ISHFT(data_tmp, 24)
30520 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30521 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30522 539654 : ipack = ipack + 1
30523 539654 : packed_data(ipack) = pack_tmp
30524 539654 : data_tmp = full_data(idata)
30525 539654 : pack_tmp = ISHFT(data_tmp, 56)
30526 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30527 539654 : idata = idata + 1
30528 539654 : data_tmp = full_data(idata)
30529 539654 : data_tmp = ISHFT(data_tmp, 24)
30530 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30531 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30532 539654 : idata = idata + 1
30533 539654 : data_tmp = full_data(idata)
30534 539654 : data_tmp = ISHFT(data_tmp, 24)
30535 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30536 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30537 539654 : ipack = ipack + 1
30538 539654 : packed_data(ipack) = pack_tmp
30539 539654 : data_tmp = full_data(idata)
30540 539654 : pack_tmp = ISHFT(data_tmp, 40)
30541 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30542 539654 : idata = idata + 1
30543 539654 : data_tmp = full_data(idata)
30544 539654 : data_tmp = ISHFT(data_tmp, 24)
30545 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30546 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30547 539654 : idata = idata + 1
30548 539654 : data_tmp = full_data(idata)
30549 : data_tmp = ISHFT(data_tmp, 24)
30550 539654 : data_tmp = IAND(data_tmp, mask_left(0))
30551 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30552 539654 : ipack = ipack + 1
30553 539654 : packed_data(ipack) = pack_tmp
30554 539654 : data_tmp = full_data(idata)
30555 539654 : pack_tmp = ISHFT(data_tmp, 24)
30556 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30557 539654 : idata = idata + 1
30558 539654 : data_tmp = full_data(idata)
30559 539654 : data_tmp = ISHFT(data_tmp, 24)
30560 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30561 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30562 539654 : ipack = ipack + 1
30563 539654 : packed_data(ipack) = pack_tmp
30564 539654 : data_tmp = full_data(idata)
30565 539654 : pack_tmp = ISHFT(data_tmp, 48)
30566 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30567 539654 : idata = idata + 1
30568 539654 : data_tmp = full_data(idata)
30569 539654 : data_tmp = ISHFT(data_tmp, 24)
30570 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30571 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30572 539654 : idata = idata + 1
30573 539654 : data_tmp = full_data(idata)
30574 539654 : data_tmp = ISHFT(data_tmp, 24)
30575 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30576 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30577 539654 : ipack = ipack + 1
30578 539654 : packed_data(ipack) = pack_tmp
30579 539654 : data_tmp = full_data(idata)
30580 539654 : pack_tmp = ISHFT(data_tmp, 32)
30581 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30582 539654 : idata = idata + 1
30583 539654 : data_tmp = full_data(idata)
30584 539654 : data_tmp = ISHFT(data_tmp, 24)
30585 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30586 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30587 539654 : ipack = ipack + 1
30588 539654 : packed_data(ipack) = pack_tmp
30589 539654 : data_tmp = full_data(idata)
30590 539654 : pack_tmp = ISHFT(data_tmp, 56)
30591 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30592 539654 : idata = idata + 1
30593 539654 : data_tmp = full_data(idata)
30594 539654 : data_tmp = ISHFT(data_tmp, 24)
30595 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30596 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30597 539654 : idata = idata + 1
30598 539654 : data_tmp = full_data(idata)
30599 539654 : data_tmp = ISHFT(data_tmp, 24)
30600 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30601 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30602 539654 : ipack = ipack + 1
30603 539654 : packed_data(ipack) = pack_tmp
30604 539654 : data_tmp = full_data(idata)
30605 539654 : pack_tmp = ISHFT(data_tmp, 40)
30606 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30607 539654 : idata = idata + 1
30608 539654 : data_tmp = full_data(idata)
30609 539654 : data_tmp = ISHFT(data_tmp, 24)
30610 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30611 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30612 539654 : idata = idata + 1
30613 539654 : data_tmp = full_data(idata)
30614 : data_tmp = ISHFT(data_tmp, 24)
30615 539654 : data_tmp = IAND(data_tmp, mask_left(0))
30616 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30617 539654 : ipack = ipack + 1
30618 539654 : packed_data(ipack) = pack_tmp
30619 539654 : data_tmp = full_data(idata)
30620 539654 : pack_tmp = ISHFT(data_tmp, 24)
30621 539654 : pack_tmp = ISHFT(pack_tmp, -24)
30622 539654 : idata = idata + 1
30623 539654 : data_tmp = full_data(idata)
30624 539654 : data_tmp = ISHFT(data_tmp, 24)
30625 539654 : data_tmp = IAND(data_tmp, mask_left(24))
30626 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30627 539654 : ipack = ipack + 1
30628 539654 : packed_data(ipack) = pack_tmp
30629 539654 : data_tmp = full_data(idata)
30630 539654 : pack_tmp = ISHFT(data_tmp, 48)
30631 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30632 539654 : idata = idata + 1
30633 539654 : data_tmp = full_data(idata)
30634 539654 : data_tmp = ISHFT(data_tmp, 24)
30635 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30636 539654 : pack_tmp = ISHFT(pack_tmp, -8)
30637 539654 : idata = idata + 1
30638 539654 : data_tmp = full_data(idata)
30639 539654 : data_tmp = ISHFT(data_tmp, 24)
30640 539654 : data_tmp = IAND(data_tmp, mask_left(8))
30641 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30642 539654 : ipack = ipack + 1
30643 539654 : packed_data(ipack) = pack_tmp
30644 539654 : data_tmp = full_data(idata)
30645 539654 : pack_tmp = ISHFT(data_tmp, 32)
30646 539654 : pack_tmp = ISHFT(pack_tmp, -32)
30647 539654 : idata = idata + 1
30648 539654 : data_tmp = full_data(idata)
30649 539654 : data_tmp = ISHFT(data_tmp, 24)
30650 539654 : data_tmp = IAND(data_tmp, mask_left(32))
30651 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30652 539654 : ipack = ipack + 1
30653 539654 : packed_data(ipack) = pack_tmp
30654 539654 : data_tmp = full_data(idata)
30655 539654 : pack_tmp = ISHFT(data_tmp, 56)
30656 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30657 539654 : idata = idata + 1
30658 539654 : data_tmp = full_data(idata)
30659 539654 : data_tmp = ISHFT(data_tmp, 24)
30660 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30661 539654 : pack_tmp = ISHFT(pack_tmp, -16)
30662 539654 : idata = idata + 1
30663 539654 : data_tmp = full_data(idata)
30664 539654 : data_tmp = ISHFT(data_tmp, 24)
30665 539654 : data_tmp = IAND(data_tmp, mask_left(16))
30666 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30667 539654 : ipack = ipack + 1
30668 539654 : packed_data(ipack) = pack_tmp
30669 539654 : data_tmp = full_data(idata)
30670 539654 : pack_tmp = ISHFT(data_tmp, 40)
30671 539654 : pack_tmp = ISHFT(pack_tmp, -40)
30672 539654 : idata = idata + 1
30673 539654 : data_tmp = full_data(idata)
30674 539654 : data_tmp = ISHFT(data_tmp, 24)
30675 539654 : pack_tmp = IOR(pack_tmp, data_tmp)
30676 : pack_tmp = ISHFT(pack_tmp, 0)
30677 539654 : pack_tmp = ISHFT(pack_tmp, 0)
30678 539654 : ipack = ipack + 1
30679 540590 : packed_data(ipack) = pack_tmp
30680 : END DO
30681 40425 : IF (Ndata_rep < Ndata) THEN
30682 11988 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
30683 : END IF
30684 40425 : END SUBROUTINE ints2bits_40
30685 :
30686 : ! **************************************************************************************************
30687 : !> \brief ...
30688 : !> \param Ndata ...
30689 : !> \param packed_data ...
30690 : !> \param full_data ...
30691 : ! **************************************************************************************************
30692 153704 : 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(*)
30696 :
30697 : INTEGER, PARAMETER :: Nbits = 40
30698 :
30699 : INTEGER :: idata, ipack, kdata, Ndata_rep
30700 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
30701 :
30702 153704 : ipack = 0
30703 153704 : idata = 0
30704 153704 : pack_tmp = 0
30705 153704 : Ndata_rep = (Ndata/64)*64
30706 153704 : DO kdata = 1, Ndata_rep, 64
30707 2083026 : idata = idata + 1
30708 2083026 : data_tmp = ISHFT(pack_tmp, 40)
30709 2083026 : ipack = ipack + 1
30710 2083026 : pack_tmp = packed_data(ipack)
30711 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30712 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
30713 2083026 : idata = idata + 1
30714 2083026 : data_tmp = ISHFT(pack_tmp, 16)
30715 2083026 : ipack = ipack + 1
30716 2083026 : pack_tmp = packed_data(ipack)
30717 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30718 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
30719 2083026 : idata = idata + 1
30720 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30721 2083026 : full_data(idata) = data_tmp
30722 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30723 2083026 : idata = idata + 1
30724 2083026 : data_tmp = ISHFT(pack_tmp, 32)
30725 2083026 : ipack = ipack + 1
30726 2083026 : pack_tmp = packed_data(ipack)
30727 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30728 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
30729 2083026 : idata = idata + 1
30730 2083026 : data_tmp = ISHFT(pack_tmp, 8)
30731 2083026 : ipack = ipack + 1
30732 2083026 : pack_tmp = packed_data(ipack)
30733 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30734 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
30735 2083026 : idata = idata + 1
30736 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30737 2083026 : full_data(idata) = data_tmp
30738 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30739 2083026 : idata = idata + 1
30740 2083026 : data_tmp = ISHFT(pack_tmp, 24)
30741 2083026 : ipack = ipack + 1
30742 2083026 : pack_tmp = packed_data(ipack)
30743 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30744 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
30745 2083026 : idata = idata + 1
30746 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30747 2083026 : full_data(idata) = data_tmp
30748 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30749 2083026 : idata = idata + 1
30750 2083026 : data_tmp = ISHFT(pack_tmp, 40)
30751 2083026 : ipack = ipack + 1
30752 2083026 : pack_tmp = packed_data(ipack)
30753 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30754 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
30755 2083026 : idata = idata + 1
30756 2083026 : data_tmp = ISHFT(pack_tmp, 16)
30757 2083026 : ipack = ipack + 1
30758 2083026 : pack_tmp = packed_data(ipack)
30759 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30760 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
30761 2083026 : idata = idata + 1
30762 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30763 2083026 : full_data(idata) = data_tmp
30764 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30765 2083026 : idata = idata + 1
30766 2083026 : data_tmp = ISHFT(pack_tmp, 32)
30767 2083026 : ipack = ipack + 1
30768 2083026 : pack_tmp = packed_data(ipack)
30769 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30770 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
30771 2083026 : idata = idata + 1
30772 2083026 : data_tmp = ISHFT(pack_tmp, 8)
30773 2083026 : ipack = ipack + 1
30774 2083026 : pack_tmp = packed_data(ipack)
30775 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30776 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
30777 2083026 : idata = idata + 1
30778 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30779 2083026 : full_data(idata) = data_tmp
30780 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30781 2083026 : idata = idata + 1
30782 2083026 : data_tmp = ISHFT(pack_tmp, 24)
30783 2083026 : ipack = ipack + 1
30784 2083026 : pack_tmp = packed_data(ipack)
30785 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30786 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
30787 2083026 : idata = idata + 1
30788 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30789 2083026 : full_data(idata) = data_tmp
30790 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30791 2083026 : idata = idata + 1
30792 2083026 : data_tmp = ISHFT(pack_tmp, 40)
30793 2083026 : ipack = ipack + 1
30794 2083026 : pack_tmp = packed_data(ipack)
30795 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30796 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
30797 2083026 : idata = idata + 1
30798 2083026 : data_tmp = ISHFT(pack_tmp, 16)
30799 2083026 : ipack = ipack + 1
30800 2083026 : pack_tmp = packed_data(ipack)
30801 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30802 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
30803 2083026 : idata = idata + 1
30804 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30805 2083026 : full_data(idata) = data_tmp
30806 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30807 2083026 : idata = idata + 1
30808 2083026 : data_tmp = ISHFT(pack_tmp, 32)
30809 2083026 : ipack = ipack + 1
30810 2083026 : pack_tmp = packed_data(ipack)
30811 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30812 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
30813 2083026 : idata = idata + 1
30814 2083026 : data_tmp = ISHFT(pack_tmp, 8)
30815 2083026 : ipack = ipack + 1
30816 2083026 : pack_tmp = packed_data(ipack)
30817 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30818 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
30819 2083026 : idata = idata + 1
30820 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30821 2083026 : full_data(idata) = data_tmp
30822 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30823 2083026 : idata = idata + 1
30824 2083026 : data_tmp = ISHFT(pack_tmp, 24)
30825 2083026 : ipack = ipack + 1
30826 2083026 : pack_tmp = packed_data(ipack)
30827 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30828 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
30829 2083026 : idata = idata + 1
30830 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30831 2083026 : full_data(idata) = data_tmp
30832 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30833 2083026 : idata = idata + 1
30834 2083026 : data_tmp = ISHFT(pack_tmp, 40)
30835 2083026 : ipack = ipack + 1
30836 2083026 : pack_tmp = packed_data(ipack)
30837 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30838 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
30839 2083026 : idata = idata + 1
30840 2083026 : data_tmp = ISHFT(pack_tmp, 16)
30841 2083026 : ipack = ipack + 1
30842 2083026 : pack_tmp = packed_data(ipack)
30843 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30844 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
30845 2083026 : idata = idata + 1
30846 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30847 2083026 : full_data(idata) = data_tmp
30848 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30849 2083026 : idata = idata + 1
30850 2083026 : data_tmp = ISHFT(pack_tmp, 32)
30851 2083026 : ipack = ipack + 1
30852 2083026 : pack_tmp = packed_data(ipack)
30853 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30854 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
30855 2083026 : idata = idata + 1
30856 2083026 : data_tmp = ISHFT(pack_tmp, 8)
30857 2083026 : ipack = ipack + 1
30858 2083026 : pack_tmp = packed_data(ipack)
30859 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30860 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
30861 2083026 : idata = idata + 1
30862 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30863 2083026 : full_data(idata) = data_tmp
30864 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30865 2083026 : idata = idata + 1
30866 2083026 : data_tmp = ISHFT(pack_tmp, 24)
30867 2083026 : ipack = ipack + 1
30868 2083026 : pack_tmp = packed_data(ipack)
30869 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30870 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
30871 2083026 : idata = idata + 1
30872 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30873 2083026 : full_data(idata) = data_tmp
30874 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30875 2083026 : idata = idata + 1
30876 2083026 : data_tmp = ISHFT(pack_tmp, 40)
30877 2083026 : ipack = ipack + 1
30878 2083026 : pack_tmp = packed_data(ipack)
30879 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30880 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
30881 2083026 : idata = idata + 1
30882 2083026 : data_tmp = ISHFT(pack_tmp, 16)
30883 2083026 : ipack = ipack + 1
30884 2083026 : pack_tmp = packed_data(ipack)
30885 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30886 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
30887 2083026 : idata = idata + 1
30888 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30889 2083026 : full_data(idata) = data_tmp
30890 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30891 2083026 : idata = idata + 1
30892 2083026 : data_tmp = ISHFT(pack_tmp, 32)
30893 2083026 : ipack = ipack + 1
30894 2083026 : pack_tmp = packed_data(ipack)
30895 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30896 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
30897 2083026 : idata = idata + 1
30898 2083026 : data_tmp = ISHFT(pack_tmp, 8)
30899 2083026 : ipack = ipack + 1
30900 2083026 : pack_tmp = packed_data(ipack)
30901 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30902 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
30903 2083026 : idata = idata + 1
30904 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30905 2083026 : full_data(idata) = data_tmp
30906 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30907 2083026 : idata = idata + 1
30908 2083026 : data_tmp = ISHFT(pack_tmp, 24)
30909 2083026 : ipack = ipack + 1
30910 2083026 : pack_tmp = packed_data(ipack)
30911 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30912 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
30913 2083026 : idata = idata + 1
30914 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30915 2083026 : full_data(idata) = data_tmp
30916 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30917 2083026 : idata = idata + 1
30918 2083026 : data_tmp = ISHFT(pack_tmp, 40)
30919 2083026 : ipack = ipack + 1
30920 2083026 : pack_tmp = packed_data(ipack)
30921 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30922 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
30923 2083026 : idata = idata + 1
30924 2083026 : data_tmp = ISHFT(pack_tmp, 16)
30925 2083026 : ipack = ipack + 1
30926 2083026 : pack_tmp = packed_data(ipack)
30927 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30928 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
30929 2083026 : idata = idata + 1
30930 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30931 2083026 : full_data(idata) = data_tmp
30932 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30933 2083026 : idata = idata + 1
30934 2083026 : data_tmp = ISHFT(pack_tmp, 32)
30935 2083026 : ipack = ipack + 1
30936 2083026 : pack_tmp = packed_data(ipack)
30937 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30938 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
30939 2083026 : idata = idata + 1
30940 2083026 : data_tmp = ISHFT(pack_tmp, 8)
30941 2083026 : ipack = ipack + 1
30942 2083026 : pack_tmp = packed_data(ipack)
30943 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30944 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
30945 2083026 : idata = idata + 1
30946 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30947 2083026 : full_data(idata) = data_tmp
30948 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30949 2083026 : idata = idata + 1
30950 2083026 : data_tmp = ISHFT(pack_tmp, 24)
30951 2083026 : ipack = ipack + 1
30952 2083026 : pack_tmp = packed_data(ipack)
30953 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30954 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
30955 2083026 : idata = idata + 1
30956 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30957 2083026 : full_data(idata) = data_tmp
30958 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30959 2083026 : idata = idata + 1
30960 2083026 : data_tmp = ISHFT(pack_tmp, 40)
30961 2083026 : ipack = ipack + 1
30962 2083026 : pack_tmp = packed_data(ipack)
30963 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
30964 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
30965 2083026 : idata = idata + 1
30966 2083026 : data_tmp = ISHFT(pack_tmp, 16)
30967 2083026 : ipack = ipack + 1
30968 2083026 : pack_tmp = packed_data(ipack)
30969 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
30970 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
30971 2083026 : idata = idata + 1
30972 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30973 2083026 : full_data(idata) = data_tmp
30974 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30975 2083026 : idata = idata + 1
30976 2083026 : data_tmp = ISHFT(pack_tmp, 32)
30977 2083026 : ipack = ipack + 1
30978 2083026 : pack_tmp = packed_data(ipack)
30979 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
30980 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
30981 2083026 : idata = idata + 1
30982 2083026 : data_tmp = ISHFT(pack_tmp, 8)
30983 2083026 : ipack = ipack + 1
30984 2083026 : pack_tmp = packed_data(ipack)
30985 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
30986 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
30987 2083026 : idata = idata + 1
30988 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30989 2083026 : full_data(idata) = data_tmp
30990 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
30991 2083026 : idata = idata + 1
30992 2083026 : data_tmp = ISHFT(pack_tmp, 24)
30993 2083026 : ipack = ipack + 1
30994 2083026 : pack_tmp = packed_data(ipack)
30995 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
30996 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
30997 2083026 : idata = idata + 1
30998 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
30999 2083026 : full_data(idata) = data_tmp
31000 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31001 2083026 : idata = idata + 1
31002 2083026 : data_tmp = ISHFT(pack_tmp, 40)
31003 2083026 : ipack = ipack + 1
31004 2083026 : pack_tmp = packed_data(ipack)
31005 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
31006 2083026 : pack_tmp = ISHFT(pack_tmp, -40)
31007 2083026 : idata = idata + 1
31008 2083026 : data_tmp = ISHFT(pack_tmp, 16)
31009 2083026 : ipack = ipack + 1
31010 2083026 : pack_tmp = packed_data(ipack)
31011 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
31012 2083026 : pack_tmp = ISHFT(pack_tmp, -16)
31013 2083026 : idata = idata + 1
31014 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31015 2083026 : full_data(idata) = data_tmp
31016 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31017 2083026 : idata = idata + 1
31018 2083026 : data_tmp = ISHFT(pack_tmp, 32)
31019 2083026 : ipack = ipack + 1
31020 2083026 : pack_tmp = packed_data(ipack)
31021 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
31022 2083026 : pack_tmp = ISHFT(pack_tmp, -32)
31023 2083026 : idata = idata + 1
31024 2083026 : data_tmp = ISHFT(pack_tmp, 8)
31025 2083026 : ipack = ipack + 1
31026 2083026 : pack_tmp = packed_data(ipack)
31027 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
31028 2083026 : pack_tmp = ISHFT(pack_tmp, -8)
31029 2083026 : idata = idata + 1
31030 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31031 2083026 : full_data(idata) = data_tmp
31032 2083026 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31033 2083026 : idata = idata + 1
31034 2083026 : data_tmp = ISHFT(pack_tmp, 24)
31035 2083026 : ipack = ipack + 1
31036 2083026 : pack_tmp = packed_data(ipack)
31037 2083026 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
31038 2083026 : pack_tmp = ISHFT(pack_tmp, -24)
31039 2083026 : idata = idata + 1
31040 2083026 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31041 2083026 : full_data(idata) = data_tmp
31042 2084843 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31043 : END DO
31044 153704 : IF (Ndata_rep < Ndata) THEN
31045 43164 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31046 : END IF
31047 153704 : END SUBROUTINE bits2ints_40
31048 :
31049 : ! **************************************************************************************************
31050 : !> \brief ...
31051 : !> \param Ndata ...
31052 : !> \param packed_data ...
31053 : !> \param full_data ...
31054 : ! **************************************************************************************************
31055 33145 : 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(*)
31059 :
31060 : INTEGER, PARAMETER :: Nbits = 41
31061 :
31062 : INTEGER :: idata, ipack, kdata, Ndata_rep
31063 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
31064 :
31065 33145 : idata = 0
31066 33145 : ipack = 0
31067 33145 : Ndata_rep = (Ndata/64)*64
31068 33145 : DO kdata = 1, Ndata_rep, 64
31069 470138 : pack_tmp = 0
31070 470138 : idata = idata + 1
31071 470138 : data_tmp = full_data(idata)
31072 470138 : data_tmp = ISHFT(data_tmp, 23)
31073 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31074 470138 : pack_tmp = ISHFT(pack_tmp, -23)
31075 470138 : idata = idata + 1
31076 470138 : data_tmp = full_data(idata)
31077 470138 : data_tmp = ISHFT(data_tmp, 23)
31078 470138 : data_tmp = IAND(data_tmp, mask_left(23))
31079 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31080 470138 : ipack = ipack + 1
31081 470138 : packed_data(ipack) = pack_tmp
31082 470138 : data_tmp = full_data(idata)
31083 470138 : pack_tmp = ISHFT(data_tmp, 46)
31084 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31085 470138 : idata = idata + 1
31086 470138 : data_tmp = full_data(idata)
31087 470138 : data_tmp = ISHFT(data_tmp, 23)
31088 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31089 470138 : pack_tmp = ISHFT(pack_tmp, -5)
31090 470138 : idata = idata + 1
31091 470138 : data_tmp = full_data(idata)
31092 470138 : data_tmp = ISHFT(data_tmp, 23)
31093 470138 : data_tmp = IAND(data_tmp, mask_left(5))
31094 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31095 470138 : ipack = ipack + 1
31096 470138 : packed_data(ipack) = pack_tmp
31097 470138 : data_tmp = full_data(idata)
31098 470138 : pack_tmp = ISHFT(data_tmp, 28)
31099 470138 : pack_tmp = ISHFT(pack_tmp, -28)
31100 470138 : idata = idata + 1
31101 470138 : data_tmp = full_data(idata)
31102 470138 : data_tmp = ISHFT(data_tmp, 23)
31103 470138 : data_tmp = IAND(data_tmp, mask_left(28))
31104 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31105 470138 : ipack = ipack + 1
31106 470138 : packed_data(ipack) = pack_tmp
31107 470138 : data_tmp = full_data(idata)
31108 470138 : pack_tmp = ISHFT(data_tmp, 51)
31109 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31110 470138 : idata = idata + 1
31111 470138 : data_tmp = full_data(idata)
31112 470138 : data_tmp = ISHFT(data_tmp, 23)
31113 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31114 470138 : pack_tmp = ISHFT(pack_tmp, -10)
31115 470138 : idata = idata + 1
31116 470138 : data_tmp = full_data(idata)
31117 470138 : data_tmp = ISHFT(data_tmp, 23)
31118 470138 : data_tmp = IAND(data_tmp, mask_left(10))
31119 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31120 470138 : ipack = ipack + 1
31121 470138 : packed_data(ipack) = pack_tmp
31122 470138 : data_tmp = full_data(idata)
31123 470138 : pack_tmp = ISHFT(data_tmp, 33)
31124 470138 : pack_tmp = ISHFT(pack_tmp, -33)
31125 470138 : idata = idata + 1
31126 470138 : data_tmp = full_data(idata)
31127 470138 : data_tmp = ISHFT(data_tmp, 23)
31128 470138 : data_tmp = IAND(data_tmp, mask_left(33))
31129 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31130 470138 : ipack = ipack + 1
31131 470138 : packed_data(ipack) = pack_tmp
31132 470138 : data_tmp = full_data(idata)
31133 470138 : pack_tmp = ISHFT(data_tmp, 56)
31134 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31135 470138 : idata = idata + 1
31136 470138 : data_tmp = full_data(idata)
31137 470138 : data_tmp = ISHFT(data_tmp, 23)
31138 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31139 470138 : pack_tmp = ISHFT(pack_tmp, -15)
31140 470138 : idata = idata + 1
31141 470138 : data_tmp = full_data(idata)
31142 470138 : data_tmp = ISHFT(data_tmp, 23)
31143 470138 : data_tmp = IAND(data_tmp, mask_left(15))
31144 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31145 470138 : ipack = ipack + 1
31146 470138 : packed_data(ipack) = pack_tmp
31147 470138 : data_tmp = full_data(idata)
31148 470138 : pack_tmp = ISHFT(data_tmp, 38)
31149 470138 : pack_tmp = ISHFT(pack_tmp, -38)
31150 470138 : idata = idata + 1
31151 470138 : data_tmp = full_data(idata)
31152 470138 : data_tmp = ISHFT(data_tmp, 23)
31153 470138 : data_tmp = IAND(data_tmp, mask_left(38))
31154 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31155 470138 : ipack = ipack + 1
31156 470138 : packed_data(ipack) = pack_tmp
31157 470138 : data_tmp = full_data(idata)
31158 470138 : pack_tmp = ISHFT(data_tmp, 61)
31159 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31160 470138 : idata = idata + 1
31161 470138 : data_tmp = full_data(idata)
31162 470138 : data_tmp = ISHFT(data_tmp, 23)
31163 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31164 470138 : pack_tmp = ISHFT(pack_tmp, -20)
31165 470138 : idata = idata + 1
31166 470138 : data_tmp = full_data(idata)
31167 470138 : data_tmp = ISHFT(data_tmp, 23)
31168 470138 : data_tmp = IAND(data_tmp, mask_left(20))
31169 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31170 470138 : ipack = ipack + 1
31171 470138 : packed_data(ipack) = pack_tmp
31172 470138 : data_tmp = full_data(idata)
31173 470138 : pack_tmp = ISHFT(data_tmp, 43)
31174 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31175 470138 : idata = idata + 1
31176 470138 : data_tmp = full_data(idata)
31177 470138 : data_tmp = ISHFT(data_tmp, 23)
31178 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31179 470138 : pack_tmp = ISHFT(pack_tmp, -2)
31180 470138 : idata = idata + 1
31181 470138 : data_tmp = full_data(idata)
31182 470138 : data_tmp = ISHFT(data_tmp, 23)
31183 470138 : data_tmp = IAND(data_tmp, mask_left(2))
31184 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31185 470138 : ipack = ipack + 1
31186 470138 : packed_data(ipack) = pack_tmp
31187 470138 : data_tmp = full_data(idata)
31188 470138 : pack_tmp = ISHFT(data_tmp, 25)
31189 470138 : pack_tmp = ISHFT(pack_tmp, -25)
31190 470138 : idata = idata + 1
31191 470138 : data_tmp = full_data(idata)
31192 470138 : data_tmp = ISHFT(data_tmp, 23)
31193 470138 : data_tmp = IAND(data_tmp, mask_left(25))
31194 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31195 470138 : ipack = ipack + 1
31196 470138 : packed_data(ipack) = pack_tmp
31197 470138 : data_tmp = full_data(idata)
31198 470138 : pack_tmp = ISHFT(data_tmp, 48)
31199 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31200 470138 : idata = idata + 1
31201 470138 : data_tmp = full_data(idata)
31202 470138 : data_tmp = ISHFT(data_tmp, 23)
31203 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31204 470138 : pack_tmp = ISHFT(pack_tmp, -7)
31205 470138 : idata = idata + 1
31206 470138 : data_tmp = full_data(idata)
31207 470138 : data_tmp = ISHFT(data_tmp, 23)
31208 470138 : data_tmp = IAND(data_tmp, mask_left(7))
31209 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31210 470138 : ipack = ipack + 1
31211 470138 : packed_data(ipack) = pack_tmp
31212 470138 : data_tmp = full_data(idata)
31213 470138 : pack_tmp = ISHFT(data_tmp, 30)
31214 470138 : pack_tmp = ISHFT(pack_tmp, -30)
31215 470138 : idata = idata + 1
31216 470138 : data_tmp = full_data(idata)
31217 470138 : data_tmp = ISHFT(data_tmp, 23)
31218 470138 : data_tmp = IAND(data_tmp, mask_left(30))
31219 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31220 470138 : ipack = ipack + 1
31221 470138 : packed_data(ipack) = pack_tmp
31222 470138 : data_tmp = full_data(idata)
31223 470138 : pack_tmp = ISHFT(data_tmp, 53)
31224 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31225 470138 : idata = idata + 1
31226 470138 : data_tmp = full_data(idata)
31227 470138 : data_tmp = ISHFT(data_tmp, 23)
31228 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31229 470138 : pack_tmp = ISHFT(pack_tmp, -12)
31230 470138 : idata = idata + 1
31231 470138 : data_tmp = full_data(idata)
31232 470138 : data_tmp = ISHFT(data_tmp, 23)
31233 470138 : data_tmp = IAND(data_tmp, mask_left(12))
31234 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31235 470138 : ipack = ipack + 1
31236 470138 : packed_data(ipack) = pack_tmp
31237 470138 : data_tmp = full_data(idata)
31238 470138 : pack_tmp = ISHFT(data_tmp, 35)
31239 470138 : pack_tmp = ISHFT(pack_tmp, -35)
31240 470138 : idata = idata + 1
31241 470138 : data_tmp = full_data(idata)
31242 470138 : data_tmp = ISHFT(data_tmp, 23)
31243 470138 : data_tmp = IAND(data_tmp, mask_left(35))
31244 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31245 470138 : ipack = ipack + 1
31246 470138 : packed_data(ipack) = pack_tmp
31247 470138 : data_tmp = full_data(idata)
31248 470138 : pack_tmp = ISHFT(data_tmp, 58)
31249 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31250 470138 : idata = idata + 1
31251 470138 : data_tmp = full_data(idata)
31252 470138 : data_tmp = ISHFT(data_tmp, 23)
31253 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31254 470138 : pack_tmp = ISHFT(pack_tmp, -17)
31255 470138 : idata = idata + 1
31256 470138 : data_tmp = full_data(idata)
31257 470138 : data_tmp = ISHFT(data_tmp, 23)
31258 470138 : data_tmp = IAND(data_tmp, mask_left(17))
31259 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31260 470138 : ipack = ipack + 1
31261 470138 : packed_data(ipack) = pack_tmp
31262 470138 : data_tmp = full_data(idata)
31263 470138 : pack_tmp = ISHFT(data_tmp, 40)
31264 470138 : pack_tmp = ISHFT(pack_tmp, -40)
31265 470138 : idata = idata + 1
31266 470138 : data_tmp = full_data(idata)
31267 470138 : data_tmp = ISHFT(data_tmp, 23)
31268 470138 : data_tmp = IAND(data_tmp, mask_left(40))
31269 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31270 470138 : ipack = ipack + 1
31271 470138 : packed_data(ipack) = pack_tmp
31272 470138 : data_tmp = full_data(idata)
31273 470138 : pack_tmp = ISHFT(data_tmp, 63)
31274 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31275 470138 : idata = idata + 1
31276 470138 : data_tmp = full_data(idata)
31277 470138 : data_tmp = ISHFT(data_tmp, 23)
31278 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31279 470138 : pack_tmp = ISHFT(pack_tmp, -22)
31280 470138 : idata = idata + 1
31281 470138 : data_tmp = full_data(idata)
31282 470138 : data_tmp = ISHFT(data_tmp, 23)
31283 470138 : data_tmp = IAND(data_tmp, mask_left(22))
31284 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31285 470138 : ipack = ipack + 1
31286 470138 : packed_data(ipack) = pack_tmp
31287 470138 : data_tmp = full_data(idata)
31288 470138 : pack_tmp = ISHFT(data_tmp, 45)
31289 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31290 470138 : idata = idata + 1
31291 470138 : data_tmp = full_data(idata)
31292 470138 : data_tmp = ISHFT(data_tmp, 23)
31293 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31294 470138 : pack_tmp = ISHFT(pack_tmp, -4)
31295 470138 : idata = idata + 1
31296 470138 : data_tmp = full_data(idata)
31297 470138 : data_tmp = ISHFT(data_tmp, 23)
31298 470138 : data_tmp = IAND(data_tmp, mask_left(4))
31299 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31300 470138 : ipack = ipack + 1
31301 470138 : packed_data(ipack) = pack_tmp
31302 470138 : data_tmp = full_data(idata)
31303 470138 : pack_tmp = ISHFT(data_tmp, 27)
31304 470138 : pack_tmp = ISHFT(pack_tmp, -27)
31305 470138 : idata = idata + 1
31306 470138 : data_tmp = full_data(idata)
31307 470138 : data_tmp = ISHFT(data_tmp, 23)
31308 470138 : data_tmp = IAND(data_tmp, mask_left(27))
31309 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31310 470138 : ipack = ipack + 1
31311 470138 : packed_data(ipack) = pack_tmp
31312 470138 : data_tmp = full_data(idata)
31313 470138 : pack_tmp = ISHFT(data_tmp, 50)
31314 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31315 470138 : idata = idata + 1
31316 470138 : data_tmp = full_data(idata)
31317 470138 : data_tmp = ISHFT(data_tmp, 23)
31318 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31319 470138 : pack_tmp = ISHFT(pack_tmp, -9)
31320 470138 : idata = idata + 1
31321 470138 : data_tmp = full_data(idata)
31322 470138 : data_tmp = ISHFT(data_tmp, 23)
31323 470138 : data_tmp = IAND(data_tmp, mask_left(9))
31324 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31325 470138 : ipack = ipack + 1
31326 470138 : packed_data(ipack) = pack_tmp
31327 470138 : data_tmp = full_data(idata)
31328 470138 : pack_tmp = ISHFT(data_tmp, 32)
31329 470138 : pack_tmp = ISHFT(pack_tmp, -32)
31330 470138 : idata = idata + 1
31331 470138 : data_tmp = full_data(idata)
31332 470138 : data_tmp = ISHFT(data_tmp, 23)
31333 470138 : data_tmp = IAND(data_tmp, mask_left(32))
31334 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31335 470138 : ipack = ipack + 1
31336 470138 : packed_data(ipack) = pack_tmp
31337 470138 : data_tmp = full_data(idata)
31338 470138 : pack_tmp = ISHFT(data_tmp, 55)
31339 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31340 470138 : idata = idata + 1
31341 470138 : data_tmp = full_data(idata)
31342 470138 : data_tmp = ISHFT(data_tmp, 23)
31343 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31344 470138 : pack_tmp = ISHFT(pack_tmp, -14)
31345 470138 : idata = idata + 1
31346 470138 : data_tmp = full_data(idata)
31347 470138 : data_tmp = ISHFT(data_tmp, 23)
31348 470138 : data_tmp = IAND(data_tmp, mask_left(14))
31349 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31350 470138 : ipack = ipack + 1
31351 470138 : packed_data(ipack) = pack_tmp
31352 470138 : data_tmp = full_data(idata)
31353 470138 : pack_tmp = ISHFT(data_tmp, 37)
31354 470138 : pack_tmp = ISHFT(pack_tmp, -37)
31355 470138 : idata = idata + 1
31356 470138 : data_tmp = full_data(idata)
31357 470138 : data_tmp = ISHFT(data_tmp, 23)
31358 470138 : data_tmp = IAND(data_tmp, mask_left(37))
31359 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31360 470138 : ipack = ipack + 1
31361 470138 : packed_data(ipack) = pack_tmp
31362 470138 : data_tmp = full_data(idata)
31363 470138 : pack_tmp = ISHFT(data_tmp, 60)
31364 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31365 470138 : idata = idata + 1
31366 470138 : data_tmp = full_data(idata)
31367 470138 : data_tmp = ISHFT(data_tmp, 23)
31368 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31369 470138 : pack_tmp = ISHFT(pack_tmp, -19)
31370 470138 : idata = idata + 1
31371 470138 : data_tmp = full_data(idata)
31372 470138 : data_tmp = ISHFT(data_tmp, 23)
31373 470138 : data_tmp = IAND(data_tmp, mask_left(19))
31374 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31375 470138 : ipack = ipack + 1
31376 470138 : packed_data(ipack) = pack_tmp
31377 470138 : data_tmp = full_data(idata)
31378 470138 : pack_tmp = ISHFT(data_tmp, 42)
31379 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31380 470138 : idata = idata + 1
31381 470138 : data_tmp = full_data(idata)
31382 470138 : data_tmp = ISHFT(data_tmp, 23)
31383 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31384 470138 : pack_tmp = ISHFT(pack_tmp, -1)
31385 470138 : idata = idata + 1
31386 470138 : data_tmp = full_data(idata)
31387 470138 : data_tmp = ISHFT(data_tmp, 23)
31388 470138 : data_tmp = IAND(data_tmp, mask_left(1))
31389 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31390 470138 : ipack = ipack + 1
31391 470138 : packed_data(ipack) = pack_tmp
31392 470138 : data_tmp = full_data(idata)
31393 470138 : pack_tmp = ISHFT(data_tmp, 24)
31394 470138 : pack_tmp = ISHFT(pack_tmp, -24)
31395 470138 : idata = idata + 1
31396 470138 : data_tmp = full_data(idata)
31397 470138 : data_tmp = ISHFT(data_tmp, 23)
31398 470138 : data_tmp = IAND(data_tmp, mask_left(24))
31399 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31400 470138 : ipack = ipack + 1
31401 470138 : packed_data(ipack) = pack_tmp
31402 470138 : data_tmp = full_data(idata)
31403 470138 : pack_tmp = ISHFT(data_tmp, 47)
31404 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31405 470138 : idata = idata + 1
31406 470138 : data_tmp = full_data(idata)
31407 470138 : data_tmp = ISHFT(data_tmp, 23)
31408 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31409 470138 : pack_tmp = ISHFT(pack_tmp, -6)
31410 470138 : idata = idata + 1
31411 470138 : data_tmp = full_data(idata)
31412 470138 : data_tmp = ISHFT(data_tmp, 23)
31413 470138 : data_tmp = IAND(data_tmp, mask_left(6))
31414 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31415 470138 : ipack = ipack + 1
31416 470138 : packed_data(ipack) = pack_tmp
31417 470138 : data_tmp = full_data(idata)
31418 470138 : pack_tmp = ISHFT(data_tmp, 29)
31419 470138 : pack_tmp = ISHFT(pack_tmp, -29)
31420 470138 : idata = idata + 1
31421 470138 : data_tmp = full_data(idata)
31422 470138 : data_tmp = ISHFT(data_tmp, 23)
31423 470138 : data_tmp = IAND(data_tmp, mask_left(29))
31424 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31425 470138 : ipack = ipack + 1
31426 470138 : packed_data(ipack) = pack_tmp
31427 470138 : data_tmp = full_data(idata)
31428 470138 : pack_tmp = ISHFT(data_tmp, 52)
31429 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31430 470138 : idata = idata + 1
31431 470138 : data_tmp = full_data(idata)
31432 470138 : data_tmp = ISHFT(data_tmp, 23)
31433 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31434 470138 : pack_tmp = ISHFT(pack_tmp, -11)
31435 470138 : idata = idata + 1
31436 470138 : data_tmp = full_data(idata)
31437 470138 : data_tmp = ISHFT(data_tmp, 23)
31438 470138 : data_tmp = IAND(data_tmp, mask_left(11))
31439 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31440 470138 : ipack = ipack + 1
31441 470138 : packed_data(ipack) = pack_tmp
31442 470138 : data_tmp = full_data(idata)
31443 470138 : pack_tmp = ISHFT(data_tmp, 34)
31444 470138 : pack_tmp = ISHFT(pack_tmp, -34)
31445 470138 : idata = idata + 1
31446 470138 : data_tmp = full_data(idata)
31447 470138 : data_tmp = ISHFT(data_tmp, 23)
31448 470138 : data_tmp = IAND(data_tmp, mask_left(34))
31449 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31450 470138 : ipack = ipack + 1
31451 470138 : packed_data(ipack) = pack_tmp
31452 470138 : data_tmp = full_data(idata)
31453 470138 : pack_tmp = ISHFT(data_tmp, 57)
31454 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31455 470138 : idata = idata + 1
31456 470138 : data_tmp = full_data(idata)
31457 470138 : data_tmp = ISHFT(data_tmp, 23)
31458 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31459 470138 : pack_tmp = ISHFT(pack_tmp, -16)
31460 470138 : idata = idata + 1
31461 470138 : data_tmp = full_data(idata)
31462 470138 : data_tmp = ISHFT(data_tmp, 23)
31463 470138 : data_tmp = IAND(data_tmp, mask_left(16))
31464 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31465 470138 : ipack = ipack + 1
31466 470138 : packed_data(ipack) = pack_tmp
31467 470138 : data_tmp = full_data(idata)
31468 470138 : pack_tmp = ISHFT(data_tmp, 39)
31469 470138 : pack_tmp = ISHFT(pack_tmp, -39)
31470 470138 : idata = idata + 1
31471 470138 : data_tmp = full_data(idata)
31472 470138 : data_tmp = ISHFT(data_tmp, 23)
31473 470138 : data_tmp = IAND(data_tmp, mask_left(39))
31474 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31475 470138 : ipack = ipack + 1
31476 470138 : packed_data(ipack) = pack_tmp
31477 470138 : data_tmp = full_data(idata)
31478 470138 : pack_tmp = ISHFT(data_tmp, 62)
31479 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31480 470138 : idata = idata + 1
31481 470138 : data_tmp = full_data(idata)
31482 470138 : data_tmp = ISHFT(data_tmp, 23)
31483 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31484 470138 : pack_tmp = ISHFT(pack_tmp, -21)
31485 470138 : idata = idata + 1
31486 470138 : data_tmp = full_data(idata)
31487 470138 : data_tmp = ISHFT(data_tmp, 23)
31488 470138 : data_tmp = IAND(data_tmp, mask_left(21))
31489 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31490 470138 : ipack = ipack + 1
31491 470138 : packed_data(ipack) = pack_tmp
31492 470138 : data_tmp = full_data(idata)
31493 470138 : pack_tmp = ISHFT(data_tmp, 44)
31494 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31495 470138 : idata = idata + 1
31496 470138 : data_tmp = full_data(idata)
31497 470138 : data_tmp = ISHFT(data_tmp, 23)
31498 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31499 470138 : pack_tmp = ISHFT(pack_tmp, -3)
31500 470138 : idata = idata + 1
31501 470138 : data_tmp = full_data(idata)
31502 470138 : data_tmp = ISHFT(data_tmp, 23)
31503 470138 : data_tmp = IAND(data_tmp, mask_left(3))
31504 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31505 470138 : ipack = ipack + 1
31506 470138 : packed_data(ipack) = pack_tmp
31507 470138 : data_tmp = full_data(idata)
31508 470138 : pack_tmp = ISHFT(data_tmp, 26)
31509 470138 : pack_tmp = ISHFT(pack_tmp, -26)
31510 470138 : idata = idata + 1
31511 470138 : data_tmp = full_data(idata)
31512 470138 : data_tmp = ISHFT(data_tmp, 23)
31513 470138 : data_tmp = IAND(data_tmp, mask_left(26))
31514 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31515 470138 : ipack = ipack + 1
31516 470138 : packed_data(ipack) = pack_tmp
31517 470138 : data_tmp = full_data(idata)
31518 470138 : pack_tmp = ISHFT(data_tmp, 49)
31519 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31520 470138 : idata = idata + 1
31521 470138 : data_tmp = full_data(idata)
31522 470138 : data_tmp = ISHFT(data_tmp, 23)
31523 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31524 470138 : pack_tmp = ISHFT(pack_tmp, -8)
31525 470138 : idata = idata + 1
31526 470138 : data_tmp = full_data(idata)
31527 470138 : data_tmp = ISHFT(data_tmp, 23)
31528 470138 : data_tmp = IAND(data_tmp, mask_left(8))
31529 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31530 470138 : ipack = ipack + 1
31531 470138 : packed_data(ipack) = pack_tmp
31532 470138 : data_tmp = full_data(idata)
31533 470138 : pack_tmp = ISHFT(data_tmp, 31)
31534 470138 : pack_tmp = ISHFT(pack_tmp, -31)
31535 470138 : idata = idata + 1
31536 470138 : data_tmp = full_data(idata)
31537 470138 : data_tmp = ISHFT(data_tmp, 23)
31538 470138 : data_tmp = IAND(data_tmp, mask_left(31))
31539 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31540 470138 : ipack = ipack + 1
31541 470138 : packed_data(ipack) = pack_tmp
31542 470138 : data_tmp = full_data(idata)
31543 470138 : pack_tmp = ISHFT(data_tmp, 54)
31544 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31545 470138 : idata = idata + 1
31546 470138 : data_tmp = full_data(idata)
31547 470138 : data_tmp = ISHFT(data_tmp, 23)
31548 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31549 470138 : pack_tmp = ISHFT(pack_tmp, -13)
31550 470138 : idata = idata + 1
31551 470138 : data_tmp = full_data(idata)
31552 470138 : data_tmp = ISHFT(data_tmp, 23)
31553 470138 : data_tmp = IAND(data_tmp, mask_left(13))
31554 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31555 470138 : ipack = ipack + 1
31556 470138 : packed_data(ipack) = pack_tmp
31557 470138 : data_tmp = full_data(idata)
31558 470138 : pack_tmp = ISHFT(data_tmp, 36)
31559 470138 : pack_tmp = ISHFT(pack_tmp, -36)
31560 470138 : idata = idata + 1
31561 470138 : data_tmp = full_data(idata)
31562 470138 : data_tmp = ISHFT(data_tmp, 23)
31563 470138 : data_tmp = IAND(data_tmp, mask_left(36))
31564 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31565 470138 : ipack = ipack + 1
31566 470138 : packed_data(ipack) = pack_tmp
31567 470138 : data_tmp = full_data(idata)
31568 470138 : pack_tmp = ISHFT(data_tmp, 59)
31569 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31570 470138 : idata = idata + 1
31571 470138 : data_tmp = full_data(idata)
31572 470138 : data_tmp = ISHFT(data_tmp, 23)
31573 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31574 470138 : pack_tmp = ISHFT(pack_tmp, -18)
31575 470138 : idata = idata + 1
31576 470138 : data_tmp = full_data(idata)
31577 470138 : data_tmp = ISHFT(data_tmp, 23)
31578 470138 : data_tmp = IAND(data_tmp, mask_left(18))
31579 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31580 470138 : ipack = ipack + 1
31581 470138 : packed_data(ipack) = pack_tmp
31582 470138 : data_tmp = full_data(idata)
31583 470138 : pack_tmp = ISHFT(data_tmp, 41)
31584 470138 : pack_tmp = ISHFT(pack_tmp, -41)
31585 470138 : idata = idata + 1
31586 470138 : data_tmp = full_data(idata)
31587 470138 : data_tmp = ISHFT(data_tmp, 23)
31588 470138 : pack_tmp = IOR(pack_tmp, data_tmp)
31589 : pack_tmp = ISHFT(pack_tmp, 0)
31590 470138 : pack_tmp = ISHFT(pack_tmp, 0)
31591 470138 : ipack = ipack + 1
31592 470375 : packed_data(ipack) = pack_tmp
31593 : END DO
31594 33145 : IF (Ndata_rep < Ndata) THEN
31595 6988 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31596 : END IF
31597 33145 : END SUBROUTINE ints2bits_41
31598 :
31599 : ! **************************************************************************************************
31600 : !> \brief ...
31601 : !> \param Ndata ...
31602 : !> \param packed_data ...
31603 : !> \param full_data ...
31604 : ! **************************************************************************************************
31605 146424 : 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(*)
31609 :
31610 : INTEGER, PARAMETER :: Nbits = 41
31611 :
31612 : INTEGER :: idata, ipack, kdata, Ndata_rep
31613 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
31614 :
31615 146424 : ipack = 0
31616 146424 : idata = 0
31617 146424 : pack_tmp = 0
31618 146424 : Ndata_rep = (Ndata/64)*64
31619 146424 : DO kdata = 1, Ndata_rep, 64
31620 2012895 : idata = idata + 1
31621 2012895 : data_tmp = ISHFT(pack_tmp, 41)
31622 2012895 : ipack = ipack + 1
31623 2012895 : pack_tmp = packed_data(ipack)
31624 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
31625 2012895 : pack_tmp = ISHFT(pack_tmp, -41)
31626 2012895 : idata = idata + 1
31627 2012895 : data_tmp = ISHFT(pack_tmp, 18)
31628 2012895 : ipack = ipack + 1
31629 2012895 : pack_tmp = packed_data(ipack)
31630 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
31631 2012895 : pack_tmp = ISHFT(pack_tmp, -18)
31632 2012895 : idata = idata + 1
31633 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31634 2012895 : full_data(idata) = data_tmp
31635 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31636 2012895 : idata = idata + 1
31637 2012895 : data_tmp = ISHFT(pack_tmp, 36)
31638 2012895 : ipack = ipack + 1
31639 2012895 : pack_tmp = packed_data(ipack)
31640 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
31641 2012895 : pack_tmp = ISHFT(pack_tmp, -36)
31642 2012895 : idata = idata + 1
31643 2012895 : data_tmp = ISHFT(pack_tmp, 13)
31644 2012895 : ipack = ipack + 1
31645 2012895 : pack_tmp = packed_data(ipack)
31646 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
31647 2012895 : pack_tmp = ISHFT(pack_tmp, -13)
31648 2012895 : idata = idata + 1
31649 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31650 2012895 : full_data(idata) = data_tmp
31651 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31652 2012895 : idata = idata + 1
31653 2012895 : data_tmp = ISHFT(pack_tmp, 31)
31654 2012895 : ipack = ipack + 1
31655 2012895 : pack_tmp = packed_data(ipack)
31656 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
31657 2012895 : pack_tmp = ISHFT(pack_tmp, -31)
31658 2012895 : idata = idata + 1
31659 2012895 : data_tmp = ISHFT(pack_tmp, 8)
31660 2012895 : ipack = ipack + 1
31661 2012895 : pack_tmp = packed_data(ipack)
31662 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
31663 2012895 : pack_tmp = ISHFT(pack_tmp, -8)
31664 2012895 : idata = idata + 1
31665 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31666 2012895 : full_data(idata) = data_tmp
31667 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31668 2012895 : idata = idata + 1
31669 2012895 : data_tmp = ISHFT(pack_tmp, 26)
31670 2012895 : ipack = ipack + 1
31671 2012895 : pack_tmp = packed_data(ipack)
31672 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
31673 2012895 : pack_tmp = ISHFT(pack_tmp, -26)
31674 2012895 : idata = idata + 1
31675 2012895 : data_tmp = ISHFT(pack_tmp, 3)
31676 2012895 : ipack = ipack + 1
31677 2012895 : pack_tmp = packed_data(ipack)
31678 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
31679 2012895 : pack_tmp = ISHFT(pack_tmp, -3)
31680 2012895 : idata = idata + 1
31681 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31682 2012895 : full_data(idata) = data_tmp
31683 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31684 2012895 : idata = idata + 1
31685 2012895 : data_tmp = ISHFT(pack_tmp, 21)
31686 2012895 : ipack = ipack + 1
31687 2012895 : pack_tmp = packed_data(ipack)
31688 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
31689 2012895 : pack_tmp = ISHFT(pack_tmp, -21)
31690 2012895 : idata = idata + 1
31691 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31692 2012895 : full_data(idata) = data_tmp
31693 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31694 2012895 : idata = idata + 1
31695 2012895 : data_tmp = ISHFT(pack_tmp, 39)
31696 2012895 : ipack = ipack + 1
31697 2012895 : pack_tmp = packed_data(ipack)
31698 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
31699 2012895 : pack_tmp = ISHFT(pack_tmp, -39)
31700 2012895 : idata = idata + 1
31701 2012895 : data_tmp = ISHFT(pack_tmp, 16)
31702 2012895 : ipack = ipack + 1
31703 2012895 : pack_tmp = packed_data(ipack)
31704 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
31705 2012895 : pack_tmp = ISHFT(pack_tmp, -16)
31706 2012895 : idata = idata + 1
31707 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31708 2012895 : full_data(idata) = data_tmp
31709 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31710 2012895 : idata = idata + 1
31711 2012895 : data_tmp = ISHFT(pack_tmp, 34)
31712 2012895 : ipack = ipack + 1
31713 2012895 : pack_tmp = packed_data(ipack)
31714 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
31715 2012895 : pack_tmp = ISHFT(pack_tmp, -34)
31716 2012895 : idata = idata + 1
31717 2012895 : data_tmp = ISHFT(pack_tmp, 11)
31718 2012895 : ipack = ipack + 1
31719 2012895 : pack_tmp = packed_data(ipack)
31720 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
31721 2012895 : pack_tmp = ISHFT(pack_tmp, -11)
31722 2012895 : idata = idata + 1
31723 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31724 2012895 : full_data(idata) = data_tmp
31725 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31726 2012895 : idata = idata + 1
31727 2012895 : data_tmp = ISHFT(pack_tmp, 29)
31728 2012895 : ipack = ipack + 1
31729 2012895 : pack_tmp = packed_data(ipack)
31730 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
31731 2012895 : pack_tmp = ISHFT(pack_tmp, -29)
31732 2012895 : idata = idata + 1
31733 2012895 : data_tmp = ISHFT(pack_tmp, 6)
31734 2012895 : ipack = ipack + 1
31735 2012895 : pack_tmp = packed_data(ipack)
31736 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
31737 2012895 : pack_tmp = ISHFT(pack_tmp, -6)
31738 2012895 : idata = idata + 1
31739 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31740 2012895 : full_data(idata) = data_tmp
31741 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31742 2012895 : idata = idata + 1
31743 2012895 : data_tmp = ISHFT(pack_tmp, 24)
31744 2012895 : ipack = ipack + 1
31745 2012895 : pack_tmp = packed_data(ipack)
31746 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
31747 2012895 : pack_tmp = ISHFT(pack_tmp, -24)
31748 2012895 : idata = idata + 1
31749 2012895 : data_tmp = ISHFT(pack_tmp, 1)
31750 2012895 : ipack = ipack + 1
31751 2012895 : pack_tmp = packed_data(ipack)
31752 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
31753 2012895 : pack_tmp = ISHFT(pack_tmp, -1)
31754 2012895 : idata = idata + 1
31755 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31756 2012895 : full_data(idata) = data_tmp
31757 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31758 2012895 : idata = idata + 1
31759 2012895 : data_tmp = ISHFT(pack_tmp, 19)
31760 2012895 : ipack = ipack + 1
31761 2012895 : pack_tmp = packed_data(ipack)
31762 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
31763 2012895 : pack_tmp = ISHFT(pack_tmp, -19)
31764 2012895 : idata = idata + 1
31765 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31766 2012895 : full_data(idata) = data_tmp
31767 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31768 2012895 : idata = idata + 1
31769 2012895 : data_tmp = ISHFT(pack_tmp, 37)
31770 2012895 : ipack = ipack + 1
31771 2012895 : pack_tmp = packed_data(ipack)
31772 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
31773 2012895 : pack_tmp = ISHFT(pack_tmp, -37)
31774 2012895 : idata = idata + 1
31775 2012895 : data_tmp = ISHFT(pack_tmp, 14)
31776 2012895 : ipack = ipack + 1
31777 2012895 : pack_tmp = packed_data(ipack)
31778 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
31779 2012895 : pack_tmp = ISHFT(pack_tmp, -14)
31780 2012895 : idata = idata + 1
31781 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31782 2012895 : full_data(idata) = data_tmp
31783 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31784 2012895 : idata = idata + 1
31785 2012895 : data_tmp = ISHFT(pack_tmp, 32)
31786 2012895 : ipack = ipack + 1
31787 2012895 : pack_tmp = packed_data(ipack)
31788 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
31789 2012895 : pack_tmp = ISHFT(pack_tmp, -32)
31790 2012895 : idata = idata + 1
31791 2012895 : data_tmp = ISHFT(pack_tmp, 9)
31792 2012895 : ipack = ipack + 1
31793 2012895 : pack_tmp = packed_data(ipack)
31794 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
31795 2012895 : pack_tmp = ISHFT(pack_tmp, -9)
31796 2012895 : idata = idata + 1
31797 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31798 2012895 : full_data(idata) = data_tmp
31799 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31800 2012895 : idata = idata + 1
31801 2012895 : data_tmp = ISHFT(pack_tmp, 27)
31802 2012895 : ipack = ipack + 1
31803 2012895 : pack_tmp = packed_data(ipack)
31804 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
31805 2012895 : pack_tmp = ISHFT(pack_tmp, -27)
31806 2012895 : idata = idata + 1
31807 2012895 : data_tmp = ISHFT(pack_tmp, 4)
31808 2012895 : ipack = ipack + 1
31809 2012895 : pack_tmp = packed_data(ipack)
31810 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
31811 2012895 : pack_tmp = ISHFT(pack_tmp, -4)
31812 2012895 : idata = idata + 1
31813 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31814 2012895 : full_data(idata) = data_tmp
31815 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31816 2012895 : idata = idata + 1
31817 2012895 : data_tmp = ISHFT(pack_tmp, 22)
31818 2012895 : ipack = ipack + 1
31819 2012895 : pack_tmp = packed_data(ipack)
31820 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
31821 2012895 : pack_tmp = ISHFT(pack_tmp, -22)
31822 2012895 : idata = idata + 1
31823 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31824 2012895 : full_data(idata) = data_tmp
31825 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31826 2012895 : idata = idata + 1
31827 2012895 : data_tmp = ISHFT(pack_tmp, 40)
31828 2012895 : ipack = ipack + 1
31829 2012895 : pack_tmp = packed_data(ipack)
31830 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
31831 2012895 : pack_tmp = ISHFT(pack_tmp, -40)
31832 2012895 : idata = idata + 1
31833 2012895 : data_tmp = ISHFT(pack_tmp, 17)
31834 2012895 : ipack = ipack + 1
31835 2012895 : pack_tmp = packed_data(ipack)
31836 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
31837 2012895 : pack_tmp = ISHFT(pack_tmp, -17)
31838 2012895 : idata = idata + 1
31839 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31840 2012895 : full_data(idata) = data_tmp
31841 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31842 2012895 : idata = idata + 1
31843 2012895 : data_tmp = ISHFT(pack_tmp, 35)
31844 2012895 : ipack = ipack + 1
31845 2012895 : pack_tmp = packed_data(ipack)
31846 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
31847 2012895 : pack_tmp = ISHFT(pack_tmp, -35)
31848 2012895 : idata = idata + 1
31849 2012895 : data_tmp = ISHFT(pack_tmp, 12)
31850 2012895 : ipack = ipack + 1
31851 2012895 : pack_tmp = packed_data(ipack)
31852 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
31853 2012895 : pack_tmp = ISHFT(pack_tmp, -12)
31854 2012895 : idata = idata + 1
31855 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31856 2012895 : full_data(idata) = data_tmp
31857 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31858 2012895 : idata = idata + 1
31859 2012895 : data_tmp = ISHFT(pack_tmp, 30)
31860 2012895 : ipack = ipack + 1
31861 2012895 : pack_tmp = packed_data(ipack)
31862 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
31863 2012895 : pack_tmp = ISHFT(pack_tmp, -30)
31864 2012895 : idata = idata + 1
31865 2012895 : data_tmp = ISHFT(pack_tmp, 7)
31866 2012895 : ipack = ipack + 1
31867 2012895 : pack_tmp = packed_data(ipack)
31868 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
31869 2012895 : pack_tmp = ISHFT(pack_tmp, -7)
31870 2012895 : idata = idata + 1
31871 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31872 2012895 : full_data(idata) = data_tmp
31873 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31874 2012895 : idata = idata + 1
31875 2012895 : data_tmp = ISHFT(pack_tmp, 25)
31876 2012895 : ipack = ipack + 1
31877 2012895 : pack_tmp = packed_data(ipack)
31878 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
31879 2012895 : pack_tmp = ISHFT(pack_tmp, -25)
31880 2012895 : idata = idata + 1
31881 2012895 : data_tmp = ISHFT(pack_tmp, 2)
31882 2012895 : ipack = ipack + 1
31883 2012895 : pack_tmp = packed_data(ipack)
31884 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
31885 2012895 : pack_tmp = ISHFT(pack_tmp, -2)
31886 2012895 : idata = idata + 1
31887 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31888 2012895 : full_data(idata) = data_tmp
31889 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31890 2012895 : idata = idata + 1
31891 2012895 : data_tmp = ISHFT(pack_tmp, 20)
31892 2012895 : ipack = ipack + 1
31893 2012895 : pack_tmp = packed_data(ipack)
31894 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
31895 2012895 : pack_tmp = ISHFT(pack_tmp, -20)
31896 2012895 : idata = idata + 1
31897 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31898 2012895 : full_data(idata) = data_tmp
31899 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31900 2012895 : idata = idata + 1
31901 2012895 : data_tmp = ISHFT(pack_tmp, 38)
31902 2012895 : ipack = ipack + 1
31903 2012895 : pack_tmp = packed_data(ipack)
31904 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
31905 2012895 : pack_tmp = ISHFT(pack_tmp, -38)
31906 2012895 : idata = idata + 1
31907 2012895 : data_tmp = ISHFT(pack_tmp, 15)
31908 2012895 : ipack = ipack + 1
31909 2012895 : pack_tmp = packed_data(ipack)
31910 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
31911 2012895 : pack_tmp = ISHFT(pack_tmp, -15)
31912 2012895 : idata = idata + 1
31913 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31914 2012895 : full_data(idata) = data_tmp
31915 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31916 2012895 : idata = idata + 1
31917 2012895 : data_tmp = ISHFT(pack_tmp, 33)
31918 2012895 : ipack = ipack + 1
31919 2012895 : pack_tmp = packed_data(ipack)
31920 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
31921 2012895 : pack_tmp = ISHFT(pack_tmp, -33)
31922 2012895 : idata = idata + 1
31923 2012895 : data_tmp = ISHFT(pack_tmp, 10)
31924 2012895 : ipack = ipack + 1
31925 2012895 : pack_tmp = packed_data(ipack)
31926 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
31927 2012895 : pack_tmp = ISHFT(pack_tmp, -10)
31928 2012895 : idata = idata + 1
31929 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31930 2012895 : full_data(idata) = data_tmp
31931 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31932 2012895 : idata = idata + 1
31933 2012895 : data_tmp = ISHFT(pack_tmp, 28)
31934 2012895 : ipack = ipack + 1
31935 2012895 : pack_tmp = packed_data(ipack)
31936 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
31937 2012895 : pack_tmp = ISHFT(pack_tmp, -28)
31938 2012895 : idata = idata + 1
31939 2012895 : data_tmp = ISHFT(pack_tmp, 5)
31940 2012895 : ipack = ipack + 1
31941 2012895 : pack_tmp = packed_data(ipack)
31942 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
31943 2012895 : pack_tmp = ISHFT(pack_tmp, -5)
31944 2012895 : idata = idata + 1
31945 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31946 2012895 : full_data(idata) = data_tmp
31947 2012895 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31948 2012895 : idata = idata + 1
31949 2012895 : data_tmp = ISHFT(pack_tmp, 23)
31950 2012895 : ipack = ipack + 1
31951 2012895 : pack_tmp = packed_data(ipack)
31952 2012895 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
31953 2012895 : pack_tmp = ISHFT(pack_tmp, -23)
31954 2012895 : idata = idata + 1
31955 2012895 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
31956 2012895 : full_data(idata) = data_tmp
31957 2013708 : pack_tmp = ISHFT(pack_tmp, -Nbits)
31958 : END DO
31959 146424 : IF (Ndata_rep < Ndata) THEN
31960 38402 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
31961 : END IF
31962 146424 : END SUBROUTINE bits2ints_41
31963 :
31964 : ! **************************************************************************************************
31965 : !> \brief ...
31966 : !> \param Ndata ...
31967 : !> \param packed_data ...
31968 : !> \param full_data ...
31969 : ! **************************************************************************************************
31970 27342 : 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(*)
31974 :
31975 : INTEGER, PARAMETER :: Nbits = 42
31976 :
31977 : INTEGER :: idata, ipack, kdata, Ndata_rep
31978 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
31979 :
31980 27342 : idata = 0
31981 27342 : ipack = 0
31982 27342 : Ndata_rep = (Ndata/64)*64
31983 27342 : DO kdata = 1, Ndata_rep, 64
31984 416375 : pack_tmp = 0
31985 416375 : idata = idata + 1
31986 416375 : data_tmp = full_data(idata)
31987 416375 : data_tmp = ISHFT(data_tmp, 22)
31988 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
31989 416375 : pack_tmp = ISHFT(pack_tmp, -22)
31990 416375 : idata = idata + 1
31991 416375 : data_tmp = full_data(idata)
31992 416375 : data_tmp = ISHFT(data_tmp, 22)
31993 416375 : data_tmp = IAND(data_tmp, mask_left(22))
31994 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
31995 416375 : ipack = ipack + 1
31996 416375 : packed_data(ipack) = pack_tmp
31997 416375 : data_tmp = full_data(idata)
31998 416375 : pack_tmp = ISHFT(data_tmp, 44)
31999 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32000 416375 : idata = idata + 1
32001 416375 : data_tmp = full_data(idata)
32002 416375 : data_tmp = ISHFT(data_tmp, 22)
32003 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32004 416375 : pack_tmp = ISHFT(pack_tmp, -2)
32005 416375 : idata = idata + 1
32006 416375 : data_tmp = full_data(idata)
32007 416375 : data_tmp = ISHFT(data_tmp, 22)
32008 416375 : data_tmp = IAND(data_tmp, mask_left(2))
32009 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32010 416375 : ipack = ipack + 1
32011 416375 : packed_data(ipack) = pack_tmp
32012 416375 : data_tmp = full_data(idata)
32013 416375 : pack_tmp = ISHFT(data_tmp, 24)
32014 416375 : pack_tmp = ISHFT(pack_tmp, -24)
32015 416375 : idata = idata + 1
32016 416375 : data_tmp = full_data(idata)
32017 416375 : data_tmp = ISHFT(data_tmp, 22)
32018 416375 : data_tmp = IAND(data_tmp, mask_left(24))
32019 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32020 416375 : ipack = ipack + 1
32021 416375 : packed_data(ipack) = pack_tmp
32022 416375 : data_tmp = full_data(idata)
32023 416375 : pack_tmp = ISHFT(data_tmp, 46)
32024 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32025 416375 : idata = idata + 1
32026 416375 : data_tmp = full_data(idata)
32027 416375 : data_tmp = ISHFT(data_tmp, 22)
32028 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32029 416375 : pack_tmp = ISHFT(pack_tmp, -4)
32030 416375 : idata = idata + 1
32031 416375 : data_tmp = full_data(idata)
32032 416375 : data_tmp = ISHFT(data_tmp, 22)
32033 416375 : data_tmp = IAND(data_tmp, mask_left(4))
32034 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32035 416375 : ipack = ipack + 1
32036 416375 : packed_data(ipack) = pack_tmp
32037 416375 : data_tmp = full_data(idata)
32038 416375 : pack_tmp = ISHFT(data_tmp, 26)
32039 416375 : pack_tmp = ISHFT(pack_tmp, -26)
32040 416375 : idata = idata + 1
32041 416375 : data_tmp = full_data(idata)
32042 416375 : data_tmp = ISHFT(data_tmp, 22)
32043 416375 : data_tmp = IAND(data_tmp, mask_left(26))
32044 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32045 416375 : ipack = ipack + 1
32046 416375 : packed_data(ipack) = pack_tmp
32047 416375 : data_tmp = full_data(idata)
32048 416375 : pack_tmp = ISHFT(data_tmp, 48)
32049 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32050 416375 : idata = idata + 1
32051 416375 : data_tmp = full_data(idata)
32052 416375 : data_tmp = ISHFT(data_tmp, 22)
32053 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32054 416375 : pack_tmp = ISHFT(pack_tmp, -6)
32055 416375 : idata = idata + 1
32056 416375 : data_tmp = full_data(idata)
32057 416375 : data_tmp = ISHFT(data_tmp, 22)
32058 416375 : data_tmp = IAND(data_tmp, mask_left(6))
32059 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32060 416375 : ipack = ipack + 1
32061 416375 : packed_data(ipack) = pack_tmp
32062 416375 : data_tmp = full_data(idata)
32063 416375 : pack_tmp = ISHFT(data_tmp, 28)
32064 416375 : pack_tmp = ISHFT(pack_tmp, -28)
32065 416375 : idata = idata + 1
32066 416375 : data_tmp = full_data(idata)
32067 416375 : data_tmp = ISHFT(data_tmp, 22)
32068 416375 : data_tmp = IAND(data_tmp, mask_left(28))
32069 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32070 416375 : ipack = ipack + 1
32071 416375 : packed_data(ipack) = pack_tmp
32072 416375 : data_tmp = full_data(idata)
32073 416375 : pack_tmp = ISHFT(data_tmp, 50)
32074 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32075 416375 : idata = idata + 1
32076 416375 : data_tmp = full_data(idata)
32077 416375 : data_tmp = ISHFT(data_tmp, 22)
32078 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32079 416375 : pack_tmp = ISHFT(pack_tmp, -8)
32080 416375 : idata = idata + 1
32081 416375 : data_tmp = full_data(idata)
32082 416375 : data_tmp = ISHFT(data_tmp, 22)
32083 416375 : data_tmp = IAND(data_tmp, mask_left(8))
32084 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32085 416375 : ipack = ipack + 1
32086 416375 : packed_data(ipack) = pack_tmp
32087 416375 : data_tmp = full_data(idata)
32088 416375 : pack_tmp = ISHFT(data_tmp, 30)
32089 416375 : pack_tmp = ISHFT(pack_tmp, -30)
32090 416375 : idata = idata + 1
32091 416375 : data_tmp = full_data(idata)
32092 416375 : data_tmp = ISHFT(data_tmp, 22)
32093 416375 : data_tmp = IAND(data_tmp, mask_left(30))
32094 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32095 416375 : ipack = ipack + 1
32096 416375 : packed_data(ipack) = pack_tmp
32097 416375 : data_tmp = full_data(idata)
32098 416375 : pack_tmp = ISHFT(data_tmp, 52)
32099 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32100 416375 : idata = idata + 1
32101 416375 : data_tmp = full_data(idata)
32102 416375 : data_tmp = ISHFT(data_tmp, 22)
32103 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32104 416375 : pack_tmp = ISHFT(pack_tmp, -10)
32105 416375 : idata = idata + 1
32106 416375 : data_tmp = full_data(idata)
32107 416375 : data_tmp = ISHFT(data_tmp, 22)
32108 416375 : data_tmp = IAND(data_tmp, mask_left(10))
32109 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32110 416375 : ipack = ipack + 1
32111 416375 : packed_data(ipack) = pack_tmp
32112 416375 : data_tmp = full_data(idata)
32113 416375 : pack_tmp = ISHFT(data_tmp, 32)
32114 416375 : pack_tmp = ISHFT(pack_tmp, -32)
32115 416375 : idata = idata + 1
32116 416375 : data_tmp = full_data(idata)
32117 416375 : data_tmp = ISHFT(data_tmp, 22)
32118 416375 : data_tmp = IAND(data_tmp, mask_left(32))
32119 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32120 416375 : ipack = ipack + 1
32121 416375 : packed_data(ipack) = pack_tmp
32122 416375 : data_tmp = full_data(idata)
32123 416375 : pack_tmp = ISHFT(data_tmp, 54)
32124 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32125 416375 : idata = idata + 1
32126 416375 : data_tmp = full_data(idata)
32127 416375 : data_tmp = ISHFT(data_tmp, 22)
32128 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32129 416375 : pack_tmp = ISHFT(pack_tmp, -12)
32130 416375 : idata = idata + 1
32131 416375 : data_tmp = full_data(idata)
32132 416375 : data_tmp = ISHFT(data_tmp, 22)
32133 416375 : data_tmp = IAND(data_tmp, mask_left(12))
32134 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32135 416375 : ipack = ipack + 1
32136 416375 : packed_data(ipack) = pack_tmp
32137 416375 : data_tmp = full_data(idata)
32138 416375 : pack_tmp = ISHFT(data_tmp, 34)
32139 416375 : pack_tmp = ISHFT(pack_tmp, -34)
32140 416375 : idata = idata + 1
32141 416375 : data_tmp = full_data(idata)
32142 416375 : data_tmp = ISHFT(data_tmp, 22)
32143 416375 : data_tmp = IAND(data_tmp, mask_left(34))
32144 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32145 416375 : ipack = ipack + 1
32146 416375 : packed_data(ipack) = pack_tmp
32147 416375 : data_tmp = full_data(idata)
32148 416375 : pack_tmp = ISHFT(data_tmp, 56)
32149 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32150 416375 : idata = idata + 1
32151 416375 : data_tmp = full_data(idata)
32152 416375 : data_tmp = ISHFT(data_tmp, 22)
32153 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32154 416375 : pack_tmp = ISHFT(pack_tmp, -14)
32155 416375 : idata = idata + 1
32156 416375 : data_tmp = full_data(idata)
32157 416375 : data_tmp = ISHFT(data_tmp, 22)
32158 416375 : data_tmp = IAND(data_tmp, mask_left(14))
32159 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32160 416375 : ipack = ipack + 1
32161 416375 : packed_data(ipack) = pack_tmp
32162 416375 : data_tmp = full_data(idata)
32163 416375 : pack_tmp = ISHFT(data_tmp, 36)
32164 416375 : pack_tmp = ISHFT(pack_tmp, -36)
32165 416375 : idata = idata + 1
32166 416375 : data_tmp = full_data(idata)
32167 416375 : data_tmp = ISHFT(data_tmp, 22)
32168 416375 : data_tmp = IAND(data_tmp, mask_left(36))
32169 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32170 416375 : ipack = ipack + 1
32171 416375 : packed_data(ipack) = pack_tmp
32172 416375 : data_tmp = full_data(idata)
32173 416375 : pack_tmp = ISHFT(data_tmp, 58)
32174 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32175 416375 : idata = idata + 1
32176 416375 : data_tmp = full_data(idata)
32177 416375 : data_tmp = ISHFT(data_tmp, 22)
32178 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32179 416375 : pack_tmp = ISHFT(pack_tmp, -16)
32180 416375 : idata = idata + 1
32181 416375 : data_tmp = full_data(idata)
32182 416375 : data_tmp = ISHFT(data_tmp, 22)
32183 416375 : data_tmp = IAND(data_tmp, mask_left(16))
32184 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32185 416375 : ipack = ipack + 1
32186 416375 : packed_data(ipack) = pack_tmp
32187 416375 : data_tmp = full_data(idata)
32188 416375 : pack_tmp = ISHFT(data_tmp, 38)
32189 416375 : pack_tmp = ISHFT(pack_tmp, -38)
32190 416375 : idata = idata + 1
32191 416375 : data_tmp = full_data(idata)
32192 416375 : data_tmp = ISHFT(data_tmp, 22)
32193 416375 : data_tmp = IAND(data_tmp, mask_left(38))
32194 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32195 416375 : ipack = ipack + 1
32196 416375 : packed_data(ipack) = pack_tmp
32197 416375 : data_tmp = full_data(idata)
32198 416375 : pack_tmp = ISHFT(data_tmp, 60)
32199 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32200 416375 : idata = idata + 1
32201 416375 : data_tmp = full_data(idata)
32202 416375 : data_tmp = ISHFT(data_tmp, 22)
32203 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32204 416375 : pack_tmp = ISHFT(pack_tmp, -18)
32205 416375 : idata = idata + 1
32206 416375 : data_tmp = full_data(idata)
32207 416375 : data_tmp = ISHFT(data_tmp, 22)
32208 416375 : data_tmp = IAND(data_tmp, mask_left(18))
32209 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32210 416375 : ipack = ipack + 1
32211 416375 : packed_data(ipack) = pack_tmp
32212 416375 : data_tmp = full_data(idata)
32213 416375 : pack_tmp = ISHFT(data_tmp, 40)
32214 416375 : pack_tmp = ISHFT(pack_tmp, -40)
32215 416375 : idata = idata + 1
32216 416375 : data_tmp = full_data(idata)
32217 416375 : data_tmp = ISHFT(data_tmp, 22)
32218 416375 : data_tmp = IAND(data_tmp, mask_left(40))
32219 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32220 416375 : ipack = ipack + 1
32221 416375 : packed_data(ipack) = pack_tmp
32222 416375 : data_tmp = full_data(idata)
32223 416375 : pack_tmp = ISHFT(data_tmp, 62)
32224 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32225 416375 : idata = idata + 1
32226 416375 : data_tmp = full_data(idata)
32227 416375 : data_tmp = ISHFT(data_tmp, 22)
32228 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32229 416375 : pack_tmp = ISHFT(pack_tmp, -20)
32230 416375 : idata = idata + 1
32231 416375 : data_tmp = full_data(idata)
32232 416375 : data_tmp = ISHFT(data_tmp, 22)
32233 416375 : data_tmp = IAND(data_tmp, mask_left(20))
32234 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32235 416375 : ipack = ipack + 1
32236 416375 : packed_data(ipack) = pack_tmp
32237 416375 : data_tmp = full_data(idata)
32238 416375 : pack_tmp = ISHFT(data_tmp, 42)
32239 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32240 416375 : idata = idata + 1
32241 416375 : data_tmp = full_data(idata)
32242 416375 : data_tmp = ISHFT(data_tmp, 22)
32243 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32244 416375 : pack_tmp = ISHFT(pack_tmp, 0)
32245 416375 : idata = idata + 1
32246 416375 : data_tmp = full_data(idata)
32247 : data_tmp = ISHFT(data_tmp, 22)
32248 416375 : data_tmp = IAND(data_tmp, mask_left(0))
32249 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32250 416375 : ipack = ipack + 1
32251 416375 : packed_data(ipack) = pack_tmp
32252 416375 : data_tmp = full_data(idata)
32253 416375 : pack_tmp = ISHFT(data_tmp, 22)
32254 416375 : pack_tmp = ISHFT(pack_tmp, -22)
32255 416375 : idata = idata + 1
32256 416375 : data_tmp = full_data(idata)
32257 416375 : data_tmp = ISHFT(data_tmp, 22)
32258 416375 : data_tmp = IAND(data_tmp, mask_left(22))
32259 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32260 416375 : ipack = ipack + 1
32261 416375 : packed_data(ipack) = pack_tmp
32262 416375 : data_tmp = full_data(idata)
32263 416375 : pack_tmp = ISHFT(data_tmp, 44)
32264 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32265 416375 : idata = idata + 1
32266 416375 : data_tmp = full_data(idata)
32267 416375 : data_tmp = ISHFT(data_tmp, 22)
32268 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32269 416375 : pack_tmp = ISHFT(pack_tmp, -2)
32270 416375 : idata = idata + 1
32271 416375 : data_tmp = full_data(idata)
32272 416375 : data_tmp = ISHFT(data_tmp, 22)
32273 416375 : data_tmp = IAND(data_tmp, mask_left(2))
32274 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32275 416375 : ipack = ipack + 1
32276 416375 : packed_data(ipack) = pack_tmp
32277 416375 : data_tmp = full_data(idata)
32278 416375 : pack_tmp = ISHFT(data_tmp, 24)
32279 416375 : pack_tmp = ISHFT(pack_tmp, -24)
32280 416375 : idata = idata + 1
32281 416375 : data_tmp = full_data(idata)
32282 416375 : data_tmp = ISHFT(data_tmp, 22)
32283 416375 : data_tmp = IAND(data_tmp, mask_left(24))
32284 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32285 416375 : ipack = ipack + 1
32286 416375 : packed_data(ipack) = pack_tmp
32287 416375 : data_tmp = full_data(idata)
32288 416375 : pack_tmp = ISHFT(data_tmp, 46)
32289 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32290 416375 : idata = idata + 1
32291 416375 : data_tmp = full_data(idata)
32292 416375 : data_tmp = ISHFT(data_tmp, 22)
32293 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32294 416375 : pack_tmp = ISHFT(pack_tmp, -4)
32295 416375 : idata = idata + 1
32296 416375 : data_tmp = full_data(idata)
32297 416375 : data_tmp = ISHFT(data_tmp, 22)
32298 416375 : data_tmp = IAND(data_tmp, mask_left(4))
32299 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32300 416375 : ipack = ipack + 1
32301 416375 : packed_data(ipack) = pack_tmp
32302 416375 : data_tmp = full_data(idata)
32303 416375 : pack_tmp = ISHFT(data_tmp, 26)
32304 416375 : pack_tmp = ISHFT(pack_tmp, -26)
32305 416375 : idata = idata + 1
32306 416375 : data_tmp = full_data(idata)
32307 416375 : data_tmp = ISHFT(data_tmp, 22)
32308 416375 : data_tmp = IAND(data_tmp, mask_left(26))
32309 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32310 416375 : ipack = ipack + 1
32311 416375 : packed_data(ipack) = pack_tmp
32312 416375 : data_tmp = full_data(idata)
32313 416375 : pack_tmp = ISHFT(data_tmp, 48)
32314 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32315 416375 : idata = idata + 1
32316 416375 : data_tmp = full_data(idata)
32317 416375 : data_tmp = ISHFT(data_tmp, 22)
32318 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32319 416375 : pack_tmp = ISHFT(pack_tmp, -6)
32320 416375 : idata = idata + 1
32321 416375 : data_tmp = full_data(idata)
32322 416375 : data_tmp = ISHFT(data_tmp, 22)
32323 416375 : data_tmp = IAND(data_tmp, mask_left(6))
32324 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32325 416375 : ipack = ipack + 1
32326 416375 : packed_data(ipack) = pack_tmp
32327 416375 : data_tmp = full_data(idata)
32328 416375 : pack_tmp = ISHFT(data_tmp, 28)
32329 416375 : pack_tmp = ISHFT(pack_tmp, -28)
32330 416375 : idata = idata + 1
32331 416375 : data_tmp = full_data(idata)
32332 416375 : data_tmp = ISHFT(data_tmp, 22)
32333 416375 : data_tmp = IAND(data_tmp, mask_left(28))
32334 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32335 416375 : ipack = ipack + 1
32336 416375 : packed_data(ipack) = pack_tmp
32337 416375 : data_tmp = full_data(idata)
32338 416375 : pack_tmp = ISHFT(data_tmp, 50)
32339 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32340 416375 : idata = idata + 1
32341 416375 : data_tmp = full_data(idata)
32342 416375 : data_tmp = ISHFT(data_tmp, 22)
32343 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32344 416375 : pack_tmp = ISHFT(pack_tmp, -8)
32345 416375 : idata = idata + 1
32346 416375 : data_tmp = full_data(idata)
32347 416375 : data_tmp = ISHFT(data_tmp, 22)
32348 416375 : data_tmp = IAND(data_tmp, mask_left(8))
32349 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32350 416375 : ipack = ipack + 1
32351 416375 : packed_data(ipack) = pack_tmp
32352 416375 : data_tmp = full_data(idata)
32353 416375 : pack_tmp = ISHFT(data_tmp, 30)
32354 416375 : pack_tmp = ISHFT(pack_tmp, -30)
32355 416375 : idata = idata + 1
32356 416375 : data_tmp = full_data(idata)
32357 416375 : data_tmp = ISHFT(data_tmp, 22)
32358 416375 : data_tmp = IAND(data_tmp, mask_left(30))
32359 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32360 416375 : ipack = ipack + 1
32361 416375 : packed_data(ipack) = pack_tmp
32362 416375 : data_tmp = full_data(idata)
32363 416375 : pack_tmp = ISHFT(data_tmp, 52)
32364 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32365 416375 : idata = idata + 1
32366 416375 : data_tmp = full_data(idata)
32367 416375 : data_tmp = ISHFT(data_tmp, 22)
32368 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32369 416375 : pack_tmp = ISHFT(pack_tmp, -10)
32370 416375 : idata = idata + 1
32371 416375 : data_tmp = full_data(idata)
32372 416375 : data_tmp = ISHFT(data_tmp, 22)
32373 416375 : data_tmp = IAND(data_tmp, mask_left(10))
32374 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32375 416375 : ipack = ipack + 1
32376 416375 : packed_data(ipack) = pack_tmp
32377 416375 : data_tmp = full_data(idata)
32378 416375 : pack_tmp = ISHFT(data_tmp, 32)
32379 416375 : pack_tmp = ISHFT(pack_tmp, -32)
32380 416375 : idata = idata + 1
32381 416375 : data_tmp = full_data(idata)
32382 416375 : data_tmp = ISHFT(data_tmp, 22)
32383 416375 : data_tmp = IAND(data_tmp, mask_left(32))
32384 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32385 416375 : ipack = ipack + 1
32386 416375 : packed_data(ipack) = pack_tmp
32387 416375 : data_tmp = full_data(idata)
32388 416375 : pack_tmp = ISHFT(data_tmp, 54)
32389 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32390 416375 : idata = idata + 1
32391 416375 : data_tmp = full_data(idata)
32392 416375 : data_tmp = ISHFT(data_tmp, 22)
32393 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32394 416375 : pack_tmp = ISHFT(pack_tmp, -12)
32395 416375 : idata = idata + 1
32396 416375 : data_tmp = full_data(idata)
32397 416375 : data_tmp = ISHFT(data_tmp, 22)
32398 416375 : data_tmp = IAND(data_tmp, mask_left(12))
32399 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32400 416375 : ipack = ipack + 1
32401 416375 : packed_data(ipack) = pack_tmp
32402 416375 : data_tmp = full_data(idata)
32403 416375 : pack_tmp = ISHFT(data_tmp, 34)
32404 416375 : pack_tmp = ISHFT(pack_tmp, -34)
32405 416375 : idata = idata + 1
32406 416375 : data_tmp = full_data(idata)
32407 416375 : data_tmp = ISHFT(data_tmp, 22)
32408 416375 : data_tmp = IAND(data_tmp, mask_left(34))
32409 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32410 416375 : ipack = ipack + 1
32411 416375 : packed_data(ipack) = pack_tmp
32412 416375 : data_tmp = full_data(idata)
32413 416375 : pack_tmp = ISHFT(data_tmp, 56)
32414 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32415 416375 : idata = idata + 1
32416 416375 : data_tmp = full_data(idata)
32417 416375 : data_tmp = ISHFT(data_tmp, 22)
32418 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32419 416375 : pack_tmp = ISHFT(pack_tmp, -14)
32420 416375 : idata = idata + 1
32421 416375 : data_tmp = full_data(idata)
32422 416375 : data_tmp = ISHFT(data_tmp, 22)
32423 416375 : data_tmp = IAND(data_tmp, mask_left(14))
32424 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32425 416375 : ipack = ipack + 1
32426 416375 : packed_data(ipack) = pack_tmp
32427 416375 : data_tmp = full_data(idata)
32428 416375 : pack_tmp = ISHFT(data_tmp, 36)
32429 416375 : pack_tmp = ISHFT(pack_tmp, -36)
32430 416375 : idata = idata + 1
32431 416375 : data_tmp = full_data(idata)
32432 416375 : data_tmp = ISHFT(data_tmp, 22)
32433 416375 : data_tmp = IAND(data_tmp, mask_left(36))
32434 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32435 416375 : ipack = ipack + 1
32436 416375 : packed_data(ipack) = pack_tmp
32437 416375 : data_tmp = full_data(idata)
32438 416375 : pack_tmp = ISHFT(data_tmp, 58)
32439 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32440 416375 : idata = idata + 1
32441 416375 : data_tmp = full_data(idata)
32442 416375 : data_tmp = ISHFT(data_tmp, 22)
32443 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32444 416375 : pack_tmp = ISHFT(pack_tmp, -16)
32445 416375 : idata = idata + 1
32446 416375 : data_tmp = full_data(idata)
32447 416375 : data_tmp = ISHFT(data_tmp, 22)
32448 416375 : data_tmp = IAND(data_tmp, mask_left(16))
32449 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32450 416375 : ipack = ipack + 1
32451 416375 : packed_data(ipack) = pack_tmp
32452 416375 : data_tmp = full_data(idata)
32453 416375 : pack_tmp = ISHFT(data_tmp, 38)
32454 416375 : pack_tmp = ISHFT(pack_tmp, -38)
32455 416375 : idata = idata + 1
32456 416375 : data_tmp = full_data(idata)
32457 416375 : data_tmp = ISHFT(data_tmp, 22)
32458 416375 : data_tmp = IAND(data_tmp, mask_left(38))
32459 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32460 416375 : ipack = ipack + 1
32461 416375 : packed_data(ipack) = pack_tmp
32462 416375 : data_tmp = full_data(idata)
32463 416375 : pack_tmp = ISHFT(data_tmp, 60)
32464 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32465 416375 : idata = idata + 1
32466 416375 : data_tmp = full_data(idata)
32467 416375 : data_tmp = ISHFT(data_tmp, 22)
32468 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32469 416375 : pack_tmp = ISHFT(pack_tmp, -18)
32470 416375 : idata = idata + 1
32471 416375 : data_tmp = full_data(idata)
32472 416375 : data_tmp = ISHFT(data_tmp, 22)
32473 416375 : data_tmp = IAND(data_tmp, mask_left(18))
32474 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32475 416375 : ipack = ipack + 1
32476 416375 : packed_data(ipack) = pack_tmp
32477 416375 : data_tmp = full_data(idata)
32478 416375 : pack_tmp = ISHFT(data_tmp, 40)
32479 416375 : pack_tmp = ISHFT(pack_tmp, -40)
32480 416375 : idata = idata + 1
32481 416375 : data_tmp = full_data(idata)
32482 416375 : data_tmp = ISHFT(data_tmp, 22)
32483 416375 : data_tmp = IAND(data_tmp, mask_left(40))
32484 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32485 416375 : ipack = ipack + 1
32486 416375 : packed_data(ipack) = pack_tmp
32487 416375 : data_tmp = full_data(idata)
32488 416375 : pack_tmp = ISHFT(data_tmp, 62)
32489 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32490 416375 : idata = idata + 1
32491 416375 : data_tmp = full_data(idata)
32492 416375 : data_tmp = ISHFT(data_tmp, 22)
32493 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32494 416375 : pack_tmp = ISHFT(pack_tmp, -20)
32495 416375 : idata = idata + 1
32496 416375 : data_tmp = full_data(idata)
32497 416375 : data_tmp = ISHFT(data_tmp, 22)
32498 416375 : data_tmp = IAND(data_tmp, mask_left(20))
32499 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32500 416375 : ipack = ipack + 1
32501 416375 : packed_data(ipack) = pack_tmp
32502 416375 : data_tmp = full_data(idata)
32503 416375 : pack_tmp = ISHFT(data_tmp, 42)
32504 416375 : pack_tmp = ISHFT(pack_tmp, -42)
32505 416375 : idata = idata + 1
32506 416375 : data_tmp = full_data(idata)
32507 416375 : data_tmp = ISHFT(data_tmp, 22)
32508 416375 : pack_tmp = IOR(pack_tmp, data_tmp)
32509 : pack_tmp = ISHFT(pack_tmp, 0)
32510 416375 : pack_tmp = ISHFT(pack_tmp, 0)
32511 416375 : ipack = ipack + 1
32512 416598 : packed_data(ipack) = pack_tmp
32513 : END DO
32514 27342 : IF (Ndata_rep < Ndata) THEN
32515 2482 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
32516 : END IF
32517 27342 : END SUBROUTINE ints2bits_42
32518 :
32519 : ! **************************************************************************************************
32520 : !> \brief ...
32521 : !> \param Ndata ...
32522 : !> \param packed_data ...
32523 : !> \param full_data ...
32524 : ! **************************************************************************************************
32525 121260 : 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(*)
32529 :
32530 : INTEGER, PARAMETER :: Nbits = 42
32531 :
32532 : INTEGER :: idata, ipack, kdata, Ndata_rep
32533 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
32534 :
32535 121260 : ipack = 0
32536 121260 : idata = 0
32537 121260 : pack_tmp = 0
32538 121260 : Ndata_rep = (Ndata/64)*64
32539 121260 : DO kdata = 1, Ndata_rep, 64
32540 1782689 : idata = idata + 1
32541 1782689 : data_tmp = ISHFT(pack_tmp, 42)
32542 1782689 : ipack = ipack + 1
32543 1782689 : pack_tmp = packed_data(ipack)
32544 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
32545 1782689 : pack_tmp = ISHFT(pack_tmp, -42)
32546 1782689 : idata = idata + 1
32547 1782689 : data_tmp = ISHFT(pack_tmp, 20)
32548 1782689 : ipack = ipack + 1
32549 1782689 : pack_tmp = packed_data(ipack)
32550 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
32551 1782689 : pack_tmp = ISHFT(pack_tmp, -20)
32552 1782689 : idata = idata + 1
32553 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32554 1782689 : full_data(idata) = data_tmp
32555 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32556 1782689 : idata = idata + 1
32557 1782689 : data_tmp = ISHFT(pack_tmp, 40)
32558 1782689 : ipack = ipack + 1
32559 1782689 : pack_tmp = packed_data(ipack)
32560 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
32561 1782689 : pack_tmp = ISHFT(pack_tmp, -40)
32562 1782689 : idata = idata + 1
32563 1782689 : data_tmp = ISHFT(pack_tmp, 18)
32564 1782689 : ipack = ipack + 1
32565 1782689 : pack_tmp = packed_data(ipack)
32566 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
32567 1782689 : pack_tmp = ISHFT(pack_tmp, -18)
32568 1782689 : idata = idata + 1
32569 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32570 1782689 : full_data(idata) = data_tmp
32571 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32572 1782689 : idata = idata + 1
32573 1782689 : data_tmp = ISHFT(pack_tmp, 38)
32574 1782689 : ipack = ipack + 1
32575 1782689 : pack_tmp = packed_data(ipack)
32576 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
32577 1782689 : pack_tmp = ISHFT(pack_tmp, -38)
32578 1782689 : idata = idata + 1
32579 1782689 : data_tmp = ISHFT(pack_tmp, 16)
32580 1782689 : ipack = ipack + 1
32581 1782689 : pack_tmp = packed_data(ipack)
32582 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
32583 1782689 : pack_tmp = ISHFT(pack_tmp, -16)
32584 1782689 : idata = idata + 1
32585 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32586 1782689 : full_data(idata) = data_tmp
32587 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32588 1782689 : idata = idata + 1
32589 1782689 : data_tmp = ISHFT(pack_tmp, 36)
32590 1782689 : ipack = ipack + 1
32591 1782689 : pack_tmp = packed_data(ipack)
32592 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
32593 1782689 : pack_tmp = ISHFT(pack_tmp, -36)
32594 1782689 : idata = idata + 1
32595 1782689 : data_tmp = ISHFT(pack_tmp, 14)
32596 1782689 : ipack = ipack + 1
32597 1782689 : pack_tmp = packed_data(ipack)
32598 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
32599 1782689 : pack_tmp = ISHFT(pack_tmp, -14)
32600 1782689 : idata = idata + 1
32601 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32602 1782689 : full_data(idata) = data_tmp
32603 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32604 1782689 : idata = idata + 1
32605 1782689 : data_tmp = ISHFT(pack_tmp, 34)
32606 1782689 : ipack = ipack + 1
32607 1782689 : pack_tmp = packed_data(ipack)
32608 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
32609 1782689 : pack_tmp = ISHFT(pack_tmp, -34)
32610 1782689 : idata = idata + 1
32611 1782689 : data_tmp = ISHFT(pack_tmp, 12)
32612 1782689 : ipack = ipack + 1
32613 1782689 : pack_tmp = packed_data(ipack)
32614 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
32615 1782689 : pack_tmp = ISHFT(pack_tmp, -12)
32616 1782689 : idata = idata + 1
32617 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32618 1782689 : full_data(idata) = data_tmp
32619 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32620 1782689 : idata = idata + 1
32621 1782689 : data_tmp = ISHFT(pack_tmp, 32)
32622 1782689 : ipack = ipack + 1
32623 1782689 : pack_tmp = packed_data(ipack)
32624 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
32625 1782689 : pack_tmp = ISHFT(pack_tmp, -32)
32626 1782689 : idata = idata + 1
32627 1782689 : data_tmp = ISHFT(pack_tmp, 10)
32628 1782689 : ipack = ipack + 1
32629 1782689 : pack_tmp = packed_data(ipack)
32630 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
32631 1782689 : pack_tmp = ISHFT(pack_tmp, -10)
32632 1782689 : idata = idata + 1
32633 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32634 1782689 : full_data(idata) = data_tmp
32635 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32636 1782689 : idata = idata + 1
32637 1782689 : data_tmp = ISHFT(pack_tmp, 30)
32638 1782689 : ipack = ipack + 1
32639 1782689 : pack_tmp = packed_data(ipack)
32640 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
32641 1782689 : pack_tmp = ISHFT(pack_tmp, -30)
32642 1782689 : idata = idata + 1
32643 1782689 : data_tmp = ISHFT(pack_tmp, 8)
32644 1782689 : ipack = ipack + 1
32645 1782689 : pack_tmp = packed_data(ipack)
32646 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
32647 1782689 : pack_tmp = ISHFT(pack_tmp, -8)
32648 1782689 : idata = idata + 1
32649 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32650 1782689 : full_data(idata) = data_tmp
32651 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32652 1782689 : idata = idata + 1
32653 1782689 : data_tmp = ISHFT(pack_tmp, 28)
32654 1782689 : ipack = ipack + 1
32655 1782689 : pack_tmp = packed_data(ipack)
32656 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
32657 1782689 : pack_tmp = ISHFT(pack_tmp, -28)
32658 1782689 : idata = idata + 1
32659 1782689 : data_tmp = ISHFT(pack_tmp, 6)
32660 1782689 : ipack = ipack + 1
32661 1782689 : pack_tmp = packed_data(ipack)
32662 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
32663 1782689 : pack_tmp = ISHFT(pack_tmp, -6)
32664 1782689 : idata = idata + 1
32665 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32666 1782689 : full_data(idata) = data_tmp
32667 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32668 1782689 : idata = idata + 1
32669 1782689 : data_tmp = ISHFT(pack_tmp, 26)
32670 1782689 : ipack = ipack + 1
32671 1782689 : pack_tmp = packed_data(ipack)
32672 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
32673 1782689 : pack_tmp = ISHFT(pack_tmp, -26)
32674 1782689 : idata = idata + 1
32675 1782689 : data_tmp = ISHFT(pack_tmp, 4)
32676 1782689 : ipack = ipack + 1
32677 1782689 : pack_tmp = packed_data(ipack)
32678 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
32679 1782689 : pack_tmp = ISHFT(pack_tmp, -4)
32680 1782689 : idata = idata + 1
32681 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32682 1782689 : full_data(idata) = data_tmp
32683 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32684 1782689 : idata = idata + 1
32685 1782689 : data_tmp = ISHFT(pack_tmp, 24)
32686 1782689 : ipack = ipack + 1
32687 1782689 : pack_tmp = packed_data(ipack)
32688 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
32689 1782689 : pack_tmp = ISHFT(pack_tmp, -24)
32690 1782689 : idata = idata + 1
32691 1782689 : data_tmp = ISHFT(pack_tmp, 2)
32692 1782689 : ipack = ipack + 1
32693 1782689 : pack_tmp = packed_data(ipack)
32694 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
32695 1782689 : pack_tmp = ISHFT(pack_tmp, -2)
32696 1782689 : idata = idata + 1
32697 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32698 1782689 : full_data(idata) = data_tmp
32699 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32700 1782689 : idata = idata + 1
32701 1782689 : data_tmp = ISHFT(pack_tmp, 22)
32702 1782689 : ipack = ipack + 1
32703 1782689 : pack_tmp = packed_data(ipack)
32704 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
32705 1782689 : pack_tmp = ISHFT(pack_tmp, -22)
32706 1782689 : idata = idata + 1
32707 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32708 1782689 : full_data(idata) = data_tmp
32709 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32710 1782689 : idata = idata + 1
32711 1782689 : data_tmp = ISHFT(pack_tmp, 42)
32712 1782689 : ipack = ipack + 1
32713 1782689 : pack_tmp = packed_data(ipack)
32714 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
32715 1782689 : pack_tmp = ISHFT(pack_tmp, -42)
32716 1782689 : idata = idata + 1
32717 1782689 : data_tmp = ISHFT(pack_tmp, 20)
32718 1782689 : ipack = ipack + 1
32719 1782689 : pack_tmp = packed_data(ipack)
32720 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
32721 1782689 : pack_tmp = ISHFT(pack_tmp, -20)
32722 1782689 : idata = idata + 1
32723 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32724 1782689 : full_data(idata) = data_tmp
32725 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32726 1782689 : idata = idata + 1
32727 1782689 : data_tmp = ISHFT(pack_tmp, 40)
32728 1782689 : ipack = ipack + 1
32729 1782689 : pack_tmp = packed_data(ipack)
32730 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
32731 1782689 : pack_tmp = ISHFT(pack_tmp, -40)
32732 1782689 : idata = idata + 1
32733 1782689 : data_tmp = ISHFT(pack_tmp, 18)
32734 1782689 : ipack = ipack + 1
32735 1782689 : pack_tmp = packed_data(ipack)
32736 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
32737 1782689 : pack_tmp = ISHFT(pack_tmp, -18)
32738 1782689 : idata = idata + 1
32739 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32740 1782689 : full_data(idata) = data_tmp
32741 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32742 1782689 : idata = idata + 1
32743 1782689 : data_tmp = ISHFT(pack_tmp, 38)
32744 1782689 : ipack = ipack + 1
32745 1782689 : pack_tmp = packed_data(ipack)
32746 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
32747 1782689 : pack_tmp = ISHFT(pack_tmp, -38)
32748 1782689 : idata = idata + 1
32749 1782689 : data_tmp = ISHFT(pack_tmp, 16)
32750 1782689 : ipack = ipack + 1
32751 1782689 : pack_tmp = packed_data(ipack)
32752 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
32753 1782689 : pack_tmp = ISHFT(pack_tmp, -16)
32754 1782689 : idata = idata + 1
32755 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32756 1782689 : full_data(idata) = data_tmp
32757 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32758 1782689 : idata = idata + 1
32759 1782689 : data_tmp = ISHFT(pack_tmp, 36)
32760 1782689 : ipack = ipack + 1
32761 1782689 : pack_tmp = packed_data(ipack)
32762 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
32763 1782689 : pack_tmp = ISHFT(pack_tmp, -36)
32764 1782689 : idata = idata + 1
32765 1782689 : data_tmp = ISHFT(pack_tmp, 14)
32766 1782689 : ipack = ipack + 1
32767 1782689 : pack_tmp = packed_data(ipack)
32768 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
32769 1782689 : pack_tmp = ISHFT(pack_tmp, -14)
32770 1782689 : idata = idata + 1
32771 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32772 1782689 : full_data(idata) = data_tmp
32773 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32774 1782689 : idata = idata + 1
32775 1782689 : data_tmp = ISHFT(pack_tmp, 34)
32776 1782689 : ipack = ipack + 1
32777 1782689 : pack_tmp = packed_data(ipack)
32778 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
32779 1782689 : pack_tmp = ISHFT(pack_tmp, -34)
32780 1782689 : idata = idata + 1
32781 1782689 : data_tmp = ISHFT(pack_tmp, 12)
32782 1782689 : ipack = ipack + 1
32783 1782689 : pack_tmp = packed_data(ipack)
32784 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
32785 1782689 : pack_tmp = ISHFT(pack_tmp, -12)
32786 1782689 : idata = idata + 1
32787 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32788 1782689 : full_data(idata) = data_tmp
32789 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32790 1782689 : idata = idata + 1
32791 1782689 : data_tmp = ISHFT(pack_tmp, 32)
32792 1782689 : ipack = ipack + 1
32793 1782689 : pack_tmp = packed_data(ipack)
32794 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
32795 1782689 : pack_tmp = ISHFT(pack_tmp, -32)
32796 1782689 : idata = idata + 1
32797 1782689 : data_tmp = ISHFT(pack_tmp, 10)
32798 1782689 : ipack = ipack + 1
32799 1782689 : pack_tmp = packed_data(ipack)
32800 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
32801 1782689 : pack_tmp = ISHFT(pack_tmp, -10)
32802 1782689 : idata = idata + 1
32803 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32804 1782689 : full_data(idata) = data_tmp
32805 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32806 1782689 : idata = idata + 1
32807 1782689 : data_tmp = ISHFT(pack_tmp, 30)
32808 1782689 : ipack = ipack + 1
32809 1782689 : pack_tmp = packed_data(ipack)
32810 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
32811 1782689 : pack_tmp = ISHFT(pack_tmp, -30)
32812 1782689 : idata = idata + 1
32813 1782689 : data_tmp = ISHFT(pack_tmp, 8)
32814 1782689 : ipack = ipack + 1
32815 1782689 : pack_tmp = packed_data(ipack)
32816 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
32817 1782689 : pack_tmp = ISHFT(pack_tmp, -8)
32818 1782689 : idata = idata + 1
32819 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32820 1782689 : full_data(idata) = data_tmp
32821 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32822 1782689 : idata = idata + 1
32823 1782689 : data_tmp = ISHFT(pack_tmp, 28)
32824 1782689 : ipack = ipack + 1
32825 1782689 : pack_tmp = packed_data(ipack)
32826 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
32827 1782689 : pack_tmp = ISHFT(pack_tmp, -28)
32828 1782689 : idata = idata + 1
32829 1782689 : data_tmp = ISHFT(pack_tmp, 6)
32830 1782689 : ipack = ipack + 1
32831 1782689 : pack_tmp = packed_data(ipack)
32832 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
32833 1782689 : pack_tmp = ISHFT(pack_tmp, -6)
32834 1782689 : idata = idata + 1
32835 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32836 1782689 : full_data(idata) = data_tmp
32837 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32838 1782689 : idata = idata + 1
32839 1782689 : data_tmp = ISHFT(pack_tmp, 26)
32840 1782689 : ipack = ipack + 1
32841 1782689 : pack_tmp = packed_data(ipack)
32842 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
32843 1782689 : pack_tmp = ISHFT(pack_tmp, -26)
32844 1782689 : idata = idata + 1
32845 1782689 : data_tmp = ISHFT(pack_tmp, 4)
32846 1782689 : ipack = ipack + 1
32847 1782689 : pack_tmp = packed_data(ipack)
32848 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
32849 1782689 : pack_tmp = ISHFT(pack_tmp, -4)
32850 1782689 : idata = idata + 1
32851 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32852 1782689 : full_data(idata) = data_tmp
32853 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32854 1782689 : idata = idata + 1
32855 1782689 : data_tmp = ISHFT(pack_tmp, 24)
32856 1782689 : ipack = ipack + 1
32857 1782689 : pack_tmp = packed_data(ipack)
32858 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
32859 1782689 : pack_tmp = ISHFT(pack_tmp, -24)
32860 1782689 : idata = idata + 1
32861 1782689 : data_tmp = ISHFT(pack_tmp, 2)
32862 1782689 : ipack = ipack + 1
32863 1782689 : pack_tmp = packed_data(ipack)
32864 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
32865 1782689 : pack_tmp = ISHFT(pack_tmp, -2)
32866 1782689 : idata = idata + 1
32867 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32868 1782689 : full_data(idata) = data_tmp
32869 1782689 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32870 1782689 : idata = idata + 1
32871 1782689 : data_tmp = ISHFT(pack_tmp, 22)
32872 1782689 : ipack = ipack + 1
32873 1782689 : pack_tmp = packed_data(ipack)
32874 1782689 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
32875 1782689 : pack_tmp = ISHFT(pack_tmp, -22)
32876 1782689 : idata = idata + 1
32877 1782689 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
32878 1782689 : full_data(idata) = data_tmp
32879 1784450 : pack_tmp = ISHFT(pack_tmp, -Nbits)
32880 : END DO
32881 121260 : IF (Ndata_rep < Ndata) THEN
32882 18526 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
32883 : END IF
32884 121260 : END SUBROUTINE bits2ints_42
32885 :
32886 : ! **************************************************************************************************
32887 : !> \brief ...
32888 : !> \param Ndata ...
32889 : !> \param packed_data ...
32890 : !> \param full_data ...
32891 : ! **************************************************************************************************
32892 27134 : 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(*)
32896 :
32897 : INTEGER, PARAMETER :: Nbits = 43
32898 :
32899 : INTEGER :: idata, ipack, kdata, Ndata_rep
32900 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
32901 :
32902 27134 : idata = 0
32903 27134 : ipack = 0
32904 27134 : Ndata_rep = (Ndata/64)*64
32905 27134 : DO kdata = 1, Ndata_rep, 64
32906 412384 : pack_tmp = 0
32907 412384 : idata = idata + 1
32908 412384 : data_tmp = full_data(idata)
32909 412384 : data_tmp = ISHFT(data_tmp, 21)
32910 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32911 412384 : pack_tmp = ISHFT(pack_tmp, -21)
32912 412384 : idata = idata + 1
32913 412384 : data_tmp = full_data(idata)
32914 412384 : data_tmp = ISHFT(data_tmp, 21)
32915 412384 : data_tmp = IAND(data_tmp, mask_left(21))
32916 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32917 412384 : ipack = ipack + 1
32918 412384 : packed_data(ipack) = pack_tmp
32919 412384 : data_tmp = full_data(idata)
32920 412384 : pack_tmp = ISHFT(data_tmp, 42)
32921 412384 : pack_tmp = ISHFT(pack_tmp, -42)
32922 412384 : idata = idata + 1
32923 412384 : data_tmp = full_data(idata)
32924 412384 : data_tmp = ISHFT(data_tmp, 21)
32925 412384 : data_tmp = IAND(data_tmp, mask_left(42))
32926 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32927 412384 : ipack = ipack + 1
32928 412384 : packed_data(ipack) = pack_tmp
32929 412384 : data_tmp = full_data(idata)
32930 412384 : pack_tmp = ISHFT(data_tmp, 63)
32931 412384 : pack_tmp = ISHFT(pack_tmp, -43)
32932 412384 : idata = idata + 1
32933 412384 : data_tmp = full_data(idata)
32934 412384 : data_tmp = ISHFT(data_tmp, 21)
32935 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32936 412384 : pack_tmp = ISHFT(pack_tmp, -20)
32937 412384 : idata = idata + 1
32938 412384 : data_tmp = full_data(idata)
32939 412384 : data_tmp = ISHFT(data_tmp, 21)
32940 412384 : data_tmp = IAND(data_tmp, mask_left(20))
32941 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32942 412384 : ipack = ipack + 1
32943 412384 : packed_data(ipack) = pack_tmp
32944 412384 : data_tmp = full_data(idata)
32945 412384 : pack_tmp = ISHFT(data_tmp, 41)
32946 412384 : pack_tmp = ISHFT(pack_tmp, -41)
32947 412384 : idata = idata + 1
32948 412384 : data_tmp = full_data(idata)
32949 412384 : data_tmp = ISHFT(data_tmp, 21)
32950 412384 : data_tmp = IAND(data_tmp, mask_left(41))
32951 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32952 412384 : ipack = ipack + 1
32953 412384 : packed_data(ipack) = pack_tmp
32954 412384 : data_tmp = full_data(idata)
32955 412384 : pack_tmp = ISHFT(data_tmp, 62)
32956 412384 : pack_tmp = ISHFT(pack_tmp, -43)
32957 412384 : idata = idata + 1
32958 412384 : data_tmp = full_data(idata)
32959 412384 : data_tmp = ISHFT(data_tmp, 21)
32960 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32961 412384 : pack_tmp = ISHFT(pack_tmp, -19)
32962 412384 : idata = idata + 1
32963 412384 : data_tmp = full_data(idata)
32964 412384 : data_tmp = ISHFT(data_tmp, 21)
32965 412384 : data_tmp = IAND(data_tmp, mask_left(19))
32966 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32967 412384 : ipack = ipack + 1
32968 412384 : packed_data(ipack) = pack_tmp
32969 412384 : data_tmp = full_data(idata)
32970 412384 : pack_tmp = ISHFT(data_tmp, 40)
32971 412384 : pack_tmp = ISHFT(pack_tmp, -40)
32972 412384 : idata = idata + 1
32973 412384 : data_tmp = full_data(idata)
32974 412384 : data_tmp = ISHFT(data_tmp, 21)
32975 412384 : data_tmp = IAND(data_tmp, mask_left(40))
32976 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32977 412384 : ipack = ipack + 1
32978 412384 : packed_data(ipack) = pack_tmp
32979 412384 : data_tmp = full_data(idata)
32980 412384 : pack_tmp = ISHFT(data_tmp, 61)
32981 412384 : pack_tmp = ISHFT(pack_tmp, -43)
32982 412384 : idata = idata + 1
32983 412384 : data_tmp = full_data(idata)
32984 412384 : data_tmp = ISHFT(data_tmp, 21)
32985 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32986 412384 : pack_tmp = ISHFT(pack_tmp, -18)
32987 412384 : idata = idata + 1
32988 412384 : data_tmp = full_data(idata)
32989 412384 : data_tmp = ISHFT(data_tmp, 21)
32990 412384 : data_tmp = IAND(data_tmp, mask_left(18))
32991 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
32992 412384 : ipack = ipack + 1
32993 412384 : packed_data(ipack) = pack_tmp
32994 412384 : data_tmp = full_data(idata)
32995 412384 : pack_tmp = ISHFT(data_tmp, 39)
32996 412384 : pack_tmp = ISHFT(pack_tmp, -39)
32997 412384 : idata = idata + 1
32998 412384 : data_tmp = full_data(idata)
32999 412384 : data_tmp = ISHFT(data_tmp, 21)
33000 412384 : data_tmp = IAND(data_tmp, mask_left(39))
33001 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33002 412384 : ipack = ipack + 1
33003 412384 : packed_data(ipack) = pack_tmp
33004 412384 : data_tmp = full_data(idata)
33005 412384 : pack_tmp = ISHFT(data_tmp, 60)
33006 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33007 412384 : idata = idata + 1
33008 412384 : data_tmp = full_data(idata)
33009 412384 : data_tmp = ISHFT(data_tmp, 21)
33010 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33011 412384 : pack_tmp = ISHFT(pack_tmp, -17)
33012 412384 : idata = idata + 1
33013 412384 : data_tmp = full_data(idata)
33014 412384 : data_tmp = ISHFT(data_tmp, 21)
33015 412384 : data_tmp = IAND(data_tmp, mask_left(17))
33016 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33017 412384 : ipack = ipack + 1
33018 412384 : packed_data(ipack) = pack_tmp
33019 412384 : data_tmp = full_data(idata)
33020 412384 : pack_tmp = ISHFT(data_tmp, 38)
33021 412384 : pack_tmp = ISHFT(pack_tmp, -38)
33022 412384 : idata = idata + 1
33023 412384 : data_tmp = full_data(idata)
33024 412384 : data_tmp = ISHFT(data_tmp, 21)
33025 412384 : data_tmp = IAND(data_tmp, mask_left(38))
33026 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33027 412384 : ipack = ipack + 1
33028 412384 : packed_data(ipack) = pack_tmp
33029 412384 : data_tmp = full_data(idata)
33030 412384 : pack_tmp = ISHFT(data_tmp, 59)
33031 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33032 412384 : idata = idata + 1
33033 412384 : data_tmp = full_data(idata)
33034 412384 : data_tmp = ISHFT(data_tmp, 21)
33035 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33036 412384 : pack_tmp = ISHFT(pack_tmp, -16)
33037 412384 : idata = idata + 1
33038 412384 : data_tmp = full_data(idata)
33039 412384 : data_tmp = ISHFT(data_tmp, 21)
33040 412384 : data_tmp = IAND(data_tmp, mask_left(16))
33041 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33042 412384 : ipack = ipack + 1
33043 412384 : packed_data(ipack) = pack_tmp
33044 412384 : data_tmp = full_data(idata)
33045 412384 : pack_tmp = ISHFT(data_tmp, 37)
33046 412384 : pack_tmp = ISHFT(pack_tmp, -37)
33047 412384 : idata = idata + 1
33048 412384 : data_tmp = full_data(idata)
33049 412384 : data_tmp = ISHFT(data_tmp, 21)
33050 412384 : data_tmp = IAND(data_tmp, mask_left(37))
33051 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33052 412384 : ipack = ipack + 1
33053 412384 : packed_data(ipack) = pack_tmp
33054 412384 : data_tmp = full_data(idata)
33055 412384 : pack_tmp = ISHFT(data_tmp, 58)
33056 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33057 412384 : idata = idata + 1
33058 412384 : data_tmp = full_data(idata)
33059 412384 : data_tmp = ISHFT(data_tmp, 21)
33060 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33061 412384 : pack_tmp = ISHFT(pack_tmp, -15)
33062 412384 : idata = idata + 1
33063 412384 : data_tmp = full_data(idata)
33064 412384 : data_tmp = ISHFT(data_tmp, 21)
33065 412384 : data_tmp = IAND(data_tmp, mask_left(15))
33066 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33067 412384 : ipack = ipack + 1
33068 412384 : packed_data(ipack) = pack_tmp
33069 412384 : data_tmp = full_data(idata)
33070 412384 : pack_tmp = ISHFT(data_tmp, 36)
33071 412384 : pack_tmp = ISHFT(pack_tmp, -36)
33072 412384 : idata = idata + 1
33073 412384 : data_tmp = full_data(idata)
33074 412384 : data_tmp = ISHFT(data_tmp, 21)
33075 412384 : data_tmp = IAND(data_tmp, mask_left(36))
33076 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33077 412384 : ipack = ipack + 1
33078 412384 : packed_data(ipack) = pack_tmp
33079 412384 : data_tmp = full_data(idata)
33080 412384 : pack_tmp = ISHFT(data_tmp, 57)
33081 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33082 412384 : idata = idata + 1
33083 412384 : data_tmp = full_data(idata)
33084 412384 : data_tmp = ISHFT(data_tmp, 21)
33085 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33086 412384 : pack_tmp = ISHFT(pack_tmp, -14)
33087 412384 : idata = idata + 1
33088 412384 : data_tmp = full_data(idata)
33089 412384 : data_tmp = ISHFT(data_tmp, 21)
33090 412384 : data_tmp = IAND(data_tmp, mask_left(14))
33091 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33092 412384 : ipack = ipack + 1
33093 412384 : packed_data(ipack) = pack_tmp
33094 412384 : data_tmp = full_data(idata)
33095 412384 : pack_tmp = ISHFT(data_tmp, 35)
33096 412384 : pack_tmp = ISHFT(pack_tmp, -35)
33097 412384 : idata = idata + 1
33098 412384 : data_tmp = full_data(idata)
33099 412384 : data_tmp = ISHFT(data_tmp, 21)
33100 412384 : data_tmp = IAND(data_tmp, mask_left(35))
33101 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33102 412384 : ipack = ipack + 1
33103 412384 : packed_data(ipack) = pack_tmp
33104 412384 : data_tmp = full_data(idata)
33105 412384 : pack_tmp = ISHFT(data_tmp, 56)
33106 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33107 412384 : idata = idata + 1
33108 412384 : data_tmp = full_data(idata)
33109 412384 : data_tmp = ISHFT(data_tmp, 21)
33110 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33111 412384 : pack_tmp = ISHFT(pack_tmp, -13)
33112 412384 : idata = idata + 1
33113 412384 : data_tmp = full_data(idata)
33114 412384 : data_tmp = ISHFT(data_tmp, 21)
33115 412384 : data_tmp = IAND(data_tmp, mask_left(13))
33116 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33117 412384 : ipack = ipack + 1
33118 412384 : packed_data(ipack) = pack_tmp
33119 412384 : data_tmp = full_data(idata)
33120 412384 : pack_tmp = ISHFT(data_tmp, 34)
33121 412384 : pack_tmp = ISHFT(pack_tmp, -34)
33122 412384 : idata = idata + 1
33123 412384 : data_tmp = full_data(idata)
33124 412384 : data_tmp = ISHFT(data_tmp, 21)
33125 412384 : data_tmp = IAND(data_tmp, mask_left(34))
33126 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33127 412384 : ipack = ipack + 1
33128 412384 : packed_data(ipack) = pack_tmp
33129 412384 : data_tmp = full_data(idata)
33130 412384 : pack_tmp = ISHFT(data_tmp, 55)
33131 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33132 412384 : idata = idata + 1
33133 412384 : data_tmp = full_data(idata)
33134 412384 : data_tmp = ISHFT(data_tmp, 21)
33135 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33136 412384 : pack_tmp = ISHFT(pack_tmp, -12)
33137 412384 : idata = idata + 1
33138 412384 : data_tmp = full_data(idata)
33139 412384 : data_tmp = ISHFT(data_tmp, 21)
33140 412384 : data_tmp = IAND(data_tmp, mask_left(12))
33141 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33142 412384 : ipack = ipack + 1
33143 412384 : packed_data(ipack) = pack_tmp
33144 412384 : data_tmp = full_data(idata)
33145 412384 : pack_tmp = ISHFT(data_tmp, 33)
33146 412384 : pack_tmp = ISHFT(pack_tmp, -33)
33147 412384 : idata = idata + 1
33148 412384 : data_tmp = full_data(idata)
33149 412384 : data_tmp = ISHFT(data_tmp, 21)
33150 412384 : data_tmp = IAND(data_tmp, mask_left(33))
33151 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33152 412384 : ipack = ipack + 1
33153 412384 : packed_data(ipack) = pack_tmp
33154 412384 : data_tmp = full_data(idata)
33155 412384 : pack_tmp = ISHFT(data_tmp, 54)
33156 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33157 412384 : idata = idata + 1
33158 412384 : data_tmp = full_data(idata)
33159 412384 : data_tmp = ISHFT(data_tmp, 21)
33160 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33161 412384 : pack_tmp = ISHFT(pack_tmp, -11)
33162 412384 : idata = idata + 1
33163 412384 : data_tmp = full_data(idata)
33164 412384 : data_tmp = ISHFT(data_tmp, 21)
33165 412384 : data_tmp = IAND(data_tmp, mask_left(11))
33166 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33167 412384 : ipack = ipack + 1
33168 412384 : packed_data(ipack) = pack_tmp
33169 412384 : data_tmp = full_data(idata)
33170 412384 : pack_tmp = ISHFT(data_tmp, 32)
33171 412384 : pack_tmp = ISHFT(pack_tmp, -32)
33172 412384 : idata = idata + 1
33173 412384 : data_tmp = full_data(idata)
33174 412384 : data_tmp = ISHFT(data_tmp, 21)
33175 412384 : data_tmp = IAND(data_tmp, mask_left(32))
33176 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33177 412384 : ipack = ipack + 1
33178 412384 : packed_data(ipack) = pack_tmp
33179 412384 : data_tmp = full_data(idata)
33180 412384 : pack_tmp = ISHFT(data_tmp, 53)
33181 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33182 412384 : idata = idata + 1
33183 412384 : data_tmp = full_data(idata)
33184 412384 : data_tmp = ISHFT(data_tmp, 21)
33185 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33186 412384 : pack_tmp = ISHFT(pack_tmp, -10)
33187 412384 : idata = idata + 1
33188 412384 : data_tmp = full_data(idata)
33189 412384 : data_tmp = ISHFT(data_tmp, 21)
33190 412384 : data_tmp = IAND(data_tmp, mask_left(10))
33191 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33192 412384 : ipack = ipack + 1
33193 412384 : packed_data(ipack) = pack_tmp
33194 412384 : data_tmp = full_data(idata)
33195 412384 : pack_tmp = ISHFT(data_tmp, 31)
33196 412384 : pack_tmp = ISHFT(pack_tmp, -31)
33197 412384 : idata = idata + 1
33198 412384 : data_tmp = full_data(idata)
33199 412384 : data_tmp = ISHFT(data_tmp, 21)
33200 412384 : data_tmp = IAND(data_tmp, mask_left(31))
33201 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33202 412384 : ipack = ipack + 1
33203 412384 : packed_data(ipack) = pack_tmp
33204 412384 : data_tmp = full_data(idata)
33205 412384 : pack_tmp = ISHFT(data_tmp, 52)
33206 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33207 412384 : idata = idata + 1
33208 412384 : data_tmp = full_data(idata)
33209 412384 : data_tmp = ISHFT(data_tmp, 21)
33210 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33211 412384 : pack_tmp = ISHFT(pack_tmp, -9)
33212 412384 : idata = idata + 1
33213 412384 : data_tmp = full_data(idata)
33214 412384 : data_tmp = ISHFT(data_tmp, 21)
33215 412384 : data_tmp = IAND(data_tmp, mask_left(9))
33216 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33217 412384 : ipack = ipack + 1
33218 412384 : packed_data(ipack) = pack_tmp
33219 412384 : data_tmp = full_data(idata)
33220 412384 : pack_tmp = ISHFT(data_tmp, 30)
33221 412384 : pack_tmp = ISHFT(pack_tmp, -30)
33222 412384 : idata = idata + 1
33223 412384 : data_tmp = full_data(idata)
33224 412384 : data_tmp = ISHFT(data_tmp, 21)
33225 412384 : data_tmp = IAND(data_tmp, mask_left(30))
33226 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33227 412384 : ipack = ipack + 1
33228 412384 : packed_data(ipack) = pack_tmp
33229 412384 : data_tmp = full_data(idata)
33230 412384 : pack_tmp = ISHFT(data_tmp, 51)
33231 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33232 412384 : idata = idata + 1
33233 412384 : data_tmp = full_data(idata)
33234 412384 : data_tmp = ISHFT(data_tmp, 21)
33235 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33236 412384 : pack_tmp = ISHFT(pack_tmp, -8)
33237 412384 : idata = idata + 1
33238 412384 : data_tmp = full_data(idata)
33239 412384 : data_tmp = ISHFT(data_tmp, 21)
33240 412384 : data_tmp = IAND(data_tmp, mask_left(8))
33241 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33242 412384 : ipack = ipack + 1
33243 412384 : packed_data(ipack) = pack_tmp
33244 412384 : data_tmp = full_data(idata)
33245 412384 : pack_tmp = ISHFT(data_tmp, 29)
33246 412384 : pack_tmp = ISHFT(pack_tmp, -29)
33247 412384 : idata = idata + 1
33248 412384 : data_tmp = full_data(idata)
33249 412384 : data_tmp = ISHFT(data_tmp, 21)
33250 412384 : data_tmp = IAND(data_tmp, mask_left(29))
33251 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33252 412384 : ipack = ipack + 1
33253 412384 : packed_data(ipack) = pack_tmp
33254 412384 : data_tmp = full_data(idata)
33255 412384 : pack_tmp = ISHFT(data_tmp, 50)
33256 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33257 412384 : idata = idata + 1
33258 412384 : data_tmp = full_data(idata)
33259 412384 : data_tmp = ISHFT(data_tmp, 21)
33260 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33261 412384 : pack_tmp = ISHFT(pack_tmp, -7)
33262 412384 : idata = idata + 1
33263 412384 : data_tmp = full_data(idata)
33264 412384 : data_tmp = ISHFT(data_tmp, 21)
33265 412384 : data_tmp = IAND(data_tmp, mask_left(7))
33266 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33267 412384 : ipack = ipack + 1
33268 412384 : packed_data(ipack) = pack_tmp
33269 412384 : data_tmp = full_data(idata)
33270 412384 : pack_tmp = ISHFT(data_tmp, 28)
33271 412384 : pack_tmp = ISHFT(pack_tmp, -28)
33272 412384 : idata = idata + 1
33273 412384 : data_tmp = full_data(idata)
33274 412384 : data_tmp = ISHFT(data_tmp, 21)
33275 412384 : data_tmp = IAND(data_tmp, mask_left(28))
33276 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33277 412384 : ipack = ipack + 1
33278 412384 : packed_data(ipack) = pack_tmp
33279 412384 : data_tmp = full_data(idata)
33280 412384 : pack_tmp = ISHFT(data_tmp, 49)
33281 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33282 412384 : idata = idata + 1
33283 412384 : data_tmp = full_data(idata)
33284 412384 : data_tmp = ISHFT(data_tmp, 21)
33285 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33286 412384 : pack_tmp = ISHFT(pack_tmp, -6)
33287 412384 : idata = idata + 1
33288 412384 : data_tmp = full_data(idata)
33289 412384 : data_tmp = ISHFT(data_tmp, 21)
33290 412384 : data_tmp = IAND(data_tmp, mask_left(6))
33291 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33292 412384 : ipack = ipack + 1
33293 412384 : packed_data(ipack) = pack_tmp
33294 412384 : data_tmp = full_data(idata)
33295 412384 : pack_tmp = ISHFT(data_tmp, 27)
33296 412384 : pack_tmp = ISHFT(pack_tmp, -27)
33297 412384 : idata = idata + 1
33298 412384 : data_tmp = full_data(idata)
33299 412384 : data_tmp = ISHFT(data_tmp, 21)
33300 412384 : data_tmp = IAND(data_tmp, mask_left(27))
33301 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33302 412384 : ipack = ipack + 1
33303 412384 : packed_data(ipack) = pack_tmp
33304 412384 : data_tmp = full_data(idata)
33305 412384 : pack_tmp = ISHFT(data_tmp, 48)
33306 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33307 412384 : idata = idata + 1
33308 412384 : data_tmp = full_data(idata)
33309 412384 : data_tmp = ISHFT(data_tmp, 21)
33310 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33311 412384 : pack_tmp = ISHFT(pack_tmp, -5)
33312 412384 : idata = idata + 1
33313 412384 : data_tmp = full_data(idata)
33314 412384 : data_tmp = ISHFT(data_tmp, 21)
33315 412384 : data_tmp = IAND(data_tmp, mask_left(5))
33316 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33317 412384 : ipack = ipack + 1
33318 412384 : packed_data(ipack) = pack_tmp
33319 412384 : data_tmp = full_data(idata)
33320 412384 : pack_tmp = ISHFT(data_tmp, 26)
33321 412384 : pack_tmp = ISHFT(pack_tmp, -26)
33322 412384 : idata = idata + 1
33323 412384 : data_tmp = full_data(idata)
33324 412384 : data_tmp = ISHFT(data_tmp, 21)
33325 412384 : data_tmp = IAND(data_tmp, mask_left(26))
33326 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33327 412384 : ipack = ipack + 1
33328 412384 : packed_data(ipack) = pack_tmp
33329 412384 : data_tmp = full_data(idata)
33330 412384 : pack_tmp = ISHFT(data_tmp, 47)
33331 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33332 412384 : idata = idata + 1
33333 412384 : data_tmp = full_data(idata)
33334 412384 : data_tmp = ISHFT(data_tmp, 21)
33335 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33336 412384 : pack_tmp = ISHFT(pack_tmp, -4)
33337 412384 : idata = idata + 1
33338 412384 : data_tmp = full_data(idata)
33339 412384 : data_tmp = ISHFT(data_tmp, 21)
33340 412384 : data_tmp = IAND(data_tmp, mask_left(4))
33341 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33342 412384 : ipack = ipack + 1
33343 412384 : packed_data(ipack) = pack_tmp
33344 412384 : data_tmp = full_data(idata)
33345 412384 : pack_tmp = ISHFT(data_tmp, 25)
33346 412384 : pack_tmp = ISHFT(pack_tmp, -25)
33347 412384 : idata = idata + 1
33348 412384 : data_tmp = full_data(idata)
33349 412384 : data_tmp = ISHFT(data_tmp, 21)
33350 412384 : data_tmp = IAND(data_tmp, mask_left(25))
33351 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33352 412384 : ipack = ipack + 1
33353 412384 : packed_data(ipack) = pack_tmp
33354 412384 : data_tmp = full_data(idata)
33355 412384 : pack_tmp = ISHFT(data_tmp, 46)
33356 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33357 412384 : idata = idata + 1
33358 412384 : data_tmp = full_data(idata)
33359 412384 : data_tmp = ISHFT(data_tmp, 21)
33360 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33361 412384 : pack_tmp = ISHFT(pack_tmp, -3)
33362 412384 : idata = idata + 1
33363 412384 : data_tmp = full_data(idata)
33364 412384 : data_tmp = ISHFT(data_tmp, 21)
33365 412384 : data_tmp = IAND(data_tmp, mask_left(3))
33366 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33367 412384 : ipack = ipack + 1
33368 412384 : packed_data(ipack) = pack_tmp
33369 412384 : data_tmp = full_data(idata)
33370 412384 : pack_tmp = ISHFT(data_tmp, 24)
33371 412384 : pack_tmp = ISHFT(pack_tmp, -24)
33372 412384 : idata = idata + 1
33373 412384 : data_tmp = full_data(idata)
33374 412384 : data_tmp = ISHFT(data_tmp, 21)
33375 412384 : data_tmp = IAND(data_tmp, mask_left(24))
33376 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33377 412384 : ipack = ipack + 1
33378 412384 : packed_data(ipack) = pack_tmp
33379 412384 : data_tmp = full_data(idata)
33380 412384 : pack_tmp = ISHFT(data_tmp, 45)
33381 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33382 412384 : idata = idata + 1
33383 412384 : data_tmp = full_data(idata)
33384 412384 : data_tmp = ISHFT(data_tmp, 21)
33385 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33386 412384 : pack_tmp = ISHFT(pack_tmp, -2)
33387 412384 : idata = idata + 1
33388 412384 : data_tmp = full_data(idata)
33389 412384 : data_tmp = ISHFT(data_tmp, 21)
33390 412384 : data_tmp = IAND(data_tmp, mask_left(2))
33391 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33392 412384 : ipack = ipack + 1
33393 412384 : packed_data(ipack) = pack_tmp
33394 412384 : data_tmp = full_data(idata)
33395 412384 : pack_tmp = ISHFT(data_tmp, 23)
33396 412384 : pack_tmp = ISHFT(pack_tmp, -23)
33397 412384 : idata = idata + 1
33398 412384 : data_tmp = full_data(idata)
33399 412384 : data_tmp = ISHFT(data_tmp, 21)
33400 412384 : data_tmp = IAND(data_tmp, mask_left(23))
33401 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33402 412384 : ipack = ipack + 1
33403 412384 : packed_data(ipack) = pack_tmp
33404 412384 : data_tmp = full_data(idata)
33405 412384 : pack_tmp = ISHFT(data_tmp, 44)
33406 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33407 412384 : idata = idata + 1
33408 412384 : data_tmp = full_data(idata)
33409 412384 : data_tmp = ISHFT(data_tmp, 21)
33410 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33411 412384 : pack_tmp = ISHFT(pack_tmp, -1)
33412 412384 : idata = idata + 1
33413 412384 : data_tmp = full_data(idata)
33414 412384 : data_tmp = ISHFT(data_tmp, 21)
33415 412384 : data_tmp = IAND(data_tmp, mask_left(1))
33416 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33417 412384 : ipack = ipack + 1
33418 412384 : packed_data(ipack) = pack_tmp
33419 412384 : data_tmp = full_data(idata)
33420 412384 : pack_tmp = ISHFT(data_tmp, 22)
33421 412384 : pack_tmp = ISHFT(pack_tmp, -22)
33422 412384 : idata = idata + 1
33423 412384 : data_tmp = full_data(idata)
33424 412384 : data_tmp = ISHFT(data_tmp, 21)
33425 412384 : data_tmp = IAND(data_tmp, mask_left(22))
33426 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33427 412384 : ipack = ipack + 1
33428 412384 : packed_data(ipack) = pack_tmp
33429 412384 : data_tmp = full_data(idata)
33430 412384 : pack_tmp = ISHFT(data_tmp, 43)
33431 412384 : pack_tmp = ISHFT(pack_tmp, -43)
33432 412384 : idata = idata + 1
33433 412384 : data_tmp = full_data(idata)
33434 412384 : data_tmp = ISHFT(data_tmp, 21)
33435 412384 : pack_tmp = IOR(pack_tmp, data_tmp)
33436 : pack_tmp = ISHFT(pack_tmp, 0)
33437 412384 : pack_tmp = ISHFT(pack_tmp, 0)
33438 412384 : ipack = ipack + 1
33439 412699 : packed_data(ipack) = pack_tmp
33440 : END DO
33441 27134 : IF (Ndata_rep < Ndata) THEN
33442 2560 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
33443 : END IF
33444 27134 : END SUBROUTINE ints2bits_43
33445 :
33446 : ! **************************************************************************************************
33447 : !> \brief ...
33448 : !> \param Ndata ...
33449 : !> \param packed_data ...
33450 : !> \param full_data ...
33451 : ! **************************************************************************************************
33452 119661 : 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(*)
33456 :
33457 : INTEGER, PARAMETER :: Nbits = 43
33458 :
33459 : INTEGER :: idata, ipack, kdata, Ndata_rep
33460 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
33461 :
33462 119661 : ipack = 0
33463 119661 : idata = 0
33464 119661 : pack_tmp = 0
33465 119661 : Ndata_rep = (Ndata/64)*64
33466 119661 : DO kdata = 1, Ndata_rep, 64
33467 1754198 : idata = idata + 1
33468 1754198 : data_tmp = ISHFT(pack_tmp, 43)
33469 1754198 : ipack = ipack + 1
33470 1754198 : pack_tmp = packed_data(ipack)
33471 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
33472 1754198 : pack_tmp = ISHFT(pack_tmp, -43)
33473 1754198 : idata = idata + 1
33474 1754198 : data_tmp = ISHFT(pack_tmp, 22)
33475 1754198 : ipack = ipack + 1
33476 1754198 : pack_tmp = packed_data(ipack)
33477 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
33478 1754198 : pack_tmp = ISHFT(pack_tmp, -22)
33479 1754198 : idata = idata + 1
33480 1754198 : data_tmp = ISHFT(pack_tmp, 1)
33481 1754198 : ipack = ipack + 1
33482 1754198 : pack_tmp = packed_data(ipack)
33483 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
33484 1754198 : pack_tmp = ISHFT(pack_tmp, -1)
33485 1754198 : idata = idata + 1
33486 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33487 1754198 : full_data(idata) = data_tmp
33488 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33489 1754198 : idata = idata + 1
33490 1754198 : data_tmp = ISHFT(pack_tmp, 23)
33491 1754198 : ipack = ipack + 1
33492 1754198 : pack_tmp = packed_data(ipack)
33493 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
33494 1754198 : pack_tmp = ISHFT(pack_tmp, -23)
33495 1754198 : idata = idata + 1
33496 1754198 : data_tmp = ISHFT(pack_tmp, 2)
33497 1754198 : ipack = ipack + 1
33498 1754198 : pack_tmp = packed_data(ipack)
33499 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
33500 1754198 : pack_tmp = ISHFT(pack_tmp, -2)
33501 1754198 : idata = idata + 1
33502 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33503 1754198 : full_data(idata) = data_tmp
33504 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33505 1754198 : idata = idata + 1
33506 1754198 : data_tmp = ISHFT(pack_tmp, 24)
33507 1754198 : ipack = ipack + 1
33508 1754198 : pack_tmp = packed_data(ipack)
33509 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
33510 1754198 : pack_tmp = ISHFT(pack_tmp, -24)
33511 1754198 : idata = idata + 1
33512 1754198 : data_tmp = ISHFT(pack_tmp, 3)
33513 1754198 : ipack = ipack + 1
33514 1754198 : pack_tmp = packed_data(ipack)
33515 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
33516 1754198 : pack_tmp = ISHFT(pack_tmp, -3)
33517 1754198 : idata = idata + 1
33518 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33519 1754198 : full_data(idata) = data_tmp
33520 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33521 1754198 : idata = idata + 1
33522 1754198 : data_tmp = ISHFT(pack_tmp, 25)
33523 1754198 : ipack = ipack + 1
33524 1754198 : pack_tmp = packed_data(ipack)
33525 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
33526 1754198 : pack_tmp = ISHFT(pack_tmp, -25)
33527 1754198 : idata = idata + 1
33528 1754198 : data_tmp = ISHFT(pack_tmp, 4)
33529 1754198 : ipack = ipack + 1
33530 1754198 : pack_tmp = packed_data(ipack)
33531 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
33532 1754198 : pack_tmp = ISHFT(pack_tmp, -4)
33533 1754198 : idata = idata + 1
33534 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33535 1754198 : full_data(idata) = data_tmp
33536 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33537 1754198 : idata = idata + 1
33538 1754198 : data_tmp = ISHFT(pack_tmp, 26)
33539 1754198 : ipack = ipack + 1
33540 1754198 : pack_tmp = packed_data(ipack)
33541 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
33542 1754198 : pack_tmp = ISHFT(pack_tmp, -26)
33543 1754198 : idata = idata + 1
33544 1754198 : data_tmp = ISHFT(pack_tmp, 5)
33545 1754198 : ipack = ipack + 1
33546 1754198 : pack_tmp = packed_data(ipack)
33547 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
33548 1754198 : pack_tmp = ISHFT(pack_tmp, -5)
33549 1754198 : idata = idata + 1
33550 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33551 1754198 : full_data(idata) = data_tmp
33552 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33553 1754198 : idata = idata + 1
33554 1754198 : data_tmp = ISHFT(pack_tmp, 27)
33555 1754198 : ipack = ipack + 1
33556 1754198 : pack_tmp = packed_data(ipack)
33557 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
33558 1754198 : pack_tmp = ISHFT(pack_tmp, -27)
33559 1754198 : idata = idata + 1
33560 1754198 : data_tmp = ISHFT(pack_tmp, 6)
33561 1754198 : ipack = ipack + 1
33562 1754198 : pack_tmp = packed_data(ipack)
33563 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
33564 1754198 : pack_tmp = ISHFT(pack_tmp, -6)
33565 1754198 : idata = idata + 1
33566 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33567 1754198 : full_data(idata) = data_tmp
33568 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33569 1754198 : idata = idata + 1
33570 1754198 : data_tmp = ISHFT(pack_tmp, 28)
33571 1754198 : ipack = ipack + 1
33572 1754198 : pack_tmp = packed_data(ipack)
33573 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
33574 1754198 : pack_tmp = ISHFT(pack_tmp, -28)
33575 1754198 : idata = idata + 1
33576 1754198 : data_tmp = ISHFT(pack_tmp, 7)
33577 1754198 : ipack = ipack + 1
33578 1754198 : pack_tmp = packed_data(ipack)
33579 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
33580 1754198 : pack_tmp = ISHFT(pack_tmp, -7)
33581 1754198 : idata = idata + 1
33582 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33583 1754198 : full_data(idata) = data_tmp
33584 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33585 1754198 : idata = idata + 1
33586 1754198 : data_tmp = ISHFT(pack_tmp, 29)
33587 1754198 : ipack = ipack + 1
33588 1754198 : pack_tmp = packed_data(ipack)
33589 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
33590 1754198 : pack_tmp = ISHFT(pack_tmp, -29)
33591 1754198 : idata = idata + 1
33592 1754198 : data_tmp = ISHFT(pack_tmp, 8)
33593 1754198 : ipack = ipack + 1
33594 1754198 : pack_tmp = packed_data(ipack)
33595 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
33596 1754198 : pack_tmp = ISHFT(pack_tmp, -8)
33597 1754198 : idata = idata + 1
33598 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33599 1754198 : full_data(idata) = data_tmp
33600 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33601 1754198 : idata = idata + 1
33602 1754198 : data_tmp = ISHFT(pack_tmp, 30)
33603 1754198 : ipack = ipack + 1
33604 1754198 : pack_tmp = packed_data(ipack)
33605 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
33606 1754198 : pack_tmp = ISHFT(pack_tmp, -30)
33607 1754198 : idata = idata + 1
33608 1754198 : data_tmp = ISHFT(pack_tmp, 9)
33609 1754198 : ipack = ipack + 1
33610 1754198 : pack_tmp = packed_data(ipack)
33611 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
33612 1754198 : pack_tmp = ISHFT(pack_tmp, -9)
33613 1754198 : idata = idata + 1
33614 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33615 1754198 : full_data(idata) = data_tmp
33616 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33617 1754198 : idata = idata + 1
33618 1754198 : data_tmp = ISHFT(pack_tmp, 31)
33619 1754198 : ipack = ipack + 1
33620 1754198 : pack_tmp = packed_data(ipack)
33621 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
33622 1754198 : pack_tmp = ISHFT(pack_tmp, -31)
33623 1754198 : idata = idata + 1
33624 1754198 : data_tmp = ISHFT(pack_tmp, 10)
33625 1754198 : ipack = ipack + 1
33626 1754198 : pack_tmp = packed_data(ipack)
33627 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
33628 1754198 : pack_tmp = ISHFT(pack_tmp, -10)
33629 1754198 : idata = idata + 1
33630 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33631 1754198 : full_data(idata) = data_tmp
33632 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33633 1754198 : idata = idata + 1
33634 1754198 : data_tmp = ISHFT(pack_tmp, 32)
33635 1754198 : ipack = ipack + 1
33636 1754198 : pack_tmp = packed_data(ipack)
33637 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
33638 1754198 : pack_tmp = ISHFT(pack_tmp, -32)
33639 1754198 : idata = idata + 1
33640 1754198 : data_tmp = ISHFT(pack_tmp, 11)
33641 1754198 : ipack = ipack + 1
33642 1754198 : pack_tmp = packed_data(ipack)
33643 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
33644 1754198 : pack_tmp = ISHFT(pack_tmp, -11)
33645 1754198 : idata = idata + 1
33646 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33647 1754198 : full_data(idata) = data_tmp
33648 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33649 1754198 : idata = idata + 1
33650 1754198 : data_tmp = ISHFT(pack_tmp, 33)
33651 1754198 : ipack = ipack + 1
33652 1754198 : pack_tmp = packed_data(ipack)
33653 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
33654 1754198 : pack_tmp = ISHFT(pack_tmp, -33)
33655 1754198 : idata = idata + 1
33656 1754198 : data_tmp = ISHFT(pack_tmp, 12)
33657 1754198 : ipack = ipack + 1
33658 1754198 : pack_tmp = packed_data(ipack)
33659 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
33660 1754198 : pack_tmp = ISHFT(pack_tmp, -12)
33661 1754198 : idata = idata + 1
33662 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33663 1754198 : full_data(idata) = data_tmp
33664 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33665 1754198 : idata = idata + 1
33666 1754198 : data_tmp = ISHFT(pack_tmp, 34)
33667 1754198 : ipack = ipack + 1
33668 1754198 : pack_tmp = packed_data(ipack)
33669 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
33670 1754198 : pack_tmp = ISHFT(pack_tmp, -34)
33671 1754198 : idata = idata + 1
33672 1754198 : data_tmp = ISHFT(pack_tmp, 13)
33673 1754198 : ipack = ipack + 1
33674 1754198 : pack_tmp = packed_data(ipack)
33675 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
33676 1754198 : pack_tmp = ISHFT(pack_tmp, -13)
33677 1754198 : idata = idata + 1
33678 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33679 1754198 : full_data(idata) = data_tmp
33680 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33681 1754198 : idata = idata + 1
33682 1754198 : data_tmp = ISHFT(pack_tmp, 35)
33683 1754198 : ipack = ipack + 1
33684 1754198 : pack_tmp = packed_data(ipack)
33685 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
33686 1754198 : pack_tmp = ISHFT(pack_tmp, -35)
33687 1754198 : idata = idata + 1
33688 1754198 : data_tmp = ISHFT(pack_tmp, 14)
33689 1754198 : ipack = ipack + 1
33690 1754198 : pack_tmp = packed_data(ipack)
33691 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
33692 1754198 : pack_tmp = ISHFT(pack_tmp, -14)
33693 1754198 : idata = idata + 1
33694 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33695 1754198 : full_data(idata) = data_tmp
33696 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33697 1754198 : idata = idata + 1
33698 1754198 : data_tmp = ISHFT(pack_tmp, 36)
33699 1754198 : ipack = ipack + 1
33700 1754198 : pack_tmp = packed_data(ipack)
33701 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
33702 1754198 : pack_tmp = ISHFT(pack_tmp, -36)
33703 1754198 : idata = idata + 1
33704 1754198 : data_tmp = ISHFT(pack_tmp, 15)
33705 1754198 : ipack = ipack + 1
33706 1754198 : pack_tmp = packed_data(ipack)
33707 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
33708 1754198 : pack_tmp = ISHFT(pack_tmp, -15)
33709 1754198 : idata = idata + 1
33710 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33711 1754198 : full_data(idata) = data_tmp
33712 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33713 1754198 : idata = idata + 1
33714 1754198 : data_tmp = ISHFT(pack_tmp, 37)
33715 1754198 : ipack = ipack + 1
33716 1754198 : pack_tmp = packed_data(ipack)
33717 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
33718 1754198 : pack_tmp = ISHFT(pack_tmp, -37)
33719 1754198 : idata = idata + 1
33720 1754198 : data_tmp = ISHFT(pack_tmp, 16)
33721 1754198 : ipack = ipack + 1
33722 1754198 : pack_tmp = packed_data(ipack)
33723 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
33724 1754198 : pack_tmp = ISHFT(pack_tmp, -16)
33725 1754198 : idata = idata + 1
33726 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33727 1754198 : full_data(idata) = data_tmp
33728 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33729 1754198 : idata = idata + 1
33730 1754198 : data_tmp = ISHFT(pack_tmp, 38)
33731 1754198 : ipack = ipack + 1
33732 1754198 : pack_tmp = packed_data(ipack)
33733 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
33734 1754198 : pack_tmp = ISHFT(pack_tmp, -38)
33735 1754198 : idata = idata + 1
33736 1754198 : data_tmp = ISHFT(pack_tmp, 17)
33737 1754198 : ipack = ipack + 1
33738 1754198 : pack_tmp = packed_data(ipack)
33739 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
33740 1754198 : pack_tmp = ISHFT(pack_tmp, -17)
33741 1754198 : idata = idata + 1
33742 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33743 1754198 : full_data(idata) = data_tmp
33744 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33745 1754198 : idata = idata + 1
33746 1754198 : data_tmp = ISHFT(pack_tmp, 39)
33747 1754198 : ipack = ipack + 1
33748 1754198 : pack_tmp = packed_data(ipack)
33749 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
33750 1754198 : pack_tmp = ISHFT(pack_tmp, -39)
33751 1754198 : idata = idata + 1
33752 1754198 : data_tmp = ISHFT(pack_tmp, 18)
33753 1754198 : ipack = ipack + 1
33754 1754198 : pack_tmp = packed_data(ipack)
33755 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
33756 1754198 : pack_tmp = ISHFT(pack_tmp, -18)
33757 1754198 : idata = idata + 1
33758 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33759 1754198 : full_data(idata) = data_tmp
33760 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33761 1754198 : idata = idata + 1
33762 1754198 : data_tmp = ISHFT(pack_tmp, 40)
33763 1754198 : ipack = ipack + 1
33764 1754198 : pack_tmp = packed_data(ipack)
33765 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
33766 1754198 : pack_tmp = ISHFT(pack_tmp, -40)
33767 1754198 : idata = idata + 1
33768 1754198 : data_tmp = ISHFT(pack_tmp, 19)
33769 1754198 : ipack = ipack + 1
33770 1754198 : pack_tmp = packed_data(ipack)
33771 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
33772 1754198 : pack_tmp = ISHFT(pack_tmp, -19)
33773 1754198 : idata = idata + 1
33774 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33775 1754198 : full_data(idata) = data_tmp
33776 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33777 1754198 : idata = idata + 1
33778 1754198 : data_tmp = ISHFT(pack_tmp, 41)
33779 1754198 : ipack = ipack + 1
33780 1754198 : pack_tmp = packed_data(ipack)
33781 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
33782 1754198 : pack_tmp = ISHFT(pack_tmp, -41)
33783 1754198 : idata = idata + 1
33784 1754198 : data_tmp = ISHFT(pack_tmp, 20)
33785 1754198 : ipack = ipack + 1
33786 1754198 : pack_tmp = packed_data(ipack)
33787 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
33788 1754198 : pack_tmp = ISHFT(pack_tmp, -20)
33789 1754198 : idata = idata + 1
33790 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33791 1754198 : full_data(idata) = data_tmp
33792 1754198 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33793 1754198 : idata = idata + 1
33794 1754198 : data_tmp = ISHFT(pack_tmp, 42)
33795 1754198 : ipack = ipack + 1
33796 1754198 : pack_tmp = packed_data(ipack)
33797 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
33798 1754198 : pack_tmp = ISHFT(pack_tmp, -42)
33799 1754198 : idata = idata + 1
33800 1754198 : data_tmp = ISHFT(pack_tmp, 21)
33801 1754198 : ipack = ipack + 1
33802 1754198 : pack_tmp = packed_data(ipack)
33803 1754198 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
33804 1754198 : pack_tmp = ISHFT(pack_tmp, -21)
33805 1754198 : idata = idata + 1
33806 1754198 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
33807 1754198 : full_data(idata) = data_tmp
33808 1756723 : pack_tmp = ISHFT(pack_tmp, -Nbits)
33809 : END DO
33810 119661 : IF (Ndata_rep < Ndata) THEN
33811 18868 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
33812 : END IF
33813 119661 : END SUBROUTINE bits2ints_43
33814 :
33815 : ! **************************************************************************************************
33816 : !> \brief ...
33817 : !> \param Ndata ...
33818 : !> \param packed_data ...
33819 : !> \param full_data ...
33820 : ! **************************************************************************************************
33821 28263 : 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(*)
33825 :
33826 : INTEGER, PARAMETER :: Nbits = 44
33827 :
33828 : INTEGER :: idata, ipack, kdata, Ndata_rep
33829 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
33830 :
33831 28263 : idata = 0
33832 28263 : ipack = 0
33833 28263 : Ndata_rep = (Ndata/64)*64
33834 28263 : DO kdata = 1, Ndata_rep, 64
33835 421608 : pack_tmp = 0
33836 421608 : idata = idata + 1
33837 421608 : data_tmp = full_data(idata)
33838 421608 : data_tmp = ISHFT(data_tmp, 20)
33839 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33840 421608 : pack_tmp = ISHFT(pack_tmp, -20)
33841 421608 : idata = idata + 1
33842 421608 : data_tmp = full_data(idata)
33843 421608 : data_tmp = ISHFT(data_tmp, 20)
33844 421608 : data_tmp = IAND(data_tmp, mask_left(20))
33845 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33846 421608 : ipack = ipack + 1
33847 421608 : packed_data(ipack) = pack_tmp
33848 421608 : data_tmp = full_data(idata)
33849 421608 : pack_tmp = ISHFT(data_tmp, 40)
33850 421608 : pack_tmp = ISHFT(pack_tmp, -40)
33851 421608 : idata = idata + 1
33852 421608 : data_tmp = full_data(idata)
33853 421608 : data_tmp = ISHFT(data_tmp, 20)
33854 421608 : data_tmp = IAND(data_tmp, mask_left(40))
33855 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33856 421608 : ipack = ipack + 1
33857 421608 : packed_data(ipack) = pack_tmp
33858 421608 : data_tmp = full_data(idata)
33859 421608 : pack_tmp = ISHFT(data_tmp, 60)
33860 421608 : pack_tmp = ISHFT(pack_tmp, -44)
33861 421608 : idata = idata + 1
33862 421608 : data_tmp = full_data(idata)
33863 421608 : data_tmp = ISHFT(data_tmp, 20)
33864 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33865 421608 : pack_tmp = ISHFT(pack_tmp, -16)
33866 421608 : idata = idata + 1
33867 421608 : data_tmp = full_data(idata)
33868 421608 : data_tmp = ISHFT(data_tmp, 20)
33869 421608 : data_tmp = IAND(data_tmp, mask_left(16))
33870 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33871 421608 : ipack = ipack + 1
33872 421608 : packed_data(ipack) = pack_tmp
33873 421608 : data_tmp = full_data(idata)
33874 421608 : pack_tmp = ISHFT(data_tmp, 36)
33875 421608 : pack_tmp = ISHFT(pack_tmp, -36)
33876 421608 : idata = idata + 1
33877 421608 : data_tmp = full_data(idata)
33878 421608 : data_tmp = ISHFT(data_tmp, 20)
33879 421608 : data_tmp = IAND(data_tmp, mask_left(36))
33880 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33881 421608 : ipack = ipack + 1
33882 421608 : packed_data(ipack) = pack_tmp
33883 421608 : data_tmp = full_data(idata)
33884 421608 : pack_tmp = ISHFT(data_tmp, 56)
33885 421608 : pack_tmp = ISHFT(pack_tmp, -44)
33886 421608 : idata = idata + 1
33887 421608 : data_tmp = full_data(idata)
33888 421608 : data_tmp = ISHFT(data_tmp, 20)
33889 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33890 421608 : pack_tmp = ISHFT(pack_tmp, -12)
33891 421608 : idata = idata + 1
33892 421608 : data_tmp = full_data(idata)
33893 421608 : data_tmp = ISHFT(data_tmp, 20)
33894 421608 : data_tmp = IAND(data_tmp, mask_left(12))
33895 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33896 421608 : ipack = ipack + 1
33897 421608 : packed_data(ipack) = pack_tmp
33898 421608 : data_tmp = full_data(idata)
33899 421608 : pack_tmp = ISHFT(data_tmp, 32)
33900 421608 : pack_tmp = ISHFT(pack_tmp, -32)
33901 421608 : idata = idata + 1
33902 421608 : data_tmp = full_data(idata)
33903 421608 : data_tmp = ISHFT(data_tmp, 20)
33904 421608 : data_tmp = IAND(data_tmp, mask_left(32))
33905 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33906 421608 : ipack = ipack + 1
33907 421608 : packed_data(ipack) = pack_tmp
33908 421608 : data_tmp = full_data(idata)
33909 421608 : pack_tmp = ISHFT(data_tmp, 52)
33910 421608 : pack_tmp = ISHFT(pack_tmp, -44)
33911 421608 : idata = idata + 1
33912 421608 : data_tmp = full_data(idata)
33913 421608 : data_tmp = ISHFT(data_tmp, 20)
33914 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33915 421608 : pack_tmp = ISHFT(pack_tmp, -8)
33916 421608 : idata = idata + 1
33917 421608 : data_tmp = full_data(idata)
33918 421608 : data_tmp = ISHFT(data_tmp, 20)
33919 421608 : data_tmp = IAND(data_tmp, mask_left(8))
33920 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33921 421608 : ipack = ipack + 1
33922 421608 : packed_data(ipack) = pack_tmp
33923 421608 : data_tmp = full_data(idata)
33924 421608 : pack_tmp = ISHFT(data_tmp, 28)
33925 421608 : pack_tmp = ISHFT(pack_tmp, -28)
33926 421608 : idata = idata + 1
33927 421608 : data_tmp = full_data(idata)
33928 421608 : data_tmp = ISHFT(data_tmp, 20)
33929 421608 : data_tmp = IAND(data_tmp, mask_left(28))
33930 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33931 421608 : ipack = ipack + 1
33932 421608 : packed_data(ipack) = pack_tmp
33933 421608 : data_tmp = full_data(idata)
33934 421608 : pack_tmp = ISHFT(data_tmp, 48)
33935 421608 : pack_tmp = ISHFT(pack_tmp, -44)
33936 421608 : idata = idata + 1
33937 421608 : data_tmp = full_data(idata)
33938 421608 : data_tmp = ISHFT(data_tmp, 20)
33939 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33940 421608 : pack_tmp = ISHFT(pack_tmp, -4)
33941 421608 : idata = idata + 1
33942 421608 : data_tmp = full_data(idata)
33943 421608 : data_tmp = ISHFT(data_tmp, 20)
33944 421608 : data_tmp = IAND(data_tmp, mask_left(4))
33945 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33946 421608 : ipack = ipack + 1
33947 421608 : packed_data(ipack) = pack_tmp
33948 421608 : data_tmp = full_data(idata)
33949 421608 : pack_tmp = ISHFT(data_tmp, 24)
33950 421608 : pack_tmp = ISHFT(pack_tmp, -24)
33951 421608 : idata = idata + 1
33952 421608 : data_tmp = full_data(idata)
33953 421608 : data_tmp = ISHFT(data_tmp, 20)
33954 421608 : data_tmp = IAND(data_tmp, mask_left(24))
33955 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33956 421608 : ipack = ipack + 1
33957 421608 : packed_data(ipack) = pack_tmp
33958 421608 : data_tmp = full_data(idata)
33959 421608 : pack_tmp = ISHFT(data_tmp, 44)
33960 421608 : pack_tmp = ISHFT(pack_tmp, -44)
33961 421608 : idata = idata + 1
33962 421608 : data_tmp = full_data(idata)
33963 421608 : data_tmp = ISHFT(data_tmp, 20)
33964 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33965 421608 : pack_tmp = ISHFT(pack_tmp, 0)
33966 421608 : idata = idata + 1
33967 421608 : data_tmp = full_data(idata)
33968 : data_tmp = ISHFT(data_tmp, 20)
33969 421608 : data_tmp = IAND(data_tmp, mask_left(0))
33970 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33971 421608 : ipack = ipack + 1
33972 421608 : packed_data(ipack) = pack_tmp
33973 421608 : data_tmp = full_data(idata)
33974 421608 : pack_tmp = ISHFT(data_tmp, 20)
33975 421608 : pack_tmp = ISHFT(pack_tmp, -20)
33976 421608 : idata = idata + 1
33977 421608 : data_tmp = full_data(idata)
33978 421608 : data_tmp = ISHFT(data_tmp, 20)
33979 421608 : data_tmp = IAND(data_tmp, mask_left(20))
33980 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33981 421608 : ipack = ipack + 1
33982 421608 : packed_data(ipack) = pack_tmp
33983 421608 : data_tmp = full_data(idata)
33984 421608 : pack_tmp = ISHFT(data_tmp, 40)
33985 421608 : pack_tmp = ISHFT(pack_tmp, -40)
33986 421608 : idata = idata + 1
33987 421608 : data_tmp = full_data(idata)
33988 421608 : data_tmp = ISHFT(data_tmp, 20)
33989 421608 : data_tmp = IAND(data_tmp, mask_left(40))
33990 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
33991 421608 : ipack = ipack + 1
33992 421608 : packed_data(ipack) = pack_tmp
33993 421608 : data_tmp = full_data(idata)
33994 421608 : pack_tmp = ISHFT(data_tmp, 60)
33995 421608 : pack_tmp = ISHFT(pack_tmp, -44)
33996 421608 : idata = idata + 1
33997 421608 : data_tmp = full_data(idata)
33998 421608 : data_tmp = ISHFT(data_tmp, 20)
33999 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34000 421608 : pack_tmp = ISHFT(pack_tmp, -16)
34001 421608 : idata = idata + 1
34002 421608 : data_tmp = full_data(idata)
34003 421608 : data_tmp = ISHFT(data_tmp, 20)
34004 421608 : data_tmp = IAND(data_tmp, mask_left(16))
34005 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34006 421608 : ipack = ipack + 1
34007 421608 : packed_data(ipack) = pack_tmp
34008 421608 : data_tmp = full_data(idata)
34009 421608 : pack_tmp = ISHFT(data_tmp, 36)
34010 421608 : pack_tmp = ISHFT(pack_tmp, -36)
34011 421608 : idata = idata + 1
34012 421608 : data_tmp = full_data(idata)
34013 421608 : data_tmp = ISHFT(data_tmp, 20)
34014 421608 : data_tmp = IAND(data_tmp, mask_left(36))
34015 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34016 421608 : ipack = ipack + 1
34017 421608 : packed_data(ipack) = pack_tmp
34018 421608 : data_tmp = full_data(idata)
34019 421608 : pack_tmp = ISHFT(data_tmp, 56)
34020 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34021 421608 : idata = idata + 1
34022 421608 : data_tmp = full_data(idata)
34023 421608 : data_tmp = ISHFT(data_tmp, 20)
34024 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34025 421608 : pack_tmp = ISHFT(pack_tmp, -12)
34026 421608 : idata = idata + 1
34027 421608 : data_tmp = full_data(idata)
34028 421608 : data_tmp = ISHFT(data_tmp, 20)
34029 421608 : data_tmp = IAND(data_tmp, mask_left(12))
34030 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34031 421608 : ipack = ipack + 1
34032 421608 : packed_data(ipack) = pack_tmp
34033 421608 : data_tmp = full_data(idata)
34034 421608 : pack_tmp = ISHFT(data_tmp, 32)
34035 421608 : pack_tmp = ISHFT(pack_tmp, -32)
34036 421608 : idata = idata + 1
34037 421608 : data_tmp = full_data(idata)
34038 421608 : data_tmp = ISHFT(data_tmp, 20)
34039 421608 : data_tmp = IAND(data_tmp, mask_left(32))
34040 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34041 421608 : ipack = ipack + 1
34042 421608 : packed_data(ipack) = pack_tmp
34043 421608 : data_tmp = full_data(idata)
34044 421608 : pack_tmp = ISHFT(data_tmp, 52)
34045 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34046 421608 : idata = idata + 1
34047 421608 : data_tmp = full_data(idata)
34048 421608 : data_tmp = ISHFT(data_tmp, 20)
34049 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34050 421608 : pack_tmp = ISHFT(pack_tmp, -8)
34051 421608 : idata = idata + 1
34052 421608 : data_tmp = full_data(idata)
34053 421608 : data_tmp = ISHFT(data_tmp, 20)
34054 421608 : data_tmp = IAND(data_tmp, mask_left(8))
34055 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34056 421608 : ipack = ipack + 1
34057 421608 : packed_data(ipack) = pack_tmp
34058 421608 : data_tmp = full_data(idata)
34059 421608 : pack_tmp = ISHFT(data_tmp, 28)
34060 421608 : pack_tmp = ISHFT(pack_tmp, -28)
34061 421608 : idata = idata + 1
34062 421608 : data_tmp = full_data(idata)
34063 421608 : data_tmp = ISHFT(data_tmp, 20)
34064 421608 : data_tmp = IAND(data_tmp, mask_left(28))
34065 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34066 421608 : ipack = ipack + 1
34067 421608 : packed_data(ipack) = pack_tmp
34068 421608 : data_tmp = full_data(idata)
34069 421608 : pack_tmp = ISHFT(data_tmp, 48)
34070 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34071 421608 : idata = idata + 1
34072 421608 : data_tmp = full_data(idata)
34073 421608 : data_tmp = ISHFT(data_tmp, 20)
34074 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34075 421608 : pack_tmp = ISHFT(pack_tmp, -4)
34076 421608 : idata = idata + 1
34077 421608 : data_tmp = full_data(idata)
34078 421608 : data_tmp = ISHFT(data_tmp, 20)
34079 421608 : data_tmp = IAND(data_tmp, mask_left(4))
34080 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34081 421608 : ipack = ipack + 1
34082 421608 : packed_data(ipack) = pack_tmp
34083 421608 : data_tmp = full_data(idata)
34084 421608 : pack_tmp = ISHFT(data_tmp, 24)
34085 421608 : pack_tmp = ISHFT(pack_tmp, -24)
34086 421608 : idata = idata + 1
34087 421608 : data_tmp = full_data(idata)
34088 421608 : data_tmp = ISHFT(data_tmp, 20)
34089 421608 : data_tmp = IAND(data_tmp, mask_left(24))
34090 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34091 421608 : ipack = ipack + 1
34092 421608 : packed_data(ipack) = pack_tmp
34093 421608 : data_tmp = full_data(idata)
34094 421608 : pack_tmp = ISHFT(data_tmp, 44)
34095 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34096 421608 : idata = idata + 1
34097 421608 : data_tmp = full_data(idata)
34098 421608 : data_tmp = ISHFT(data_tmp, 20)
34099 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34100 421608 : pack_tmp = ISHFT(pack_tmp, 0)
34101 421608 : idata = idata + 1
34102 421608 : data_tmp = full_data(idata)
34103 : data_tmp = ISHFT(data_tmp, 20)
34104 421608 : data_tmp = IAND(data_tmp, mask_left(0))
34105 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34106 421608 : ipack = ipack + 1
34107 421608 : packed_data(ipack) = pack_tmp
34108 421608 : data_tmp = full_data(idata)
34109 421608 : pack_tmp = ISHFT(data_tmp, 20)
34110 421608 : pack_tmp = ISHFT(pack_tmp, -20)
34111 421608 : idata = idata + 1
34112 421608 : data_tmp = full_data(idata)
34113 421608 : data_tmp = ISHFT(data_tmp, 20)
34114 421608 : data_tmp = IAND(data_tmp, mask_left(20))
34115 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34116 421608 : ipack = ipack + 1
34117 421608 : packed_data(ipack) = pack_tmp
34118 421608 : data_tmp = full_data(idata)
34119 421608 : pack_tmp = ISHFT(data_tmp, 40)
34120 421608 : pack_tmp = ISHFT(pack_tmp, -40)
34121 421608 : idata = idata + 1
34122 421608 : data_tmp = full_data(idata)
34123 421608 : data_tmp = ISHFT(data_tmp, 20)
34124 421608 : data_tmp = IAND(data_tmp, mask_left(40))
34125 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34126 421608 : ipack = ipack + 1
34127 421608 : packed_data(ipack) = pack_tmp
34128 421608 : data_tmp = full_data(idata)
34129 421608 : pack_tmp = ISHFT(data_tmp, 60)
34130 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34131 421608 : idata = idata + 1
34132 421608 : data_tmp = full_data(idata)
34133 421608 : data_tmp = ISHFT(data_tmp, 20)
34134 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34135 421608 : pack_tmp = ISHFT(pack_tmp, -16)
34136 421608 : idata = idata + 1
34137 421608 : data_tmp = full_data(idata)
34138 421608 : data_tmp = ISHFT(data_tmp, 20)
34139 421608 : data_tmp = IAND(data_tmp, mask_left(16))
34140 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34141 421608 : ipack = ipack + 1
34142 421608 : packed_data(ipack) = pack_tmp
34143 421608 : data_tmp = full_data(idata)
34144 421608 : pack_tmp = ISHFT(data_tmp, 36)
34145 421608 : pack_tmp = ISHFT(pack_tmp, -36)
34146 421608 : idata = idata + 1
34147 421608 : data_tmp = full_data(idata)
34148 421608 : data_tmp = ISHFT(data_tmp, 20)
34149 421608 : data_tmp = IAND(data_tmp, mask_left(36))
34150 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34151 421608 : ipack = ipack + 1
34152 421608 : packed_data(ipack) = pack_tmp
34153 421608 : data_tmp = full_data(idata)
34154 421608 : pack_tmp = ISHFT(data_tmp, 56)
34155 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34156 421608 : idata = idata + 1
34157 421608 : data_tmp = full_data(idata)
34158 421608 : data_tmp = ISHFT(data_tmp, 20)
34159 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34160 421608 : pack_tmp = ISHFT(pack_tmp, -12)
34161 421608 : idata = idata + 1
34162 421608 : data_tmp = full_data(idata)
34163 421608 : data_tmp = ISHFT(data_tmp, 20)
34164 421608 : data_tmp = IAND(data_tmp, mask_left(12))
34165 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34166 421608 : ipack = ipack + 1
34167 421608 : packed_data(ipack) = pack_tmp
34168 421608 : data_tmp = full_data(idata)
34169 421608 : pack_tmp = ISHFT(data_tmp, 32)
34170 421608 : pack_tmp = ISHFT(pack_tmp, -32)
34171 421608 : idata = idata + 1
34172 421608 : data_tmp = full_data(idata)
34173 421608 : data_tmp = ISHFT(data_tmp, 20)
34174 421608 : data_tmp = IAND(data_tmp, mask_left(32))
34175 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34176 421608 : ipack = ipack + 1
34177 421608 : packed_data(ipack) = pack_tmp
34178 421608 : data_tmp = full_data(idata)
34179 421608 : pack_tmp = ISHFT(data_tmp, 52)
34180 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34181 421608 : idata = idata + 1
34182 421608 : data_tmp = full_data(idata)
34183 421608 : data_tmp = ISHFT(data_tmp, 20)
34184 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34185 421608 : pack_tmp = ISHFT(pack_tmp, -8)
34186 421608 : idata = idata + 1
34187 421608 : data_tmp = full_data(idata)
34188 421608 : data_tmp = ISHFT(data_tmp, 20)
34189 421608 : data_tmp = IAND(data_tmp, mask_left(8))
34190 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34191 421608 : ipack = ipack + 1
34192 421608 : packed_data(ipack) = pack_tmp
34193 421608 : data_tmp = full_data(idata)
34194 421608 : pack_tmp = ISHFT(data_tmp, 28)
34195 421608 : pack_tmp = ISHFT(pack_tmp, -28)
34196 421608 : idata = idata + 1
34197 421608 : data_tmp = full_data(idata)
34198 421608 : data_tmp = ISHFT(data_tmp, 20)
34199 421608 : data_tmp = IAND(data_tmp, mask_left(28))
34200 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34201 421608 : ipack = ipack + 1
34202 421608 : packed_data(ipack) = pack_tmp
34203 421608 : data_tmp = full_data(idata)
34204 421608 : pack_tmp = ISHFT(data_tmp, 48)
34205 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34206 421608 : idata = idata + 1
34207 421608 : data_tmp = full_data(idata)
34208 421608 : data_tmp = ISHFT(data_tmp, 20)
34209 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34210 421608 : pack_tmp = ISHFT(pack_tmp, -4)
34211 421608 : idata = idata + 1
34212 421608 : data_tmp = full_data(idata)
34213 421608 : data_tmp = ISHFT(data_tmp, 20)
34214 421608 : data_tmp = IAND(data_tmp, mask_left(4))
34215 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34216 421608 : ipack = ipack + 1
34217 421608 : packed_data(ipack) = pack_tmp
34218 421608 : data_tmp = full_data(idata)
34219 421608 : pack_tmp = ISHFT(data_tmp, 24)
34220 421608 : pack_tmp = ISHFT(pack_tmp, -24)
34221 421608 : idata = idata + 1
34222 421608 : data_tmp = full_data(idata)
34223 421608 : data_tmp = ISHFT(data_tmp, 20)
34224 421608 : data_tmp = IAND(data_tmp, mask_left(24))
34225 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34226 421608 : ipack = ipack + 1
34227 421608 : packed_data(ipack) = pack_tmp
34228 421608 : data_tmp = full_data(idata)
34229 421608 : pack_tmp = ISHFT(data_tmp, 44)
34230 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34231 421608 : idata = idata + 1
34232 421608 : data_tmp = full_data(idata)
34233 421608 : data_tmp = ISHFT(data_tmp, 20)
34234 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34235 421608 : pack_tmp = ISHFT(pack_tmp, 0)
34236 421608 : idata = idata + 1
34237 421608 : data_tmp = full_data(idata)
34238 : data_tmp = ISHFT(data_tmp, 20)
34239 421608 : data_tmp = IAND(data_tmp, mask_left(0))
34240 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34241 421608 : ipack = ipack + 1
34242 421608 : packed_data(ipack) = pack_tmp
34243 421608 : data_tmp = full_data(idata)
34244 421608 : pack_tmp = ISHFT(data_tmp, 20)
34245 421608 : pack_tmp = ISHFT(pack_tmp, -20)
34246 421608 : idata = idata + 1
34247 421608 : data_tmp = full_data(idata)
34248 421608 : data_tmp = ISHFT(data_tmp, 20)
34249 421608 : data_tmp = IAND(data_tmp, mask_left(20))
34250 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34251 421608 : ipack = ipack + 1
34252 421608 : packed_data(ipack) = pack_tmp
34253 421608 : data_tmp = full_data(idata)
34254 421608 : pack_tmp = ISHFT(data_tmp, 40)
34255 421608 : pack_tmp = ISHFT(pack_tmp, -40)
34256 421608 : idata = idata + 1
34257 421608 : data_tmp = full_data(idata)
34258 421608 : data_tmp = ISHFT(data_tmp, 20)
34259 421608 : data_tmp = IAND(data_tmp, mask_left(40))
34260 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34261 421608 : ipack = ipack + 1
34262 421608 : packed_data(ipack) = pack_tmp
34263 421608 : data_tmp = full_data(idata)
34264 421608 : pack_tmp = ISHFT(data_tmp, 60)
34265 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34266 421608 : idata = idata + 1
34267 421608 : data_tmp = full_data(idata)
34268 421608 : data_tmp = ISHFT(data_tmp, 20)
34269 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34270 421608 : pack_tmp = ISHFT(pack_tmp, -16)
34271 421608 : idata = idata + 1
34272 421608 : data_tmp = full_data(idata)
34273 421608 : data_tmp = ISHFT(data_tmp, 20)
34274 421608 : data_tmp = IAND(data_tmp, mask_left(16))
34275 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34276 421608 : ipack = ipack + 1
34277 421608 : packed_data(ipack) = pack_tmp
34278 421608 : data_tmp = full_data(idata)
34279 421608 : pack_tmp = ISHFT(data_tmp, 36)
34280 421608 : pack_tmp = ISHFT(pack_tmp, -36)
34281 421608 : idata = idata + 1
34282 421608 : data_tmp = full_data(idata)
34283 421608 : data_tmp = ISHFT(data_tmp, 20)
34284 421608 : data_tmp = IAND(data_tmp, mask_left(36))
34285 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34286 421608 : ipack = ipack + 1
34287 421608 : packed_data(ipack) = pack_tmp
34288 421608 : data_tmp = full_data(idata)
34289 421608 : pack_tmp = ISHFT(data_tmp, 56)
34290 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34291 421608 : idata = idata + 1
34292 421608 : data_tmp = full_data(idata)
34293 421608 : data_tmp = ISHFT(data_tmp, 20)
34294 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34295 421608 : pack_tmp = ISHFT(pack_tmp, -12)
34296 421608 : idata = idata + 1
34297 421608 : data_tmp = full_data(idata)
34298 421608 : data_tmp = ISHFT(data_tmp, 20)
34299 421608 : data_tmp = IAND(data_tmp, mask_left(12))
34300 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34301 421608 : ipack = ipack + 1
34302 421608 : packed_data(ipack) = pack_tmp
34303 421608 : data_tmp = full_data(idata)
34304 421608 : pack_tmp = ISHFT(data_tmp, 32)
34305 421608 : pack_tmp = ISHFT(pack_tmp, -32)
34306 421608 : idata = idata + 1
34307 421608 : data_tmp = full_data(idata)
34308 421608 : data_tmp = ISHFT(data_tmp, 20)
34309 421608 : data_tmp = IAND(data_tmp, mask_left(32))
34310 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34311 421608 : ipack = ipack + 1
34312 421608 : packed_data(ipack) = pack_tmp
34313 421608 : data_tmp = full_data(idata)
34314 421608 : pack_tmp = ISHFT(data_tmp, 52)
34315 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34316 421608 : idata = idata + 1
34317 421608 : data_tmp = full_data(idata)
34318 421608 : data_tmp = ISHFT(data_tmp, 20)
34319 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34320 421608 : pack_tmp = ISHFT(pack_tmp, -8)
34321 421608 : idata = idata + 1
34322 421608 : data_tmp = full_data(idata)
34323 421608 : data_tmp = ISHFT(data_tmp, 20)
34324 421608 : data_tmp = IAND(data_tmp, mask_left(8))
34325 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34326 421608 : ipack = ipack + 1
34327 421608 : packed_data(ipack) = pack_tmp
34328 421608 : data_tmp = full_data(idata)
34329 421608 : pack_tmp = ISHFT(data_tmp, 28)
34330 421608 : pack_tmp = ISHFT(pack_tmp, -28)
34331 421608 : idata = idata + 1
34332 421608 : data_tmp = full_data(idata)
34333 421608 : data_tmp = ISHFT(data_tmp, 20)
34334 421608 : data_tmp = IAND(data_tmp, mask_left(28))
34335 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34336 421608 : ipack = ipack + 1
34337 421608 : packed_data(ipack) = pack_tmp
34338 421608 : data_tmp = full_data(idata)
34339 421608 : pack_tmp = ISHFT(data_tmp, 48)
34340 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34341 421608 : idata = idata + 1
34342 421608 : data_tmp = full_data(idata)
34343 421608 : data_tmp = ISHFT(data_tmp, 20)
34344 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34345 421608 : pack_tmp = ISHFT(pack_tmp, -4)
34346 421608 : idata = idata + 1
34347 421608 : data_tmp = full_data(idata)
34348 421608 : data_tmp = ISHFT(data_tmp, 20)
34349 421608 : data_tmp = IAND(data_tmp, mask_left(4))
34350 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34351 421608 : ipack = ipack + 1
34352 421608 : packed_data(ipack) = pack_tmp
34353 421608 : data_tmp = full_data(idata)
34354 421608 : pack_tmp = ISHFT(data_tmp, 24)
34355 421608 : pack_tmp = ISHFT(pack_tmp, -24)
34356 421608 : idata = idata + 1
34357 421608 : data_tmp = full_data(idata)
34358 421608 : data_tmp = ISHFT(data_tmp, 20)
34359 421608 : data_tmp = IAND(data_tmp, mask_left(24))
34360 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34361 421608 : ipack = ipack + 1
34362 421608 : packed_data(ipack) = pack_tmp
34363 421608 : data_tmp = full_data(idata)
34364 421608 : pack_tmp = ISHFT(data_tmp, 44)
34365 421608 : pack_tmp = ISHFT(pack_tmp, -44)
34366 421608 : idata = idata + 1
34367 421608 : data_tmp = full_data(idata)
34368 421608 : data_tmp = ISHFT(data_tmp, 20)
34369 421608 : pack_tmp = IOR(pack_tmp, data_tmp)
34370 : pack_tmp = ISHFT(pack_tmp, 0)
34371 421608 : pack_tmp = ISHFT(pack_tmp, 0)
34372 421608 : ipack = ipack + 1
34373 421621 : packed_data(ipack) = pack_tmp
34374 : END DO
34375 28263 : IF (Ndata_rep < Ndata) THEN
34376 3600 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
34377 : END IF
34378 28263 : END SUBROUTINE ints2bits_44
34379 :
34380 : ! **************************************************************************************************
34381 : !> \brief ...
34382 : !> \param Ndata ...
34383 : !> \param packed_data ...
34384 : !> \param full_data ...
34385 : ! **************************************************************************************************
34386 126227 : 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(*)
34390 :
34391 : INTEGER, PARAMETER :: Nbits = 44
34392 :
34393 : INTEGER :: idata, ipack, kdata, Ndata_rep
34394 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
34395 :
34396 126227 : ipack = 0
34397 126227 : idata = 0
34398 126227 : pack_tmp = 0
34399 126227 : Ndata_rep = (Ndata/64)*64
34400 126227 : DO kdata = 1, Ndata_rep, 64
34401 1814323 : idata = idata + 1
34402 1814323 : data_tmp = ISHFT(pack_tmp, 44)
34403 1814323 : ipack = ipack + 1
34404 1814323 : pack_tmp = packed_data(ipack)
34405 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34406 1814323 : pack_tmp = ISHFT(pack_tmp, -44)
34407 1814323 : idata = idata + 1
34408 1814323 : data_tmp = ISHFT(pack_tmp, 24)
34409 1814323 : ipack = ipack + 1
34410 1814323 : pack_tmp = packed_data(ipack)
34411 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34412 1814323 : pack_tmp = ISHFT(pack_tmp, -24)
34413 1814323 : idata = idata + 1
34414 1814323 : data_tmp = ISHFT(pack_tmp, 4)
34415 1814323 : ipack = ipack + 1
34416 1814323 : pack_tmp = packed_data(ipack)
34417 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34418 1814323 : pack_tmp = ISHFT(pack_tmp, -4)
34419 1814323 : idata = idata + 1
34420 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34421 1814323 : full_data(idata) = data_tmp
34422 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34423 1814323 : idata = idata + 1
34424 1814323 : data_tmp = ISHFT(pack_tmp, 28)
34425 1814323 : ipack = ipack + 1
34426 1814323 : pack_tmp = packed_data(ipack)
34427 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34428 1814323 : pack_tmp = ISHFT(pack_tmp, -28)
34429 1814323 : idata = idata + 1
34430 1814323 : data_tmp = ISHFT(pack_tmp, 8)
34431 1814323 : ipack = ipack + 1
34432 1814323 : pack_tmp = packed_data(ipack)
34433 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34434 1814323 : pack_tmp = ISHFT(pack_tmp, -8)
34435 1814323 : idata = idata + 1
34436 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34437 1814323 : full_data(idata) = data_tmp
34438 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34439 1814323 : idata = idata + 1
34440 1814323 : data_tmp = ISHFT(pack_tmp, 32)
34441 1814323 : ipack = ipack + 1
34442 1814323 : pack_tmp = packed_data(ipack)
34443 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34444 1814323 : pack_tmp = ISHFT(pack_tmp, -32)
34445 1814323 : idata = idata + 1
34446 1814323 : data_tmp = ISHFT(pack_tmp, 12)
34447 1814323 : ipack = ipack + 1
34448 1814323 : pack_tmp = packed_data(ipack)
34449 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34450 1814323 : pack_tmp = ISHFT(pack_tmp, -12)
34451 1814323 : idata = idata + 1
34452 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34453 1814323 : full_data(idata) = data_tmp
34454 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34455 1814323 : idata = idata + 1
34456 1814323 : data_tmp = ISHFT(pack_tmp, 36)
34457 1814323 : ipack = ipack + 1
34458 1814323 : pack_tmp = packed_data(ipack)
34459 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34460 1814323 : pack_tmp = ISHFT(pack_tmp, -36)
34461 1814323 : idata = idata + 1
34462 1814323 : data_tmp = ISHFT(pack_tmp, 16)
34463 1814323 : ipack = ipack + 1
34464 1814323 : pack_tmp = packed_data(ipack)
34465 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34466 1814323 : pack_tmp = ISHFT(pack_tmp, -16)
34467 1814323 : idata = idata + 1
34468 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34469 1814323 : full_data(idata) = data_tmp
34470 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34471 1814323 : idata = idata + 1
34472 1814323 : data_tmp = ISHFT(pack_tmp, 40)
34473 1814323 : ipack = ipack + 1
34474 1814323 : pack_tmp = packed_data(ipack)
34475 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34476 1814323 : pack_tmp = ISHFT(pack_tmp, -40)
34477 1814323 : idata = idata + 1
34478 1814323 : data_tmp = ISHFT(pack_tmp, 20)
34479 1814323 : ipack = ipack + 1
34480 1814323 : pack_tmp = packed_data(ipack)
34481 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34482 1814323 : pack_tmp = ISHFT(pack_tmp, -20)
34483 1814323 : idata = idata + 1
34484 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34485 1814323 : full_data(idata) = data_tmp
34486 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34487 1814323 : idata = idata + 1
34488 1814323 : data_tmp = ISHFT(pack_tmp, 44)
34489 1814323 : ipack = ipack + 1
34490 1814323 : pack_tmp = packed_data(ipack)
34491 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34492 1814323 : pack_tmp = ISHFT(pack_tmp, -44)
34493 1814323 : idata = idata + 1
34494 1814323 : data_tmp = ISHFT(pack_tmp, 24)
34495 1814323 : ipack = ipack + 1
34496 1814323 : pack_tmp = packed_data(ipack)
34497 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34498 1814323 : pack_tmp = ISHFT(pack_tmp, -24)
34499 1814323 : idata = idata + 1
34500 1814323 : data_tmp = ISHFT(pack_tmp, 4)
34501 1814323 : ipack = ipack + 1
34502 1814323 : pack_tmp = packed_data(ipack)
34503 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34504 1814323 : pack_tmp = ISHFT(pack_tmp, -4)
34505 1814323 : idata = idata + 1
34506 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34507 1814323 : full_data(idata) = data_tmp
34508 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34509 1814323 : idata = idata + 1
34510 1814323 : data_tmp = ISHFT(pack_tmp, 28)
34511 1814323 : ipack = ipack + 1
34512 1814323 : pack_tmp = packed_data(ipack)
34513 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34514 1814323 : pack_tmp = ISHFT(pack_tmp, -28)
34515 1814323 : idata = idata + 1
34516 1814323 : data_tmp = ISHFT(pack_tmp, 8)
34517 1814323 : ipack = ipack + 1
34518 1814323 : pack_tmp = packed_data(ipack)
34519 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34520 1814323 : pack_tmp = ISHFT(pack_tmp, -8)
34521 1814323 : idata = idata + 1
34522 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34523 1814323 : full_data(idata) = data_tmp
34524 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34525 1814323 : idata = idata + 1
34526 1814323 : data_tmp = ISHFT(pack_tmp, 32)
34527 1814323 : ipack = ipack + 1
34528 1814323 : pack_tmp = packed_data(ipack)
34529 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34530 1814323 : pack_tmp = ISHFT(pack_tmp, -32)
34531 1814323 : idata = idata + 1
34532 1814323 : data_tmp = ISHFT(pack_tmp, 12)
34533 1814323 : ipack = ipack + 1
34534 1814323 : pack_tmp = packed_data(ipack)
34535 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34536 1814323 : pack_tmp = ISHFT(pack_tmp, -12)
34537 1814323 : idata = idata + 1
34538 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34539 1814323 : full_data(idata) = data_tmp
34540 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34541 1814323 : idata = idata + 1
34542 1814323 : data_tmp = ISHFT(pack_tmp, 36)
34543 1814323 : ipack = ipack + 1
34544 1814323 : pack_tmp = packed_data(ipack)
34545 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34546 1814323 : pack_tmp = ISHFT(pack_tmp, -36)
34547 1814323 : idata = idata + 1
34548 1814323 : data_tmp = ISHFT(pack_tmp, 16)
34549 1814323 : ipack = ipack + 1
34550 1814323 : pack_tmp = packed_data(ipack)
34551 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34552 1814323 : pack_tmp = ISHFT(pack_tmp, -16)
34553 1814323 : idata = idata + 1
34554 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34555 1814323 : full_data(idata) = data_tmp
34556 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34557 1814323 : idata = idata + 1
34558 1814323 : data_tmp = ISHFT(pack_tmp, 40)
34559 1814323 : ipack = ipack + 1
34560 1814323 : pack_tmp = packed_data(ipack)
34561 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34562 1814323 : pack_tmp = ISHFT(pack_tmp, -40)
34563 1814323 : idata = idata + 1
34564 1814323 : data_tmp = ISHFT(pack_tmp, 20)
34565 1814323 : ipack = ipack + 1
34566 1814323 : pack_tmp = packed_data(ipack)
34567 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34568 1814323 : pack_tmp = ISHFT(pack_tmp, -20)
34569 1814323 : idata = idata + 1
34570 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34571 1814323 : full_data(idata) = data_tmp
34572 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34573 1814323 : idata = idata + 1
34574 1814323 : data_tmp = ISHFT(pack_tmp, 44)
34575 1814323 : ipack = ipack + 1
34576 1814323 : pack_tmp = packed_data(ipack)
34577 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34578 1814323 : pack_tmp = ISHFT(pack_tmp, -44)
34579 1814323 : idata = idata + 1
34580 1814323 : data_tmp = ISHFT(pack_tmp, 24)
34581 1814323 : ipack = ipack + 1
34582 1814323 : pack_tmp = packed_data(ipack)
34583 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34584 1814323 : pack_tmp = ISHFT(pack_tmp, -24)
34585 1814323 : idata = idata + 1
34586 1814323 : data_tmp = ISHFT(pack_tmp, 4)
34587 1814323 : ipack = ipack + 1
34588 1814323 : pack_tmp = packed_data(ipack)
34589 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34590 1814323 : pack_tmp = ISHFT(pack_tmp, -4)
34591 1814323 : idata = idata + 1
34592 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34593 1814323 : full_data(idata) = data_tmp
34594 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34595 1814323 : idata = idata + 1
34596 1814323 : data_tmp = ISHFT(pack_tmp, 28)
34597 1814323 : ipack = ipack + 1
34598 1814323 : pack_tmp = packed_data(ipack)
34599 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34600 1814323 : pack_tmp = ISHFT(pack_tmp, -28)
34601 1814323 : idata = idata + 1
34602 1814323 : data_tmp = ISHFT(pack_tmp, 8)
34603 1814323 : ipack = ipack + 1
34604 1814323 : pack_tmp = packed_data(ipack)
34605 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34606 1814323 : pack_tmp = ISHFT(pack_tmp, -8)
34607 1814323 : idata = idata + 1
34608 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34609 1814323 : full_data(idata) = data_tmp
34610 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34611 1814323 : idata = idata + 1
34612 1814323 : data_tmp = ISHFT(pack_tmp, 32)
34613 1814323 : ipack = ipack + 1
34614 1814323 : pack_tmp = packed_data(ipack)
34615 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34616 1814323 : pack_tmp = ISHFT(pack_tmp, -32)
34617 1814323 : idata = idata + 1
34618 1814323 : data_tmp = ISHFT(pack_tmp, 12)
34619 1814323 : ipack = ipack + 1
34620 1814323 : pack_tmp = packed_data(ipack)
34621 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34622 1814323 : pack_tmp = ISHFT(pack_tmp, -12)
34623 1814323 : idata = idata + 1
34624 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34625 1814323 : full_data(idata) = data_tmp
34626 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34627 1814323 : idata = idata + 1
34628 1814323 : data_tmp = ISHFT(pack_tmp, 36)
34629 1814323 : ipack = ipack + 1
34630 1814323 : pack_tmp = packed_data(ipack)
34631 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34632 1814323 : pack_tmp = ISHFT(pack_tmp, -36)
34633 1814323 : idata = idata + 1
34634 1814323 : data_tmp = ISHFT(pack_tmp, 16)
34635 1814323 : ipack = ipack + 1
34636 1814323 : pack_tmp = packed_data(ipack)
34637 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34638 1814323 : pack_tmp = ISHFT(pack_tmp, -16)
34639 1814323 : idata = idata + 1
34640 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34641 1814323 : full_data(idata) = data_tmp
34642 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34643 1814323 : idata = idata + 1
34644 1814323 : data_tmp = ISHFT(pack_tmp, 40)
34645 1814323 : ipack = ipack + 1
34646 1814323 : pack_tmp = packed_data(ipack)
34647 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34648 1814323 : pack_tmp = ISHFT(pack_tmp, -40)
34649 1814323 : idata = idata + 1
34650 1814323 : data_tmp = ISHFT(pack_tmp, 20)
34651 1814323 : ipack = ipack + 1
34652 1814323 : pack_tmp = packed_data(ipack)
34653 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34654 1814323 : pack_tmp = ISHFT(pack_tmp, -20)
34655 1814323 : idata = idata + 1
34656 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34657 1814323 : full_data(idata) = data_tmp
34658 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34659 1814323 : idata = idata + 1
34660 1814323 : data_tmp = ISHFT(pack_tmp, 44)
34661 1814323 : ipack = ipack + 1
34662 1814323 : pack_tmp = packed_data(ipack)
34663 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
34664 1814323 : pack_tmp = ISHFT(pack_tmp, -44)
34665 1814323 : idata = idata + 1
34666 1814323 : data_tmp = ISHFT(pack_tmp, 24)
34667 1814323 : ipack = ipack + 1
34668 1814323 : pack_tmp = packed_data(ipack)
34669 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
34670 1814323 : pack_tmp = ISHFT(pack_tmp, -24)
34671 1814323 : idata = idata + 1
34672 1814323 : data_tmp = ISHFT(pack_tmp, 4)
34673 1814323 : ipack = ipack + 1
34674 1814323 : pack_tmp = packed_data(ipack)
34675 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
34676 1814323 : pack_tmp = ISHFT(pack_tmp, -4)
34677 1814323 : idata = idata + 1
34678 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34679 1814323 : full_data(idata) = data_tmp
34680 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34681 1814323 : idata = idata + 1
34682 1814323 : data_tmp = ISHFT(pack_tmp, 28)
34683 1814323 : ipack = ipack + 1
34684 1814323 : pack_tmp = packed_data(ipack)
34685 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
34686 1814323 : pack_tmp = ISHFT(pack_tmp, -28)
34687 1814323 : idata = idata + 1
34688 1814323 : data_tmp = ISHFT(pack_tmp, 8)
34689 1814323 : ipack = ipack + 1
34690 1814323 : pack_tmp = packed_data(ipack)
34691 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
34692 1814323 : pack_tmp = ISHFT(pack_tmp, -8)
34693 1814323 : idata = idata + 1
34694 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34695 1814323 : full_data(idata) = data_tmp
34696 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34697 1814323 : idata = idata + 1
34698 1814323 : data_tmp = ISHFT(pack_tmp, 32)
34699 1814323 : ipack = ipack + 1
34700 1814323 : pack_tmp = packed_data(ipack)
34701 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
34702 1814323 : pack_tmp = ISHFT(pack_tmp, -32)
34703 1814323 : idata = idata + 1
34704 1814323 : data_tmp = ISHFT(pack_tmp, 12)
34705 1814323 : ipack = ipack + 1
34706 1814323 : pack_tmp = packed_data(ipack)
34707 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
34708 1814323 : pack_tmp = ISHFT(pack_tmp, -12)
34709 1814323 : idata = idata + 1
34710 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34711 1814323 : full_data(idata) = data_tmp
34712 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34713 1814323 : idata = idata + 1
34714 1814323 : data_tmp = ISHFT(pack_tmp, 36)
34715 1814323 : ipack = ipack + 1
34716 1814323 : pack_tmp = packed_data(ipack)
34717 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
34718 1814323 : pack_tmp = ISHFT(pack_tmp, -36)
34719 1814323 : idata = idata + 1
34720 1814323 : data_tmp = ISHFT(pack_tmp, 16)
34721 1814323 : ipack = ipack + 1
34722 1814323 : pack_tmp = packed_data(ipack)
34723 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
34724 1814323 : pack_tmp = ISHFT(pack_tmp, -16)
34725 1814323 : idata = idata + 1
34726 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34727 1814323 : full_data(idata) = data_tmp
34728 1814323 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34729 1814323 : idata = idata + 1
34730 1814323 : data_tmp = ISHFT(pack_tmp, 40)
34731 1814323 : ipack = ipack + 1
34732 1814323 : pack_tmp = packed_data(ipack)
34733 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
34734 1814323 : pack_tmp = ISHFT(pack_tmp, -40)
34735 1814323 : idata = idata + 1
34736 1814323 : data_tmp = ISHFT(pack_tmp, 20)
34737 1814323 : ipack = ipack + 1
34738 1814323 : pack_tmp = packed_data(ipack)
34739 1814323 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
34740 1814323 : pack_tmp = ISHFT(pack_tmp, -20)
34741 1814323 : idata = idata + 1
34742 1814323 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
34743 1814323 : full_data(idata) = data_tmp
34744 1814575 : pack_tmp = ISHFT(pack_tmp, -Nbits)
34745 : END DO
34746 126227 : IF (Ndata_rep < Ndata) THEN
34747 24154 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
34748 : END IF
34749 126227 : END SUBROUTINE bits2ints_44
34750 :
34751 : ! **************************************************************************************************
34752 : !> \brief ...
34753 : !> \param Ndata ...
34754 : !> \param packed_data ...
34755 : !> \param full_data ...
34756 : ! **************************************************************************************************
34757 29902 : 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(*)
34761 :
34762 : INTEGER, PARAMETER :: Nbits = 45
34763 :
34764 : INTEGER :: idata, ipack, kdata, Ndata_rep
34765 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
34766 :
34767 29902 : idata = 0
34768 29902 : ipack = 0
34769 29902 : Ndata_rep = (Ndata/64)*64
34770 29902 : DO kdata = 1, Ndata_rep, 64
34771 436102 : pack_tmp = 0
34772 436102 : idata = idata + 1
34773 436102 : data_tmp = full_data(idata)
34774 436102 : data_tmp = ISHFT(data_tmp, 19)
34775 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34776 436102 : pack_tmp = ISHFT(pack_tmp, -19)
34777 436102 : idata = idata + 1
34778 436102 : data_tmp = full_data(idata)
34779 436102 : data_tmp = ISHFT(data_tmp, 19)
34780 436102 : data_tmp = IAND(data_tmp, mask_left(19))
34781 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34782 436102 : ipack = ipack + 1
34783 436102 : packed_data(ipack) = pack_tmp
34784 436102 : data_tmp = full_data(idata)
34785 436102 : pack_tmp = ISHFT(data_tmp, 38)
34786 436102 : pack_tmp = ISHFT(pack_tmp, -38)
34787 436102 : idata = idata + 1
34788 436102 : data_tmp = full_data(idata)
34789 436102 : data_tmp = ISHFT(data_tmp, 19)
34790 436102 : data_tmp = IAND(data_tmp, mask_left(38))
34791 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34792 436102 : ipack = ipack + 1
34793 436102 : packed_data(ipack) = pack_tmp
34794 436102 : data_tmp = full_data(idata)
34795 436102 : pack_tmp = ISHFT(data_tmp, 57)
34796 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34797 436102 : idata = idata + 1
34798 436102 : data_tmp = full_data(idata)
34799 436102 : data_tmp = ISHFT(data_tmp, 19)
34800 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34801 436102 : pack_tmp = ISHFT(pack_tmp, -12)
34802 436102 : idata = idata + 1
34803 436102 : data_tmp = full_data(idata)
34804 436102 : data_tmp = ISHFT(data_tmp, 19)
34805 436102 : data_tmp = IAND(data_tmp, mask_left(12))
34806 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34807 436102 : ipack = ipack + 1
34808 436102 : packed_data(ipack) = pack_tmp
34809 436102 : data_tmp = full_data(idata)
34810 436102 : pack_tmp = ISHFT(data_tmp, 31)
34811 436102 : pack_tmp = ISHFT(pack_tmp, -31)
34812 436102 : idata = idata + 1
34813 436102 : data_tmp = full_data(idata)
34814 436102 : data_tmp = ISHFT(data_tmp, 19)
34815 436102 : data_tmp = IAND(data_tmp, mask_left(31))
34816 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34817 436102 : ipack = ipack + 1
34818 436102 : packed_data(ipack) = pack_tmp
34819 436102 : data_tmp = full_data(idata)
34820 436102 : pack_tmp = ISHFT(data_tmp, 50)
34821 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34822 436102 : idata = idata + 1
34823 436102 : data_tmp = full_data(idata)
34824 436102 : data_tmp = ISHFT(data_tmp, 19)
34825 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34826 436102 : pack_tmp = ISHFT(pack_tmp, -5)
34827 436102 : idata = idata + 1
34828 436102 : data_tmp = full_data(idata)
34829 436102 : data_tmp = ISHFT(data_tmp, 19)
34830 436102 : data_tmp = IAND(data_tmp, mask_left(5))
34831 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34832 436102 : ipack = ipack + 1
34833 436102 : packed_data(ipack) = pack_tmp
34834 436102 : data_tmp = full_data(idata)
34835 436102 : pack_tmp = ISHFT(data_tmp, 24)
34836 436102 : pack_tmp = ISHFT(pack_tmp, -24)
34837 436102 : idata = idata + 1
34838 436102 : data_tmp = full_data(idata)
34839 436102 : data_tmp = ISHFT(data_tmp, 19)
34840 436102 : data_tmp = IAND(data_tmp, mask_left(24))
34841 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34842 436102 : ipack = ipack + 1
34843 436102 : packed_data(ipack) = pack_tmp
34844 436102 : data_tmp = full_data(idata)
34845 436102 : pack_tmp = ISHFT(data_tmp, 43)
34846 436102 : pack_tmp = ISHFT(pack_tmp, -43)
34847 436102 : idata = idata + 1
34848 436102 : data_tmp = full_data(idata)
34849 436102 : data_tmp = ISHFT(data_tmp, 19)
34850 436102 : data_tmp = IAND(data_tmp, mask_left(43))
34851 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34852 436102 : ipack = ipack + 1
34853 436102 : packed_data(ipack) = pack_tmp
34854 436102 : data_tmp = full_data(idata)
34855 436102 : pack_tmp = ISHFT(data_tmp, 62)
34856 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34857 436102 : idata = idata + 1
34858 436102 : data_tmp = full_data(idata)
34859 436102 : data_tmp = ISHFT(data_tmp, 19)
34860 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34861 436102 : pack_tmp = ISHFT(pack_tmp, -17)
34862 436102 : idata = idata + 1
34863 436102 : data_tmp = full_data(idata)
34864 436102 : data_tmp = ISHFT(data_tmp, 19)
34865 436102 : data_tmp = IAND(data_tmp, mask_left(17))
34866 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34867 436102 : ipack = ipack + 1
34868 436102 : packed_data(ipack) = pack_tmp
34869 436102 : data_tmp = full_data(idata)
34870 436102 : pack_tmp = ISHFT(data_tmp, 36)
34871 436102 : pack_tmp = ISHFT(pack_tmp, -36)
34872 436102 : idata = idata + 1
34873 436102 : data_tmp = full_data(idata)
34874 436102 : data_tmp = ISHFT(data_tmp, 19)
34875 436102 : data_tmp = IAND(data_tmp, mask_left(36))
34876 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34877 436102 : ipack = ipack + 1
34878 436102 : packed_data(ipack) = pack_tmp
34879 436102 : data_tmp = full_data(idata)
34880 436102 : pack_tmp = ISHFT(data_tmp, 55)
34881 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34882 436102 : idata = idata + 1
34883 436102 : data_tmp = full_data(idata)
34884 436102 : data_tmp = ISHFT(data_tmp, 19)
34885 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34886 436102 : pack_tmp = ISHFT(pack_tmp, -10)
34887 436102 : idata = idata + 1
34888 436102 : data_tmp = full_data(idata)
34889 436102 : data_tmp = ISHFT(data_tmp, 19)
34890 436102 : data_tmp = IAND(data_tmp, mask_left(10))
34891 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34892 436102 : ipack = ipack + 1
34893 436102 : packed_data(ipack) = pack_tmp
34894 436102 : data_tmp = full_data(idata)
34895 436102 : pack_tmp = ISHFT(data_tmp, 29)
34896 436102 : pack_tmp = ISHFT(pack_tmp, -29)
34897 436102 : idata = idata + 1
34898 436102 : data_tmp = full_data(idata)
34899 436102 : data_tmp = ISHFT(data_tmp, 19)
34900 436102 : data_tmp = IAND(data_tmp, mask_left(29))
34901 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34902 436102 : ipack = ipack + 1
34903 436102 : packed_data(ipack) = pack_tmp
34904 436102 : data_tmp = full_data(idata)
34905 436102 : pack_tmp = ISHFT(data_tmp, 48)
34906 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34907 436102 : idata = idata + 1
34908 436102 : data_tmp = full_data(idata)
34909 436102 : data_tmp = ISHFT(data_tmp, 19)
34910 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34911 436102 : pack_tmp = ISHFT(pack_tmp, -3)
34912 436102 : idata = idata + 1
34913 436102 : data_tmp = full_data(idata)
34914 436102 : data_tmp = ISHFT(data_tmp, 19)
34915 436102 : data_tmp = IAND(data_tmp, mask_left(3))
34916 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34917 436102 : ipack = ipack + 1
34918 436102 : packed_data(ipack) = pack_tmp
34919 436102 : data_tmp = full_data(idata)
34920 436102 : pack_tmp = ISHFT(data_tmp, 22)
34921 436102 : pack_tmp = ISHFT(pack_tmp, -22)
34922 436102 : idata = idata + 1
34923 436102 : data_tmp = full_data(idata)
34924 436102 : data_tmp = ISHFT(data_tmp, 19)
34925 436102 : data_tmp = IAND(data_tmp, mask_left(22))
34926 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34927 436102 : ipack = ipack + 1
34928 436102 : packed_data(ipack) = pack_tmp
34929 436102 : data_tmp = full_data(idata)
34930 436102 : pack_tmp = ISHFT(data_tmp, 41)
34931 436102 : pack_tmp = ISHFT(pack_tmp, -41)
34932 436102 : idata = idata + 1
34933 436102 : data_tmp = full_data(idata)
34934 436102 : data_tmp = ISHFT(data_tmp, 19)
34935 436102 : data_tmp = IAND(data_tmp, mask_left(41))
34936 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34937 436102 : ipack = ipack + 1
34938 436102 : packed_data(ipack) = pack_tmp
34939 436102 : data_tmp = full_data(idata)
34940 436102 : pack_tmp = ISHFT(data_tmp, 60)
34941 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34942 436102 : idata = idata + 1
34943 436102 : data_tmp = full_data(idata)
34944 436102 : data_tmp = ISHFT(data_tmp, 19)
34945 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34946 436102 : pack_tmp = ISHFT(pack_tmp, -15)
34947 436102 : idata = idata + 1
34948 436102 : data_tmp = full_data(idata)
34949 436102 : data_tmp = ISHFT(data_tmp, 19)
34950 436102 : data_tmp = IAND(data_tmp, mask_left(15))
34951 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34952 436102 : ipack = ipack + 1
34953 436102 : packed_data(ipack) = pack_tmp
34954 436102 : data_tmp = full_data(idata)
34955 436102 : pack_tmp = ISHFT(data_tmp, 34)
34956 436102 : pack_tmp = ISHFT(pack_tmp, -34)
34957 436102 : idata = idata + 1
34958 436102 : data_tmp = full_data(idata)
34959 436102 : data_tmp = ISHFT(data_tmp, 19)
34960 436102 : data_tmp = IAND(data_tmp, mask_left(34))
34961 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34962 436102 : ipack = ipack + 1
34963 436102 : packed_data(ipack) = pack_tmp
34964 436102 : data_tmp = full_data(idata)
34965 436102 : pack_tmp = ISHFT(data_tmp, 53)
34966 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34967 436102 : idata = idata + 1
34968 436102 : data_tmp = full_data(idata)
34969 436102 : data_tmp = ISHFT(data_tmp, 19)
34970 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34971 436102 : pack_tmp = ISHFT(pack_tmp, -8)
34972 436102 : idata = idata + 1
34973 436102 : data_tmp = full_data(idata)
34974 436102 : data_tmp = ISHFT(data_tmp, 19)
34975 436102 : data_tmp = IAND(data_tmp, mask_left(8))
34976 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34977 436102 : ipack = ipack + 1
34978 436102 : packed_data(ipack) = pack_tmp
34979 436102 : data_tmp = full_data(idata)
34980 436102 : pack_tmp = ISHFT(data_tmp, 27)
34981 436102 : pack_tmp = ISHFT(pack_tmp, -27)
34982 436102 : idata = idata + 1
34983 436102 : data_tmp = full_data(idata)
34984 436102 : data_tmp = ISHFT(data_tmp, 19)
34985 436102 : data_tmp = IAND(data_tmp, mask_left(27))
34986 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34987 436102 : ipack = ipack + 1
34988 436102 : packed_data(ipack) = pack_tmp
34989 436102 : data_tmp = full_data(idata)
34990 436102 : pack_tmp = ISHFT(data_tmp, 46)
34991 436102 : pack_tmp = ISHFT(pack_tmp, -45)
34992 436102 : idata = idata + 1
34993 436102 : data_tmp = full_data(idata)
34994 436102 : data_tmp = ISHFT(data_tmp, 19)
34995 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
34996 436102 : pack_tmp = ISHFT(pack_tmp, -1)
34997 436102 : idata = idata + 1
34998 436102 : data_tmp = full_data(idata)
34999 436102 : data_tmp = ISHFT(data_tmp, 19)
35000 436102 : data_tmp = IAND(data_tmp, mask_left(1))
35001 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35002 436102 : ipack = ipack + 1
35003 436102 : packed_data(ipack) = pack_tmp
35004 436102 : data_tmp = full_data(idata)
35005 436102 : pack_tmp = ISHFT(data_tmp, 20)
35006 436102 : pack_tmp = ISHFT(pack_tmp, -20)
35007 436102 : idata = idata + 1
35008 436102 : data_tmp = full_data(idata)
35009 436102 : data_tmp = ISHFT(data_tmp, 19)
35010 436102 : data_tmp = IAND(data_tmp, mask_left(20))
35011 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35012 436102 : ipack = ipack + 1
35013 436102 : packed_data(ipack) = pack_tmp
35014 436102 : data_tmp = full_data(idata)
35015 436102 : pack_tmp = ISHFT(data_tmp, 39)
35016 436102 : pack_tmp = ISHFT(pack_tmp, -39)
35017 436102 : idata = idata + 1
35018 436102 : data_tmp = full_data(idata)
35019 436102 : data_tmp = ISHFT(data_tmp, 19)
35020 436102 : data_tmp = IAND(data_tmp, mask_left(39))
35021 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35022 436102 : ipack = ipack + 1
35023 436102 : packed_data(ipack) = pack_tmp
35024 436102 : data_tmp = full_data(idata)
35025 436102 : pack_tmp = ISHFT(data_tmp, 58)
35026 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35027 436102 : idata = idata + 1
35028 436102 : data_tmp = full_data(idata)
35029 436102 : data_tmp = ISHFT(data_tmp, 19)
35030 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35031 436102 : pack_tmp = ISHFT(pack_tmp, -13)
35032 436102 : idata = idata + 1
35033 436102 : data_tmp = full_data(idata)
35034 436102 : data_tmp = ISHFT(data_tmp, 19)
35035 436102 : data_tmp = IAND(data_tmp, mask_left(13))
35036 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35037 436102 : ipack = ipack + 1
35038 436102 : packed_data(ipack) = pack_tmp
35039 436102 : data_tmp = full_data(idata)
35040 436102 : pack_tmp = ISHFT(data_tmp, 32)
35041 436102 : pack_tmp = ISHFT(pack_tmp, -32)
35042 436102 : idata = idata + 1
35043 436102 : data_tmp = full_data(idata)
35044 436102 : data_tmp = ISHFT(data_tmp, 19)
35045 436102 : data_tmp = IAND(data_tmp, mask_left(32))
35046 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35047 436102 : ipack = ipack + 1
35048 436102 : packed_data(ipack) = pack_tmp
35049 436102 : data_tmp = full_data(idata)
35050 436102 : pack_tmp = ISHFT(data_tmp, 51)
35051 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35052 436102 : idata = idata + 1
35053 436102 : data_tmp = full_data(idata)
35054 436102 : data_tmp = ISHFT(data_tmp, 19)
35055 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35056 436102 : pack_tmp = ISHFT(pack_tmp, -6)
35057 436102 : idata = idata + 1
35058 436102 : data_tmp = full_data(idata)
35059 436102 : data_tmp = ISHFT(data_tmp, 19)
35060 436102 : data_tmp = IAND(data_tmp, mask_left(6))
35061 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35062 436102 : ipack = ipack + 1
35063 436102 : packed_data(ipack) = pack_tmp
35064 436102 : data_tmp = full_data(idata)
35065 436102 : pack_tmp = ISHFT(data_tmp, 25)
35066 436102 : pack_tmp = ISHFT(pack_tmp, -25)
35067 436102 : idata = idata + 1
35068 436102 : data_tmp = full_data(idata)
35069 436102 : data_tmp = ISHFT(data_tmp, 19)
35070 436102 : data_tmp = IAND(data_tmp, mask_left(25))
35071 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35072 436102 : ipack = ipack + 1
35073 436102 : packed_data(ipack) = pack_tmp
35074 436102 : data_tmp = full_data(idata)
35075 436102 : pack_tmp = ISHFT(data_tmp, 44)
35076 436102 : pack_tmp = ISHFT(pack_tmp, -44)
35077 436102 : idata = idata + 1
35078 436102 : data_tmp = full_data(idata)
35079 436102 : data_tmp = ISHFT(data_tmp, 19)
35080 436102 : data_tmp = IAND(data_tmp, mask_left(44))
35081 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35082 436102 : ipack = ipack + 1
35083 436102 : packed_data(ipack) = pack_tmp
35084 436102 : data_tmp = full_data(idata)
35085 436102 : pack_tmp = ISHFT(data_tmp, 63)
35086 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35087 436102 : idata = idata + 1
35088 436102 : data_tmp = full_data(idata)
35089 436102 : data_tmp = ISHFT(data_tmp, 19)
35090 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35091 436102 : pack_tmp = ISHFT(pack_tmp, -18)
35092 436102 : idata = idata + 1
35093 436102 : data_tmp = full_data(idata)
35094 436102 : data_tmp = ISHFT(data_tmp, 19)
35095 436102 : data_tmp = IAND(data_tmp, mask_left(18))
35096 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35097 436102 : ipack = ipack + 1
35098 436102 : packed_data(ipack) = pack_tmp
35099 436102 : data_tmp = full_data(idata)
35100 436102 : pack_tmp = ISHFT(data_tmp, 37)
35101 436102 : pack_tmp = ISHFT(pack_tmp, -37)
35102 436102 : idata = idata + 1
35103 436102 : data_tmp = full_data(idata)
35104 436102 : data_tmp = ISHFT(data_tmp, 19)
35105 436102 : data_tmp = IAND(data_tmp, mask_left(37))
35106 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35107 436102 : ipack = ipack + 1
35108 436102 : packed_data(ipack) = pack_tmp
35109 436102 : data_tmp = full_data(idata)
35110 436102 : pack_tmp = ISHFT(data_tmp, 56)
35111 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35112 436102 : idata = idata + 1
35113 436102 : data_tmp = full_data(idata)
35114 436102 : data_tmp = ISHFT(data_tmp, 19)
35115 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35116 436102 : pack_tmp = ISHFT(pack_tmp, -11)
35117 436102 : idata = idata + 1
35118 436102 : data_tmp = full_data(idata)
35119 436102 : data_tmp = ISHFT(data_tmp, 19)
35120 436102 : data_tmp = IAND(data_tmp, mask_left(11))
35121 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35122 436102 : ipack = ipack + 1
35123 436102 : packed_data(ipack) = pack_tmp
35124 436102 : data_tmp = full_data(idata)
35125 436102 : pack_tmp = ISHFT(data_tmp, 30)
35126 436102 : pack_tmp = ISHFT(pack_tmp, -30)
35127 436102 : idata = idata + 1
35128 436102 : data_tmp = full_data(idata)
35129 436102 : data_tmp = ISHFT(data_tmp, 19)
35130 436102 : data_tmp = IAND(data_tmp, mask_left(30))
35131 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35132 436102 : ipack = ipack + 1
35133 436102 : packed_data(ipack) = pack_tmp
35134 436102 : data_tmp = full_data(idata)
35135 436102 : pack_tmp = ISHFT(data_tmp, 49)
35136 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35137 436102 : idata = idata + 1
35138 436102 : data_tmp = full_data(idata)
35139 436102 : data_tmp = ISHFT(data_tmp, 19)
35140 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35141 436102 : pack_tmp = ISHFT(pack_tmp, -4)
35142 436102 : idata = idata + 1
35143 436102 : data_tmp = full_data(idata)
35144 436102 : data_tmp = ISHFT(data_tmp, 19)
35145 436102 : data_tmp = IAND(data_tmp, mask_left(4))
35146 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35147 436102 : ipack = ipack + 1
35148 436102 : packed_data(ipack) = pack_tmp
35149 436102 : data_tmp = full_data(idata)
35150 436102 : pack_tmp = ISHFT(data_tmp, 23)
35151 436102 : pack_tmp = ISHFT(pack_tmp, -23)
35152 436102 : idata = idata + 1
35153 436102 : data_tmp = full_data(idata)
35154 436102 : data_tmp = ISHFT(data_tmp, 19)
35155 436102 : data_tmp = IAND(data_tmp, mask_left(23))
35156 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35157 436102 : ipack = ipack + 1
35158 436102 : packed_data(ipack) = pack_tmp
35159 436102 : data_tmp = full_data(idata)
35160 436102 : pack_tmp = ISHFT(data_tmp, 42)
35161 436102 : pack_tmp = ISHFT(pack_tmp, -42)
35162 436102 : idata = idata + 1
35163 436102 : data_tmp = full_data(idata)
35164 436102 : data_tmp = ISHFT(data_tmp, 19)
35165 436102 : data_tmp = IAND(data_tmp, mask_left(42))
35166 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35167 436102 : ipack = ipack + 1
35168 436102 : packed_data(ipack) = pack_tmp
35169 436102 : data_tmp = full_data(idata)
35170 436102 : pack_tmp = ISHFT(data_tmp, 61)
35171 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35172 436102 : idata = idata + 1
35173 436102 : data_tmp = full_data(idata)
35174 436102 : data_tmp = ISHFT(data_tmp, 19)
35175 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35176 436102 : pack_tmp = ISHFT(pack_tmp, -16)
35177 436102 : idata = idata + 1
35178 436102 : data_tmp = full_data(idata)
35179 436102 : data_tmp = ISHFT(data_tmp, 19)
35180 436102 : data_tmp = IAND(data_tmp, mask_left(16))
35181 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35182 436102 : ipack = ipack + 1
35183 436102 : packed_data(ipack) = pack_tmp
35184 436102 : data_tmp = full_data(idata)
35185 436102 : pack_tmp = ISHFT(data_tmp, 35)
35186 436102 : pack_tmp = ISHFT(pack_tmp, -35)
35187 436102 : idata = idata + 1
35188 436102 : data_tmp = full_data(idata)
35189 436102 : data_tmp = ISHFT(data_tmp, 19)
35190 436102 : data_tmp = IAND(data_tmp, mask_left(35))
35191 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35192 436102 : ipack = ipack + 1
35193 436102 : packed_data(ipack) = pack_tmp
35194 436102 : data_tmp = full_data(idata)
35195 436102 : pack_tmp = ISHFT(data_tmp, 54)
35196 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35197 436102 : idata = idata + 1
35198 436102 : data_tmp = full_data(idata)
35199 436102 : data_tmp = ISHFT(data_tmp, 19)
35200 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35201 436102 : pack_tmp = ISHFT(pack_tmp, -9)
35202 436102 : idata = idata + 1
35203 436102 : data_tmp = full_data(idata)
35204 436102 : data_tmp = ISHFT(data_tmp, 19)
35205 436102 : data_tmp = IAND(data_tmp, mask_left(9))
35206 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35207 436102 : ipack = ipack + 1
35208 436102 : packed_data(ipack) = pack_tmp
35209 436102 : data_tmp = full_data(idata)
35210 436102 : pack_tmp = ISHFT(data_tmp, 28)
35211 436102 : pack_tmp = ISHFT(pack_tmp, -28)
35212 436102 : idata = idata + 1
35213 436102 : data_tmp = full_data(idata)
35214 436102 : data_tmp = ISHFT(data_tmp, 19)
35215 436102 : data_tmp = IAND(data_tmp, mask_left(28))
35216 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35217 436102 : ipack = ipack + 1
35218 436102 : packed_data(ipack) = pack_tmp
35219 436102 : data_tmp = full_data(idata)
35220 436102 : pack_tmp = ISHFT(data_tmp, 47)
35221 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35222 436102 : idata = idata + 1
35223 436102 : data_tmp = full_data(idata)
35224 436102 : data_tmp = ISHFT(data_tmp, 19)
35225 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35226 436102 : pack_tmp = ISHFT(pack_tmp, -2)
35227 436102 : idata = idata + 1
35228 436102 : data_tmp = full_data(idata)
35229 436102 : data_tmp = ISHFT(data_tmp, 19)
35230 436102 : data_tmp = IAND(data_tmp, mask_left(2))
35231 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35232 436102 : ipack = ipack + 1
35233 436102 : packed_data(ipack) = pack_tmp
35234 436102 : data_tmp = full_data(idata)
35235 436102 : pack_tmp = ISHFT(data_tmp, 21)
35236 436102 : pack_tmp = ISHFT(pack_tmp, -21)
35237 436102 : idata = idata + 1
35238 436102 : data_tmp = full_data(idata)
35239 436102 : data_tmp = ISHFT(data_tmp, 19)
35240 436102 : data_tmp = IAND(data_tmp, mask_left(21))
35241 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35242 436102 : ipack = ipack + 1
35243 436102 : packed_data(ipack) = pack_tmp
35244 436102 : data_tmp = full_data(idata)
35245 436102 : pack_tmp = ISHFT(data_tmp, 40)
35246 436102 : pack_tmp = ISHFT(pack_tmp, -40)
35247 436102 : idata = idata + 1
35248 436102 : data_tmp = full_data(idata)
35249 436102 : data_tmp = ISHFT(data_tmp, 19)
35250 436102 : data_tmp = IAND(data_tmp, mask_left(40))
35251 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35252 436102 : ipack = ipack + 1
35253 436102 : packed_data(ipack) = pack_tmp
35254 436102 : data_tmp = full_data(idata)
35255 436102 : pack_tmp = ISHFT(data_tmp, 59)
35256 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35257 436102 : idata = idata + 1
35258 436102 : data_tmp = full_data(idata)
35259 436102 : data_tmp = ISHFT(data_tmp, 19)
35260 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35261 436102 : pack_tmp = ISHFT(pack_tmp, -14)
35262 436102 : idata = idata + 1
35263 436102 : data_tmp = full_data(idata)
35264 436102 : data_tmp = ISHFT(data_tmp, 19)
35265 436102 : data_tmp = IAND(data_tmp, mask_left(14))
35266 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35267 436102 : ipack = ipack + 1
35268 436102 : packed_data(ipack) = pack_tmp
35269 436102 : data_tmp = full_data(idata)
35270 436102 : pack_tmp = ISHFT(data_tmp, 33)
35271 436102 : pack_tmp = ISHFT(pack_tmp, -33)
35272 436102 : idata = idata + 1
35273 436102 : data_tmp = full_data(idata)
35274 436102 : data_tmp = ISHFT(data_tmp, 19)
35275 436102 : data_tmp = IAND(data_tmp, mask_left(33))
35276 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35277 436102 : ipack = ipack + 1
35278 436102 : packed_data(ipack) = pack_tmp
35279 436102 : data_tmp = full_data(idata)
35280 436102 : pack_tmp = ISHFT(data_tmp, 52)
35281 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35282 436102 : idata = idata + 1
35283 436102 : data_tmp = full_data(idata)
35284 436102 : data_tmp = ISHFT(data_tmp, 19)
35285 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35286 436102 : pack_tmp = ISHFT(pack_tmp, -7)
35287 436102 : idata = idata + 1
35288 436102 : data_tmp = full_data(idata)
35289 436102 : data_tmp = ISHFT(data_tmp, 19)
35290 436102 : data_tmp = IAND(data_tmp, mask_left(7))
35291 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35292 436102 : ipack = ipack + 1
35293 436102 : packed_data(ipack) = pack_tmp
35294 436102 : data_tmp = full_data(idata)
35295 436102 : pack_tmp = ISHFT(data_tmp, 26)
35296 436102 : pack_tmp = ISHFT(pack_tmp, -26)
35297 436102 : idata = idata + 1
35298 436102 : data_tmp = full_data(idata)
35299 436102 : data_tmp = ISHFT(data_tmp, 19)
35300 436102 : data_tmp = IAND(data_tmp, mask_left(26))
35301 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35302 436102 : ipack = ipack + 1
35303 436102 : packed_data(ipack) = pack_tmp
35304 436102 : data_tmp = full_data(idata)
35305 436102 : pack_tmp = ISHFT(data_tmp, 45)
35306 436102 : pack_tmp = ISHFT(pack_tmp, -45)
35307 436102 : idata = idata + 1
35308 436102 : data_tmp = full_data(idata)
35309 436102 : data_tmp = ISHFT(data_tmp, 19)
35310 436102 : pack_tmp = IOR(pack_tmp, data_tmp)
35311 : pack_tmp = ISHFT(pack_tmp, 0)
35312 436102 : pack_tmp = ISHFT(pack_tmp, 0)
35313 436102 : ipack = ipack + 1
35314 436153 : packed_data(ipack) = pack_tmp
35315 : END DO
35316 29902 : IF (Ndata_rep < Ndata) THEN
35317 4980 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
35318 : END IF
35319 29902 : END SUBROUTINE ints2bits_45
35320 :
35321 : ! **************************************************************************************************
35322 : !> \brief ...
35323 : !> \param Ndata ...
35324 : !> \param packed_data ...
35325 : !> \param full_data ...
35326 : ! **************************************************************************************************
35327 135031 : 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(*)
35331 :
35332 : INTEGER, PARAMETER :: Nbits = 45
35333 :
35334 : INTEGER :: idata, ipack, kdata, Ndata_rep
35335 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
35336 :
35337 135031 : ipack = 0
35338 135031 : idata = 0
35339 135031 : pack_tmp = 0
35340 135031 : Ndata_rep = (Ndata/64)*64
35341 135031 : DO kdata = 1, Ndata_rep, 64
35342 1894242 : idata = idata + 1
35343 1894242 : data_tmp = ISHFT(pack_tmp, 45)
35344 1894242 : ipack = ipack + 1
35345 1894242 : pack_tmp = packed_data(ipack)
35346 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
35347 1894242 : pack_tmp = ISHFT(pack_tmp, -45)
35348 1894242 : idata = idata + 1
35349 1894242 : data_tmp = ISHFT(pack_tmp, 26)
35350 1894242 : ipack = ipack + 1
35351 1894242 : pack_tmp = packed_data(ipack)
35352 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
35353 1894242 : pack_tmp = ISHFT(pack_tmp, -26)
35354 1894242 : idata = idata + 1
35355 1894242 : data_tmp = ISHFT(pack_tmp, 7)
35356 1894242 : ipack = ipack + 1
35357 1894242 : pack_tmp = packed_data(ipack)
35358 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
35359 1894242 : pack_tmp = ISHFT(pack_tmp, -7)
35360 1894242 : idata = idata + 1
35361 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35362 1894242 : full_data(idata) = data_tmp
35363 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35364 1894242 : idata = idata + 1
35365 1894242 : data_tmp = ISHFT(pack_tmp, 33)
35366 1894242 : ipack = ipack + 1
35367 1894242 : pack_tmp = packed_data(ipack)
35368 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
35369 1894242 : pack_tmp = ISHFT(pack_tmp, -33)
35370 1894242 : idata = idata + 1
35371 1894242 : data_tmp = ISHFT(pack_tmp, 14)
35372 1894242 : ipack = ipack + 1
35373 1894242 : pack_tmp = packed_data(ipack)
35374 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
35375 1894242 : pack_tmp = ISHFT(pack_tmp, -14)
35376 1894242 : idata = idata + 1
35377 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35378 1894242 : full_data(idata) = data_tmp
35379 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35380 1894242 : idata = idata + 1
35381 1894242 : data_tmp = ISHFT(pack_tmp, 40)
35382 1894242 : ipack = ipack + 1
35383 1894242 : pack_tmp = packed_data(ipack)
35384 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
35385 1894242 : pack_tmp = ISHFT(pack_tmp, -40)
35386 1894242 : idata = idata + 1
35387 1894242 : data_tmp = ISHFT(pack_tmp, 21)
35388 1894242 : ipack = ipack + 1
35389 1894242 : pack_tmp = packed_data(ipack)
35390 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
35391 1894242 : pack_tmp = ISHFT(pack_tmp, -21)
35392 1894242 : idata = idata + 1
35393 1894242 : data_tmp = ISHFT(pack_tmp, 2)
35394 1894242 : ipack = ipack + 1
35395 1894242 : pack_tmp = packed_data(ipack)
35396 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
35397 1894242 : pack_tmp = ISHFT(pack_tmp, -2)
35398 1894242 : idata = idata + 1
35399 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35400 1894242 : full_data(idata) = data_tmp
35401 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35402 1894242 : idata = idata + 1
35403 1894242 : data_tmp = ISHFT(pack_tmp, 28)
35404 1894242 : ipack = ipack + 1
35405 1894242 : pack_tmp = packed_data(ipack)
35406 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
35407 1894242 : pack_tmp = ISHFT(pack_tmp, -28)
35408 1894242 : idata = idata + 1
35409 1894242 : data_tmp = ISHFT(pack_tmp, 9)
35410 1894242 : ipack = ipack + 1
35411 1894242 : pack_tmp = packed_data(ipack)
35412 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
35413 1894242 : pack_tmp = ISHFT(pack_tmp, -9)
35414 1894242 : idata = idata + 1
35415 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35416 1894242 : full_data(idata) = data_tmp
35417 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35418 1894242 : idata = idata + 1
35419 1894242 : data_tmp = ISHFT(pack_tmp, 35)
35420 1894242 : ipack = ipack + 1
35421 1894242 : pack_tmp = packed_data(ipack)
35422 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
35423 1894242 : pack_tmp = ISHFT(pack_tmp, -35)
35424 1894242 : idata = idata + 1
35425 1894242 : data_tmp = ISHFT(pack_tmp, 16)
35426 1894242 : ipack = ipack + 1
35427 1894242 : pack_tmp = packed_data(ipack)
35428 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
35429 1894242 : pack_tmp = ISHFT(pack_tmp, -16)
35430 1894242 : idata = idata + 1
35431 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35432 1894242 : full_data(idata) = data_tmp
35433 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35434 1894242 : idata = idata + 1
35435 1894242 : data_tmp = ISHFT(pack_tmp, 42)
35436 1894242 : ipack = ipack + 1
35437 1894242 : pack_tmp = packed_data(ipack)
35438 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
35439 1894242 : pack_tmp = ISHFT(pack_tmp, -42)
35440 1894242 : idata = idata + 1
35441 1894242 : data_tmp = ISHFT(pack_tmp, 23)
35442 1894242 : ipack = ipack + 1
35443 1894242 : pack_tmp = packed_data(ipack)
35444 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
35445 1894242 : pack_tmp = ISHFT(pack_tmp, -23)
35446 1894242 : idata = idata + 1
35447 1894242 : data_tmp = ISHFT(pack_tmp, 4)
35448 1894242 : ipack = ipack + 1
35449 1894242 : pack_tmp = packed_data(ipack)
35450 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
35451 1894242 : pack_tmp = ISHFT(pack_tmp, -4)
35452 1894242 : idata = idata + 1
35453 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35454 1894242 : full_data(idata) = data_tmp
35455 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35456 1894242 : idata = idata + 1
35457 1894242 : data_tmp = ISHFT(pack_tmp, 30)
35458 1894242 : ipack = ipack + 1
35459 1894242 : pack_tmp = packed_data(ipack)
35460 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
35461 1894242 : pack_tmp = ISHFT(pack_tmp, -30)
35462 1894242 : idata = idata + 1
35463 1894242 : data_tmp = ISHFT(pack_tmp, 11)
35464 1894242 : ipack = ipack + 1
35465 1894242 : pack_tmp = packed_data(ipack)
35466 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
35467 1894242 : pack_tmp = ISHFT(pack_tmp, -11)
35468 1894242 : idata = idata + 1
35469 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35470 1894242 : full_data(idata) = data_tmp
35471 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35472 1894242 : idata = idata + 1
35473 1894242 : data_tmp = ISHFT(pack_tmp, 37)
35474 1894242 : ipack = ipack + 1
35475 1894242 : pack_tmp = packed_data(ipack)
35476 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
35477 1894242 : pack_tmp = ISHFT(pack_tmp, -37)
35478 1894242 : idata = idata + 1
35479 1894242 : data_tmp = ISHFT(pack_tmp, 18)
35480 1894242 : ipack = ipack + 1
35481 1894242 : pack_tmp = packed_data(ipack)
35482 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
35483 1894242 : pack_tmp = ISHFT(pack_tmp, -18)
35484 1894242 : idata = idata + 1
35485 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35486 1894242 : full_data(idata) = data_tmp
35487 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35488 1894242 : idata = idata + 1
35489 1894242 : data_tmp = ISHFT(pack_tmp, 44)
35490 1894242 : ipack = ipack + 1
35491 1894242 : pack_tmp = packed_data(ipack)
35492 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
35493 1894242 : pack_tmp = ISHFT(pack_tmp, -44)
35494 1894242 : idata = idata + 1
35495 1894242 : data_tmp = ISHFT(pack_tmp, 25)
35496 1894242 : ipack = ipack + 1
35497 1894242 : pack_tmp = packed_data(ipack)
35498 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
35499 1894242 : pack_tmp = ISHFT(pack_tmp, -25)
35500 1894242 : idata = idata + 1
35501 1894242 : data_tmp = ISHFT(pack_tmp, 6)
35502 1894242 : ipack = ipack + 1
35503 1894242 : pack_tmp = packed_data(ipack)
35504 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
35505 1894242 : pack_tmp = ISHFT(pack_tmp, -6)
35506 1894242 : idata = idata + 1
35507 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35508 1894242 : full_data(idata) = data_tmp
35509 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35510 1894242 : idata = idata + 1
35511 1894242 : data_tmp = ISHFT(pack_tmp, 32)
35512 1894242 : ipack = ipack + 1
35513 1894242 : pack_tmp = packed_data(ipack)
35514 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
35515 1894242 : pack_tmp = ISHFT(pack_tmp, -32)
35516 1894242 : idata = idata + 1
35517 1894242 : data_tmp = ISHFT(pack_tmp, 13)
35518 1894242 : ipack = ipack + 1
35519 1894242 : pack_tmp = packed_data(ipack)
35520 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
35521 1894242 : pack_tmp = ISHFT(pack_tmp, -13)
35522 1894242 : idata = idata + 1
35523 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35524 1894242 : full_data(idata) = data_tmp
35525 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35526 1894242 : idata = idata + 1
35527 1894242 : data_tmp = ISHFT(pack_tmp, 39)
35528 1894242 : ipack = ipack + 1
35529 1894242 : pack_tmp = packed_data(ipack)
35530 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
35531 1894242 : pack_tmp = ISHFT(pack_tmp, -39)
35532 1894242 : idata = idata + 1
35533 1894242 : data_tmp = ISHFT(pack_tmp, 20)
35534 1894242 : ipack = ipack + 1
35535 1894242 : pack_tmp = packed_data(ipack)
35536 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
35537 1894242 : pack_tmp = ISHFT(pack_tmp, -20)
35538 1894242 : idata = idata + 1
35539 1894242 : data_tmp = ISHFT(pack_tmp, 1)
35540 1894242 : ipack = ipack + 1
35541 1894242 : pack_tmp = packed_data(ipack)
35542 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
35543 1894242 : pack_tmp = ISHFT(pack_tmp, -1)
35544 1894242 : idata = idata + 1
35545 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35546 1894242 : full_data(idata) = data_tmp
35547 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35548 1894242 : idata = idata + 1
35549 1894242 : data_tmp = ISHFT(pack_tmp, 27)
35550 1894242 : ipack = ipack + 1
35551 1894242 : pack_tmp = packed_data(ipack)
35552 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
35553 1894242 : pack_tmp = ISHFT(pack_tmp, -27)
35554 1894242 : idata = idata + 1
35555 1894242 : data_tmp = ISHFT(pack_tmp, 8)
35556 1894242 : ipack = ipack + 1
35557 1894242 : pack_tmp = packed_data(ipack)
35558 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
35559 1894242 : pack_tmp = ISHFT(pack_tmp, -8)
35560 1894242 : idata = idata + 1
35561 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35562 1894242 : full_data(idata) = data_tmp
35563 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35564 1894242 : idata = idata + 1
35565 1894242 : data_tmp = ISHFT(pack_tmp, 34)
35566 1894242 : ipack = ipack + 1
35567 1894242 : pack_tmp = packed_data(ipack)
35568 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
35569 1894242 : pack_tmp = ISHFT(pack_tmp, -34)
35570 1894242 : idata = idata + 1
35571 1894242 : data_tmp = ISHFT(pack_tmp, 15)
35572 1894242 : ipack = ipack + 1
35573 1894242 : pack_tmp = packed_data(ipack)
35574 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
35575 1894242 : pack_tmp = ISHFT(pack_tmp, -15)
35576 1894242 : idata = idata + 1
35577 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35578 1894242 : full_data(idata) = data_tmp
35579 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35580 1894242 : idata = idata + 1
35581 1894242 : data_tmp = ISHFT(pack_tmp, 41)
35582 1894242 : ipack = ipack + 1
35583 1894242 : pack_tmp = packed_data(ipack)
35584 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
35585 1894242 : pack_tmp = ISHFT(pack_tmp, -41)
35586 1894242 : idata = idata + 1
35587 1894242 : data_tmp = ISHFT(pack_tmp, 22)
35588 1894242 : ipack = ipack + 1
35589 1894242 : pack_tmp = packed_data(ipack)
35590 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
35591 1894242 : pack_tmp = ISHFT(pack_tmp, -22)
35592 1894242 : idata = idata + 1
35593 1894242 : data_tmp = ISHFT(pack_tmp, 3)
35594 1894242 : ipack = ipack + 1
35595 1894242 : pack_tmp = packed_data(ipack)
35596 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
35597 1894242 : pack_tmp = ISHFT(pack_tmp, -3)
35598 1894242 : idata = idata + 1
35599 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35600 1894242 : full_data(idata) = data_tmp
35601 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35602 1894242 : idata = idata + 1
35603 1894242 : data_tmp = ISHFT(pack_tmp, 29)
35604 1894242 : ipack = ipack + 1
35605 1894242 : pack_tmp = packed_data(ipack)
35606 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
35607 1894242 : pack_tmp = ISHFT(pack_tmp, -29)
35608 1894242 : idata = idata + 1
35609 1894242 : data_tmp = ISHFT(pack_tmp, 10)
35610 1894242 : ipack = ipack + 1
35611 1894242 : pack_tmp = packed_data(ipack)
35612 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
35613 1894242 : pack_tmp = ISHFT(pack_tmp, -10)
35614 1894242 : idata = idata + 1
35615 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35616 1894242 : full_data(idata) = data_tmp
35617 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35618 1894242 : idata = idata + 1
35619 1894242 : data_tmp = ISHFT(pack_tmp, 36)
35620 1894242 : ipack = ipack + 1
35621 1894242 : pack_tmp = packed_data(ipack)
35622 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
35623 1894242 : pack_tmp = ISHFT(pack_tmp, -36)
35624 1894242 : idata = idata + 1
35625 1894242 : data_tmp = ISHFT(pack_tmp, 17)
35626 1894242 : ipack = ipack + 1
35627 1894242 : pack_tmp = packed_data(ipack)
35628 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
35629 1894242 : pack_tmp = ISHFT(pack_tmp, -17)
35630 1894242 : idata = idata + 1
35631 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35632 1894242 : full_data(idata) = data_tmp
35633 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35634 1894242 : idata = idata + 1
35635 1894242 : data_tmp = ISHFT(pack_tmp, 43)
35636 1894242 : ipack = ipack + 1
35637 1894242 : pack_tmp = packed_data(ipack)
35638 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
35639 1894242 : pack_tmp = ISHFT(pack_tmp, -43)
35640 1894242 : idata = idata + 1
35641 1894242 : data_tmp = ISHFT(pack_tmp, 24)
35642 1894242 : ipack = ipack + 1
35643 1894242 : pack_tmp = packed_data(ipack)
35644 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
35645 1894242 : pack_tmp = ISHFT(pack_tmp, -24)
35646 1894242 : idata = idata + 1
35647 1894242 : data_tmp = ISHFT(pack_tmp, 5)
35648 1894242 : ipack = ipack + 1
35649 1894242 : pack_tmp = packed_data(ipack)
35650 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
35651 1894242 : pack_tmp = ISHFT(pack_tmp, -5)
35652 1894242 : idata = idata + 1
35653 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35654 1894242 : full_data(idata) = data_tmp
35655 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35656 1894242 : idata = idata + 1
35657 1894242 : data_tmp = ISHFT(pack_tmp, 31)
35658 1894242 : ipack = ipack + 1
35659 1894242 : pack_tmp = packed_data(ipack)
35660 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
35661 1894242 : pack_tmp = ISHFT(pack_tmp, -31)
35662 1894242 : idata = idata + 1
35663 1894242 : data_tmp = ISHFT(pack_tmp, 12)
35664 1894242 : ipack = ipack + 1
35665 1894242 : pack_tmp = packed_data(ipack)
35666 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
35667 1894242 : pack_tmp = ISHFT(pack_tmp, -12)
35668 1894242 : idata = idata + 1
35669 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35670 1894242 : full_data(idata) = data_tmp
35671 1894242 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35672 1894242 : idata = idata + 1
35673 1894242 : data_tmp = ISHFT(pack_tmp, 38)
35674 1894242 : ipack = ipack + 1
35675 1894242 : pack_tmp = packed_data(ipack)
35676 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
35677 1894242 : pack_tmp = ISHFT(pack_tmp, -38)
35678 1894242 : idata = idata + 1
35679 1894242 : data_tmp = ISHFT(pack_tmp, 19)
35680 1894242 : ipack = ipack + 1
35681 1894242 : pack_tmp = packed_data(ipack)
35682 1894242 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
35683 1894242 : pack_tmp = ISHFT(pack_tmp, -19)
35684 1894242 : idata = idata + 1
35685 1894242 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
35686 1894242 : full_data(idata) = data_tmp
35687 1895218 : pack_tmp = ISHFT(pack_tmp, -Nbits)
35688 : END DO
35689 135031 : IF (Ndata_rep < Ndata) THEN
35690 31324 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
35691 : END IF
35692 135031 : END SUBROUTINE bits2ints_45
35693 :
35694 : ! **************************************************************************************************
35695 : !> \brief ...
35696 : !> \param Ndata ...
35697 : !> \param packed_data ...
35698 : !> \param full_data ...
35699 : ! **************************************************************************************************
35700 29430 : 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(*)
35704 :
35705 : INTEGER, PARAMETER :: Nbits = 46
35706 :
35707 : INTEGER :: idata, ipack, kdata, Ndata_rep
35708 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
35709 :
35710 29430 : idata = 0
35711 29430 : ipack = 0
35712 29430 : Ndata_rep = (Ndata/64)*64
35713 29430 : DO kdata = 1, Ndata_rep, 64
35714 431215 : pack_tmp = 0
35715 431215 : idata = idata + 1
35716 431215 : data_tmp = full_data(idata)
35717 431215 : data_tmp = ISHFT(data_tmp, 18)
35718 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35719 431215 : pack_tmp = ISHFT(pack_tmp, -18)
35720 431215 : idata = idata + 1
35721 431215 : data_tmp = full_data(idata)
35722 431215 : data_tmp = ISHFT(data_tmp, 18)
35723 431215 : data_tmp = IAND(data_tmp, mask_left(18))
35724 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35725 431215 : ipack = ipack + 1
35726 431215 : packed_data(ipack) = pack_tmp
35727 431215 : data_tmp = full_data(idata)
35728 431215 : pack_tmp = ISHFT(data_tmp, 36)
35729 431215 : pack_tmp = ISHFT(pack_tmp, -36)
35730 431215 : idata = idata + 1
35731 431215 : data_tmp = full_data(idata)
35732 431215 : data_tmp = ISHFT(data_tmp, 18)
35733 431215 : data_tmp = IAND(data_tmp, mask_left(36))
35734 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35735 431215 : ipack = ipack + 1
35736 431215 : packed_data(ipack) = pack_tmp
35737 431215 : data_tmp = full_data(idata)
35738 431215 : pack_tmp = ISHFT(data_tmp, 54)
35739 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35740 431215 : idata = idata + 1
35741 431215 : data_tmp = full_data(idata)
35742 431215 : data_tmp = ISHFT(data_tmp, 18)
35743 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35744 431215 : pack_tmp = ISHFT(pack_tmp, -8)
35745 431215 : idata = idata + 1
35746 431215 : data_tmp = full_data(idata)
35747 431215 : data_tmp = ISHFT(data_tmp, 18)
35748 431215 : data_tmp = IAND(data_tmp, mask_left(8))
35749 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35750 431215 : ipack = ipack + 1
35751 431215 : packed_data(ipack) = pack_tmp
35752 431215 : data_tmp = full_data(idata)
35753 431215 : pack_tmp = ISHFT(data_tmp, 26)
35754 431215 : pack_tmp = ISHFT(pack_tmp, -26)
35755 431215 : idata = idata + 1
35756 431215 : data_tmp = full_data(idata)
35757 431215 : data_tmp = ISHFT(data_tmp, 18)
35758 431215 : data_tmp = IAND(data_tmp, mask_left(26))
35759 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35760 431215 : ipack = ipack + 1
35761 431215 : packed_data(ipack) = pack_tmp
35762 431215 : data_tmp = full_data(idata)
35763 431215 : pack_tmp = ISHFT(data_tmp, 44)
35764 431215 : pack_tmp = ISHFT(pack_tmp, -44)
35765 431215 : idata = idata + 1
35766 431215 : data_tmp = full_data(idata)
35767 431215 : data_tmp = ISHFT(data_tmp, 18)
35768 431215 : data_tmp = IAND(data_tmp, mask_left(44))
35769 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35770 431215 : ipack = ipack + 1
35771 431215 : packed_data(ipack) = pack_tmp
35772 431215 : data_tmp = full_data(idata)
35773 431215 : pack_tmp = ISHFT(data_tmp, 62)
35774 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35775 431215 : idata = idata + 1
35776 431215 : data_tmp = full_data(idata)
35777 431215 : data_tmp = ISHFT(data_tmp, 18)
35778 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35779 431215 : pack_tmp = ISHFT(pack_tmp, -16)
35780 431215 : idata = idata + 1
35781 431215 : data_tmp = full_data(idata)
35782 431215 : data_tmp = ISHFT(data_tmp, 18)
35783 431215 : data_tmp = IAND(data_tmp, mask_left(16))
35784 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35785 431215 : ipack = ipack + 1
35786 431215 : packed_data(ipack) = pack_tmp
35787 431215 : data_tmp = full_data(idata)
35788 431215 : pack_tmp = ISHFT(data_tmp, 34)
35789 431215 : pack_tmp = ISHFT(pack_tmp, -34)
35790 431215 : idata = idata + 1
35791 431215 : data_tmp = full_data(idata)
35792 431215 : data_tmp = ISHFT(data_tmp, 18)
35793 431215 : data_tmp = IAND(data_tmp, mask_left(34))
35794 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35795 431215 : ipack = ipack + 1
35796 431215 : packed_data(ipack) = pack_tmp
35797 431215 : data_tmp = full_data(idata)
35798 431215 : pack_tmp = ISHFT(data_tmp, 52)
35799 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35800 431215 : idata = idata + 1
35801 431215 : data_tmp = full_data(idata)
35802 431215 : data_tmp = ISHFT(data_tmp, 18)
35803 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35804 431215 : pack_tmp = ISHFT(pack_tmp, -6)
35805 431215 : idata = idata + 1
35806 431215 : data_tmp = full_data(idata)
35807 431215 : data_tmp = ISHFT(data_tmp, 18)
35808 431215 : data_tmp = IAND(data_tmp, mask_left(6))
35809 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35810 431215 : ipack = ipack + 1
35811 431215 : packed_data(ipack) = pack_tmp
35812 431215 : data_tmp = full_data(idata)
35813 431215 : pack_tmp = ISHFT(data_tmp, 24)
35814 431215 : pack_tmp = ISHFT(pack_tmp, -24)
35815 431215 : idata = idata + 1
35816 431215 : data_tmp = full_data(idata)
35817 431215 : data_tmp = ISHFT(data_tmp, 18)
35818 431215 : data_tmp = IAND(data_tmp, mask_left(24))
35819 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35820 431215 : ipack = ipack + 1
35821 431215 : packed_data(ipack) = pack_tmp
35822 431215 : data_tmp = full_data(idata)
35823 431215 : pack_tmp = ISHFT(data_tmp, 42)
35824 431215 : pack_tmp = ISHFT(pack_tmp, -42)
35825 431215 : idata = idata + 1
35826 431215 : data_tmp = full_data(idata)
35827 431215 : data_tmp = ISHFT(data_tmp, 18)
35828 431215 : data_tmp = IAND(data_tmp, mask_left(42))
35829 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35830 431215 : ipack = ipack + 1
35831 431215 : packed_data(ipack) = pack_tmp
35832 431215 : data_tmp = full_data(idata)
35833 431215 : pack_tmp = ISHFT(data_tmp, 60)
35834 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35835 431215 : idata = idata + 1
35836 431215 : data_tmp = full_data(idata)
35837 431215 : data_tmp = ISHFT(data_tmp, 18)
35838 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35839 431215 : pack_tmp = ISHFT(pack_tmp, -14)
35840 431215 : idata = idata + 1
35841 431215 : data_tmp = full_data(idata)
35842 431215 : data_tmp = ISHFT(data_tmp, 18)
35843 431215 : data_tmp = IAND(data_tmp, mask_left(14))
35844 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35845 431215 : ipack = ipack + 1
35846 431215 : packed_data(ipack) = pack_tmp
35847 431215 : data_tmp = full_data(idata)
35848 431215 : pack_tmp = ISHFT(data_tmp, 32)
35849 431215 : pack_tmp = ISHFT(pack_tmp, -32)
35850 431215 : idata = idata + 1
35851 431215 : data_tmp = full_data(idata)
35852 431215 : data_tmp = ISHFT(data_tmp, 18)
35853 431215 : data_tmp = IAND(data_tmp, mask_left(32))
35854 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35855 431215 : ipack = ipack + 1
35856 431215 : packed_data(ipack) = pack_tmp
35857 431215 : data_tmp = full_data(idata)
35858 431215 : pack_tmp = ISHFT(data_tmp, 50)
35859 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35860 431215 : idata = idata + 1
35861 431215 : data_tmp = full_data(idata)
35862 431215 : data_tmp = ISHFT(data_tmp, 18)
35863 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35864 431215 : pack_tmp = ISHFT(pack_tmp, -4)
35865 431215 : idata = idata + 1
35866 431215 : data_tmp = full_data(idata)
35867 431215 : data_tmp = ISHFT(data_tmp, 18)
35868 431215 : data_tmp = IAND(data_tmp, mask_left(4))
35869 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35870 431215 : ipack = ipack + 1
35871 431215 : packed_data(ipack) = pack_tmp
35872 431215 : data_tmp = full_data(idata)
35873 431215 : pack_tmp = ISHFT(data_tmp, 22)
35874 431215 : pack_tmp = ISHFT(pack_tmp, -22)
35875 431215 : idata = idata + 1
35876 431215 : data_tmp = full_data(idata)
35877 431215 : data_tmp = ISHFT(data_tmp, 18)
35878 431215 : data_tmp = IAND(data_tmp, mask_left(22))
35879 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35880 431215 : ipack = ipack + 1
35881 431215 : packed_data(ipack) = pack_tmp
35882 431215 : data_tmp = full_data(idata)
35883 431215 : pack_tmp = ISHFT(data_tmp, 40)
35884 431215 : pack_tmp = ISHFT(pack_tmp, -40)
35885 431215 : idata = idata + 1
35886 431215 : data_tmp = full_data(idata)
35887 431215 : data_tmp = ISHFT(data_tmp, 18)
35888 431215 : data_tmp = IAND(data_tmp, mask_left(40))
35889 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35890 431215 : ipack = ipack + 1
35891 431215 : packed_data(ipack) = pack_tmp
35892 431215 : data_tmp = full_data(idata)
35893 431215 : pack_tmp = ISHFT(data_tmp, 58)
35894 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35895 431215 : idata = idata + 1
35896 431215 : data_tmp = full_data(idata)
35897 431215 : data_tmp = ISHFT(data_tmp, 18)
35898 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35899 431215 : pack_tmp = ISHFT(pack_tmp, -12)
35900 431215 : idata = idata + 1
35901 431215 : data_tmp = full_data(idata)
35902 431215 : data_tmp = ISHFT(data_tmp, 18)
35903 431215 : data_tmp = IAND(data_tmp, mask_left(12))
35904 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35905 431215 : ipack = ipack + 1
35906 431215 : packed_data(ipack) = pack_tmp
35907 431215 : data_tmp = full_data(idata)
35908 431215 : pack_tmp = ISHFT(data_tmp, 30)
35909 431215 : pack_tmp = ISHFT(pack_tmp, -30)
35910 431215 : idata = idata + 1
35911 431215 : data_tmp = full_data(idata)
35912 431215 : data_tmp = ISHFT(data_tmp, 18)
35913 431215 : data_tmp = IAND(data_tmp, mask_left(30))
35914 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35915 431215 : ipack = ipack + 1
35916 431215 : packed_data(ipack) = pack_tmp
35917 431215 : data_tmp = full_data(idata)
35918 431215 : pack_tmp = ISHFT(data_tmp, 48)
35919 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35920 431215 : idata = idata + 1
35921 431215 : data_tmp = full_data(idata)
35922 431215 : data_tmp = ISHFT(data_tmp, 18)
35923 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35924 431215 : pack_tmp = ISHFT(pack_tmp, -2)
35925 431215 : idata = idata + 1
35926 431215 : data_tmp = full_data(idata)
35927 431215 : data_tmp = ISHFT(data_tmp, 18)
35928 431215 : data_tmp = IAND(data_tmp, mask_left(2))
35929 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35930 431215 : ipack = ipack + 1
35931 431215 : packed_data(ipack) = pack_tmp
35932 431215 : data_tmp = full_data(idata)
35933 431215 : pack_tmp = ISHFT(data_tmp, 20)
35934 431215 : pack_tmp = ISHFT(pack_tmp, -20)
35935 431215 : idata = idata + 1
35936 431215 : data_tmp = full_data(idata)
35937 431215 : data_tmp = ISHFT(data_tmp, 18)
35938 431215 : data_tmp = IAND(data_tmp, mask_left(20))
35939 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35940 431215 : ipack = ipack + 1
35941 431215 : packed_data(ipack) = pack_tmp
35942 431215 : data_tmp = full_data(idata)
35943 431215 : pack_tmp = ISHFT(data_tmp, 38)
35944 431215 : pack_tmp = ISHFT(pack_tmp, -38)
35945 431215 : idata = idata + 1
35946 431215 : data_tmp = full_data(idata)
35947 431215 : data_tmp = ISHFT(data_tmp, 18)
35948 431215 : data_tmp = IAND(data_tmp, mask_left(38))
35949 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35950 431215 : ipack = ipack + 1
35951 431215 : packed_data(ipack) = pack_tmp
35952 431215 : data_tmp = full_data(idata)
35953 431215 : pack_tmp = ISHFT(data_tmp, 56)
35954 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35955 431215 : idata = idata + 1
35956 431215 : data_tmp = full_data(idata)
35957 431215 : data_tmp = ISHFT(data_tmp, 18)
35958 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35959 431215 : pack_tmp = ISHFT(pack_tmp, -10)
35960 431215 : idata = idata + 1
35961 431215 : data_tmp = full_data(idata)
35962 431215 : data_tmp = ISHFT(data_tmp, 18)
35963 431215 : data_tmp = IAND(data_tmp, mask_left(10))
35964 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35965 431215 : ipack = ipack + 1
35966 431215 : packed_data(ipack) = pack_tmp
35967 431215 : data_tmp = full_data(idata)
35968 431215 : pack_tmp = ISHFT(data_tmp, 28)
35969 431215 : pack_tmp = ISHFT(pack_tmp, -28)
35970 431215 : idata = idata + 1
35971 431215 : data_tmp = full_data(idata)
35972 431215 : data_tmp = ISHFT(data_tmp, 18)
35973 431215 : data_tmp = IAND(data_tmp, mask_left(28))
35974 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35975 431215 : ipack = ipack + 1
35976 431215 : packed_data(ipack) = pack_tmp
35977 431215 : data_tmp = full_data(idata)
35978 431215 : pack_tmp = ISHFT(data_tmp, 46)
35979 431215 : pack_tmp = ISHFT(pack_tmp, -46)
35980 431215 : idata = idata + 1
35981 431215 : data_tmp = full_data(idata)
35982 431215 : data_tmp = ISHFT(data_tmp, 18)
35983 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35984 431215 : pack_tmp = ISHFT(pack_tmp, 0)
35985 431215 : idata = idata + 1
35986 431215 : data_tmp = full_data(idata)
35987 : data_tmp = ISHFT(data_tmp, 18)
35988 431215 : data_tmp = IAND(data_tmp, mask_left(0))
35989 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
35990 431215 : ipack = ipack + 1
35991 431215 : packed_data(ipack) = pack_tmp
35992 431215 : data_tmp = full_data(idata)
35993 431215 : pack_tmp = ISHFT(data_tmp, 18)
35994 431215 : pack_tmp = ISHFT(pack_tmp, -18)
35995 431215 : idata = idata + 1
35996 431215 : data_tmp = full_data(idata)
35997 431215 : data_tmp = ISHFT(data_tmp, 18)
35998 431215 : data_tmp = IAND(data_tmp, mask_left(18))
35999 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36000 431215 : ipack = ipack + 1
36001 431215 : packed_data(ipack) = pack_tmp
36002 431215 : data_tmp = full_data(idata)
36003 431215 : pack_tmp = ISHFT(data_tmp, 36)
36004 431215 : pack_tmp = ISHFT(pack_tmp, -36)
36005 431215 : idata = idata + 1
36006 431215 : data_tmp = full_data(idata)
36007 431215 : data_tmp = ISHFT(data_tmp, 18)
36008 431215 : data_tmp = IAND(data_tmp, mask_left(36))
36009 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36010 431215 : ipack = ipack + 1
36011 431215 : packed_data(ipack) = pack_tmp
36012 431215 : data_tmp = full_data(idata)
36013 431215 : pack_tmp = ISHFT(data_tmp, 54)
36014 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36015 431215 : idata = idata + 1
36016 431215 : data_tmp = full_data(idata)
36017 431215 : data_tmp = ISHFT(data_tmp, 18)
36018 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36019 431215 : pack_tmp = ISHFT(pack_tmp, -8)
36020 431215 : idata = idata + 1
36021 431215 : data_tmp = full_data(idata)
36022 431215 : data_tmp = ISHFT(data_tmp, 18)
36023 431215 : data_tmp = IAND(data_tmp, mask_left(8))
36024 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36025 431215 : ipack = ipack + 1
36026 431215 : packed_data(ipack) = pack_tmp
36027 431215 : data_tmp = full_data(idata)
36028 431215 : pack_tmp = ISHFT(data_tmp, 26)
36029 431215 : pack_tmp = ISHFT(pack_tmp, -26)
36030 431215 : idata = idata + 1
36031 431215 : data_tmp = full_data(idata)
36032 431215 : data_tmp = ISHFT(data_tmp, 18)
36033 431215 : data_tmp = IAND(data_tmp, mask_left(26))
36034 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36035 431215 : ipack = ipack + 1
36036 431215 : packed_data(ipack) = pack_tmp
36037 431215 : data_tmp = full_data(idata)
36038 431215 : pack_tmp = ISHFT(data_tmp, 44)
36039 431215 : pack_tmp = ISHFT(pack_tmp, -44)
36040 431215 : idata = idata + 1
36041 431215 : data_tmp = full_data(idata)
36042 431215 : data_tmp = ISHFT(data_tmp, 18)
36043 431215 : data_tmp = IAND(data_tmp, mask_left(44))
36044 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36045 431215 : ipack = ipack + 1
36046 431215 : packed_data(ipack) = pack_tmp
36047 431215 : data_tmp = full_data(idata)
36048 431215 : pack_tmp = ISHFT(data_tmp, 62)
36049 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36050 431215 : idata = idata + 1
36051 431215 : data_tmp = full_data(idata)
36052 431215 : data_tmp = ISHFT(data_tmp, 18)
36053 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36054 431215 : pack_tmp = ISHFT(pack_tmp, -16)
36055 431215 : idata = idata + 1
36056 431215 : data_tmp = full_data(idata)
36057 431215 : data_tmp = ISHFT(data_tmp, 18)
36058 431215 : data_tmp = IAND(data_tmp, mask_left(16))
36059 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36060 431215 : ipack = ipack + 1
36061 431215 : packed_data(ipack) = pack_tmp
36062 431215 : data_tmp = full_data(idata)
36063 431215 : pack_tmp = ISHFT(data_tmp, 34)
36064 431215 : pack_tmp = ISHFT(pack_tmp, -34)
36065 431215 : idata = idata + 1
36066 431215 : data_tmp = full_data(idata)
36067 431215 : data_tmp = ISHFT(data_tmp, 18)
36068 431215 : data_tmp = IAND(data_tmp, mask_left(34))
36069 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36070 431215 : ipack = ipack + 1
36071 431215 : packed_data(ipack) = pack_tmp
36072 431215 : data_tmp = full_data(idata)
36073 431215 : pack_tmp = ISHFT(data_tmp, 52)
36074 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36075 431215 : idata = idata + 1
36076 431215 : data_tmp = full_data(idata)
36077 431215 : data_tmp = ISHFT(data_tmp, 18)
36078 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36079 431215 : pack_tmp = ISHFT(pack_tmp, -6)
36080 431215 : idata = idata + 1
36081 431215 : data_tmp = full_data(idata)
36082 431215 : data_tmp = ISHFT(data_tmp, 18)
36083 431215 : data_tmp = IAND(data_tmp, mask_left(6))
36084 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36085 431215 : ipack = ipack + 1
36086 431215 : packed_data(ipack) = pack_tmp
36087 431215 : data_tmp = full_data(idata)
36088 431215 : pack_tmp = ISHFT(data_tmp, 24)
36089 431215 : pack_tmp = ISHFT(pack_tmp, -24)
36090 431215 : idata = idata + 1
36091 431215 : data_tmp = full_data(idata)
36092 431215 : data_tmp = ISHFT(data_tmp, 18)
36093 431215 : data_tmp = IAND(data_tmp, mask_left(24))
36094 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36095 431215 : ipack = ipack + 1
36096 431215 : packed_data(ipack) = pack_tmp
36097 431215 : data_tmp = full_data(idata)
36098 431215 : pack_tmp = ISHFT(data_tmp, 42)
36099 431215 : pack_tmp = ISHFT(pack_tmp, -42)
36100 431215 : idata = idata + 1
36101 431215 : data_tmp = full_data(idata)
36102 431215 : data_tmp = ISHFT(data_tmp, 18)
36103 431215 : data_tmp = IAND(data_tmp, mask_left(42))
36104 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36105 431215 : ipack = ipack + 1
36106 431215 : packed_data(ipack) = pack_tmp
36107 431215 : data_tmp = full_data(idata)
36108 431215 : pack_tmp = ISHFT(data_tmp, 60)
36109 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36110 431215 : idata = idata + 1
36111 431215 : data_tmp = full_data(idata)
36112 431215 : data_tmp = ISHFT(data_tmp, 18)
36113 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36114 431215 : pack_tmp = ISHFT(pack_tmp, -14)
36115 431215 : idata = idata + 1
36116 431215 : data_tmp = full_data(idata)
36117 431215 : data_tmp = ISHFT(data_tmp, 18)
36118 431215 : data_tmp = IAND(data_tmp, mask_left(14))
36119 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36120 431215 : ipack = ipack + 1
36121 431215 : packed_data(ipack) = pack_tmp
36122 431215 : data_tmp = full_data(idata)
36123 431215 : pack_tmp = ISHFT(data_tmp, 32)
36124 431215 : pack_tmp = ISHFT(pack_tmp, -32)
36125 431215 : idata = idata + 1
36126 431215 : data_tmp = full_data(idata)
36127 431215 : data_tmp = ISHFT(data_tmp, 18)
36128 431215 : data_tmp = IAND(data_tmp, mask_left(32))
36129 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36130 431215 : ipack = ipack + 1
36131 431215 : packed_data(ipack) = pack_tmp
36132 431215 : data_tmp = full_data(idata)
36133 431215 : pack_tmp = ISHFT(data_tmp, 50)
36134 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36135 431215 : idata = idata + 1
36136 431215 : data_tmp = full_data(idata)
36137 431215 : data_tmp = ISHFT(data_tmp, 18)
36138 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36139 431215 : pack_tmp = ISHFT(pack_tmp, -4)
36140 431215 : idata = idata + 1
36141 431215 : data_tmp = full_data(idata)
36142 431215 : data_tmp = ISHFT(data_tmp, 18)
36143 431215 : data_tmp = IAND(data_tmp, mask_left(4))
36144 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36145 431215 : ipack = ipack + 1
36146 431215 : packed_data(ipack) = pack_tmp
36147 431215 : data_tmp = full_data(idata)
36148 431215 : pack_tmp = ISHFT(data_tmp, 22)
36149 431215 : pack_tmp = ISHFT(pack_tmp, -22)
36150 431215 : idata = idata + 1
36151 431215 : data_tmp = full_data(idata)
36152 431215 : data_tmp = ISHFT(data_tmp, 18)
36153 431215 : data_tmp = IAND(data_tmp, mask_left(22))
36154 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36155 431215 : ipack = ipack + 1
36156 431215 : packed_data(ipack) = pack_tmp
36157 431215 : data_tmp = full_data(idata)
36158 431215 : pack_tmp = ISHFT(data_tmp, 40)
36159 431215 : pack_tmp = ISHFT(pack_tmp, -40)
36160 431215 : idata = idata + 1
36161 431215 : data_tmp = full_data(idata)
36162 431215 : data_tmp = ISHFT(data_tmp, 18)
36163 431215 : data_tmp = IAND(data_tmp, mask_left(40))
36164 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36165 431215 : ipack = ipack + 1
36166 431215 : packed_data(ipack) = pack_tmp
36167 431215 : data_tmp = full_data(idata)
36168 431215 : pack_tmp = ISHFT(data_tmp, 58)
36169 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36170 431215 : idata = idata + 1
36171 431215 : data_tmp = full_data(idata)
36172 431215 : data_tmp = ISHFT(data_tmp, 18)
36173 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36174 431215 : pack_tmp = ISHFT(pack_tmp, -12)
36175 431215 : idata = idata + 1
36176 431215 : data_tmp = full_data(idata)
36177 431215 : data_tmp = ISHFT(data_tmp, 18)
36178 431215 : data_tmp = IAND(data_tmp, mask_left(12))
36179 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36180 431215 : ipack = ipack + 1
36181 431215 : packed_data(ipack) = pack_tmp
36182 431215 : data_tmp = full_data(idata)
36183 431215 : pack_tmp = ISHFT(data_tmp, 30)
36184 431215 : pack_tmp = ISHFT(pack_tmp, -30)
36185 431215 : idata = idata + 1
36186 431215 : data_tmp = full_data(idata)
36187 431215 : data_tmp = ISHFT(data_tmp, 18)
36188 431215 : data_tmp = IAND(data_tmp, mask_left(30))
36189 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36190 431215 : ipack = ipack + 1
36191 431215 : packed_data(ipack) = pack_tmp
36192 431215 : data_tmp = full_data(idata)
36193 431215 : pack_tmp = ISHFT(data_tmp, 48)
36194 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36195 431215 : idata = idata + 1
36196 431215 : data_tmp = full_data(idata)
36197 431215 : data_tmp = ISHFT(data_tmp, 18)
36198 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36199 431215 : pack_tmp = ISHFT(pack_tmp, -2)
36200 431215 : idata = idata + 1
36201 431215 : data_tmp = full_data(idata)
36202 431215 : data_tmp = ISHFT(data_tmp, 18)
36203 431215 : data_tmp = IAND(data_tmp, mask_left(2))
36204 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36205 431215 : ipack = ipack + 1
36206 431215 : packed_data(ipack) = pack_tmp
36207 431215 : data_tmp = full_data(idata)
36208 431215 : pack_tmp = ISHFT(data_tmp, 20)
36209 431215 : pack_tmp = ISHFT(pack_tmp, -20)
36210 431215 : idata = idata + 1
36211 431215 : data_tmp = full_data(idata)
36212 431215 : data_tmp = ISHFT(data_tmp, 18)
36213 431215 : data_tmp = IAND(data_tmp, mask_left(20))
36214 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36215 431215 : ipack = ipack + 1
36216 431215 : packed_data(ipack) = pack_tmp
36217 431215 : data_tmp = full_data(idata)
36218 431215 : pack_tmp = ISHFT(data_tmp, 38)
36219 431215 : pack_tmp = ISHFT(pack_tmp, -38)
36220 431215 : idata = idata + 1
36221 431215 : data_tmp = full_data(idata)
36222 431215 : data_tmp = ISHFT(data_tmp, 18)
36223 431215 : data_tmp = IAND(data_tmp, mask_left(38))
36224 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36225 431215 : ipack = ipack + 1
36226 431215 : packed_data(ipack) = pack_tmp
36227 431215 : data_tmp = full_data(idata)
36228 431215 : pack_tmp = ISHFT(data_tmp, 56)
36229 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36230 431215 : idata = idata + 1
36231 431215 : data_tmp = full_data(idata)
36232 431215 : data_tmp = ISHFT(data_tmp, 18)
36233 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36234 431215 : pack_tmp = ISHFT(pack_tmp, -10)
36235 431215 : idata = idata + 1
36236 431215 : data_tmp = full_data(idata)
36237 431215 : data_tmp = ISHFT(data_tmp, 18)
36238 431215 : data_tmp = IAND(data_tmp, mask_left(10))
36239 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36240 431215 : ipack = ipack + 1
36241 431215 : packed_data(ipack) = pack_tmp
36242 431215 : data_tmp = full_data(idata)
36243 431215 : pack_tmp = ISHFT(data_tmp, 28)
36244 431215 : pack_tmp = ISHFT(pack_tmp, -28)
36245 431215 : idata = idata + 1
36246 431215 : data_tmp = full_data(idata)
36247 431215 : data_tmp = ISHFT(data_tmp, 18)
36248 431215 : data_tmp = IAND(data_tmp, mask_left(28))
36249 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36250 431215 : ipack = ipack + 1
36251 431215 : packed_data(ipack) = pack_tmp
36252 431215 : data_tmp = full_data(idata)
36253 431215 : pack_tmp = ISHFT(data_tmp, 46)
36254 431215 : pack_tmp = ISHFT(pack_tmp, -46)
36255 431215 : idata = idata + 1
36256 431215 : data_tmp = full_data(idata)
36257 431215 : data_tmp = ISHFT(data_tmp, 18)
36258 431215 : pack_tmp = IOR(pack_tmp, data_tmp)
36259 : pack_tmp = ISHFT(pack_tmp, 0)
36260 431215 : pack_tmp = ISHFT(pack_tmp, 0)
36261 431215 : ipack = ipack + 1
36262 431260 : packed_data(ipack) = pack_tmp
36263 : END DO
36264 29430 : IF (Ndata_rep < Ndata) THEN
36265 4546 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
36266 : END IF
36267 29430 : END SUBROUTINE ints2bits_46
36268 :
36269 : ! **************************************************************************************************
36270 : !> \brief ...
36271 : !> \param Ndata ...
36272 : !> \param packed_data ...
36273 : !> \param full_data ...
36274 : ! **************************************************************************************************
36275 122973 : 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(*)
36279 :
36280 : INTEGER, PARAMETER :: Nbits = 46
36281 :
36282 : INTEGER :: idata, ipack, kdata, Ndata_rep
36283 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
36284 :
36285 122973 : ipack = 0
36286 122973 : idata = 0
36287 122973 : pack_tmp = 0
36288 122973 : Ndata_rep = (Ndata/64)*64
36289 122973 : DO kdata = 1, Ndata_rep, 64
36290 1781827 : idata = idata + 1
36291 1781827 : data_tmp = ISHFT(pack_tmp, 46)
36292 1781827 : ipack = ipack + 1
36293 1781827 : pack_tmp = packed_data(ipack)
36294 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
36295 1781827 : pack_tmp = ISHFT(pack_tmp, -46)
36296 1781827 : idata = idata + 1
36297 1781827 : data_tmp = ISHFT(pack_tmp, 28)
36298 1781827 : ipack = ipack + 1
36299 1781827 : pack_tmp = packed_data(ipack)
36300 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
36301 1781827 : pack_tmp = ISHFT(pack_tmp, -28)
36302 1781827 : idata = idata + 1
36303 1781827 : data_tmp = ISHFT(pack_tmp, 10)
36304 1781827 : ipack = ipack + 1
36305 1781827 : pack_tmp = packed_data(ipack)
36306 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
36307 1781827 : pack_tmp = ISHFT(pack_tmp, -10)
36308 1781827 : idata = idata + 1
36309 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36310 1781827 : full_data(idata) = data_tmp
36311 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36312 1781827 : idata = idata + 1
36313 1781827 : data_tmp = ISHFT(pack_tmp, 38)
36314 1781827 : ipack = ipack + 1
36315 1781827 : pack_tmp = packed_data(ipack)
36316 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
36317 1781827 : pack_tmp = ISHFT(pack_tmp, -38)
36318 1781827 : idata = idata + 1
36319 1781827 : data_tmp = ISHFT(pack_tmp, 20)
36320 1781827 : ipack = ipack + 1
36321 1781827 : pack_tmp = packed_data(ipack)
36322 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
36323 1781827 : pack_tmp = ISHFT(pack_tmp, -20)
36324 1781827 : idata = idata + 1
36325 1781827 : data_tmp = ISHFT(pack_tmp, 2)
36326 1781827 : ipack = ipack + 1
36327 1781827 : pack_tmp = packed_data(ipack)
36328 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
36329 1781827 : pack_tmp = ISHFT(pack_tmp, -2)
36330 1781827 : idata = idata + 1
36331 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36332 1781827 : full_data(idata) = data_tmp
36333 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36334 1781827 : idata = idata + 1
36335 1781827 : data_tmp = ISHFT(pack_tmp, 30)
36336 1781827 : ipack = ipack + 1
36337 1781827 : pack_tmp = packed_data(ipack)
36338 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
36339 1781827 : pack_tmp = ISHFT(pack_tmp, -30)
36340 1781827 : idata = idata + 1
36341 1781827 : data_tmp = ISHFT(pack_tmp, 12)
36342 1781827 : ipack = ipack + 1
36343 1781827 : pack_tmp = packed_data(ipack)
36344 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
36345 1781827 : pack_tmp = ISHFT(pack_tmp, -12)
36346 1781827 : idata = idata + 1
36347 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36348 1781827 : full_data(idata) = data_tmp
36349 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36350 1781827 : idata = idata + 1
36351 1781827 : data_tmp = ISHFT(pack_tmp, 40)
36352 1781827 : ipack = ipack + 1
36353 1781827 : pack_tmp = packed_data(ipack)
36354 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
36355 1781827 : pack_tmp = ISHFT(pack_tmp, -40)
36356 1781827 : idata = idata + 1
36357 1781827 : data_tmp = ISHFT(pack_tmp, 22)
36358 1781827 : ipack = ipack + 1
36359 1781827 : pack_tmp = packed_data(ipack)
36360 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
36361 1781827 : pack_tmp = ISHFT(pack_tmp, -22)
36362 1781827 : idata = idata + 1
36363 1781827 : data_tmp = ISHFT(pack_tmp, 4)
36364 1781827 : ipack = ipack + 1
36365 1781827 : pack_tmp = packed_data(ipack)
36366 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
36367 1781827 : pack_tmp = ISHFT(pack_tmp, -4)
36368 1781827 : idata = idata + 1
36369 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36370 1781827 : full_data(idata) = data_tmp
36371 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36372 1781827 : idata = idata + 1
36373 1781827 : data_tmp = ISHFT(pack_tmp, 32)
36374 1781827 : ipack = ipack + 1
36375 1781827 : pack_tmp = packed_data(ipack)
36376 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
36377 1781827 : pack_tmp = ISHFT(pack_tmp, -32)
36378 1781827 : idata = idata + 1
36379 1781827 : data_tmp = ISHFT(pack_tmp, 14)
36380 1781827 : ipack = ipack + 1
36381 1781827 : pack_tmp = packed_data(ipack)
36382 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
36383 1781827 : pack_tmp = ISHFT(pack_tmp, -14)
36384 1781827 : idata = idata + 1
36385 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36386 1781827 : full_data(idata) = data_tmp
36387 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36388 1781827 : idata = idata + 1
36389 1781827 : data_tmp = ISHFT(pack_tmp, 42)
36390 1781827 : ipack = ipack + 1
36391 1781827 : pack_tmp = packed_data(ipack)
36392 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
36393 1781827 : pack_tmp = ISHFT(pack_tmp, -42)
36394 1781827 : idata = idata + 1
36395 1781827 : data_tmp = ISHFT(pack_tmp, 24)
36396 1781827 : ipack = ipack + 1
36397 1781827 : pack_tmp = packed_data(ipack)
36398 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
36399 1781827 : pack_tmp = ISHFT(pack_tmp, -24)
36400 1781827 : idata = idata + 1
36401 1781827 : data_tmp = ISHFT(pack_tmp, 6)
36402 1781827 : ipack = ipack + 1
36403 1781827 : pack_tmp = packed_data(ipack)
36404 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
36405 1781827 : pack_tmp = ISHFT(pack_tmp, -6)
36406 1781827 : idata = idata + 1
36407 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36408 1781827 : full_data(idata) = data_tmp
36409 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36410 1781827 : idata = idata + 1
36411 1781827 : data_tmp = ISHFT(pack_tmp, 34)
36412 1781827 : ipack = ipack + 1
36413 1781827 : pack_tmp = packed_data(ipack)
36414 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
36415 1781827 : pack_tmp = ISHFT(pack_tmp, -34)
36416 1781827 : idata = idata + 1
36417 1781827 : data_tmp = ISHFT(pack_tmp, 16)
36418 1781827 : ipack = ipack + 1
36419 1781827 : pack_tmp = packed_data(ipack)
36420 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
36421 1781827 : pack_tmp = ISHFT(pack_tmp, -16)
36422 1781827 : idata = idata + 1
36423 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36424 1781827 : full_data(idata) = data_tmp
36425 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36426 1781827 : idata = idata + 1
36427 1781827 : data_tmp = ISHFT(pack_tmp, 44)
36428 1781827 : ipack = ipack + 1
36429 1781827 : pack_tmp = packed_data(ipack)
36430 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
36431 1781827 : pack_tmp = ISHFT(pack_tmp, -44)
36432 1781827 : idata = idata + 1
36433 1781827 : data_tmp = ISHFT(pack_tmp, 26)
36434 1781827 : ipack = ipack + 1
36435 1781827 : pack_tmp = packed_data(ipack)
36436 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
36437 1781827 : pack_tmp = ISHFT(pack_tmp, -26)
36438 1781827 : idata = idata + 1
36439 1781827 : data_tmp = ISHFT(pack_tmp, 8)
36440 1781827 : ipack = ipack + 1
36441 1781827 : pack_tmp = packed_data(ipack)
36442 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
36443 1781827 : pack_tmp = ISHFT(pack_tmp, -8)
36444 1781827 : idata = idata + 1
36445 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36446 1781827 : full_data(idata) = data_tmp
36447 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36448 1781827 : idata = idata + 1
36449 1781827 : data_tmp = ISHFT(pack_tmp, 36)
36450 1781827 : ipack = ipack + 1
36451 1781827 : pack_tmp = packed_data(ipack)
36452 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
36453 1781827 : pack_tmp = ISHFT(pack_tmp, -36)
36454 1781827 : idata = idata + 1
36455 1781827 : data_tmp = ISHFT(pack_tmp, 18)
36456 1781827 : ipack = ipack + 1
36457 1781827 : pack_tmp = packed_data(ipack)
36458 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
36459 1781827 : pack_tmp = ISHFT(pack_tmp, -18)
36460 1781827 : idata = idata + 1
36461 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36462 1781827 : full_data(idata) = data_tmp
36463 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36464 1781827 : idata = idata + 1
36465 1781827 : data_tmp = ISHFT(pack_tmp, 46)
36466 1781827 : ipack = ipack + 1
36467 1781827 : pack_tmp = packed_data(ipack)
36468 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
36469 1781827 : pack_tmp = ISHFT(pack_tmp, -46)
36470 1781827 : idata = idata + 1
36471 1781827 : data_tmp = ISHFT(pack_tmp, 28)
36472 1781827 : ipack = ipack + 1
36473 1781827 : pack_tmp = packed_data(ipack)
36474 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
36475 1781827 : pack_tmp = ISHFT(pack_tmp, -28)
36476 1781827 : idata = idata + 1
36477 1781827 : data_tmp = ISHFT(pack_tmp, 10)
36478 1781827 : ipack = ipack + 1
36479 1781827 : pack_tmp = packed_data(ipack)
36480 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
36481 1781827 : pack_tmp = ISHFT(pack_tmp, -10)
36482 1781827 : idata = idata + 1
36483 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36484 1781827 : full_data(idata) = data_tmp
36485 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36486 1781827 : idata = idata + 1
36487 1781827 : data_tmp = ISHFT(pack_tmp, 38)
36488 1781827 : ipack = ipack + 1
36489 1781827 : pack_tmp = packed_data(ipack)
36490 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
36491 1781827 : pack_tmp = ISHFT(pack_tmp, -38)
36492 1781827 : idata = idata + 1
36493 1781827 : data_tmp = ISHFT(pack_tmp, 20)
36494 1781827 : ipack = ipack + 1
36495 1781827 : pack_tmp = packed_data(ipack)
36496 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
36497 1781827 : pack_tmp = ISHFT(pack_tmp, -20)
36498 1781827 : idata = idata + 1
36499 1781827 : data_tmp = ISHFT(pack_tmp, 2)
36500 1781827 : ipack = ipack + 1
36501 1781827 : pack_tmp = packed_data(ipack)
36502 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
36503 1781827 : pack_tmp = ISHFT(pack_tmp, -2)
36504 1781827 : idata = idata + 1
36505 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36506 1781827 : full_data(idata) = data_tmp
36507 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36508 1781827 : idata = idata + 1
36509 1781827 : data_tmp = ISHFT(pack_tmp, 30)
36510 1781827 : ipack = ipack + 1
36511 1781827 : pack_tmp = packed_data(ipack)
36512 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
36513 1781827 : pack_tmp = ISHFT(pack_tmp, -30)
36514 1781827 : idata = idata + 1
36515 1781827 : data_tmp = ISHFT(pack_tmp, 12)
36516 1781827 : ipack = ipack + 1
36517 1781827 : pack_tmp = packed_data(ipack)
36518 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
36519 1781827 : pack_tmp = ISHFT(pack_tmp, -12)
36520 1781827 : idata = idata + 1
36521 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36522 1781827 : full_data(idata) = data_tmp
36523 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36524 1781827 : idata = idata + 1
36525 1781827 : data_tmp = ISHFT(pack_tmp, 40)
36526 1781827 : ipack = ipack + 1
36527 1781827 : pack_tmp = packed_data(ipack)
36528 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
36529 1781827 : pack_tmp = ISHFT(pack_tmp, -40)
36530 1781827 : idata = idata + 1
36531 1781827 : data_tmp = ISHFT(pack_tmp, 22)
36532 1781827 : ipack = ipack + 1
36533 1781827 : pack_tmp = packed_data(ipack)
36534 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
36535 1781827 : pack_tmp = ISHFT(pack_tmp, -22)
36536 1781827 : idata = idata + 1
36537 1781827 : data_tmp = ISHFT(pack_tmp, 4)
36538 1781827 : ipack = ipack + 1
36539 1781827 : pack_tmp = packed_data(ipack)
36540 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
36541 1781827 : pack_tmp = ISHFT(pack_tmp, -4)
36542 1781827 : idata = idata + 1
36543 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36544 1781827 : full_data(idata) = data_tmp
36545 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36546 1781827 : idata = idata + 1
36547 1781827 : data_tmp = ISHFT(pack_tmp, 32)
36548 1781827 : ipack = ipack + 1
36549 1781827 : pack_tmp = packed_data(ipack)
36550 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
36551 1781827 : pack_tmp = ISHFT(pack_tmp, -32)
36552 1781827 : idata = idata + 1
36553 1781827 : data_tmp = ISHFT(pack_tmp, 14)
36554 1781827 : ipack = ipack + 1
36555 1781827 : pack_tmp = packed_data(ipack)
36556 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
36557 1781827 : pack_tmp = ISHFT(pack_tmp, -14)
36558 1781827 : idata = idata + 1
36559 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36560 1781827 : full_data(idata) = data_tmp
36561 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36562 1781827 : idata = idata + 1
36563 1781827 : data_tmp = ISHFT(pack_tmp, 42)
36564 1781827 : ipack = ipack + 1
36565 1781827 : pack_tmp = packed_data(ipack)
36566 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
36567 1781827 : pack_tmp = ISHFT(pack_tmp, -42)
36568 1781827 : idata = idata + 1
36569 1781827 : data_tmp = ISHFT(pack_tmp, 24)
36570 1781827 : ipack = ipack + 1
36571 1781827 : pack_tmp = packed_data(ipack)
36572 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
36573 1781827 : pack_tmp = ISHFT(pack_tmp, -24)
36574 1781827 : idata = idata + 1
36575 1781827 : data_tmp = ISHFT(pack_tmp, 6)
36576 1781827 : ipack = ipack + 1
36577 1781827 : pack_tmp = packed_data(ipack)
36578 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
36579 1781827 : pack_tmp = ISHFT(pack_tmp, -6)
36580 1781827 : idata = idata + 1
36581 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36582 1781827 : full_data(idata) = data_tmp
36583 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36584 1781827 : idata = idata + 1
36585 1781827 : data_tmp = ISHFT(pack_tmp, 34)
36586 1781827 : ipack = ipack + 1
36587 1781827 : pack_tmp = packed_data(ipack)
36588 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
36589 1781827 : pack_tmp = ISHFT(pack_tmp, -34)
36590 1781827 : idata = idata + 1
36591 1781827 : data_tmp = ISHFT(pack_tmp, 16)
36592 1781827 : ipack = ipack + 1
36593 1781827 : pack_tmp = packed_data(ipack)
36594 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
36595 1781827 : pack_tmp = ISHFT(pack_tmp, -16)
36596 1781827 : idata = idata + 1
36597 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36598 1781827 : full_data(idata) = data_tmp
36599 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36600 1781827 : idata = idata + 1
36601 1781827 : data_tmp = ISHFT(pack_tmp, 44)
36602 1781827 : ipack = ipack + 1
36603 1781827 : pack_tmp = packed_data(ipack)
36604 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
36605 1781827 : pack_tmp = ISHFT(pack_tmp, -44)
36606 1781827 : idata = idata + 1
36607 1781827 : data_tmp = ISHFT(pack_tmp, 26)
36608 1781827 : ipack = ipack + 1
36609 1781827 : pack_tmp = packed_data(ipack)
36610 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
36611 1781827 : pack_tmp = ISHFT(pack_tmp, -26)
36612 1781827 : idata = idata + 1
36613 1781827 : data_tmp = ISHFT(pack_tmp, 8)
36614 1781827 : ipack = ipack + 1
36615 1781827 : pack_tmp = packed_data(ipack)
36616 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
36617 1781827 : pack_tmp = ISHFT(pack_tmp, -8)
36618 1781827 : idata = idata + 1
36619 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36620 1781827 : full_data(idata) = data_tmp
36621 1781827 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36622 1781827 : idata = idata + 1
36623 1781827 : data_tmp = ISHFT(pack_tmp, 36)
36624 1781827 : ipack = ipack + 1
36625 1781827 : pack_tmp = packed_data(ipack)
36626 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
36627 1781827 : pack_tmp = ISHFT(pack_tmp, -36)
36628 1781827 : idata = idata + 1
36629 1781827 : data_tmp = ISHFT(pack_tmp, 18)
36630 1781827 : ipack = ipack + 1
36631 1781827 : pack_tmp = packed_data(ipack)
36632 1781827 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
36633 1781827 : pack_tmp = ISHFT(pack_tmp, -18)
36634 1781827 : idata = idata + 1
36635 1781827 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
36636 1781827 : full_data(idata) = data_tmp
36637 1782273 : pack_tmp = ISHFT(pack_tmp, -Nbits)
36638 : END DO
36639 122973 : IF (Ndata_rep < Ndata) THEN
36640 20474 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
36641 : END IF
36642 122973 : END SUBROUTINE bits2ints_46
36643 :
36644 : ! **************************************************************************************************
36645 : !> \brief ...
36646 : !> \param Ndata ...
36647 : !> \param packed_data ...
36648 : !> \param full_data ...
36649 : ! **************************************************************************************************
36650 26862 : 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(*)
36654 :
36655 : INTEGER, PARAMETER :: Nbits = 47
36656 :
36657 : INTEGER :: idata, ipack, kdata, Ndata_rep
36658 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
36659 :
36660 26862 : idata = 0
36661 26862 : ipack = 0
36662 26862 : Ndata_rep = (Ndata/64)*64
36663 26862 : DO kdata = 1, Ndata_rep, 64
36664 410667 : pack_tmp = 0
36665 410667 : idata = idata + 1
36666 410667 : data_tmp = full_data(idata)
36667 410667 : data_tmp = ISHFT(data_tmp, 17)
36668 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36669 410667 : pack_tmp = ISHFT(pack_tmp, -17)
36670 410667 : idata = idata + 1
36671 410667 : data_tmp = full_data(idata)
36672 410667 : data_tmp = ISHFT(data_tmp, 17)
36673 410667 : data_tmp = IAND(data_tmp, mask_left(17))
36674 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36675 410667 : ipack = ipack + 1
36676 410667 : packed_data(ipack) = pack_tmp
36677 410667 : data_tmp = full_data(idata)
36678 410667 : pack_tmp = ISHFT(data_tmp, 34)
36679 410667 : pack_tmp = ISHFT(pack_tmp, -34)
36680 410667 : idata = idata + 1
36681 410667 : data_tmp = full_data(idata)
36682 410667 : data_tmp = ISHFT(data_tmp, 17)
36683 410667 : data_tmp = IAND(data_tmp, mask_left(34))
36684 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36685 410667 : ipack = ipack + 1
36686 410667 : packed_data(ipack) = pack_tmp
36687 410667 : data_tmp = full_data(idata)
36688 410667 : pack_tmp = ISHFT(data_tmp, 51)
36689 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36690 410667 : idata = idata + 1
36691 410667 : data_tmp = full_data(idata)
36692 410667 : data_tmp = ISHFT(data_tmp, 17)
36693 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36694 410667 : pack_tmp = ISHFT(pack_tmp, -4)
36695 410667 : idata = idata + 1
36696 410667 : data_tmp = full_data(idata)
36697 410667 : data_tmp = ISHFT(data_tmp, 17)
36698 410667 : data_tmp = IAND(data_tmp, mask_left(4))
36699 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36700 410667 : ipack = ipack + 1
36701 410667 : packed_data(ipack) = pack_tmp
36702 410667 : data_tmp = full_data(idata)
36703 410667 : pack_tmp = ISHFT(data_tmp, 21)
36704 410667 : pack_tmp = ISHFT(pack_tmp, -21)
36705 410667 : idata = idata + 1
36706 410667 : data_tmp = full_data(idata)
36707 410667 : data_tmp = ISHFT(data_tmp, 17)
36708 410667 : data_tmp = IAND(data_tmp, mask_left(21))
36709 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36710 410667 : ipack = ipack + 1
36711 410667 : packed_data(ipack) = pack_tmp
36712 410667 : data_tmp = full_data(idata)
36713 410667 : pack_tmp = ISHFT(data_tmp, 38)
36714 410667 : pack_tmp = ISHFT(pack_tmp, -38)
36715 410667 : idata = idata + 1
36716 410667 : data_tmp = full_data(idata)
36717 410667 : data_tmp = ISHFT(data_tmp, 17)
36718 410667 : data_tmp = IAND(data_tmp, mask_left(38))
36719 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36720 410667 : ipack = ipack + 1
36721 410667 : packed_data(ipack) = pack_tmp
36722 410667 : data_tmp = full_data(idata)
36723 410667 : pack_tmp = ISHFT(data_tmp, 55)
36724 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36725 410667 : idata = idata + 1
36726 410667 : data_tmp = full_data(idata)
36727 410667 : data_tmp = ISHFT(data_tmp, 17)
36728 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36729 410667 : pack_tmp = ISHFT(pack_tmp, -8)
36730 410667 : idata = idata + 1
36731 410667 : data_tmp = full_data(idata)
36732 410667 : data_tmp = ISHFT(data_tmp, 17)
36733 410667 : data_tmp = IAND(data_tmp, mask_left(8))
36734 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36735 410667 : ipack = ipack + 1
36736 410667 : packed_data(ipack) = pack_tmp
36737 410667 : data_tmp = full_data(idata)
36738 410667 : pack_tmp = ISHFT(data_tmp, 25)
36739 410667 : pack_tmp = ISHFT(pack_tmp, -25)
36740 410667 : idata = idata + 1
36741 410667 : data_tmp = full_data(idata)
36742 410667 : data_tmp = ISHFT(data_tmp, 17)
36743 410667 : data_tmp = IAND(data_tmp, mask_left(25))
36744 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36745 410667 : ipack = ipack + 1
36746 410667 : packed_data(ipack) = pack_tmp
36747 410667 : data_tmp = full_data(idata)
36748 410667 : pack_tmp = ISHFT(data_tmp, 42)
36749 410667 : pack_tmp = ISHFT(pack_tmp, -42)
36750 410667 : idata = idata + 1
36751 410667 : data_tmp = full_data(idata)
36752 410667 : data_tmp = ISHFT(data_tmp, 17)
36753 410667 : data_tmp = IAND(data_tmp, mask_left(42))
36754 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36755 410667 : ipack = ipack + 1
36756 410667 : packed_data(ipack) = pack_tmp
36757 410667 : data_tmp = full_data(idata)
36758 410667 : pack_tmp = ISHFT(data_tmp, 59)
36759 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36760 410667 : idata = idata + 1
36761 410667 : data_tmp = full_data(idata)
36762 410667 : data_tmp = ISHFT(data_tmp, 17)
36763 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36764 410667 : pack_tmp = ISHFT(pack_tmp, -12)
36765 410667 : idata = idata + 1
36766 410667 : data_tmp = full_data(idata)
36767 410667 : data_tmp = ISHFT(data_tmp, 17)
36768 410667 : data_tmp = IAND(data_tmp, mask_left(12))
36769 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36770 410667 : ipack = ipack + 1
36771 410667 : packed_data(ipack) = pack_tmp
36772 410667 : data_tmp = full_data(idata)
36773 410667 : pack_tmp = ISHFT(data_tmp, 29)
36774 410667 : pack_tmp = ISHFT(pack_tmp, -29)
36775 410667 : idata = idata + 1
36776 410667 : data_tmp = full_data(idata)
36777 410667 : data_tmp = ISHFT(data_tmp, 17)
36778 410667 : data_tmp = IAND(data_tmp, mask_left(29))
36779 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36780 410667 : ipack = ipack + 1
36781 410667 : packed_data(ipack) = pack_tmp
36782 410667 : data_tmp = full_data(idata)
36783 410667 : pack_tmp = ISHFT(data_tmp, 46)
36784 410667 : pack_tmp = ISHFT(pack_tmp, -46)
36785 410667 : idata = idata + 1
36786 410667 : data_tmp = full_data(idata)
36787 410667 : data_tmp = ISHFT(data_tmp, 17)
36788 410667 : data_tmp = IAND(data_tmp, mask_left(46))
36789 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36790 410667 : ipack = ipack + 1
36791 410667 : packed_data(ipack) = pack_tmp
36792 410667 : data_tmp = full_data(idata)
36793 410667 : pack_tmp = ISHFT(data_tmp, 63)
36794 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36795 410667 : idata = idata + 1
36796 410667 : data_tmp = full_data(idata)
36797 410667 : data_tmp = ISHFT(data_tmp, 17)
36798 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36799 410667 : pack_tmp = ISHFT(pack_tmp, -16)
36800 410667 : idata = idata + 1
36801 410667 : data_tmp = full_data(idata)
36802 410667 : data_tmp = ISHFT(data_tmp, 17)
36803 410667 : data_tmp = IAND(data_tmp, mask_left(16))
36804 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36805 410667 : ipack = ipack + 1
36806 410667 : packed_data(ipack) = pack_tmp
36807 410667 : data_tmp = full_data(idata)
36808 410667 : pack_tmp = ISHFT(data_tmp, 33)
36809 410667 : pack_tmp = ISHFT(pack_tmp, -33)
36810 410667 : idata = idata + 1
36811 410667 : data_tmp = full_data(idata)
36812 410667 : data_tmp = ISHFT(data_tmp, 17)
36813 410667 : data_tmp = IAND(data_tmp, mask_left(33))
36814 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36815 410667 : ipack = ipack + 1
36816 410667 : packed_data(ipack) = pack_tmp
36817 410667 : data_tmp = full_data(idata)
36818 410667 : pack_tmp = ISHFT(data_tmp, 50)
36819 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36820 410667 : idata = idata + 1
36821 410667 : data_tmp = full_data(idata)
36822 410667 : data_tmp = ISHFT(data_tmp, 17)
36823 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36824 410667 : pack_tmp = ISHFT(pack_tmp, -3)
36825 410667 : idata = idata + 1
36826 410667 : data_tmp = full_data(idata)
36827 410667 : data_tmp = ISHFT(data_tmp, 17)
36828 410667 : data_tmp = IAND(data_tmp, mask_left(3))
36829 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36830 410667 : ipack = ipack + 1
36831 410667 : packed_data(ipack) = pack_tmp
36832 410667 : data_tmp = full_data(idata)
36833 410667 : pack_tmp = ISHFT(data_tmp, 20)
36834 410667 : pack_tmp = ISHFT(pack_tmp, -20)
36835 410667 : idata = idata + 1
36836 410667 : data_tmp = full_data(idata)
36837 410667 : data_tmp = ISHFT(data_tmp, 17)
36838 410667 : data_tmp = IAND(data_tmp, mask_left(20))
36839 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36840 410667 : ipack = ipack + 1
36841 410667 : packed_data(ipack) = pack_tmp
36842 410667 : data_tmp = full_data(idata)
36843 410667 : pack_tmp = ISHFT(data_tmp, 37)
36844 410667 : pack_tmp = ISHFT(pack_tmp, -37)
36845 410667 : idata = idata + 1
36846 410667 : data_tmp = full_data(idata)
36847 410667 : data_tmp = ISHFT(data_tmp, 17)
36848 410667 : data_tmp = IAND(data_tmp, mask_left(37))
36849 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36850 410667 : ipack = ipack + 1
36851 410667 : packed_data(ipack) = pack_tmp
36852 410667 : data_tmp = full_data(idata)
36853 410667 : pack_tmp = ISHFT(data_tmp, 54)
36854 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36855 410667 : idata = idata + 1
36856 410667 : data_tmp = full_data(idata)
36857 410667 : data_tmp = ISHFT(data_tmp, 17)
36858 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36859 410667 : pack_tmp = ISHFT(pack_tmp, -7)
36860 410667 : idata = idata + 1
36861 410667 : data_tmp = full_data(idata)
36862 410667 : data_tmp = ISHFT(data_tmp, 17)
36863 410667 : data_tmp = IAND(data_tmp, mask_left(7))
36864 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36865 410667 : ipack = ipack + 1
36866 410667 : packed_data(ipack) = pack_tmp
36867 410667 : data_tmp = full_data(idata)
36868 410667 : pack_tmp = ISHFT(data_tmp, 24)
36869 410667 : pack_tmp = ISHFT(pack_tmp, -24)
36870 410667 : idata = idata + 1
36871 410667 : data_tmp = full_data(idata)
36872 410667 : data_tmp = ISHFT(data_tmp, 17)
36873 410667 : data_tmp = IAND(data_tmp, mask_left(24))
36874 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36875 410667 : ipack = ipack + 1
36876 410667 : packed_data(ipack) = pack_tmp
36877 410667 : data_tmp = full_data(idata)
36878 410667 : pack_tmp = ISHFT(data_tmp, 41)
36879 410667 : pack_tmp = ISHFT(pack_tmp, -41)
36880 410667 : idata = idata + 1
36881 410667 : data_tmp = full_data(idata)
36882 410667 : data_tmp = ISHFT(data_tmp, 17)
36883 410667 : data_tmp = IAND(data_tmp, mask_left(41))
36884 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36885 410667 : ipack = ipack + 1
36886 410667 : packed_data(ipack) = pack_tmp
36887 410667 : data_tmp = full_data(idata)
36888 410667 : pack_tmp = ISHFT(data_tmp, 58)
36889 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36890 410667 : idata = idata + 1
36891 410667 : data_tmp = full_data(idata)
36892 410667 : data_tmp = ISHFT(data_tmp, 17)
36893 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36894 410667 : pack_tmp = ISHFT(pack_tmp, -11)
36895 410667 : idata = idata + 1
36896 410667 : data_tmp = full_data(idata)
36897 410667 : data_tmp = ISHFT(data_tmp, 17)
36898 410667 : data_tmp = IAND(data_tmp, mask_left(11))
36899 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36900 410667 : ipack = ipack + 1
36901 410667 : packed_data(ipack) = pack_tmp
36902 410667 : data_tmp = full_data(idata)
36903 410667 : pack_tmp = ISHFT(data_tmp, 28)
36904 410667 : pack_tmp = ISHFT(pack_tmp, -28)
36905 410667 : idata = idata + 1
36906 410667 : data_tmp = full_data(idata)
36907 410667 : data_tmp = ISHFT(data_tmp, 17)
36908 410667 : data_tmp = IAND(data_tmp, mask_left(28))
36909 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36910 410667 : ipack = ipack + 1
36911 410667 : packed_data(ipack) = pack_tmp
36912 410667 : data_tmp = full_data(idata)
36913 410667 : pack_tmp = ISHFT(data_tmp, 45)
36914 410667 : pack_tmp = ISHFT(pack_tmp, -45)
36915 410667 : idata = idata + 1
36916 410667 : data_tmp = full_data(idata)
36917 410667 : data_tmp = ISHFT(data_tmp, 17)
36918 410667 : data_tmp = IAND(data_tmp, mask_left(45))
36919 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36920 410667 : ipack = ipack + 1
36921 410667 : packed_data(ipack) = pack_tmp
36922 410667 : data_tmp = full_data(idata)
36923 410667 : pack_tmp = ISHFT(data_tmp, 62)
36924 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36925 410667 : idata = idata + 1
36926 410667 : data_tmp = full_data(idata)
36927 410667 : data_tmp = ISHFT(data_tmp, 17)
36928 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36929 410667 : pack_tmp = ISHFT(pack_tmp, -15)
36930 410667 : idata = idata + 1
36931 410667 : data_tmp = full_data(idata)
36932 410667 : data_tmp = ISHFT(data_tmp, 17)
36933 410667 : data_tmp = IAND(data_tmp, mask_left(15))
36934 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36935 410667 : ipack = ipack + 1
36936 410667 : packed_data(ipack) = pack_tmp
36937 410667 : data_tmp = full_data(idata)
36938 410667 : pack_tmp = ISHFT(data_tmp, 32)
36939 410667 : pack_tmp = ISHFT(pack_tmp, -32)
36940 410667 : idata = idata + 1
36941 410667 : data_tmp = full_data(idata)
36942 410667 : data_tmp = ISHFT(data_tmp, 17)
36943 410667 : data_tmp = IAND(data_tmp, mask_left(32))
36944 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36945 410667 : ipack = ipack + 1
36946 410667 : packed_data(ipack) = pack_tmp
36947 410667 : data_tmp = full_data(idata)
36948 410667 : pack_tmp = ISHFT(data_tmp, 49)
36949 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36950 410667 : idata = idata + 1
36951 410667 : data_tmp = full_data(idata)
36952 410667 : data_tmp = ISHFT(data_tmp, 17)
36953 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36954 410667 : pack_tmp = ISHFT(pack_tmp, -2)
36955 410667 : idata = idata + 1
36956 410667 : data_tmp = full_data(idata)
36957 410667 : data_tmp = ISHFT(data_tmp, 17)
36958 410667 : data_tmp = IAND(data_tmp, mask_left(2))
36959 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36960 410667 : ipack = ipack + 1
36961 410667 : packed_data(ipack) = pack_tmp
36962 410667 : data_tmp = full_data(idata)
36963 410667 : pack_tmp = ISHFT(data_tmp, 19)
36964 410667 : pack_tmp = ISHFT(pack_tmp, -19)
36965 410667 : idata = idata + 1
36966 410667 : data_tmp = full_data(idata)
36967 410667 : data_tmp = ISHFT(data_tmp, 17)
36968 410667 : data_tmp = IAND(data_tmp, mask_left(19))
36969 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36970 410667 : ipack = ipack + 1
36971 410667 : packed_data(ipack) = pack_tmp
36972 410667 : data_tmp = full_data(idata)
36973 410667 : pack_tmp = ISHFT(data_tmp, 36)
36974 410667 : pack_tmp = ISHFT(pack_tmp, -36)
36975 410667 : idata = idata + 1
36976 410667 : data_tmp = full_data(idata)
36977 410667 : data_tmp = ISHFT(data_tmp, 17)
36978 410667 : data_tmp = IAND(data_tmp, mask_left(36))
36979 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36980 410667 : ipack = ipack + 1
36981 410667 : packed_data(ipack) = pack_tmp
36982 410667 : data_tmp = full_data(idata)
36983 410667 : pack_tmp = ISHFT(data_tmp, 53)
36984 410667 : pack_tmp = ISHFT(pack_tmp, -47)
36985 410667 : idata = idata + 1
36986 410667 : data_tmp = full_data(idata)
36987 410667 : data_tmp = ISHFT(data_tmp, 17)
36988 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36989 410667 : pack_tmp = ISHFT(pack_tmp, -6)
36990 410667 : idata = idata + 1
36991 410667 : data_tmp = full_data(idata)
36992 410667 : data_tmp = ISHFT(data_tmp, 17)
36993 410667 : data_tmp = IAND(data_tmp, mask_left(6))
36994 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
36995 410667 : ipack = ipack + 1
36996 410667 : packed_data(ipack) = pack_tmp
36997 410667 : data_tmp = full_data(idata)
36998 410667 : pack_tmp = ISHFT(data_tmp, 23)
36999 410667 : pack_tmp = ISHFT(pack_tmp, -23)
37000 410667 : idata = idata + 1
37001 410667 : data_tmp = full_data(idata)
37002 410667 : data_tmp = ISHFT(data_tmp, 17)
37003 410667 : data_tmp = IAND(data_tmp, mask_left(23))
37004 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37005 410667 : ipack = ipack + 1
37006 410667 : packed_data(ipack) = pack_tmp
37007 410667 : data_tmp = full_data(idata)
37008 410667 : pack_tmp = ISHFT(data_tmp, 40)
37009 410667 : pack_tmp = ISHFT(pack_tmp, -40)
37010 410667 : idata = idata + 1
37011 410667 : data_tmp = full_data(idata)
37012 410667 : data_tmp = ISHFT(data_tmp, 17)
37013 410667 : data_tmp = IAND(data_tmp, mask_left(40))
37014 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37015 410667 : ipack = ipack + 1
37016 410667 : packed_data(ipack) = pack_tmp
37017 410667 : data_tmp = full_data(idata)
37018 410667 : pack_tmp = ISHFT(data_tmp, 57)
37019 410667 : pack_tmp = ISHFT(pack_tmp, -47)
37020 410667 : idata = idata + 1
37021 410667 : data_tmp = full_data(idata)
37022 410667 : data_tmp = ISHFT(data_tmp, 17)
37023 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37024 410667 : pack_tmp = ISHFT(pack_tmp, -10)
37025 410667 : idata = idata + 1
37026 410667 : data_tmp = full_data(idata)
37027 410667 : data_tmp = ISHFT(data_tmp, 17)
37028 410667 : data_tmp = IAND(data_tmp, mask_left(10))
37029 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37030 410667 : ipack = ipack + 1
37031 410667 : packed_data(ipack) = pack_tmp
37032 410667 : data_tmp = full_data(idata)
37033 410667 : pack_tmp = ISHFT(data_tmp, 27)
37034 410667 : pack_tmp = ISHFT(pack_tmp, -27)
37035 410667 : idata = idata + 1
37036 410667 : data_tmp = full_data(idata)
37037 410667 : data_tmp = ISHFT(data_tmp, 17)
37038 410667 : data_tmp = IAND(data_tmp, mask_left(27))
37039 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37040 410667 : ipack = ipack + 1
37041 410667 : packed_data(ipack) = pack_tmp
37042 410667 : data_tmp = full_data(idata)
37043 410667 : pack_tmp = ISHFT(data_tmp, 44)
37044 410667 : pack_tmp = ISHFT(pack_tmp, -44)
37045 410667 : idata = idata + 1
37046 410667 : data_tmp = full_data(idata)
37047 410667 : data_tmp = ISHFT(data_tmp, 17)
37048 410667 : data_tmp = IAND(data_tmp, mask_left(44))
37049 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37050 410667 : ipack = ipack + 1
37051 410667 : packed_data(ipack) = pack_tmp
37052 410667 : data_tmp = full_data(idata)
37053 410667 : pack_tmp = ISHFT(data_tmp, 61)
37054 410667 : pack_tmp = ISHFT(pack_tmp, -47)
37055 410667 : idata = idata + 1
37056 410667 : data_tmp = full_data(idata)
37057 410667 : data_tmp = ISHFT(data_tmp, 17)
37058 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37059 410667 : pack_tmp = ISHFT(pack_tmp, -14)
37060 410667 : idata = idata + 1
37061 410667 : data_tmp = full_data(idata)
37062 410667 : data_tmp = ISHFT(data_tmp, 17)
37063 410667 : data_tmp = IAND(data_tmp, mask_left(14))
37064 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37065 410667 : ipack = ipack + 1
37066 410667 : packed_data(ipack) = pack_tmp
37067 410667 : data_tmp = full_data(idata)
37068 410667 : pack_tmp = ISHFT(data_tmp, 31)
37069 410667 : pack_tmp = ISHFT(pack_tmp, -31)
37070 410667 : idata = idata + 1
37071 410667 : data_tmp = full_data(idata)
37072 410667 : data_tmp = ISHFT(data_tmp, 17)
37073 410667 : data_tmp = IAND(data_tmp, mask_left(31))
37074 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37075 410667 : ipack = ipack + 1
37076 410667 : packed_data(ipack) = pack_tmp
37077 410667 : data_tmp = full_data(idata)
37078 410667 : pack_tmp = ISHFT(data_tmp, 48)
37079 410667 : pack_tmp = ISHFT(pack_tmp, -47)
37080 410667 : idata = idata + 1
37081 410667 : data_tmp = full_data(idata)
37082 410667 : data_tmp = ISHFT(data_tmp, 17)
37083 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37084 410667 : pack_tmp = ISHFT(pack_tmp, -1)
37085 410667 : idata = idata + 1
37086 410667 : data_tmp = full_data(idata)
37087 410667 : data_tmp = ISHFT(data_tmp, 17)
37088 410667 : data_tmp = IAND(data_tmp, mask_left(1))
37089 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37090 410667 : ipack = ipack + 1
37091 410667 : packed_data(ipack) = pack_tmp
37092 410667 : data_tmp = full_data(idata)
37093 410667 : pack_tmp = ISHFT(data_tmp, 18)
37094 410667 : pack_tmp = ISHFT(pack_tmp, -18)
37095 410667 : idata = idata + 1
37096 410667 : data_tmp = full_data(idata)
37097 410667 : data_tmp = ISHFT(data_tmp, 17)
37098 410667 : data_tmp = IAND(data_tmp, mask_left(18))
37099 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37100 410667 : ipack = ipack + 1
37101 410667 : packed_data(ipack) = pack_tmp
37102 410667 : data_tmp = full_data(idata)
37103 410667 : pack_tmp = ISHFT(data_tmp, 35)
37104 410667 : pack_tmp = ISHFT(pack_tmp, -35)
37105 410667 : idata = idata + 1
37106 410667 : data_tmp = full_data(idata)
37107 410667 : data_tmp = ISHFT(data_tmp, 17)
37108 410667 : data_tmp = IAND(data_tmp, mask_left(35))
37109 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37110 410667 : ipack = ipack + 1
37111 410667 : packed_data(ipack) = pack_tmp
37112 410667 : data_tmp = full_data(idata)
37113 410667 : pack_tmp = ISHFT(data_tmp, 52)
37114 410667 : pack_tmp = ISHFT(pack_tmp, -47)
37115 410667 : idata = idata + 1
37116 410667 : data_tmp = full_data(idata)
37117 410667 : data_tmp = ISHFT(data_tmp, 17)
37118 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37119 410667 : pack_tmp = ISHFT(pack_tmp, -5)
37120 410667 : idata = idata + 1
37121 410667 : data_tmp = full_data(idata)
37122 410667 : data_tmp = ISHFT(data_tmp, 17)
37123 410667 : data_tmp = IAND(data_tmp, mask_left(5))
37124 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37125 410667 : ipack = ipack + 1
37126 410667 : packed_data(ipack) = pack_tmp
37127 410667 : data_tmp = full_data(idata)
37128 410667 : pack_tmp = ISHFT(data_tmp, 22)
37129 410667 : pack_tmp = ISHFT(pack_tmp, -22)
37130 410667 : idata = idata + 1
37131 410667 : data_tmp = full_data(idata)
37132 410667 : data_tmp = ISHFT(data_tmp, 17)
37133 410667 : data_tmp = IAND(data_tmp, mask_left(22))
37134 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37135 410667 : ipack = ipack + 1
37136 410667 : packed_data(ipack) = pack_tmp
37137 410667 : data_tmp = full_data(idata)
37138 410667 : pack_tmp = ISHFT(data_tmp, 39)
37139 410667 : pack_tmp = ISHFT(pack_tmp, -39)
37140 410667 : idata = idata + 1
37141 410667 : data_tmp = full_data(idata)
37142 410667 : data_tmp = ISHFT(data_tmp, 17)
37143 410667 : data_tmp = IAND(data_tmp, mask_left(39))
37144 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37145 410667 : ipack = ipack + 1
37146 410667 : packed_data(ipack) = pack_tmp
37147 410667 : data_tmp = full_data(idata)
37148 410667 : pack_tmp = ISHFT(data_tmp, 56)
37149 410667 : pack_tmp = ISHFT(pack_tmp, -47)
37150 410667 : idata = idata + 1
37151 410667 : data_tmp = full_data(idata)
37152 410667 : data_tmp = ISHFT(data_tmp, 17)
37153 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37154 410667 : pack_tmp = ISHFT(pack_tmp, -9)
37155 410667 : idata = idata + 1
37156 410667 : data_tmp = full_data(idata)
37157 410667 : data_tmp = ISHFT(data_tmp, 17)
37158 410667 : data_tmp = IAND(data_tmp, mask_left(9))
37159 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37160 410667 : ipack = ipack + 1
37161 410667 : packed_data(ipack) = pack_tmp
37162 410667 : data_tmp = full_data(idata)
37163 410667 : pack_tmp = ISHFT(data_tmp, 26)
37164 410667 : pack_tmp = ISHFT(pack_tmp, -26)
37165 410667 : idata = idata + 1
37166 410667 : data_tmp = full_data(idata)
37167 410667 : data_tmp = ISHFT(data_tmp, 17)
37168 410667 : data_tmp = IAND(data_tmp, mask_left(26))
37169 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37170 410667 : ipack = ipack + 1
37171 410667 : packed_data(ipack) = pack_tmp
37172 410667 : data_tmp = full_data(idata)
37173 410667 : pack_tmp = ISHFT(data_tmp, 43)
37174 410667 : pack_tmp = ISHFT(pack_tmp, -43)
37175 410667 : idata = idata + 1
37176 410667 : data_tmp = full_data(idata)
37177 410667 : data_tmp = ISHFT(data_tmp, 17)
37178 410667 : data_tmp = IAND(data_tmp, mask_left(43))
37179 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37180 410667 : ipack = ipack + 1
37181 410667 : packed_data(ipack) = pack_tmp
37182 410667 : data_tmp = full_data(idata)
37183 410667 : pack_tmp = ISHFT(data_tmp, 60)
37184 410667 : pack_tmp = ISHFT(pack_tmp, -47)
37185 410667 : idata = idata + 1
37186 410667 : data_tmp = full_data(idata)
37187 410667 : data_tmp = ISHFT(data_tmp, 17)
37188 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37189 410667 : pack_tmp = ISHFT(pack_tmp, -13)
37190 410667 : idata = idata + 1
37191 410667 : data_tmp = full_data(idata)
37192 410667 : data_tmp = ISHFT(data_tmp, 17)
37193 410667 : data_tmp = IAND(data_tmp, mask_left(13))
37194 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37195 410667 : ipack = ipack + 1
37196 410667 : packed_data(ipack) = pack_tmp
37197 410667 : data_tmp = full_data(idata)
37198 410667 : pack_tmp = ISHFT(data_tmp, 30)
37199 410667 : pack_tmp = ISHFT(pack_tmp, -30)
37200 410667 : idata = idata + 1
37201 410667 : data_tmp = full_data(idata)
37202 410667 : data_tmp = ISHFT(data_tmp, 17)
37203 410667 : data_tmp = IAND(data_tmp, mask_left(30))
37204 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37205 410667 : ipack = ipack + 1
37206 410667 : packed_data(ipack) = pack_tmp
37207 410667 : data_tmp = full_data(idata)
37208 410667 : pack_tmp = ISHFT(data_tmp, 47)
37209 410667 : pack_tmp = ISHFT(pack_tmp, -47)
37210 410667 : idata = idata + 1
37211 410667 : data_tmp = full_data(idata)
37212 410667 : data_tmp = ISHFT(data_tmp, 17)
37213 410667 : pack_tmp = IOR(pack_tmp, data_tmp)
37214 : pack_tmp = ISHFT(pack_tmp, 0)
37215 410667 : pack_tmp = ISHFT(pack_tmp, 0)
37216 410667 : ipack = ipack + 1
37217 410671 : packed_data(ipack) = pack_tmp
37218 : END DO
37219 26862 : IF (Ndata_rep < Ndata) THEN
37220 2250 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
37221 : END IF
37222 26862 : END SUBROUTINE ints2bits_47
37223 :
37224 : ! **************************************************************************************************
37225 : !> \brief ...
37226 : !> \param Ndata ...
37227 : !> \param packed_data ...
37228 : !> \param full_data ...
37229 : ! **************************************************************************************************
37230 117617 : 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(*)
37234 :
37235 : INTEGER, PARAMETER :: Nbits = 47
37236 :
37237 : INTEGER :: idata, ipack, kdata, Ndata_rep
37238 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
37239 :
37240 117617 : ipack = 0
37241 117617 : idata = 0
37242 117617 : pack_tmp = 0
37243 117617 : Ndata_rep = (Ndata/64)*64
37244 117617 : DO kdata = 1, Ndata_rep, 64
37245 1736454 : idata = idata + 1
37246 1736454 : data_tmp = ISHFT(pack_tmp, 47)
37247 1736454 : ipack = ipack + 1
37248 1736454 : pack_tmp = packed_data(ipack)
37249 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
37250 1736454 : pack_tmp = ISHFT(pack_tmp, -47)
37251 1736454 : idata = idata + 1
37252 1736454 : data_tmp = ISHFT(pack_tmp, 30)
37253 1736454 : ipack = ipack + 1
37254 1736454 : pack_tmp = packed_data(ipack)
37255 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
37256 1736454 : pack_tmp = ISHFT(pack_tmp, -30)
37257 1736454 : idata = idata + 1
37258 1736454 : data_tmp = ISHFT(pack_tmp, 13)
37259 1736454 : ipack = ipack + 1
37260 1736454 : pack_tmp = packed_data(ipack)
37261 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
37262 1736454 : pack_tmp = ISHFT(pack_tmp, -13)
37263 1736454 : idata = idata + 1
37264 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37265 1736454 : full_data(idata) = data_tmp
37266 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37267 1736454 : idata = idata + 1
37268 1736454 : data_tmp = ISHFT(pack_tmp, 43)
37269 1736454 : ipack = ipack + 1
37270 1736454 : pack_tmp = packed_data(ipack)
37271 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
37272 1736454 : pack_tmp = ISHFT(pack_tmp, -43)
37273 1736454 : idata = idata + 1
37274 1736454 : data_tmp = ISHFT(pack_tmp, 26)
37275 1736454 : ipack = ipack + 1
37276 1736454 : pack_tmp = packed_data(ipack)
37277 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
37278 1736454 : pack_tmp = ISHFT(pack_tmp, -26)
37279 1736454 : idata = idata + 1
37280 1736454 : data_tmp = ISHFT(pack_tmp, 9)
37281 1736454 : ipack = ipack + 1
37282 1736454 : pack_tmp = packed_data(ipack)
37283 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
37284 1736454 : pack_tmp = ISHFT(pack_tmp, -9)
37285 1736454 : idata = idata + 1
37286 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37287 1736454 : full_data(idata) = data_tmp
37288 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37289 1736454 : idata = idata + 1
37290 1736454 : data_tmp = ISHFT(pack_tmp, 39)
37291 1736454 : ipack = ipack + 1
37292 1736454 : pack_tmp = packed_data(ipack)
37293 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
37294 1736454 : pack_tmp = ISHFT(pack_tmp, -39)
37295 1736454 : idata = idata + 1
37296 1736454 : data_tmp = ISHFT(pack_tmp, 22)
37297 1736454 : ipack = ipack + 1
37298 1736454 : pack_tmp = packed_data(ipack)
37299 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
37300 1736454 : pack_tmp = ISHFT(pack_tmp, -22)
37301 1736454 : idata = idata + 1
37302 1736454 : data_tmp = ISHFT(pack_tmp, 5)
37303 1736454 : ipack = ipack + 1
37304 1736454 : pack_tmp = packed_data(ipack)
37305 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
37306 1736454 : pack_tmp = ISHFT(pack_tmp, -5)
37307 1736454 : idata = idata + 1
37308 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37309 1736454 : full_data(idata) = data_tmp
37310 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37311 1736454 : idata = idata + 1
37312 1736454 : data_tmp = ISHFT(pack_tmp, 35)
37313 1736454 : ipack = ipack + 1
37314 1736454 : pack_tmp = packed_data(ipack)
37315 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
37316 1736454 : pack_tmp = ISHFT(pack_tmp, -35)
37317 1736454 : idata = idata + 1
37318 1736454 : data_tmp = ISHFT(pack_tmp, 18)
37319 1736454 : ipack = ipack + 1
37320 1736454 : pack_tmp = packed_data(ipack)
37321 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
37322 1736454 : pack_tmp = ISHFT(pack_tmp, -18)
37323 1736454 : idata = idata + 1
37324 1736454 : data_tmp = ISHFT(pack_tmp, 1)
37325 1736454 : ipack = ipack + 1
37326 1736454 : pack_tmp = packed_data(ipack)
37327 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
37328 1736454 : pack_tmp = ISHFT(pack_tmp, -1)
37329 1736454 : idata = idata + 1
37330 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37331 1736454 : full_data(idata) = data_tmp
37332 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37333 1736454 : idata = idata + 1
37334 1736454 : data_tmp = ISHFT(pack_tmp, 31)
37335 1736454 : ipack = ipack + 1
37336 1736454 : pack_tmp = packed_data(ipack)
37337 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
37338 1736454 : pack_tmp = ISHFT(pack_tmp, -31)
37339 1736454 : idata = idata + 1
37340 1736454 : data_tmp = ISHFT(pack_tmp, 14)
37341 1736454 : ipack = ipack + 1
37342 1736454 : pack_tmp = packed_data(ipack)
37343 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
37344 1736454 : pack_tmp = ISHFT(pack_tmp, -14)
37345 1736454 : idata = idata + 1
37346 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37347 1736454 : full_data(idata) = data_tmp
37348 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37349 1736454 : idata = idata + 1
37350 1736454 : data_tmp = ISHFT(pack_tmp, 44)
37351 1736454 : ipack = ipack + 1
37352 1736454 : pack_tmp = packed_data(ipack)
37353 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
37354 1736454 : pack_tmp = ISHFT(pack_tmp, -44)
37355 1736454 : idata = idata + 1
37356 1736454 : data_tmp = ISHFT(pack_tmp, 27)
37357 1736454 : ipack = ipack + 1
37358 1736454 : pack_tmp = packed_data(ipack)
37359 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
37360 1736454 : pack_tmp = ISHFT(pack_tmp, -27)
37361 1736454 : idata = idata + 1
37362 1736454 : data_tmp = ISHFT(pack_tmp, 10)
37363 1736454 : ipack = ipack + 1
37364 1736454 : pack_tmp = packed_data(ipack)
37365 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
37366 1736454 : pack_tmp = ISHFT(pack_tmp, -10)
37367 1736454 : idata = idata + 1
37368 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37369 1736454 : full_data(idata) = data_tmp
37370 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37371 1736454 : idata = idata + 1
37372 1736454 : data_tmp = ISHFT(pack_tmp, 40)
37373 1736454 : ipack = ipack + 1
37374 1736454 : pack_tmp = packed_data(ipack)
37375 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
37376 1736454 : pack_tmp = ISHFT(pack_tmp, -40)
37377 1736454 : idata = idata + 1
37378 1736454 : data_tmp = ISHFT(pack_tmp, 23)
37379 1736454 : ipack = ipack + 1
37380 1736454 : pack_tmp = packed_data(ipack)
37381 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
37382 1736454 : pack_tmp = ISHFT(pack_tmp, -23)
37383 1736454 : idata = idata + 1
37384 1736454 : data_tmp = ISHFT(pack_tmp, 6)
37385 1736454 : ipack = ipack + 1
37386 1736454 : pack_tmp = packed_data(ipack)
37387 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
37388 1736454 : pack_tmp = ISHFT(pack_tmp, -6)
37389 1736454 : idata = idata + 1
37390 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37391 1736454 : full_data(idata) = data_tmp
37392 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37393 1736454 : idata = idata + 1
37394 1736454 : data_tmp = ISHFT(pack_tmp, 36)
37395 1736454 : ipack = ipack + 1
37396 1736454 : pack_tmp = packed_data(ipack)
37397 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
37398 1736454 : pack_tmp = ISHFT(pack_tmp, -36)
37399 1736454 : idata = idata + 1
37400 1736454 : data_tmp = ISHFT(pack_tmp, 19)
37401 1736454 : ipack = ipack + 1
37402 1736454 : pack_tmp = packed_data(ipack)
37403 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
37404 1736454 : pack_tmp = ISHFT(pack_tmp, -19)
37405 1736454 : idata = idata + 1
37406 1736454 : data_tmp = ISHFT(pack_tmp, 2)
37407 1736454 : ipack = ipack + 1
37408 1736454 : pack_tmp = packed_data(ipack)
37409 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
37410 1736454 : pack_tmp = ISHFT(pack_tmp, -2)
37411 1736454 : idata = idata + 1
37412 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37413 1736454 : full_data(idata) = data_tmp
37414 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37415 1736454 : idata = idata + 1
37416 1736454 : data_tmp = ISHFT(pack_tmp, 32)
37417 1736454 : ipack = ipack + 1
37418 1736454 : pack_tmp = packed_data(ipack)
37419 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
37420 1736454 : pack_tmp = ISHFT(pack_tmp, -32)
37421 1736454 : idata = idata + 1
37422 1736454 : data_tmp = ISHFT(pack_tmp, 15)
37423 1736454 : ipack = ipack + 1
37424 1736454 : pack_tmp = packed_data(ipack)
37425 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
37426 1736454 : pack_tmp = ISHFT(pack_tmp, -15)
37427 1736454 : idata = idata + 1
37428 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37429 1736454 : full_data(idata) = data_tmp
37430 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37431 1736454 : idata = idata + 1
37432 1736454 : data_tmp = ISHFT(pack_tmp, 45)
37433 1736454 : ipack = ipack + 1
37434 1736454 : pack_tmp = packed_data(ipack)
37435 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
37436 1736454 : pack_tmp = ISHFT(pack_tmp, -45)
37437 1736454 : idata = idata + 1
37438 1736454 : data_tmp = ISHFT(pack_tmp, 28)
37439 1736454 : ipack = ipack + 1
37440 1736454 : pack_tmp = packed_data(ipack)
37441 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
37442 1736454 : pack_tmp = ISHFT(pack_tmp, -28)
37443 1736454 : idata = idata + 1
37444 1736454 : data_tmp = ISHFT(pack_tmp, 11)
37445 1736454 : ipack = ipack + 1
37446 1736454 : pack_tmp = packed_data(ipack)
37447 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
37448 1736454 : pack_tmp = ISHFT(pack_tmp, -11)
37449 1736454 : idata = idata + 1
37450 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37451 1736454 : full_data(idata) = data_tmp
37452 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37453 1736454 : idata = idata + 1
37454 1736454 : data_tmp = ISHFT(pack_tmp, 41)
37455 1736454 : ipack = ipack + 1
37456 1736454 : pack_tmp = packed_data(ipack)
37457 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
37458 1736454 : pack_tmp = ISHFT(pack_tmp, -41)
37459 1736454 : idata = idata + 1
37460 1736454 : data_tmp = ISHFT(pack_tmp, 24)
37461 1736454 : ipack = ipack + 1
37462 1736454 : pack_tmp = packed_data(ipack)
37463 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
37464 1736454 : pack_tmp = ISHFT(pack_tmp, -24)
37465 1736454 : idata = idata + 1
37466 1736454 : data_tmp = ISHFT(pack_tmp, 7)
37467 1736454 : ipack = ipack + 1
37468 1736454 : pack_tmp = packed_data(ipack)
37469 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
37470 1736454 : pack_tmp = ISHFT(pack_tmp, -7)
37471 1736454 : idata = idata + 1
37472 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37473 1736454 : full_data(idata) = data_tmp
37474 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37475 1736454 : idata = idata + 1
37476 1736454 : data_tmp = ISHFT(pack_tmp, 37)
37477 1736454 : ipack = ipack + 1
37478 1736454 : pack_tmp = packed_data(ipack)
37479 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
37480 1736454 : pack_tmp = ISHFT(pack_tmp, -37)
37481 1736454 : idata = idata + 1
37482 1736454 : data_tmp = ISHFT(pack_tmp, 20)
37483 1736454 : ipack = ipack + 1
37484 1736454 : pack_tmp = packed_data(ipack)
37485 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
37486 1736454 : pack_tmp = ISHFT(pack_tmp, -20)
37487 1736454 : idata = idata + 1
37488 1736454 : data_tmp = ISHFT(pack_tmp, 3)
37489 1736454 : ipack = ipack + 1
37490 1736454 : pack_tmp = packed_data(ipack)
37491 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
37492 1736454 : pack_tmp = ISHFT(pack_tmp, -3)
37493 1736454 : idata = idata + 1
37494 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37495 1736454 : full_data(idata) = data_tmp
37496 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37497 1736454 : idata = idata + 1
37498 1736454 : data_tmp = ISHFT(pack_tmp, 33)
37499 1736454 : ipack = ipack + 1
37500 1736454 : pack_tmp = packed_data(ipack)
37501 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
37502 1736454 : pack_tmp = ISHFT(pack_tmp, -33)
37503 1736454 : idata = idata + 1
37504 1736454 : data_tmp = ISHFT(pack_tmp, 16)
37505 1736454 : ipack = ipack + 1
37506 1736454 : pack_tmp = packed_data(ipack)
37507 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
37508 1736454 : pack_tmp = ISHFT(pack_tmp, -16)
37509 1736454 : idata = idata + 1
37510 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37511 1736454 : full_data(idata) = data_tmp
37512 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37513 1736454 : idata = idata + 1
37514 1736454 : data_tmp = ISHFT(pack_tmp, 46)
37515 1736454 : ipack = ipack + 1
37516 1736454 : pack_tmp = packed_data(ipack)
37517 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
37518 1736454 : pack_tmp = ISHFT(pack_tmp, -46)
37519 1736454 : idata = idata + 1
37520 1736454 : data_tmp = ISHFT(pack_tmp, 29)
37521 1736454 : ipack = ipack + 1
37522 1736454 : pack_tmp = packed_data(ipack)
37523 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
37524 1736454 : pack_tmp = ISHFT(pack_tmp, -29)
37525 1736454 : idata = idata + 1
37526 1736454 : data_tmp = ISHFT(pack_tmp, 12)
37527 1736454 : ipack = ipack + 1
37528 1736454 : pack_tmp = packed_data(ipack)
37529 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
37530 1736454 : pack_tmp = ISHFT(pack_tmp, -12)
37531 1736454 : idata = idata + 1
37532 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37533 1736454 : full_data(idata) = data_tmp
37534 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37535 1736454 : idata = idata + 1
37536 1736454 : data_tmp = ISHFT(pack_tmp, 42)
37537 1736454 : ipack = ipack + 1
37538 1736454 : pack_tmp = packed_data(ipack)
37539 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
37540 1736454 : pack_tmp = ISHFT(pack_tmp, -42)
37541 1736454 : idata = idata + 1
37542 1736454 : data_tmp = ISHFT(pack_tmp, 25)
37543 1736454 : ipack = ipack + 1
37544 1736454 : pack_tmp = packed_data(ipack)
37545 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
37546 1736454 : pack_tmp = ISHFT(pack_tmp, -25)
37547 1736454 : idata = idata + 1
37548 1736454 : data_tmp = ISHFT(pack_tmp, 8)
37549 1736454 : ipack = ipack + 1
37550 1736454 : pack_tmp = packed_data(ipack)
37551 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
37552 1736454 : pack_tmp = ISHFT(pack_tmp, -8)
37553 1736454 : idata = idata + 1
37554 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37555 1736454 : full_data(idata) = data_tmp
37556 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37557 1736454 : idata = idata + 1
37558 1736454 : data_tmp = ISHFT(pack_tmp, 38)
37559 1736454 : ipack = ipack + 1
37560 1736454 : pack_tmp = packed_data(ipack)
37561 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
37562 1736454 : pack_tmp = ISHFT(pack_tmp, -38)
37563 1736454 : idata = idata + 1
37564 1736454 : data_tmp = ISHFT(pack_tmp, 21)
37565 1736454 : ipack = ipack + 1
37566 1736454 : pack_tmp = packed_data(ipack)
37567 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
37568 1736454 : pack_tmp = ISHFT(pack_tmp, -21)
37569 1736454 : idata = idata + 1
37570 1736454 : data_tmp = ISHFT(pack_tmp, 4)
37571 1736454 : ipack = ipack + 1
37572 1736454 : pack_tmp = packed_data(ipack)
37573 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
37574 1736454 : pack_tmp = ISHFT(pack_tmp, -4)
37575 1736454 : idata = idata + 1
37576 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37577 1736454 : full_data(idata) = data_tmp
37578 1736454 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37579 1736454 : idata = idata + 1
37580 1736454 : data_tmp = ISHFT(pack_tmp, 34)
37581 1736454 : ipack = ipack + 1
37582 1736454 : pack_tmp = packed_data(ipack)
37583 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
37584 1736454 : pack_tmp = ISHFT(pack_tmp, -34)
37585 1736454 : idata = idata + 1
37586 1736454 : data_tmp = ISHFT(pack_tmp, 17)
37587 1736454 : ipack = ipack + 1
37588 1736454 : pack_tmp = packed_data(ipack)
37589 1736454 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
37590 1736454 : pack_tmp = ISHFT(pack_tmp, -17)
37591 1736454 : idata = idata + 1
37592 1736454 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
37593 1736454 : full_data(idata) = data_tmp
37594 1736534 : pack_tmp = ISHFT(pack_tmp, -Nbits)
37595 : END DO
37596 117617 : IF (Ndata_rep < Ndata) THEN
37597 17108 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
37598 : END IF
37599 117617 : END SUBROUTINE bits2ints_47
37600 :
37601 : ! **************************************************************************************************
37602 : !> \brief ...
37603 : !> \param Ndata ...
37604 : !> \param packed_data ...
37605 : !> \param full_data ...
37606 : ! **************************************************************************************************
37607 27429 : 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(*)
37611 :
37612 : INTEGER, PARAMETER :: Nbits = 48
37613 :
37614 : INTEGER :: idata, ipack, kdata, Ndata_rep
37615 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
37616 :
37617 27429 : idata = 0
37618 27429 : ipack = 0
37619 27429 : Ndata_rep = (Ndata/64)*64
37620 27429 : DO kdata = 1, Ndata_rep, 64
37621 414180 : pack_tmp = 0
37622 414180 : idata = idata + 1
37623 414180 : data_tmp = full_data(idata)
37624 414180 : data_tmp = ISHFT(data_tmp, 16)
37625 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37626 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37627 414180 : idata = idata + 1
37628 414180 : data_tmp = full_data(idata)
37629 414180 : data_tmp = ISHFT(data_tmp, 16)
37630 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37631 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37632 414180 : ipack = ipack + 1
37633 414180 : packed_data(ipack) = pack_tmp
37634 414180 : data_tmp = full_data(idata)
37635 414180 : pack_tmp = ISHFT(data_tmp, 32)
37636 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37637 414180 : idata = idata + 1
37638 414180 : data_tmp = full_data(idata)
37639 414180 : data_tmp = ISHFT(data_tmp, 16)
37640 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37641 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37642 414180 : ipack = ipack + 1
37643 414180 : packed_data(ipack) = pack_tmp
37644 414180 : data_tmp = full_data(idata)
37645 414180 : pack_tmp = ISHFT(data_tmp, 48)
37646 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37647 414180 : idata = idata + 1
37648 414180 : data_tmp = full_data(idata)
37649 414180 : data_tmp = ISHFT(data_tmp, 16)
37650 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37651 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37652 414180 : idata = idata + 1
37653 414180 : data_tmp = full_data(idata)
37654 : data_tmp = ISHFT(data_tmp, 16)
37655 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37656 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37657 414180 : ipack = ipack + 1
37658 414180 : packed_data(ipack) = pack_tmp
37659 414180 : data_tmp = full_data(idata)
37660 414180 : pack_tmp = ISHFT(data_tmp, 16)
37661 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37662 414180 : idata = idata + 1
37663 414180 : data_tmp = full_data(idata)
37664 414180 : data_tmp = ISHFT(data_tmp, 16)
37665 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37666 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37667 414180 : ipack = ipack + 1
37668 414180 : packed_data(ipack) = pack_tmp
37669 414180 : data_tmp = full_data(idata)
37670 414180 : pack_tmp = ISHFT(data_tmp, 32)
37671 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37672 414180 : idata = idata + 1
37673 414180 : data_tmp = full_data(idata)
37674 414180 : data_tmp = ISHFT(data_tmp, 16)
37675 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37676 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37677 414180 : ipack = ipack + 1
37678 414180 : packed_data(ipack) = pack_tmp
37679 414180 : data_tmp = full_data(idata)
37680 414180 : pack_tmp = ISHFT(data_tmp, 48)
37681 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37682 414180 : idata = idata + 1
37683 414180 : data_tmp = full_data(idata)
37684 414180 : data_tmp = ISHFT(data_tmp, 16)
37685 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37686 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37687 414180 : idata = idata + 1
37688 414180 : data_tmp = full_data(idata)
37689 : data_tmp = ISHFT(data_tmp, 16)
37690 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37691 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37692 414180 : ipack = ipack + 1
37693 414180 : packed_data(ipack) = pack_tmp
37694 414180 : data_tmp = full_data(idata)
37695 414180 : pack_tmp = ISHFT(data_tmp, 16)
37696 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37697 414180 : idata = idata + 1
37698 414180 : data_tmp = full_data(idata)
37699 414180 : data_tmp = ISHFT(data_tmp, 16)
37700 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37701 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37702 414180 : ipack = ipack + 1
37703 414180 : packed_data(ipack) = pack_tmp
37704 414180 : data_tmp = full_data(idata)
37705 414180 : pack_tmp = ISHFT(data_tmp, 32)
37706 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37707 414180 : idata = idata + 1
37708 414180 : data_tmp = full_data(idata)
37709 414180 : data_tmp = ISHFT(data_tmp, 16)
37710 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37711 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37712 414180 : ipack = ipack + 1
37713 414180 : packed_data(ipack) = pack_tmp
37714 414180 : data_tmp = full_data(idata)
37715 414180 : pack_tmp = ISHFT(data_tmp, 48)
37716 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37717 414180 : idata = idata + 1
37718 414180 : data_tmp = full_data(idata)
37719 414180 : data_tmp = ISHFT(data_tmp, 16)
37720 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37721 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37722 414180 : idata = idata + 1
37723 414180 : data_tmp = full_data(idata)
37724 : data_tmp = ISHFT(data_tmp, 16)
37725 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37726 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37727 414180 : ipack = ipack + 1
37728 414180 : packed_data(ipack) = pack_tmp
37729 414180 : data_tmp = full_data(idata)
37730 414180 : pack_tmp = ISHFT(data_tmp, 16)
37731 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37732 414180 : idata = idata + 1
37733 414180 : data_tmp = full_data(idata)
37734 414180 : data_tmp = ISHFT(data_tmp, 16)
37735 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37736 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37737 414180 : ipack = ipack + 1
37738 414180 : packed_data(ipack) = pack_tmp
37739 414180 : data_tmp = full_data(idata)
37740 414180 : pack_tmp = ISHFT(data_tmp, 32)
37741 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37742 414180 : idata = idata + 1
37743 414180 : data_tmp = full_data(idata)
37744 414180 : data_tmp = ISHFT(data_tmp, 16)
37745 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37746 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37747 414180 : ipack = ipack + 1
37748 414180 : packed_data(ipack) = pack_tmp
37749 414180 : data_tmp = full_data(idata)
37750 414180 : pack_tmp = ISHFT(data_tmp, 48)
37751 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37752 414180 : idata = idata + 1
37753 414180 : data_tmp = full_data(idata)
37754 414180 : data_tmp = ISHFT(data_tmp, 16)
37755 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37756 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37757 414180 : idata = idata + 1
37758 414180 : data_tmp = full_data(idata)
37759 : data_tmp = ISHFT(data_tmp, 16)
37760 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37761 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37762 414180 : ipack = ipack + 1
37763 414180 : packed_data(ipack) = pack_tmp
37764 414180 : data_tmp = full_data(idata)
37765 414180 : pack_tmp = ISHFT(data_tmp, 16)
37766 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37767 414180 : idata = idata + 1
37768 414180 : data_tmp = full_data(idata)
37769 414180 : data_tmp = ISHFT(data_tmp, 16)
37770 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37771 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37772 414180 : ipack = ipack + 1
37773 414180 : packed_data(ipack) = pack_tmp
37774 414180 : data_tmp = full_data(idata)
37775 414180 : pack_tmp = ISHFT(data_tmp, 32)
37776 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37777 414180 : idata = idata + 1
37778 414180 : data_tmp = full_data(idata)
37779 414180 : data_tmp = ISHFT(data_tmp, 16)
37780 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37781 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37782 414180 : ipack = ipack + 1
37783 414180 : packed_data(ipack) = pack_tmp
37784 414180 : data_tmp = full_data(idata)
37785 414180 : pack_tmp = ISHFT(data_tmp, 48)
37786 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37787 414180 : idata = idata + 1
37788 414180 : data_tmp = full_data(idata)
37789 414180 : data_tmp = ISHFT(data_tmp, 16)
37790 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37791 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37792 414180 : idata = idata + 1
37793 414180 : data_tmp = full_data(idata)
37794 : data_tmp = ISHFT(data_tmp, 16)
37795 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37796 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37797 414180 : ipack = ipack + 1
37798 414180 : packed_data(ipack) = pack_tmp
37799 414180 : data_tmp = full_data(idata)
37800 414180 : pack_tmp = ISHFT(data_tmp, 16)
37801 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37802 414180 : idata = idata + 1
37803 414180 : data_tmp = full_data(idata)
37804 414180 : data_tmp = ISHFT(data_tmp, 16)
37805 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37806 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37807 414180 : ipack = ipack + 1
37808 414180 : packed_data(ipack) = pack_tmp
37809 414180 : data_tmp = full_data(idata)
37810 414180 : pack_tmp = ISHFT(data_tmp, 32)
37811 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37812 414180 : idata = idata + 1
37813 414180 : data_tmp = full_data(idata)
37814 414180 : data_tmp = ISHFT(data_tmp, 16)
37815 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37816 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37817 414180 : ipack = ipack + 1
37818 414180 : packed_data(ipack) = pack_tmp
37819 414180 : data_tmp = full_data(idata)
37820 414180 : pack_tmp = ISHFT(data_tmp, 48)
37821 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37822 414180 : idata = idata + 1
37823 414180 : data_tmp = full_data(idata)
37824 414180 : data_tmp = ISHFT(data_tmp, 16)
37825 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37826 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37827 414180 : idata = idata + 1
37828 414180 : data_tmp = full_data(idata)
37829 : data_tmp = ISHFT(data_tmp, 16)
37830 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37831 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37832 414180 : ipack = ipack + 1
37833 414180 : packed_data(ipack) = pack_tmp
37834 414180 : data_tmp = full_data(idata)
37835 414180 : pack_tmp = ISHFT(data_tmp, 16)
37836 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37837 414180 : idata = idata + 1
37838 414180 : data_tmp = full_data(idata)
37839 414180 : data_tmp = ISHFT(data_tmp, 16)
37840 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37841 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37842 414180 : ipack = ipack + 1
37843 414180 : packed_data(ipack) = pack_tmp
37844 414180 : data_tmp = full_data(idata)
37845 414180 : pack_tmp = ISHFT(data_tmp, 32)
37846 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37847 414180 : idata = idata + 1
37848 414180 : data_tmp = full_data(idata)
37849 414180 : data_tmp = ISHFT(data_tmp, 16)
37850 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37851 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37852 414180 : ipack = ipack + 1
37853 414180 : packed_data(ipack) = pack_tmp
37854 414180 : data_tmp = full_data(idata)
37855 414180 : pack_tmp = ISHFT(data_tmp, 48)
37856 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37857 414180 : idata = idata + 1
37858 414180 : data_tmp = full_data(idata)
37859 414180 : data_tmp = ISHFT(data_tmp, 16)
37860 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37861 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37862 414180 : idata = idata + 1
37863 414180 : data_tmp = full_data(idata)
37864 : data_tmp = ISHFT(data_tmp, 16)
37865 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37866 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37867 414180 : ipack = ipack + 1
37868 414180 : packed_data(ipack) = pack_tmp
37869 414180 : data_tmp = full_data(idata)
37870 414180 : pack_tmp = ISHFT(data_tmp, 16)
37871 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37872 414180 : idata = idata + 1
37873 414180 : data_tmp = full_data(idata)
37874 414180 : data_tmp = ISHFT(data_tmp, 16)
37875 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37876 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37877 414180 : ipack = ipack + 1
37878 414180 : packed_data(ipack) = pack_tmp
37879 414180 : data_tmp = full_data(idata)
37880 414180 : pack_tmp = ISHFT(data_tmp, 32)
37881 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37882 414180 : idata = idata + 1
37883 414180 : data_tmp = full_data(idata)
37884 414180 : data_tmp = ISHFT(data_tmp, 16)
37885 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37886 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37887 414180 : ipack = ipack + 1
37888 414180 : packed_data(ipack) = pack_tmp
37889 414180 : data_tmp = full_data(idata)
37890 414180 : pack_tmp = ISHFT(data_tmp, 48)
37891 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37892 414180 : idata = idata + 1
37893 414180 : data_tmp = full_data(idata)
37894 414180 : data_tmp = ISHFT(data_tmp, 16)
37895 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37896 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37897 414180 : idata = idata + 1
37898 414180 : data_tmp = full_data(idata)
37899 : data_tmp = ISHFT(data_tmp, 16)
37900 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37901 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37902 414180 : ipack = ipack + 1
37903 414180 : packed_data(ipack) = pack_tmp
37904 414180 : data_tmp = full_data(idata)
37905 414180 : pack_tmp = ISHFT(data_tmp, 16)
37906 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37907 414180 : idata = idata + 1
37908 414180 : data_tmp = full_data(idata)
37909 414180 : data_tmp = ISHFT(data_tmp, 16)
37910 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37911 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37912 414180 : ipack = ipack + 1
37913 414180 : packed_data(ipack) = pack_tmp
37914 414180 : data_tmp = full_data(idata)
37915 414180 : pack_tmp = ISHFT(data_tmp, 32)
37916 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37917 414180 : idata = idata + 1
37918 414180 : data_tmp = full_data(idata)
37919 414180 : data_tmp = ISHFT(data_tmp, 16)
37920 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37921 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37922 414180 : ipack = ipack + 1
37923 414180 : packed_data(ipack) = pack_tmp
37924 414180 : data_tmp = full_data(idata)
37925 414180 : pack_tmp = ISHFT(data_tmp, 48)
37926 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37927 414180 : idata = idata + 1
37928 414180 : data_tmp = full_data(idata)
37929 414180 : data_tmp = ISHFT(data_tmp, 16)
37930 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37931 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37932 414180 : idata = idata + 1
37933 414180 : data_tmp = full_data(idata)
37934 : data_tmp = ISHFT(data_tmp, 16)
37935 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37936 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37937 414180 : ipack = ipack + 1
37938 414180 : packed_data(ipack) = pack_tmp
37939 414180 : data_tmp = full_data(idata)
37940 414180 : pack_tmp = ISHFT(data_tmp, 16)
37941 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37942 414180 : idata = idata + 1
37943 414180 : data_tmp = full_data(idata)
37944 414180 : data_tmp = ISHFT(data_tmp, 16)
37945 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37946 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37947 414180 : ipack = ipack + 1
37948 414180 : packed_data(ipack) = pack_tmp
37949 414180 : data_tmp = full_data(idata)
37950 414180 : pack_tmp = ISHFT(data_tmp, 32)
37951 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37952 414180 : idata = idata + 1
37953 414180 : data_tmp = full_data(idata)
37954 414180 : data_tmp = ISHFT(data_tmp, 16)
37955 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37956 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37957 414180 : ipack = ipack + 1
37958 414180 : packed_data(ipack) = pack_tmp
37959 414180 : data_tmp = full_data(idata)
37960 414180 : pack_tmp = ISHFT(data_tmp, 48)
37961 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37962 414180 : idata = idata + 1
37963 414180 : data_tmp = full_data(idata)
37964 414180 : data_tmp = ISHFT(data_tmp, 16)
37965 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37966 414180 : pack_tmp = ISHFT(pack_tmp, 0)
37967 414180 : idata = idata + 1
37968 414180 : data_tmp = full_data(idata)
37969 : data_tmp = ISHFT(data_tmp, 16)
37970 414180 : data_tmp = IAND(data_tmp, mask_left(0))
37971 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37972 414180 : ipack = ipack + 1
37973 414180 : packed_data(ipack) = pack_tmp
37974 414180 : data_tmp = full_data(idata)
37975 414180 : pack_tmp = ISHFT(data_tmp, 16)
37976 414180 : pack_tmp = ISHFT(pack_tmp, -16)
37977 414180 : idata = idata + 1
37978 414180 : data_tmp = full_data(idata)
37979 414180 : data_tmp = ISHFT(data_tmp, 16)
37980 414180 : data_tmp = IAND(data_tmp, mask_left(16))
37981 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37982 414180 : ipack = ipack + 1
37983 414180 : packed_data(ipack) = pack_tmp
37984 414180 : data_tmp = full_data(idata)
37985 414180 : pack_tmp = ISHFT(data_tmp, 32)
37986 414180 : pack_tmp = ISHFT(pack_tmp, -32)
37987 414180 : idata = idata + 1
37988 414180 : data_tmp = full_data(idata)
37989 414180 : data_tmp = ISHFT(data_tmp, 16)
37990 414180 : data_tmp = IAND(data_tmp, mask_left(32))
37991 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
37992 414180 : ipack = ipack + 1
37993 414180 : packed_data(ipack) = pack_tmp
37994 414180 : data_tmp = full_data(idata)
37995 414180 : pack_tmp = ISHFT(data_tmp, 48)
37996 414180 : pack_tmp = ISHFT(pack_tmp, -48)
37997 414180 : idata = idata + 1
37998 414180 : data_tmp = full_data(idata)
37999 414180 : data_tmp = ISHFT(data_tmp, 16)
38000 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38001 414180 : pack_tmp = ISHFT(pack_tmp, 0)
38002 414180 : idata = idata + 1
38003 414180 : data_tmp = full_data(idata)
38004 : data_tmp = ISHFT(data_tmp, 16)
38005 414180 : data_tmp = IAND(data_tmp, mask_left(0))
38006 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38007 414180 : ipack = ipack + 1
38008 414180 : packed_data(ipack) = pack_tmp
38009 414180 : data_tmp = full_data(idata)
38010 414180 : pack_tmp = ISHFT(data_tmp, 16)
38011 414180 : pack_tmp = ISHFT(pack_tmp, -16)
38012 414180 : idata = idata + 1
38013 414180 : data_tmp = full_data(idata)
38014 414180 : data_tmp = ISHFT(data_tmp, 16)
38015 414180 : data_tmp = IAND(data_tmp, mask_left(16))
38016 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38017 414180 : ipack = ipack + 1
38018 414180 : packed_data(ipack) = pack_tmp
38019 414180 : data_tmp = full_data(idata)
38020 414180 : pack_tmp = ISHFT(data_tmp, 32)
38021 414180 : pack_tmp = ISHFT(pack_tmp, -32)
38022 414180 : idata = idata + 1
38023 414180 : data_tmp = full_data(idata)
38024 414180 : data_tmp = ISHFT(data_tmp, 16)
38025 414180 : data_tmp = IAND(data_tmp, mask_left(32))
38026 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38027 414180 : ipack = ipack + 1
38028 414180 : packed_data(ipack) = pack_tmp
38029 414180 : data_tmp = full_data(idata)
38030 414180 : pack_tmp = ISHFT(data_tmp, 48)
38031 414180 : pack_tmp = ISHFT(pack_tmp, -48)
38032 414180 : idata = idata + 1
38033 414180 : data_tmp = full_data(idata)
38034 414180 : data_tmp = ISHFT(data_tmp, 16)
38035 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38036 414180 : pack_tmp = ISHFT(pack_tmp, 0)
38037 414180 : idata = idata + 1
38038 414180 : data_tmp = full_data(idata)
38039 : data_tmp = ISHFT(data_tmp, 16)
38040 414180 : data_tmp = IAND(data_tmp, mask_left(0))
38041 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38042 414180 : ipack = ipack + 1
38043 414180 : packed_data(ipack) = pack_tmp
38044 414180 : data_tmp = full_data(idata)
38045 414180 : pack_tmp = ISHFT(data_tmp, 16)
38046 414180 : pack_tmp = ISHFT(pack_tmp, -16)
38047 414180 : idata = idata + 1
38048 414180 : data_tmp = full_data(idata)
38049 414180 : data_tmp = ISHFT(data_tmp, 16)
38050 414180 : data_tmp = IAND(data_tmp, mask_left(16))
38051 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38052 414180 : ipack = ipack + 1
38053 414180 : packed_data(ipack) = pack_tmp
38054 414180 : data_tmp = full_data(idata)
38055 414180 : pack_tmp = ISHFT(data_tmp, 32)
38056 414180 : pack_tmp = ISHFT(pack_tmp, -32)
38057 414180 : idata = idata + 1
38058 414180 : data_tmp = full_data(idata)
38059 414180 : data_tmp = ISHFT(data_tmp, 16)
38060 414180 : data_tmp = IAND(data_tmp, mask_left(32))
38061 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38062 414180 : ipack = ipack + 1
38063 414180 : packed_data(ipack) = pack_tmp
38064 414180 : data_tmp = full_data(idata)
38065 414180 : pack_tmp = ISHFT(data_tmp, 48)
38066 414180 : pack_tmp = ISHFT(pack_tmp, -48)
38067 414180 : idata = idata + 1
38068 414180 : data_tmp = full_data(idata)
38069 414180 : data_tmp = ISHFT(data_tmp, 16)
38070 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38071 414180 : pack_tmp = ISHFT(pack_tmp, 0)
38072 414180 : idata = idata + 1
38073 414180 : data_tmp = full_data(idata)
38074 : data_tmp = ISHFT(data_tmp, 16)
38075 414180 : data_tmp = IAND(data_tmp, mask_left(0))
38076 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38077 414180 : ipack = ipack + 1
38078 414180 : packed_data(ipack) = pack_tmp
38079 414180 : data_tmp = full_data(idata)
38080 414180 : pack_tmp = ISHFT(data_tmp, 16)
38081 414180 : pack_tmp = ISHFT(pack_tmp, -16)
38082 414180 : idata = idata + 1
38083 414180 : data_tmp = full_data(idata)
38084 414180 : data_tmp = ISHFT(data_tmp, 16)
38085 414180 : data_tmp = IAND(data_tmp, mask_left(16))
38086 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38087 414180 : ipack = ipack + 1
38088 414180 : packed_data(ipack) = pack_tmp
38089 414180 : data_tmp = full_data(idata)
38090 414180 : pack_tmp = ISHFT(data_tmp, 32)
38091 414180 : pack_tmp = ISHFT(pack_tmp, -32)
38092 414180 : idata = idata + 1
38093 414180 : data_tmp = full_data(idata)
38094 414180 : data_tmp = ISHFT(data_tmp, 16)
38095 414180 : data_tmp = IAND(data_tmp, mask_left(32))
38096 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38097 414180 : ipack = ipack + 1
38098 414180 : packed_data(ipack) = pack_tmp
38099 414180 : data_tmp = full_data(idata)
38100 414180 : pack_tmp = ISHFT(data_tmp, 48)
38101 414180 : pack_tmp = ISHFT(pack_tmp, -48)
38102 414180 : idata = idata + 1
38103 414180 : data_tmp = full_data(idata)
38104 414180 : data_tmp = ISHFT(data_tmp, 16)
38105 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38106 414180 : pack_tmp = ISHFT(pack_tmp, 0)
38107 414180 : idata = idata + 1
38108 414180 : data_tmp = full_data(idata)
38109 : data_tmp = ISHFT(data_tmp, 16)
38110 414180 : data_tmp = IAND(data_tmp, mask_left(0))
38111 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38112 414180 : ipack = ipack + 1
38113 414180 : packed_data(ipack) = pack_tmp
38114 414180 : data_tmp = full_data(idata)
38115 414180 : pack_tmp = ISHFT(data_tmp, 16)
38116 414180 : pack_tmp = ISHFT(pack_tmp, -16)
38117 414180 : idata = idata + 1
38118 414180 : data_tmp = full_data(idata)
38119 414180 : data_tmp = ISHFT(data_tmp, 16)
38120 414180 : data_tmp = IAND(data_tmp, mask_left(16))
38121 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38122 414180 : ipack = ipack + 1
38123 414180 : packed_data(ipack) = pack_tmp
38124 414180 : data_tmp = full_data(idata)
38125 414180 : pack_tmp = ISHFT(data_tmp, 32)
38126 414180 : pack_tmp = ISHFT(pack_tmp, -32)
38127 414180 : idata = idata + 1
38128 414180 : data_tmp = full_data(idata)
38129 414180 : data_tmp = ISHFT(data_tmp, 16)
38130 414180 : data_tmp = IAND(data_tmp, mask_left(32))
38131 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38132 414180 : ipack = ipack + 1
38133 414180 : packed_data(ipack) = pack_tmp
38134 414180 : data_tmp = full_data(idata)
38135 414180 : pack_tmp = ISHFT(data_tmp, 48)
38136 414180 : pack_tmp = ISHFT(pack_tmp, -48)
38137 414180 : idata = idata + 1
38138 414180 : data_tmp = full_data(idata)
38139 414180 : data_tmp = ISHFT(data_tmp, 16)
38140 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38141 414180 : pack_tmp = ISHFT(pack_tmp, 0)
38142 414180 : idata = idata + 1
38143 414180 : data_tmp = full_data(idata)
38144 : data_tmp = ISHFT(data_tmp, 16)
38145 414180 : data_tmp = IAND(data_tmp, mask_left(0))
38146 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38147 414180 : ipack = ipack + 1
38148 414180 : packed_data(ipack) = pack_tmp
38149 414180 : data_tmp = full_data(idata)
38150 414180 : pack_tmp = ISHFT(data_tmp, 16)
38151 414180 : pack_tmp = ISHFT(pack_tmp, -16)
38152 414180 : idata = idata + 1
38153 414180 : data_tmp = full_data(idata)
38154 414180 : data_tmp = ISHFT(data_tmp, 16)
38155 414180 : data_tmp = IAND(data_tmp, mask_left(16))
38156 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38157 414180 : ipack = ipack + 1
38158 414180 : packed_data(ipack) = pack_tmp
38159 414180 : data_tmp = full_data(idata)
38160 414180 : pack_tmp = ISHFT(data_tmp, 32)
38161 414180 : pack_tmp = ISHFT(pack_tmp, -32)
38162 414180 : idata = idata + 1
38163 414180 : data_tmp = full_data(idata)
38164 414180 : data_tmp = ISHFT(data_tmp, 16)
38165 414180 : data_tmp = IAND(data_tmp, mask_left(32))
38166 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38167 414180 : ipack = ipack + 1
38168 414180 : packed_data(ipack) = pack_tmp
38169 414180 : data_tmp = full_data(idata)
38170 414180 : pack_tmp = ISHFT(data_tmp, 48)
38171 414180 : pack_tmp = ISHFT(pack_tmp, -48)
38172 414180 : idata = idata + 1
38173 414180 : data_tmp = full_data(idata)
38174 414180 : data_tmp = ISHFT(data_tmp, 16)
38175 414180 : pack_tmp = IOR(pack_tmp, data_tmp)
38176 : pack_tmp = ISHFT(pack_tmp, 0)
38177 414180 : pack_tmp = ISHFT(pack_tmp, 0)
38178 414180 : ipack = ipack + 1
38179 414414 : packed_data(ipack) = pack_tmp
38180 : END DO
38181 27429 : IF (Ndata_rep < Ndata) THEN
38182 2904 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
38183 : END IF
38184 27429 : END SUBROUTINE ints2bits_48
38185 :
38186 : ! **************************************************************************************************
38187 : !> \brief ...
38188 : !> \param Ndata ...
38189 : !> \param packed_data ...
38190 : !> \param full_data ...
38191 : ! **************************************************************************************************
38192 115334 : 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(*)
38196 :
38197 : INTEGER, PARAMETER :: Nbits = 48
38198 :
38199 : INTEGER :: idata, ipack, kdata, Ndata_rep
38200 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
38201 :
38202 115334 : ipack = 0
38203 115334 : idata = 0
38204 115334 : pack_tmp = 0
38205 115334 : Ndata_rep = (Ndata/64)*64
38206 115334 : DO kdata = 1, Ndata_rep, 64
38207 1710619 : idata = idata + 1
38208 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38209 1710619 : ipack = ipack + 1
38210 1710619 : pack_tmp = packed_data(ipack)
38211 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38212 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38213 1710619 : idata = idata + 1
38214 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38215 1710619 : ipack = ipack + 1
38216 1710619 : pack_tmp = packed_data(ipack)
38217 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38218 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38219 1710619 : idata = idata + 1
38220 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38221 1710619 : ipack = ipack + 1
38222 1710619 : pack_tmp = packed_data(ipack)
38223 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38224 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38225 1710619 : idata = idata + 1
38226 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38227 1710619 : full_data(idata) = data_tmp
38228 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38229 1710619 : idata = idata + 1
38230 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38231 1710619 : ipack = ipack + 1
38232 1710619 : pack_tmp = packed_data(ipack)
38233 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38234 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38235 1710619 : idata = idata + 1
38236 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38237 1710619 : ipack = ipack + 1
38238 1710619 : pack_tmp = packed_data(ipack)
38239 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38240 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38241 1710619 : idata = idata + 1
38242 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38243 1710619 : ipack = ipack + 1
38244 1710619 : pack_tmp = packed_data(ipack)
38245 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38246 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38247 1710619 : idata = idata + 1
38248 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38249 1710619 : full_data(idata) = data_tmp
38250 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38251 1710619 : idata = idata + 1
38252 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38253 1710619 : ipack = ipack + 1
38254 1710619 : pack_tmp = packed_data(ipack)
38255 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38256 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38257 1710619 : idata = idata + 1
38258 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38259 1710619 : ipack = ipack + 1
38260 1710619 : pack_tmp = packed_data(ipack)
38261 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38262 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38263 1710619 : idata = idata + 1
38264 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38265 1710619 : ipack = ipack + 1
38266 1710619 : pack_tmp = packed_data(ipack)
38267 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38268 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38269 1710619 : idata = idata + 1
38270 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38271 1710619 : full_data(idata) = data_tmp
38272 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38273 1710619 : idata = idata + 1
38274 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38275 1710619 : ipack = ipack + 1
38276 1710619 : pack_tmp = packed_data(ipack)
38277 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38278 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38279 1710619 : idata = idata + 1
38280 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38281 1710619 : ipack = ipack + 1
38282 1710619 : pack_tmp = packed_data(ipack)
38283 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38284 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38285 1710619 : idata = idata + 1
38286 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38287 1710619 : ipack = ipack + 1
38288 1710619 : pack_tmp = packed_data(ipack)
38289 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38290 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38291 1710619 : idata = idata + 1
38292 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38293 1710619 : full_data(idata) = data_tmp
38294 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38295 1710619 : idata = idata + 1
38296 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38297 1710619 : ipack = ipack + 1
38298 1710619 : pack_tmp = packed_data(ipack)
38299 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38300 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38301 1710619 : idata = idata + 1
38302 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38303 1710619 : ipack = ipack + 1
38304 1710619 : pack_tmp = packed_data(ipack)
38305 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38306 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38307 1710619 : idata = idata + 1
38308 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38309 1710619 : ipack = ipack + 1
38310 1710619 : pack_tmp = packed_data(ipack)
38311 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38312 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38313 1710619 : idata = idata + 1
38314 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38315 1710619 : full_data(idata) = data_tmp
38316 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38317 1710619 : idata = idata + 1
38318 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38319 1710619 : ipack = ipack + 1
38320 1710619 : pack_tmp = packed_data(ipack)
38321 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38322 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38323 1710619 : idata = idata + 1
38324 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38325 1710619 : ipack = ipack + 1
38326 1710619 : pack_tmp = packed_data(ipack)
38327 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38328 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38329 1710619 : idata = idata + 1
38330 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38331 1710619 : ipack = ipack + 1
38332 1710619 : pack_tmp = packed_data(ipack)
38333 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38334 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38335 1710619 : idata = idata + 1
38336 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38337 1710619 : full_data(idata) = data_tmp
38338 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38339 1710619 : idata = idata + 1
38340 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38341 1710619 : ipack = ipack + 1
38342 1710619 : pack_tmp = packed_data(ipack)
38343 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38344 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38345 1710619 : idata = idata + 1
38346 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38347 1710619 : ipack = ipack + 1
38348 1710619 : pack_tmp = packed_data(ipack)
38349 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38350 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38351 1710619 : idata = idata + 1
38352 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38353 1710619 : ipack = ipack + 1
38354 1710619 : pack_tmp = packed_data(ipack)
38355 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38356 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38357 1710619 : idata = idata + 1
38358 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38359 1710619 : full_data(idata) = data_tmp
38360 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38361 1710619 : idata = idata + 1
38362 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38363 1710619 : ipack = ipack + 1
38364 1710619 : pack_tmp = packed_data(ipack)
38365 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38366 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38367 1710619 : idata = idata + 1
38368 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38369 1710619 : ipack = ipack + 1
38370 1710619 : pack_tmp = packed_data(ipack)
38371 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38372 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38373 1710619 : idata = idata + 1
38374 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38375 1710619 : ipack = ipack + 1
38376 1710619 : pack_tmp = packed_data(ipack)
38377 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38378 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38379 1710619 : idata = idata + 1
38380 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38381 1710619 : full_data(idata) = data_tmp
38382 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38383 1710619 : idata = idata + 1
38384 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38385 1710619 : ipack = ipack + 1
38386 1710619 : pack_tmp = packed_data(ipack)
38387 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38388 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38389 1710619 : idata = idata + 1
38390 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38391 1710619 : ipack = ipack + 1
38392 1710619 : pack_tmp = packed_data(ipack)
38393 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38394 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38395 1710619 : idata = idata + 1
38396 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38397 1710619 : ipack = ipack + 1
38398 1710619 : pack_tmp = packed_data(ipack)
38399 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38400 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38401 1710619 : idata = idata + 1
38402 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38403 1710619 : full_data(idata) = data_tmp
38404 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38405 1710619 : idata = idata + 1
38406 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38407 1710619 : ipack = ipack + 1
38408 1710619 : pack_tmp = packed_data(ipack)
38409 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38410 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38411 1710619 : idata = idata + 1
38412 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38413 1710619 : ipack = ipack + 1
38414 1710619 : pack_tmp = packed_data(ipack)
38415 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38416 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38417 1710619 : idata = idata + 1
38418 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38419 1710619 : ipack = ipack + 1
38420 1710619 : pack_tmp = packed_data(ipack)
38421 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38422 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38423 1710619 : idata = idata + 1
38424 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38425 1710619 : full_data(idata) = data_tmp
38426 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38427 1710619 : idata = idata + 1
38428 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38429 1710619 : ipack = ipack + 1
38430 1710619 : pack_tmp = packed_data(ipack)
38431 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38432 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38433 1710619 : idata = idata + 1
38434 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38435 1710619 : ipack = ipack + 1
38436 1710619 : pack_tmp = packed_data(ipack)
38437 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38438 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38439 1710619 : idata = idata + 1
38440 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38441 1710619 : ipack = ipack + 1
38442 1710619 : pack_tmp = packed_data(ipack)
38443 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38444 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38445 1710619 : idata = idata + 1
38446 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38447 1710619 : full_data(idata) = data_tmp
38448 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38449 1710619 : idata = idata + 1
38450 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38451 1710619 : ipack = ipack + 1
38452 1710619 : pack_tmp = packed_data(ipack)
38453 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38454 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38455 1710619 : idata = idata + 1
38456 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38457 1710619 : ipack = ipack + 1
38458 1710619 : pack_tmp = packed_data(ipack)
38459 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38460 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38461 1710619 : idata = idata + 1
38462 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38463 1710619 : ipack = ipack + 1
38464 1710619 : pack_tmp = packed_data(ipack)
38465 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38466 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38467 1710619 : idata = idata + 1
38468 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38469 1710619 : full_data(idata) = data_tmp
38470 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38471 1710619 : idata = idata + 1
38472 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38473 1710619 : ipack = ipack + 1
38474 1710619 : pack_tmp = packed_data(ipack)
38475 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38476 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38477 1710619 : idata = idata + 1
38478 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38479 1710619 : ipack = ipack + 1
38480 1710619 : pack_tmp = packed_data(ipack)
38481 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38482 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38483 1710619 : idata = idata + 1
38484 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38485 1710619 : ipack = ipack + 1
38486 1710619 : pack_tmp = packed_data(ipack)
38487 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38488 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38489 1710619 : idata = idata + 1
38490 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38491 1710619 : full_data(idata) = data_tmp
38492 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38493 1710619 : idata = idata + 1
38494 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38495 1710619 : ipack = ipack + 1
38496 1710619 : pack_tmp = packed_data(ipack)
38497 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38498 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38499 1710619 : idata = idata + 1
38500 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38501 1710619 : ipack = ipack + 1
38502 1710619 : pack_tmp = packed_data(ipack)
38503 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38504 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38505 1710619 : idata = idata + 1
38506 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38507 1710619 : ipack = ipack + 1
38508 1710619 : pack_tmp = packed_data(ipack)
38509 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38510 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38511 1710619 : idata = idata + 1
38512 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38513 1710619 : full_data(idata) = data_tmp
38514 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38515 1710619 : idata = idata + 1
38516 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38517 1710619 : ipack = ipack + 1
38518 1710619 : pack_tmp = packed_data(ipack)
38519 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38520 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38521 1710619 : idata = idata + 1
38522 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38523 1710619 : ipack = ipack + 1
38524 1710619 : pack_tmp = packed_data(ipack)
38525 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38526 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38527 1710619 : idata = idata + 1
38528 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38529 1710619 : ipack = ipack + 1
38530 1710619 : pack_tmp = packed_data(ipack)
38531 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38532 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38533 1710619 : idata = idata + 1
38534 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38535 1710619 : full_data(idata) = data_tmp
38536 1710619 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38537 1710619 : idata = idata + 1
38538 1710619 : data_tmp = ISHFT(pack_tmp, 48)
38539 1710619 : ipack = ipack + 1
38540 1710619 : pack_tmp = packed_data(ipack)
38541 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
38542 1710619 : pack_tmp = ISHFT(pack_tmp, -48)
38543 1710619 : idata = idata + 1
38544 1710619 : data_tmp = ISHFT(pack_tmp, 32)
38545 1710619 : ipack = ipack + 1
38546 1710619 : pack_tmp = packed_data(ipack)
38547 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
38548 1710619 : pack_tmp = ISHFT(pack_tmp, -32)
38549 1710619 : idata = idata + 1
38550 1710619 : data_tmp = ISHFT(pack_tmp, 16)
38551 1710619 : ipack = ipack + 1
38552 1710619 : pack_tmp = packed_data(ipack)
38553 1710619 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
38554 1710619 : pack_tmp = ISHFT(pack_tmp, -16)
38555 1710619 : idata = idata + 1
38556 1710619 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
38557 1710619 : full_data(idata) = data_tmp
38558 1712184 : pack_tmp = ISHFT(pack_tmp, -Nbits)
38559 : END DO
38560 115334 : IF (Ndata_rep < Ndata) THEN
38561 15850 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
38562 : END IF
38563 115334 : END SUBROUTINE bits2ints_48
38564 :
38565 : ! **************************************************************************************************
38566 : !> \brief ...
38567 : !> \param Ndata ...
38568 : !> \param packed_data ...
38569 : !> \param full_data ...
38570 : ! **************************************************************************************************
38571 26288 : 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(*)
38575 :
38576 : INTEGER, PARAMETER :: Nbits = 49
38577 :
38578 : INTEGER :: idata, ipack, kdata, Ndata_rep
38579 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
38580 :
38581 26288 : idata = 0
38582 26288 : ipack = 0
38583 26288 : Ndata_rep = (Ndata/64)*64
38584 26288 : DO kdata = 1, Ndata_rep, 64
38585 405325 : pack_tmp = 0
38586 405325 : idata = idata + 1
38587 405325 : data_tmp = full_data(idata)
38588 405325 : data_tmp = ISHFT(data_tmp, 15)
38589 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38590 405325 : pack_tmp = ISHFT(pack_tmp, -15)
38591 405325 : idata = idata + 1
38592 405325 : data_tmp = full_data(idata)
38593 405325 : data_tmp = ISHFT(data_tmp, 15)
38594 405325 : data_tmp = IAND(data_tmp, mask_left(15))
38595 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38596 405325 : ipack = ipack + 1
38597 405325 : packed_data(ipack) = pack_tmp
38598 405325 : data_tmp = full_data(idata)
38599 405325 : pack_tmp = ISHFT(data_tmp, 30)
38600 405325 : pack_tmp = ISHFT(pack_tmp, -30)
38601 405325 : idata = idata + 1
38602 405325 : data_tmp = full_data(idata)
38603 405325 : data_tmp = ISHFT(data_tmp, 15)
38604 405325 : data_tmp = IAND(data_tmp, mask_left(30))
38605 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38606 405325 : ipack = ipack + 1
38607 405325 : packed_data(ipack) = pack_tmp
38608 405325 : data_tmp = full_data(idata)
38609 405325 : pack_tmp = ISHFT(data_tmp, 45)
38610 405325 : pack_tmp = ISHFT(pack_tmp, -45)
38611 405325 : idata = idata + 1
38612 405325 : data_tmp = full_data(idata)
38613 405325 : data_tmp = ISHFT(data_tmp, 15)
38614 405325 : data_tmp = IAND(data_tmp, mask_left(45))
38615 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38616 405325 : ipack = ipack + 1
38617 405325 : packed_data(ipack) = pack_tmp
38618 405325 : data_tmp = full_data(idata)
38619 405325 : pack_tmp = ISHFT(data_tmp, 60)
38620 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38621 405325 : idata = idata + 1
38622 405325 : data_tmp = full_data(idata)
38623 405325 : data_tmp = ISHFT(data_tmp, 15)
38624 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38625 405325 : pack_tmp = ISHFT(pack_tmp, -11)
38626 405325 : idata = idata + 1
38627 405325 : data_tmp = full_data(idata)
38628 405325 : data_tmp = ISHFT(data_tmp, 15)
38629 405325 : data_tmp = IAND(data_tmp, mask_left(11))
38630 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38631 405325 : ipack = ipack + 1
38632 405325 : packed_data(ipack) = pack_tmp
38633 405325 : data_tmp = full_data(idata)
38634 405325 : pack_tmp = ISHFT(data_tmp, 26)
38635 405325 : pack_tmp = ISHFT(pack_tmp, -26)
38636 405325 : idata = idata + 1
38637 405325 : data_tmp = full_data(idata)
38638 405325 : data_tmp = ISHFT(data_tmp, 15)
38639 405325 : data_tmp = IAND(data_tmp, mask_left(26))
38640 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38641 405325 : ipack = ipack + 1
38642 405325 : packed_data(ipack) = pack_tmp
38643 405325 : data_tmp = full_data(idata)
38644 405325 : pack_tmp = ISHFT(data_tmp, 41)
38645 405325 : pack_tmp = ISHFT(pack_tmp, -41)
38646 405325 : idata = idata + 1
38647 405325 : data_tmp = full_data(idata)
38648 405325 : data_tmp = ISHFT(data_tmp, 15)
38649 405325 : data_tmp = IAND(data_tmp, mask_left(41))
38650 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38651 405325 : ipack = ipack + 1
38652 405325 : packed_data(ipack) = pack_tmp
38653 405325 : data_tmp = full_data(idata)
38654 405325 : pack_tmp = ISHFT(data_tmp, 56)
38655 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38656 405325 : idata = idata + 1
38657 405325 : data_tmp = full_data(idata)
38658 405325 : data_tmp = ISHFT(data_tmp, 15)
38659 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38660 405325 : pack_tmp = ISHFT(pack_tmp, -7)
38661 405325 : idata = idata + 1
38662 405325 : data_tmp = full_data(idata)
38663 405325 : data_tmp = ISHFT(data_tmp, 15)
38664 405325 : data_tmp = IAND(data_tmp, mask_left(7))
38665 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38666 405325 : ipack = ipack + 1
38667 405325 : packed_data(ipack) = pack_tmp
38668 405325 : data_tmp = full_data(idata)
38669 405325 : pack_tmp = ISHFT(data_tmp, 22)
38670 405325 : pack_tmp = ISHFT(pack_tmp, -22)
38671 405325 : idata = idata + 1
38672 405325 : data_tmp = full_data(idata)
38673 405325 : data_tmp = ISHFT(data_tmp, 15)
38674 405325 : data_tmp = IAND(data_tmp, mask_left(22))
38675 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38676 405325 : ipack = ipack + 1
38677 405325 : packed_data(ipack) = pack_tmp
38678 405325 : data_tmp = full_data(idata)
38679 405325 : pack_tmp = ISHFT(data_tmp, 37)
38680 405325 : pack_tmp = ISHFT(pack_tmp, -37)
38681 405325 : idata = idata + 1
38682 405325 : data_tmp = full_data(idata)
38683 405325 : data_tmp = ISHFT(data_tmp, 15)
38684 405325 : data_tmp = IAND(data_tmp, mask_left(37))
38685 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38686 405325 : ipack = ipack + 1
38687 405325 : packed_data(ipack) = pack_tmp
38688 405325 : data_tmp = full_data(idata)
38689 405325 : pack_tmp = ISHFT(data_tmp, 52)
38690 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38691 405325 : idata = idata + 1
38692 405325 : data_tmp = full_data(idata)
38693 405325 : data_tmp = ISHFT(data_tmp, 15)
38694 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38695 405325 : pack_tmp = ISHFT(pack_tmp, -3)
38696 405325 : idata = idata + 1
38697 405325 : data_tmp = full_data(idata)
38698 405325 : data_tmp = ISHFT(data_tmp, 15)
38699 405325 : data_tmp = IAND(data_tmp, mask_left(3))
38700 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38701 405325 : ipack = ipack + 1
38702 405325 : packed_data(ipack) = pack_tmp
38703 405325 : data_tmp = full_data(idata)
38704 405325 : pack_tmp = ISHFT(data_tmp, 18)
38705 405325 : pack_tmp = ISHFT(pack_tmp, -18)
38706 405325 : idata = idata + 1
38707 405325 : data_tmp = full_data(idata)
38708 405325 : data_tmp = ISHFT(data_tmp, 15)
38709 405325 : data_tmp = IAND(data_tmp, mask_left(18))
38710 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38711 405325 : ipack = ipack + 1
38712 405325 : packed_data(ipack) = pack_tmp
38713 405325 : data_tmp = full_data(idata)
38714 405325 : pack_tmp = ISHFT(data_tmp, 33)
38715 405325 : pack_tmp = ISHFT(pack_tmp, -33)
38716 405325 : idata = idata + 1
38717 405325 : data_tmp = full_data(idata)
38718 405325 : data_tmp = ISHFT(data_tmp, 15)
38719 405325 : data_tmp = IAND(data_tmp, mask_left(33))
38720 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38721 405325 : ipack = ipack + 1
38722 405325 : packed_data(ipack) = pack_tmp
38723 405325 : data_tmp = full_data(idata)
38724 405325 : pack_tmp = ISHFT(data_tmp, 48)
38725 405325 : pack_tmp = ISHFT(pack_tmp, -48)
38726 405325 : idata = idata + 1
38727 405325 : data_tmp = full_data(idata)
38728 405325 : data_tmp = ISHFT(data_tmp, 15)
38729 405325 : data_tmp = IAND(data_tmp, mask_left(48))
38730 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38731 405325 : ipack = ipack + 1
38732 405325 : packed_data(ipack) = pack_tmp
38733 405325 : data_tmp = full_data(idata)
38734 405325 : pack_tmp = ISHFT(data_tmp, 63)
38735 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38736 405325 : idata = idata + 1
38737 405325 : data_tmp = full_data(idata)
38738 405325 : data_tmp = ISHFT(data_tmp, 15)
38739 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38740 405325 : pack_tmp = ISHFT(pack_tmp, -14)
38741 405325 : idata = idata + 1
38742 405325 : data_tmp = full_data(idata)
38743 405325 : data_tmp = ISHFT(data_tmp, 15)
38744 405325 : data_tmp = IAND(data_tmp, mask_left(14))
38745 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38746 405325 : ipack = ipack + 1
38747 405325 : packed_data(ipack) = pack_tmp
38748 405325 : data_tmp = full_data(idata)
38749 405325 : pack_tmp = ISHFT(data_tmp, 29)
38750 405325 : pack_tmp = ISHFT(pack_tmp, -29)
38751 405325 : idata = idata + 1
38752 405325 : data_tmp = full_data(idata)
38753 405325 : data_tmp = ISHFT(data_tmp, 15)
38754 405325 : data_tmp = IAND(data_tmp, mask_left(29))
38755 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38756 405325 : ipack = ipack + 1
38757 405325 : packed_data(ipack) = pack_tmp
38758 405325 : data_tmp = full_data(idata)
38759 405325 : pack_tmp = ISHFT(data_tmp, 44)
38760 405325 : pack_tmp = ISHFT(pack_tmp, -44)
38761 405325 : idata = idata + 1
38762 405325 : data_tmp = full_data(idata)
38763 405325 : data_tmp = ISHFT(data_tmp, 15)
38764 405325 : data_tmp = IAND(data_tmp, mask_left(44))
38765 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38766 405325 : ipack = ipack + 1
38767 405325 : packed_data(ipack) = pack_tmp
38768 405325 : data_tmp = full_data(idata)
38769 405325 : pack_tmp = ISHFT(data_tmp, 59)
38770 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38771 405325 : idata = idata + 1
38772 405325 : data_tmp = full_data(idata)
38773 405325 : data_tmp = ISHFT(data_tmp, 15)
38774 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38775 405325 : pack_tmp = ISHFT(pack_tmp, -10)
38776 405325 : idata = idata + 1
38777 405325 : data_tmp = full_data(idata)
38778 405325 : data_tmp = ISHFT(data_tmp, 15)
38779 405325 : data_tmp = IAND(data_tmp, mask_left(10))
38780 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38781 405325 : ipack = ipack + 1
38782 405325 : packed_data(ipack) = pack_tmp
38783 405325 : data_tmp = full_data(idata)
38784 405325 : pack_tmp = ISHFT(data_tmp, 25)
38785 405325 : pack_tmp = ISHFT(pack_tmp, -25)
38786 405325 : idata = idata + 1
38787 405325 : data_tmp = full_data(idata)
38788 405325 : data_tmp = ISHFT(data_tmp, 15)
38789 405325 : data_tmp = IAND(data_tmp, mask_left(25))
38790 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38791 405325 : ipack = ipack + 1
38792 405325 : packed_data(ipack) = pack_tmp
38793 405325 : data_tmp = full_data(idata)
38794 405325 : pack_tmp = ISHFT(data_tmp, 40)
38795 405325 : pack_tmp = ISHFT(pack_tmp, -40)
38796 405325 : idata = idata + 1
38797 405325 : data_tmp = full_data(idata)
38798 405325 : data_tmp = ISHFT(data_tmp, 15)
38799 405325 : data_tmp = IAND(data_tmp, mask_left(40))
38800 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38801 405325 : ipack = ipack + 1
38802 405325 : packed_data(ipack) = pack_tmp
38803 405325 : data_tmp = full_data(idata)
38804 405325 : pack_tmp = ISHFT(data_tmp, 55)
38805 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38806 405325 : idata = idata + 1
38807 405325 : data_tmp = full_data(idata)
38808 405325 : data_tmp = ISHFT(data_tmp, 15)
38809 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38810 405325 : pack_tmp = ISHFT(pack_tmp, -6)
38811 405325 : idata = idata + 1
38812 405325 : data_tmp = full_data(idata)
38813 405325 : data_tmp = ISHFT(data_tmp, 15)
38814 405325 : data_tmp = IAND(data_tmp, mask_left(6))
38815 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38816 405325 : ipack = ipack + 1
38817 405325 : packed_data(ipack) = pack_tmp
38818 405325 : data_tmp = full_data(idata)
38819 405325 : pack_tmp = ISHFT(data_tmp, 21)
38820 405325 : pack_tmp = ISHFT(pack_tmp, -21)
38821 405325 : idata = idata + 1
38822 405325 : data_tmp = full_data(idata)
38823 405325 : data_tmp = ISHFT(data_tmp, 15)
38824 405325 : data_tmp = IAND(data_tmp, mask_left(21))
38825 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38826 405325 : ipack = ipack + 1
38827 405325 : packed_data(ipack) = pack_tmp
38828 405325 : data_tmp = full_data(idata)
38829 405325 : pack_tmp = ISHFT(data_tmp, 36)
38830 405325 : pack_tmp = ISHFT(pack_tmp, -36)
38831 405325 : idata = idata + 1
38832 405325 : data_tmp = full_data(idata)
38833 405325 : data_tmp = ISHFT(data_tmp, 15)
38834 405325 : data_tmp = IAND(data_tmp, mask_left(36))
38835 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38836 405325 : ipack = ipack + 1
38837 405325 : packed_data(ipack) = pack_tmp
38838 405325 : data_tmp = full_data(idata)
38839 405325 : pack_tmp = ISHFT(data_tmp, 51)
38840 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38841 405325 : idata = idata + 1
38842 405325 : data_tmp = full_data(idata)
38843 405325 : data_tmp = ISHFT(data_tmp, 15)
38844 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38845 405325 : pack_tmp = ISHFT(pack_tmp, -2)
38846 405325 : idata = idata + 1
38847 405325 : data_tmp = full_data(idata)
38848 405325 : data_tmp = ISHFT(data_tmp, 15)
38849 405325 : data_tmp = IAND(data_tmp, mask_left(2))
38850 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38851 405325 : ipack = ipack + 1
38852 405325 : packed_data(ipack) = pack_tmp
38853 405325 : data_tmp = full_data(idata)
38854 405325 : pack_tmp = ISHFT(data_tmp, 17)
38855 405325 : pack_tmp = ISHFT(pack_tmp, -17)
38856 405325 : idata = idata + 1
38857 405325 : data_tmp = full_data(idata)
38858 405325 : data_tmp = ISHFT(data_tmp, 15)
38859 405325 : data_tmp = IAND(data_tmp, mask_left(17))
38860 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38861 405325 : ipack = ipack + 1
38862 405325 : packed_data(ipack) = pack_tmp
38863 405325 : data_tmp = full_data(idata)
38864 405325 : pack_tmp = ISHFT(data_tmp, 32)
38865 405325 : pack_tmp = ISHFT(pack_tmp, -32)
38866 405325 : idata = idata + 1
38867 405325 : data_tmp = full_data(idata)
38868 405325 : data_tmp = ISHFT(data_tmp, 15)
38869 405325 : data_tmp = IAND(data_tmp, mask_left(32))
38870 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38871 405325 : ipack = ipack + 1
38872 405325 : packed_data(ipack) = pack_tmp
38873 405325 : data_tmp = full_data(idata)
38874 405325 : pack_tmp = ISHFT(data_tmp, 47)
38875 405325 : pack_tmp = ISHFT(pack_tmp, -47)
38876 405325 : idata = idata + 1
38877 405325 : data_tmp = full_data(idata)
38878 405325 : data_tmp = ISHFT(data_tmp, 15)
38879 405325 : data_tmp = IAND(data_tmp, mask_left(47))
38880 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38881 405325 : ipack = ipack + 1
38882 405325 : packed_data(ipack) = pack_tmp
38883 405325 : data_tmp = full_data(idata)
38884 405325 : pack_tmp = ISHFT(data_tmp, 62)
38885 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38886 405325 : idata = idata + 1
38887 405325 : data_tmp = full_data(idata)
38888 405325 : data_tmp = ISHFT(data_tmp, 15)
38889 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38890 405325 : pack_tmp = ISHFT(pack_tmp, -13)
38891 405325 : idata = idata + 1
38892 405325 : data_tmp = full_data(idata)
38893 405325 : data_tmp = ISHFT(data_tmp, 15)
38894 405325 : data_tmp = IAND(data_tmp, mask_left(13))
38895 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38896 405325 : ipack = ipack + 1
38897 405325 : packed_data(ipack) = pack_tmp
38898 405325 : data_tmp = full_data(idata)
38899 405325 : pack_tmp = ISHFT(data_tmp, 28)
38900 405325 : pack_tmp = ISHFT(pack_tmp, -28)
38901 405325 : idata = idata + 1
38902 405325 : data_tmp = full_data(idata)
38903 405325 : data_tmp = ISHFT(data_tmp, 15)
38904 405325 : data_tmp = IAND(data_tmp, mask_left(28))
38905 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38906 405325 : ipack = ipack + 1
38907 405325 : packed_data(ipack) = pack_tmp
38908 405325 : data_tmp = full_data(idata)
38909 405325 : pack_tmp = ISHFT(data_tmp, 43)
38910 405325 : pack_tmp = ISHFT(pack_tmp, -43)
38911 405325 : idata = idata + 1
38912 405325 : data_tmp = full_data(idata)
38913 405325 : data_tmp = ISHFT(data_tmp, 15)
38914 405325 : data_tmp = IAND(data_tmp, mask_left(43))
38915 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38916 405325 : ipack = ipack + 1
38917 405325 : packed_data(ipack) = pack_tmp
38918 405325 : data_tmp = full_data(idata)
38919 405325 : pack_tmp = ISHFT(data_tmp, 58)
38920 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38921 405325 : idata = idata + 1
38922 405325 : data_tmp = full_data(idata)
38923 405325 : data_tmp = ISHFT(data_tmp, 15)
38924 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38925 405325 : pack_tmp = ISHFT(pack_tmp, -9)
38926 405325 : idata = idata + 1
38927 405325 : data_tmp = full_data(idata)
38928 405325 : data_tmp = ISHFT(data_tmp, 15)
38929 405325 : data_tmp = IAND(data_tmp, mask_left(9))
38930 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38931 405325 : ipack = ipack + 1
38932 405325 : packed_data(ipack) = pack_tmp
38933 405325 : data_tmp = full_data(idata)
38934 405325 : pack_tmp = ISHFT(data_tmp, 24)
38935 405325 : pack_tmp = ISHFT(pack_tmp, -24)
38936 405325 : idata = idata + 1
38937 405325 : data_tmp = full_data(idata)
38938 405325 : data_tmp = ISHFT(data_tmp, 15)
38939 405325 : data_tmp = IAND(data_tmp, mask_left(24))
38940 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38941 405325 : ipack = ipack + 1
38942 405325 : packed_data(ipack) = pack_tmp
38943 405325 : data_tmp = full_data(idata)
38944 405325 : pack_tmp = ISHFT(data_tmp, 39)
38945 405325 : pack_tmp = ISHFT(pack_tmp, -39)
38946 405325 : idata = idata + 1
38947 405325 : data_tmp = full_data(idata)
38948 405325 : data_tmp = ISHFT(data_tmp, 15)
38949 405325 : data_tmp = IAND(data_tmp, mask_left(39))
38950 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38951 405325 : ipack = ipack + 1
38952 405325 : packed_data(ipack) = pack_tmp
38953 405325 : data_tmp = full_data(idata)
38954 405325 : pack_tmp = ISHFT(data_tmp, 54)
38955 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38956 405325 : idata = idata + 1
38957 405325 : data_tmp = full_data(idata)
38958 405325 : data_tmp = ISHFT(data_tmp, 15)
38959 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38960 405325 : pack_tmp = ISHFT(pack_tmp, -5)
38961 405325 : idata = idata + 1
38962 405325 : data_tmp = full_data(idata)
38963 405325 : data_tmp = ISHFT(data_tmp, 15)
38964 405325 : data_tmp = IAND(data_tmp, mask_left(5))
38965 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38966 405325 : ipack = ipack + 1
38967 405325 : packed_data(ipack) = pack_tmp
38968 405325 : data_tmp = full_data(idata)
38969 405325 : pack_tmp = ISHFT(data_tmp, 20)
38970 405325 : pack_tmp = ISHFT(pack_tmp, -20)
38971 405325 : idata = idata + 1
38972 405325 : data_tmp = full_data(idata)
38973 405325 : data_tmp = ISHFT(data_tmp, 15)
38974 405325 : data_tmp = IAND(data_tmp, mask_left(20))
38975 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38976 405325 : ipack = ipack + 1
38977 405325 : packed_data(ipack) = pack_tmp
38978 405325 : data_tmp = full_data(idata)
38979 405325 : pack_tmp = ISHFT(data_tmp, 35)
38980 405325 : pack_tmp = ISHFT(pack_tmp, -35)
38981 405325 : idata = idata + 1
38982 405325 : data_tmp = full_data(idata)
38983 405325 : data_tmp = ISHFT(data_tmp, 15)
38984 405325 : data_tmp = IAND(data_tmp, mask_left(35))
38985 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38986 405325 : ipack = ipack + 1
38987 405325 : packed_data(ipack) = pack_tmp
38988 405325 : data_tmp = full_data(idata)
38989 405325 : pack_tmp = ISHFT(data_tmp, 50)
38990 405325 : pack_tmp = ISHFT(pack_tmp, -49)
38991 405325 : idata = idata + 1
38992 405325 : data_tmp = full_data(idata)
38993 405325 : data_tmp = ISHFT(data_tmp, 15)
38994 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
38995 405325 : pack_tmp = ISHFT(pack_tmp, -1)
38996 405325 : idata = idata + 1
38997 405325 : data_tmp = full_data(idata)
38998 405325 : data_tmp = ISHFT(data_tmp, 15)
38999 405325 : data_tmp = IAND(data_tmp, mask_left(1))
39000 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39001 405325 : ipack = ipack + 1
39002 405325 : packed_data(ipack) = pack_tmp
39003 405325 : data_tmp = full_data(idata)
39004 405325 : pack_tmp = ISHFT(data_tmp, 16)
39005 405325 : pack_tmp = ISHFT(pack_tmp, -16)
39006 405325 : idata = idata + 1
39007 405325 : data_tmp = full_data(idata)
39008 405325 : data_tmp = ISHFT(data_tmp, 15)
39009 405325 : data_tmp = IAND(data_tmp, mask_left(16))
39010 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39011 405325 : ipack = ipack + 1
39012 405325 : packed_data(ipack) = pack_tmp
39013 405325 : data_tmp = full_data(idata)
39014 405325 : pack_tmp = ISHFT(data_tmp, 31)
39015 405325 : pack_tmp = ISHFT(pack_tmp, -31)
39016 405325 : idata = idata + 1
39017 405325 : data_tmp = full_data(idata)
39018 405325 : data_tmp = ISHFT(data_tmp, 15)
39019 405325 : data_tmp = IAND(data_tmp, mask_left(31))
39020 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39021 405325 : ipack = ipack + 1
39022 405325 : packed_data(ipack) = pack_tmp
39023 405325 : data_tmp = full_data(idata)
39024 405325 : pack_tmp = ISHFT(data_tmp, 46)
39025 405325 : pack_tmp = ISHFT(pack_tmp, -46)
39026 405325 : idata = idata + 1
39027 405325 : data_tmp = full_data(idata)
39028 405325 : data_tmp = ISHFT(data_tmp, 15)
39029 405325 : data_tmp = IAND(data_tmp, mask_left(46))
39030 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39031 405325 : ipack = ipack + 1
39032 405325 : packed_data(ipack) = pack_tmp
39033 405325 : data_tmp = full_data(idata)
39034 405325 : pack_tmp = ISHFT(data_tmp, 61)
39035 405325 : pack_tmp = ISHFT(pack_tmp, -49)
39036 405325 : idata = idata + 1
39037 405325 : data_tmp = full_data(idata)
39038 405325 : data_tmp = ISHFT(data_tmp, 15)
39039 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39040 405325 : pack_tmp = ISHFT(pack_tmp, -12)
39041 405325 : idata = idata + 1
39042 405325 : data_tmp = full_data(idata)
39043 405325 : data_tmp = ISHFT(data_tmp, 15)
39044 405325 : data_tmp = IAND(data_tmp, mask_left(12))
39045 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39046 405325 : ipack = ipack + 1
39047 405325 : packed_data(ipack) = pack_tmp
39048 405325 : data_tmp = full_data(idata)
39049 405325 : pack_tmp = ISHFT(data_tmp, 27)
39050 405325 : pack_tmp = ISHFT(pack_tmp, -27)
39051 405325 : idata = idata + 1
39052 405325 : data_tmp = full_data(idata)
39053 405325 : data_tmp = ISHFT(data_tmp, 15)
39054 405325 : data_tmp = IAND(data_tmp, mask_left(27))
39055 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39056 405325 : ipack = ipack + 1
39057 405325 : packed_data(ipack) = pack_tmp
39058 405325 : data_tmp = full_data(idata)
39059 405325 : pack_tmp = ISHFT(data_tmp, 42)
39060 405325 : pack_tmp = ISHFT(pack_tmp, -42)
39061 405325 : idata = idata + 1
39062 405325 : data_tmp = full_data(idata)
39063 405325 : data_tmp = ISHFT(data_tmp, 15)
39064 405325 : data_tmp = IAND(data_tmp, mask_left(42))
39065 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39066 405325 : ipack = ipack + 1
39067 405325 : packed_data(ipack) = pack_tmp
39068 405325 : data_tmp = full_data(idata)
39069 405325 : pack_tmp = ISHFT(data_tmp, 57)
39070 405325 : pack_tmp = ISHFT(pack_tmp, -49)
39071 405325 : idata = idata + 1
39072 405325 : data_tmp = full_data(idata)
39073 405325 : data_tmp = ISHFT(data_tmp, 15)
39074 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39075 405325 : pack_tmp = ISHFT(pack_tmp, -8)
39076 405325 : idata = idata + 1
39077 405325 : data_tmp = full_data(idata)
39078 405325 : data_tmp = ISHFT(data_tmp, 15)
39079 405325 : data_tmp = IAND(data_tmp, mask_left(8))
39080 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39081 405325 : ipack = ipack + 1
39082 405325 : packed_data(ipack) = pack_tmp
39083 405325 : data_tmp = full_data(idata)
39084 405325 : pack_tmp = ISHFT(data_tmp, 23)
39085 405325 : pack_tmp = ISHFT(pack_tmp, -23)
39086 405325 : idata = idata + 1
39087 405325 : data_tmp = full_data(idata)
39088 405325 : data_tmp = ISHFT(data_tmp, 15)
39089 405325 : data_tmp = IAND(data_tmp, mask_left(23))
39090 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39091 405325 : ipack = ipack + 1
39092 405325 : packed_data(ipack) = pack_tmp
39093 405325 : data_tmp = full_data(idata)
39094 405325 : pack_tmp = ISHFT(data_tmp, 38)
39095 405325 : pack_tmp = ISHFT(pack_tmp, -38)
39096 405325 : idata = idata + 1
39097 405325 : data_tmp = full_data(idata)
39098 405325 : data_tmp = ISHFT(data_tmp, 15)
39099 405325 : data_tmp = IAND(data_tmp, mask_left(38))
39100 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39101 405325 : ipack = ipack + 1
39102 405325 : packed_data(ipack) = pack_tmp
39103 405325 : data_tmp = full_data(idata)
39104 405325 : pack_tmp = ISHFT(data_tmp, 53)
39105 405325 : pack_tmp = ISHFT(pack_tmp, -49)
39106 405325 : idata = idata + 1
39107 405325 : data_tmp = full_data(idata)
39108 405325 : data_tmp = ISHFT(data_tmp, 15)
39109 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39110 405325 : pack_tmp = ISHFT(pack_tmp, -4)
39111 405325 : idata = idata + 1
39112 405325 : data_tmp = full_data(idata)
39113 405325 : data_tmp = ISHFT(data_tmp, 15)
39114 405325 : data_tmp = IAND(data_tmp, mask_left(4))
39115 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39116 405325 : ipack = ipack + 1
39117 405325 : packed_data(ipack) = pack_tmp
39118 405325 : data_tmp = full_data(idata)
39119 405325 : pack_tmp = ISHFT(data_tmp, 19)
39120 405325 : pack_tmp = ISHFT(pack_tmp, -19)
39121 405325 : idata = idata + 1
39122 405325 : data_tmp = full_data(idata)
39123 405325 : data_tmp = ISHFT(data_tmp, 15)
39124 405325 : data_tmp = IAND(data_tmp, mask_left(19))
39125 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39126 405325 : ipack = ipack + 1
39127 405325 : packed_data(ipack) = pack_tmp
39128 405325 : data_tmp = full_data(idata)
39129 405325 : pack_tmp = ISHFT(data_tmp, 34)
39130 405325 : pack_tmp = ISHFT(pack_tmp, -34)
39131 405325 : idata = idata + 1
39132 405325 : data_tmp = full_data(idata)
39133 405325 : data_tmp = ISHFT(data_tmp, 15)
39134 405325 : data_tmp = IAND(data_tmp, mask_left(34))
39135 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39136 405325 : ipack = ipack + 1
39137 405325 : packed_data(ipack) = pack_tmp
39138 405325 : data_tmp = full_data(idata)
39139 405325 : pack_tmp = ISHFT(data_tmp, 49)
39140 405325 : pack_tmp = ISHFT(pack_tmp, -49)
39141 405325 : idata = idata + 1
39142 405325 : data_tmp = full_data(idata)
39143 405325 : data_tmp = ISHFT(data_tmp, 15)
39144 405325 : pack_tmp = IOR(pack_tmp, data_tmp)
39145 : pack_tmp = ISHFT(pack_tmp, 0)
39146 405325 : pack_tmp = ISHFT(pack_tmp, 0)
39147 405325 : ipack = ipack + 1
39148 405329 : packed_data(ipack) = pack_tmp
39149 : END DO
39150 26288 : IF (Ndata_rep < Ndata) THEN
39151 1798 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
39152 : END IF
39153 26288 : END SUBROUTINE ints2bits_49
39154 :
39155 : ! **************************************************************************************************
39156 : !> \brief ...
39157 : !> \param Ndata ...
39158 : !> \param packed_data ...
39159 : !> \param full_data ...
39160 : ! **************************************************************************************************
39161 104755 : 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(*)
39165 :
39166 : INTEGER, PARAMETER :: Nbits = 49
39167 :
39168 : INTEGER :: idata, ipack, kdata, Ndata_rep
39169 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
39170 :
39171 104755 : ipack = 0
39172 104755 : idata = 0
39173 104755 : pack_tmp = 0
39174 104755 : Ndata_rep = (Ndata/64)*64
39175 104755 : DO kdata = 1, Ndata_rep, 64
39176 1624145 : idata = idata + 1
39177 1624145 : data_tmp = ISHFT(pack_tmp, 49)
39178 1624145 : ipack = ipack + 1
39179 1624145 : pack_tmp = packed_data(ipack)
39180 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
39181 1624145 : pack_tmp = ISHFT(pack_tmp, -49)
39182 1624145 : idata = idata + 1
39183 1624145 : data_tmp = ISHFT(pack_tmp, 34)
39184 1624145 : ipack = ipack + 1
39185 1624145 : pack_tmp = packed_data(ipack)
39186 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
39187 1624145 : pack_tmp = ISHFT(pack_tmp, -34)
39188 1624145 : idata = idata + 1
39189 1624145 : data_tmp = ISHFT(pack_tmp, 19)
39190 1624145 : ipack = ipack + 1
39191 1624145 : pack_tmp = packed_data(ipack)
39192 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
39193 1624145 : pack_tmp = ISHFT(pack_tmp, -19)
39194 1624145 : idata = idata + 1
39195 1624145 : data_tmp = ISHFT(pack_tmp, 4)
39196 1624145 : ipack = ipack + 1
39197 1624145 : pack_tmp = packed_data(ipack)
39198 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
39199 1624145 : pack_tmp = ISHFT(pack_tmp, -4)
39200 1624145 : idata = idata + 1
39201 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39202 1624145 : full_data(idata) = data_tmp
39203 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39204 1624145 : idata = idata + 1
39205 1624145 : data_tmp = ISHFT(pack_tmp, 38)
39206 1624145 : ipack = ipack + 1
39207 1624145 : pack_tmp = packed_data(ipack)
39208 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
39209 1624145 : pack_tmp = ISHFT(pack_tmp, -38)
39210 1624145 : idata = idata + 1
39211 1624145 : data_tmp = ISHFT(pack_tmp, 23)
39212 1624145 : ipack = ipack + 1
39213 1624145 : pack_tmp = packed_data(ipack)
39214 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
39215 1624145 : pack_tmp = ISHFT(pack_tmp, -23)
39216 1624145 : idata = idata + 1
39217 1624145 : data_tmp = ISHFT(pack_tmp, 8)
39218 1624145 : ipack = ipack + 1
39219 1624145 : pack_tmp = packed_data(ipack)
39220 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
39221 1624145 : pack_tmp = ISHFT(pack_tmp, -8)
39222 1624145 : idata = idata + 1
39223 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39224 1624145 : full_data(idata) = data_tmp
39225 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39226 1624145 : idata = idata + 1
39227 1624145 : data_tmp = ISHFT(pack_tmp, 42)
39228 1624145 : ipack = ipack + 1
39229 1624145 : pack_tmp = packed_data(ipack)
39230 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
39231 1624145 : pack_tmp = ISHFT(pack_tmp, -42)
39232 1624145 : idata = idata + 1
39233 1624145 : data_tmp = ISHFT(pack_tmp, 27)
39234 1624145 : ipack = ipack + 1
39235 1624145 : pack_tmp = packed_data(ipack)
39236 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
39237 1624145 : pack_tmp = ISHFT(pack_tmp, -27)
39238 1624145 : idata = idata + 1
39239 1624145 : data_tmp = ISHFT(pack_tmp, 12)
39240 1624145 : ipack = ipack + 1
39241 1624145 : pack_tmp = packed_data(ipack)
39242 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
39243 1624145 : pack_tmp = ISHFT(pack_tmp, -12)
39244 1624145 : idata = idata + 1
39245 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39246 1624145 : full_data(idata) = data_tmp
39247 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39248 1624145 : idata = idata + 1
39249 1624145 : data_tmp = ISHFT(pack_tmp, 46)
39250 1624145 : ipack = ipack + 1
39251 1624145 : pack_tmp = packed_data(ipack)
39252 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
39253 1624145 : pack_tmp = ISHFT(pack_tmp, -46)
39254 1624145 : idata = idata + 1
39255 1624145 : data_tmp = ISHFT(pack_tmp, 31)
39256 1624145 : ipack = ipack + 1
39257 1624145 : pack_tmp = packed_data(ipack)
39258 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
39259 1624145 : pack_tmp = ISHFT(pack_tmp, -31)
39260 1624145 : idata = idata + 1
39261 1624145 : data_tmp = ISHFT(pack_tmp, 16)
39262 1624145 : ipack = ipack + 1
39263 1624145 : pack_tmp = packed_data(ipack)
39264 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
39265 1624145 : pack_tmp = ISHFT(pack_tmp, -16)
39266 1624145 : idata = idata + 1
39267 1624145 : data_tmp = ISHFT(pack_tmp, 1)
39268 1624145 : ipack = ipack + 1
39269 1624145 : pack_tmp = packed_data(ipack)
39270 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
39271 1624145 : pack_tmp = ISHFT(pack_tmp, -1)
39272 1624145 : idata = idata + 1
39273 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39274 1624145 : full_data(idata) = data_tmp
39275 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39276 1624145 : idata = idata + 1
39277 1624145 : data_tmp = ISHFT(pack_tmp, 35)
39278 1624145 : ipack = ipack + 1
39279 1624145 : pack_tmp = packed_data(ipack)
39280 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
39281 1624145 : pack_tmp = ISHFT(pack_tmp, -35)
39282 1624145 : idata = idata + 1
39283 1624145 : data_tmp = ISHFT(pack_tmp, 20)
39284 1624145 : ipack = ipack + 1
39285 1624145 : pack_tmp = packed_data(ipack)
39286 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
39287 1624145 : pack_tmp = ISHFT(pack_tmp, -20)
39288 1624145 : idata = idata + 1
39289 1624145 : data_tmp = ISHFT(pack_tmp, 5)
39290 1624145 : ipack = ipack + 1
39291 1624145 : pack_tmp = packed_data(ipack)
39292 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
39293 1624145 : pack_tmp = ISHFT(pack_tmp, -5)
39294 1624145 : idata = idata + 1
39295 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39296 1624145 : full_data(idata) = data_tmp
39297 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39298 1624145 : idata = idata + 1
39299 1624145 : data_tmp = ISHFT(pack_tmp, 39)
39300 1624145 : ipack = ipack + 1
39301 1624145 : pack_tmp = packed_data(ipack)
39302 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
39303 1624145 : pack_tmp = ISHFT(pack_tmp, -39)
39304 1624145 : idata = idata + 1
39305 1624145 : data_tmp = ISHFT(pack_tmp, 24)
39306 1624145 : ipack = ipack + 1
39307 1624145 : pack_tmp = packed_data(ipack)
39308 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
39309 1624145 : pack_tmp = ISHFT(pack_tmp, -24)
39310 1624145 : idata = idata + 1
39311 1624145 : data_tmp = ISHFT(pack_tmp, 9)
39312 1624145 : ipack = ipack + 1
39313 1624145 : pack_tmp = packed_data(ipack)
39314 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
39315 1624145 : pack_tmp = ISHFT(pack_tmp, -9)
39316 1624145 : idata = idata + 1
39317 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39318 1624145 : full_data(idata) = data_tmp
39319 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39320 1624145 : idata = idata + 1
39321 1624145 : data_tmp = ISHFT(pack_tmp, 43)
39322 1624145 : ipack = ipack + 1
39323 1624145 : pack_tmp = packed_data(ipack)
39324 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
39325 1624145 : pack_tmp = ISHFT(pack_tmp, -43)
39326 1624145 : idata = idata + 1
39327 1624145 : data_tmp = ISHFT(pack_tmp, 28)
39328 1624145 : ipack = ipack + 1
39329 1624145 : pack_tmp = packed_data(ipack)
39330 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
39331 1624145 : pack_tmp = ISHFT(pack_tmp, -28)
39332 1624145 : idata = idata + 1
39333 1624145 : data_tmp = ISHFT(pack_tmp, 13)
39334 1624145 : ipack = ipack + 1
39335 1624145 : pack_tmp = packed_data(ipack)
39336 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
39337 1624145 : pack_tmp = ISHFT(pack_tmp, -13)
39338 1624145 : idata = idata + 1
39339 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39340 1624145 : full_data(idata) = data_tmp
39341 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39342 1624145 : idata = idata + 1
39343 1624145 : data_tmp = ISHFT(pack_tmp, 47)
39344 1624145 : ipack = ipack + 1
39345 1624145 : pack_tmp = packed_data(ipack)
39346 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
39347 1624145 : pack_tmp = ISHFT(pack_tmp, -47)
39348 1624145 : idata = idata + 1
39349 1624145 : data_tmp = ISHFT(pack_tmp, 32)
39350 1624145 : ipack = ipack + 1
39351 1624145 : pack_tmp = packed_data(ipack)
39352 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
39353 1624145 : pack_tmp = ISHFT(pack_tmp, -32)
39354 1624145 : idata = idata + 1
39355 1624145 : data_tmp = ISHFT(pack_tmp, 17)
39356 1624145 : ipack = ipack + 1
39357 1624145 : pack_tmp = packed_data(ipack)
39358 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
39359 1624145 : pack_tmp = ISHFT(pack_tmp, -17)
39360 1624145 : idata = idata + 1
39361 1624145 : data_tmp = ISHFT(pack_tmp, 2)
39362 1624145 : ipack = ipack + 1
39363 1624145 : pack_tmp = packed_data(ipack)
39364 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
39365 1624145 : pack_tmp = ISHFT(pack_tmp, -2)
39366 1624145 : idata = idata + 1
39367 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39368 1624145 : full_data(idata) = data_tmp
39369 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39370 1624145 : idata = idata + 1
39371 1624145 : data_tmp = ISHFT(pack_tmp, 36)
39372 1624145 : ipack = ipack + 1
39373 1624145 : pack_tmp = packed_data(ipack)
39374 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
39375 1624145 : pack_tmp = ISHFT(pack_tmp, -36)
39376 1624145 : idata = idata + 1
39377 1624145 : data_tmp = ISHFT(pack_tmp, 21)
39378 1624145 : ipack = ipack + 1
39379 1624145 : pack_tmp = packed_data(ipack)
39380 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
39381 1624145 : pack_tmp = ISHFT(pack_tmp, -21)
39382 1624145 : idata = idata + 1
39383 1624145 : data_tmp = ISHFT(pack_tmp, 6)
39384 1624145 : ipack = ipack + 1
39385 1624145 : pack_tmp = packed_data(ipack)
39386 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
39387 1624145 : pack_tmp = ISHFT(pack_tmp, -6)
39388 1624145 : idata = idata + 1
39389 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39390 1624145 : full_data(idata) = data_tmp
39391 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39392 1624145 : idata = idata + 1
39393 1624145 : data_tmp = ISHFT(pack_tmp, 40)
39394 1624145 : ipack = ipack + 1
39395 1624145 : pack_tmp = packed_data(ipack)
39396 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
39397 1624145 : pack_tmp = ISHFT(pack_tmp, -40)
39398 1624145 : idata = idata + 1
39399 1624145 : data_tmp = ISHFT(pack_tmp, 25)
39400 1624145 : ipack = ipack + 1
39401 1624145 : pack_tmp = packed_data(ipack)
39402 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
39403 1624145 : pack_tmp = ISHFT(pack_tmp, -25)
39404 1624145 : idata = idata + 1
39405 1624145 : data_tmp = ISHFT(pack_tmp, 10)
39406 1624145 : ipack = ipack + 1
39407 1624145 : pack_tmp = packed_data(ipack)
39408 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
39409 1624145 : pack_tmp = ISHFT(pack_tmp, -10)
39410 1624145 : idata = idata + 1
39411 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39412 1624145 : full_data(idata) = data_tmp
39413 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39414 1624145 : idata = idata + 1
39415 1624145 : data_tmp = ISHFT(pack_tmp, 44)
39416 1624145 : ipack = ipack + 1
39417 1624145 : pack_tmp = packed_data(ipack)
39418 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
39419 1624145 : pack_tmp = ISHFT(pack_tmp, -44)
39420 1624145 : idata = idata + 1
39421 1624145 : data_tmp = ISHFT(pack_tmp, 29)
39422 1624145 : ipack = ipack + 1
39423 1624145 : pack_tmp = packed_data(ipack)
39424 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
39425 1624145 : pack_tmp = ISHFT(pack_tmp, -29)
39426 1624145 : idata = idata + 1
39427 1624145 : data_tmp = ISHFT(pack_tmp, 14)
39428 1624145 : ipack = ipack + 1
39429 1624145 : pack_tmp = packed_data(ipack)
39430 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
39431 1624145 : pack_tmp = ISHFT(pack_tmp, -14)
39432 1624145 : idata = idata + 1
39433 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39434 1624145 : full_data(idata) = data_tmp
39435 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39436 1624145 : idata = idata + 1
39437 1624145 : data_tmp = ISHFT(pack_tmp, 48)
39438 1624145 : ipack = ipack + 1
39439 1624145 : pack_tmp = packed_data(ipack)
39440 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
39441 1624145 : pack_tmp = ISHFT(pack_tmp, -48)
39442 1624145 : idata = idata + 1
39443 1624145 : data_tmp = ISHFT(pack_tmp, 33)
39444 1624145 : ipack = ipack + 1
39445 1624145 : pack_tmp = packed_data(ipack)
39446 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
39447 1624145 : pack_tmp = ISHFT(pack_tmp, -33)
39448 1624145 : idata = idata + 1
39449 1624145 : data_tmp = ISHFT(pack_tmp, 18)
39450 1624145 : ipack = ipack + 1
39451 1624145 : pack_tmp = packed_data(ipack)
39452 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
39453 1624145 : pack_tmp = ISHFT(pack_tmp, -18)
39454 1624145 : idata = idata + 1
39455 1624145 : data_tmp = ISHFT(pack_tmp, 3)
39456 1624145 : ipack = ipack + 1
39457 1624145 : pack_tmp = packed_data(ipack)
39458 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
39459 1624145 : pack_tmp = ISHFT(pack_tmp, -3)
39460 1624145 : idata = idata + 1
39461 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39462 1624145 : full_data(idata) = data_tmp
39463 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39464 1624145 : idata = idata + 1
39465 1624145 : data_tmp = ISHFT(pack_tmp, 37)
39466 1624145 : ipack = ipack + 1
39467 1624145 : pack_tmp = packed_data(ipack)
39468 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
39469 1624145 : pack_tmp = ISHFT(pack_tmp, -37)
39470 1624145 : idata = idata + 1
39471 1624145 : data_tmp = ISHFT(pack_tmp, 22)
39472 1624145 : ipack = ipack + 1
39473 1624145 : pack_tmp = packed_data(ipack)
39474 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
39475 1624145 : pack_tmp = ISHFT(pack_tmp, -22)
39476 1624145 : idata = idata + 1
39477 1624145 : data_tmp = ISHFT(pack_tmp, 7)
39478 1624145 : ipack = ipack + 1
39479 1624145 : pack_tmp = packed_data(ipack)
39480 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
39481 1624145 : pack_tmp = ISHFT(pack_tmp, -7)
39482 1624145 : idata = idata + 1
39483 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39484 1624145 : full_data(idata) = data_tmp
39485 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39486 1624145 : idata = idata + 1
39487 1624145 : data_tmp = ISHFT(pack_tmp, 41)
39488 1624145 : ipack = ipack + 1
39489 1624145 : pack_tmp = packed_data(ipack)
39490 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
39491 1624145 : pack_tmp = ISHFT(pack_tmp, -41)
39492 1624145 : idata = idata + 1
39493 1624145 : data_tmp = ISHFT(pack_tmp, 26)
39494 1624145 : ipack = ipack + 1
39495 1624145 : pack_tmp = packed_data(ipack)
39496 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
39497 1624145 : pack_tmp = ISHFT(pack_tmp, -26)
39498 1624145 : idata = idata + 1
39499 1624145 : data_tmp = ISHFT(pack_tmp, 11)
39500 1624145 : ipack = ipack + 1
39501 1624145 : pack_tmp = packed_data(ipack)
39502 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
39503 1624145 : pack_tmp = ISHFT(pack_tmp, -11)
39504 1624145 : idata = idata + 1
39505 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39506 1624145 : full_data(idata) = data_tmp
39507 1624145 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39508 1624145 : idata = idata + 1
39509 1624145 : data_tmp = ISHFT(pack_tmp, 45)
39510 1624145 : ipack = ipack + 1
39511 1624145 : pack_tmp = packed_data(ipack)
39512 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
39513 1624145 : pack_tmp = ISHFT(pack_tmp, -45)
39514 1624145 : idata = idata + 1
39515 1624145 : data_tmp = ISHFT(pack_tmp, 30)
39516 1624145 : ipack = ipack + 1
39517 1624145 : pack_tmp = packed_data(ipack)
39518 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
39519 1624145 : pack_tmp = ISHFT(pack_tmp, -30)
39520 1624145 : idata = idata + 1
39521 1624145 : data_tmp = ISHFT(pack_tmp, 15)
39522 1624145 : ipack = ipack + 1
39523 1624145 : pack_tmp = packed_data(ipack)
39524 1624145 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
39525 1624145 : pack_tmp = ISHFT(pack_tmp, -15)
39526 1624145 : idata = idata + 1
39527 1624145 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
39528 1624145 : full_data(idata) = data_tmp
39529 1624161 : pack_tmp = ISHFT(pack_tmp, -Nbits)
39530 : END DO
39531 104755 : IF (Ndata_rep < Ndata) THEN
39532 6110 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
39533 : END IF
39534 104755 : END SUBROUTINE bits2ints_49
39535 :
39536 : ! **************************************************************************************************
39537 : !> \brief ...
39538 : !> \param Ndata ...
39539 : !> \param packed_data ...
39540 : !> \param full_data ...
39541 : ! **************************************************************************************************
39542 25866 : 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(*)
39546 :
39547 : INTEGER, PARAMETER :: Nbits = 50
39548 :
39549 : INTEGER :: idata, ipack, kdata, Ndata_rep
39550 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
39551 :
39552 25866 : idata = 0
39553 25866 : ipack = 0
39554 25866 : Ndata_rep = (Ndata/64)*64
39555 25866 : DO kdata = 1, Ndata_rep, 64
39556 401871 : pack_tmp = 0
39557 401871 : idata = idata + 1
39558 401871 : data_tmp = full_data(idata)
39559 401871 : data_tmp = ISHFT(data_tmp, 14)
39560 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39561 401871 : pack_tmp = ISHFT(pack_tmp, -14)
39562 401871 : idata = idata + 1
39563 401871 : data_tmp = full_data(idata)
39564 401871 : data_tmp = ISHFT(data_tmp, 14)
39565 401871 : data_tmp = IAND(data_tmp, mask_left(14))
39566 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39567 401871 : ipack = ipack + 1
39568 401871 : packed_data(ipack) = pack_tmp
39569 401871 : data_tmp = full_data(idata)
39570 401871 : pack_tmp = ISHFT(data_tmp, 28)
39571 401871 : pack_tmp = ISHFT(pack_tmp, -28)
39572 401871 : idata = idata + 1
39573 401871 : data_tmp = full_data(idata)
39574 401871 : data_tmp = ISHFT(data_tmp, 14)
39575 401871 : data_tmp = IAND(data_tmp, mask_left(28))
39576 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39577 401871 : ipack = ipack + 1
39578 401871 : packed_data(ipack) = pack_tmp
39579 401871 : data_tmp = full_data(idata)
39580 401871 : pack_tmp = ISHFT(data_tmp, 42)
39581 401871 : pack_tmp = ISHFT(pack_tmp, -42)
39582 401871 : idata = idata + 1
39583 401871 : data_tmp = full_data(idata)
39584 401871 : data_tmp = ISHFT(data_tmp, 14)
39585 401871 : data_tmp = IAND(data_tmp, mask_left(42))
39586 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39587 401871 : ipack = ipack + 1
39588 401871 : packed_data(ipack) = pack_tmp
39589 401871 : data_tmp = full_data(idata)
39590 401871 : pack_tmp = ISHFT(data_tmp, 56)
39591 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39592 401871 : idata = idata + 1
39593 401871 : data_tmp = full_data(idata)
39594 401871 : data_tmp = ISHFT(data_tmp, 14)
39595 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39596 401871 : pack_tmp = ISHFT(pack_tmp, -6)
39597 401871 : idata = idata + 1
39598 401871 : data_tmp = full_data(idata)
39599 401871 : data_tmp = ISHFT(data_tmp, 14)
39600 401871 : data_tmp = IAND(data_tmp, mask_left(6))
39601 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39602 401871 : ipack = ipack + 1
39603 401871 : packed_data(ipack) = pack_tmp
39604 401871 : data_tmp = full_data(idata)
39605 401871 : pack_tmp = ISHFT(data_tmp, 20)
39606 401871 : pack_tmp = ISHFT(pack_tmp, -20)
39607 401871 : idata = idata + 1
39608 401871 : data_tmp = full_data(idata)
39609 401871 : data_tmp = ISHFT(data_tmp, 14)
39610 401871 : data_tmp = IAND(data_tmp, mask_left(20))
39611 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39612 401871 : ipack = ipack + 1
39613 401871 : packed_data(ipack) = pack_tmp
39614 401871 : data_tmp = full_data(idata)
39615 401871 : pack_tmp = ISHFT(data_tmp, 34)
39616 401871 : pack_tmp = ISHFT(pack_tmp, -34)
39617 401871 : idata = idata + 1
39618 401871 : data_tmp = full_data(idata)
39619 401871 : data_tmp = ISHFT(data_tmp, 14)
39620 401871 : data_tmp = IAND(data_tmp, mask_left(34))
39621 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39622 401871 : ipack = ipack + 1
39623 401871 : packed_data(ipack) = pack_tmp
39624 401871 : data_tmp = full_data(idata)
39625 401871 : pack_tmp = ISHFT(data_tmp, 48)
39626 401871 : pack_tmp = ISHFT(pack_tmp, -48)
39627 401871 : idata = idata + 1
39628 401871 : data_tmp = full_data(idata)
39629 401871 : data_tmp = ISHFT(data_tmp, 14)
39630 401871 : data_tmp = IAND(data_tmp, mask_left(48))
39631 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39632 401871 : ipack = ipack + 1
39633 401871 : packed_data(ipack) = pack_tmp
39634 401871 : data_tmp = full_data(idata)
39635 401871 : pack_tmp = ISHFT(data_tmp, 62)
39636 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39637 401871 : idata = idata + 1
39638 401871 : data_tmp = full_data(idata)
39639 401871 : data_tmp = ISHFT(data_tmp, 14)
39640 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39641 401871 : pack_tmp = ISHFT(pack_tmp, -12)
39642 401871 : idata = idata + 1
39643 401871 : data_tmp = full_data(idata)
39644 401871 : data_tmp = ISHFT(data_tmp, 14)
39645 401871 : data_tmp = IAND(data_tmp, mask_left(12))
39646 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39647 401871 : ipack = ipack + 1
39648 401871 : packed_data(ipack) = pack_tmp
39649 401871 : data_tmp = full_data(idata)
39650 401871 : pack_tmp = ISHFT(data_tmp, 26)
39651 401871 : pack_tmp = ISHFT(pack_tmp, -26)
39652 401871 : idata = idata + 1
39653 401871 : data_tmp = full_data(idata)
39654 401871 : data_tmp = ISHFT(data_tmp, 14)
39655 401871 : data_tmp = IAND(data_tmp, mask_left(26))
39656 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39657 401871 : ipack = ipack + 1
39658 401871 : packed_data(ipack) = pack_tmp
39659 401871 : data_tmp = full_data(idata)
39660 401871 : pack_tmp = ISHFT(data_tmp, 40)
39661 401871 : pack_tmp = ISHFT(pack_tmp, -40)
39662 401871 : idata = idata + 1
39663 401871 : data_tmp = full_data(idata)
39664 401871 : data_tmp = ISHFT(data_tmp, 14)
39665 401871 : data_tmp = IAND(data_tmp, mask_left(40))
39666 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39667 401871 : ipack = ipack + 1
39668 401871 : packed_data(ipack) = pack_tmp
39669 401871 : data_tmp = full_data(idata)
39670 401871 : pack_tmp = ISHFT(data_tmp, 54)
39671 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39672 401871 : idata = idata + 1
39673 401871 : data_tmp = full_data(idata)
39674 401871 : data_tmp = ISHFT(data_tmp, 14)
39675 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39676 401871 : pack_tmp = ISHFT(pack_tmp, -4)
39677 401871 : idata = idata + 1
39678 401871 : data_tmp = full_data(idata)
39679 401871 : data_tmp = ISHFT(data_tmp, 14)
39680 401871 : data_tmp = IAND(data_tmp, mask_left(4))
39681 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39682 401871 : ipack = ipack + 1
39683 401871 : packed_data(ipack) = pack_tmp
39684 401871 : data_tmp = full_data(idata)
39685 401871 : pack_tmp = ISHFT(data_tmp, 18)
39686 401871 : pack_tmp = ISHFT(pack_tmp, -18)
39687 401871 : idata = idata + 1
39688 401871 : data_tmp = full_data(idata)
39689 401871 : data_tmp = ISHFT(data_tmp, 14)
39690 401871 : data_tmp = IAND(data_tmp, mask_left(18))
39691 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39692 401871 : ipack = ipack + 1
39693 401871 : packed_data(ipack) = pack_tmp
39694 401871 : data_tmp = full_data(idata)
39695 401871 : pack_tmp = ISHFT(data_tmp, 32)
39696 401871 : pack_tmp = ISHFT(pack_tmp, -32)
39697 401871 : idata = idata + 1
39698 401871 : data_tmp = full_data(idata)
39699 401871 : data_tmp = ISHFT(data_tmp, 14)
39700 401871 : data_tmp = IAND(data_tmp, mask_left(32))
39701 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39702 401871 : ipack = ipack + 1
39703 401871 : packed_data(ipack) = pack_tmp
39704 401871 : data_tmp = full_data(idata)
39705 401871 : pack_tmp = ISHFT(data_tmp, 46)
39706 401871 : pack_tmp = ISHFT(pack_tmp, -46)
39707 401871 : idata = idata + 1
39708 401871 : data_tmp = full_data(idata)
39709 401871 : data_tmp = ISHFT(data_tmp, 14)
39710 401871 : data_tmp = IAND(data_tmp, mask_left(46))
39711 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39712 401871 : ipack = ipack + 1
39713 401871 : packed_data(ipack) = pack_tmp
39714 401871 : data_tmp = full_data(idata)
39715 401871 : pack_tmp = ISHFT(data_tmp, 60)
39716 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39717 401871 : idata = idata + 1
39718 401871 : data_tmp = full_data(idata)
39719 401871 : data_tmp = ISHFT(data_tmp, 14)
39720 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39721 401871 : pack_tmp = ISHFT(pack_tmp, -10)
39722 401871 : idata = idata + 1
39723 401871 : data_tmp = full_data(idata)
39724 401871 : data_tmp = ISHFT(data_tmp, 14)
39725 401871 : data_tmp = IAND(data_tmp, mask_left(10))
39726 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39727 401871 : ipack = ipack + 1
39728 401871 : packed_data(ipack) = pack_tmp
39729 401871 : data_tmp = full_data(idata)
39730 401871 : pack_tmp = ISHFT(data_tmp, 24)
39731 401871 : pack_tmp = ISHFT(pack_tmp, -24)
39732 401871 : idata = idata + 1
39733 401871 : data_tmp = full_data(idata)
39734 401871 : data_tmp = ISHFT(data_tmp, 14)
39735 401871 : data_tmp = IAND(data_tmp, mask_left(24))
39736 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39737 401871 : ipack = ipack + 1
39738 401871 : packed_data(ipack) = pack_tmp
39739 401871 : data_tmp = full_data(idata)
39740 401871 : pack_tmp = ISHFT(data_tmp, 38)
39741 401871 : pack_tmp = ISHFT(pack_tmp, -38)
39742 401871 : idata = idata + 1
39743 401871 : data_tmp = full_data(idata)
39744 401871 : data_tmp = ISHFT(data_tmp, 14)
39745 401871 : data_tmp = IAND(data_tmp, mask_left(38))
39746 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39747 401871 : ipack = ipack + 1
39748 401871 : packed_data(ipack) = pack_tmp
39749 401871 : data_tmp = full_data(idata)
39750 401871 : pack_tmp = ISHFT(data_tmp, 52)
39751 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39752 401871 : idata = idata + 1
39753 401871 : data_tmp = full_data(idata)
39754 401871 : data_tmp = ISHFT(data_tmp, 14)
39755 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39756 401871 : pack_tmp = ISHFT(pack_tmp, -2)
39757 401871 : idata = idata + 1
39758 401871 : data_tmp = full_data(idata)
39759 401871 : data_tmp = ISHFT(data_tmp, 14)
39760 401871 : data_tmp = IAND(data_tmp, mask_left(2))
39761 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39762 401871 : ipack = ipack + 1
39763 401871 : packed_data(ipack) = pack_tmp
39764 401871 : data_tmp = full_data(idata)
39765 401871 : pack_tmp = ISHFT(data_tmp, 16)
39766 401871 : pack_tmp = ISHFT(pack_tmp, -16)
39767 401871 : idata = idata + 1
39768 401871 : data_tmp = full_data(idata)
39769 401871 : data_tmp = ISHFT(data_tmp, 14)
39770 401871 : data_tmp = IAND(data_tmp, mask_left(16))
39771 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39772 401871 : ipack = ipack + 1
39773 401871 : packed_data(ipack) = pack_tmp
39774 401871 : data_tmp = full_data(idata)
39775 401871 : pack_tmp = ISHFT(data_tmp, 30)
39776 401871 : pack_tmp = ISHFT(pack_tmp, -30)
39777 401871 : idata = idata + 1
39778 401871 : data_tmp = full_data(idata)
39779 401871 : data_tmp = ISHFT(data_tmp, 14)
39780 401871 : data_tmp = IAND(data_tmp, mask_left(30))
39781 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39782 401871 : ipack = ipack + 1
39783 401871 : packed_data(ipack) = pack_tmp
39784 401871 : data_tmp = full_data(idata)
39785 401871 : pack_tmp = ISHFT(data_tmp, 44)
39786 401871 : pack_tmp = ISHFT(pack_tmp, -44)
39787 401871 : idata = idata + 1
39788 401871 : data_tmp = full_data(idata)
39789 401871 : data_tmp = ISHFT(data_tmp, 14)
39790 401871 : data_tmp = IAND(data_tmp, mask_left(44))
39791 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39792 401871 : ipack = ipack + 1
39793 401871 : packed_data(ipack) = pack_tmp
39794 401871 : data_tmp = full_data(idata)
39795 401871 : pack_tmp = ISHFT(data_tmp, 58)
39796 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39797 401871 : idata = idata + 1
39798 401871 : data_tmp = full_data(idata)
39799 401871 : data_tmp = ISHFT(data_tmp, 14)
39800 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39801 401871 : pack_tmp = ISHFT(pack_tmp, -8)
39802 401871 : idata = idata + 1
39803 401871 : data_tmp = full_data(idata)
39804 401871 : data_tmp = ISHFT(data_tmp, 14)
39805 401871 : data_tmp = IAND(data_tmp, mask_left(8))
39806 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39807 401871 : ipack = ipack + 1
39808 401871 : packed_data(ipack) = pack_tmp
39809 401871 : data_tmp = full_data(idata)
39810 401871 : pack_tmp = ISHFT(data_tmp, 22)
39811 401871 : pack_tmp = ISHFT(pack_tmp, -22)
39812 401871 : idata = idata + 1
39813 401871 : data_tmp = full_data(idata)
39814 401871 : data_tmp = ISHFT(data_tmp, 14)
39815 401871 : data_tmp = IAND(data_tmp, mask_left(22))
39816 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39817 401871 : ipack = ipack + 1
39818 401871 : packed_data(ipack) = pack_tmp
39819 401871 : data_tmp = full_data(idata)
39820 401871 : pack_tmp = ISHFT(data_tmp, 36)
39821 401871 : pack_tmp = ISHFT(pack_tmp, -36)
39822 401871 : idata = idata + 1
39823 401871 : data_tmp = full_data(idata)
39824 401871 : data_tmp = ISHFT(data_tmp, 14)
39825 401871 : data_tmp = IAND(data_tmp, mask_left(36))
39826 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39827 401871 : ipack = ipack + 1
39828 401871 : packed_data(ipack) = pack_tmp
39829 401871 : data_tmp = full_data(idata)
39830 401871 : pack_tmp = ISHFT(data_tmp, 50)
39831 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39832 401871 : idata = idata + 1
39833 401871 : data_tmp = full_data(idata)
39834 401871 : data_tmp = ISHFT(data_tmp, 14)
39835 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39836 401871 : pack_tmp = ISHFT(pack_tmp, 0)
39837 401871 : idata = idata + 1
39838 401871 : data_tmp = full_data(idata)
39839 : data_tmp = ISHFT(data_tmp, 14)
39840 401871 : data_tmp = IAND(data_tmp, mask_left(0))
39841 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39842 401871 : ipack = ipack + 1
39843 401871 : packed_data(ipack) = pack_tmp
39844 401871 : data_tmp = full_data(idata)
39845 401871 : pack_tmp = ISHFT(data_tmp, 14)
39846 401871 : pack_tmp = ISHFT(pack_tmp, -14)
39847 401871 : idata = idata + 1
39848 401871 : data_tmp = full_data(idata)
39849 401871 : data_tmp = ISHFT(data_tmp, 14)
39850 401871 : data_tmp = IAND(data_tmp, mask_left(14))
39851 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39852 401871 : ipack = ipack + 1
39853 401871 : packed_data(ipack) = pack_tmp
39854 401871 : data_tmp = full_data(idata)
39855 401871 : pack_tmp = ISHFT(data_tmp, 28)
39856 401871 : pack_tmp = ISHFT(pack_tmp, -28)
39857 401871 : idata = idata + 1
39858 401871 : data_tmp = full_data(idata)
39859 401871 : data_tmp = ISHFT(data_tmp, 14)
39860 401871 : data_tmp = IAND(data_tmp, mask_left(28))
39861 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39862 401871 : ipack = ipack + 1
39863 401871 : packed_data(ipack) = pack_tmp
39864 401871 : data_tmp = full_data(idata)
39865 401871 : pack_tmp = ISHFT(data_tmp, 42)
39866 401871 : pack_tmp = ISHFT(pack_tmp, -42)
39867 401871 : idata = idata + 1
39868 401871 : data_tmp = full_data(idata)
39869 401871 : data_tmp = ISHFT(data_tmp, 14)
39870 401871 : data_tmp = IAND(data_tmp, mask_left(42))
39871 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39872 401871 : ipack = ipack + 1
39873 401871 : packed_data(ipack) = pack_tmp
39874 401871 : data_tmp = full_data(idata)
39875 401871 : pack_tmp = ISHFT(data_tmp, 56)
39876 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39877 401871 : idata = idata + 1
39878 401871 : data_tmp = full_data(idata)
39879 401871 : data_tmp = ISHFT(data_tmp, 14)
39880 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39881 401871 : pack_tmp = ISHFT(pack_tmp, -6)
39882 401871 : idata = idata + 1
39883 401871 : data_tmp = full_data(idata)
39884 401871 : data_tmp = ISHFT(data_tmp, 14)
39885 401871 : data_tmp = IAND(data_tmp, mask_left(6))
39886 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39887 401871 : ipack = ipack + 1
39888 401871 : packed_data(ipack) = pack_tmp
39889 401871 : data_tmp = full_data(idata)
39890 401871 : pack_tmp = ISHFT(data_tmp, 20)
39891 401871 : pack_tmp = ISHFT(pack_tmp, -20)
39892 401871 : idata = idata + 1
39893 401871 : data_tmp = full_data(idata)
39894 401871 : data_tmp = ISHFT(data_tmp, 14)
39895 401871 : data_tmp = IAND(data_tmp, mask_left(20))
39896 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39897 401871 : ipack = ipack + 1
39898 401871 : packed_data(ipack) = pack_tmp
39899 401871 : data_tmp = full_data(idata)
39900 401871 : pack_tmp = ISHFT(data_tmp, 34)
39901 401871 : pack_tmp = ISHFT(pack_tmp, -34)
39902 401871 : idata = idata + 1
39903 401871 : data_tmp = full_data(idata)
39904 401871 : data_tmp = ISHFT(data_tmp, 14)
39905 401871 : data_tmp = IAND(data_tmp, mask_left(34))
39906 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39907 401871 : ipack = ipack + 1
39908 401871 : packed_data(ipack) = pack_tmp
39909 401871 : data_tmp = full_data(idata)
39910 401871 : pack_tmp = ISHFT(data_tmp, 48)
39911 401871 : pack_tmp = ISHFT(pack_tmp, -48)
39912 401871 : idata = idata + 1
39913 401871 : data_tmp = full_data(idata)
39914 401871 : data_tmp = ISHFT(data_tmp, 14)
39915 401871 : data_tmp = IAND(data_tmp, mask_left(48))
39916 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39917 401871 : ipack = ipack + 1
39918 401871 : packed_data(ipack) = pack_tmp
39919 401871 : data_tmp = full_data(idata)
39920 401871 : pack_tmp = ISHFT(data_tmp, 62)
39921 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39922 401871 : idata = idata + 1
39923 401871 : data_tmp = full_data(idata)
39924 401871 : data_tmp = ISHFT(data_tmp, 14)
39925 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39926 401871 : pack_tmp = ISHFT(pack_tmp, -12)
39927 401871 : idata = idata + 1
39928 401871 : data_tmp = full_data(idata)
39929 401871 : data_tmp = ISHFT(data_tmp, 14)
39930 401871 : data_tmp = IAND(data_tmp, mask_left(12))
39931 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39932 401871 : ipack = ipack + 1
39933 401871 : packed_data(ipack) = pack_tmp
39934 401871 : data_tmp = full_data(idata)
39935 401871 : pack_tmp = ISHFT(data_tmp, 26)
39936 401871 : pack_tmp = ISHFT(pack_tmp, -26)
39937 401871 : idata = idata + 1
39938 401871 : data_tmp = full_data(idata)
39939 401871 : data_tmp = ISHFT(data_tmp, 14)
39940 401871 : data_tmp = IAND(data_tmp, mask_left(26))
39941 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39942 401871 : ipack = ipack + 1
39943 401871 : packed_data(ipack) = pack_tmp
39944 401871 : data_tmp = full_data(idata)
39945 401871 : pack_tmp = ISHFT(data_tmp, 40)
39946 401871 : pack_tmp = ISHFT(pack_tmp, -40)
39947 401871 : idata = idata + 1
39948 401871 : data_tmp = full_data(idata)
39949 401871 : data_tmp = ISHFT(data_tmp, 14)
39950 401871 : data_tmp = IAND(data_tmp, mask_left(40))
39951 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39952 401871 : ipack = ipack + 1
39953 401871 : packed_data(ipack) = pack_tmp
39954 401871 : data_tmp = full_data(idata)
39955 401871 : pack_tmp = ISHFT(data_tmp, 54)
39956 401871 : pack_tmp = ISHFT(pack_tmp, -50)
39957 401871 : idata = idata + 1
39958 401871 : data_tmp = full_data(idata)
39959 401871 : data_tmp = ISHFT(data_tmp, 14)
39960 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39961 401871 : pack_tmp = ISHFT(pack_tmp, -4)
39962 401871 : idata = idata + 1
39963 401871 : data_tmp = full_data(idata)
39964 401871 : data_tmp = ISHFT(data_tmp, 14)
39965 401871 : data_tmp = IAND(data_tmp, mask_left(4))
39966 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39967 401871 : ipack = ipack + 1
39968 401871 : packed_data(ipack) = pack_tmp
39969 401871 : data_tmp = full_data(idata)
39970 401871 : pack_tmp = ISHFT(data_tmp, 18)
39971 401871 : pack_tmp = ISHFT(pack_tmp, -18)
39972 401871 : idata = idata + 1
39973 401871 : data_tmp = full_data(idata)
39974 401871 : data_tmp = ISHFT(data_tmp, 14)
39975 401871 : data_tmp = IAND(data_tmp, mask_left(18))
39976 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39977 401871 : ipack = ipack + 1
39978 401871 : packed_data(ipack) = pack_tmp
39979 401871 : data_tmp = full_data(idata)
39980 401871 : pack_tmp = ISHFT(data_tmp, 32)
39981 401871 : pack_tmp = ISHFT(pack_tmp, -32)
39982 401871 : idata = idata + 1
39983 401871 : data_tmp = full_data(idata)
39984 401871 : data_tmp = ISHFT(data_tmp, 14)
39985 401871 : data_tmp = IAND(data_tmp, mask_left(32))
39986 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39987 401871 : ipack = ipack + 1
39988 401871 : packed_data(ipack) = pack_tmp
39989 401871 : data_tmp = full_data(idata)
39990 401871 : pack_tmp = ISHFT(data_tmp, 46)
39991 401871 : pack_tmp = ISHFT(pack_tmp, -46)
39992 401871 : idata = idata + 1
39993 401871 : data_tmp = full_data(idata)
39994 401871 : data_tmp = ISHFT(data_tmp, 14)
39995 401871 : data_tmp = IAND(data_tmp, mask_left(46))
39996 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
39997 401871 : ipack = ipack + 1
39998 401871 : packed_data(ipack) = pack_tmp
39999 401871 : data_tmp = full_data(idata)
40000 401871 : pack_tmp = ISHFT(data_tmp, 60)
40001 401871 : pack_tmp = ISHFT(pack_tmp, -50)
40002 401871 : idata = idata + 1
40003 401871 : data_tmp = full_data(idata)
40004 401871 : data_tmp = ISHFT(data_tmp, 14)
40005 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40006 401871 : pack_tmp = ISHFT(pack_tmp, -10)
40007 401871 : idata = idata + 1
40008 401871 : data_tmp = full_data(idata)
40009 401871 : data_tmp = ISHFT(data_tmp, 14)
40010 401871 : data_tmp = IAND(data_tmp, mask_left(10))
40011 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40012 401871 : ipack = ipack + 1
40013 401871 : packed_data(ipack) = pack_tmp
40014 401871 : data_tmp = full_data(idata)
40015 401871 : pack_tmp = ISHFT(data_tmp, 24)
40016 401871 : pack_tmp = ISHFT(pack_tmp, -24)
40017 401871 : idata = idata + 1
40018 401871 : data_tmp = full_data(idata)
40019 401871 : data_tmp = ISHFT(data_tmp, 14)
40020 401871 : data_tmp = IAND(data_tmp, mask_left(24))
40021 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40022 401871 : ipack = ipack + 1
40023 401871 : packed_data(ipack) = pack_tmp
40024 401871 : data_tmp = full_data(idata)
40025 401871 : pack_tmp = ISHFT(data_tmp, 38)
40026 401871 : pack_tmp = ISHFT(pack_tmp, -38)
40027 401871 : idata = idata + 1
40028 401871 : data_tmp = full_data(idata)
40029 401871 : data_tmp = ISHFT(data_tmp, 14)
40030 401871 : data_tmp = IAND(data_tmp, mask_left(38))
40031 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40032 401871 : ipack = ipack + 1
40033 401871 : packed_data(ipack) = pack_tmp
40034 401871 : data_tmp = full_data(idata)
40035 401871 : pack_tmp = ISHFT(data_tmp, 52)
40036 401871 : pack_tmp = ISHFT(pack_tmp, -50)
40037 401871 : idata = idata + 1
40038 401871 : data_tmp = full_data(idata)
40039 401871 : data_tmp = ISHFT(data_tmp, 14)
40040 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40041 401871 : pack_tmp = ISHFT(pack_tmp, -2)
40042 401871 : idata = idata + 1
40043 401871 : data_tmp = full_data(idata)
40044 401871 : data_tmp = ISHFT(data_tmp, 14)
40045 401871 : data_tmp = IAND(data_tmp, mask_left(2))
40046 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40047 401871 : ipack = ipack + 1
40048 401871 : packed_data(ipack) = pack_tmp
40049 401871 : data_tmp = full_data(idata)
40050 401871 : pack_tmp = ISHFT(data_tmp, 16)
40051 401871 : pack_tmp = ISHFT(pack_tmp, -16)
40052 401871 : idata = idata + 1
40053 401871 : data_tmp = full_data(idata)
40054 401871 : data_tmp = ISHFT(data_tmp, 14)
40055 401871 : data_tmp = IAND(data_tmp, mask_left(16))
40056 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40057 401871 : ipack = ipack + 1
40058 401871 : packed_data(ipack) = pack_tmp
40059 401871 : data_tmp = full_data(idata)
40060 401871 : pack_tmp = ISHFT(data_tmp, 30)
40061 401871 : pack_tmp = ISHFT(pack_tmp, -30)
40062 401871 : idata = idata + 1
40063 401871 : data_tmp = full_data(idata)
40064 401871 : data_tmp = ISHFT(data_tmp, 14)
40065 401871 : data_tmp = IAND(data_tmp, mask_left(30))
40066 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40067 401871 : ipack = ipack + 1
40068 401871 : packed_data(ipack) = pack_tmp
40069 401871 : data_tmp = full_data(idata)
40070 401871 : pack_tmp = ISHFT(data_tmp, 44)
40071 401871 : pack_tmp = ISHFT(pack_tmp, -44)
40072 401871 : idata = idata + 1
40073 401871 : data_tmp = full_data(idata)
40074 401871 : data_tmp = ISHFT(data_tmp, 14)
40075 401871 : data_tmp = IAND(data_tmp, mask_left(44))
40076 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40077 401871 : ipack = ipack + 1
40078 401871 : packed_data(ipack) = pack_tmp
40079 401871 : data_tmp = full_data(idata)
40080 401871 : pack_tmp = ISHFT(data_tmp, 58)
40081 401871 : pack_tmp = ISHFT(pack_tmp, -50)
40082 401871 : idata = idata + 1
40083 401871 : data_tmp = full_data(idata)
40084 401871 : data_tmp = ISHFT(data_tmp, 14)
40085 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40086 401871 : pack_tmp = ISHFT(pack_tmp, -8)
40087 401871 : idata = idata + 1
40088 401871 : data_tmp = full_data(idata)
40089 401871 : data_tmp = ISHFT(data_tmp, 14)
40090 401871 : data_tmp = IAND(data_tmp, mask_left(8))
40091 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40092 401871 : ipack = ipack + 1
40093 401871 : packed_data(ipack) = pack_tmp
40094 401871 : data_tmp = full_data(idata)
40095 401871 : pack_tmp = ISHFT(data_tmp, 22)
40096 401871 : pack_tmp = ISHFT(pack_tmp, -22)
40097 401871 : idata = idata + 1
40098 401871 : data_tmp = full_data(idata)
40099 401871 : data_tmp = ISHFT(data_tmp, 14)
40100 401871 : data_tmp = IAND(data_tmp, mask_left(22))
40101 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40102 401871 : ipack = ipack + 1
40103 401871 : packed_data(ipack) = pack_tmp
40104 401871 : data_tmp = full_data(idata)
40105 401871 : pack_tmp = ISHFT(data_tmp, 36)
40106 401871 : pack_tmp = ISHFT(pack_tmp, -36)
40107 401871 : idata = idata + 1
40108 401871 : data_tmp = full_data(idata)
40109 401871 : data_tmp = ISHFT(data_tmp, 14)
40110 401871 : data_tmp = IAND(data_tmp, mask_left(36))
40111 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40112 401871 : ipack = ipack + 1
40113 401871 : packed_data(ipack) = pack_tmp
40114 401871 : data_tmp = full_data(idata)
40115 401871 : pack_tmp = ISHFT(data_tmp, 50)
40116 401871 : pack_tmp = ISHFT(pack_tmp, -50)
40117 401871 : idata = idata + 1
40118 401871 : data_tmp = full_data(idata)
40119 401871 : data_tmp = ISHFT(data_tmp, 14)
40120 401871 : pack_tmp = IOR(pack_tmp, data_tmp)
40121 : pack_tmp = ISHFT(pack_tmp, 0)
40122 401871 : pack_tmp = ISHFT(pack_tmp, 0)
40123 401871 : ipack = ipack + 1
40124 401879 : packed_data(ipack) = pack_tmp
40125 : END DO
40126 25866 : IF (Ndata_rep < Ndata) THEN
40127 1410 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
40128 : END IF
40129 25866 : END SUBROUTINE ints2bits_50
40130 :
40131 : ! **************************************************************************************************
40132 : !> \brief ...
40133 : !> \param Ndata ...
40134 : !> \param packed_data ...
40135 : !> \param full_data ...
40136 : ! **************************************************************************************************
40137 102867 : 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(*)
40141 :
40142 : INTEGER, PARAMETER :: Nbits = 50
40143 :
40144 : INTEGER :: idata, ipack, kdata, Ndata_rep
40145 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
40146 :
40147 102867 : ipack = 0
40148 102867 : idata = 0
40149 102867 : pack_tmp = 0
40150 102867 : Ndata_rep = (Ndata/64)*64
40151 102867 : DO kdata = 1, Ndata_rep, 64
40152 1608965 : idata = idata + 1
40153 1608965 : data_tmp = ISHFT(pack_tmp, 50)
40154 1608965 : ipack = ipack + 1
40155 1608965 : pack_tmp = packed_data(ipack)
40156 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
40157 1608965 : pack_tmp = ISHFT(pack_tmp, -50)
40158 1608965 : idata = idata + 1
40159 1608965 : data_tmp = ISHFT(pack_tmp, 36)
40160 1608965 : ipack = ipack + 1
40161 1608965 : pack_tmp = packed_data(ipack)
40162 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
40163 1608965 : pack_tmp = ISHFT(pack_tmp, -36)
40164 1608965 : idata = idata + 1
40165 1608965 : data_tmp = ISHFT(pack_tmp, 22)
40166 1608965 : ipack = ipack + 1
40167 1608965 : pack_tmp = packed_data(ipack)
40168 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
40169 1608965 : pack_tmp = ISHFT(pack_tmp, -22)
40170 1608965 : idata = idata + 1
40171 1608965 : data_tmp = ISHFT(pack_tmp, 8)
40172 1608965 : ipack = ipack + 1
40173 1608965 : pack_tmp = packed_data(ipack)
40174 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
40175 1608965 : pack_tmp = ISHFT(pack_tmp, -8)
40176 1608965 : idata = idata + 1
40177 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40178 1608965 : full_data(idata) = data_tmp
40179 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40180 1608965 : idata = idata + 1
40181 1608965 : data_tmp = ISHFT(pack_tmp, 44)
40182 1608965 : ipack = ipack + 1
40183 1608965 : pack_tmp = packed_data(ipack)
40184 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
40185 1608965 : pack_tmp = ISHFT(pack_tmp, -44)
40186 1608965 : idata = idata + 1
40187 1608965 : data_tmp = ISHFT(pack_tmp, 30)
40188 1608965 : ipack = ipack + 1
40189 1608965 : pack_tmp = packed_data(ipack)
40190 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
40191 1608965 : pack_tmp = ISHFT(pack_tmp, -30)
40192 1608965 : idata = idata + 1
40193 1608965 : data_tmp = ISHFT(pack_tmp, 16)
40194 1608965 : ipack = ipack + 1
40195 1608965 : pack_tmp = packed_data(ipack)
40196 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
40197 1608965 : pack_tmp = ISHFT(pack_tmp, -16)
40198 1608965 : idata = idata + 1
40199 1608965 : data_tmp = ISHFT(pack_tmp, 2)
40200 1608965 : ipack = ipack + 1
40201 1608965 : pack_tmp = packed_data(ipack)
40202 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
40203 1608965 : pack_tmp = ISHFT(pack_tmp, -2)
40204 1608965 : idata = idata + 1
40205 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40206 1608965 : full_data(idata) = data_tmp
40207 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40208 1608965 : idata = idata + 1
40209 1608965 : data_tmp = ISHFT(pack_tmp, 38)
40210 1608965 : ipack = ipack + 1
40211 1608965 : pack_tmp = packed_data(ipack)
40212 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
40213 1608965 : pack_tmp = ISHFT(pack_tmp, -38)
40214 1608965 : idata = idata + 1
40215 1608965 : data_tmp = ISHFT(pack_tmp, 24)
40216 1608965 : ipack = ipack + 1
40217 1608965 : pack_tmp = packed_data(ipack)
40218 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
40219 1608965 : pack_tmp = ISHFT(pack_tmp, -24)
40220 1608965 : idata = idata + 1
40221 1608965 : data_tmp = ISHFT(pack_tmp, 10)
40222 1608965 : ipack = ipack + 1
40223 1608965 : pack_tmp = packed_data(ipack)
40224 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
40225 1608965 : pack_tmp = ISHFT(pack_tmp, -10)
40226 1608965 : idata = idata + 1
40227 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40228 1608965 : full_data(idata) = data_tmp
40229 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40230 1608965 : idata = idata + 1
40231 1608965 : data_tmp = ISHFT(pack_tmp, 46)
40232 1608965 : ipack = ipack + 1
40233 1608965 : pack_tmp = packed_data(ipack)
40234 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
40235 1608965 : pack_tmp = ISHFT(pack_tmp, -46)
40236 1608965 : idata = idata + 1
40237 1608965 : data_tmp = ISHFT(pack_tmp, 32)
40238 1608965 : ipack = ipack + 1
40239 1608965 : pack_tmp = packed_data(ipack)
40240 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
40241 1608965 : pack_tmp = ISHFT(pack_tmp, -32)
40242 1608965 : idata = idata + 1
40243 1608965 : data_tmp = ISHFT(pack_tmp, 18)
40244 1608965 : ipack = ipack + 1
40245 1608965 : pack_tmp = packed_data(ipack)
40246 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
40247 1608965 : pack_tmp = ISHFT(pack_tmp, -18)
40248 1608965 : idata = idata + 1
40249 1608965 : data_tmp = ISHFT(pack_tmp, 4)
40250 1608965 : ipack = ipack + 1
40251 1608965 : pack_tmp = packed_data(ipack)
40252 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
40253 1608965 : pack_tmp = ISHFT(pack_tmp, -4)
40254 1608965 : idata = idata + 1
40255 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40256 1608965 : full_data(idata) = data_tmp
40257 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40258 1608965 : idata = idata + 1
40259 1608965 : data_tmp = ISHFT(pack_tmp, 40)
40260 1608965 : ipack = ipack + 1
40261 1608965 : pack_tmp = packed_data(ipack)
40262 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
40263 1608965 : pack_tmp = ISHFT(pack_tmp, -40)
40264 1608965 : idata = idata + 1
40265 1608965 : data_tmp = ISHFT(pack_tmp, 26)
40266 1608965 : ipack = ipack + 1
40267 1608965 : pack_tmp = packed_data(ipack)
40268 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
40269 1608965 : pack_tmp = ISHFT(pack_tmp, -26)
40270 1608965 : idata = idata + 1
40271 1608965 : data_tmp = ISHFT(pack_tmp, 12)
40272 1608965 : ipack = ipack + 1
40273 1608965 : pack_tmp = packed_data(ipack)
40274 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
40275 1608965 : pack_tmp = ISHFT(pack_tmp, -12)
40276 1608965 : idata = idata + 1
40277 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40278 1608965 : full_data(idata) = data_tmp
40279 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40280 1608965 : idata = idata + 1
40281 1608965 : data_tmp = ISHFT(pack_tmp, 48)
40282 1608965 : ipack = ipack + 1
40283 1608965 : pack_tmp = packed_data(ipack)
40284 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
40285 1608965 : pack_tmp = ISHFT(pack_tmp, -48)
40286 1608965 : idata = idata + 1
40287 1608965 : data_tmp = ISHFT(pack_tmp, 34)
40288 1608965 : ipack = ipack + 1
40289 1608965 : pack_tmp = packed_data(ipack)
40290 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
40291 1608965 : pack_tmp = ISHFT(pack_tmp, -34)
40292 1608965 : idata = idata + 1
40293 1608965 : data_tmp = ISHFT(pack_tmp, 20)
40294 1608965 : ipack = ipack + 1
40295 1608965 : pack_tmp = packed_data(ipack)
40296 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
40297 1608965 : pack_tmp = ISHFT(pack_tmp, -20)
40298 1608965 : idata = idata + 1
40299 1608965 : data_tmp = ISHFT(pack_tmp, 6)
40300 1608965 : ipack = ipack + 1
40301 1608965 : pack_tmp = packed_data(ipack)
40302 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
40303 1608965 : pack_tmp = ISHFT(pack_tmp, -6)
40304 1608965 : idata = idata + 1
40305 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40306 1608965 : full_data(idata) = data_tmp
40307 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40308 1608965 : idata = idata + 1
40309 1608965 : data_tmp = ISHFT(pack_tmp, 42)
40310 1608965 : ipack = ipack + 1
40311 1608965 : pack_tmp = packed_data(ipack)
40312 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
40313 1608965 : pack_tmp = ISHFT(pack_tmp, -42)
40314 1608965 : idata = idata + 1
40315 1608965 : data_tmp = ISHFT(pack_tmp, 28)
40316 1608965 : ipack = ipack + 1
40317 1608965 : pack_tmp = packed_data(ipack)
40318 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
40319 1608965 : pack_tmp = ISHFT(pack_tmp, -28)
40320 1608965 : idata = idata + 1
40321 1608965 : data_tmp = ISHFT(pack_tmp, 14)
40322 1608965 : ipack = ipack + 1
40323 1608965 : pack_tmp = packed_data(ipack)
40324 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
40325 1608965 : pack_tmp = ISHFT(pack_tmp, -14)
40326 1608965 : idata = idata + 1
40327 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40328 1608965 : full_data(idata) = data_tmp
40329 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40330 1608965 : idata = idata + 1
40331 1608965 : data_tmp = ISHFT(pack_tmp, 50)
40332 1608965 : ipack = ipack + 1
40333 1608965 : pack_tmp = packed_data(ipack)
40334 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
40335 1608965 : pack_tmp = ISHFT(pack_tmp, -50)
40336 1608965 : idata = idata + 1
40337 1608965 : data_tmp = ISHFT(pack_tmp, 36)
40338 1608965 : ipack = ipack + 1
40339 1608965 : pack_tmp = packed_data(ipack)
40340 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
40341 1608965 : pack_tmp = ISHFT(pack_tmp, -36)
40342 1608965 : idata = idata + 1
40343 1608965 : data_tmp = ISHFT(pack_tmp, 22)
40344 1608965 : ipack = ipack + 1
40345 1608965 : pack_tmp = packed_data(ipack)
40346 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
40347 1608965 : pack_tmp = ISHFT(pack_tmp, -22)
40348 1608965 : idata = idata + 1
40349 1608965 : data_tmp = ISHFT(pack_tmp, 8)
40350 1608965 : ipack = ipack + 1
40351 1608965 : pack_tmp = packed_data(ipack)
40352 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
40353 1608965 : pack_tmp = ISHFT(pack_tmp, -8)
40354 1608965 : idata = idata + 1
40355 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40356 1608965 : full_data(idata) = data_tmp
40357 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40358 1608965 : idata = idata + 1
40359 1608965 : data_tmp = ISHFT(pack_tmp, 44)
40360 1608965 : ipack = ipack + 1
40361 1608965 : pack_tmp = packed_data(ipack)
40362 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
40363 1608965 : pack_tmp = ISHFT(pack_tmp, -44)
40364 1608965 : idata = idata + 1
40365 1608965 : data_tmp = ISHFT(pack_tmp, 30)
40366 1608965 : ipack = ipack + 1
40367 1608965 : pack_tmp = packed_data(ipack)
40368 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
40369 1608965 : pack_tmp = ISHFT(pack_tmp, -30)
40370 1608965 : idata = idata + 1
40371 1608965 : data_tmp = ISHFT(pack_tmp, 16)
40372 1608965 : ipack = ipack + 1
40373 1608965 : pack_tmp = packed_data(ipack)
40374 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
40375 1608965 : pack_tmp = ISHFT(pack_tmp, -16)
40376 1608965 : idata = idata + 1
40377 1608965 : data_tmp = ISHFT(pack_tmp, 2)
40378 1608965 : ipack = ipack + 1
40379 1608965 : pack_tmp = packed_data(ipack)
40380 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
40381 1608965 : pack_tmp = ISHFT(pack_tmp, -2)
40382 1608965 : idata = idata + 1
40383 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40384 1608965 : full_data(idata) = data_tmp
40385 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40386 1608965 : idata = idata + 1
40387 1608965 : data_tmp = ISHFT(pack_tmp, 38)
40388 1608965 : ipack = ipack + 1
40389 1608965 : pack_tmp = packed_data(ipack)
40390 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
40391 1608965 : pack_tmp = ISHFT(pack_tmp, -38)
40392 1608965 : idata = idata + 1
40393 1608965 : data_tmp = ISHFT(pack_tmp, 24)
40394 1608965 : ipack = ipack + 1
40395 1608965 : pack_tmp = packed_data(ipack)
40396 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
40397 1608965 : pack_tmp = ISHFT(pack_tmp, -24)
40398 1608965 : idata = idata + 1
40399 1608965 : data_tmp = ISHFT(pack_tmp, 10)
40400 1608965 : ipack = ipack + 1
40401 1608965 : pack_tmp = packed_data(ipack)
40402 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
40403 1608965 : pack_tmp = ISHFT(pack_tmp, -10)
40404 1608965 : idata = idata + 1
40405 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40406 1608965 : full_data(idata) = data_tmp
40407 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40408 1608965 : idata = idata + 1
40409 1608965 : data_tmp = ISHFT(pack_tmp, 46)
40410 1608965 : ipack = ipack + 1
40411 1608965 : pack_tmp = packed_data(ipack)
40412 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
40413 1608965 : pack_tmp = ISHFT(pack_tmp, -46)
40414 1608965 : idata = idata + 1
40415 1608965 : data_tmp = ISHFT(pack_tmp, 32)
40416 1608965 : ipack = ipack + 1
40417 1608965 : pack_tmp = packed_data(ipack)
40418 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
40419 1608965 : pack_tmp = ISHFT(pack_tmp, -32)
40420 1608965 : idata = idata + 1
40421 1608965 : data_tmp = ISHFT(pack_tmp, 18)
40422 1608965 : ipack = ipack + 1
40423 1608965 : pack_tmp = packed_data(ipack)
40424 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
40425 1608965 : pack_tmp = ISHFT(pack_tmp, -18)
40426 1608965 : idata = idata + 1
40427 1608965 : data_tmp = ISHFT(pack_tmp, 4)
40428 1608965 : ipack = ipack + 1
40429 1608965 : pack_tmp = packed_data(ipack)
40430 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
40431 1608965 : pack_tmp = ISHFT(pack_tmp, -4)
40432 1608965 : idata = idata + 1
40433 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40434 1608965 : full_data(idata) = data_tmp
40435 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40436 1608965 : idata = idata + 1
40437 1608965 : data_tmp = ISHFT(pack_tmp, 40)
40438 1608965 : ipack = ipack + 1
40439 1608965 : pack_tmp = packed_data(ipack)
40440 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
40441 1608965 : pack_tmp = ISHFT(pack_tmp, -40)
40442 1608965 : idata = idata + 1
40443 1608965 : data_tmp = ISHFT(pack_tmp, 26)
40444 1608965 : ipack = ipack + 1
40445 1608965 : pack_tmp = packed_data(ipack)
40446 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
40447 1608965 : pack_tmp = ISHFT(pack_tmp, -26)
40448 1608965 : idata = idata + 1
40449 1608965 : data_tmp = ISHFT(pack_tmp, 12)
40450 1608965 : ipack = ipack + 1
40451 1608965 : pack_tmp = packed_data(ipack)
40452 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
40453 1608965 : pack_tmp = ISHFT(pack_tmp, -12)
40454 1608965 : idata = idata + 1
40455 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40456 1608965 : full_data(idata) = data_tmp
40457 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40458 1608965 : idata = idata + 1
40459 1608965 : data_tmp = ISHFT(pack_tmp, 48)
40460 1608965 : ipack = ipack + 1
40461 1608965 : pack_tmp = packed_data(ipack)
40462 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
40463 1608965 : pack_tmp = ISHFT(pack_tmp, -48)
40464 1608965 : idata = idata + 1
40465 1608965 : data_tmp = ISHFT(pack_tmp, 34)
40466 1608965 : ipack = ipack + 1
40467 1608965 : pack_tmp = packed_data(ipack)
40468 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
40469 1608965 : pack_tmp = ISHFT(pack_tmp, -34)
40470 1608965 : idata = idata + 1
40471 1608965 : data_tmp = ISHFT(pack_tmp, 20)
40472 1608965 : ipack = ipack + 1
40473 1608965 : pack_tmp = packed_data(ipack)
40474 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
40475 1608965 : pack_tmp = ISHFT(pack_tmp, -20)
40476 1608965 : idata = idata + 1
40477 1608965 : data_tmp = ISHFT(pack_tmp, 6)
40478 1608965 : ipack = ipack + 1
40479 1608965 : pack_tmp = packed_data(ipack)
40480 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
40481 1608965 : pack_tmp = ISHFT(pack_tmp, -6)
40482 1608965 : idata = idata + 1
40483 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40484 1608965 : full_data(idata) = data_tmp
40485 1608965 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40486 1608965 : idata = idata + 1
40487 1608965 : data_tmp = ISHFT(pack_tmp, 42)
40488 1608965 : ipack = ipack + 1
40489 1608965 : pack_tmp = packed_data(ipack)
40490 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
40491 1608965 : pack_tmp = ISHFT(pack_tmp, -42)
40492 1608965 : idata = idata + 1
40493 1608965 : data_tmp = ISHFT(pack_tmp, 28)
40494 1608965 : ipack = ipack + 1
40495 1608965 : pack_tmp = packed_data(ipack)
40496 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
40497 1608965 : pack_tmp = ISHFT(pack_tmp, -28)
40498 1608965 : idata = idata + 1
40499 1608965 : data_tmp = ISHFT(pack_tmp, 14)
40500 1608965 : ipack = ipack + 1
40501 1608965 : pack_tmp = packed_data(ipack)
40502 1608965 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
40503 1608965 : pack_tmp = ISHFT(pack_tmp, -14)
40504 1608965 : idata = idata + 1
40505 1608965 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
40506 1608965 : full_data(idata) = data_tmp
40507 1608981 : pack_tmp = ISHFT(pack_tmp, -Nbits)
40508 : END DO
40509 102867 : IF (Ndata_rep < Ndata) THEN
40510 4342 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
40511 : END IF
40512 102867 : END SUBROUTINE bits2ints_50
40513 :
40514 : ! **************************************************************************************************
40515 : !> \brief ...
40516 : !> \param Ndata ...
40517 : !> \param packed_data ...
40518 : !> \param full_data ...
40519 : ! **************************************************************************************************
40520 24916 : 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(*)
40524 :
40525 : INTEGER, PARAMETER :: Nbits = 51
40526 :
40527 : INTEGER :: idata, ipack, kdata, Ndata_rep
40528 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
40529 :
40530 24916 : idata = 0
40531 24916 : ipack = 0
40532 24916 : Ndata_rep = (Ndata/64)*64
40533 24916 : DO kdata = 1, Ndata_rep, 64
40534 394950 : pack_tmp = 0
40535 394950 : idata = idata + 1
40536 394950 : data_tmp = full_data(idata)
40537 394950 : data_tmp = ISHFT(data_tmp, 13)
40538 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40539 394950 : pack_tmp = ISHFT(pack_tmp, -13)
40540 394950 : idata = idata + 1
40541 394950 : data_tmp = full_data(idata)
40542 394950 : data_tmp = ISHFT(data_tmp, 13)
40543 394950 : data_tmp = IAND(data_tmp, mask_left(13))
40544 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40545 394950 : ipack = ipack + 1
40546 394950 : packed_data(ipack) = pack_tmp
40547 394950 : data_tmp = full_data(idata)
40548 394950 : pack_tmp = ISHFT(data_tmp, 26)
40549 394950 : pack_tmp = ISHFT(pack_tmp, -26)
40550 394950 : idata = idata + 1
40551 394950 : data_tmp = full_data(idata)
40552 394950 : data_tmp = ISHFT(data_tmp, 13)
40553 394950 : data_tmp = IAND(data_tmp, mask_left(26))
40554 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40555 394950 : ipack = ipack + 1
40556 394950 : packed_data(ipack) = pack_tmp
40557 394950 : data_tmp = full_data(idata)
40558 394950 : pack_tmp = ISHFT(data_tmp, 39)
40559 394950 : pack_tmp = ISHFT(pack_tmp, -39)
40560 394950 : idata = idata + 1
40561 394950 : data_tmp = full_data(idata)
40562 394950 : data_tmp = ISHFT(data_tmp, 13)
40563 394950 : data_tmp = IAND(data_tmp, mask_left(39))
40564 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40565 394950 : ipack = ipack + 1
40566 394950 : packed_data(ipack) = pack_tmp
40567 394950 : data_tmp = full_data(idata)
40568 394950 : pack_tmp = ISHFT(data_tmp, 52)
40569 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40570 394950 : idata = idata + 1
40571 394950 : data_tmp = full_data(idata)
40572 394950 : data_tmp = ISHFT(data_tmp, 13)
40573 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40574 394950 : pack_tmp = ISHFT(pack_tmp, -1)
40575 394950 : idata = idata + 1
40576 394950 : data_tmp = full_data(idata)
40577 394950 : data_tmp = ISHFT(data_tmp, 13)
40578 394950 : data_tmp = IAND(data_tmp, mask_left(1))
40579 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40580 394950 : ipack = ipack + 1
40581 394950 : packed_data(ipack) = pack_tmp
40582 394950 : data_tmp = full_data(idata)
40583 394950 : pack_tmp = ISHFT(data_tmp, 14)
40584 394950 : pack_tmp = ISHFT(pack_tmp, -14)
40585 394950 : idata = idata + 1
40586 394950 : data_tmp = full_data(idata)
40587 394950 : data_tmp = ISHFT(data_tmp, 13)
40588 394950 : data_tmp = IAND(data_tmp, mask_left(14))
40589 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40590 394950 : ipack = ipack + 1
40591 394950 : packed_data(ipack) = pack_tmp
40592 394950 : data_tmp = full_data(idata)
40593 394950 : pack_tmp = ISHFT(data_tmp, 27)
40594 394950 : pack_tmp = ISHFT(pack_tmp, -27)
40595 394950 : idata = idata + 1
40596 394950 : data_tmp = full_data(idata)
40597 394950 : data_tmp = ISHFT(data_tmp, 13)
40598 394950 : data_tmp = IAND(data_tmp, mask_left(27))
40599 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40600 394950 : ipack = ipack + 1
40601 394950 : packed_data(ipack) = pack_tmp
40602 394950 : data_tmp = full_data(idata)
40603 394950 : pack_tmp = ISHFT(data_tmp, 40)
40604 394950 : pack_tmp = ISHFT(pack_tmp, -40)
40605 394950 : idata = idata + 1
40606 394950 : data_tmp = full_data(idata)
40607 394950 : data_tmp = ISHFT(data_tmp, 13)
40608 394950 : data_tmp = IAND(data_tmp, mask_left(40))
40609 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40610 394950 : ipack = ipack + 1
40611 394950 : packed_data(ipack) = pack_tmp
40612 394950 : data_tmp = full_data(idata)
40613 394950 : pack_tmp = ISHFT(data_tmp, 53)
40614 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40615 394950 : idata = idata + 1
40616 394950 : data_tmp = full_data(idata)
40617 394950 : data_tmp = ISHFT(data_tmp, 13)
40618 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40619 394950 : pack_tmp = ISHFT(pack_tmp, -2)
40620 394950 : idata = idata + 1
40621 394950 : data_tmp = full_data(idata)
40622 394950 : data_tmp = ISHFT(data_tmp, 13)
40623 394950 : data_tmp = IAND(data_tmp, mask_left(2))
40624 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40625 394950 : ipack = ipack + 1
40626 394950 : packed_data(ipack) = pack_tmp
40627 394950 : data_tmp = full_data(idata)
40628 394950 : pack_tmp = ISHFT(data_tmp, 15)
40629 394950 : pack_tmp = ISHFT(pack_tmp, -15)
40630 394950 : idata = idata + 1
40631 394950 : data_tmp = full_data(idata)
40632 394950 : data_tmp = ISHFT(data_tmp, 13)
40633 394950 : data_tmp = IAND(data_tmp, mask_left(15))
40634 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40635 394950 : ipack = ipack + 1
40636 394950 : packed_data(ipack) = pack_tmp
40637 394950 : data_tmp = full_data(idata)
40638 394950 : pack_tmp = ISHFT(data_tmp, 28)
40639 394950 : pack_tmp = ISHFT(pack_tmp, -28)
40640 394950 : idata = idata + 1
40641 394950 : data_tmp = full_data(idata)
40642 394950 : data_tmp = ISHFT(data_tmp, 13)
40643 394950 : data_tmp = IAND(data_tmp, mask_left(28))
40644 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40645 394950 : ipack = ipack + 1
40646 394950 : packed_data(ipack) = pack_tmp
40647 394950 : data_tmp = full_data(idata)
40648 394950 : pack_tmp = ISHFT(data_tmp, 41)
40649 394950 : pack_tmp = ISHFT(pack_tmp, -41)
40650 394950 : idata = idata + 1
40651 394950 : data_tmp = full_data(idata)
40652 394950 : data_tmp = ISHFT(data_tmp, 13)
40653 394950 : data_tmp = IAND(data_tmp, mask_left(41))
40654 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40655 394950 : ipack = ipack + 1
40656 394950 : packed_data(ipack) = pack_tmp
40657 394950 : data_tmp = full_data(idata)
40658 394950 : pack_tmp = ISHFT(data_tmp, 54)
40659 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40660 394950 : idata = idata + 1
40661 394950 : data_tmp = full_data(idata)
40662 394950 : data_tmp = ISHFT(data_tmp, 13)
40663 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40664 394950 : pack_tmp = ISHFT(pack_tmp, -3)
40665 394950 : idata = idata + 1
40666 394950 : data_tmp = full_data(idata)
40667 394950 : data_tmp = ISHFT(data_tmp, 13)
40668 394950 : data_tmp = IAND(data_tmp, mask_left(3))
40669 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40670 394950 : ipack = ipack + 1
40671 394950 : packed_data(ipack) = pack_tmp
40672 394950 : data_tmp = full_data(idata)
40673 394950 : pack_tmp = ISHFT(data_tmp, 16)
40674 394950 : pack_tmp = ISHFT(pack_tmp, -16)
40675 394950 : idata = idata + 1
40676 394950 : data_tmp = full_data(idata)
40677 394950 : data_tmp = ISHFT(data_tmp, 13)
40678 394950 : data_tmp = IAND(data_tmp, mask_left(16))
40679 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40680 394950 : ipack = ipack + 1
40681 394950 : packed_data(ipack) = pack_tmp
40682 394950 : data_tmp = full_data(idata)
40683 394950 : pack_tmp = ISHFT(data_tmp, 29)
40684 394950 : pack_tmp = ISHFT(pack_tmp, -29)
40685 394950 : idata = idata + 1
40686 394950 : data_tmp = full_data(idata)
40687 394950 : data_tmp = ISHFT(data_tmp, 13)
40688 394950 : data_tmp = IAND(data_tmp, mask_left(29))
40689 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40690 394950 : ipack = ipack + 1
40691 394950 : packed_data(ipack) = pack_tmp
40692 394950 : data_tmp = full_data(idata)
40693 394950 : pack_tmp = ISHFT(data_tmp, 42)
40694 394950 : pack_tmp = ISHFT(pack_tmp, -42)
40695 394950 : idata = idata + 1
40696 394950 : data_tmp = full_data(idata)
40697 394950 : data_tmp = ISHFT(data_tmp, 13)
40698 394950 : data_tmp = IAND(data_tmp, mask_left(42))
40699 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40700 394950 : ipack = ipack + 1
40701 394950 : packed_data(ipack) = pack_tmp
40702 394950 : data_tmp = full_data(idata)
40703 394950 : pack_tmp = ISHFT(data_tmp, 55)
40704 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40705 394950 : idata = idata + 1
40706 394950 : data_tmp = full_data(idata)
40707 394950 : data_tmp = ISHFT(data_tmp, 13)
40708 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40709 394950 : pack_tmp = ISHFT(pack_tmp, -4)
40710 394950 : idata = idata + 1
40711 394950 : data_tmp = full_data(idata)
40712 394950 : data_tmp = ISHFT(data_tmp, 13)
40713 394950 : data_tmp = IAND(data_tmp, mask_left(4))
40714 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40715 394950 : ipack = ipack + 1
40716 394950 : packed_data(ipack) = pack_tmp
40717 394950 : data_tmp = full_data(idata)
40718 394950 : pack_tmp = ISHFT(data_tmp, 17)
40719 394950 : pack_tmp = ISHFT(pack_tmp, -17)
40720 394950 : idata = idata + 1
40721 394950 : data_tmp = full_data(idata)
40722 394950 : data_tmp = ISHFT(data_tmp, 13)
40723 394950 : data_tmp = IAND(data_tmp, mask_left(17))
40724 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40725 394950 : ipack = ipack + 1
40726 394950 : packed_data(ipack) = pack_tmp
40727 394950 : data_tmp = full_data(idata)
40728 394950 : pack_tmp = ISHFT(data_tmp, 30)
40729 394950 : pack_tmp = ISHFT(pack_tmp, -30)
40730 394950 : idata = idata + 1
40731 394950 : data_tmp = full_data(idata)
40732 394950 : data_tmp = ISHFT(data_tmp, 13)
40733 394950 : data_tmp = IAND(data_tmp, mask_left(30))
40734 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40735 394950 : ipack = ipack + 1
40736 394950 : packed_data(ipack) = pack_tmp
40737 394950 : data_tmp = full_data(idata)
40738 394950 : pack_tmp = ISHFT(data_tmp, 43)
40739 394950 : pack_tmp = ISHFT(pack_tmp, -43)
40740 394950 : idata = idata + 1
40741 394950 : data_tmp = full_data(idata)
40742 394950 : data_tmp = ISHFT(data_tmp, 13)
40743 394950 : data_tmp = IAND(data_tmp, mask_left(43))
40744 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40745 394950 : ipack = ipack + 1
40746 394950 : packed_data(ipack) = pack_tmp
40747 394950 : data_tmp = full_data(idata)
40748 394950 : pack_tmp = ISHFT(data_tmp, 56)
40749 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40750 394950 : idata = idata + 1
40751 394950 : data_tmp = full_data(idata)
40752 394950 : data_tmp = ISHFT(data_tmp, 13)
40753 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40754 394950 : pack_tmp = ISHFT(pack_tmp, -5)
40755 394950 : idata = idata + 1
40756 394950 : data_tmp = full_data(idata)
40757 394950 : data_tmp = ISHFT(data_tmp, 13)
40758 394950 : data_tmp = IAND(data_tmp, mask_left(5))
40759 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40760 394950 : ipack = ipack + 1
40761 394950 : packed_data(ipack) = pack_tmp
40762 394950 : data_tmp = full_data(idata)
40763 394950 : pack_tmp = ISHFT(data_tmp, 18)
40764 394950 : pack_tmp = ISHFT(pack_tmp, -18)
40765 394950 : idata = idata + 1
40766 394950 : data_tmp = full_data(idata)
40767 394950 : data_tmp = ISHFT(data_tmp, 13)
40768 394950 : data_tmp = IAND(data_tmp, mask_left(18))
40769 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40770 394950 : ipack = ipack + 1
40771 394950 : packed_data(ipack) = pack_tmp
40772 394950 : data_tmp = full_data(idata)
40773 394950 : pack_tmp = ISHFT(data_tmp, 31)
40774 394950 : pack_tmp = ISHFT(pack_tmp, -31)
40775 394950 : idata = idata + 1
40776 394950 : data_tmp = full_data(idata)
40777 394950 : data_tmp = ISHFT(data_tmp, 13)
40778 394950 : data_tmp = IAND(data_tmp, mask_left(31))
40779 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40780 394950 : ipack = ipack + 1
40781 394950 : packed_data(ipack) = pack_tmp
40782 394950 : data_tmp = full_data(idata)
40783 394950 : pack_tmp = ISHFT(data_tmp, 44)
40784 394950 : pack_tmp = ISHFT(pack_tmp, -44)
40785 394950 : idata = idata + 1
40786 394950 : data_tmp = full_data(idata)
40787 394950 : data_tmp = ISHFT(data_tmp, 13)
40788 394950 : data_tmp = IAND(data_tmp, mask_left(44))
40789 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40790 394950 : ipack = ipack + 1
40791 394950 : packed_data(ipack) = pack_tmp
40792 394950 : data_tmp = full_data(idata)
40793 394950 : pack_tmp = ISHFT(data_tmp, 57)
40794 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40795 394950 : idata = idata + 1
40796 394950 : data_tmp = full_data(idata)
40797 394950 : data_tmp = ISHFT(data_tmp, 13)
40798 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40799 394950 : pack_tmp = ISHFT(pack_tmp, -6)
40800 394950 : idata = idata + 1
40801 394950 : data_tmp = full_data(idata)
40802 394950 : data_tmp = ISHFT(data_tmp, 13)
40803 394950 : data_tmp = IAND(data_tmp, mask_left(6))
40804 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40805 394950 : ipack = ipack + 1
40806 394950 : packed_data(ipack) = pack_tmp
40807 394950 : data_tmp = full_data(idata)
40808 394950 : pack_tmp = ISHFT(data_tmp, 19)
40809 394950 : pack_tmp = ISHFT(pack_tmp, -19)
40810 394950 : idata = idata + 1
40811 394950 : data_tmp = full_data(idata)
40812 394950 : data_tmp = ISHFT(data_tmp, 13)
40813 394950 : data_tmp = IAND(data_tmp, mask_left(19))
40814 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40815 394950 : ipack = ipack + 1
40816 394950 : packed_data(ipack) = pack_tmp
40817 394950 : data_tmp = full_data(idata)
40818 394950 : pack_tmp = ISHFT(data_tmp, 32)
40819 394950 : pack_tmp = ISHFT(pack_tmp, -32)
40820 394950 : idata = idata + 1
40821 394950 : data_tmp = full_data(idata)
40822 394950 : data_tmp = ISHFT(data_tmp, 13)
40823 394950 : data_tmp = IAND(data_tmp, mask_left(32))
40824 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40825 394950 : ipack = ipack + 1
40826 394950 : packed_data(ipack) = pack_tmp
40827 394950 : data_tmp = full_data(idata)
40828 394950 : pack_tmp = ISHFT(data_tmp, 45)
40829 394950 : pack_tmp = ISHFT(pack_tmp, -45)
40830 394950 : idata = idata + 1
40831 394950 : data_tmp = full_data(idata)
40832 394950 : data_tmp = ISHFT(data_tmp, 13)
40833 394950 : data_tmp = IAND(data_tmp, mask_left(45))
40834 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40835 394950 : ipack = ipack + 1
40836 394950 : packed_data(ipack) = pack_tmp
40837 394950 : data_tmp = full_data(idata)
40838 394950 : pack_tmp = ISHFT(data_tmp, 58)
40839 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40840 394950 : idata = idata + 1
40841 394950 : data_tmp = full_data(idata)
40842 394950 : data_tmp = ISHFT(data_tmp, 13)
40843 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40844 394950 : pack_tmp = ISHFT(pack_tmp, -7)
40845 394950 : idata = idata + 1
40846 394950 : data_tmp = full_data(idata)
40847 394950 : data_tmp = ISHFT(data_tmp, 13)
40848 394950 : data_tmp = IAND(data_tmp, mask_left(7))
40849 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40850 394950 : ipack = ipack + 1
40851 394950 : packed_data(ipack) = pack_tmp
40852 394950 : data_tmp = full_data(idata)
40853 394950 : pack_tmp = ISHFT(data_tmp, 20)
40854 394950 : pack_tmp = ISHFT(pack_tmp, -20)
40855 394950 : idata = idata + 1
40856 394950 : data_tmp = full_data(idata)
40857 394950 : data_tmp = ISHFT(data_tmp, 13)
40858 394950 : data_tmp = IAND(data_tmp, mask_left(20))
40859 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40860 394950 : ipack = ipack + 1
40861 394950 : packed_data(ipack) = pack_tmp
40862 394950 : data_tmp = full_data(idata)
40863 394950 : pack_tmp = ISHFT(data_tmp, 33)
40864 394950 : pack_tmp = ISHFT(pack_tmp, -33)
40865 394950 : idata = idata + 1
40866 394950 : data_tmp = full_data(idata)
40867 394950 : data_tmp = ISHFT(data_tmp, 13)
40868 394950 : data_tmp = IAND(data_tmp, mask_left(33))
40869 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40870 394950 : ipack = ipack + 1
40871 394950 : packed_data(ipack) = pack_tmp
40872 394950 : data_tmp = full_data(idata)
40873 394950 : pack_tmp = ISHFT(data_tmp, 46)
40874 394950 : pack_tmp = ISHFT(pack_tmp, -46)
40875 394950 : idata = idata + 1
40876 394950 : data_tmp = full_data(idata)
40877 394950 : data_tmp = ISHFT(data_tmp, 13)
40878 394950 : data_tmp = IAND(data_tmp, mask_left(46))
40879 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40880 394950 : ipack = ipack + 1
40881 394950 : packed_data(ipack) = pack_tmp
40882 394950 : data_tmp = full_data(idata)
40883 394950 : pack_tmp = ISHFT(data_tmp, 59)
40884 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40885 394950 : idata = idata + 1
40886 394950 : data_tmp = full_data(idata)
40887 394950 : data_tmp = ISHFT(data_tmp, 13)
40888 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40889 394950 : pack_tmp = ISHFT(pack_tmp, -8)
40890 394950 : idata = idata + 1
40891 394950 : data_tmp = full_data(idata)
40892 394950 : data_tmp = ISHFT(data_tmp, 13)
40893 394950 : data_tmp = IAND(data_tmp, mask_left(8))
40894 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40895 394950 : ipack = ipack + 1
40896 394950 : packed_data(ipack) = pack_tmp
40897 394950 : data_tmp = full_data(idata)
40898 394950 : pack_tmp = ISHFT(data_tmp, 21)
40899 394950 : pack_tmp = ISHFT(pack_tmp, -21)
40900 394950 : idata = idata + 1
40901 394950 : data_tmp = full_data(idata)
40902 394950 : data_tmp = ISHFT(data_tmp, 13)
40903 394950 : data_tmp = IAND(data_tmp, mask_left(21))
40904 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40905 394950 : ipack = ipack + 1
40906 394950 : packed_data(ipack) = pack_tmp
40907 394950 : data_tmp = full_data(idata)
40908 394950 : pack_tmp = ISHFT(data_tmp, 34)
40909 394950 : pack_tmp = ISHFT(pack_tmp, -34)
40910 394950 : idata = idata + 1
40911 394950 : data_tmp = full_data(idata)
40912 394950 : data_tmp = ISHFT(data_tmp, 13)
40913 394950 : data_tmp = IAND(data_tmp, mask_left(34))
40914 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40915 394950 : ipack = ipack + 1
40916 394950 : packed_data(ipack) = pack_tmp
40917 394950 : data_tmp = full_data(idata)
40918 394950 : pack_tmp = ISHFT(data_tmp, 47)
40919 394950 : pack_tmp = ISHFT(pack_tmp, -47)
40920 394950 : idata = idata + 1
40921 394950 : data_tmp = full_data(idata)
40922 394950 : data_tmp = ISHFT(data_tmp, 13)
40923 394950 : data_tmp = IAND(data_tmp, mask_left(47))
40924 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40925 394950 : ipack = ipack + 1
40926 394950 : packed_data(ipack) = pack_tmp
40927 394950 : data_tmp = full_data(idata)
40928 394950 : pack_tmp = ISHFT(data_tmp, 60)
40929 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40930 394950 : idata = idata + 1
40931 394950 : data_tmp = full_data(idata)
40932 394950 : data_tmp = ISHFT(data_tmp, 13)
40933 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40934 394950 : pack_tmp = ISHFT(pack_tmp, -9)
40935 394950 : idata = idata + 1
40936 394950 : data_tmp = full_data(idata)
40937 394950 : data_tmp = ISHFT(data_tmp, 13)
40938 394950 : data_tmp = IAND(data_tmp, mask_left(9))
40939 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40940 394950 : ipack = ipack + 1
40941 394950 : packed_data(ipack) = pack_tmp
40942 394950 : data_tmp = full_data(idata)
40943 394950 : pack_tmp = ISHFT(data_tmp, 22)
40944 394950 : pack_tmp = ISHFT(pack_tmp, -22)
40945 394950 : idata = idata + 1
40946 394950 : data_tmp = full_data(idata)
40947 394950 : data_tmp = ISHFT(data_tmp, 13)
40948 394950 : data_tmp = IAND(data_tmp, mask_left(22))
40949 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40950 394950 : ipack = ipack + 1
40951 394950 : packed_data(ipack) = pack_tmp
40952 394950 : data_tmp = full_data(idata)
40953 394950 : pack_tmp = ISHFT(data_tmp, 35)
40954 394950 : pack_tmp = ISHFT(pack_tmp, -35)
40955 394950 : idata = idata + 1
40956 394950 : data_tmp = full_data(idata)
40957 394950 : data_tmp = ISHFT(data_tmp, 13)
40958 394950 : data_tmp = IAND(data_tmp, mask_left(35))
40959 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40960 394950 : ipack = ipack + 1
40961 394950 : packed_data(ipack) = pack_tmp
40962 394950 : data_tmp = full_data(idata)
40963 394950 : pack_tmp = ISHFT(data_tmp, 48)
40964 394950 : pack_tmp = ISHFT(pack_tmp, -48)
40965 394950 : idata = idata + 1
40966 394950 : data_tmp = full_data(idata)
40967 394950 : data_tmp = ISHFT(data_tmp, 13)
40968 394950 : data_tmp = IAND(data_tmp, mask_left(48))
40969 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40970 394950 : ipack = ipack + 1
40971 394950 : packed_data(ipack) = pack_tmp
40972 394950 : data_tmp = full_data(idata)
40973 394950 : pack_tmp = ISHFT(data_tmp, 61)
40974 394950 : pack_tmp = ISHFT(pack_tmp, -51)
40975 394950 : idata = idata + 1
40976 394950 : data_tmp = full_data(idata)
40977 394950 : data_tmp = ISHFT(data_tmp, 13)
40978 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40979 394950 : pack_tmp = ISHFT(pack_tmp, -10)
40980 394950 : idata = idata + 1
40981 394950 : data_tmp = full_data(idata)
40982 394950 : data_tmp = ISHFT(data_tmp, 13)
40983 394950 : data_tmp = IAND(data_tmp, mask_left(10))
40984 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40985 394950 : ipack = ipack + 1
40986 394950 : packed_data(ipack) = pack_tmp
40987 394950 : data_tmp = full_data(idata)
40988 394950 : pack_tmp = ISHFT(data_tmp, 23)
40989 394950 : pack_tmp = ISHFT(pack_tmp, -23)
40990 394950 : idata = idata + 1
40991 394950 : data_tmp = full_data(idata)
40992 394950 : data_tmp = ISHFT(data_tmp, 13)
40993 394950 : data_tmp = IAND(data_tmp, mask_left(23))
40994 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
40995 394950 : ipack = ipack + 1
40996 394950 : packed_data(ipack) = pack_tmp
40997 394950 : data_tmp = full_data(idata)
40998 394950 : pack_tmp = ISHFT(data_tmp, 36)
40999 394950 : pack_tmp = ISHFT(pack_tmp, -36)
41000 394950 : idata = idata + 1
41001 394950 : data_tmp = full_data(idata)
41002 394950 : data_tmp = ISHFT(data_tmp, 13)
41003 394950 : data_tmp = IAND(data_tmp, mask_left(36))
41004 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41005 394950 : ipack = ipack + 1
41006 394950 : packed_data(ipack) = pack_tmp
41007 394950 : data_tmp = full_data(idata)
41008 394950 : pack_tmp = ISHFT(data_tmp, 49)
41009 394950 : pack_tmp = ISHFT(pack_tmp, -49)
41010 394950 : idata = idata + 1
41011 394950 : data_tmp = full_data(idata)
41012 394950 : data_tmp = ISHFT(data_tmp, 13)
41013 394950 : data_tmp = IAND(data_tmp, mask_left(49))
41014 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41015 394950 : ipack = ipack + 1
41016 394950 : packed_data(ipack) = pack_tmp
41017 394950 : data_tmp = full_data(idata)
41018 394950 : pack_tmp = ISHFT(data_tmp, 62)
41019 394950 : pack_tmp = ISHFT(pack_tmp, -51)
41020 394950 : idata = idata + 1
41021 394950 : data_tmp = full_data(idata)
41022 394950 : data_tmp = ISHFT(data_tmp, 13)
41023 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41024 394950 : pack_tmp = ISHFT(pack_tmp, -11)
41025 394950 : idata = idata + 1
41026 394950 : data_tmp = full_data(idata)
41027 394950 : data_tmp = ISHFT(data_tmp, 13)
41028 394950 : data_tmp = IAND(data_tmp, mask_left(11))
41029 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41030 394950 : ipack = ipack + 1
41031 394950 : packed_data(ipack) = pack_tmp
41032 394950 : data_tmp = full_data(idata)
41033 394950 : pack_tmp = ISHFT(data_tmp, 24)
41034 394950 : pack_tmp = ISHFT(pack_tmp, -24)
41035 394950 : idata = idata + 1
41036 394950 : data_tmp = full_data(idata)
41037 394950 : data_tmp = ISHFT(data_tmp, 13)
41038 394950 : data_tmp = IAND(data_tmp, mask_left(24))
41039 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41040 394950 : ipack = ipack + 1
41041 394950 : packed_data(ipack) = pack_tmp
41042 394950 : data_tmp = full_data(idata)
41043 394950 : pack_tmp = ISHFT(data_tmp, 37)
41044 394950 : pack_tmp = ISHFT(pack_tmp, -37)
41045 394950 : idata = idata + 1
41046 394950 : data_tmp = full_data(idata)
41047 394950 : data_tmp = ISHFT(data_tmp, 13)
41048 394950 : data_tmp = IAND(data_tmp, mask_left(37))
41049 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41050 394950 : ipack = ipack + 1
41051 394950 : packed_data(ipack) = pack_tmp
41052 394950 : data_tmp = full_data(idata)
41053 394950 : pack_tmp = ISHFT(data_tmp, 50)
41054 394950 : pack_tmp = ISHFT(pack_tmp, -50)
41055 394950 : idata = idata + 1
41056 394950 : data_tmp = full_data(idata)
41057 394950 : data_tmp = ISHFT(data_tmp, 13)
41058 394950 : data_tmp = IAND(data_tmp, mask_left(50))
41059 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41060 394950 : ipack = ipack + 1
41061 394950 : packed_data(ipack) = pack_tmp
41062 394950 : data_tmp = full_data(idata)
41063 394950 : pack_tmp = ISHFT(data_tmp, 63)
41064 394950 : pack_tmp = ISHFT(pack_tmp, -51)
41065 394950 : idata = idata + 1
41066 394950 : data_tmp = full_data(idata)
41067 394950 : data_tmp = ISHFT(data_tmp, 13)
41068 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41069 394950 : pack_tmp = ISHFT(pack_tmp, -12)
41070 394950 : idata = idata + 1
41071 394950 : data_tmp = full_data(idata)
41072 394950 : data_tmp = ISHFT(data_tmp, 13)
41073 394950 : data_tmp = IAND(data_tmp, mask_left(12))
41074 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41075 394950 : ipack = ipack + 1
41076 394950 : packed_data(ipack) = pack_tmp
41077 394950 : data_tmp = full_data(idata)
41078 394950 : pack_tmp = ISHFT(data_tmp, 25)
41079 394950 : pack_tmp = ISHFT(pack_tmp, -25)
41080 394950 : idata = idata + 1
41081 394950 : data_tmp = full_data(idata)
41082 394950 : data_tmp = ISHFT(data_tmp, 13)
41083 394950 : data_tmp = IAND(data_tmp, mask_left(25))
41084 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41085 394950 : ipack = ipack + 1
41086 394950 : packed_data(ipack) = pack_tmp
41087 394950 : data_tmp = full_data(idata)
41088 394950 : pack_tmp = ISHFT(data_tmp, 38)
41089 394950 : pack_tmp = ISHFT(pack_tmp, -38)
41090 394950 : idata = idata + 1
41091 394950 : data_tmp = full_data(idata)
41092 394950 : data_tmp = ISHFT(data_tmp, 13)
41093 394950 : data_tmp = IAND(data_tmp, mask_left(38))
41094 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41095 394950 : ipack = ipack + 1
41096 394950 : packed_data(ipack) = pack_tmp
41097 394950 : data_tmp = full_data(idata)
41098 394950 : pack_tmp = ISHFT(data_tmp, 51)
41099 394950 : pack_tmp = ISHFT(pack_tmp, -51)
41100 394950 : idata = idata + 1
41101 394950 : data_tmp = full_data(idata)
41102 394950 : data_tmp = ISHFT(data_tmp, 13)
41103 394950 : pack_tmp = IOR(pack_tmp, data_tmp)
41104 : pack_tmp = ISHFT(pack_tmp, 0)
41105 394950 : pack_tmp = ISHFT(pack_tmp, 0)
41106 394950 : ipack = ipack + 1
41107 394994 : packed_data(ipack) = pack_tmp
41108 : END DO
41109 24916 : IF (Ndata_rep < Ndata) THEN
41110 436 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
41111 : END IF
41112 24916 : END SUBROUTINE ints2bits_51
41113 :
41114 : ! **************************************************************************************************
41115 : !> \brief ...
41116 : !> \param Ndata ...
41117 : !> \param packed_data ...
41118 : !> \param full_data ...
41119 : ! **************************************************************************************************
41120 101545 : 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(*)
41124 :
41125 : INTEGER, PARAMETER :: Nbits = 51
41126 :
41127 : INTEGER :: idata, ipack, kdata, Ndata_rep
41128 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
41129 :
41130 101545 : ipack = 0
41131 101545 : idata = 0
41132 101545 : pack_tmp = 0
41133 101545 : Ndata_rep = (Ndata/64)*64
41134 101545 : DO kdata = 1, Ndata_rep, 64
41135 1601362 : idata = idata + 1
41136 1601362 : data_tmp = ISHFT(pack_tmp, 51)
41137 1601362 : ipack = ipack + 1
41138 1601362 : pack_tmp = packed_data(ipack)
41139 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
41140 1601362 : pack_tmp = ISHFT(pack_tmp, -51)
41141 1601362 : idata = idata + 1
41142 1601362 : data_tmp = ISHFT(pack_tmp, 38)
41143 1601362 : ipack = ipack + 1
41144 1601362 : pack_tmp = packed_data(ipack)
41145 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
41146 1601362 : pack_tmp = ISHFT(pack_tmp, -38)
41147 1601362 : idata = idata + 1
41148 1601362 : data_tmp = ISHFT(pack_tmp, 25)
41149 1601362 : ipack = ipack + 1
41150 1601362 : pack_tmp = packed_data(ipack)
41151 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
41152 1601362 : pack_tmp = ISHFT(pack_tmp, -25)
41153 1601362 : idata = idata + 1
41154 1601362 : data_tmp = ISHFT(pack_tmp, 12)
41155 1601362 : ipack = ipack + 1
41156 1601362 : pack_tmp = packed_data(ipack)
41157 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
41158 1601362 : pack_tmp = ISHFT(pack_tmp, -12)
41159 1601362 : idata = idata + 1
41160 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41161 1601362 : full_data(idata) = data_tmp
41162 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41163 1601362 : idata = idata + 1
41164 1601362 : data_tmp = ISHFT(pack_tmp, 50)
41165 1601362 : ipack = ipack + 1
41166 1601362 : pack_tmp = packed_data(ipack)
41167 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
41168 1601362 : pack_tmp = ISHFT(pack_tmp, -50)
41169 1601362 : idata = idata + 1
41170 1601362 : data_tmp = ISHFT(pack_tmp, 37)
41171 1601362 : ipack = ipack + 1
41172 1601362 : pack_tmp = packed_data(ipack)
41173 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
41174 1601362 : pack_tmp = ISHFT(pack_tmp, -37)
41175 1601362 : idata = idata + 1
41176 1601362 : data_tmp = ISHFT(pack_tmp, 24)
41177 1601362 : ipack = ipack + 1
41178 1601362 : pack_tmp = packed_data(ipack)
41179 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
41180 1601362 : pack_tmp = ISHFT(pack_tmp, -24)
41181 1601362 : idata = idata + 1
41182 1601362 : data_tmp = ISHFT(pack_tmp, 11)
41183 1601362 : ipack = ipack + 1
41184 1601362 : pack_tmp = packed_data(ipack)
41185 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
41186 1601362 : pack_tmp = ISHFT(pack_tmp, -11)
41187 1601362 : idata = idata + 1
41188 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41189 1601362 : full_data(idata) = data_tmp
41190 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41191 1601362 : idata = idata + 1
41192 1601362 : data_tmp = ISHFT(pack_tmp, 49)
41193 1601362 : ipack = ipack + 1
41194 1601362 : pack_tmp = packed_data(ipack)
41195 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
41196 1601362 : pack_tmp = ISHFT(pack_tmp, -49)
41197 1601362 : idata = idata + 1
41198 1601362 : data_tmp = ISHFT(pack_tmp, 36)
41199 1601362 : ipack = ipack + 1
41200 1601362 : pack_tmp = packed_data(ipack)
41201 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
41202 1601362 : pack_tmp = ISHFT(pack_tmp, -36)
41203 1601362 : idata = idata + 1
41204 1601362 : data_tmp = ISHFT(pack_tmp, 23)
41205 1601362 : ipack = ipack + 1
41206 1601362 : pack_tmp = packed_data(ipack)
41207 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
41208 1601362 : pack_tmp = ISHFT(pack_tmp, -23)
41209 1601362 : idata = idata + 1
41210 1601362 : data_tmp = ISHFT(pack_tmp, 10)
41211 1601362 : ipack = ipack + 1
41212 1601362 : pack_tmp = packed_data(ipack)
41213 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
41214 1601362 : pack_tmp = ISHFT(pack_tmp, -10)
41215 1601362 : idata = idata + 1
41216 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41217 1601362 : full_data(idata) = data_tmp
41218 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41219 1601362 : idata = idata + 1
41220 1601362 : data_tmp = ISHFT(pack_tmp, 48)
41221 1601362 : ipack = ipack + 1
41222 1601362 : pack_tmp = packed_data(ipack)
41223 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
41224 1601362 : pack_tmp = ISHFT(pack_tmp, -48)
41225 1601362 : idata = idata + 1
41226 1601362 : data_tmp = ISHFT(pack_tmp, 35)
41227 1601362 : ipack = ipack + 1
41228 1601362 : pack_tmp = packed_data(ipack)
41229 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
41230 1601362 : pack_tmp = ISHFT(pack_tmp, -35)
41231 1601362 : idata = idata + 1
41232 1601362 : data_tmp = ISHFT(pack_tmp, 22)
41233 1601362 : ipack = ipack + 1
41234 1601362 : pack_tmp = packed_data(ipack)
41235 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
41236 1601362 : pack_tmp = ISHFT(pack_tmp, -22)
41237 1601362 : idata = idata + 1
41238 1601362 : data_tmp = ISHFT(pack_tmp, 9)
41239 1601362 : ipack = ipack + 1
41240 1601362 : pack_tmp = packed_data(ipack)
41241 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
41242 1601362 : pack_tmp = ISHFT(pack_tmp, -9)
41243 1601362 : idata = idata + 1
41244 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41245 1601362 : full_data(idata) = data_tmp
41246 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41247 1601362 : idata = idata + 1
41248 1601362 : data_tmp = ISHFT(pack_tmp, 47)
41249 1601362 : ipack = ipack + 1
41250 1601362 : pack_tmp = packed_data(ipack)
41251 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
41252 1601362 : pack_tmp = ISHFT(pack_tmp, -47)
41253 1601362 : idata = idata + 1
41254 1601362 : data_tmp = ISHFT(pack_tmp, 34)
41255 1601362 : ipack = ipack + 1
41256 1601362 : pack_tmp = packed_data(ipack)
41257 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
41258 1601362 : pack_tmp = ISHFT(pack_tmp, -34)
41259 1601362 : idata = idata + 1
41260 1601362 : data_tmp = ISHFT(pack_tmp, 21)
41261 1601362 : ipack = ipack + 1
41262 1601362 : pack_tmp = packed_data(ipack)
41263 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
41264 1601362 : pack_tmp = ISHFT(pack_tmp, -21)
41265 1601362 : idata = idata + 1
41266 1601362 : data_tmp = ISHFT(pack_tmp, 8)
41267 1601362 : ipack = ipack + 1
41268 1601362 : pack_tmp = packed_data(ipack)
41269 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
41270 1601362 : pack_tmp = ISHFT(pack_tmp, -8)
41271 1601362 : idata = idata + 1
41272 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41273 1601362 : full_data(idata) = data_tmp
41274 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41275 1601362 : idata = idata + 1
41276 1601362 : data_tmp = ISHFT(pack_tmp, 46)
41277 1601362 : ipack = ipack + 1
41278 1601362 : pack_tmp = packed_data(ipack)
41279 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
41280 1601362 : pack_tmp = ISHFT(pack_tmp, -46)
41281 1601362 : idata = idata + 1
41282 1601362 : data_tmp = ISHFT(pack_tmp, 33)
41283 1601362 : ipack = ipack + 1
41284 1601362 : pack_tmp = packed_data(ipack)
41285 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
41286 1601362 : pack_tmp = ISHFT(pack_tmp, -33)
41287 1601362 : idata = idata + 1
41288 1601362 : data_tmp = ISHFT(pack_tmp, 20)
41289 1601362 : ipack = ipack + 1
41290 1601362 : pack_tmp = packed_data(ipack)
41291 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
41292 1601362 : pack_tmp = ISHFT(pack_tmp, -20)
41293 1601362 : idata = idata + 1
41294 1601362 : data_tmp = ISHFT(pack_tmp, 7)
41295 1601362 : ipack = ipack + 1
41296 1601362 : pack_tmp = packed_data(ipack)
41297 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
41298 1601362 : pack_tmp = ISHFT(pack_tmp, -7)
41299 1601362 : idata = idata + 1
41300 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41301 1601362 : full_data(idata) = data_tmp
41302 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41303 1601362 : idata = idata + 1
41304 1601362 : data_tmp = ISHFT(pack_tmp, 45)
41305 1601362 : ipack = ipack + 1
41306 1601362 : pack_tmp = packed_data(ipack)
41307 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
41308 1601362 : pack_tmp = ISHFT(pack_tmp, -45)
41309 1601362 : idata = idata + 1
41310 1601362 : data_tmp = ISHFT(pack_tmp, 32)
41311 1601362 : ipack = ipack + 1
41312 1601362 : pack_tmp = packed_data(ipack)
41313 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
41314 1601362 : pack_tmp = ISHFT(pack_tmp, -32)
41315 1601362 : idata = idata + 1
41316 1601362 : data_tmp = ISHFT(pack_tmp, 19)
41317 1601362 : ipack = ipack + 1
41318 1601362 : pack_tmp = packed_data(ipack)
41319 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
41320 1601362 : pack_tmp = ISHFT(pack_tmp, -19)
41321 1601362 : idata = idata + 1
41322 1601362 : data_tmp = ISHFT(pack_tmp, 6)
41323 1601362 : ipack = ipack + 1
41324 1601362 : pack_tmp = packed_data(ipack)
41325 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
41326 1601362 : pack_tmp = ISHFT(pack_tmp, -6)
41327 1601362 : idata = idata + 1
41328 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41329 1601362 : full_data(idata) = data_tmp
41330 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41331 1601362 : idata = idata + 1
41332 1601362 : data_tmp = ISHFT(pack_tmp, 44)
41333 1601362 : ipack = ipack + 1
41334 1601362 : pack_tmp = packed_data(ipack)
41335 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
41336 1601362 : pack_tmp = ISHFT(pack_tmp, -44)
41337 1601362 : idata = idata + 1
41338 1601362 : data_tmp = ISHFT(pack_tmp, 31)
41339 1601362 : ipack = ipack + 1
41340 1601362 : pack_tmp = packed_data(ipack)
41341 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
41342 1601362 : pack_tmp = ISHFT(pack_tmp, -31)
41343 1601362 : idata = idata + 1
41344 1601362 : data_tmp = ISHFT(pack_tmp, 18)
41345 1601362 : ipack = ipack + 1
41346 1601362 : pack_tmp = packed_data(ipack)
41347 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
41348 1601362 : pack_tmp = ISHFT(pack_tmp, -18)
41349 1601362 : idata = idata + 1
41350 1601362 : data_tmp = ISHFT(pack_tmp, 5)
41351 1601362 : ipack = ipack + 1
41352 1601362 : pack_tmp = packed_data(ipack)
41353 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
41354 1601362 : pack_tmp = ISHFT(pack_tmp, -5)
41355 1601362 : idata = idata + 1
41356 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41357 1601362 : full_data(idata) = data_tmp
41358 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41359 1601362 : idata = idata + 1
41360 1601362 : data_tmp = ISHFT(pack_tmp, 43)
41361 1601362 : ipack = ipack + 1
41362 1601362 : pack_tmp = packed_data(ipack)
41363 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
41364 1601362 : pack_tmp = ISHFT(pack_tmp, -43)
41365 1601362 : idata = idata + 1
41366 1601362 : data_tmp = ISHFT(pack_tmp, 30)
41367 1601362 : ipack = ipack + 1
41368 1601362 : pack_tmp = packed_data(ipack)
41369 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
41370 1601362 : pack_tmp = ISHFT(pack_tmp, -30)
41371 1601362 : idata = idata + 1
41372 1601362 : data_tmp = ISHFT(pack_tmp, 17)
41373 1601362 : ipack = ipack + 1
41374 1601362 : pack_tmp = packed_data(ipack)
41375 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
41376 1601362 : pack_tmp = ISHFT(pack_tmp, -17)
41377 1601362 : idata = idata + 1
41378 1601362 : data_tmp = ISHFT(pack_tmp, 4)
41379 1601362 : ipack = ipack + 1
41380 1601362 : pack_tmp = packed_data(ipack)
41381 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
41382 1601362 : pack_tmp = ISHFT(pack_tmp, -4)
41383 1601362 : idata = idata + 1
41384 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41385 1601362 : full_data(idata) = data_tmp
41386 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41387 1601362 : idata = idata + 1
41388 1601362 : data_tmp = ISHFT(pack_tmp, 42)
41389 1601362 : ipack = ipack + 1
41390 1601362 : pack_tmp = packed_data(ipack)
41391 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
41392 1601362 : pack_tmp = ISHFT(pack_tmp, -42)
41393 1601362 : idata = idata + 1
41394 1601362 : data_tmp = ISHFT(pack_tmp, 29)
41395 1601362 : ipack = ipack + 1
41396 1601362 : pack_tmp = packed_data(ipack)
41397 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
41398 1601362 : pack_tmp = ISHFT(pack_tmp, -29)
41399 1601362 : idata = idata + 1
41400 1601362 : data_tmp = ISHFT(pack_tmp, 16)
41401 1601362 : ipack = ipack + 1
41402 1601362 : pack_tmp = packed_data(ipack)
41403 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
41404 1601362 : pack_tmp = ISHFT(pack_tmp, -16)
41405 1601362 : idata = idata + 1
41406 1601362 : data_tmp = ISHFT(pack_tmp, 3)
41407 1601362 : ipack = ipack + 1
41408 1601362 : pack_tmp = packed_data(ipack)
41409 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
41410 1601362 : pack_tmp = ISHFT(pack_tmp, -3)
41411 1601362 : idata = idata + 1
41412 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41413 1601362 : full_data(idata) = data_tmp
41414 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41415 1601362 : idata = idata + 1
41416 1601362 : data_tmp = ISHFT(pack_tmp, 41)
41417 1601362 : ipack = ipack + 1
41418 1601362 : pack_tmp = packed_data(ipack)
41419 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
41420 1601362 : pack_tmp = ISHFT(pack_tmp, -41)
41421 1601362 : idata = idata + 1
41422 1601362 : data_tmp = ISHFT(pack_tmp, 28)
41423 1601362 : ipack = ipack + 1
41424 1601362 : pack_tmp = packed_data(ipack)
41425 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
41426 1601362 : pack_tmp = ISHFT(pack_tmp, -28)
41427 1601362 : idata = idata + 1
41428 1601362 : data_tmp = ISHFT(pack_tmp, 15)
41429 1601362 : ipack = ipack + 1
41430 1601362 : pack_tmp = packed_data(ipack)
41431 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
41432 1601362 : pack_tmp = ISHFT(pack_tmp, -15)
41433 1601362 : idata = idata + 1
41434 1601362 : data_tmp = ISHFT(pack_tmp, 2)
41435 1601362 : ipack = ipack + 1
41436 1601362 : pack_tmp = packed_data(ipack)
41437 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
41438 1601362 : pack_tmp = ISHFT(pack_tmp, -2)
41439 1601362 : idata = idata + 1
41440 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41441 1601362 : full_data(idata) = data_tmp
41442 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41443 1601362 : idata = idata + 1
41444 1601362 : data_tmp = ISHFT(pack_tmp, 40)
41445 1601362 : ipack = ipack + 1
41446 1601362 : pack_tmp = packed_data(ipack)
41447 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
41448 1601362 : pack_tmp = ISHFT(pack_tmp, -40)
41449 1601362 : idata = idata + 1
41450 1601362 : data_tmp = ISHFT(pack_tmp, 27)
41451 1601362 : ipack = ipack + 1
41452 1601362 : pack_tmp = packed_data(ipack)
41453 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
41454 1601362 : pack_tmp = ISHFT(pack_tmp, -27)
41455 1601362 : idata = idata + 1
41456 1601362 : data_tmp = ISHFT(pack_tmp, 14)
41457 1601362 : ipack = ipack + 1
41458 1601362 : pack_tmp = packed_data(ipack)
41459 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
41460 1601362 : pack_tmp = ISHFT(pack_tmp, -14)
41461 1601362 : idata = idata + 1
41462 1601362 : data_tmp = ISHFT(pack_tmp, 1)
41463 1601362 : ipack = ipack + 1
41464 1601362 : pack_tmp = packed_data(ipack)
41465 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
41466 1601362 : pack_tmp = ISHFT(pack_tmp, -1)
41467 1601362 : idata = idata + 1
41468 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41469 1601362 : full_data(idata) = data_tmp
41470 1601362 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41471 1601362 : idata = idata + 1
41472 1601362 : data_tmp = ISHFT(pack_tmp, 39)
41473 1601362 : ipack = ipack + 1
41474 1601362 : pack_tmp = packed_data(ipack)
41475 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
41476 1601362 : pack_tmp = ISHFT(pack_tmp, -39)
41477 1601362 : idata = idata + 1
41478 1601362 : data_tmp = ISHFT(pack_tmp, 26)
41479 1601362 : ipack = ipack + 1
41480 1601362 : pack_tmp = packed_data(ipack)
41481 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
41482 1601362 : pack_tmp = ISHFT(pack_tmp, -26)
41483 1601362 : idata = idata + 1
41484 1601362 : data_tmp = ISHFT(pack_tmp, 13)
41485 1601362 : ipack = ipack + 1
41486 1601362 : pack_tmp = packed_data(ipack)
41487 1601362 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
41488 1601362 : pack_tmp = ISHFT(pack_tmp, -13)
41489 1601362 : idata = idata + 1
41490 1601362 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
41491 1601362 : full_data(idata) = data_tmp
41492 1601686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
41493 : END DO
41494 101545 : IF (Ndata_rep < Ndata) THEN
41495 2748 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
41496 : END IF
41497 101545 : END SUBROUTINE bits2ints_51
41498 :
41499 : ! **************************************************************************************************
41500 : !> \brief ...
41501 : !> \param Ndata ...
41502 : !> \param packed_data ...
41503 : !> \param full_data ...
41504 : ! **************************************************************************************************
41505 24942 : 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(*)
41509 :
41510 : INTEGER, PARAMETER :: Nbits = 52
41511 :
41512 : INTEGER :: idata, ipack, kdata, Ndata_rep
41513 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
41514 :
41515 24942 : idata = 0
41516 24942 : ipack = 0
41517 24942 : Ndata_rep = (Ndata/64)*64
41518 24942 : DO kdata = 1, Ndata_rep, 64
41519 395128 : pack_tmp = 0
41520 395128 : idata = idata + 1
41521 395128 : data_tmp = full_data(idata)
41522 395128 : data_tmp = ISHFT(data_tmp, 12)
41523 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41524 395128 : pack_tmp = ISHFT(pack_tmp, -12)
41525 395128 : idata = idata + 1
41526 395128 : data_tmp = full_data(idata)
41527 395128 : data_tmp = ISHFT(data_tmp, 12)
41528 395128 : data_tmp = IAND(data_tmp, mask_left(12))
41529 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41530 395128 : ipack = ipack + 1
41531 395128 : packed_data(ipack) = pack_tmp
41532 395128 : data_tmp = full_data(idata)
41533 395128 : pack_tmp = ISHFT(data_tmp, 24)
41534 395128 : pack_tmp = ISHFT(pack_tmp, -24)
41535 395128 : idata = idata + 1
41536 395128 : data_tmp = full_data(idata)
41537 395128 : data_tmp = ISHFT(data_tmp, 12)
41538 395128 : data_tmp = IAND(data_tmp, mask_left(24))
41539 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41540 395128 : ipack = ipack + 1
41541 395128 : packed_data(ipack) = pack_tmp
41542 395128 : data_tmp = full_data(idata)
41543 395128 : pack_tmp = ISHFT(data_tmp, 36)
41544 395128 : pack_tmp = ISHFT(pack_tmp, -36)
41545 395128 : idata = idata + 1
41546 395128 : data_tmp = full_data(idata)
41547 395128 : data_tmp = ISHFT(data_tmp, 12)
41548 395128 : data_tmp = IAND(data_tmp, mask_left(36))
41549 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41550 395128 : ipack = ipack + 1
41551 395128 : packed_data(ipack) = pack_tmp
41552 395128 : data_tmp = full_data(idata)
41553 395128 : pack_tmp = ISHFT(data_tmp, 48)
41554 395128 : pack_tmp = ISHFT(pack_tmp, -48)
41555 395128 : idata = idata + 1
41556 395128 : data_tmp = full_data(idata)
41557 395128 : data_tmp = ISHFT(data_tmp, 12)
41558 395128 : data_tmp = IAND(data_tmp, mask_left(48))
41559 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41560 395128 : ipack = ipack + 1
41561 395128 : packed_data(ipack) = pack_tmp
41562 395128 : data_tmp = full_data(idata)
41563 395128 : pack_tmp = ISHFT(data_tmp, 60)
41564 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41565 395128 : idata = idata + 1
41566 395128 : data_tmp = full_data(idata)
41567 395128 : data_tmp = ISHFT(data_tmp, 12)
41568 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41569 395128 : pack_tmp = ISHFT(pack_tmp, -8)
41570 395128 : idata = idata + 1
41571 395128 : data_tmp = full_data(idata)
41572 395128 : data_tmp = ISHFT(data_tmp, 12)
41573 395128 : data_tmp = IAND(data_tmp, mask_left(8))
41574 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41575 395128 : ipack = ipack + 1
41576 395128 : packed_data(ipack) = pack_tmp
41577 395128 : data_tmp = full_data(idata)
41578 395128 : pack_tmp = ISHFT(data_tmp, 20)
41579 395128 : pack_tmp = ISHFT(pack_tmp, -20)
41580 395128 : idata = idata + 1
41581 395128 : data_tmp = full_data(idata)
41582 395128 : data_tmp = ISHFT(data_tmp, 12)
41583 395128 : data_tmp = IAND(data_tmp, mask_left(20))
41584 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41585 395128 : ipack = ipack + 1
41586 395128 : packed_data(ipack) = pack_tmp
41587 395128 : data_tmp = full_data(idata)
41588 395128 : pack_tmp = ISHFT(data_tmp, 32)
41589 395128 : pack_tmp = ISHFT(pack_tmp, -32)
41590 395128 : idata = idata + 1
41591 395128 : data_tmp = full_data(idata)
41592 395128 : data_tmp = ISHFT(data_tmp, 12)
41593 395128 : data_tmp = IAND(data_tmp, mask_left(32))
41594 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41595 395128 : ipack = ipack + 1
41596 395128 : packed_data(ipack) = pack_tmp
41597 395128 : data_tmp = full_data(idata)
41598 395128 : pack_tmp = ISHFT(data_tmp, 44)
41599 395128 : pack_tmp = ISHFT(pack_tmp, -44)
41600 395128 : idata = idata + 1
41601 395128 : data_tmp = full_data(idata)
41602 395128 : data_tmp = ISHFT(data_tmp, 12)
41603 395128 : data_tmp = IAND(data_tmp, mask_left(44))
41604 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41605 395128 : ipack = ipack + 1
41606 395128 : packed_data(ipack) = pack_tmp
41607 395128 : data_tmp = full_data(idata)
41608 395128 : pack_tmp = ISHFT(data_tmp, 56)
41609 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41610 395128 : idata = idata + 1
41611 395128 : data_tmp = full_data(idata)
41612 395128 : data_tmp = ISHFT(data_tmp, 12)
41613 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41614 395128 : pack_tmp = ISHFT(pack_tmp, -4)
41615 395128 : idata = idata + 1
41616 395128 : data_tmp = full_data(idata)
41617 395128 : data_tmp = ISHFT(data_tmp, 12)
41618 395128 : data_tmp = IAND(data_tmp, mask_left(4))
41619 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41620 395128 : ipack = ipack + 1
41621 395128 : packed_data(ipack) = pack_tmp
41622 395128 : data_tmp = full_data(idata)
41623 395128 : pack_tmp = ISHFT(data_tmp, 16)
41624 395128 : pack_tmp = ISHFT(pack_tmp, -16)
41625 395128 : idata = idata + 1
41626 395128 : data_tmp = full_data(idata)
41627 395128 : data_tmp = ISHFT(data_tmp, 12)
41628 395128 : data_tmp = IAND(data_tmp, mask_left(16))
41629 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41630 395128 : ipack = ipack + 1
41631 395128 : packed_data(ipack) = pack_tmp
41632 395128 : data_tmp = full_data(idata)
41633 395128 : pack_tmp = ISHFT(data_tmp, 28)
41634 395128 : pack_tmp = ISHFT(pack_tmp, -28)
41635 395128 : idata = idata + 1
41636 395128 : data_tmp = full_data(idata)
41637 395128 : data_tmp = ISHFT(data_tmp, 12)
41638 395128 : data_tmp = IAND(data_tmp, mask_left(28))
41639 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41640 395128 : ipack = ipack + 1
41641 395128 : packed_data(ipack) = pack_tmp
41642 395128 : data_tmp = full_data(idata)
41643 395128 : pack_tmp = ISHFT(data_tmp, 40)
41644 395128 : pack_tmp = ISHFT(pack_tmp, -40)
41645 395128 : idata = idata + 1
41646 395128 : data_tmp = full_data(idata)
41647 395128 : data_tmp = ISHFT(data_tmp, 12)
41648 395128 : data_tmp = IAND(data_tmp, mask_left(40))
41649 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41650 395128 : ipack = ipack + 1
41651 395128 : packed_data(ipack) = pack_tmp
41652 395128 : data_tmp = full_data(idata)
41653 395128 : pack_tmp = ISHFT(data_tmp, 52)
41654 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41655 395128 : idata = idata + 1
41656 395128 : data_tmp = full_data(idata)
41657 395128 : data_tmp = ISHFT(data_tmp, 12)
41658 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41659 395128 : pack_tmp = ISHFT(pack_tmp, 0)
41660 395128 : idata = idata + 1
41661 395128 : data_tmp = full_data(idata)
41662 : data_tmp = ISHFT(data_tmp, 12)
41663 395128 : data_tmp = IAND(data_tmp, mask_left(0))
41664 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41665 395128 : ipack = ipack + 1
41666 395128 : packed_data(ipack) = pack_tmp
41667 395128 : data_tmp = full_data(idata)
41668 395128 : pack_tmp = ISHFT(data_tmp, 12)
41669 395128 : pack_tmp = ISHFT(pack_tmp, -12)
41670 395128 : idata = idata + 1
41671 395128 : data_tmp = full_data(idata)
41672 395128 : data_tmp = ISHFT(data_tmp, 12)
41673 395128 : data_tmp = IAND(data_tmp, mask_left(12))
41674 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41675 395128 : ipack = ipack + 1
41676 395128 : packed_data(ipack) = pack_tmp
41677 395128 : data_tmp = full_data(idata)
41678 395128 : pack_tmp = ISHFT(data_tmp, 24)
41679 395128 : pack_tmp = ISHFT(pack_tmp, -24)
41680 395128 : idata = idata + 1
41681 395128 : data_tmp = full_data(idata)
41682 395128 : data_tmp = ISHFT(data_tmp, 12)
41683 395128 : data_tmp = IAND(data_tmp, mask_left(24))
41684 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41685 395128 : ipack = ipack + 1
41686 395128 : packed_data(ipack) = pack_tmp
41687 395128 : data_tmp = full_data(idata)
41688 395128 : pack_tmp = ISHFT(data_tmp, 36)
41689 395128 : pack_tmp = ISHFT(pack_tmp, -36)
41690 395128 : idata = idata + 1
41691 395128 : data_tmp = full_data(idata)
41692 395128 : data_tmp = ISHFT(data_tmp, 12)
41693 395128 : data_tmp = IAND(data_tmp, mask_left(36))
41694 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41695 395128 : ipack = ipack + 1
41696 395128 : packed_data(ipack) = pack_tmp
41697 395128 : data_tmp = full_data(idata)
41698 395128 : pack_tmp = ISHFT(data_tmp, 48)
41699 395128 : pack_tmp = ISHFT(pack_tmp, -48)
41700 395128 : idata = idata + 1
41701 395128 : data_tmp = full_data(idata)
41702 395128 : data_tmp = ISHFT(data_tmp, 12)
41703 395128 : data_tmp = IAND(data_tmp, mask_left(48))
41704 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41705 395128 : ipack = ipack + 1
41706 395128 : packed_data(ipack) = pack_tmp
41707 395128 : data_tmp = full_data(idata)
41708 395128 : pack_tmp = ISHFT(data_tmp, 60)
41709 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41710 395128 : idata = idata + 1
41711 395128 : data_tmp = full_data(idata)
41712 395128 : data_tmp = ISHFT(data_tmp, 12)
41713 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41714 395128 : pack_tmp = ISHFT(pack_tmp, -8)
41715 395128 : idata = idata + 1
41716 395128 : data_tmp = full_data(idata)
41717 395128 : data_tmp = ISHFT(data_tmp, 12)
41718 395128 : data_tmp = IAND(data_tmp, mask_left(8))
41719 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41720 395128 : ipack = ipack + 1
41721 395128 : packed_data(ipack) = pack_tmp
41722 395128 : data_tmp = full_data(idata)
41723 395128 : pack_tmp = ISHFT(data_tmp, 20)
41724 395128 : pack_tmp = ISHFT(pack_tmp, -20)
41725 395128 : idata = idata + 1
41726 395128 : data_tmp = full_data(idata)
41727 395128 : data_tmp = ISHFT(data_tmp, 12)
41728 395128 : data_tmp = IAND(data_tmp, mask_left(20))
41729 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41730 395128 : ipack = ipack + 1
41731 395128 : packed_data(ipack) = pack_tmp
41732 395128 : data_tmp = full_data(idata)
41733 395128 : pack_tmp = ISHFT(data_tmp, 32)
41734 395128 : pack_tmp = ISHFT(pack_tmp, -32)
41735 395128 : idata = idata + 1
41736 395128 : data_tmp = full_data(idata)
41737 395128 : data_tmp = ISHFT(data_tmp, 12)
41738 395128 : data_tmp = IAND(data_tmp, mask_left(32))
41739 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41740 395128 : ipack = ipack + 1
41741 395128 : packed_data(ipack) = pack_tmp
41742 395128 : data_tmp = full_data(idata)
41743 395128 : pack_tmp = ISHFT(data_tmp, 44)
41744 395128 : pack_tmp = ISHFT(pack_tmp, -44)
41745 395128 : idata = idata + 1
41746 395128 : data_tmp = full_data(idata)
41747 395128 : data_tmp = ISHFT(data_tmp, 12)
41748 395128 : data_tmp = IAND(data_tmp, mask_left(44))
41749 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41750 395128 : ipack = ipack + 1
41751 395128 : packed_data(ipack) = pack_tmp
41752 395128 : data_tmp = full_data(idata)
41753 395128 : pack_tmp = ISHFT(data_tmp, 56)
41754 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41755 395128 : idata = idata + 1
41756 395128 : data_tmp = full_data(idata)
41757 395128 : data_tmp = ISHFT(data_tmp, 12)
41758 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41759 395128 : pack_tmp = ISHFT(pack_tmp, -4)
41760 395128 : idata = idata + 1
41761 395128 : data_tmp = full_data(idata)
41762 395128 : data_tmp = ISHFT(data_tmp, 12)
41763 395128 : data_tmp = IAND(data_tmp, mask_left(4))
41764 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41765 395128 : ipack = ipack + 1
41766 395128 : packed_data(ipack) = pack_tmp
41767 395128 : data_tmp = full_data(idata)
41768 395128 : pack_tmp = ISHFT(data_tmp, 16)
41769 395128 : pack_tmp = ISHFT(pack_tmp, -16)
41770 395128 : idata = idata + 1
41771 395128 : data_tmp = full_data(idata)
41772 395128 : data_tmp = ISHFT(data_tmp, 12)
41773 395128 : data_tmp = IAND(data_tmp, mask_left(16))
41774 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41775 395128 : ipack = ipack + 1
41776 395128 : packed_data(ipack) = pack_tmp
41777 395128 : data_tmp = full_data(idata)
41778 395128 : pack_tmp = ISHFT(data_tmp, 28)
41779 395128 : pack_tmp = ISHFT(pack_tmp, -28)
41780 395128 : idata = idata + 1
41781 395128 : data_tmp = full_data(idata)
41782 395128 : data_tmp = ISHFT(data_tmp, 12)
41783 395128 : data_tmp = IAND(data_tmp, mask_left(28))
41784 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41785 395128 : ipack = ipack + 1
41786 395128 : packed_data(ipack) = pack_tmp
41787 395128 : data_tmp = full_data(idata)
41788 395128 : pack_tmp = ISHFT(data_tmp, 40)
41789 395128 : pack_tmp = ISHFT(pack_tmp, -40)
41790 395128 : idata = idata + 1
41791 395128 : data_tmp = full_data(idata)
41792 395128 : data_tmp = ISHFT(data_tmp, 12)
41793 395128 : data_tmp = IAND(data_tmp, mask_left(40))
41794 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41795 395128 : ipack = ipack + 1
41796 395128 : packed_data(ipack) = pack_tmp
41797 395128 : data_tmp = full_data(idata)
41798 395128 : pack_tmp = ISHFT(data_tmp, 52)
41799 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41800 395128 : idata = idata + 1
41801 395128 : data_tmp = full_data(idata)
41802 395128 : data_tmp = ISHFT(data_tmp, 12)
41803 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41804 395128 : pack_tmp = ISHFT(pack_tmp, 0)
41805 395128 : idata = idata + 1
41806 395128 : data_tmp = full_data(idata)
41807 : data_tmp = ISHFT(data_tmp, 12)
41808 395128 : data_tmp = IAND(data_tmp, mask_left(0))
41809 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41810 395128 : ipack = ipack + 1
41811 395128 : packed_data(ipack) = pack_tmp
41812 395128 : data_tmp = full_data(idata)
41813 395128 : pack_tmp = ISHFT(data_tmp, 12)
41814 395128 : pack_tmp = ISHFT(pack_tmp, -12)
41815 395128 : idata = idata + 1
41816 395128 : data_tmp = full_data(idata)
41817 395128 : data_tmp = ISHFT(data_tmp, 12)
41818 395128 : data_tmp = IAND(data_tmp, mask_left(12))
41819 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41820 395128 : ipack = ipack + 1
41821 395128 : packed_data(ipack) = pack_tmp
41822 395128 : data_tmp = full_data(idata)
41823 395128 : pack_tmp = ISHFT(data_tmp, 24)
41824 395128 : pack_tmp = ISHFT(pack_tmp, -24)
41825 395128 : idata = idata + 1
41826 395128 : data_tmp = full_data(idata)
41827 395128 : data_tmp = ISHFT(data_tmp, 12)
41828 395128 : data_tmp = IAND(data_tmp, mask_left(24))
41829 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41830 395128 : ipack = ipack + 1
41831 395128 : packed_data(ipack) = pack_tmp
41832 395128 : data_tmp = full_data(idata)
41833 395128 : pack_tmp = ISHFT(data_tmp, 36)
41834 395128 : pack_tmp = ISHFT(pack_tmp, -36)
41835 395128 : idata = idata + 1
41836 395128 : data_tmp = full_data(idata)
41837 395128 : data_tmp = ISHFT(data_tmp, 12)
41838 395128 : data_tmp = IAND(data_tmp, mask_left(36))
41839 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41840 395128 : ipack = ipack + 1
41841 395128 : packed_data(ipack) = pack_tmp
41842 395128 : data_tmp = full_data(idata)
41843 395128 : pack_tmp = ISHFT(data_tmp, 48)
41844 395128 : pack_tmp = ISHFT(pack_tmp, -48)
41845 395128 : idata = idata + 1
41846 395128 : data_tmp = full_data(idata)
41847 395128 : data_tmp = ISHFT(data_tmp, 12)
41848 395128 : data_tmp = IAND(data_tmp, mask_left(48))
41849 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41850 395128 : ipack = ipack + 1
41851 395128 : packed_data(ipack) = pack_tmp
41852 395128 : data_tmp = full_data(idata)
41853 395128 : pack_tmp = ISHFT(data_tmp, 60)
41854 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41855 395128 : idata = idata + 1
41856 395128 : data_tmp = full_data(idata)
41857 395128 : data_tmp = ISHFT(data_tmp, 12)
41858 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41859 395128 : pack_tmp = ISHFT(pack_tmp, -8)
41860 395128 : idata = idata + 1
41861 395128 : data_tmp = full_data(idata)
41862 395128 : data_tmp = ISHFT(data_tmp, 12)
41863 395128 : data_tmp = IAND(data_tmp, mask_left(8))
41864 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41865 395128 : ipack = ipack + 1
41866 395128 : packed_data(ipack) = pack_tmp
41867 395128 : data_tmp = full_data(idata)
41868 395128 : pack_tmp = ISHFT(data_tmp, 20)
41869 395128 : pack_tmp = ISHFT(pack_tmp, -20)
41870 395128 : idata = idata + 1
41871 395128 : data_tmp = full_data(idata)
41872 395128 : data_tmp = ISHFT(data_tmp, 12)
41873 395128 : data_tmp = IAND(data_tmp, mask_left(20))
41874 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41875 395128 : ipack = ipack + 1
41876 395128 : packed_data(ipack) = pack_tmp
41877 395128 : data_tmp = full_data(idata)
41878 395128 : pack_tmp = ISHFT(data_tmp, 32)
41879 395128 : pack_tmp = ISHFT(pack_tmp, -32)
41880 395128 : idata = idata + 1
41881 395128 : data_tmp = full_data(idata)
41882 395128 : data_tmp = ISHFT(data_tmp, 12)
41883 395128 : data_tmp = IAND(data_tmp, mask_left(32))
41884 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41885 395128 : ipack = ipack + 1
41886 395128 : packed_data(ipack) = pack_tmp
41887 395128 : data_tmp = full_data(idata)
41888 395128 : pack_tmp = ISHFT(data_tmp, 44)
41889 395128 : pack_tmp = ISHFT(pack_tmp, -44)
41890 395128 : idata = idata + 1
41891 395128 : data_tmp = full_data(idata)
41892 395128 : data_tmp = ISHFT(data_tmp, 12)
41893 395128 : data_tmp = IAND(data_tmp, mask_left(44))
41894 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41895 395128 : ipack = ipack + 1
41896 395128 : packed_data(ipack) = pack_tmp
41897 395128 : data_tmp = full_data(idata)
41898 395128 : pack_tmp = ISHFT(data_tmp, 56)
41899 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41900 395128 : idata = idata + 1
41901 395128 : data_tmp = full_data(idata)
41902 395128 : data_tmp = ISHFT(data_tmp, 12)
41903 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41904 395128 : pack_tmp = ISHFT(pack_tmp, -4)
41905 395128 : idata = idata + 1
41906 395128 : data_tmp = full_data(idata)
41907 395128 : data_tmp = ISHFT(data_tmp, 12)
41908 395128 : data_tmp = IAND(data_tmp, mask_left(4))
41909 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41910 395128 : ipack = ipack + 1
41911 395128 : packed_data(ipack) = pack_tmp
41912 395128 : data_tmp = full_data(idata)
41913 395128 : pack_tmp = ISHFT(data_tmp, 16)
41914 395128 : pack_tmp = ISHFT(pack_tmp, -16)
41915 395128 : idata = idata + 1
41916 395128 : data_tmp = full_data(idata)
41917 395128 : data_tmp = ISHFT(data_tmp, 12)
41918 395128 : data_tmp = IAND(data_tmp, mask_left(16))
41919 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41920 395128 : ipack = ipack + 1
41921 395128 : packed_data(ipack) = pack_tmp
41922 395128 : data_tmp = full_data(idata)
41923 395128 : pack_tmp = ISHFT(data_tmp, 28)
41924 395128 : pack_tmp = ISHFT(pack_tmp, -28)
41925 395128 : idata = idata + 1
41926 395128 : data_tmp = full_data(idata)
41927 395128 : data_tmp = ISHFT(data_tmp, 12)
41928 395128 : data_tmp = IAND(data_tmp, mask_left(28))
41929 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41930 395128 : ipack = ipack + 1
41931 395128 : packed_data(ipack) = pack_tmp
41932 395128 : data_tmp = full_data(idata)
41933 395128 : pack_tmp = ISHFT(data_tmp, 40)
41934 395128 : pack_tmp = ISHFT(pack_tmp, -40)
41935 395128 : idata = idata + 1
41936 395128 : data_tmp = full_data(idata)
41937 395128 : data_tmp = ISHFT(data_tmp, 12)
41938 395128 : data_tmp = IAND(data_tmp, mask_left(40))
41939 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41940 395128 : ipack = ipack + 1
41941 395128 : packed_data(ipack) = pack_tmp
41942 395128 : data_tmp = full_data(idata)
41943 395128 : pack_tmp = ISHFT(data_tmp, 52)
41944 395128 : pack_tmp = ISHFT(pack_tmp, -52)
41945 395128 : idata = idata + 1
41946 395128 : data_tmp = full_data(idata)
41947 395128 : data_tmp = ISHFT(data_tmp, 12)
41948 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41949 395128 : pack_tmp = ISHFT(pack_tmp, 0)
41950 395128 : idata = idata + 1
41951 395128 : data_tmp = full_data(idata)
41952 : data_tmp = ISHFT(data_tmp, 12)
41953 395128 : data_tmp = IAND(data_tmp, mask_left(0))
41954 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41955 395128 : ipack = ipack + 1
41956 395128 : packed_data(ipack) = pack_tmp
41957 395128 : data_tmp = full_data(idata)
41958 395128 : pack_tmp = ISHFT(data_tmp, 12)
41959 395128 : pack_tmp = ISHFT(pack_tmp, -12)
41960 395128 : idata = idata + 1
41961 395128 : data_tmp = full_data(idata)
41962 395128 : data_tmp = ISHFT(data_tmp, 12)
41963 395128 : data_tmp = IAND(data_tmp, mask_left(12))
41964 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41965 395128 : ipack = ipack + 1
41966 395128 : packed_data(ipack) = pack_tmp
41967 395128 : data_tmp = full_data(idata)
41968 395128 : pack_tmp = ISHFT(data_tmp, 24)
41969 395128 : pack_tmp = ISHFT(pack_tmp, -24)
41970 395128 : idata = idata + 1
41971 395128 : data_tmp = full_data(idata)
41972 395128 : data_tmp = ISHFT(data_tmp, 12)
41973 395128 : data_tmp = IAND(data_tmp, mask_left(24))
41974 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41975 395128 : ipack = ipack + 1
41976 395128 : packed_data(ipack) = pack_tmp
41977 395128 : data_tmp = full_data(idata)
41978 395128 : pack_tmp = ISHFT(data_tmp, 36)
41979 395128 : pack_tmp = ISHFT(pack_tmp, -36)
41980 395128 : idata = idata + 1
41981 395128 : data_tmp = full_data(idata)
41982 395128 : data_tmp = ISHFT(data_tmp, 12)
41983 395128 : data_tmp = IAND(data_tmp, mask_left(36))
41984 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41985 395128 : ipack = ipack + 1
41986 395128 : packed_data(ipack) = pack_tmp
41987 395128 : data_tmp = full_data(idata)
41988 395128 : pack_tmp = ISHFT(data_tmp, 48)
41989 395128 : pack_tmp = ISHFT(pack_tmp, -48)
41990 395128 : idata = idata + 1
41991 395128 : data_tmp = full_data(idata)
41992 395128 : data_tmp = ISHFT(data_tmp, 12)
41993 395128 : data_tmp = IAND(data_tmp, mask_left(48))
41994 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
41995 395128 : ipack = ipack + 1
41996 395128 : packed_data(ipack) = pack_tmp
41997 395128 : data_tmp = full_data(idata)
41998 395128 : pack_tmp = ISHFT(data_tmp, 60)
41999 395128 : pack_tmp = ISHFT(pack_tmp, -52)
42000 395128 : idata = idata + 1
42001 395128 : data_tmp = full_data(idata)
42002 395128 : data_tmp = ISHFT(data_tmp, 12)
42003 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42004 395128 : pack_tmp = ISHFT(pack_tmp, -8)
42005 395128 : idata = idata + 1
42006 395128 : data_tmp = full_data(idata)
42007 395128 : data_tmp = ISHFT(data_tmp, 12)
42008 395128 : data_tmp = IAND(data_tmp, mask_left(8))
42009 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42010 395128 : ipack = ipack + 1
42011 395128 : packed_data(ipack) = pack_tmp
42012 395128 : data_tmp = full_data(idata)
42013 395128 : pack_tmp = ISHFT(data_tmp, 20)
42014 395128 : pack_tmp = ISHFT(pack_tmp, -20)
42015 395128 : idata = idata + 1
42016 395128 : data_tmp = full_data(idata)
42017 395128 : data_tmp = ISHFT(data_tmp, 12)
42018 395128 : data_tmp = IAND(data_tmp, mask_left(20))
42019 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42020 395128 : ipack = ipack + 1
42021 395128 : packed_data(ipack) = pack_tmp
42022 395128 : data_tmp = full_data(idata)
42023 395128 : pack_tmp = ISHFT(data_tmp, 32)
42024 395128 : pack_tmp = ISHFT(pack_tmp, -32)
42025 395128 : idata = idata + 1
42026 395128 : data_tmp = full_data(idata)
42027 395128 : data_tmp = ISHFT(data_tmp, 12)
42028 395128 : data_tmp = IAND(data_tmp, mask_left(32))
42029 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42030 395128 : ipack = ipack + 1
42031 395128 : packed_data(ipack) = pack_tmp
42032 395128 : data_tmp = full_data(idata)
42033 395128 : pack_tmp = ISHFT(data_tmp, 44)
42034 395128 : pack_tmp = ISHFT(pack_tmp, -44)
42035 395128 : idata = idata + 1
42036 395128 : data_tmp = full_data(idata)
42037 395128 : data_tmp = ISHFT(data_tmp, 12)
42038 395128 : data_tmp = IAND(data_tmp, mask_left(44))
42039 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42040 395128 : ipack = ipack + 1
42041 395128 : packed_data(ipack) = pack_tmp
42042 395128 : data_tmp = full_data(idata)
42043 395128 : pack_tmp = ISHFT(data_tmp, 56)
42044 395128 : pack_tmp = ISHFT(pack_tmp, -52)
42045 395128 : idata = idata + 1
42046 395128 : data_tmp = full_data(idata)
42047 395128 : data_tmp = ISHFT(data_tmp, 12)
42048 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42049 395128 : pack_tmp = ISHFT(pack_tmp, -4)
42050 395128 : idata = idata + 1
42051 395128 : data_tmp = full_data(idata)
42052 395128 : data_tmp = ISHFT(data_tmp, 12)
42053 395128 : data_tmp = IAND(data_tmp, mask_left(4))
42054 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42055 395128 : ipack = ipack + 1
42056 395128 : packed_data(ipack) = pack_tmp
42057 395128 : data_tmp = full_data(idata)
42058 395128 : pack_tmp = ISHFT(data_tmp, 16)
42059 395128 : pack_tmp = ISHFT(pack_tmp, -16)
42060 395128 : idata = idata + 1
42061 395128 : data_tmp = full_data(idata)
42062 395128 : data_tmp = ISHFT(data_tmp, 12)
42063 395128 : data_tmp = IAND(data_tmp, mask_left(16))
42064 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42065 395128 : ipack = ipack + 1
42066 395128 : packed_data(ipack) = pack_tmp
42067 395128 : data_tmp = full_data(idata)
42068 395128 : pack_tmp = ISHFT(data_tmp, 28)
42069 395128 : pack_tmp = ISHFT(pack_tmp, -28)
42070 395128 : idata = idata + 1
42071 395128 : data_tmp = full_data(idata)
42072 395128 : data_tmp = ISHFT(data_tmp, 12)
42073 395128 : data_tmp = IAND(data_tmp, mask_left(28))
42074 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42075 395128 : ipack = ipack + 1
42076 395128 : packed_data(ipack) = pack_tmp
42077 395128 : data_tmp = full_data(idata)
42078 395128 : pack_tmp = ISHFT(data_tmp, 40)
42079 395128 : pack_tmp = ISHFT(pack_tmp, -40)
42080 395128 : idata = idata + 1
42081 395128 : data_tmp = full_data(idata)
42082 395128 : data_tmp = ISHFT(data_tmp, 12)
42083 395128 : data_tmp = IAND(data_tmp, mask_left(40))
42084 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42085 395128 : ipack = ipack + 1
42086 395128 : packed_data(ipack) = pack_tmp
42087 395128 : data_tmp = full_data(idata)
42088 395128 : pack_tmp = ISHFT(data_tmp, 52)
42089 395128 : pack_tmp = ISHFT(pack_tmp, -52)
42090 395128 : idata = idata + 1
42091 395128 : data_tmp = full_data(idata)
42092 395128 : data_tmp = ISHFT(data_tmp, 12)
42093 395128 : pack_tmp = IOR(pack_tmp, data_tmp)
42094 : pack_tmp = ISHFT(pack_tmp, 0)
42095 395128 : pack_tmp = ISHFT(pack_tmp, 0)
42096 395128 : ipack = ipack + 1
42097 395138 : packed_data(ipack) = pack_tmp
42098 : END DO
42099 24942 : IF (Ndata_rep < Ndata) THEN
42100 464 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
42101 : END IF
42102 24942 : END SUBROUTINE ints2bits_52
42103 :
42104 : ! **************************************************************************************************
42105 : !> \brief ...
42106 : !> \param Ndata ...
42107 : !> \param packed_data ...
42108 : !> \param full_data ...
42109 : ! **************************************************************************************************
42110 103477 : 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(*)
42114 :
42115 : INTEGER, PARAMETER :: Nbits = 52
42116 :
42117 : INTEGER :: idata, ipack, kdata, Ndata_rep
42118 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
42119 :
42120 103477 : ipack = 0
42121 103477 : idata = 0
42122 103477 : pack_tmp = 0
42123 103477 : Ndata_rep = (Ndata/64)*64
42124 103477 : DO kdata = 1, Ndata_rep, 64
42125 1615784 : idata = idata + 1
42126 1615784 : data_tmp = ISHFT(pack_tmp, 52)
42127 1615784 : ipack = ipack + 1
42128 1615784 : pack_tmp = packed_data(ipack)
42129 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42130 1615784 : pack_tmp = ISHFT(pack_tmp, -52)
42131 1615784 : idata = idata + 1
42132 1615784 : data_tmp = ISHFT(pack_tmp, 40)
42133 1615784 : ipack = ipack + 1
42134 1615784 : pack_tmp = packed_data(ipack)
42135 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42136 1615784 : pack_tmp = ISHFT(pack_tmp, -40)
42137 1615784 : idata = idata + 1
42138 1615784 : data_tmp = ISHFT(pack_tmp, 28)
42139 1615784 : ipack = ipack + 1
42140 1615784 : pack_tmp = packed_data(ipack)
42141 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42142 1615784 : pack_tmp = ISHFT(pack_tmp, -28)
42143 1615784 : idata = idata + 1
42144 1615784 : data_tmp = ISHFT(pack_tmp, 16)
42145 1615784 : ipack = ipack + 1
42146 1615784 : pack_tmp = packed_data(ipack)
42147 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42148 1615784 : pack_tmp = ISHFT(pack_tmp, -16)
42149 1615784 : idata = idata + 1
42150 1615784 : data_tmp = ISHFT(pack_tmp, 4)
42151 1615784 : ipack = ipack + 1
42152 1615784 : pack_tmp = packed_data(ipack)
42153 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42154 1615784 : pack_tmp = ISHFT(pack_tmp, -4)
42155 1615784 : idata = idata + 1
42156 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42157 1615784 : full_data(idata) = data_tmp
42158 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42159 1615784 : idata = idata + 1
42160 1615784 : data_tmp = ISHFT(pack_tmp, 44)
42161 1615784 : ipack = ipack + 1
42162 1615784 : pack_tmp = packed_data(ipack)
42163 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42164 1615784 : pack_tmp = ISHFT(pack_tmp, -44)
42165 1615784 : idata = idata + 1
42166 1615784 : data_tmp = ISHFT(pack_tmp, 32)
42167 1615784 : ipack = ipack + 1
42168 1615784 : pack_tmp = packed_data(ipack)
42169 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42170 1615784 : pack_tmp = ISHFT(pack_tmp, -32)
42171 1615784 : idata = idata + 1
42172 1615784 : data_tmp = ISHFT(pack_tmp, 20)
42173 1615784 : ipack = ipack + 1
42174 1615784 : pack_tmp = packed_data(ipack)
42175 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42176 1615784 : pack_tmp = ISHFT(pack_tmp, -20)
42177 1615784 : idata = idata + 1
42178 1615784 : data_tmp = ISHFT(pack_tmp, 8)
42179 1615784 : ipack = ipack + 1
42180 1615784 : pack_tmp = packed_data(ipack)
42181 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42182 1615784 : pack_tmp = ISHFT(pack_tmp, -8)
42183 1615784 : idata = idata + 1
42184 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42185 1615784 : full_data(idata) = data_tmp
42186 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42187 1615784 : idata = idata + 1
42188 1615784 : data_tmp = ISHFT(pack_tmp, 48)
42189 1615784 : ipack = ipack + 1
42190 1615784 : pack_tmp = packed_data(ipack)
42191 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42192 1615784 : pack_tmp = ISHFT(pack_tmp, -48)
42193 1615784 : idata = idata + 1
42194 1615784 : data_tmp = ISHFT(pack_tmp, 36)
42195 1615784 : ipack = ipack + 1
42196 1615784 : pack_tmp = packed_data(ipack)
42197 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42198 1615784 : pack_tmp = ISHFT(pack_tmp, -36)
42199 1615784 : idata = idata + 1
42200 1615784 : data_tmp = ISHFT(pack_tmp, 24)
42201 1615784 : ipack = ipack + 1
42202 1615784 : pack_tmp = packed_data(ipack)
42203 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42204 1615784 : pack_tmp = ISHFT(pack_tmp, -24)
42205 1615784 : idata = idata + 1
42206 1615784 : data_tmp = ISHFT(pack_tmp, 12)
42207 1615784 : ipack = ipack + 1
42208 1615784 : pack_tmp = packed_data(ipack)
42209 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42210 1615784 : pack_tmp = ISHFT(pack_tmp, -12)
42211 1615784 : idata = idata + 1
42212 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42213 1615784 : full_data(idata) = data_tmp
42214 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42215 1615784 : idata = idata + 1
42216 1615784 : data_tmp = ISHFT(pack_tmp, 52)
42217 1615784 : ipack = ipack + 1
42218 1615784 : pack_tmp = packed_data(ipack)
42219 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42220 1615784 : pack_tmp = ISHFT(pack_tmp, -52)
42221 1615784 : idata = idata + 1
42222 1615784 : data_tmp = ISHFT(pack_tmp, 40)
42223 1615784 : ipack = ipack + 1
42224 1615784 : pack_tmp = packed_data(ipack)
42225 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42226 1615784 : pack_tmp = ISHFT(pack_tmp, -40)
42227 1615784 : idata = idata + 1
42228 1615784 : data_tmp = ISHFT(pack_tmp, 28)
42229 1615784 : ipack = ipack + 1
42230 1615784 : pack_tmp = packed_data(ipack)
42231 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42232 1615784 : pack_tmp = ISHFT(pack_tmp, -28)
42233 1615784 : idata = idata + 1
42234 1615784 : data_tmp = ISHFT(pack_tmp, 16)
42235 1615784 : ipack = ipack + 1
42236 1615784 : pack_tmp = packed_data(ipack)
42237 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42238 1615784 : pack_tmp = ISHFT(pack_tmp, -16)
42239 1615784 : idata = idata + 1
42240 1615784 : data_tmp = ISHFT(pack_tmp, 4)
42241 1615784 : ipack = ipack + 1
42242 1615784 : pack_tmp = packed_data(ipack)
42243 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42244 1615784 : pack_tmp = ISHFT(pack_tmp, -4)
42245 1615784 : idata = idata + 1
42246 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42247 1615784 : full_data(idata) = data_tmp
42248 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42249 1615784 : idata = idata + 1
42250 1615784 : data_tmp = ISHFT(pack_tmp, 44)
42251 1615784 : ipack = ipack + 1
42252 1615784 : pack_tmp = packed_data(ipack)
42253 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42254 1615784 : pack_tmp = ISHFT(pack_tmp, -44)
42255 1615784 : idata = idata + 1
42256 1615784 : data_tmp = ISHFT(pack_tmp, 32)
42257 1615784 : ipack = ipack + 1
42258 1615784 : pack_tmp = packed_data(ipack)
42259 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42260 1615784 : pack_tmp = ISHFT(pack_tmp, -32)
42261 1615784 : idata = idata + 1
42262 1615784 : data_tmp = ISHFT(pack_tmp, 20)
42263 1615784 : ipack = ipack + 1
42264 1615784 : pack_tmp = packed_data(ipack)
42265 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42266 1615784 : pack_tmp = ISHFT(pack_tmp, -20)
42267 1615784 : idata = idata + 1
42268 1615784 : data_tmp = ISHFT(pack_tmp, 8)
42269 1615784 : ipack = ipack + 1
42270 1615784 : pack_tmp = packed_data(ipack)
42271 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42272 1615784 : pack_tmp = ISHFT(pack_tmp, -8)
42273 1615784 : idata = idata + 1
42274 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42275 1615784 : full_data(idata) = data_tmp
42276 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42277 1615784 : idata = idata + 1
42278 1615784 : data_tmp = ISHFT(pack_tmp, 48)
42279 1615784 : ipack = ipack + 1
42280 1615784 : pack_tmp = packed_data(ipack)
42281 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42282 1615784 : pack_tmp = ISHFT(pack_tmp, -48)
42283 1615784 : idata = idata + 1
42284 1615784 : data_tmp = ISHFT(pack_tmp, 36)
42285 1615784 : ipack = ipack + 1
42286 1615784 : pack_tmp = packed_data(ipack)
42287 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42288 1615784 : pack_tmp = ISHFT(pack_tmp, -36)
42289 1615784 : idata = idata + 1
42290 1615784 : data_tmp = ISHFT(pack_tmp, 24)
42291 1615784 : ipack = ipack + 1
42292 1615784 : pack_tmp = packed_data(ipack)
42293 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42294 1615784 : pack_tmp = ISHFT(pack_tmp, -24)
42295 1615784 : idata = idata + 1
42296 1615784 : data_tmp = ISHFT(pack_tmp, 12)
42297 1615784 : ipack = ipack + 1
42298 1615784 : pack_tmp = packed_data(ipack)
42299 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42300 1615784 : pack_tmp = ISHFT(pack_tmp, -12)
42301 1615784 : idata = idata + 1
42302 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42303 1615784 : full_data(idata) = data_tmp
42304 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42305 1615784 : idata = idata + 1
42306 1615784 : data_tmp = ISHFT(pack_tmp, 52)
42307 1615784 : ipack = ipack + 1
42308 1615784 : pack_tmp = packed_data(ipack)
42309 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42310 1615784 : pack_tmp = ISHFT(pack_tmp, -52)
42311 1615784 : idata = idata + 1
42312 1615784 : data_tmp = ISHFT(pack_tmp, 40)
42313 1615784 : ipack = ipack + 1
42314 1615784 : pack_tmp = packed_data(ipack)
42315 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42316 1615784 : pack_tmp = ISHFT(pack_tmp, -40)
42317 1615784 : idata = idata + 1
42318 1615784 : data_tmp = ISHFT(pack_tmp, 28)
42319 1615784 : ipack = ipack + 1
42320 1615784 : pack_tmp = packed_data(ipack)
42321 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42322 1615784 : pack_tmp = ISHFT(pack_tmp, -28)
42323 1615784 : idata = idata + 1
42324 1615784 : data_tmp = ISHFT(pack_tmp, 16)
42325 1615784 : ipack = ipack + 1
42326 1615784 : pack_tmp = packed_data(ipack)
42327 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42328 1615784 : pack_tmp = ISHFT(pack_tmp, -16)
42329 1615784 : idata = idata + 1
42330 1615784 : data_tmp = ISHFT(pack_tmp, 4)
42331 1615784 : ipack = ipack + 1
42332 1615784 : pack_tmp = packed_data(ipack)
42333 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42334 1615784 : pack_tmp = ISHFT(pack_tmp, -4)
42335 1615784 : idata = idata + 1
42336 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42337 1615784 : full_data(idata) = data_tmp
42338 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42339 1615784 : idata = idata + 1
42340 1615784 : data_tmp = ISHFT(pack_tmp, 44)
42341 1615784 : ipack = ipack + 1
42342 1615784 : pack_tmp = packed_data(ipack)
42343 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42344 1615784 : pack_tmp = ISHFT(pack_tmp, -44)
42345 1615784 : idata = idata + 1
42346 1615784 : data_tmp = ISHFT(pack_tmp, 32)
42347 1615784 : ipack = ipack + 1
42348 1615784 : pack_tmp = packed_data(ipack)
42349 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42350 1615784 : pack_tmp = ISHFT(pack_tmp, -32)
42351 1615784 : idata = idata + 1
42352 1615784 : data_tmp = ISHFT(pack_tmp, 20)
42353 1615784 : ipack = ipack + 1
42354 1615784 : pack_tmp = packed_data(ipack)
42355 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42356 1615784 : pack_tmp = ISHFT(pack_tmp, -20)
42357 1615784 : idata = idata + 1
42358 1615784 : data_tmp = ISHFT(pack_tmp, 8)
42359 1615784 : ipack = ipack + 1
42360 1615784 : pack_tmp = packed_data(ipack)
42361 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42362 1615784 : pack_tmp = ISHFT(pack_tmp, -8)
42363 1615784 : idata = idata + 1
42364 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42365 1615784 : full_data(idata) = data_tmp
42366 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42367 1615784 : idata = idata + 1
42368 1615784 : data_tmp = ISHFT(pack_tmp, 48)
42369 1615784 : ipack = ipack + 1
42370 1615784 : pack_tmp = packed_data(ipack)
42371 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42372 1615784 : pack_tmp = ISHFT(pack_tmp, -48)
42373 1615784 : idata = idata + 1
42374 1615784 : data_tmp = ISHFT(pack_tmp, 36)
42375 1615784 : ipack = ipack + 1
42376 1615784 : pack_tmp = packed_data(ipack)
42377 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42378 1615784 : pack_tmp = ISHFT(pack_tmp, -36)
42379 1615784 : idata = idata + 1
42380 1615784 : data_tmp = ISHFT(pack_tmp, 24)
42381 1615784 : ipack = ipack + 1
42382 1615784 : pack_tmp = packed_data(ipack)
42383 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42384 1615784 : pack_tmp = ISHFT(pack_tmp, -24)
42385 1615784 : idata = idata + 1
42386 1615784 : data_tmp = ISHFT(pack_tmp, 12)
42387 1615784 : ipack = ipack + 1
42388 1615784 : pack_tmp = packed_data(ipack)
42389 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42390 1615784 : pack_tmp = ISHFT(pack_tmp, -12)
42391 1615784 : idata = idata + 1
42392 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42393 1615784 : full_data(idata) = data_tmp
42394 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42395 1615784 : idata = idata + 1
42396 1615784 : data_tmp = ISHFT(pack_tmp, 52)
42397 1615784 : ipack = ipack + 1
42398 1615784 : pack_tmp = packed_data(ipack)
42399 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
42400 1615784 : pack_tmp = ISHFT(pack_tmp, -52)
42401 1615784 : idata = idata + 1
42402 1615784 : data_tmp = ISHFT(pack_tmp, 40)
42403 1615784 : ipack = ipack + 1
42404 1615784 : pack_tmp = packed_data(ipack)
42405 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
42406 1615784 : pack_tmp = ISHFT(pack_tmp, -40)
42407 1615784 : idata = idata + 1
42408 1615784 : data_tmp = ISHFT(pack_tmp, 28)
42409 1615784 : ipack = ipack + 1
42410 1615784 : pack_tmp = packed_data(ipack)
42411 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
42412 1615784 : pack_tmp = ISHFT(pack_tmp, -28)
42413 1615784 : idata = idata + 1
42414 1615784 : data_tmp = ISHFT(pack_tmp, 16)
42415 1615784 : ipack = ipack + 1
42416 1615784 : pack_tmp = packed_data(ipack)
42417 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
42418 1615784 : pack_tmp = ISHFT(pack_tmp, -16)
42419 1615784 : idata = idata + 1
42420 1615784 : data_tmp = ISHFT(pack_tmp, 4)
42421 1615784 : ipack = ipack + 1
42422 1615784 : pack_tmp = packed_data(ipack)
42423 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
42424 1615784 : pack_tmp = ISHFT(pack_tmp, -4)
42425 1615784 : idata = idata + 1
42426 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42427 1615784 : full_data(idata) = data_tmp
42428 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42429 1615784 : idata = idata + 1
42430 1615784 : data_tmp = ISHFT(pack_tmp, 44)
42431 1615784 : ipack = ipack + 1
42432 1615784 : pack_tmp = packed_data(ipack)
42433 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
42434 1615784 : pack_tmp = ISHFT(pack_tmp, -44)
42435 1615784 : idata = idata + 1
42436 1615784 : data_tmp = ISHFT(pack_tmp, 32)
42437 1615784 : ipack = ipack + 1
42438 1615784 : pack_tmp = packed_data(ipack)
42439 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
42440 1615784 : pack_tmp = ISHFT(pack_tmp, -32)
42441 1615784 : idata = idata + 1
42442 1615784 : data_tmp = ISHFT(pack_tmp, 20)
42443 1615784 : ipack = ipack + 1
42444 1615784 : pack_tmp = packed_data(ipack)
42445 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
42446 1615784 : pack_tmp = ISHFT(pack_tmp, -20)
42447 1615784 : idata = idata + 1
42448 1615784 : data_tmp = ISHFT(pack_tmp, 8)
42449 1615784 : ipack = ipack + 1
42450 1615784 : pack_tmp = packed_data(ipack)
42451 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
42452 1615784 : pack_tmp = ISHFT(pack_tmp, -8)
42453 1615784 : idata = idata + 1
42454 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42455 1615784 : full_data(idata) = data_tmp
42456 1615784 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42457 1615784 : idata = idata + 1
42458 1615784 : data_tmp = ISHFT(pack_tmp, 48)
42459 1615784 : ipack = ipack + 1
42460 1615784 : pack_tmp = packed_data(ipack)
42461 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
42462 1615784 : pack_tmp = ISHFT(pack_tmp, -48)
42463 1615784 : idata = idata + 1
42464 1615784 : data_tmp = ISHFT(pack_tmp, 36)
42465 1615784 : ipack = ipack + 1
42466 1615784 : pack_tmp = packed_data(ipack)
42467 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
42468 1615784 : pack_tmp = ISHFT(pack_tmp, -36)
42469 1615784 : idata = idata + 1
42470 1615784 : data_tmp = ISHFT(pack_tmp, 24)
42471 1615784 : ipack = ipack + 1
42472 1615784 : pack_tmp = packed_data(ipack)
42473 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
42474 1615784 : pack_tmp = ISHFT(pack_tmp, -24)
42475 1615784 : idata = idata + 1
42476 1615784 : data_tmp = ISHFT(pack_tmp, 12)
42477 1615784 : ipack = ipack + 1
42478 1615784 : pack_tmp = packed_data(ipack)
42479 1615784 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
42480 1615784 : pack_tmp = ISHFT(pack_tmp, -12)
42481 1615784 : idata = idata + 1
42482 1615784 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
42483 1615784 : full_data(idata) = data_tmp
42484 1615804 : pack_tmp = ISHFT(pack_tmp, -Nbits)
42485 : END DO
42486 103477 : IF (Ndata_rep < Ndata) THEN
42487 4688 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
42488 : END IF
42489 103477 : END SUBROUTINE bits2ints_52
42490 :
42491 : ! **************************************************************************************************
42492 : !> \brief ...
42493 : !> \param Ndata ...
42494 : !> \param packed_data ...
42495 : !> \param full_data ...
42496 : ! **************************************************************************************************
42497 24932 : 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(*)
42501 :
42502 : INTEGER, PARAMETER :: Nbits = 53
42503 :
42504 : INTEGER :: idata, ipack, kdata, Ndata_rep
42505 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
42506 :
42507 24932 : idata = 0
42508 24932 : ipack = 0
42509 24932 : Ndata_rep = (Ndata/64)*64
42510 24932 : DO kdata = 1, Ndata_rep, 64
42511 394968 : pack_tmp = 0
42512 394968 : idata = idata + 1
42513 394968 : data_tmp = full_data(idata)
42514 394968 : data_tmp = ISHFT(data_tmp, 11)
42515 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42516 394968 : pack_tmp = ISHFT(pack_tmp, -11)
42517 394968 : idata = idata + 1
42518 394968 : data_tmp = full_data(idata)
42519 394968 : data_tmp = ISHFT(data_tmp, 11)
42520 394968 : data_tmp = IAND(data_tmp, mask_left(11))
42521 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42522 394968 : ipack = ipack + 1
42523 394968 : packed_data(ipack) = pack_tmp
42524 394968 : data_tmp = full_data(idata)
42525 394968 : pack_tmp = ISHFT(data_tmp, 22)
42526 394968 : pack_tmp = ISHFT(pack_tmp, -22)
42527 394968 : idata = idata + 1
42528 394968 : data_tmp = full_data(idata)
42529 394968 : data_tmp = ISHFT(data_tmp, 11)
42530 394968 : data_tmp = IAND(data_tmp, mask_left(22))
42531 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42532 394968 : ipack = ipack + 1
42533 394968 : packed_data(ipack) = pack_tmp
42534 394968 : data_tmp = full_data(idata)
42535 394968 : pack_tmp = ISHFT(data_tmp, 33)
42536 394968 : pack_tmp = ISHFT(pack_tmp, -33)
42537 394968 : idata = idata + 1
42538 394968 : data_tmp = full_data(idata)
42539 394968 : data_tmp = ISHFT(data_tmp, 11)
42540 394968 : data_tmp = IAND(data_tmp, mask_left(33))
42541 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42542 394968 : ipack = ipack + 1
42543 394968 : packed_data(ipack) = pack_tmp
42544 394968 : data_tmp = full_data(idata)
42545 394968 : pack_tmp = ISHFT(data_tmp, 44)
42546 394968 : pack_tmp = ISHFT(pack_tmp, -44)
42547 394968 : idata = idata + 1
42548 394968 : data_tmp = full_data(idata)
42549 394968 : data_tmp = ISHFT(data_tmp, 11)
42550 394968 : data_tmp = IAND(data_tmp, mask_left(44))
42551 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42552 394968 : ipack = ipack + 1
42553 394968 : packed_data(ipack) = pack_tmp
42554 394968 : data_tmp = full_data(idata)
42555 394968 : pack_tmp = ISHFT(data_tmp, 55)
42556 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42557 394968 : idata = idata + 1
42558 394968 : data_tmp = full_data(idata)
42559 394968 : data_tmp = ISHFT(data_tmp, 11)
42560 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42561 394968 : pack_tmp = ISHFT(pack_tmp, -2)
42562 394968 : idata = idata + 1
42563 394968 : data_tmp = full_data(idata)
42564 394968 : data_tmp = ISHFT(data_tmp, 11)
42565 394968 : data_tmp = IAND(data_tmp, mask_left(2))
42566 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42567 394968 : ipack = ipack + 1
42568 394968 : packed_data(ipack) = pack_tmp
42569 394968 : data_tmp = full_data(idata)
42570 394968 : pack_tmp = ISHFT(data_tmp, 13)
42571 394968 : pack_tmp = ISHFT(pack_tmp, -13)
42572 394968 : idata = idata + 1
42573 394968 : data_tmp = full_data(idata)
42574 394968 : data_tmp = ISHFT(data_tmp, 11)
42575 394968 : data_tmp = IAND(data_tmp, mask_left(13))
42576 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42577 394968 : ipack = ipack + 1
42578 394968 : packed_data(ipack) = pack_tmp
42579 394968 : data_tmp = full_data(idata)
42580 394968 : pack_tmp = ISHFT(data_tmp, 24)
42581 394968 : pack_tmp = ISHFT(pack_tmp, -24)
42582 394968 : idata = idata + 1
42583 394968 : data_tmp = full_data(idata)
42584 394968 : data_tmp = ISHFT(data_tmp, 11)
42585 394968 : data_tmp = IAND(data_tmp, mask_left(24))
42586 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42587 394968 : ipack = ipack + 1
42588 394968 : packed_data(ipack) = pack_tmp
42589 394968 : data_tmp = full_data(idata)
42590 394968 : pack_tmp = ISHFT(data_tmp, 35)
42591 394968 : pack_tmp = ISHFT(pack_tmp, -35)
42592 394968 : idata = idata + 1
42593 394968 : data_tmp = full_data(idata)
42594 394968 : data_tmp = ISHFT(data_tmp, 11)
42595 394968 : data_tmp = IAND(data_tmp, mask_left(35))
42596 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42597 394968 : ipack = ipack + 1
42598 394968 : packed_data(ipack) = pack_tmp
42599 394968 : data_tmp = full_data(idata)
42600 394968 : pack_tmp = ISHFT(data_tmp, 46)
42601 394968 : pack_tmp = ISHFT(pack_tmp, -46)
42602 394968 : idata = idata + 1
42603 394968 : data_tmp = full_data(idata)
42604 394968 : data_tmp = ISHFT(data_tmp, 11)
42605 394968 : data_tmp = IAND(data_tmp, mask_left(46))
42606 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42607 394968 : ipack = ipack + 1
42608 394968 : packed_data(ipack) = pack_tmp
42609 394968 : data_tmp = full_data(idata)
42610 394968 : pack_tmp = ISHFT(data_tmp, 57)
42611 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42612 394968 : idata = idata + 1
42613 394968 : data_tmp = full_data(idata)
42614 394968 : data_tmp = ISHFT(data_tmp, 11)
42615 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42616 394968 : pack_tmp = ISHFT(pack_tmp, -4)
42617 394968 : idata = idata + 1
42618 394968 : data_tmp = full_data(idata)
42619 394968 : data_tmp = ISHFT(data_tmp, 11)
42620 394968 : data_tmp = IAND(data_tmp, mask_left(4))
42621 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42622 394968 : ipack = ipack + 1
42623 394968 : packed_data(ipack) = pack_tmp
42624 394968 : data_tmp = full_data(idata)
42625 394968 : pack_tmp = ISHFT(data_tmp, 15)
42626 394968 : pack_tmp = ISHFT(pack_tmp, -15)
42627 394968 : idata = idata + 1
42628 394968 : data_tmp = full_data(idata)
42629 394968 : data_tmp = ISHFT(data_tmp, 11)
42630 394968 : data_tmp = IAND(data_tmp, mask_left(15))
42631 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42632 394968 : ipack = ipack + 1
42633 394968 : packed_data(ipack) = pack_tmp
42634 394968 : data_tmp = full_data(idata)
42635 394968 : pack_tmp = ISHFT(data_tmp, 26)
42636 394968 : pack_tmp = ISHFT(pack_tmp, -26)
42637 394968 : idata = idata + 1
42638 394968 : data_tmp = full_data(idata)
42639 394968 : data_tmp = ISHFT(data_tmp, 11)
42640 394968 : data_tmp = IAND(data_tmp, mask_left(26))
42641 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42642 394968 : ipack = ipack + 1
42643 394968 : packed_data(ipack) = pack_tmp
42644 394968 : data_tmp = full_data(idata)
42645 394968 : pack_tmp = ISHFT(data_tmp, 37)
42646 394968 : pack_tmp = ISHFT(pack_tmp, -37)
42647 394968 : idata = idata + 1
42648 394968 : data_tmp = full_data(idata)
42649 394968 : data_tmp = ISHFT(data_tmp, 11)
42650 394968 : data_tmp = IAND(data_tmp, mask_left(37))
42651 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42652 394968 : ipack = ipack + 1
42653 394968 : packed_data(ipack) = pack_tmp
42654 394968 : data_tmp = full_data(idata)
42655 394968 : pack_tmp = ISHFT(data_tmp, 48)
42656 394968 : pack_tmp = ISHFT(pack_tmp, -48)
42657 394968 : idata = idata + 1
42658 394968 : data_tmp = full_data(idata)
42659 394968 : data_tmp = ISHFT(data_tmp, 11)
42660 394968 : data_tmp = IAND(data_tmp, mask_left(48))
42661 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42662 394968 : ipack = ipack + 1
42663 394968 : packed_data(ipack) = pack_tmp
42664 394968 : data_tmp = full_data(idata)
42665 394968 : pack_tmp = ISHFT(data_tmp, 59)
42666 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42667 394968 : idata = idata + 1
42668 394968 : data_tmp = full_data(idata)
42669 394968 : data_tmp = ISHFT(data_tmp, 11)
42670 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42671 394968 : pack_tmp = ISHFT(pack_tmp, -6)
42672 394968 : idata = idata + 1
42673 394968 : data_tmp = full_data(idata)
42674 394968 : data_tmp = ISHFT(data_tmp, 11)
42675 394968 : data_tmp = IAND(data_tmp, mask_left(6))
42676 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42677 394968 : ipack = ipack + 1
42678 394968 : packed_data(ipack) = pack_tmp
42679 394968 : data_tmp = full_data(idata)
42680 394968 : pack_tmp = ISHFT(data_tmp, 17)
42681 394968 : pack_tmp = ISHFT(pack_tmp, -17)
42682 394968 : idata = idata + 1
42683 394968 : data_tmp = full_data(idata)
42684 394968 : data_tmp = ISHFT(data_tmp, 11)
42685 394968 : data_tmp = IAND(data_tmp, mask_left(17))
42686 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42687 394968 : ipack = ipack + 1
42688 394968 : packed_data(ipack) = pack_tmp
42689 394968 : data_tmp = full_data(idata)
42690 394968 : pack_tmp = ISHFT(data_tmp, 28)
42691 394968 : pack_tmp = ISHFT(pack_tmp, -28)
42692 394968 : idata = idata + 1
42693 394968 : data_tmp = full_data(idata)
42694 394968 : data_tmp = ISHFT(data_tmp, 11)
42695 394968 : data_tmp = IAND(data_tmp, mask_left(28))
42696 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42697 394968 : ipack = ipack + 1
42698 394968 : packed_data(ipack) = pack_tmp
42699 394968 : data_tmp = full_data(idata)
42700 394968 : pack_tmp = ISHFT(data_tmp, 39)
42701 394968 : pack_tmp = ISHFT(pack_tmp, -39)
42702 394968 : idata = idata + 1
42703 394968 : data_tmp = full_data(idata)
42704 394968 : data_tmp = ISHFT(data_tmp, 11)
42705 394968 : data_tmp = IAND(data_tmp, mask_left(39))
42706 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42707 394968 : ipack = ipack + 1
42708 394968 : packed_data(ipack) = pack_tmp
42709 394968 : data_tmp = full_data(idata)
42710 394968 : pack_tmp = ISHFT(data_tmp, 50)
42711 394968 : pack_tmp = ISHFT(pack_tmp, -50)
42712 394968 : idata = idata + 1
42713 394968 : data_tmp = full_data(idata)
42714 394968 : data_tmp = ISHFT(data_tmp, 11)
42715 394968 : data_tmp = IAND(data_tmp, mask_left(50))
42716 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42717 394968 : ipack = ipack + 1
42718 394968 : packed_data(ipack) = pack_tmp
42719 394968 : data_tmp = full_data(idata)
42720 394968 : pack_tmp = ISHFT(data_tmp, 61)
42721 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42722 394968 : idata = idata + 1
42723 394968 : data_tmp = full_data(idata)
42724 394968 : data_tmp = ISHFT(data_tmp, 11)
42725 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42726 394968 : pack_tmp = ISHFT(pack_tmp, -8)
42727 394968 : idata = idata + 1
42728 394968 : data_tmp = full_data(idata)
42729 394968 : data_tmp = ISHFT(data_tmp, 11)
42730 394968 : data_tmp = IAND(data_tmp, mask_left(8))
42731 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42732 394968 : ipack = ipack + 1
42733 394968 : packed_data(ipack) = pack_tmp
42734 394968 : data_tmp = full_data(idata)
42735 394968 : pack_tmp = ISHFT(data_tmp, 19)
42736 394968 : pack_tmp = ISHFT(pack_tmp, -19)
42737 394968 : idata = idata + 1
42738 394968 : data_tmp = full_data(idata)
42739 394968 : data_tmp = ISHFT(data_tmp, 11)
42740 394968 : data_tmp = IAND(data_tmp, mask_left(19))
42741 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42742 394968 : ipack = ipack + 1
42743 394968 : packed_data(ipack) = pack_tmp
42744 394968 : data_tmp = full_data(idata)
42745 394968 : pack_tmp = ISHFT(data_tmp, 30)
42746 394968 : pack_tmp = ISHFT(pack_tmp, -30)
42747 394968 : idata = idata + 1
42748 394968 : data_tmp = full_data(idata)
42749 394968 : data_tmp = ISHFT(data_tmp, 11)
42750 394968 : data_tmp = IAND(data_tmp, mask_left(30))
42751 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42752 394968 : ipack = ipack + 1
42753 394968 : packed_data(ipack) = pack_tmp
42754 394968 : data_tmp = full_data(idata)
42755 394968 : pack_tmp = ISHFT(data_tmp, 41)
42756 394968 : pack_tmp = ISHFT(pack_tmp, -41)
42757 394968 : idata = idata + 1
42758 394968 : data_tmp = full_data(idata)
42759 394968 : data_tmp = ISHFT(data_tmp, 11)
42760 394968 : data_tmp = IAND(data_tmp, mask_left(41))
42761 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42762 394968 : ipack = ipack + 1
42763 394968 : packed_data(ipack) = pack_tmp
42764 394968 : data_tmp = full_data(idata)
42765 394968 : pack_tmp = ISHFT(data_tmp, 52)
42766 394968 : pack_tmp = ISHFT(pack_tmp, -52)
42767 394968 : idata = idata + 1
42768 394968 : data_tmp = full_data(idata)
42769 394968 : data_tmp = ISHFT(data_tmp, 11)
42770 394968 : data_tmp = IAND(data_tmp, mask_left(52))
42771 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42772 394968 : ipack = ipack + 1
42773 394968 : packed_data(ipack) = pack_tmp
42774 394968 : data_tmp = full_data(idata)
42775 394968 : pack_tmp = ISHFT(data_tmp, 63)
42776 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42777 394968 : idata = idata + 1
42778 394968 : data_tmp = full_data(idata)
42779 394968 : data_tmp = ISHFT(data_tmp, 11)
42780 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42781 394968 : pack_tmp = ISHFT(pack_tmp, -10)
42782 394968 : idata = idata + 1
42783 394968 : data_tmp = full_data(idata)
42784 394968 : data_tmp = ISHFT(data_tmp, 11)
42785 394968 : data_tmp = IAND(data_tmp, mask_left(10))
42786 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42787 394968 : ipack = ipack + 1
42788 394968 : packed_data(ipack) = pack_tmp
42789 394968 : data_tmp = full_data(idata)
42790 394968 : pack_tmp = ISHFT(data_tmp, 21)
42791 394968 : pack_tmp = ISHFT(pack_tmp, -21)
42792 394968 : idata = idata + 1
42793 394968 : data_tmp = full_data(idata)
42794 394968 : data_tmp = ISHFT(data_tmp, 11)
42795 394968 : data_tmp = IAND(data_tmp, mask_left(21))
42796 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42797 394968 : ipack = ipack + 1
42798 394968 : packed_data(ipack) = pack_tmp
42799 394968 : data_tmp = full_data(idata)
42800 394968 : pack_tmp = ISHFT(data_tmp, 32)
42801 394968 : pack_tmp = ISHFT(pack_tmp, -32)
42802 394968 : idata = idata + 1
42803 394968 : data_tmp = full_data(idata)
42804 394968 : data_tmp = ISHFT(data_tmp, 11)
42805 394968 : data_tmp = IAND(data_tmp, mask_left(32))
42806 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42807 394968 : ipack = ipack + 1
42808 394968 : packed_data(ipack) = pack_tmp
42809 394968 : data_tmp = full_data(idata)
42810 394968 : pack_tmp = ISHFT(data_tmp, 43)
42811 394968 : pack_tmp = ISHFT(pack_tmp, -43)
42812 394968 : idata = idata + 1
42813 394968 : data_tmp = full_data(idata)
42814 394968 : data_tmp = ISHFT(data_tmp, 11)
42815 394968 : data_tmp = IAND(data_tmp, mask_left(43))
42816 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42817 394968 : ipack = ipack + 1
42818 394968 : packed_data(ipack) = pack_tmp
42819 394968 : data_tmp = full_data(idata)
42820 394968 : pack_tmp = ISHFT(data_tmp, 54)
42821 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42822 394968 : idata = idata + 1
42823 394968 : data_tmp = full_data(idata)
42824 394968 : data_tmp = ISHFT(data_tmp, 11)
42825 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42826 394968 : pack_tmp = ISHFT(pack_tmp, -1)
42827 394968 : idata = idata + 1
42828 394968 : data_tmp = full_data(idata)
42829 394968 : data_tmp = ISHFT(data_tmp, 11)
42830 394968 : data_tmp = IAND(data_tmp, mask_left(1))
42831 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42832 394968 : ipack = ipack + 1
42833 394968 : packed_data(ipack) = pack_tmp
42834 394968 : data_tmp = full_data(idata)
42835 394968 : pack_tmp = ISHFT(data_tmp, 12)
42836 394968 : pack_tmp = ISHFT(pack_tmp, -12)
42837 394968 : idata = idata + 1
42838 394968 : data_tmp = full_data(idata)
42839 394968 : data_tmp = ISHFT(data_tmp, 11)
42840 394968 : data_tmp = IAND(data_tmp, mask_left(12))
42841 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42842 394968 : ipack = ipack + 1
42843 394968 : packed_data(ipack) = pack_tmp
42844 394968 : data_tmp = full_data(idata)
42845 394968 : pack_tmp = ISHFT(data_tmp, 23)
42846 394968 : pack_tmp = ISHFT(pack_tmp, -23)
42847 394968 : idata = idata + 1
42848 394968 : data_tmp = full_data(idata)
42849 394968 : data_tmp = ISHFT(data_tmp, 11)
42850 394968 : data_tmp = IAND(data_tmp, mask_left(23))
42851 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42852 394968 : ipack = ipack + 1
42853 394968 : packed_data(ipack) = pack_tmp
42854 394968 : data_tmp = full_data(idata)
42855 394968 : pack_tmp = ISHFT(data_tmp, 34)
42856 394968 : pack_tmp = ISHFT(pack_tmp, -34)
42857 394968 : idata = idata + 1
42858 394968 : data_tmp = full_data(idata)
42859 394968 : data_tmp = ISHFT(data_tmp, 11)
42860 394968 : data_tmp = IAND(data_tmp, mask_left(34))
42861 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42862 394968 : ipack = ipack + 1
42863 394968 : packed_data(ipack) = pack_tmp
42864 394968 : data_tmp = full_data(idata)
42865 394968 : pack_tmp = ISHFT(data_tmp, 45)
42866 394968 : pack_tmp = ISHFT(pack_tmp, -45)
42867 394968 : idata = idata + 1
42868 394968 : data_tmp = full_data(idata)
42869 394968 : data_tmp = ISHFT(data_tmp, 11)
42870 394968 : data_tmp = IAND(data_tmp, mask_left(45))
42871 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42872 394968 : ipack = ipack + 1
42873 394968 : packed_data(ipack) = pack_tmp
42874 394968 : data_tmp = full_data(idata)
42875 394968 : pack_tmp = ISHFT(data_tmp, 56)
42876 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42877 394968 : idata = idata + 1
42878 394968 : data_tmp = full_data(idata)
42879 394968 : data_tmp = ISHFT(data_tmp, 11)
42880 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42881 394968 : pack_tmp = ISHFT(pack_tmp, -3)
42882 394968 : idata = idata + 1
42883 394968 : data_tmp = full_data(idata)
42884 394968 : data_tmp = ISHFT(data_tmp, 11)
42885 394968 : data_tmp = IAND(data_tmp, mask_left(3))
42886 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42887 394968 : ipack = ipack + 1
42888 394968 : packed_data(ipack) = pack_tmp
42889 394968 : data_tmp = full_data(idata)
42890 394968 : pack_tmp = ISHFT(data_tmp, 14)
42891 394968 : pack_tmp = ISHFT(pack_tmp, -14)
42892 394968 : idata = idata + 1
42893 394968 : data_tmp = full_data(idata)
42894 394968 : data_tmp = ISHFT(data_tmp, 11)
42895 394968 : data_tmp = IAND(data_tmp, mask_left(14))
42896 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42897 394968 : ipack = ipack + 1
42898 394968 : packed_data(ipack) = pack_tmp
42899 394968 : data_tmp = full_data(idata)
42900 394968 : pack_tmp = ISHFT(data_tmp, 25)
42901 394968 : pack_tmp = ISHFT(pack_tmp, -25)
42902 394968 : idata = idata + 1
42903 394968 : data_tmp = full_data(idata)
42904 394968 : data_tmp = ISHFT(data_tmp, 11)
42905 394968 : data_tmp = IAND(data_tmp, mask_left(25))
42906 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42907 394968 : ipack = ipack + 1
42908 394968 : packed_data(ipack) = pack_tmp
42909 394968 : data_tmp = full_data(idata)
42910 394968 : pack_tmp = ISHFT(data_tmp, 36)
42911 394968 : pack_tmp = ISHFT(pack_tmp, -36)
42912 394968 : idata = idata + 1
42913 394968 : data_tmp = full_data(idata)
42914 394968 : data_tmp = ISHFT(data_tmp, 11)
42915 394968 : data_tmp = IAND(data_tmp, mask_left(36))
42916 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42917 394968 : ipack = ipack + 1
42918 394968 : packed_data(ipack) = pack_tmp
42919 394968 : data_tmp = full_data(idata)
42920 394968 : pack_tmp = ISHFT(data_tmp, 47)
42921 394968 : pack_tmp = ISHFT(pack_tmp, -47)
42922 394968 : idata = idata + 1
42923 394968 : data_tmp = full_data(idata)
42924 394968 : data_tmp = ISHFT(data_tmp, 11)
42925 394968 : data_tmp = IAND(data_tmp, mask_left(47))
42926 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42927 394968 : ipack = ipack + 1
42928 394968 : packed_data(ipack) = pack_tmp
42929 394968 : data_tmp = full_data(idata)
42930 394968 : pack_tmp = ISHFT(data_tmp, 58)
42931 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42932 394968 : idata = idata + 1
42933 394968 : data_tmp = full_data(idata)
42934 394968 : data_tmp = ISHFT(data_tmp, 11)
42935 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42936 394968 : pack_tmp = ISHFT(pack_tmp, -5)
42937 394968 : idata = idata + 1
42938 394968 : data_tmp = full_data(idata)
42939 394968 : data_tmp = ISHFT(data_tmp, 11)
42940 394968 : data_tmp = IAND(data_tmp, mask_left(5))
42941 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42942 394968 : ipack = ipack + 1
42943 394968 : packed_data(ipack) = pack_tmp
42944 394968 : data_tmp = full_data(idata)
42945 394968 : pack_tmp = ISHFT(data_tmp, 16)
42946 394968 : pack_tmp = ISHFT(pack_tmp, -16)
42947 394968 : idata = idata + 1
42948 394968 : data_tmp = full_data(idata)
42949 394968 : data_tmp = ISHFT(data_tmp, 11)
42950 394968 : data_tmp = IAND(data_tmp, mask_left(16))
42951 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42952 394968 : ipack = ipack + 1
42953 394968 : packed_data(ipack) = pack_tmp
42954 394968 : data_tmp = full_data(idata)
42955 394968 : pack_tmp = ISHFT(data_tmp, 27)
42956 394968 : pack_tmp = ISHFT(pack_tmp, -27)
42957 394968 : idata = idata + 1
42958 394968 : data_tmp = full_data(idata)
42959 394968 : data_tmp = ISHFT(data_tmp, 11)
42960 394968 : data_tmp = IAND(data_tmp, mask_left(27))
42961 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42962 394968 : ipack = ipack + 1
42963 394968 : packed_data(ipack) = pack_tmp
42964 394968 : data_tmp = full_data(idata)
42965 394968 : pack_tmp = ISHFT(data_tmp, 38)
42966 394968 : pack_tmp = ISHFT(pack_tmp, -38)
42967 394968 : idata = idata + 1
42968 394968 : data_tmp = full_data(idata)
42969 394968 : data_tmp = ISHFT(data_tmp, 11)
42970 394968 : data_tmp = IAND(data_tmp, mask_left(38))
42971 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42972 394968 : ipack = ipack + 1
42973 394968 : packed_data(ipack) = pack_tmp
42974 394968 : data_tmp = full_data(idata)
42975 394968 : pack_tmp = ISHFT(data_tmp, 49)
42976 394968 : pack_tmp = ISHFT(pack_tmp, -49)
42977 394968 : idata = idata + 1
42978 394968 : data_tmp = full_data(idata)
42979 394968 : data_tmp = ISHFT(data_tmp, 11)
42980 394968 : data_tmp = IAND(data_tmp, mask_left(49))
42981 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42982 394968 : ipack = ipack + 1
42983 394968 : packed_data(ipack) = pack_tmp
42984 394968 : data_tmp = full_data(idata)
42985 394968 : pack_tmp = ISHFT(data_tmp, 60)
42986 394968 : pack_tmp = ISHFT(pack_tmp, -53)
42987 394968 : idata = idata + 1
42988 394968 : data_tmp = full_data(idata)
42989 394968 : data_tmp = ISHFT(data_tmp, 11)
42990 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42991 394968 : pack_tmp = ISHFT(pack_tmp, -7)
42992 394968 : idata = idata + 1
42993 394968 : data_tmp = full_data(idata)
42994 394968 : data_tmp = ISHFT(data_tmp, 11)
42995 394968 : data_tmp = IAND(data_tmp, mask_left(7))
42996 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
42997 394968 : ipack = ipack + 1
42998 394968 : packed_data(ipack) = pack_tmp
42999 394968 : data_tmp = full_data(idata)
43000 394968 : pack_tmp = ISHFT(data_tmp, 18)
43001 394968 : pack_tmp = ISHFT(pack_tmp, -18)
43002 394968 : idata = idata + 1
43003 394968 : data_tmp = full_data(idata)
43004 394968 : data_tmp = ISHFT(data_tmp, 11)
43005 394968 : data_tmp = IAND(data_tmp, mask_left(18))
43006 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43007 394968 : ipack = ipack + 1
43008 394968 : packed_data(ipack) = pack_tmp
43009 394968 : data_tmp = full_data(idata)
43010 394968 : pack_tmp = ISHFT(data_tmp, 29)
43011 394968 : pack_tmp = ISHFT(pack_tmp, -29)
43012 394968 : idata = idata + 1
43013 394968 : data_tmp = full_data(idata)
43014 394968 : data_tmp = ISHFT(data_tmp, 11)
43015 394968 : data_tmp = IAND(data_tmp, mask_left(29))
43016 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43017 394968 : ipack = ipack + 1
43018 394968 : packed_data(ipack) = pack_tmp
43019 394968 : data_tmp = full_data(idata)
43020 394968 : pack_tmp = ISHFT(data_tmp, 40)
43021 394968 : pack_tmp = ISHFT(pack_tmp, -40)
43022 394968 : idata = idata + 1
43023 394968 : data_tmp = full_data(idata)
43024 394968 : data_tmp = ISHFT(data_tmp, 11)
43025 394968 : data_tmp = IAND(data_tmp, mask_left(40))
43026 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43027 394968 : ipack = ipack + 1
43028 394968 : packed_data(ipack) = pack_tmp
43029 394968 : data_tmp = full_data(idata)
43030 394968 : pack_tmp = ISHFT(data_tmp, 51)
43031 394968 : pack_tmp = ISHFT(pack_tmp, -51)
43032 394968 : idata = idata + 1
43033 394968 : data_tmp = full_data(idata)
43034 394968 : data_tmp = ISHFT(data_tmp, 11)
43035 394968 : data_tmp = IAND(data_tmp, mask_left(51))
43036 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43037 394968 : ipack = ipack + 1
43038 394968 : packed_data(ipack) = pack_tmp
43039 394968 : data_tmp = full_data(idata)
43040 394968 : pack_tmp = ISHFT(data_tmp, 62)
43041 394968 : pack_tmp = ISHFT(pack_tmp, -53)
43042 394968 : idata = idata + 1
43043 394968 : data_tmp = full_data(idata)
43044 394968 : data_tmp = ISHFT(data_tmp, 11)
43045 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43046 394968 : pack_tmp = ISHFT(pack_tmp, -9)
43047 394968 : idata = idata + 1
43048 394968 : data_tmp = full_data(idata)
43049 394968 : data_tmp = ISHFT(data_tmp, 11)
43050 394968 : data_tmp = IAND(data_tmp, mask_left(9))
43051 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43052 394968 : ipack = ipack + 1
43053 394968 : packed_data(ipack) = pack_tmp
43054 394968 : data_tmp = full_data(idata)
43055 394968 : pack_tmp = ISHFT(data_tmp, 20)
43056 394968 : pack_tmp = ISHFT(pack_tmp, -20)
43057 394968 : idata = idata + 1
43058 394968 : data_tmp = full_data(idata)
43059 394968 : data_tmp = ISHFT(data_tmp, 11)
43060 394968 : data_tmp = IAND(data_tmp, mask_left(20))
43061 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43062 394968 : ipack = ipack + 1
43063 394968 : packed_data(ipack) = pack_tmp
43064 394968 : data_tmp = full_data(idata)
43065 394968 : pack_tmp = ISHFT(data_tmp, 31)
43066 394968 : pack_tmp = ISHFT(pack_tmp, -31)
43067 394968 : idata = idata + 1
43068 394968 : data_tmp = full_data(idata)
43069 394968 : data_tmp = ISHFT(data_tmp, 11)
43070 394968 : data_tmp = IAND(data_tmp, mask_left(31))
43071 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43072 394968 : ipack = ipack + 1
43073 394968 : packed_data(ipack) = pack_tmp
43074 394968 : data_tmp = full_data(idata)
43075 394968 : pack_tmp = ISHFT(data_tmp, 42)
43076 394968 : pack_tmp = ISHFT(pack_tmp, -42)
43077 394968 : idata = idata + 1
43078 394968 : data_tmp = full_data(idata)
43079 394968 : data_tmp = ISHFT(data_tmp, 11)
43080 394968 : data_tmp = IAND(data_tmp, mask_left(42))
43081 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43082 394968 : ipack = ipack + 1
43083 394968 : packed_data(ipack) = pack_tmp
43084 394968 : data_tmp = full_data(idata)
43085 394968 : pack_tmp = ISHFT(data_tmp, 53)
43086 394968 : pack_tmp = ISHFT(pack_tmp, -53)
43087 394968 : idata = idata + 1
43088 394968 : data_tmp = full_data(idata)
43089 394968 : data_tmp = ISHFT(data_tmp, 11)
43090 394968 : pack_tmp = IOR(pack_tmp, data_tmp)
43091 : pack_tmp = ISHFT(pack_tmp, 0)
43092 394968 : pack_tmp = ISHFT(pack_tmp, 0)
43093 394968 : ipack = ipack + 1
43094 394988 : packed_data(ipack) = pack_tmp
43095 : END DO
43096 24932 : IF (Ndata_rep < Ndata) THEN
43097 464 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
43098 : END IF
43099 24932 : END SUBROUTINE ints2bits_53
43100 :
43101 : ! **************************************************************************************************
43102 : !> \brief ...
43103 : !> \param Ndata ...
43104 : !> \param packed_data ...
43105 : !> \param full_data ...
43106 : ! **************************************************************************************************
43107 111123 : 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(*)
43111 :
43112 : INTEGER, PARAMETER :: Nbits = 53
43113 :
43114 : INTEGER :: idata, ipack, kdata, Ndata_rep
43115 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
43116 :
43117 111123 : ipack = 0
43118 111123 : idata = 0
43119 111123 : pack_tmp = 0
43120 111123 : Ndata_rep = (Ndata/64)*64
43121 111123 : DO kdata = 1, Ndata_rep, 64
43122 1679980 : idata = idata + 1
43123 1679980 : data_tmp = ISHFT(pack_tmp, 53)
43124 1679980 : ipack = ipack + 1
43125 1679980 : pack_tmp = packed_data(ipack)
43126 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
43127 1679980 : pack_tmp = ISHFT(pack_tmp, -53)
43128 1679980 : idata = idata + 1
43129 1679980 : data_tmp = ISHFT(pack_tmp, 42)
43130 1679980 : ipack = ipack + 1
43131 1679980 : pack_tmp = packed_data(ipack)
43132 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
43133 1679980 : pack_tmp = ISHFT(pack_tmp, -42)
43134 1679980 : idata = idata + 1
43135 1679980 : data_tmp = ISHFT(pack_tmp, 31)
43136 1679980 : ipack = ipack + 1
43137 1679980 : pack_tmp = packed_data(ipack)
43138 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
43139 1679980 : pack_tmp = ISHFT(pack_tmp, -31)
43140 1679980 : idata = idata + 1
43141 1679980 : data_tmp = ISHFT(pack_tmp, 20)
43142 1679980 : ipack = ipack + 1
43143 1679980 : pack_tmp = packed_data(ipack)
43144 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
43145 1679980 : pack_tmp = ISHFT(pack_tmp, -20)
43146 1679980 : idata = idata + 1
43147 1679980 : data_tmp = ISHFT(pack_tmp, 9)
43148 1679980 : ipack = ipack + 1
43149 1679980 : pack_tmp = packed_data(ipack)
43150 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
43151 1679980 : pack_tmp = ISHFT(pack_tmp, -9)
43152 1679980 : idata = idata + 1
43153 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43154 1679980 : full_data(idata) = data_tmp
43155 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43156 1679980 : idata = idata + 1
43157 1679980 : data_tmp = ISHFT(pack_tmp, 51)
43158 1679980 : ipack = ipack + 1
43159 1679980 : pack_tmp = packed_data(ipack)
43160 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
43161 1679980 : pack_tmp = ISHFT(pack_tmp, -51)
43162 1679980 : idata = idata + 1
43163 1679980 : data_tmp = ISHFT(pack_tmp, 40)
43164 1679980 : ipack = ipack + 1
43165 1679980 : pack_tmp = packed_data(ipack)
43166 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
43167 1679980 : pack_tmp = ISHFT(pack_tmp, -40)
43168 1679980 : idata = idata + 1
43169 1679980 : data_tmp = ISHFT(pack_tmp, 29)
43170 1679980 : ipack = ipack + 1
43171 1679980 : pack_tmp = packed_data(ipack)
43172 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
43173 1679980 : pack_tmp = ISHFT(pack_tmp, -29)
43174 1679980 : idata = idata + 1
43175 1679980 : data_tmp = ISHFT(pack_tmp, 18)
43176 1679980 : ipack = ipack + 1
43177 1679980 : pack_tmp = packed_data(ipack)
43178 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
43179 1679980 : pack_tmp = ISHFT(pack_tmp, -18)
43180 1679980 : idata = idata + 1
43181 1679980 : data_tmp = ISHFT(pack_tmp, 7)
43182 1679980 : ipack = ipack + 1
43183 1679980 : pack_tmp = packed_data(ipack)
43184 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
43185 1679980 : pack_tmp = ISHFT(pack_tmp, -7)
43186 1679980 : idata = idata + 1
43187 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43188 1679980 : full_data(idata) = data_tmp
43189 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43190 1679980 : idata = idata + 1
43191 1679980 : data_tmp = ISHFT(pack_tmp, 49)
43192 1679980 : ipack = ipack + 1
43193 1679980 : pack_tmp = packed_data(ipack)
43194 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
43195 1679980 : pack_tmp = ISHFT(pack_tmp, -49)
43196 1679980 : idata = idata + 1
43197 1679980 : data_tmp = ISHFT(pack_tmp, 38)
43198 1679980 : ipack = ipack + 1
43199 1679980 : pack_tmp = packed_data(ipack)
43200 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
43201 1679980 : pack_tmp = ISHFT(pack_tmp, -38)
43202 1679980 : idata = idata + 1
43203 1679980 : data_tmp = ISHFT(pack_tmp, 27)
43204 1679980 : ipack = ipack + 1
43205 1679980 : pack_tmp = packed_data(ipack)
43206 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
43207 1679980 : pack_tmp = ISHFT(pack_tmp, -27)
43208 1679980 : idata = idata + 1
43209 1679980 : data_tmp = ISHFT(pack_tmp, 16)
43210 1679980 : ipack = ipack + 1
43211 1679980 : pack_tmp = packed_data(ipack)
43212 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
43213 1679980 : pack_tmp = ISHFT(pack_tmp, -16)
43214 1679980 : idata = idata + 1
43215 1679980 : data_tmp = ISHFT(pack_tmp, 5)
43216 1679980 : ipack = ipack + 1
43217 1679980 : pack_tmp = packed_data(ipack)
43218 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
43219 1679980 : pack_tmp = ISHFT(pack_tmp, -5)
43220 1679980 : idata = idata + 1
43221 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43222 1679980 : full_data(idata) = data_tmp
43223 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43224 1679980 : idata = idata + 1
43225 1679980 : data_tmp = ISHFT(pack_tmp, 47)
43226 1679980 : ipack = ipack + 1
43227 1679980 : pack_tmp = packed_data(ipack)
43228 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
43229 1679980 : pack_tmp = ISHFT(pack_tmp, -47)
43230 1679980 : idata = idata + 1
43231 1679980 : data_tmp = ISHFT(pack_tmp, 36)
43232 1679980 : ipack = ipack + 1
43233 1679980 : pack_tmp = packed_data(ipack)
43234 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
43235 1679980 : pack_tmp = ISHFT(pack_tmp, -36)
43236 1679980 : idata = idata + 1
43237 1679980 : data_tmp = ISHFT(pack_tmp, 25)
43238 1679980 : ipack = ipack + 1
43239 1679980 : pack_tmp = packed_data(ipack)
43240 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
43241 1679980 : pack_tmp = ISHFT(pack_tmp, -25)
43242 1679980 : idata = idata + 1
43243 1679980 : data_tmp = ISHFT(pack_tmp, 14)
43244 1679980 : ipack = ipack + 1
43245 1679980 : pack_tmp = packed_data(ipack)
43246 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
43247 1679980 : pack_tmp = ISHFT(pack_tmp, -14)
43248 1679980 : idata = idata + 1
43249 1679980 : data_tmp = ISHFT(pack_tmp, 3)
43250 1679980 : ipack = ipack + 1
43251 1679980 : pack_tmp = packed_data(ipack)
43252 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
43253 1679980 : pack_tmp = ISHFT(pack_tmp, -3)
43254 1679980 : idata = idata + 1
43255 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43256 1679980 : full_data(idata) = data_tmp
43257 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43258 1679980 : idata = idata + 1
43259 1679980 : data_tmp = ISHFT(pack_tmp, 45)
43260 1679980 : ipack = ipack + 1
43261 1679980 : pack_tmp = packed_data(ipack)
43262 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
43263 1679980 : pack_tmp = ISHFT(pack_tmp, -45)
43264 1679980 : idata = idata + 1
43265 1679980 : data_tmp = ISHFT(pack_tmp, 34)
43266 1679980 : ipack = ipack + 1
43267 1679980 : pack_tmp = packed_data(ipack)
43268 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
43269 1679980 : pack_tmp = ISHFT(pack_tmp, -34)
43270 1679980 : idata = idata + 1
43271 1679980 : data_tmp = ISHFT(pack_tmp, 23)
43272 1679980 : ipack = ipack + 1
43273 1679980 : pack_tmp = packed_data(ipack)
43274 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
43275 1679980 : pack_tmp = ISHFT(pack_tmp, -23)
43276 1679980 : idata = idata + 1
43277 1679980 : data_tmp = ISHFT(pack_tmp, 12)
43278 1679980 : ipack = ipack + 1
43279 1679980 : pack_tmp = packed_data(ipack)
43280 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
43281 1679980 : pack_tmp = ISHFT(pack_tmp, -12)
43282 1679980 : idata = idata + 1
43283 1679980 : data_tmp = ISHFT(pack_tmp, 1)
43284 1679980 : ipack = ipack + 1
43285 1679980 : pack_tmp = packed_data(ipack)
43286 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
43287 1679980 : pack_tmp = ISHFT(pack_tmp, -1)
43288 1679980 : idata = idata + 1
43289 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43290 1679980 : full_data(idata) = data_tmp
43291 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43292 1679980 : idata = idata + 1
43293 1679980 : data_tmp = ISHFT(pack_tmp, 43)
43294 1679980 : ipack = ipack + 1
43295 1679980 : pack_tmp = packed_data(ipack)
43296 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
43297 1679980 : pack_tmp = ISHFT(pack_tmp, -43)
43298 1679980 : idata = idata + 1
43299 1679980 : data_tmp = ISHFT(pack_tmp, 32)
43300 1679980 : ipack = ipack + 1
43301 1679980 : pack_tmp = packed_data(ipack)
43302 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
43303 1679980 : pack_tmp = ISHFT(pack_tmp, -32)
43304 1679980 : idata = idata + 1
43305 1679980 : data_tmp = ISHFT(pack_tmp, 21)
43306 1679980 : ipack = ipack + 1
43307 1679980 : pack_tmp = packed_data(ipack)
43308 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
43309 1679980 : pack_tmp = ISHFT(pack_tmp, -21)
43310 1679980 : idata = idata + 1
43311 1679980 : data_tmp = ISHFT(pack_tmp, 10)
43312 1679980 : ipack = ipack + 1
43313 1679980 : pack_tmp = packed_data(ipack)
43314 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
43315 1679980 : pack_tmp = ISHFT(pack_tmp, -10)
43316 1679980 : idata = idata + 1
43317 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43318 1679980 : full_data(idata) = data_tmp
43319 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43320 1679980 : idata = idata + 1
43321 1679980 : data_tmp = ISHFT(pack_tmp, 52)
43322 1679980 : ipack = ipack + 1
43323 1679980 : pack_tmp = packed_data(ipack)
43324 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
43325 1679980 : pack_tmp = ISHFT(pack_tmp, -52)
43326 1679980 : idata = idata + 1
43327 1679980 : data_tmp = ISHFT(pack_tmp, 41)
43328 1679980 : ipack = ipack + 1
43329 1679980 : pack_tmp = packed_data(ipack)
43330 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
43331 1679980 : pack_tmp = ISHFT(pack_tmp, -41)
43332 1679980 : idata = idata + 1
43333 1679980 : data_tmp = ISHFT(pack_tmp, 30)
43334 1679980 : ipack = ipack + 1
43335 1679980 : pack_tmp = packed_data(ipack)
43336 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
43337 1679980 : pack_tmp = ISHFT(pack_tmp, -30)
43338 1679980 : idata = idata + 1
43339 1679980 : data_tmp = ISHFT(pack_tmp, 19)
43340 1679980 : ipack = ipack + 1
43341 1679980 : pack_tmp = packed_data(ipack)
43342 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
43343 1679980 : pack_tmp = ISHFT(pack_tmp, -19)
43344 1679980 : idata = idata + 1
43345 1679980 : data_tmp = ISHFT(pack_tmp, 8)
43346 1679980 : ipack = ipack + 1
43347 1679980 : pack_tmp = packed_data(ipack)
43348 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
43349 1679980 : pack_tmp = ISHFT(pack_tmp, -8)
43350 1679980 : idata = idata + 1
43351 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43352 1679980 : full_data(idata) = data_tmp
43353 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43354 1679980 : idata = idata + 1
43355 1679980 : data_tmp = ISHFT(pack_tmp, 50)
43356 1679980 : ipack = ipack + 1
43357 1679980 : pack_tmp = packed_data(ipack)
43358 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
43359 1679980 : pack_tmp = ISHFT(pack_tmp, -50)
43360 1679980 : idata = idata + 1
43361 1679980 : data_tmp = ISHFT(pack_tmp, 39)
43362 1679980 : ipack = ipack + 1
43363 1679980 : pack_tmp = packed_data(ipack)
43364 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
43365 1679980 : pack_tmp = ISHFT(pack_tmp, -39)
43366 1679980 : idata = idata + 1
43367 1679980 : data_tmp = ISHFT(pack_tmp, 28)
43368 1679980 : ipack = ipack + 1
43369 1679980 : pack_tmp = packed_data(ipack)
43370 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
43371 1679980 : pack_tmp = ISHFT(pack_tmp, -28)
43372 1679980 : idata = idata + 1
43373 1679980 : data_tmp = ISHFT(pack_tmp, 17)
43374 1679980 : ipack = ipack + 1
43375 1679980 : pack_tmp = packed_data(ipack)
43376 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
43377 1679980 : pack_tmp = ISHFT(pack_tmp, -17)
43378 1679980 : idata = idata + 1
43379 1679980 : data_tmp = ISHFT(pack_tmp, 6)
43380 1679980 : ipack = ipack + 1
43381 1679980 : pack_tmp = packed_data(ipack)
43382 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
43383 1679980 : pack_tmp = ISHFT(pack_tmp, -6)
43384 1679980 : idata = idata + 1
43385 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43386 1679980 : full_data(idata) = data_tmp
43387 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43388 1679980 : idata = idata + 1
43389 1679980 : data_tmp = ISHFT(pack_tmp, 48)
43390 1679980 : ipack = ipack + 1
43391 1679980 : pack_tmp = packed_data(ipack)
43392 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
43393 1679980 : pack_tmp = ISHFT(pack_tmp, -48)
43394 1679980 : idata = idata + 1
43395 1679980 : data_tmp = ISHFT(pack_tmp, 37)
43396 1679980 : ipack = ipack + 1
43397 1679980 : pack_tmp = packed_data(ipack)
43398 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
43399 1679980 : pack_tmp = ISHFT(pack_tmp, -37)
43400 1679980 : idata = idata + 1
43401 1679980 : data_tmp = ISHFT(pack_tmp, 26)
43402 1679980 : ipack = ipack + 1
43403 1679980 : pack_tmp = packed_data(ipack)
43404 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
43405 1679980 : pack_tmp = ISHFT(pack_tmp, -26)
43406 1679980 : idata = idata + 1
43407 1679980 : data_tmp = ISHFT(pack_tmp, 15)
43408 1679980 : ipack = ipack + 1
43409 1679980 : pack_tmp = packed_data(ipack)
43410 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
43411 1679980 : pack_tmp = ISHFT(pack_tmp, -15)
43412 1679980 : idata = idata + 1
43413 1679980 : data_tmp = ISHFT(pack_tmp, 4)
43414 1679980 : ipack = ipack + 1
43415 1679980 : pack_tmp = packed_data(ipack)
43416 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
43417 1679980 : pack_tmp = ISHFT(pack_tmp, -4)
43418 1679980 : idata = idata + 1
43419 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43420 1679980 : full_data(idata) = data_tmp
43421 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43422 1679980 : idata = idata + 1
43423 1679980 : data_tmp = ISHFT(pack_tmp, 46)
43424 1679980 : ipack = ipack + 1
43425 1679980 : pack_tmp = packed_data(ipack)
43426 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
43427 1679980 : pack_tmp = ISHFT(pack_tmp, -46)
43428 1679980 : idata = idata + 1
43429 1679980 : data_tmp = ISHFT(pack_tmp, 35)
43430 1679980 : ipack = ipack + 1
43431 1679980 : pack_tmp = packed_data(ipack)
43432 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
43433 1679980 : pack_tmp = ISHFT(pack_tmp, -35)
43434 1679980 : idata = idata + 1
43435 1679980 : data_tmp = ISHFT(pack_tmp, 24)
43436 1679980 : ipack = ipack + 1
43437 1679980 : pack_tmp = packed_data(ipack)
43438 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
43439 1679980 : pack_tmp = ISHFT(pack_tmp, -24)
43440 1679980 : idata = idata + 1
43441 1679980 : data_tmp = ISHFT(pack_tmp, 13)
43442 1679980 : ipack = ipack + 1
43443 1679980 : pack_tmp = packed_data(ipack)
43444 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
43445 1679980 : pack_tmp = ISHFT(pack_tmp, -13)
43446 1679980 : idata = idata + 1
43447 1679980 : data_tmp = ISHFT(pack_tmp, 2)
43448 1679980 : ipack = ipack + 1
43449 1679980 : pack_tmp = packed_data(ipack)
43450 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
43451 1679980 : pack_tmp = ISHFT(pack_tmp, -2)
43452 1679980 : idata = idata + 1
43453 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43454 1679980 : full_data(idata) = data_tmp
43455 1679980 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43456 1679980 : idata = idata + 1
43457 1679980 : data_tmp = ISHFT(pack_tmp, 44)
43458 1679980 : ipack = ipack + 1
43459 1679980 : pack_tmp = packed_data(ipack)
43460 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
43461 1679980 : pack_tmp = ISHFT(pack_tmp, -44)
43462 1679980 : idata = idata + 1
43463 1679980 : data_tmp = ISHFT(pack_tmp, 33)
43464 1679980 : ipack = ipack + 1
43465 1679980 : pack_tmp = packed_data(ipack)
43466 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
43467 1679980 : pack_tmp = ISHFT(pack_tmp, -33)
43468 1679980 : idata = idata + 1
43469 1679980 : data_tmp = ISHFT(pack_tmp, 22)
43470 1679980 : ipack = ipack + 1
43471 1679980 : pack_tmp = packed_data(ipack)
43472 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
43473 1679980 : pack_tmp = ISHFT(pack_tmp, -22)
43474 1679980 : idata = idata + 1
43475 1679980 : data_tmp = ISHFT(pack_tmp, 11)
43476 1679980 : ipack = ipack + 1
43477 1679980 : pack_tmp = packed_data(ipack)
43478 1679980 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
43479 1679980 : pack_tmp = ISHFT(pack_tmp, -11)
43480 1679980 : idata = idata + 1
43481 1679980 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
43482 1679980 : full_data(idata) = data_tmp
43483 1680370 : pack_tmp = ISHFT(pack_tmp, -Nbits)
43484 : END DO
43485 111123 : IF (Ndata_rep < Ndata) THEN
43486 11528 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
43487 : END IF
43488 111123 : END SUBROUTINE bits2ints_53
43489 :
43490 : ! **************************************************************************************************
43491 : !> \brief ...
43492 : !> \param Ndata ...
43493 : !> \param packed_data ...
43494 : !> \param full_data ...
43495 : ! **************************************************************************************************
43496 24810 : 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(*)
43500 :
43501 : INTEGER, PARAMETER :: Nbits = 54
43502 :
43503 : INTEGER :: idata, ipack, kdata, Ndata_rep
43504 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
43505 :
43506 24810 : idata = 0
43507 24810 : ipack = 0
43508 24810 : Ndata_rep = (Ndata/64)*64
43509 24810 : DO kdata = 1, Ndata_rep, 64
43510 393934 : pack_tmp = 0
43511 393934 : idata = idata + 1
43512 393934 : data_tmp = full_data(idata)
43513 393934 : data_tmp = ISHFT(data_tmp, 10)
43514 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43515 393934 : pack_tmp = ISHFT(pack_tmp, -10)
43516 393934 : idata = idata + 1
43517 393934 : data_tmp = full_data(idata)
43518 393934 : data_tmp = ISHFT(data_tmp, 10)
43519 393934 : data_tmp = IAND(data_tmp, mask_left(10))
43520 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43521 393934 : ipack = ipack + 1
43522 393934 : packed_data(ipack) = pack_tmp
43523 393934 : data_tmp = full_data(idata)
43524 393934 : pack_tmp = ISHFT(data_tmp, 20)
43525 393934 : pack_tmp = ISHFT(pack_tmp, -20)
43526 393934 : idata = idata + 1
43527 393934 : data_tmp = full_data(idata)
43528 393934 : data_tmp = ISHFT(data_tmp, 10)
43529 393934 : data_tmp = IAND(data_tmp, mask_left(20))
43530 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43531 393934 : ipack = ipack + 1
43532 393934 : packed_data(ipack) = pack_tmp
43533 393934 : data_tmp = full_data(idata)
43534 393934 : pack_tmp = ISHFT(data_tmp, 30)
43535 393934 : pack_tmp = ISHFT(pack_tmp, -30)
43536 393934 : idata = idata + 1
43537 393934 : data_tmp = full_data(idata)
43538 393934 : data_tmp = ISHFT(data_tmp, 10)
43539 393934 : data_tmp = IAND(data_tmp, mask_left(30))
43540 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43541 393934 : ipack = ipack + 1
43542 393934 : packed_data(ipack) = pack_tmp
43543 393934 : data_tmp = full_data(idata)
43544 393934 : pack_tmp = ISHFT(data_tmp, 40)
43545 393934 : pack_tmp = ISHFT(pack_tmp, -40)
43546 393934 : idata = idata + 1
43547 393934 : data_tmp = full_data(idata)
43548 393934 : data_tmp = ISHFT(data_tmp, 10)
43549 393934 : data_tmp = IAND(data_tmp, mask_left(40))
43550 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43551 393934 : ipack = ipack + 1
43552 393934 : packed_data(ipack) = pack_tmp
43553 393934 : data_tmp = full_data(idata)
43554 393934 : pack_tmp = ISHFT(data_tmp, 50)
43555 393934 : pack_tmp = ISHFT(pack_tmp, -50)
43556 393934 : idata = idata + 1
43557 393934 : data_tmp = full_data(idata)
43558 393934 : data_tmp = ISHFT(data_tmp, 10)
43559 393934 : data_tmp = IAND(data_tmp, mask_left(50))
43560 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43561 393934 : ipack = ipack + 1
43562 393934 : packed_data(ipack) = pack_tmp
43563 393934 : data_tmp = full_data(idata)
43564 393934 : pack_tmp = ISHFT(data_tmp, 60)
43565 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43566 393934 : idata = idata + 1
43567 393934 : data_tmp = full_data(idata)
43568 393934 : data_tmp = ISHFT(data_tmp, 10)
43569 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43570 393934 : pack_tmp = ISHFT(pack_tmp, -6)
43571 393934 : idata = idata + 1
43572 393934 : data_tmp = full_data(idata)
43573 393934 : data_tmp = ISHFT(data_tmp, 10)
43574 393934 : data_tmp = IAND(data_tmp, mask_left(6))
43575 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43576 393934 : ipack = ipack + 1
43577 393934 : packed_data(ipack) = pack_tmp
43578 393934 : data_tmp = full_data(idata)
43579 393934 : pack_tmp = ISHFT(data_tmp, 16)
43580 393934 : pack_tmp = ISHFT(pack_tmp, -16)
43581 393934 : idata = idata + 1
43582 393934 : data_tmp = full_data(idata)
43583 393934 : data_tmp = ISHFT(data_tmp, 10)
43584 393934 : data_tmp = IAND(data_tmp, mask_left(16))
43585 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43586 393934 : ipack = ipack + 1
43587 393934 : packed_data(ipack) = pack_tmp
43588 393934 : data_tmp = full_data(idata)
43589 393934 : pack_tmp = ISHFT(data_tmp, 26)
43590 393934 : pack_tmp = ISHFT(pack_tmp, -26)
43591 393934 : idata = idata + 1
43592 393934 : data_tmp = full_data(idata)
43593 393934 : data_tmp = ISHFT(data_tmp, 10)
43594 393934 : data_tmp = IAND(data_tmp, mask_left(26))
43595 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43596 393934 : ipack = ipack + 1
43597 393934 : packed_data(ipack) = pack_tmp
43598 393934 : data_tmp = full_data(idata)
43599 393934 : pack_tmp = ISHFT(data_tmp, 36)
43600 393934 : pack_tmp = ISHFT(pack_tmp, -36)
43601 393934 : idata = idata + 1
43602 393934 : data_tmp = full_data(idata)
43603 393934 : data_tmp = ISHFT(data_tmp, 10)
43604 393934 : data_tmp = IAND(data_tmp, mask_left(36))
43605 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43606 393934 : ipack = ipack + 1
43607 393934 : packed_data(ipack) = pack_tmp
43608 393934 : data_tmp = full_data(idata)
43609 393934 : pack_tmp = ISHFT(data_tmp, 46)
43610 393934 : pack_tmp = ISHFT(pack_tmp, -46)
43611 393934 : idata = idata + 1
43612 393934 : data_tmp = full_data(idata)
43613 393934 : data_tmp = ISHFT(data_tmp, 10)
43614 393934 : data_tmp = IAND(data_tmp, mask_left(46))
43615 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43616 393934 : ipack = ipack + 1
43617 393934 : packed_data(ipack) = pack_tmp
43618 393934 : data_tmp = full_data(idata)
43619 393934 : pack_tmp = ISHFT(data_tmp, 56)
43620 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43621 393934 : idata = idata + 1
43622 393934 : data_tmp = full_data(idata)
43623 393934 : data_tmp = ISHFT(data_tmp, 10)
43624 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43625 393934 : pack_tmp = ISHFT(pack_tmp, -2)
43626 393934 : idata = idata + 1
43627 393934 : data_tmp = full_data(idata)
43628 393934 : data_tmp = ISHFT(data_tmp, 10)
43629 393934 : data_tmp = IAND(data_tmp, mask_left(2))
43630 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43631 393934 : ipack = ipack + 1
43632 393934 : packed_data(ipack) = pack_tmp
43633 393934 : data_tmp = full_data(idata)
43634 393934 : pack_tmp = ISHFT(data_tmp, 12)
43635 393934 : pack_tmp = ISHFT(pack_tmp, -12)
43636 393934 : idata = idata + 1
43637 393934 : data_tmp = full_data(idata)
43638 393934 : data_tmp = ISHFT(data_tmp, 10)
43639 393934 : data_tmp = IAND(data_tmp, mask_left(12))
43640 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43641 393934 : ipack = ipack + 1
43642 393934 : packed_data(ipack) = pack_tmp
43643 393934 : data_tmp = full_data(idata)
43644 393934 : pack_tmp = ISHFT(data_tmp, 22)
43645 393934 : pack_tmp = ISHFT(pack_tmp, -22)
43646 393934 : idata = idata + 1
43647 393934 : data_tmp = full_data(idata)
43648 393934 : data_tmp = ISHFT(data_tmp, 10)
43649 393934 : data_tmp = IAND(data_tmp, mask_left(22))
43650 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43651 393934 : ipack = ipack + 1
43652 393934 : packed_data(ipack) = pack_tmp
43653 393934 : data_tmp = full_data(idata)
43654 393934 : pack_tmp = ISHFT(data_tmp, 32)
43655 393934 : pack_tmp = ISHFT(pack_tmp, -32)
43656 393934 : idata = idata + 1
43657 393934 : data_tmp = full_data(idata)
43658 393934 : data_tmp = ISHFT(data_tmp, 10)
43659 393934 : data_tmp = IAND(data_tmp, mask_left(32))
43660 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43661 393934 : ipack = ipack + 1
43662 393934 : packed_data(ipack) = pack_tmp
43663 393934 : data_tmp = full_data(idata)
43664 393934 : pack_tmp = ISHFT(data_tmp, 42)
43665 393934 : pack_tmp = ISHFT(pack_tmp, -42)
43666 393934 : idata = idata + 1
43667 393934 : data_tmp = full_data(idata)
43668 393934 : data_tmp = ISHFT(data_tmp, 10)
43669 393934 : data_tmp = IAND(data_tmp, mask_left(42))
43670 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43671 393934 : ipack = ipack + 1
43672 393934 : packed_data(ipack) = pack_tmp
43673 393934 : data_tmp = full_data(idata)
43674 393934 : pack_tmp = ISHFT(data_tmp, 52)
43675 393934 : pack_tmp = ISHFT(pack_tmp, -52)
43676 393934 : idata = idata + 1
43677 393934 : data_tmp = full_data(idata)
43678 393934 : data_tmp = ISHFT(data_tmp, 10)
43679 393934 : data_tmp = IAND(data_tmp, mask_left(52))
43680 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43681 393934 : ipack = ipack + 1
43682 393934 : packed_data(ipack) = pack_tmp
43683 393934 : data_tmp = full_data(idata)
43684 393934 : pack_tmp = ISHFT(data_tmp, 62)
43685 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43686 393934 : idata = idata + 1
43687 393934 : data_tmp = full_data(idata)
43688 393934 : data_tmp = ISHFT(data_tmp, 10)
43689 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43690 393934 : pack_tmp = ISHFT(pack_tmp, -8)
43691 393934 : idata = idata + 1
43692 393934 : data_tmp = full_data(idata)
43693 393934 : data_tmp = ISHFT(data_tmp, 10)
43694 393934 : data_tmp = IAND(data_tmp, mask_left(8))
43695 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43696 393934 : ipack = ipack + 1
43697 393934 : packed_data(ipack) = pack_tmp
43698 393934 : data_tmp = full_data(idata)
43699 393934 : pack_tmp = ISHFT(data_tmp, 18)
43700 393934 : pack_tmp = ISHFT(pack_tmp, -18)
43701 393934 : idata = idata + 1
43702 393934 : data_tmp = full_data(idata)
43703 393934 : data_tmp = ISHFT(data_tmp, 10)
43704 393934 : data_tmp = IAND(data_tmp, mask_left(18))
43705 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43706 393934 : ipack = ipack + 1
43707 393934 : packed_data(ipack) = pack_tmp
43708 393934 : data_tmp = full_data(idata)
43709 393934 : pack_tmp = ISHFT(data_tmp, 28)
43710 393934 : pack_tmp = ISHFT(pack_tmp, -28)
43711 393934 : idata = idata + 1
43712 393934 : data_tmp = full_data(idata)
43713 393934 : data_tmp = ISHFT(data_tmp, 10)
43714 393934 : data_tmp = IAND(data_tmp, mask_left(28))
43715 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43716 393934 : ipack = ipack + 1
43717 393934 : packed_data(ipack) = pack_tmp
43718 393934 : data_tmp = full_data(idata)
43719 393934 : pack_tmp = ISHFT(data_tmp, 38)
43720 393934 : pack_tmp = ISHFT(pack_tmp, -38)
43721 393934 : idata = idata + 1
43722 393934 : data_tmp = full_data(idata)
43723 393934 : data_tmp = ISHFT(data_tmp, 10)
43724 393934 : data_tmp = IAND(data_tmp, mask_left(38))
43725 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43726 393934 : ipack = ipack + 1
43727 393934 : packed_data(ipack) = pack_tmp
43728 393934 : data_tmp = full_data(idata)
43729 393934 : pack_tmp = ISHFT(data_tmp, 48)
43730 393934 : pack_tmp = ISHFT(pack_tmp, -48)
43731 393934 : idata = idata + 1
43732 393934 : data_tmp = full_data(idata)
43733 393934 : data_tmp = ISHFT(data_tmp, 10)
43734 393934 : data_tmp = IAND(data_tmp, mask_left(48))
43735 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43736 393934 : ipack = ipack + 1
43737 393934 : packed_data(ipack) = pack_tmp
43738 393934 : data_tmp = full_data(idata)
43739 393934 : pack_tmp = ISHFT(data_tmp, 58)
43740 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43741 393934 : idata = idata + 1
43742 393934 : data_tmp = full_data(idata)
43743 393934 : data_tmp = ISHFT(data_tmp, 10)
43744 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43745 393934 : pack_tmp = ISHFT(pack_tmp, -4)
43746 393934 : idata = idata + 1
43747 393934 : data_tmp = full_data(idata)
43748 393934 : data_tmp = ISHFT(data_tmp, 10)
43749 393934 : data_tmp = IAND(data_tmp, mask_left(4))
43750 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43751 393934 : ipack = ipack + 1
43752 393934 : packed_data(ipack) = pack_tmp
43753 393934 : data_tmp = full_data(idata)
43754 393934 : pack_tmp = ISHFT(data_tmp, 14)
43755 393934 : pack_tmp = ISHFT(pack_tmp, -14)
43756 393934 : idata = idata + 1
43757 393934 : data_tmp = full_data(idata)
43758 393934 : data_tmp = ISHFT(data_tmp, 10)
43759 393934 : data_tmp = IAND(data_tmp, mask_left(14))
43760 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43761 393934 : ipack = ipack + 1
43762 393934 : packed_data(ipack) = pack_tmp
43763 393934 : data_tmp = full_data(idata)
43764 393934 : pack_tmp = ISHFT(data_tmp, 24)
43765 393934 : pack_tmp = ISHFT(pack_tmp, -24)
43766 393934 : idata = idata + 1
43767 393934 : data_tmp = full_data(idata)
43768 393934 : data_tmp = ISHFT(data_tmp, 10)
43769 393934 : data_tmp = IAND(data_tmp, mask_left(24))
43770 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43771 393934 : ipack = ipack + 1
43772 393934 : packed_data(ipack) = pack_tmp
43773 393934 : data_tmp = full_data(idata)
43774 393934 : pack_tmp = ISHFT(data_tmp, 34)
43775 393934 : pack_tmp = ISHFT(pack_tmp, -34)
43776 393934 : idata = idata + 1
43777 393934 : data_tmp = full_data(idata)
43778 393934 : data_tmp = ISHFT(data_tmp, 10)
43779 393934 : data_tmp = IAND(data_tmp, mask_left(34))
43780 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43781 393934 : ipack = ipack + 1
43782 393934 : packed_data(ipack) = pack_tmp
43783 393934 : data_tmp = full_data(idata)
43784 393934 : pack_tmp = ISHFT(data_tmp, 44)
43785 393934 : pack_tmp = ISHFT(pack_tmp, -44)
43786 393934 : idata = idata + 1
43787 393934 : data_tmp = full_data(idata)
43788 393934 : data_tmp = ISHFT(data_tmp, 10)
43789 393934 : data_tmp = IAND(data_tmp, mask_left(44))
43790 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43791 393934 : ipack = ipack + 1
43792 393934 : packed_data(ipack) = pack_tmp
43793 393934 : data_tmp = full_data(idata)
43794 393934 : pack_tmp = ISHFT(data_tmp, 54)
43795 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43796 393934 : idata = idata + 1
43797 393934 : data_tmp = full_data(idata)
43798 393934 : data_tmp = ISHFT(data_tmp, 10)
43799 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43800 393934 : pack_tmp = ISHFT(pack_tmp, 0)
43801 393934 : idata = idata + 1
43802 393934 : data_tmp = full_data(idata)
43803 : data_tmp = ISHFT(data_tmp, 10)
43804 393934 : data_tmp = IAND(data_tmp, mask_left(0))
43805 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43806 393934 : ipack = ipack + 1
43807 393934 : packed_data(ipack) = pack_tmp
43808 393934 : data_tmp = full_data(idata)
43809 393934 : pack_tmp = ISHFT(data_tmp, 10)
43810 393934 : pack_tmp = ISHFT(pack_tmp, -10)
43811 393934 : idata = idata + 1
43812 393934 : data_tmp = full_data(idata)
43813 393934 : data_tmp = ISHFT(data_tmp, 10)
43814 393934 : data_tmp = IAND(data_tmp, mask_left(10))
43815 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43816 393934 : ipack = ipack + 1
43817 393934 : packed_data(ipack) = pack_tmp
43818 393934 : data_tmp = full_data(idata)
43819 393934 : pack_tmp = ISHFT(data_tmp, 20)
43820 393934 : pack_tmp = ISHFT(pack_tmp, -20)
43821 393934 : idata = idata + 1
43822 393934 : data_tmp = full_data(idata)
43823 393934 : data_tmp = ISHFT(data_tmp, 10)
43824 393934 : data_tmp = IAND(data_tmp, mask_left(20))
43825 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43826 393934 : ipack = ipack + 1
43827 393934 : packed_data(ipack) = pack_tmp
43828 393934 : data_tmp = full_data(idata)
43829 393934 : pack_tmp = ISHFT(data_tmp, 30)
43830 393934 : pack_tmp = ISHFT(pack_tmp, -30)
43831 393934 : idata = idata + 1
43832 393934 : data_tmp = full_data(idata)
43833 393934 : data_tmp = ISHFT(data_tmp, 10)
43834 393934 : data_tmp = IAND(data_tmp, mask_left(30))
43835 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43836 393934 : ipack = ipack + 1
43837 393934 : packed_data(ipack) = pack_tmp
43838 393934 : data_tmp = full_data(idata)
43839 393934 : pack_tmp = ISHFT(data_tmp, 40)
43840 393934 : pack_tmp = ISHFT(pack_tmp, -40)
43841 393934 : idata = idata + 1
43842 393934 : data_tmp = full_data(idata)
43843 393934 : data_tmp = ISHFT(data_tmp, 10)
43844 393934 : data_tmp = IAND(data_tmp, mask_left(40))
43845 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43846 393934 : ipack = ipack + 1
43847 393934 : packed_data(ipack) = pack_tmp
43848 393934 : data_tmp = full_data(idata)
43849 393934 : pack_tmp = ISHFT(data_tmp, 50)
43850 393934 : pack_tmp = ISHFT(pack_tmp, -50)
43851 393934 : idata = idata + 1
43852 393934 : data_tmp = full_data(idata)
43853 393934 : data_tmp = ISHFT(data_tmp, 10)
43854 393934 : data_tmp = IAND(data_tmp, mask_left(50))
43855 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43856 393934 : ipack = ipack + 1
43857 393934 : packed_data(ipack) = pack_tmp
43858 393934 : data_tmp = full_data(idata)
43859 393934 : pack_tmp = ISHFT(data_tmp, 60)
43860 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43861 393934 : idata = idata + 1
43862 393934 : data_tmp = full_data(idata)
43863 393934 : data_tmp = ISHFT(data_tmp, 10)
43864 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43865 393934 : pack_tmp = ISHFT(pack_tmp, -6)
43866 393934 : idata = idata + 1
43867 393934 : data_tmp = full_data(idata)
43868 393934 : data_tmp = ISHFT(data_tmp, 10)
43869 393934 : data_tmp = IAND(data_tmp, mask_left(6))
43870 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43871 393934 : ipack = ipack + 1
43872 393934 : packed_data(ipack) = pack_tmp
43873 393934 : data_tmp = full_data(idata)
43874 393934 : pack_tmp = ISHFT(data_tmp, 16)
43875 393934 : pack_tmp = ISHFT(pack_tmp, -16)
43876 393934 : idata = idata + 1
43877 393934 : data_tmp = full_data(idata)
43878 393934 : data_tmp = ISHFT(data_tmp, 10)
43879 393934 : data_tmp = IAND(data_tmp, mask_left(16))
43880 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43881 393934 : ipack = ipack + 1
43882 393934 : packed_data(ipack) = pack_tmp
43883 393934 : data_tmp = full_data(idata)
43884 393934 : pack_tmp = ISHFT(data_tmp, 26)
43885 393934 : pack_tmp = ISHFT(pack_tmp, -26)
43886 393934 : idata = idata + 1
43887 393934 : data_tmp = full_data(idata)
43888 393934 : data_tmp = ISHFT(data_tmp, 10)
43889 393934 : data_tmp = IAND(data_tmp, mask_left(26))
43890 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43891 393934 : ipack = ipack + 1
43892 393934 : packed_data(ipack) = pack_tmp
43893 393934 : data_tmp = full_data(idata)
43894 393934 : pack_tmp = ISHFT(data_tmp, 36)
43895 393934 : pack_tmp = ISHFT(pack_tmp, -36)
43896 393934 : idata = idata + 1
43897 393934 : data_tmp = full_data(idata)
43898 393934 : data_tmp = ISHFT(data_tmp, 10)
43899 393934 : data_tmp = IAND(data_tmp, mask_left(36))
43900 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43901 393934 : ipack = ipack + 1
43902 393934 : packed_data(ipack) = pack_tmp
43903 393934 : data_tmp = full_data(idata)
43904 393934 : pack_tmp = ISHFT(data_tmp, 46)
43905 393934 : pack_tmp = ISHFT(pack_tmp, -46)
43906 393934 : idata = idata + 1
43907 393934 : data_tmp = full_data(idata)
43908 393934 : data_tmp = ISHFT(data_tmp, 10)
43909 393934 : data_tmp = IAND(data_tmp, mask_left(46))
43910 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43911 393934 : ipack = ipack + 1
43912 393934 : packed_data(ipack) = pack_tmp
43913 393934 : data_tmp = full_data(idata)
43914 393934 : pack_tmp = ISHFT(data_tmp, 56)
43915 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43916 393934 : idata = idata + 1
43917 393934 : data_tmp = full_data(idata)
43918 393934 : data_tmp = ISHFT(data_tmp, 10)
43919 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43920 393934 : pack_tmp = ISHFT(pack_tmp, -2)
43921 393934 : idata = idata + 1
43922 393934 : data_tmp = full_data(idata)
43923 393934 : data_tmp = ISHFT(data_tmp, 10)
43924 393934 : data_tmp = IAND(data_tmp, mask_left(2))
43925 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43926 393934 : ipack = ipack + 1
43927 393934 : packed_data(ipack) = pack_tmp
43928 393934 : data_tmp = full_data(idata)
43929 393934 : pack_tmp = ISHFT(data_tmp, 12)
43930 393934 : pack_tmp = ISHFT(pack_tmp, -12)
43931 393934 : idata = idata + 1
43932 393934 : data_tmp = full_data(idata)
43933 393934 : data_tmp = ISHFT(data_tmp, 10)
43934 393934 : data_tmp = IAND(data_tmp, mask_left(12))
43935 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43936 393934 : ipack = ipack + 1
43937 393934 : packed_data(ipack) = pack_tmp
43938 393934 : data_tmp = full_data(idata)
43939 393934 : pack_tmp = ISHFT(data_tmp, 22)
43940 393934 : pack_tmp = ISHFT(pack_tmp, -22)
43941 393934 : idata = idata + 1
43942 393934 : data_tmp = full_data(idata)
43943 393934 : data_tmp = ISHFT(data_tmp, 10)
43944 393934 : data_tmp = IAND(data_tmp, mask_left(22))
43945 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43946 393934 : ipack = ipack + 1
43947 393934 : packed_data(ipack) = pack_tmp
43948 393934 : data_tmp = full_data(idata)
43949 393934 : pack_tmp = ISHFT(data_tmp, 32)
43950 393934 : pack_tmp = ISHFT(pack_tmp, -32)
43951 393934 : idata = idata + 1
43952 393934 : data_tmp = full_data(idata)
43953 393934 : data_tmp = ISHFT(data_tmp, 10)
43954 393934 : data_tmp = IAND(data_tmp, mask_left(32))
43955 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43956 393934 : ipack = ipack + 1
43957 393934 : packed_data(ipack) = pack_tmp
43958 393934 : data_tmp = full_data(idata)
43959 393934 : pack_tmp = ISHFT(data_tmp, 42)
43960 393934 : pack_tmp = ISHFT(pack_tmp, -42)
43961 393934 : idata = idata + 1
43962 393934 : data_tmp = full_data(idata)
43963 393934 : data_tmp = ISHFT(data_tmp, 10)
43964 393934 : data_tmp = IAND(data_tmp, mask_left(42))
43965 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43966 393934 : ipack = ipack + 1
43967 393934 : packed_data(ipack) = pack_tmp
43968 393934 : data_tmp = full_data(idata)
43969 393934 : pack_tmp = ISHFT(data_tmp, 52)
43970 393934 : pack_tmp = ISHFT(pack_tmp, -52)
43971 393934 : idata = idata + 1
43972 393934 : data_tmp = full_data(idata)
43973 393934 : data_tmp = ISHFT(data_tmp, 10)
43974 393934 : data_tmp = IAND(data_tmp, mask_left(52))
43975 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43976 393934 : ipack = ipack + 1
43977 393934 : packed_data(ipack) = pack_tmp
43978 393934 : data_tmp = full_data(idata)
43979 393934 : pack_tmp = ISHFT(data_tmp, 62)
43980 393934 : pack_tmp = ISHFT(pack_tmp, -54)
43981 393934 : idata = idata + 1
43982 393934 : data_tmp = full_data(idata)
43983 393934 : data_tmp = ISHFT(data_tmp, 10)
43984 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43985 393934 : pack_tmp = ISHFT(pack_tmp, -8)
43986 393934 : idata = idata + 1
43987 393934 : data_tmp = full_data(idata)
43988 393934 : data_tmp = ISHFT(data_tmp, 10)
43989 393934 : data_tmp = IAND(data_tmp, mask_left(8))
43990 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
43991 393934 : ipack = ipack + 1
43992 393934 : packed_data(ipack) = pack_tmp
43993 393934 : data_tmp = full_data(idata)
43994 393934 : pack_tmp = ISHFT(data_tmp, 18)
43995 393934 : pack_tmp = ISHFT(pack_tmp, -18)
43996 393934 : idata = idata + 1
43997 393934 : data_tmp = full_data(idata)
43998 393934 : data_tmp = ISHFT(data_tmp, 10)
43999 393934 : data_tmp = IAND(data_tmp, mask_left(18))
44000 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44001 393934 : ipack = ipack + 1
44002 393934 : packed_data(ipack) = pack_tmp
44003 393934 : data_tmp = full_data(idata)
44004 393934 : pack_tmp = ISHFT(data_tmp, 28)
44005 393934 : pack_tmp = ISHFT(pack_tmp, -28)
44006 393934 : idata = idata + 1
44007 393934 : data_tmp = full_data(idata)
44008 393934 : data_tmp = ISHFT(data_tmp, 10)
44009 393934 : data_tmp = IAND(data_tmp, mask_left(28))
44010 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44011 393934 : ipack = ipack + 1
44012 393934 : packed_data(ipack) = pack_tmp
44013 393934 : data_tmp = full_data(idata)
44014 393934 : pack_tmp = ISHFT(data_tmp, 38)
44015 393934 : pack_tmp = ISHFT(pack_tmp, -38)
44016 393934 : idata = idata + 1
44017 393934 : data_tmp = full_data(idata)
44018 393934 : data_tmp = ISHFT(data_tmp, 10)
44019 393934 : data_tmp = IAND(data_tmp, mask_left(38))
44020 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44021 393934 : ipack = ipack + 1
44022 393934 : packed_data(ipack) = pack_tmp
44023 393934 : data_tmp = full_data(idata)
44024 393934 : pack_tmp = ISHFT(data_tmp, 48)
44025 393934 : pack_tmp = ISHFT(pack_tmp, -48)
44026 393934 : idata = idata + 1
44027 393934 : data_tmp = full_data(idata)
44028 393934 : data_tmp = ISHFT(data_tmp, 10)
44029 393934 : data_tmp = IAND(data_tmp, mask_left(48))
44030 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44031 393934 : ipack = ipack + 1
44032 393934 : packed_data(ipack) = pack_tmp
44033 393934 : data_tmp = full_data(idata)
44034 393934 : pack_tmp = ISHFT(data_tmp, 58)
44035 393934 : pack_tmp = ISHFT(pack_tmp, -54)
44036 393934 : idata = idata + 1
44037 393934 : data_tmp = full_data(idata)
44038 393934 : data_tmp = ISHFT(data_tmp, 10)
44039 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44040 393934 : pack_tmp = ISHFT(pack_tmp, -4)
44041 393934 : idata = idata + 1
44042 393934 : data_tmp = full_data(idata)
44043 393934 : data_tmp = ISHFT(data_tmp, 10)
44044 393934 : data_tmp = IAND(data_tmp, mask_left(4))
44045 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44046 393934 : ipack = ipack + 1
44047 393934 : packed_data(ipack) = pack_tmp
44048 393934 : data_tmp = full_data(idata)
44049 393934 : pack_tmp = ISHFT(data_tmp, 14)
44050 393934 : pack_tmp = ISHFT(pack_tmp, -14)
44051 393934 : idata = idata + 1
44052 393934 : data_tmp = full_data(idata)
44053 393934 : data_tmp = ISHFT(data_tmp, 10)
44054 393934 : data_tmp = IAND(data_tmp, mask_left(14))
44055 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44056 393934 : ipack = ipack + 1
44057 393934 : packed_data(ipack) = pack_tmp
44058 393934 : data_tmp = full_data(idata)
44059 393934 : pack_tmp = ISHFT(data_tmp, 24)
44060 393934 : pack_tmp = ISHFT(pack_tmp, -24)
44061 393934 : idata = idata + 1
44062 393934 : data_tmp = full_data(idata)
44063 393934 : data_tmp = ISHFT(data_tmp, 10)
44064 393934 : data_tmp = IAND(data_tmp, mask_left(24))
44065 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44066 393934 : ipack = ipack + 1
44067 393934 : packed_data(ipack) = pack_tmp
44068 393934 : data_tmp = full_data(idata)
44069 393934 : pack_tmp = ISHFT(data_tmp, 34)
44070 393934 : pack_tmp = ISHFT(pack_tmp, -34)
44071 393934 : idata = idata + 1
44072 393934 : data_tmp = full_data(idata)
44073 393934 : data_tmp = ISHFT(data_tmp, 10)
44074 393934 : data_tmp = IAND(data_tmp, mask_left(34))
44075 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44076 393934 : ipack = ipack + 1
44077 393934 : packed_data(ipack) = pack_tmp
44078 393934 : data_tmp = full_data(idata)
44079 393934 : pack_tmp = ISHFT(data_tmp, 44)
44080 393934 : pack_tmp = ISHFT(pack_tmp, -44)
44081 393934 : idata = idata + 1
44082 393934 : data_tmp = full_data(idata)
44083 393934 : data_tmp = ISHFT(data_tmp, 10)
44084 393934 : data_tmp = IAND(data_tmp, mask_left(44))
44085 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44086 393934 : ipack = ipack + 1
44087 393934 : packed_data(ipack) = pack_tmp
44088 393934 : data_tmp = full_data(idata)
44089 393934 : pack_tmp = ISHFT(data_tmp, 54)
44090 393934 : pack_tmp = ISHFT(pack_tmp, -54)
44091 393934 : idata = idata + 1
44092 393934 : data_tmp = full_data(idata)
44093 393934 : data_tmp = ISHFT(data_tmp, 10)
44094 393934 : pack_tmp = IOR(pack_tmp, data_tmp)
44095 : pack_tmp = ISHFT(pack_tmp, 0)
44096 393934 : pack_tmp = ISHFT(pack_tmp, 0)
44097 393934 : ipack = ipack + 1
44098 393948 : packed_data(ipack) = pack_tmp
44099 : END DO
44100 24810 : IF (Ndata_rep < Ndata) THEN
44101 356 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
44102 : END IF
44103 24810 : END SUBROUTINE ints2bits_54
44104 :
44105 : ! **************************************************************************************************
44106 : !> \brief ...
44107 : !> \param Ndata ...
44108 : !> \param packed_data ...
44109 : !> \param full_data ...
44110 : ! **************************************************************************************************
44111 113811 : 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(*)
44115 :
44116 : INTEGER, PARAMETER :: Nbits = 54
44117 :
44118 : INTEGER :: idata, ipack, kdata, Ndata_rep
44119 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
44120 :
44121 113811 : ipack = 0
44122 113811 : idata = 0
44123 113811 : pack_tmp = 0
44124 113811 : Ndata_rep = (Ndata/64)*64
44125 113811 : DO kdata = 1, Ndata_rep, 64
44126 1700922 : idata = idata + 1
44127 1700922 : data_tmp = ISHFT(pack_tmp, 54)
44128 1700922 : ipack = ipack + 1
44129 1700922 : pack_tmp = packed_data(ipack)
44130 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
44131 1700922 : pack_tmp = ISHFT(pack_tmp, -54)
44132 1700922 : idata = idata + 1
44133 1700922 : data_tmp = ISHFT(pack_tmp, 44)
44134 1700922 : ipack = ipack + 1
44135 1700922 : pack_tmp = packed_data(ipack)
44136 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
44137 1700922 : pack_tmp = ISHFT(pack_tmp, -44)
44138 1700922 : idata = idata + 1
44139 1700922 : data_tmp = ISHFT(pack_tmp, 34)
44140 1700922 : ipack = ipack + 1
44141 1700922 : pack_tmp = packed_data(ipack)
44142 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
44143 1700922 : pack_tmp = ISHFT(pack_tmp, -34)
44144 1700922 : idata = idata + 1
44145 1700922 : data_tmp = ISHFT(pack_tmp, 24)
44146 1700922 : ipack = ipack + 1
44147 1700922 : pack_tmp = packed_data(ipack)
44148 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
44149 1700922 : pack_tmp = ISHFT(pack_tmp, -24)
44150 1700922 : idata = idata + 1
44151 1700922 : data_tmp = ISHFT(pack_tmp, 14)
44152 1700922 : ipack = ipack + 1
44153 1700922 : pack_tmp = packed_data(ipack)
44154 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
44155 1700922 : pack_tmp = ISHFT(pack_tmp, -14)
44156 1700922 : idata = idata + 1
44157 1700922 : data_tmp = ISHFT(pack_tmp, 4)
44158 1700922 : ipack = ipack + 1
44159 1700922 : pack_tmp = packed_data(ipack)
44160 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
44161 1700922 : pack_tmp = ISHFT(pack_tmp, -4)
44162 1700922 : idata = idata + 1
44163 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44164 1700922 : full_data(idata) = data_tmp
44165 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44166 1700922 : idata = idata + 1
44167 1700922 : data_tmp = ISHFT(pack_tmp, 48)
44168 1700922 : ipack = ipack + 1
44169 1700922 : pack_tmp = packed_data(ipack)
44170 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
44171 1700922 : pack_tmp = ISHFT(pack_tmp, -48)
44172 1700922 : idata = idata + 1
44173 1700922 : data_tmp = ISHFT(pack_tmp, 38)
44174 1700922 : ipack = ipack + 1
44175 1700922 : pack_tmp = packed_data(ipack)
44176 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
44177 1700922 : pack_tmp = ISHFT(pack_tmp, -38)
44178 1700922 : idata = idata + 1
44179 1700922 : data_tmp = ISHFT(pack_tmp, 28)
44180 1700922 : ipack = ipack + 1
44181 1700922 : pack_tmp = packed_data(ipack)
44182 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
44183 1700922 : pack_tmp = ISHFT(pack_tmp, -28)
44184 1700922 : idata = idata + 1
44185 1700922 : data_tmp = ISHFT(pack_tmp, 18)
44186 1700922 : ipack = ipack + 1
44187 1700922 : pack_tmp = packed_data(ipack)
44188 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
44189 1700922 : pack_tmp = ISHFT(pack_tmp, -18)
44190 1700922 : idata = idata + 1
44191 1700922 : data_tmp = ISHFT(pack_tmp, 8)
44192 1700922 : ipack = ipack + 1
44193 1700922 : pack_tmp = packed_data(ipack)
44194 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
44195 1700922 : pack_tmp = ISHFT(pack_tmp, -8)
44196 1700922 : idata = idata + 1
44197 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44198 1700922 : full_data(idata) = data_tmp
44199 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44200 1700922 : idata = idata + 1
44201 1700922 : data_tmp = ISHFT(pack_tmp, 52)
44202 1700922 : ipack = ipack + 1
44203 1700922 : pack_tmp = packed_data(ipack)
44204 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
44205 1700922 : pack_tmp = ISHFT(pack_tmp, -52)
44206 1700922 : idata = idata + 1
44207 1700922 : data_tmp = ISHFT(pack_tmp, 42)
44208 1700922 : ipack = ipack + 1
44209 1700922 : pack_tmp = packed_data(ipack)
44210 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
44211 1700922 : pack_tmp = ISHFT(pack_tmp, -42)
44212 1700922 : idata = idata + 1
44213 1700922 : data_tmp = ISHFT(pack_tmp, 32)
44214 1700922 : ipack = ipack + 1
44215 1700922 : pack_tmp = packed_data(ipack)
44216 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
44217 1700922 : pack_tmp = ISHFT(pack_tmp, -32)
44218 1700922 : idata = idata + 1
44219 1700922 : data_tmp = ISHFT(pack_tmp, 22)
44220 1700922 : ipack = ipack + 1
44221 1700922 : pack_tmp = packed_data(ipack)
44222 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
44223 1700922 : pack_tmp = ISHFT(pack_tmp, -22)
44224 1700922 : idata = idata + 1
44225 1700922 : data_tmp = ISHFT(pack_tmp, 12)
44226 1700922 : ipack = ipack + 1
44227 1700922 : pack_tmp = packed_data(ipack)
44228 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
44229 1700922 : pack_tmp = ISHFT(pack_tmp, -12)
44230 1700922 : idata = idata + 1
44231 1700922 : data_tmp = ISHFT(pack_tmp, 2)
44232 1700922 : ipack = ipack + 1
44233 1700922 : pack_tmp = packed_data(ipack)
44234 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
44235 1700922 : pack_tmp = ISHFT(pack_tmp, -2)
44236 1700922 : idata = idata + 1
44237 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44238 1700922 : full_data(idata) = data_tmp
44239 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44240 1700922 : idata = idata + 1
44241 1700922 : data_tmp = ISHFT(pack_tmp, 46)
44242 1700922 : ipack = ipack + 1
44243 1700922 : pack_tmp = packed_data(ipack)
44244 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
44245 1700922 : pack_tmp = ISHFT(pack_tmp, -46)
44246 1700922 : idata = idata + 1
44247 1700922 : data_tmp = ISHFT(pack_tmp, 36)
44248 1700922 : ipack = ipack + 1
44249 1700922 : pack_tmp = packed_data(ipack)
44250 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
44251 1700922 : pack_tmp = ISHFT(pack_tmp, -36)
44252 1700922 : idata = idata + 1
44253 1700922 : data_tmp = ISHFT(pack_tmp, 26)
44254 1700922 : ipack = ipack + 1
44255 1700922 : pack_tmp = packed_data(ipack)
44256 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
44257 1700922 : pack_tmp = ISHFT(pack_tmp, -26)
44258 1700922 : idata = idata + 1
44259 1700922 : data_tmp = ISHFT(pack_tmp, 16)
44260 1700922 : ipack = ipack + 1
44261 1700922 : pack_tmp = packed_data(ipack)
44262 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
44263 1700922 : pack_tmp = ISHFT(pack_tmp, -16)
44264 1700922 : idata = idata + 1
44265 1700922 : data_tmp = ISHFT(pack_tmp, 6)
44266 1700922 : ipack = ipack + 1
44267 1700922 : pack_tmp = packed_data(ipack)
44268 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
44269 1700922 : pack_tmp = ISHFT(pack_tmp, -6)
44270 1700922 : idata = idata + 1
44271 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44272 1700922 : full_data(idata) = data_tmp
44273 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44274 1700922 : idata = idata + 1
44275 1700922 : data_tmp = ISHFT(pack_tmp, 50)
44276 1700922 : ipack = ipack + 1
44277 1700922 : pack_tmp = packed_data(ipack)
44278 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
44279 1700922 : pack_tmp = ISHFT(pack_tmp, -50)
44280 1700922 : idata = idata + 1
44281 1700922 : data_tmp = ISHFT(pack_tmp, 40)
44282 1700922 : ipack = ipack + 1
44283 1700922 : pack_tmp = packed_data(ipack)
44284 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
44285 1700922 : pack_tmp = ISHFT(pack_tmp, -40)
44286 1700922 : idata = idata + 1
44287 1700922 : data_tmp = ISHFT(pack_tmp, 30)
44288 1700922 : ipack = ipack + 1
44289 1700922 : pack_tmp = packed_data(ipack)
44290 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
44291 1700922 : pack_tmp = ISHFT(pack_tmp, -30)
44292 1700922 : idata = idata + 1
44293 1700922 : data_tmp = ISHFT(pack_tmp, 20)
44294 1700922 : ipack = ipack + 1
44295 1700922 : pack_tmp = packed_data(ipack)
44296 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
44297 1700922 : pack_tmp = ISHFT(pack_tmp, -20)
44298 1700922 : idata = idata + 1
44299 1700922 : data_tmp = ISHFT(pack_tmp, 10)
44300 1700922 : ipack = ipack + 1
44301 1700922 : pack_tmp = packed_data(ipack)
44302 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
44303 1700922 : pack_tmp = ISHFT(pack_tmp, -10)
44304 1700922 : idata = idata + 1
44305 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44306 1700922 : full_data(idata) = data_tmp
44307 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44308 1700922 : idata = idata + 1
44309 1700922 : data_tmp = ISHFT(pack_tmp, 54)
44310 1700922 : ipack = ipack + 1
44311 1700922 : pack_tmp = packed_data(ipack)
44312 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
44313 1700922 : pack_tmp = ISHFT(pack_tmp, -54)
44314 1700922 : idata = idata + 1
44315 1700922 : data_tmp = ISHFT(pack_tmp, 44)
44316 1700922 : ipack = ipack + 1
44317 1700922 : pack_tmp = packed_data(ipack)
44318 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
44319 1700922 : pack_tmp = ISHFT(pack_tmp, -44)
44320 1700922 : idata = idata + 1
44321 1700922 : data_tmp = ISHFT(pack_tmp, 34)
44322 1700922 : ipack = ipack + 1
44323 1700922 : pack_tmp = packed_data(ipack)
44324 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
44325 1700922 : pack_tmp = ISHFT(pack_tmp, -34)
44326 1700922 : idata = idata + 1
44327 1700922 : data_tmp = ISHFT(pack_tmp, 24)
44328 1700922 : ipack = ipack + 1
44329 1700922 : pack_tmp = packed_data(ipack)
44330 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
44331 1700922 : pack_tmp = ISHFT(pack_tmp, -24)
44332 1700922 : idata = idata + 1
44333 1700922 : data_tmp = ISHFT(pack_tmp, 14)
44334 1700922 : ipack = ipack + 1
44335 1700922 : pack_tmp = packed_data(ipack)
44336 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
44337 1700922 : pack_tmp = ISHFT(pack_tmp, -14)
44338 1700922 : idata = idata + 1
44339 1700922 : data_tmp = ISHFT(pack_tmp, 4)
44340 1700922 : ipack = ipack + 1
44341 1700922 : pack_tmp = packed_data(ipack)
44342 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
44343 1700922 : pack_tmp = ISHFT(pack_tmp, -4)
44344 1700922 : idata = idata + 1
44345 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44346 1700922 : full_data(idata) = data_tmp
44347 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44348 1700922 : idata = idata + 1
44349 1700922 : data_tmp = ISHFT(pack_tmp, 48)
44350 1700922 : ipack = ipack + 1
44351 1700922 : pack_tmp = packed_data(ipack)
44352 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
44353 1700922 : pack_tmp = ISHFT(pack_tmp, -48)
44354 1700922 : idata = idata + 1
44355 1700922 : data_tmp = ISHFT(pack_tmp, 38)
44356 1700922 : ipack = ipack + 1
44357 1700922 : pack_tmp = packed_data(ipack)
44358 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
44359 1700922 : pack_tmp = ISHFT(pack_tmp, -38)
44360 1700922 : idata = idata + 1
44361 1700922 : data_tmp = ISHFT(pack_tmp, 28)
44362 1700922 : ipack = ipack + 1
44363 1700922 : pack_tmp = packed_data(ipack)
44364 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
44365 1700922 : pack_tmp = ISHFT(pack_tmp, -28)
44366 1700922 : idata = idata + 1
44367 1700922 : data_tmp = ISHFT(pack_tmp, 18)
44368 1700922 : ipack = ipack + 1
44369 1700922 : pack_tmp = packed_data(ipack)
44370 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
44371 1700922 : pack_tmp = ISHFT(pack_tmp, -18)
44372 1700922 : idata = idata + 1
44373 1700922 : data_tmp = ISHFT(pack_tmp, 8)
44374 1700922 : ipack = ipack + 1
44375 1700922 : pack_tmp = packed_data(ipack)
44376 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
44377 1700922 : pack_tmp = ISHFT(pack_tmp, -8)
44378 1700922 : idata = idata + 1
44379 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44380 1700922 : full_data(idata) = data_tmp
44381 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44382 1700922 : idata = idata + 1
44383 1700922 : data_tmp = ISHFT(pack_tmp, 52)
44384 1700922 : ipack = ipack + 1
44385 1700922 : pack_tmp = packed_data(ipack)
44386 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
44387 1700922 : pack_tmp = ISHFT(pack_tmp, -52)
44388 1700922 : idata = idata + 1
44389 1700922 : data_tmp = ISHFT(pack_tmp, 42)
44390 1700922 : ipack = ipack + 1
44391 1700922 : pack_tmp = packed_data(ipack)
44392 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
44393 1700922 : pack_tmp = ISHFT(pack_tmp, -42)
44394 1700922 : idata = idata + 1
44395 1700922 : data_tmp = ISHFT(pack_tmp, 32)
44396 1700922 : ipack = ipack + 1
44397 1700922 : pack_tmp = packed_data(ipack)
44398 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
44399 1700922 : pack_tmp = ISHFT(pack_tmp, -32)
44400 1700922 : idata = idata + 1
44401 1700922 : data_tmp = ISHFT(pack_tmp, 22)
44402 1700922 : ipack = ipack + 1
44403 1700922 : pack_tmp = packed_data(ipack)
44404 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
44405 1700922 : pack_tmp = ISHFT(pack_tmp, -22)
44406 1700922 : idata = idata + 1
44407 1700922 : data_tmp = ISHFT(pack_tmp, 12)
44408 1700922 : ipack = ipack + 1
44409 1700922 : pack_tmp = packed_data(ipack)
44410 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
44411 1700922 : pack_tmp = ISHFT(pack_tmp, -12)
44412 1700922 : idata = idata + 1
44413 1700922 : data_tmp = ISHFT(pack_tmp, 2)
44414 1700922 : ipack = ipack + 1
44415 1700922 : pack_tmp = packed_data(ipack)
44416 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
44417 1700922 : pack_tmp = ISHFT(pack_tmp, -2)
44418 1700922 : idata = idata + 1
44419 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44420 1700922 : full_data(idata) = data_tmp
44421 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44422 1700922 : idata = idata + 1
44423 1700922 : data_tmp = ISHFT(pack_tmp, 46)
44424 1700922 : ipack = ipack + 1
44425 1700922 : pack_tmp = packed_data(ipack)
44426 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
44427 1700922 : pack_tmp = ISHFT(pack_tmp, -46)
44428 1700922 : idata = idata + 1
44429 1700922 : data_tmp = ISHFT(pack_tmp, 36)
44430 1700922 : ipack = ipack + 1
44431 1700922 : pack_tmp = packed_data(ipack)
44432 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
44433 1700922 : pack_tmp = ISHFT(pack_tmp, -36)
44434 1700922 : idata = idata + 1
44435 1700922 : data_tmp = ISHFT(pack_tmp, 26)
44436 1700922 : ipack = ipack + 1
44437 1700922 : pack_tmp = packed_data(ipack)
44438 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
44439 1700922 : pack_tmp = ISHFT(pack_tmp, -26)
44440 1700922 : idata = idata + 1
44441 1700922 : data_tmp = ISHFT(pack_tmp, 16)
44442 1700922 : ipack = ipack + 1
44443 1700922 : pack_tmp = packed_data(ipack)
44444 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
44445 1700922 : pack_tmp = ISHFT(pack_tmp, -16)
44446 1700922 : idata = idata + 1
44447 1700922 : data_tmp = ISHFT(pack_tmp, 6)
44448 1700922 : ipack = ipack + 1
44449 1700922 : pack_tmp = packed_data(ipack)
44450 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
44451 1700922 : pack_tmp = ISHFT(pack_tmp, -6)
44452 1700922 : idata = idata + 1
44453 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44454 1700922 : full_data(idata) = data_tmp
44455 1700922 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44456 1700922 : idata = idata + 1
44457 1700922 : data_tmp = ISHFT(pack_tmp, 50)
44458 1700922 : ipack = ipack + 1
44459 1700922 : pack_tmp = packed_data(ipack)
44460 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
44461 1700922 : pack_tmp = ISHFT(pack_tmp, -50)
44462 1700922 : idata = idata + 1
44463 1700922 : data_tmp = ISHFT(pack_tmp, 40)
44464 1700922 : ipack = ipack + 1
44465 1700922 : pack_tmp = packed_data(ipack)
44466 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
44467 1700922 : pack_tmp = ISHFT(pack_tmp, -40)
44468 1700922 : idata = idata + 1
44469 1700922 : data_tmp = ISHFT(pack_tmp, 30)
44470 1700922 : ipack = ipack + 1
44471 1700922 : pack_tmp = packed_data(ipack)
44472 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
44473 1700922 : pack_tmp = ISHFT(pack_tmp, -30)
44474 1700922 : idata = idata + 1
44475 1700922 : data_tmp = ISHFT(pack_tmp, 20)
44476 1700922 : ipack = ipack + 1
44477 1700922 : pack_tmp = packed_data(ipack)
44478 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
44479 1700922 : pack_tmp = ISHFT(pack_tmp, -20)
44480 1700922 : idata = idata + 1
44481 1700922 : data_tmp = ISHFT(pack_tmp, 10)
44482 1700922 : ipack = ipack + 1
44483 1700922 : pack_tmp = packed_data(ipack)
44484 1700922 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
44485 1700922 : pack_tmp = ISHFT(pack_tmp, -10)
44486 1700922 : idata = idata + 1
44487 1700922 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
44488 1700922 : full_data(idata) = data_tmp
44489 1701776 : pack_tmp = ISHFT(pack_tmp, -Nbits)
44490 : END DO
44491 113811 : IF (Ndata_rep < Ndata) THEN
44492 14124 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
44493 : END IF
44494 113811 : END SUBROUTINE bits2ints_54
44495 :
44496 : ! **************************************************************************************************
44497 : !> \brief ...
44498 : !> \param Ndata ...
44499 : !> \param packed_data ...
44500 : !> \param full_data ...
44501 : ! **************************************************************************************************
44502 24728 : 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(*)
44506 :
44507 : INTEGER, PARAMETER :: Nbits = 55
44508 :
44509 : INTEGER :: idata, ipack, kdata, Ndata_rep
44510 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
44511 :
44512 24728 : idata = 0
44513 24728 : ipack = 0
44514 24728 : Ndata_rep = (Ndata/64)*64
44515 24728 : DO kdata = 1, Ndata_rep, 64
44516 393268 : pack_tmp = 0
44517 393268 : idata = idata + 1
44518 393268 : data_tmp = full_data(idata)
44519 393268 : data_tmp = ISHFT(data_tmp, 9)
44520 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44521 393268 : pack_tmp = ISHFT(pack_tmp, -9)
44522 393268 : idata = idata + 1
44523 393268 : data_tmp = full_data(idata)
44524 393268 : data_tmp = ISHFT(data_tmp, 9)
44525 393268 : data_tmp = IAND(data_tmp, mask_left(9))
44526 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44527 393268 : ipack = ipack + 1
44528 393268 : packed_data(ipack) = pack_tmp
44529 393268 : data_tmp = full_data(idata)
44530 393268 : pack_tmp = ISHFT(data_tmp, 18)
44531 393268 : pack_tmp = ISHFT(pack_tmp, -18)
44532 393268 : idata = idata + 1
44533 393268 : data_tmp = full_data(idata)
44534 393268 : data_tmp = ISHFT(data_tmp, 9)
44535 393268 : data_tmp = IAND(data_tmp, mask_left(18))
44536 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44537 393268 : ipack = ipack + 1
44538 393268 : packed_data(ipack) = pack_tmp
44539 393268 : data_tmp = full_data(idata)
44540 393268 : pack_tmp = ISHFT(data_tmp, 27)
44541 393268 : pack_tmp = ISHFT(pack_tmp, -27)
44542 393268 : idata = idata + 1
44543 393268 : data_tmp = full_data(idata)
44544 393268 : data_tmp = ISHFT(data_tmp, 9)
44545 393268 : data_tmp = IAND(data_tmp, mask_left(27))
44546 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44547 393268 : ipack = ipack + 1
44548 393268 : packed_data(ipack) = pack_tmp
44549 393268 : data_tmp = full_data(idata)
44550 393268 : pack_tmp = ISHFT(data_tmp, 36)
44551 393268 : pack_tmp = ISHFT(pack_tmp, -36)
44552 393268 : idata = idata + 1
44553 393268 : data_tmp = full_data(idata)
44554 393268 : data_tmp = ISHFT(data_tmp, 9)
44555 393268 : data_tmp = IAND(data_tmp, mask_left(36))
44556 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44557 393268 : ipack = ipack + 1
44558 393268 : packed_data(ipack) = pack_tmp
44559 393268 : data_tmp = full_data(idata)
44560 393268 : pack_tmp = ISHFT(data_tmp, 45)
44561 393268 : pack_tmp = ISHFT(pack_tmp, -45)
44562 393268 : idata = idata + 1
44563 393268 : data_tmp = full_data(idata)
44564 393268 : data_tmp = ISHFT(data_tmp, 9)
44565 393268 : data_tmp = IAND(data_tmp, mask_left(45))
44566 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44567 393268 : ipack = ipack + 1
44568 393268 : packed_data(ipack) = pack_tmp
44569 393268 : data_tmp = full_data(idata)
44570 393268 : pack_tmp = ISHFT(data_tmp, 54)
44571 393268 : pack_tmp = ISHFT(pack_tmp, -54)
44572 393268 : idata = idata + 1
44573 393268 : data_tmp = full_data(idata)
44574 393268 : data_tmp = ISHFT(data_tmp, 9)
44575 393268 : data_tmp = IAND(data_tmp, mask_left(54))
44576 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44577 393268 : ipack = ipack + 1
44578 393268 : packed_data(ipack) = pack_tmp
44579 393268 : data_tmp = full_data(idata)
44580 393268 : pack_tmp = ISHFT(data_tmp, 63)
44581 393268 : pack_tmp = ISHFT(pack_tmp, -55)
44582 393268 : idata = idata + 1
44583 393268 : data_tmp = full_data(idata)
44584 393268 : data_tmp = ISHFT(data_tmp, 9)
44585 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44586 393268 : pack_tmp = ISHFT(pack_tmp, -8)
44587 393268 : idata = idata + 1
44588 393268 : data_tmp = full_data(idata)
44589 393268 : data_tmp = ISHFT(data_tmp, 9)
44590 393268 : data_tmp = IAND(data_tmp, mask_left(8))
44591 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44592 393268 : ipack = ipack + 1
44593 393268 : packed_data(ipack) = pack_tmp
44594 393268 : data_tmp = full_data(idata)
44595 393268 : pack_tmp = ISHFT(data_tmp, 17)
44596 393268 : pack_tmp = ISHFT(pack_tmp, -17)
44597 393268 : idata = idata + 1
44598 393268 : data_tmp = full_data(idata)
44599 393268 : data_tmp = ISHFT(data_tmp, 9)
44600 393268 : data_tmp = IAND(data_tmp, mask_left(17))
44601 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44602 393268 : ipack = ipack + 1
44603 393268 : packed_data(ipack) = pack_tmp
44604 393268 : data_tmp = full_data(idata)
44605 393268 : pack_tmp = ISHFT(data_tmp, 26)
44606 393268 : pack_tmp = ISHFT(pack_tmp, -26)
44607 393268 : idata = idata + 1
44608 393268 : data_tmp = full_data(idata)
44609 393268 : data_tmp = ISHFT(data_tmp, 9)
44610 393268 : data_tmp = IAND(data_tmp, mask_left(26))
44611 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44612 393268 : ipack = ipack + 1
44613 393268 : packed_data(ipack) = pack_tmp
44614 393268 : data_tmp = full_data(idata)
44615 393268 : pack_tmp = ISHFT(data_tmp, 35)
44616 393268 : pack_tmp = ISHFT(pack_tmp, -35)
44617 393268 : idata = idata + 1
44618 393268 : data_tmp = full_data(idata)
44619 393268 : data_tmp = ISHFT(data_tmp, 9)
44620 393268 : data_tmp = IAND(data_tmp, mask_left(35))
44621 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44622 393268 : ipack = ipack + 1
44623 393268 : packed_data(ipack) = pack_tmp
44624 393268 : data_tmp = full_data(idata)
44625 393268 : pack_tmp = ISHFT(data_tmp, 44)
44626 393268 : pack_tmp = ISHFT(pack_tmp, -44)
44627 393268 : idata = idata + 1
44628 393268 : data_tmp = full_data(idata)
44629 393268 : data_tmp = ISHFT(data_tmp, 9)
44630 393268 : data_tmp = IAND(data_tmp, mask_left(44))
44631 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44632 393268 : ipack = ipack + 1
44633 393268 : packed_data(ipack) = pack_tmp
44634 393268 : data_tmp = full_data(idata)
44635 393268 : pack_tmp = ISHFT(data_tmp, 53)
44636 393268 : pack_tmp = ISHFT(pack_tmp, -53)
44637 393268 : idata = idata + 1
44638 393268 : data_tmp = full_data(idata)
44639 393268 : data_tmp = ISHFT(data_tmp, 9)
44640 393268 : data_tmp = IAND(data_tmp, mask_left(53))
44641 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44642 393268 : ipack = ipack + 1
44643 393268 : packed_data(ipack) = pack_tmp
44644 393268 : data_tmp = full_data(idata)
44645 393268 : pack_tmp = ISHFT(data_tmp, 62)
44646 393268 : pack_tmp = ISHFT(pack_tmp, -55)
44647 393268 : idata = idata + 1
44648 393268 : data_tmp = full_data(idata)
44649 393268 : data_tmp = ISHFT(data_tmp, 9)
44650 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44651 393268 : pack_tmp = ISHFT(pack_tmp, -7)
44652 393268 : idata = idata + 1
44653 393268 : data_tmp = full_data(idata)
44654 393268 : data_tmp = ISHFT(data_tmp, 9)
44655 393268 : data_tmp = IAND(data_tmp, mask_left(7))
44656 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44657 393268 : ipack = ipack + 1
44658 393268 : packed_data(ipack) = pack_tmp
44659 393268 : data_tmp = full_data(idata)
44660 393268 : pack_tmp = ISHFT(data_tmp, 16)
44661 393268 : pack_tmp = ISHFT(pack_tmp, -16)
44662 393268 : idata = idata + 1
44663 393268 : data_tmp = full_data(idata)
44664 393268 : data_tmp = ISHFT(data_tmp, 9)
44665 393268 : data_tmp = IAND(data_tmp, mask_left(16))
44666 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44667 393268 : ipack = ipack + 1
44668 393268 : packed_data(ipack) = pack_tmp
44669 393268 : data_tmp = full_data(idata)
44670 393268 : pack_tmp = ISHFT(data_tmp, 25)
44671 393268 : pack_tmp = ISHFT(pack_tmp, -25)
44672 393268 : idata = idata + 1
44673 393268 : data_tmp = full_data(idata)
44674 393268 : data_tmp = ISHFT(data_tmp, 9)
44675 393268 : data_tmp = IAND(data_tmp, mask_left(25))
44676 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44677 393268 : ipack = ipack + 1
44678 393268 : packed_data(ipack) = pack_tmp
44679 393268 : data_tmp = full_data(idata)
44680 393268 : pack_tmp = ISHFT(data_tmp, 34)
44681 393268 : pack_tmp = ISHFT(pack_tmp, -34)
44682 393268 : idata = idata + 1
44683 393268 : data_tmp = full_data(idata)
44684 393268 : data_tmp = ISHFT(data_tmp, 9)
44685 393268 : data_tmp = IAND(data_tmp, mask_left(34))
44686 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44687 393268 : ipack = ipack + 1
44688 393268 : packed_data(ipack) = pack_tmp
44689 393268 : data_tmp = full_data(idata)
44690 393268 : pack_tmp = ISHFT(data_tmp, 43)
44691 393268 : pack_tmp = ISHFT(pack_tmp, -43)
44692 393268 : idata = idata + 1
44693 393268 : data_tmp = full_data(idata)
44694 393268 : data_tmp = ISHFT(data_tmp, 9)
44695 393268 : data_tmp = IAND(data_tmp, mask_left(43))
44696 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44697 393268 : ipack = ipack + 1
44698 393268 : packed_data(ipack) = pack_tmp
44699 393268 : data_tmp = full_data(idata)
44700 393268 : pack_tmp = ISHFT(data_tmp, 52)
44701 393268 : pack_tmp = ISHFT(pack_tmp, -52)
44702 393268 : idata = idata + 1
44703 393268 : data_tmp = full_data(idata)
44704 393268 : data_tmp = ISHFT(data_tmp, 9)
44705 393268 : data_tmp = IAND(data_tmp, mask_left(52))
44706 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44707 393268 : ipack = ipack + 1
44708 393268 : packed_data(ipack) = pack_tmp
44709 393268 : data_tmp = full_data(idata)
44710 393268 : pack_tmp = ISHFT(data_tmp, 61)
44711 393268 : pack_tmp = ISHFT(pack_tmp, -55)
44712 393268 : idata = idata + 1
44713 393268 : data_tmp = full_data(idata)
44714 393268 : data_tmp = ISHFT(data_tmp, 9)
44715 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44716 393268 : pack_tmp = ISHFT(pack_tmp, -6)
44717 393268 : idata = idata + 1
44718 393268 : data_tmp = full_data(idata)
44719 393268 : data_tmp = ISHFT(data_tmp, 9)
44720 393268 : data_tmp = IAND(data_tmp, mask_left(6))
44721 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44722 393268 : ipack = ipack + 1
44723 393268 : packed_data(ipack) = pack_tmp
44724 393268 : data_tmp = full_data(idata)
44725 393268 : pack_tmp = ISHFT(data_tmp, 15)
44726 393268 : pack_tmp = ISHFT(pack_tmp, -15)
44727 393268 : idata = idata + 1
44728 393268 : data_tmp = full_data(idata)
44729 393268 : data_tmp = ISHFT(data_tmp, 9)
44730 393268 : data_tmp = IAND(data_tmp, mask_left(15))
44731 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44732 393268 : ipack = ipack + 1
44733 393268 : packed_data(ipack) = pack_tmp
44734 393268 : data_tmp = full_data(idata)
44735 393268 : pack_tmp = ISHFT(data_tmp, 24)
44736 393268 : pack_tmp = ISHFT(pack_tmp, -24)
44737 393268 : idata = idata + 1
44738 393268 : data_tmp = full_data(idata)
44739 393268 : data_tmp = ISHFT(data_tmp, 9)
44740 393268 : data_tmp = IAND(data_tmp, mask_left(24))
44741 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44742 393268 : ipack = ipack + 1
44743 393268 : packed_data(ipack) = pack_tmp
44744 393268 : data_tmp = full_data(idata)
44745 393268 : pack_tmp = ISHFT(data_tmp, 33)
44746 393268 : pack_tmp = ISHFT(pack_tmp, -33)
44747 393268 : idata = idata + 1
44748 393268 : data_tmp = full_data(idata)
44749 393268 : data_tmp = ISHFT(data_tmp, 9)
44750 393268 : data_tmp = IAND(data_tmp, mask_left(33))
44751 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44752 393268 : ipack = ipack + 1
44753 393268 : packed_data(ipack) = pack_tmp
44754 393268 : data_tmp = full_data(idata)
44755 393268 : pack_tmp = ISHFT(data_tmp, 42)
44756 393268 : pack_tmp = ISHFT(pack_tmp, -42)
44757 393268 : idata = idata + 1
44758 393268 : data_tmp = full_data(idata)
44759 393268 : data_tmp = ISHFT(data_tmp, 9)
44760 393268 : data_tmp = IAND(data_tmp, mask_left(42))
44761 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44762 393268 : ipack = ipack + 1
44763 393268 : packed_data(ipack) = pack_tmp
44764 393268 : data_tmp = full_data(idata)
44765 393268 : pack_tmp = ISHFT(data_tmp, 51)
44766 393268 : pack_tmp = ISHFT(pack_tmp, -51)
44767 393268 : idata = idata + 1
44768 393268 : data_tmp = full_data(idata)
44769 393268 : data_tmp = ISHFT(data_tmp, 9)
44770 393268 : data_tmp = IAND(data_tmp, mask_left(51))
44771 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44772 393268 : ipack = ipack + 1
44773 393268 : packed_data(ipack) = pack_tmp
44774 393268 : data_tmp = full_data(idata)
44775 393268 : pack_tmp = ISHFT(data_tmp, 60)
44776 393268 : pack_tmp = ISHFT(pack_tmp, -55)
44777 393268 : idata = idata + 1
44778 393268 : data_tmp = full_data(idata)
44779 393268 : data_tmp = ISHFT(data_tmp, 9)
44780 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44781 393268 : pack_tmp = ISHFT(pack_tmp, -5)
44782 393268 : idata = idata + 1
44783 393268 : data_tmp = full_data(idata)
44784 393268 : data_tmp = ISHFT(data_tmp, 9)
44785 393268 : data_tmp = IAND(data_tmp, mask_left(5))
44786 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44787 393268 : ipack = ipack + 1
44788 393268 : packed_data(ipack) = pack_tmp
44789 393268 : data_tmp = full_data(idata)
44790 393268 : pack_tmp = ISHFT(data_tmp, 14)
44791 393268 : pack_tmp = ISHFT(pack_tmp, -14)
44792 393268 : idata = idata + 1
44793 393268 : data_tmp = full_data(idata)
44794 393268 : data_tmp = ISHFT(data_tmp, 9)
44795 393268 : data_tmp = IAND(data_tmp, mask_left(14))
44796 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44797 393268 : ipack = ipack + 1
44798 393268 : packed_data(ipack) = pack_tmp
44799 393268 : data_tmp = full_data(idata)
44800 393268 : pack_tmp = ISHFT(data_tmp, 23)
44801 393268 : pack_tmp = ISHFT(pack_tmp, -23)
44802 393268 : idata = idata + 1
44803 393268 : data_tmp = full_data(idata)
44804 393268 : data_tmp = ISHFT(data_tmp, 9)
44805 393268 : data_tmp = IAND(data_tmp, mask_left(23))
44806 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44807 393268 : ipack = ipack + 1
44808 393268 : packed_data(ipack) = pack_tmp
44809 393268 : data_tmp = full_data(idata)
44810 393268 : pack_tmp = ISHFT(data_tmp, 32)
44811 393268 : pack_tmp = ISHFT(pack_tmp, -32)
44812 393268 : idata = idata + 1
44813 393268 : data_tmp = full_data(idata)
44814 393268 : data_tmp = ISHFT(data_tmp, 9)
44815 393268 : data_tmp = IAND(data_tmp, mask_left(32))
44816 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44817 393268 : ipack = ipack + 1
44818 393268 : packed_data(ipack) = pack_tmp
44819 393268 : data_tmp = full_data(idata)
44820 393268 : pack_tmp = ISHFT(data_tmp, 41)
44821 393268 : pack_tmp = ISHFT(pack_tmp, -41)
44822 393268 : idata = idata + 1
44823 393268 : data_tmp = full_data(idata)
44824 393268 : data_tmp = ISHFT(data_tmp, 9)
44825 393268 : data_tmp = IAND(data_tmp, mask_left(41))
44826 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44827 393268 : ipack = ipack + 1
44828 393268 : packed_data(ipack) = pack_tmp
44829 393268 : data_tmp = full_data(idata)
44830 393268 : pack_tmp = ISHFT(data_tmp, 50)
44831 393268 : pack_tmp = ISHFT(pack_tmp, -50)
44832 393268 : idata = idata + 1
44833 393268 : data_tmp = full_data(idata)
44834 393268 : data_tmp = ISHFT(data_tmp, 9)
44835 393268 : data_tmp = IAND(data_tmp, mask_left(50))
44836 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44837 393268 : ipack = ipack + 1
44838 393268 : packed_data(ipack) = pack_tmp
44839 393268 : data_tmp = full_data(idata)
44840 393268 : pack_tmp = ISHFT(data_tmp, 59)
44841 393268 : pack_tmp = ISHFT(pack_tmp, -55)
44842 393268 : idata = idata + 1
44843 393268 : data_tmp = full_data(idata)
44844 393268 : data_tmp = ISHFT(data_tmp, 9)
44845 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44846 393268 : pack_tmp = ISHFT(pack_tmp, -4)
44847 393268 : idata = idata + 1
44848 393268 : data_tmp = full_data(idata)
44849 393268 : data_tmp = ISHFT(data_tmp, 9)
44850 393268 : data_tmp = IAND(data_tmp, mask_left(4))
44851 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44852 393268 : ipack = ipack + 1
44853 393268 : packed_data(ipack) = pack_tmp
44854 393268 : data_tmp = full_data(idata)
44855 393268 : pack_tmp = ISHFT(data_tmp, 13)
44856 393268 : pack_tmp = ISHFT(pack_tmp, -13)
44857 393268 : idata = idata + 1
44858 393268 : data_tmp = full_data(idata)
44859 393268 : data_tmp = ISHFT(data_tmp, 9)
44860 393268 : data_tmp = IAND(data_tmp, mask_left(13))
44861 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44862 393268 : ipack = ipack + 1
44863 393268 : packed_data(ipack) = pack_tmp
44864 393268 : data_tmp = full_data(idata)
44865 393268 : pack_tmp = ISHFT(data_tmp, 22)
44866 393268 : pack_tmp = ISHFT(pack_tmp, -22)
44867 393268 : idata = idata + 1
44868 393268 : data_tmp = full_data(idata)
44869 393268 : data_tmp = ISHFT(data_tmp, 9)
44870 393268 : data_tmp = IAND(data_tmp, mask_left(22))
44871 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44872 393268 : ipack = ipack + 1
44873 393268 : packed_data(ipack) = pack_tmp
44874 393268 : data_tmp = full_data(idata)
44875 393268 : pack_tmp = ISHFT(data_tmp, 31)
44876 393268 : pack_tmp = ISHFT(pack_tmp, -31)
44877 393268 : idata = idata + 1
44878 393268 : data_tmp = full_data(idata)
44879 393268 : data_tmp = ISHFT(data_tmp, 9)
44880 393268 : data_tmp = IAND(data_tmp, mask_left(31))
44881 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44882 393268 : ipack = ipack + 1
44883 393268 : packed_data(ipack) = pack_tmp
44884 393268 : data_tmp = full_data(idata)
44885 393268 : pack_tmp = ISHFT(data_tmp, 40)
44886 393268 : pack_tmp = ISHFT(pack_tmp, -40)
44887 393268 : idata = idata + 1
44888 393268 : data_tmp = full_data(idata)
44889 393268 : data_tmp = ISHFT(data_tmp, 9)
44890 393268 : data_tmp = IAND(data_tmp, mask_left(40))
44891 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44892 393268 : ipack = ipack + 1
44893 393268 : packed_data(ipack) = pack_tmp
44894 393268 : data_tmp = full_data(idata)
44895 393268 : pack_tmp = ISHFT(data_tmp, 49)
44896 393268 : pack_tmp = ISHFT(pack_tmp, -49)
44897 393268 : idata = idata + 1
44898 393268 : data_tmp = full_data(idata)
44899 393268 : data_tmp = ISHFT(data_tmp, 9)
44900 393268 : data_tmp = IAND(data_tmp, mask_left(49))
44901 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44902 393268 : ipack = ipack + 1
44903 393268 : packed_data(ipack) = pack_tmp
44904 393268 : data_tmp = full_data(idata)
44905 393268 : pack_tmp = ISHFT(data_tmp, 58)
44906 393268 : pack_tmp = ISHFT(pack_tmp, -55)
44907 393268 : idata = idata + 1
44908 393268 : data_tmp = full_data(idata)
44909 393268 : data_tmp = ISHFT(data_tmp, 9)
44910 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44911 393268 : pack_tmp = ISHFT(pack_tmp, -3)
44912 393268 : idata = idata + 1
44913 393268 : data_tmp = full_data(idata)
44914 393268 : data_tmp = ISHFT(data_tmp, 9)
44915 393268 : data_tmp = IAND(data_tmp, mask_left(3))
44916 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44917 393268 : ipack = ipack + 1
44918 393268 : packed_data(ipack) = pack_tmp
44919 393268 : data_tmp = full_data(idata)
44920 393268 : pack_tmp = ISHFT(data_tmp, 12)
44921 393268 : pack_tmp = ISHFT(pack_tmp, -12)
44922 393268 : idata = idata + 1
44923 393268 : data_tmp = full_data(idata)
44924 393268 : data_tmp = ISHFT(data_tmp, 9)
44925 393268 : data_tmp = IAND(data_tmp, mask_left(12))
44926 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44927 393268 : ipack = ipack + 1
44928 393268 : packed_data(ipack) = pack_tmp
44929 393268 : data_tmp = full_data(idata)
44930 393268 : pack_tmp = ISHFT(data_tmp, 21)
44931 393268 : pack_tmp = ISHFT(pack_tmp, -21)
44932 393268 : idata = idata + 1
44933 393268 : data_tmp = full_data(idata)
44934 393268 : data_tmp = ISHFT(data_tmp, 9)
44935 393268 : data_tmp = IAND(data_tmp, mask_left(21))
44936 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44937 393268 : ipack = ipack + 1
44938 393268 : packed_data(ipack) = pack_tmp
44939 393268 : data_tmp = full_data(idata)
44940 393268 : pack_tmp = ISHFT(data_tmp, 30)
44941 393268 : pack_tmp = ISHFT(pack_tmp, -30)
44942 393268 : idata = idata + 1
44943 393268 : data_tmp = full_data(idata)
44944 393268 : data_tmp = ISHFT(data_tmp, 9)
44945 393268 : data_tmp = IAND(data_tmp, mask_left(30))
44946 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44947 393268 : ipack = ipack + 1
44948 393268 : packed_data(ipack) = pack_tmp
44949 393268 : data_tmp = full_data(idata)
44950 393268 : pack_tmp = ISHFT(data_tmp, 39)
44951 393268 : pack_tmp = ISHFT(pack_tmp, -39)
44952 393268 : idata = idata + 1
44953 393268 : data_tmp = full_data(idata)
44954 393268 : data_tmp = ISHFT(data_tmp, 9)
44955 393268 : data_tmp = IAND(data_tmp, mask_left(39))
44956 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44957 393268 : ipack = ipack + 1
44958 393268 : packed_data(ipack) = pack_tmp
44959 393268 : data_tmp = full_data(idata)
44960 393268 : pack_tmp = ISHFT(data_tmp, 48)
44961 393268 : pack_tmp = ISHFT(pack_tmp, -48)
44962 393268 : idata = idata + 1
44963 393268 : data_tmp = full_data(idata)
44964 393268 : data_tmp = ISHFT(data_tmp, 9)
44965 393268 : data_tmp = IAND(data_tmp, mask_left(48))
44966 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44967 393268 : ipack = ipack + 1
44968 393268 : packed_data(ipack) = pack_tmp
44969 393268 : data_tmp = full_data(idata)
44970 393268 : pack_tmp = ISHFT(data_tmp, 57)
44971 393268 : pack_tmp = ISHFT(pack_tmp, -55)
44972 393268 : idata = idata + 1
44973 393268 : data_tmp = full_data(idata)
44974 393268 : data_tmp = ISHFT(data_tmp, 9)
44975 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44976 393268 : pack_tmp = ISHFT(pack_tmp, -2)
44977 393268 : idata = idata + 1
44978 393268 : data_tmp = full_data(idata)
44979 393268 : data_tmp = ISHFT(data_tmp, 9)
44980 393268 : data_tmp = IAND(data_tmp, mask_left(2))
44981 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44982 393268 : ipack = ipack + 1
44983 393268 : packed_data(ipack) = pack_tmp
44984 393268 : data_tmp = full_data(idata)
44985 393268 : pack_tmp = ISHFT(data_tmp, 11)
44986 393268 : pack_tmp = ISHFT(pack_tmp, -11)
44987 393268 : idata = idata + 1
44988 393268 : data_tmp = full_data(idata)
44989 393268 : data_tmp = ISHFT(data_tmp, 9)
44990 393268 : data_tmp = IAND(data_tmp, mask_left(11))
44991 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
44992 393268 : ipack = ipack + 1
44993 393268 : packed_data(ipack) = pack_tmp
44994 393268 : data_tmp = full_data(idata)
44995 393268 : pack_tmp = ISHFT(data_tmp, 20)
44996 393268 : pack_tmp = ISHFT(pack_tmp, -20)
44997 393268 : idata = idata + 1
44998 393268 : data_tmp = full_data(idata)
44999 393268 : data_tmp = ISHFT(data_tmp, 9)
45000 393268 : data_tmp = IAND(data_tmp, mask_left(20))
45001 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45002 393268 : ipack = ipack + 1
45003 393268 : packed_data(ipack) = pack_tmp
45004 393268 : data_tmp = full_data(idata)
45005 393268 : pack_tmp = ISHFT(data_tmp, 29)
45006 393268 : pack_tmp = ISHFT(pack_tmp, -29)
45007 393268 : idata = idata + 1
45008 393268 : data_tmp = full_data(idata)
45009 393268 : data_tmp = ISHFT(data_tmp, 9)
45010 393268 : data_tmp = IAND(data_tmp, mask_left(29))
45011 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45012 393268 : ipack = ipack + 1
45013 393268 : packed_data(ipack) = pack_tmp
45014 393268 : data_tmp = full_data(idata)
45015 393268 : pack_tmp = ISHFT(data_tmp, 38)
45016 393268 : pack_tmp = ISHFT(pack_tmp, -38)
45017 393268 : idata = idata + 1
45018 393268 : data_tmp = full_data(idata)
45019 393268 : data_tmp = ISHFT(data_tmp, 9)
45020 393268 : data_tmp = IAND(data_tmp, mask_left(38))
45021 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45022 393268 : ipack = ipack + 1
45023 393268 : packed_data(ipack) = pack_tmp
45024 393268 : data_tmp = full_data(idata)
45025 393268 : pack_tmp = ISHFT(data_tmp, 47)
45026 393268 : pack_tmp = ISHFT(pack_tmp, -47)
45027 393268 : idata = idata + 1
45028 393268 : data_tmp = full_data(idata)
45029 393268 : data_tmp = ISHFT(data_tmp, 9)
45030 393268 : data_tmp = IAND(data_tmp, mask_left(47))
45031 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45032 393268 : ipack = ipack + 1
45033 393268 : packed_data(ipack) = pack_tmp
45034 393268 : data_tmp = full_data(idata)
45035 393268 : pack_tmp = ISHFT(data_tmp, 56)
45036 393268 : pack_tmp = ISHFT(pack_tmp, -55)
45037 393268 : idata = idata + 1
45038 393268 : data_tmp = full_data(idata)
45039 393268 : data_tmp = ISHFT(data_tmp, 9)
45040 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45041 393268 : pack_tmp = ISHFT(pack_tmp, -1)
45042 393268 : idata = idata + 1
45043 393268 : data_tmp = full_data(idata)
45044 393268 : data_tmp = ISHFT(data_tmp, 9)
45045 393268 : data_tmp = IAND(data_tmp, mask_left(1))
45046 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45047 393268 : ipack = ipack + 1
45048 393268 : packed_data(ipack) = pack_tmp
45049 393268 : data_tmp = full_data(idata)
45050 393268 : pack_tmp = ISHFT(data_tmp, 10)
45051 393268 : pack_tmp = ISHFT(pack_tmp, -10)
45052 393268 : idata = idata + 1
45053 393268 : data_tmp = full_data(idata)
45054 393268 : data_tmp = ISHFT(data_tmp, 9)
45055 393268 : data_tmp = IAND(data_tmp, mask_left(10))
45056 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45057 393268 : ipack = ipack + 1
45058 393268 : packed_data(ipack) = pack_tmp
45059 393268 : data_tmp = full_data(idata)
45060 393268 : pack_tmp = ISHFT(data_tmp, 19)
45061 393268 : pack_tmp = ISHFT(pack_tmp, -19)
45062 393268 : idata = idata + 1
45063 393268 : data_tmp = full_data(idata)
45064 393268 : data_tmp = ISHFT(data_tmp, 9)
45065 393268 : data_tmp = IAND(data_tmp, mask_left(19))
45066 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45067 393268 : ipack = ipack + 1
45068 393268 : packed_data(ipack) = pack_tmp
45069 393268 : data_tmp = full_data(idata)
45070 393268 : pack_tmp = ISHFT(data_tmp, 28)
45071 393268 : pack_tmp = ISHFT(pack_tmp, -28)
45072 393268 : idata = idata + 1
45073 393268 : data_tmp = full_data(idata)
45074 393268 : data_tmp = ISHFT(data_tmp, 9)
45075 393268 : data_tmp = IAND(data_tmp, mask_left(28))
45076 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45077 393268 : ipack = ipack + 1
45078 393268 : packed_data(ipack) = pack_tmp
45079 393268 : data_tmp = full_data(idata)
45080 393268 : pack_tmp = ISHFT(data_tmp, 37)
45081 393268 : pack_tmp = ISHFT(pack_tmp, -37)
45082 393268 : idata = idata + 1
45083 393268 : data_tmp = full_data(idata)
45084 393268 : data_tmp = ISHFT(data_tmp, 9)
45085 393268 : data_tmp = IAND(data_tmp, mask_left(37))
45086 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45087 393268 : ipack = ipack + 1
45088 393268 : packed_data(ipack) = pack_tmp
45089 393268 : data_tmp = full_data(idata)
45090 393268 : pack_tmp = ISHFT(data_tmp, 46)
45091 393268 : pack_tmp = ISHFT(pack_tmp, -46)
45092 393268 : idata = idata + 1
45093 393268 : data_tmp = full_data(idata)
45094 393268 : data_tmp = ISHFT(data_tmp, 9)
45095 393268 : data_tmp = IAND(data_tmp, mask_left(46))
45096 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45097 393268 : ipack = ipack + 1
45098 393268 : packed_data(ipack) = pack_tmp
45099 393268 : data_tmp = full_data(idata)
45100 393268 : pack_tmp = ISHFT(data_tmp, 55)
45101 393268 : pack_tmp = ISHFT(pack_tmp, -55)
45102 393268 : idata = idata + 1
45103 393268 : data_tmp = full_data(idata)
45104 393268 : data_tmp = ISHFT(data_tmp, 9)
45105 393268 : pack_tmp = IOR(pack_tmp, data_tmp)
45106 : pack_tmp = ISHFT(pack_tmp, 0)
45107 393268 : pack_tmp = ISHFT(pack_tmp, 0)
45108 393268 : ipack = ipack + 1
45109 393282 : packed_data(ipack) = pack_tmp
45110 : END DO
45111 24728 : IF (Ndata_rep < Ndata) THEN
45112 280 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
45113 : END IF
45114 24728 : END SUBROUTINE ints2bits_55
45115 :
45116 : ! **************************************************************************************************
45117 : !> \brief ...
45118 : !> \param Ndata ...
45119 : !> \param packed_data ...
45120 : !> \param full_data ...
45121 : ! **************************************************************************************************
45122 109759 : 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(*)
45126 :
45127 : INTEGER, PARAMETER :: Nbits = 55
45128 :
45129 : INTEGER :: idata, ipack, kdata, Ndata_rep
45130 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
45131 :
45132 109759 : ipack = 0
45133 109759 : idata = 0
45134 109759 : pack_tmp = 0
45135 109759 : Ndata_rep = (Ndata/64)*64
45136 109759 : DO kdata = 1, Ndata_rep, 64
45137 1667438 : idata = idata + 1
45138 1667438 : data_tmp = ISHFT(pack_tmp, 55)
45139 1667438 : ipack = ipack + 1
45140 1667438 : pack_tmp = packed_data(ipack)
45141 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
45142 1667438 : pack_tmp = ISHFT(pack_tmp, -55)
45143 1667438 : idata = idata + 1
45144 1667438 : data_tmp = ISHFT(pack_tmp, 46)
45145 1667438 : ipack = ipack + 1
45146 1667438 : pack_tmp = packed_data(ipack)
45147 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
45148 1667438 : pack_tmp = ISHFT(pack_tmp, -46)
45149 1667438 : idata = idata + 1
45150 1667438 : data_tmp = ISHFT(pack_tmp, 37)
45151 1667438 : ipack = ipack + 1
45152 1667438 : pack_tmp = packed_data(ipack)
45153 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
45154 1667438 : pack_tmp = ISHFT(pack_tmp, -37)
45155 1667438 : idata = idata + 1
45156 1667438 : data_tmp = ISHFT(pack_tmp, 28)
45157 1667438 : ipack = ipack + 1
45158 1667438 : pack_tmp = packed_data(ipack)
45159 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
45160 1667438 : pack_tmp = ISHFT(pack_tmp, -28)
45161 1667438 : idata = idata + 1
45162 1667438 : data_tmp = ISHFT(pack_tmp, 19)
45163 1667438 : ipack = ipack + 1
45164 1667438 : pack_tmp = packed_data(ipack)
45165 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
45166 1667438 : pack_tmp = ISHFT(pack_tmp, -19)
45167 1667438 : idata = idata + 1
45168 1667438 : data_tmp = ISHFT(pack_tmp, 10)
45169 1667438 : ipack = ipack + 1
45170 1667438 : pack_tmp = packed_data(ipack)
45171 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
45172 1667438 : pack_tmp = ISHFT(pack_tmp, -10)
45173 1667438 : idata = idata + 1
45174 1667438 : data_tmp = ISHFT(pack_tmp, 1)
45175 1667438 : ipack = ipack + 1
45176 1667438 : pack_tmp = packed_data(ipack)
45177 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
45178 1667438 : pack_tmp = ISHFT(pack_tmp, -1)
45179 1667438 : idata = idata + 1
45180 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45181 1667438 : full_data(idata) = data_tmp
45182 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45183 1667438 : idata = idata + 1
45184 1667438 : data_tmp = ISHFT(pack_tmp, 47)
45185 1667438 : ipack = ipack + 1
45186 1667438 : pack_tmp = packed_data(ipack)
45187 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
45188 1667438 : pack_tmp = ISHFT(pack_tmp, -47)
45189 1667438 : idata = idata + 1
45190 1667438 : data_tmp = ISHFT(pack_tmp, 38)
45191 1667438 : ipack = ipack + 1
45192 1667438 : pack_tmp = packed_data(ipack)
45193 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
45194 1667438 : pack_tmp = ISHFT(pack_tmp, -38)
45195 1667438 : idata = idata + 1
45196 1667438 : data_tmp = ISHFT(pack_tmp, 29)
45197 1667438 : ipack = ipack + 1
45198 1667438 : pack_tmp = packed_data(ipack)
45199 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
45200 1667438 : pack_tmp = ISHFT(pack_tmp, -29)
45201 1667438 : idata = idata + 1
45202 1667438 : data_tmp = ISHFT(pack_tmp, 20)
45203 1667438 : ipack = ipack + 1
45204 1667438 : pack_tmp = packed_data(ipack)
45205 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
45206 1667438 : pack_tmp = ISHFT(pack_tmp, -20)
45207 1667438 : idata = idata + 1
45208 1667438 : data_tmp = ISHFT(pack_tmp, 11)
45209 1667438 : ipack = ipack + 1
45210 1667438 : pack_tmp = packed_data(ipack)
45211 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
45212 1667438 : pack_tmp = ISHFT(pack_tmp, -11)
45213 1667438 : idata = idata + 1
45214 1667438 : data_tmp = ISHFT(pack_tmp, 2)
45215 1667438 : ipack = ipack + 1
45216 1667438 : pack_tmp = packed_data(ipack)
45217 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
45218 1667438 : pack_tmp = ISHFT(pack_tmp, -2)
45219 1667438 : idata = idata + 1
45220 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45221 1667438 : full_data(idata) = data_tmp
45222 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45223 1667438 : idata = idata + 1
45224 1667438 : data_tmp = ISHFT(pack_tmp, 48)
45225 1667438 : ipack = ipack + 1
45226 1667438 : pack_tmp = packed_data(ipack)
45227 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
45228 1667438 : pack_tmp = ISHFT(pack_tmp, -48)
45229 1667438 : idata = idata + 1
45230 1667438 : data_tmp = ISHFT(pack_tmp, 39)
45231 1667438 : ipack = ipack + 1
45232 1667438 : pack_tmp = packed_data(ipack)
45233 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
45234 1667438 : pack_tmp = ISHFT(pack_tmp, -39)
45235 1667438 : idata = idata + 1
45236 1667438 : data_tmp = ISHFT(pack_tmp, 30)
45237 1667438 : ipack = ipack + 1
45238 1667438 : pack_tmp = packed_data(ipack)
45239 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
45240 1667438 : pack_tmp = ISHFT(pack_tmp, -30)
45241 1667438 : idata = idata + 1
45242 1667438 : data_tmp = ISHFT(pack_tmp, 21)
45243 1667438 : ipack = ipack + 1
45244 1667438 : pack_tmp = packed_data(ipack)
45245 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
45246 1667438 : pack_tmp = ISHFT(pack_tmp, -21)
45247 1667438 : idata = idata + 1
45248 1667438 : data_tmp = ISHFT(pack_tmp, 12)
45249 1667438 : ipack = ipack + 1
45250 1667438 : pack_tmp = packed_data(ipack)
45251 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
45252 1667438 : pack_tmp = ISHFT(pack_tmp, -12)
45253 1667438 : idata = idata + 1
45254 1667438 : data_tmp = ISHFT(pack_tmp, 3)
45255 1667438 : ipack = ipack + 1
45256 1667438 : pack_tmp = packed_data(ipack)
45257 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
45258 1667438 : pack_tmp = ISHFT(pack_tmp, -3)
45259 1667438 : idata = idata + 1
45260 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45261 1667438 : full_data(idata) = data_tmp
45262 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45263 1667438 : idata = idata + 1
45264 1667438 : data_tmp = ISHFT(pack_tmp, 49)
45265 1667438 : ipack = ipack + 1
45266 1667438 : pack_tmp = packed_data(ipack)
45267 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
45268 1667438 : pack_tmp = ISHFT(pack_tmp, -49)
45269 1667438 : idata = idata + 1
45270 1667438 : data_tmp = ISHFT(pack_tmp, 40)
45271 1667438 : ipack = ipack + 1
45272 1667438 : pack_tmp = packed_data(ipack)
45273 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
45274 1667438 : pack_tmp = ISHFT(pack_tmp, -40)
45275 1667438 : idata = idata + 1
45276 1667438 : data_tmp = ISHFT(pack_tmp, 31)
45277 1667438 : ipack = ipack + 1
45278 1667438 : pack_tmp = packed_data(ipack)
45279 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
45280 1667438 : pack_tmp = ISHFT(pack_tmp, -31)
45281 1667438 : idata = idata + 1
45282 1667438 : data_tmp = ISHFT(pack_tmp, 22)
45283 1667438 : ipack = ipack + 1
45284 1667438 : pack_tmp = packed_data(ipack)
45285 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
45286 1667438 : pack_tmp = ISHFT(pack_tmp, -22)
45287 1667438 : idata = idata + 1
45288 1667438 : data_tmp = ISHFT(pack_tmp, 13)
45289 1667438 : ipack = ipack + 1
45290 1667438 : pack_tmp = packed_data(ipack)
45291 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
45292 1667438 : pack_tmp = ISHFT(pack_tmp, -13)
45293 1667438 : idata = idata + 1
45294 1667438 : data_tmp = ISHFT(pack_tmp, 4)
45295 1667438 : ipack = ipack + 1
45296 1667438 : pack_tmp = packed_data(ipack)
45297 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
45298 1667438 : pack_tmp = ISHFT(pack_tmp, -4)
45299 1667438 : idata = idata + 1
45300 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45301 1667438 : full_data(idata) = data_tmp
45302 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45303 1667438 : idata = idata + 1
45304 1667438 : data_tmp = ISHFT(pack_tmp, 50)
45305 1667438 : ipack = ipack + 1
45306 1667438 : pack_tmp = packed_data(ipack)
45307 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
45308 1667438 : pack_tmp = ISHFT(pack_tmp, -50)
45309 1667438 : idata = idata + 1
45310 1667438 : data_tmp = ISHFT(pack_tmp, 41)
45311 1667438 : ipack = ipack + 1
45312 1667438 : pack_tmp = packed_data(ipack)
45313 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
45314 1667438 : pack_tmp = ISHFT(pack_tmp, -41)
45315 1667438 : idata = idata + 1
45316 1667438 : data_tmp = ISHFT(pack_tmp, 32)
45317 1667438 : ipack = ipack + 1
45318 1667438 : pack_tmp = packed_data(ipack)
45319 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
45320 1667438 : pack_tmp = ISHFT(pack_tmp, -32)
45321 1667438 : idata = idata + 1
45322 1667438 : data_tmp = ISHFT(pack_tmp, 23)
45323 1667438 : ipack = ipack + 1
45324 1667438 : pack_tmp = packed_data(ipack)
45325 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
45326 1667438 : pack_tmp = ISHFT(pack_tmp, -23)
45327 1667438 : idata = idata + 1
45328 1667438 : data_tmp = ISHFT(pack_tmp, 14)
45329 1667438 : ipack = ipack + 1
45330 1667438 : pack_tmp = packed_data(ipack)
45331 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
45332 1667438 : pack_tmp = ISHFT(pack_tmp, -14)
45333 1667438 : idata = idata + 1
45334 1667438 : data_tmp = ISHFT(pack_tmp, 5)
45335 1667438 : ipack = ipack + 1
45336 1667438 : pack_tmp = packed_data(ipack)
45337 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
45338 1667438 : pack_tmp = ISHFT(pack_tmp, -5)
45339 1667438 : idata = idata + 1
45340 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45341 1667438 : full_data(idata) = data_tmp
45342 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45343 1667438 : idata = idata + 1
45344 1667438 : data_tmp = ISHFT(pack_tmp, 51)
45345 1667438 : ipack = ipack + 1
45346 1667438 : pack_tmp = packed_data(ipack)
45347 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
45348 1667438 : pack_tmp = ISHFT(pack_tmp, -51)
45349 1667438 : idata = idata + 1
45350 1667438 : data_tmp = ISHFT(pack_tmp, 42)
45351 1667438 : ipack = ipack + 1
45352 1667438 : pack_tmp = packed_data(ipack)
45353 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
45354 1667438 : pack_tmp = ISHFT(pack_tmp, -42)
45355 1667438 : idata = idata + 1
45356 1667438 : data_tmp = ISHFT(pack_tmp, 33)
45357 1667438 : ipack = ipack + 1
45358 1667438 : pack_tmp = packed_data(ipack)
45359 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
45360 1667438 : pack_tmp = ISHFT(pack_tmp, -33)
45361 1667438 : idata = idata + 1
45362 1667438 : data_tmp = ISHFT(pack_tmp, 24)
45363 1667438 : ipack = ipack + 1
45364 1667438 : pack_tmp = packed_data(ipack)
45365 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
45366 1667438 : pack_tmp = ISHFT(pack_tmp, -24)
45367 1667438 : idata = idata + 1
45368 1667438 : data_tmp = ISHFT(pack_tmp, 15)
45369 1667438 : ipack = ipack + 1
45370 1667438 : pack_tmp = packed_data(ipack)
45371 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
45372 1667438 : pack_tmp = ISHFT(pack_tmp, -15)
45373 1667438 : idata = idata + 1
45374 1667438 : data_tmp = ISHFT(pack_tmp, 6)
45375 1667438 : ipack = ipack + 1
45376 1667438 : pack_tmp = packed_data(ipack)
45377 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
45378 1667438 : pack_tmp = ISHFT(pack_tmp, -6)
45379 1667438 : idata = idata + 1
45380 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45381 1667438 : full_data(idata) = data_tmp
45382 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45383 1667438 : idata = idata + 1
45384 1667438 : data_tmp = ISHFT(pack_tmp, 52)
45385 1667438 : ipack = ipack + 1
45386 1667438 : pack_tmp = packed_data(ipack)
45387 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
45388 1667438 : pack_tmp = ISHFT(pack_tmp, -52)
45389 1667438 : idata = idata + 1
45390 1667438 : data_tmp = ISHFT(pack_tmp, 43)
45391 1667438 : ipack = ipack + 1
45392 1667438 : pack_tmp = packed_data(ipack)
45393 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
45394 1667438 : pack_tmp = ISHFT(pack_tmp, -43)
45395 1667438 : idata = idata + 1
45396 1667438 : data_tmp = ISHFT(pack_tmp, 34)
45397 1667438 : ipack = ipack + 1
45398 1667438 : pack_tmp = packed_data(ipack)
45399 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
45400 1667438 : pack_tmp = ISHFT(pack_tmp, -34)
45401 1667438 : idata = idata + 1
45402 1667438 : data_tmp = ISHFT(pack_tmp, 25)
45403 1667438 : ipack = ipack + 1
45404 1667438 : pack_tmp = packed_data(ipack)
45405 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
45406 1667438 : pack_tmp = ISHFT(pack_tmp, -25)
45407 1667438 : idata = idata + 1
45408 1667438 : data_tmp = ISHFT(pack_tmp, 16)
45409 1667438 : ipack = ipack + 1
45410 1667438 : pack_tmp = packed_data(ipack)
45411 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
45412 1667438 : pack_tmp = ISHFT(pack_tmp, -16)
45413 1667438 : idata = idata + 1
45414 1667438 : data_tmp = ISHFT(pack_tmp, 7)
45415 1667438 : ipack = ipack + 1
45416 1667438 : pack_tmp = packed_data(ipack)
45417 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
45418 1667438 : pack_tmp = ISHFT(pack_tmp, -7)
45419 1667438 : idata = idata + 1
45420 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45421 1667438 : full_data(idata) = data_tmp
45422 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45423 1667438 : idata = idata + 1
45424 1667438 : data_tmp = ISHFT(pack_tmp, 53)
45425 1667438 : ipack = ipack + 1
45426 1667438 : pack_tmp = packed_data(ipack)
45427 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
45428 1667438 : pack_tmp = ISHFT(pack_tmp, -53)
45429 1667438 : idata = idata + 1
45430 1667438 : data_tmp = ISHFT(pack_tmp, 44)
45431 1667438 : ipack = ipack + 1
45432 1667438 : pack_tmp = packed_data(ipack)
45433 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
45434 1667438 : pack_tmp = ISHFT(pack_tmp, -44)
45435 1667438 : idata = idata + 1
45436 1667438 : data_tmp = ISHFT(pack_tmp, 35)
45437 1667438 : ipack = ipack + 1
45438 1667438 : pack_tmp = packed_data(ipack)
45439 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
45440 1667438 : pack_tmp = ISHFT(pack_tmp, -35)
45441 1667438 : idata = idata + 1
45442 1667438 : data_tmp = ISHFT(pack_tmp, 26)
45443 1667438 : ipack = ipack + 1
45444 1667438 : pack_tmp = packed_data(ipack)
45445 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
45446 1667438 : pack_tmp = ISHFT(pack_tmp, -26)
45447 1667438 : idata = idata + 1
45448 1667438 : data_tmp = ISHFT(pack_tmp, 17)
45449 1667438 : ipack = ipack + 1
45450 1667438 : pack_tmp = packed_data(ipack)
45451 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
45452 1667438 : pack_tmp = ISHFT(pack_tmp, -17)
45453 1667438 : idata = idata + 1
45454 1667438 : data_tmp = ISHFT(pack_tmp, 8)
45455 1667438 : ipack = ipack + 1
45456 1667438 : pack_tmp = packed_data(ipack)
45457 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
45458 1667438 : pack_tmp = ISHFT(pack_tmp, -8)
45459 1667438 : idata = idata + 1
45460 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45461 1667438 : full_data(idata) = data_tmp
45462 1667438 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45463 1667438 : idata = idata + 1
45464 1667438 : data_tmp = ISHFT(pack_tmp, 54)
45465 1667438 : ipack = ipack + 1
45466 1667438 : pack_tmp = packed_data(ipack)
45467 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
45468 1667438 : pack_tmp = ISHFT(pack_tmp, -54)
45469 1667438 : idata = idata + 1
45470 1667438 : data_tmp = ISHFT(pack_tmp, 45)
45471 1667438 : ipack = ipack + 1
45472 1667438 : pack_tmp = packed_data(ipack)
45473 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
45474 1667438 : pack_tmp = ISHFT(pack_tmp, -45)
45475 1667438 : idata = idata + 1
45476 1667438 : data_tmp = ISHFT(pack_tmp, 36)
45477 1667438 : ipack = ipack + 1
45478 1667438 : pack_tmp = packed_data(ipack)
45479 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
45480 1667438 : pack_tmp = ISHFT(pack_tmp, -36)
45481 1667438 : idata = idata + 1
45482 1667438 : data_tmp = ISHFT(pack_tmp, 27)
45483 1667438 : ipack = ipack + 1
45484 1667438 : pack_tmp = packed_data(ipack)
45485 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
45486 1667438 : pack_tmp = ISHFT(pack_tmp, -27)
45487 1667438 : idata = idata + 1
45488 1667438 : data_tmp = ISHFT(pack_tmp, 18)
45489 1667438 : ipack = ipack + 1
45490 1667438 : pack_tmp = packed_data(ipack)
45491 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
45492 1667438 : pack_tmp = ISHFT(pack_tmp, -18)
45493 1667438 : idata = idata + 1
45494 1667438 : data_tmp = ISHFT(pack_tmp, 9)
45495 1667438 : ipack = ipack + 1
45496 1667438 : pack_tmp = packed_data(ipack)
45497 1667438 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
45498 1667438 : pack_tmp = ISHFT(pack_tmp, -9)
45499 1667438 : idata = idata + 1
45500 1667438 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
45501 1667438 : full_data(idata) = data_tmp
45502 1667938 : pack_tmp = ISHFT(pack_tmp, -Nbits)
45503 : END DO
45504 109759 : IF (Ndata_rep < Ndata) THEN
45505 10436 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
45506 : END IF
45507 109759 : END SUBROUTINE bits2ints_55
45508 :
45509 : ! **************************************************************************************************
45510 : !> \brief ...
45511 : !> \param Ndata ...
45512 : !> \param packed_data ...
45513 : !> \param full_data ...
45514 : ! **************************************************************************************************
45515 24570 : 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(*)
45519 :
45520 : INTEGER, PARAMETER :: Nbits = 56
45521 :
45522 : INTEGER :: idata, ipack, kdata, Ndata_rep
45523 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
45524 :
45525 24570 : idata = 0
45526 24570 : ipack = 0
45527 24570 : Ndata_rep = (Ndata/64)*64
45528 24570 : DO kdata = 1, Ndata_rep, 64
45529 391998 : pack_tmp = 0
45530 391998 : idata = idata + 1
45531 391998 : data_tmp = full_data(idata)
45532 391998 : data_tmp = ISHFT(data_tmp, 8)
45533 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45534 391998 : pack_tmp = ISHFT(pack_tmp, -8)
45535 391998 : idata = idata + 1
45536 391998 : data_tmp = full_data(idata)
45537 391998 : data_tmp = ISHFT(data_tmp, 8)
45538 391998 : data_tmp = IAND(data_tmp, mask_left(8))
45539 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45540 391998 : ipack = ipack + 1
45541 391998 : packed_data(ipack) = pack_tmp
45542 391998 : data_tmp = full_data(idata)
45543 391998 : pack_tmp = ISHFT(data_tmp, 16)
45544 391998 : pack_tmp = ISHFT(pack_tmp, -16)
45545 391998 : idata = idata + 1
45546 391998 : data_tmp = full_data(idata)
45547 391998 : data_tmp = ISHFT(data_tmp, 8)
45548 391998 : data_tmp = IAND(data_tmp, mask_left(16))
45549 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45550 391998 : ipack = ipack + 1
45551 391998 : packed_data(ipack) = pack_tmp
45552 391998 : data_tmp = full_data(idata)
45553 391998 : pack_tmp = ISHFT(data_tmp, 24)
45554 391998 : pack_tmp = ISHFT(pack_tmp, -24)
45555 391998 : idata = idata + 1
45556 391998 : data_tmp = full_data(idata)
45557 391998 : data_tmp = ISHFT(data_tmp, 8)
45558 391998 : data_tmp = IAND(data_tmp, mask_left(24))
45559 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45560 391998 : ipack = ipack + 1
45561 391998 : packed_data(ipack) = pack_tmp
45562 391998 : data_tmp = full_data(idata)
45563 391998 : pack_tmp = ISHFT(data_tmp, 32)
45564 391998 : pack_tmp = ISHFT(pack_tmp, -32)
45565 391998 : idata = idata + 1
45566 391998 : data_tmp = full_data(idata)
45567 391998 : data_tmp = ISHFT(data_tmp, 8)
45568 391998 : data_tmp = IAND(data_tmp, mask_left(32))
45569 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45570 391998 : ipack = ipack + 1
45571 391998 : packed_data(ipack) = pack_tmp
45572 391998 : data_tmp = full_data(idata)
45573 391998 : pack_tmp = ISHFT(data_tmp, 40)
45574 391998 : pack_tmp = ISHFT(pack_tmp, -40)
45575 391998 : idata = idata + 1
45576 391998 : data_tmp = full_data(idata)
45577 391998 : data_tmp = ISHFT(data_tmp, 8)
45578 391998 : data_tmp = IAND(data_tmp, mask_left(40))
45579 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45580 391998 : ipack = ipack + 1
45581 391998 : packed_data(ipack) = pack_tmp
45582 391998 : data_tmp = full_data(idata)
45583 391998 : pack_tmp = ISHFT(data_tmp, 48)
45584 391998 : pack_tmp = ISHFT(pack_tmp, -48)
45585 391998 : idata = idata + 1
45586 391998 : data_tmp = full_data(idata)
45587 391998 : data_tmp = ISHFT(data_tmp, 8)
45588 391998 : data_tmp = IAND(data_tmp, mask_left(48))
45589 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45590 391998 : ipack = ipack + 1
45591 391998 : packed_data(ipack) = pack_tmp
45592 391998 : data_tmp = full_data(idata)
45593 391998 : pack_tmp = ISHFT(data_tmp, 56)
45594 391998 : pack_tmp = ISHFT(pack_tmp, -56)
45595 391998 : idata = idata + 1
45596 391998 : data_tmp = full_data(idata)
45597 391998 : data_tmp = ISHFT(data_tmp, 8)
45598 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45599 391998 : pack_tmp = ISHFT(pack_tmp, 0)
45600 391998 : idata = idata + 1
45601 391998 : data_tmp = full_data(idata)
45602 : data_tmp = ISHFT(data_tmp, 8)
45603 391998 : data_tmp = IAND(data_tmp, mask_left(0))
45604 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45605 391998 : ipack = ipack + 1
45606 391998 : packed_data(ipack) = pack_tmp
45607 391998 : data_tmp = full_data(idata)
45608 391998 : pack_tmp = ISHFT(data_tmp, 8)
45609 391998 : pack_tmp = ISHFT(pack_tmp, -8)
45610 391998 : idata = idata + 1
45611 391998 : data_tmp = full_data(idata)
45612 391998 : data_tmp = ISHFT(data_tmp, 8)
45613 391998 : data_tmp = IAND(data_tmp, mask_left(8))
45614 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45615 391998 : ipack = ipack + 1
45616 391998 : packed_data(ipack) = pack_tmp
45617 391998 : data_tmp = full_data(idata)
45618 391998 : pack_tmp = ISHFT(data_tmp, 16)
45619 391998 : pack_tmp = ISHFT(pack_tmp, -16)
45620 391998 : idata = idata + 1
45621 391998 : data_tmp = full_data(idata)
45622 391998 : data_tmp = ISHFT(data_tmp, 8)
45623 391998 : data_tmp = IAND(data_tmp, mask_left(16))
45624 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45625 391998 : ipack = ipack + 1
45626 391998 : packed_data(ipack) = pack_tmp
45627 391998 : data_tmp = full_data(idata)
45628 391998 : pack_tmp = ISHFT(data_tmp, 24)
45629 391998 : pack_tmp = ISHFT(pack_tmp, -24)
45630 391998 : idata = idata + 1
45631 391998 : data_tmp = full_data(idata)
45632 391998 : data_tmp = ISHFT(data_tmp, 8)
45633 391998 : data_tmp = IAND(data_tmp, mask_left(24))
45634 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45635 391998 : ipack = ipack + 1
45636 391998 : packed_data(ipack) = pack_tmp
45637 391998 : data_tmp = full_data(idata)
45638 391998 : pack_tmp = ISHFT(data_tmp, 32)
45639 391998 : pack_tmp = ISHFT(pack_tmp, -32)
45640 391998 : idata = idata + 1
45641 391998 : data_tmp = full_data(idata)
45642 391998 : data_tmp = ISHFT(data_tmp, 8)
45643 391998 : data_tmp = IAND(data_tmp, mask_left(32))
45644 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45645 391998 : ipack = ipack + 1
45646 391998 : packed_data(ipack) = pack_tmp
45647 391998 : data_tmp = full_data(idata)
45648 391998 : pack_tmp = ISHFT(data_tmp, 40)
45649 391998 : pack_tmp = ISHFT(pack_tmp, -40)
45650 391998 : idata = idata + 1
45651 391998 : data_tmp = full_data(idata)
45652 391998 : data_tmp = ISHFT(data_tmp, 8)
45653 391998 : data_tmp = IAND(data_tmp, mask_left(40))
45654 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45655 391998 : ipack = ipack + 1
45656 391998 : packed_data(ipack) = pack_tmp
45657 391998 : data_tmp = full_data(idata)
45658 391998 : pack_tmp = ISHFT(data_tmp, 48)
45659 391998 : pack_tmp = ISHFT(pack_tmp, -48)
45660 391998 : idata = idata + 1
45661 391998 : data_tmp = full_data(idata)
45662 391998 : data_tmp = ISHFT(data_tmp, 8)
45663 391998 : data_tmp = IAND(data_tmp, mask_left(48))
45664 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45665 391998 : ipack = ipack + 1
45666 391998 : packed_data(ipack) = pack_tmp
45667 391998 : data_tmp = full_data(idata)
45668 391998 : pack_tmp = ISHFT(data_tmp, 56)
45669 391998 : pack_tmp = ISHFT(pack_tmp, -56)
45670 391998 : idata = idata + 1
45671 391998 : data_tmp = full_data(idata)
45672 391998 : data_tmp = ISHFT(data_tmp, 8)
45673 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45674 391998 : pack_tmp = ISHFT(pack_tmp, 0)
45675 391998 : idata = idata + 1
45676 391998 : data_tmp = full_data(idata)
45677 : data_tmp = ISHFT(data_tmp, 8)
45678 391998 : data_tmp = IAND(data_tmp, mask_left(0))
45679 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45680 391998 : ipack = ipack + 1
45681 391998 : packed_data(ipack) = pack_tmp
45682 391998 : data_tmp = full_data(idata)
45683 391998 : pack_tmp = ISHFT(data_tmp, 8)
45684 391998 : pack_tmp = ISHFT(pack_tmp, -8)
45685 391998 : idata = idata + 1
45686 391998 : data_tmp = full_data(idata)
45687 391998 : data_tmp = ISHFT(data_tmp, 8)
45688 391998 : data_tmp = IAND(data_tmp, mask_left(8))
45689 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45690 391998 : ipack = ipack + 1
45691 391998 : packed_data(ipack) = pack_tmp
45692 391998 : data_tmp = full_data(idata)
45693 391998 : pack_tmp = ISHFT(data_tmp, 16)
45694 391998 : pack_tmp = ISHFT(pack_tmp, -16)
45695 391998 : idata = idata + 1
45696 391998 : data_tmp = full_data(idata)
45697 391998 : data_tmp = ISHFT(data_tmp, 8)
45698 391998 : data_tmp = IAND(data_tmp, mask_left(16))
45699 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45700 391998 : ipack = ipack + 1
45701 391998 : packed_data(ipack) = pack_tmp
45702 391998 : data_tmp = full_data(idata)
45703 391998 : pack_tmp = ISHFT(data_tmp, 24)
45704 391998 : pack_tmp = ISHFT(pack_tmp, -24)
45705 391998 : idata = idata + 1
45706 391998 : data_tmp = full_data(idata)
45707 391998 : data_tmp = ISHFT(data_tmp, 8)
45708 391998 : data_tmp = IAND(data_tmp, mask_left(24))
45709 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45710 391998 : ipack = ipack + 1
45711 391998 : packed_data(ipack) = pack_tmp
45712 391998 : data_tmp = full_data(idata)
45713 391998 : pack_tmp = ISHFT(data_tmp, 32)
45714 391998 : pack_tmp = ISHFT(pack_tmp, -32)
45715 391998 : idata = idata + 1
45716 391998 : data_tmp = full_data(idata)
45717 391998 : data_tmp = ISHFT(data_tmp, 8)
45718 391998 : data_tmp = IAND(data_tmp, mask_left(32))
45719 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45720 391998 : ipack = ipack + 1
45721 391998 : packed_data(ipack) = pack_tmp
45722 391998 : data_tmp = full_data(idata)
45723 391998 : pack_tmp = ISHFT(data_tmp, 40)
45724 391998 : pack_tmp = ISHFT(pack_tmp, -40)
45725 391998 : idata = idata + 1
45726 391998 : data_tmp = full_data(idata)
45727 391998 : data_tmp = ISHFT(data_tmp, 8)
45728 391998 : data_tmp = IAND(data_tmp, mask_left(40))
45729 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45730 391998 : ipack = ipack + 1
45731 391998 : packed_data(ipack) = pack_tmp
45732 391998 : data_tmp = full_data(idata)
45733 391998 : pack_tmp = ISHFT(data_tmp, 48)
45734 391998 : pack_tmp = ISHFT(pack_tmp, -48)
45735 391998 : idata = idata + 1
45736 391998 : data_tmp = full_data(idata)
45737 391998 : data_tmp = ISHFT(data_tmp, 8)
45738 391998 : data_tmp = IAND(data_tmp, mask_left(48))
45739 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45740 391998 : ipack = ipack + 1
45741 391998 : packed_data(ipack) = pack_tmp
45742 391998 : data_tmp = full_data(idata)
45743 391998 : pack_tmp = ISHFT(data_tmp, 56)
45744 391998 : pack_tmp = ISHFT(pack_tmp, -56)
45745 391998 : idata = idata + 1
45746 391998 : data_tmp = full_data(idata)
45747 391998 : data_tmp = ISHFT(data_tmp, 8)
45748 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45749 391998 : pack_tmp = ISHFT(pack_tmp, 0)
45750 391998 : idata = idata + 1
45751 391998 : data_tmp = full_data(idata)
45752 : data_tmp = ISHFT(data_tmp, 8)
45753 391998 : data_tmp = IAND(data_tmp, mask_left(0))
45754 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45755 391998 : ipack = ipack + 1
45756 391998 : packed_data(ipack) = pack_tmp
45757 391998 : data_tmp = full_data(idata)
45758 391998 : pack_tmp = ISHFT(data_tmp, 8)
45759 391998 : pack_tmp = ISHFT(pack_tmp, -8)
45760 391998 : idata = idata + 1
45761 391998 : data_tmp = full_data(idata)
45762 391998 : data_tmp = ISHFT(data_tmp, 8)
45763 391998 : data_tmp = IAND(data_tmp, mask_left(8))
45764 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45765 391998 : ipack = ipack + 1
45766 391998 : packed_data(ipack) = pack_tmp
45767 391998 : data_tmp = full_data(idata)
45768 391998 : pack_tmp = ISHFT(data_tmp, 16)
45769 391998 : pack_tmp = ISHFT(pack_tmp, -16)
45770 391998 : idata = idata + 1
45771 391998 : data_tmp = full_data(idata)
45772 391998 : data_tmp = ISHFT(data_tmp, 8)
45773 391998 : data_tmp = IAND(data_tmp, mask_left(16))
45774 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45775 391998 : ipack = ipack + 1
45776 391998 : packed_data(ipack) = pack_tmp
45777 391998 : data_tmp = full_data(idata)
45778 391998 : pack_tmp = ISHFT(data_tmp, 24)
45779 391998 : pack_tmp = ISHFT(pack_tmp, -24)
45780 391998 : idata = idata + 1
45781 391998 : data_tmp = full_data(idata)
45782 391998 : data_tmp = ISHFT(data_tmp, 8)
45783 391998 : data_tmp = IAND(data_tmp, mask_left(24))
45784 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45785 391998 : ipack = ipack + 1
45786 391998 : packed_data(ipack) = pack_tmp
45787 391998 : data_tmp = full_data(idata)
45788 391998 : pack_tmp = ISHFT(data_tmp, 32)
45789 391998 : pack_tmp = ISHFT(pack_tmp, -32)
45790 391998 : idata = idata + 1
45791 391998 : data_tmp = full_data(idata)
45792 391998 : data_tmp = ISHFT(data_tmp, 8)
45793 391998 : data_tmp = IAND(data_tmp, mask_left(32))
45794 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45795 391998 : ipack = ipack + 1
45796 391998 : packed_data(ipack) = pack_tmp
45797 391998 : data_tmp = full_data(idata)
45798 391998 : pack_tmp = ISHFT(data_tmp, 40)
45799 391998 : pack_tmp = ISHFT(pack_tmp, -40)
45800 391998 : idata = idata + 1
45801 391998 : data_tmp = full_data(idata)
45802 391998 : data_tmp = ISHFT(data_tmp, 8)
45803 391998 : data_tmp = IAND(data_tmp, mask_left(40))
45804 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45805 391998 : ipack = ipack + 1
45806 391998 : packed_data(ipack) = pack_tmp
45807 391998 : data_tmp = full_data(idata)
45808 391998 : pack_tmp = ISHFT(data_tmp, 48)
45809 391998 : pack_tmp = ISHFT(pack_tmp, -48)
45810 391998 : idata = idata + 1
45811 391998 : data_tmp = full_data(idata)
45812 391998 : data_tmp = ISHFT(data_tmp, 8)
45813 391998 : data_tmp = IAND(data_tmp, mask_left(48))
45814 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45815 391998 : ipack = ipack + 1
45816 391998 : packed_data(ipack) = pack_tmp
45817 391998 : data_tmp = full_data(idata)
45818 391998 : pack_tmp = ISHFT(data_tmp, 56)
45819 391998 : pack_tmp = ISHFT(pack_tmp, -56)
45820 391998 : idata = idata + 1
45821 391998 : data_tmp = full_data(idata)
45822 391998 : data_tmp = ISHFT(data_tmp, 8)
45823 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45824 391998 : pack_tmp = ISHFT(pack_tmp, 0)
45825 391998 : idata = idata + 1
45826 391998 : data_tmp = full_data(idata)
45827 : data_tmp = ISHFT(data_tmp, 8)
45828 391998 : data_tmp = IAND(data_tmp, mask_left(0))
45829 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45830 391998 : ipack = ipack + 1
45831 391998 : packed_data(ipack) = pack_tmp
45832 391998 : data_tmp = full_data(idata)
45833 391998 : pack_tmp = ISHFT(data_tmp, 8)
45834 391998 : pack_tmp = ISHFT(pack_tmp, -8)
45835 391998 : idata = idata + 1
45836 391998 : data_tmp = full_data(idata)
45837 391998 : data_tmp = ISHFT(data_tmp, 8)
45838 391998 : data_tmp = IAND(data_tmp, mask_left(8))
45839 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45840 391998 : ipack = ipack + 1
45841 391998 : packed_data(ipack) = pack_tmp
45842 391998 : data_tmp = full_data(idata)
45843 391998 : pack_tmp = ISHFT(data_tmp, 16)
45844 391998 : pack_tmp = ISHFT(pack_tmp, -16)
45845 391998 : idata = idata + 1
45846 391998 : data_tmp = full_data(idata)
45847 391998 : data_tmp = ISHFT(data_tmp, 8)
45848 391998 : data_tmp = IAND(data_tmp, mask_left(16))
45849 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45850 391998 : ipack = ipack + 1
45851 391998 : packed_data(ipack) = pack_tmp
45852 391998 : data_tmp = full_data(idata)
45853 391998 : pack_tmp = ISHFT(data_tmp, 24)
45854 391998 : pack_tmp = ISHFT(pack_tmp, -24)
45855 391998 : idata = idata + 1
45856 391998 : data_tmp = full_data(idata)
45857 391998 : data_tmp = ISHFT(data_tmp, 8)
45858 391998 : data_tmp = IAND(data_tmp, mask_left(24))
45859 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45860 391998 : ipack = ipack + 1
45861 391998 : packed_data(ipack) = pack_tmp
45862 391998 : data_tmp = full_data(idata)
45863 391998 : pack_tmp = ISHFT(data_tmp, 32)
45864 391998 : pack_tmp = ISHFT(pack_tmp, -32)
45865 391998 : idata = idata + 1
45866 391998 : data_tmp = full_data(idata)
45867 391998 : data_tmp = ISHFT(data_tmp, 8)
45868 391998 : data_tmp = IAND(data_tmp, mask_left(32))
45869 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45870 391998 : ipack = ipack + 1
45871 391998 : packed_data(ipack) = pack_tmp
45872 391998 : data_tmp = full_data(idata)
45873 391998 : pack_tmp = ISHFT(data_tmp, 40)
45874 391998 : pack_tmp = ISHFT(pack_tmp, -40)
45875 391998 : idata = idata + 1
45876 391998 : data_tmp = full_data(idata)
45877 391998 : data_tmp = ISHFT(data_tmp, 8)
45878 391998 : data_tmp = IAND(data_tmp, mask_left(40))
45879 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45880 391998 : ipack = ipack + 1
45881 391998 : packed_data(ipack) = pack_tmp
45882 391998 : data_tmp = full_data(idata)
45883 391998 : pack_tmp = ISHFT(data_tmp, 48)
45884 391998 : pack_tmp = ISHFT(pack_tmp, -48)
45885 391998 : idata = idata + 1
45886 391998 : data_tmp = full_data(idata)
45887 391998 : data_tmp = ISHFT(data_tmp, 8)
45888 391998 : data_tmp = IAND(data_tmp, mask_left(48))
45889 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45890 391998 : ipack = ipack + 1
45891 391998 : packed_data(ipack) = pack_tmp
45892 391998 : data_tmp = full_data(idata)
45893 391998 : pack_tmp = ISHFT(data_tmp, 56)
45894 391998 : pack_tmp = ISHFT(pack_tmp, -56)
45895 391998 : idata = idata + 1
45896 391998 : data_tmp = full_data(idata)
45897 391998 : data_tmp = ISHFT(data_tmp, 8)
45898 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45899 391998 : pack_tmp = ISHFT(pack_tmp, 0)
45900 391998 : idata = idata + 1
45901 391998 : data_tmp = full_data(idata)
45902 : data_tmp = ISHFT(data_tmp, 8)
45903 391998 : data_tmp = IAND(data_tmp, mask_left(0))
45904 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45905 391998 : ipack = ipack + 1
45906 391998 : packed_data(ipack) = pack_tmp
45907 391998 : data_tmp = full_data(idata)
45908 391998 : pack_tmp = ISHFT(data_tmp, 8)
45909 391998 : pack_tmp = ISHFT(pack_tmp, -8)
45910 391998 : idata = idata + 1
45911 391998 : data_tmp = full_data(idata)
45912 391998 : data_tmp = ISHFT(data_tmp, 8)
45913 391998 : data_tmp = IAND(data_tmp, mask_left(8))
45914 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45915 391998 : ipack = ipack + 1
45916 391998 : packed_data(ipack) = pack_tmp
45917 391998 : data_tmp = full_data(idata)
45918 391998 : pack_tmp = ISHFT(data_tmp, 16)
45919 391998 : pack_tmp = ISHFT(pack_tmp, -16)
45920 391998 : idata = idata + 1
45921 391998 : data_tmp = full_data(idata)
45922 391998 : data_tmp = ISHFT(data_tmp, 8)
45923 391998 : data_tmp = IAND(data_tmp, mask_left(16))
45924 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45925 391998 : ipack = ipack + 1
45926 391998 : packed_data(ipack) = pack_tmp
45927 391998 : data_tmp = full_data(idata)
45928 391998 : pack_tmp = ISHFT(data_tmp, 24)
45929 391998 : pack_tmp = ISHFT(pack_tmp, -24)
45930 391998 : idata = idata + 1
45931 391998 : data_tmp = full_data(idata)
45932 391998 : data_tmp = ISHFT(data_tmp, 8)
45933 391998 : data_tmp = IAND(data_tmp, mask_left(24))
45934 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45935 391998 : ipack = ipack + 1
45936 391998 : packed_data(ipack) = pack_tmp
45937 391998 : data_tmp = full_data(idata)
45938 391998 : pack_tmp = ISHFT(data_tmp, 32)
45939 391998 : pack_tmp = ISHFT(pack_tmp, -32)
45940 391998 : idata = idata + 1
45941 391998 : data_tmp = full_data(idata)
45942 391998 : data_tmp = ISHFT(data_tmp, 8)
45943 391998 : data_tmp = IAND(data_tmp, mask_left(32))
45944 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45945 391998 : ipack = ipack + 1
45946 391998 : packed_data(ipack) = pack_tmp
45947 391998 : data_tmp = full_data(idata)
45948 391998 : pack_tmp = ISHFT(data_tmp, 40)
45949 391998 : pack_tmp = ISHFT(pack_tmp, -40)
45950 391998 : idata = idata + 1
45951 391998 : data_tmp = full_data(idata)
45952 391998 : data_tmp = ISHFT(data_tmp, 8)
45953 391998 : data_tmp = IAND(data_tmp, mask_left(40))
45954 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45955 391998 : ipack = ipack + 1
45956 391998 : packed_data(ipack) = pack_tmp
45957 391998 : data_tmp = full_data(idata)
45958 391998 : pack_tmp = ISHFT(data_tmp, 48)
45959 391998 : pack_tmp = ISHFT(pack_tmp, -48)
45960 391998 : idata = idata + 1
45961 391998 : data_tmp = full_data(idata)
45962 391998 : data_tmp = ISHFT(data_tmp, 8)
45963 391998 : data_tmp = IAND(data_tmp, mask_left(48))
45964 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45965 391998 : ipack = ipack + 1
45966 391998 : packed_data(ipack) = pack_tmp
45967 391998 : data_tmp = full_data(idata)
45968 391998 : pack_tmp = ISHFT(data_tmp, 56)
45969 391998 : pack_tmp = ISHFT(pack_tmp, -56)
45970 391998 : idata = idata + 1
45971 391998 : data_tmp = full_data(idata)
45972 391998 : data_tmp = ISHFT(data_tmp, 8)
45973 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45974 391998 : pack_tmp = ISHFT(pack_tmp, 0)
45975 391998 : idata = idata + 1
45976 391998 : data_tmp = full_data(idata)
45977 : data_tmp = ISHFT(data_tmp, 8)
45978 391998 : data_tmp = IAND(data_tmp, mask_left(0))
45979 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45980 391998 : ipack = ipack + 1
45981 391998 : packed_data(ipack) = pack_tmp
45982 391998 : data_tmp = full_data(idata)
45983 391998 : pack_tmp = ISHFT(data_tmp, 8)
45984 391998 : pack_tmp = ISHFT(pack_tmp, -8)
45985 391998 : idata = idata + 1
45986 391998 : data_tmp = full_data(idata)
45987 391998 : data_tmp = ISHFT(data_tmp, 8)
45988 391998 : data_tmp = IAND(data_tmp, mask_left(8))
45989 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
45990 391998 : ipack = ipack + 1
45991 391998 : packed_data(ipack) = pack_tmp
45992 391998 : data_tmp = full_data(idata)
45993 391998 : pack_tmp = ISHFT(data_tmp, 16)
45994 391998 : pack_tmp = ISHFT(pack_tmp, -16)
45995 391998 : idata = idata + 1
45996 391998 : data_tmp = full_data(idata)
45997 391998 : data_tmp = ISHFT(data_tmp, 8)
45998 391998 : data_tmp = IAND(data_tmp, mask_left(16))
45999 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46000 391998 : ipack = ipack + 1
46001 391998 : packed_data(ipack) = pack_tmp
46002 391998 : data_tmp = full_data(idata)
46003 391998 : pack_tmp = ISHFT(data_tmp, 24)
46004 391998 : pack_tmp = ISHFT(pack_tmp, -24)
46005 391998 : idata = idata + 1
46006 391998 : data_tmp = full_data(idata)
46007 391998 : data_tmp = ISHFT(data_tmp, 8)
46008 391998 : data_tmp = IAND(data_tmp, mask_left(24))
46009 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46010 391998 : ipack = ipack + 1
46011 391998 : packed_data(ipack) = pack_tmp
46012 391998 : data_tmp = full_data(idata)
46013 391998 : pack_tmp = ISHFT(data_tmp, 32)
46014 391998 : pack_tmp = ISHFT(pack_tmp, -32)
46015 391998 : idata = idata + 1
46016 391998 : data_tmp = full_data(idata)
46017 391998 : data_tmp = ISHFT(data_tmp, 8)
46018 391998 : data_tmp = IAND(data_tmp, mask_left(32))
46019 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46020 391998 : ipack = ipack + 1
46021 391998 : packed_data(ipack) = pack_tmp
46022 391998 : data_tmp = full_data(idata)
46023 391998 : pack_tmp = ISHFT(data_tmp, 40)
46024 391998 : pack_tmp = ISHFT(pack_tmp, -40)
46025 391998 : idata = idata + 1
46026 391998 : data_tmp = full_data(idata)
46027 391998 : data_tmp = ISHFT(data_tmp, 8)
46028 391998 : data_tmp = IAND(data_tmp, mask_left(40))
46029 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46030 391998 : ipack = ipack + 1
46031 391998 : packed_data(ipack) = pack_tmp
46032 391998 : data_tmp = full_data(idata)
46033 391998 : pack_tmp = ISHFT(data_tmp, 48)
46034 391998 : pack_tmp = ISHFT(pack_tmp, -48)
46035 391998 : idata = idata + 1
46036 391998 : data_tmp = full_data(idata)
46037 391998 : data_tmp = ISHFT(data_tmp, 8)
46038 391998 : data_tmp = IAND(data_tmp, mask_left(48))
46039 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46040 391998 : ipack = ipack + 1
46041 391998 : packed_data(ipack) = pack_tmp
46042 391998 : data_tmp = full_data(idata)
46043 391998 : pack_tmp = ISHFT(data_tmp, 56)
46044 391998 : pack_tmp = ISHFT(pack_tmp, -56)
46045 391998 : idata = idata + 1
46046 391998 : data_tmp = full_data(idata)
46047 391998 : data_tmp = ISHFT(data_tmp, 8)
46048 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46049 391998 : pack_tmp = ISHFT(pack_tmp, 0)
46050 391998 : idata = idata + 1
46051 391998 : data_tmp = full_data(idata)
46052 : data_tmp = ISHFT(data_tmp, 8)
46053 391998 : data_tmp = IAND(data_tmp, mask_left(0))
46054 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46055 391998 : ipack = ipack + 1
46056 391998 : packed_data(ipack) = pack_tmp
46057 391998 : data_tmp = full_data(idata)
46058 391998 : pack_tmp = ISHFT(data_tmp, 8)
46059 391998 : pack_tmp = ISHFT(pack_tmp, -8)
46060 391998 : idata = idata + 1
46061 391998 : data_tmp = full_data(idata)
46062 391998 : data_tmp = ISHFT(data_tmp, 8)
46063 391998 : data_tmp = IAND(data_tmp, mask_left(8))
46064 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46065 391998 : ipack = ipack + 1
46066 391998 : packed_data(ipack) = pack_tmp
46067 391998 : data_tmp = full_data(idata)
46068 391998 : pack_tmp = ISHFT(data_tmp, 16)
46069 391998 : pack_tmp = ISHFT(pack_tmp, -16)
46070 391998 : idata = idata + 1
46071 391998 : data_tmp = full_data(idata)
46072 391998 : data_tmp = ISHFT(data_tmp, 8)
46073 391998 : data_tmp = IAND(data_tmp, mask_left(16))
46074 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46075 391998 : ipack = ipack + 1
46076 391998 : packed_data(ipack) = pack_tmp
46077 391998 : data_tmp = full_data(idata)
46078 391998 : pack_tmp = ISHFT(data_tmp, 24)
46079 391998 : pack_tmp = ISHFT(pack_tmp, -24)
46080 391998 : idata = idata + 1
46081 391998 : data_tmp = full_data(idata)
46082 391998 : data_tmp = ISHFT(data_tmp, 8)
46083 391998 : data_tmp = IAND(data_tmp, mask_left(24))
46084 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46085 391998 : ipack = ipack + 1
46086 391998 : packed_data(ipack) = pack_tmp
46087 391998 : data_tmp = full_data(idata)
46088 391998 : pack_tmp = ISHFT(data_tmp, 32)
46089 391998 : pack_tmp = ISHFT(pack_tmp, -32)
46090 391998 : idata = idata + 1
46091 391998 : data_tmp = full_data(idata)
46092 391998 : data_tmp = ISHFT(data_tmp, 8)
46093 391998 : data_tmp = IAND(data_tmp, mask_left(32))
46094 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46095 391998 : ipack = ipack + 1
46096 391998 : packed_data(ipack) = pack_tmp
46097 391998 : data_tmp = full_data(idata)
46098 391998 : pack_tmp = ISHFT(data_tmp, 40)
46099 391998 : pack_tmp = ISHFT(pack_tmp, -40)
46100 391998 : idata = idata + 1
46101 391998 : data_tmp = full_data(idata)
46102 391998 : data_tmp = ISHFT(data_tmp, 8)
46103 391998 : data_tmp = IAND(data_tmp, mask_left(40))
46104 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46105 391998 : ipack = ipack + 1
46106 391998 : packed_data(ipack) = pack_tmp
46107 391998 : data_tmp = full_data(idata)
46108 391998 : pack_tmp = ISHFT(data_tmp, 48)
46109 391998 : pack_tmp = ISHFT(pack_tmp, -48)
46110 391998 : idata = idata + 1
46111 391998 : data_tmp = full_data(idata)
46112 391998 : data_tmp = ISHFT(data_tmp, 8)
46113 391998 : data_tmp = IAND(data_tmp, mask_left(48))
46114 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46115 391998 : ipack = ipack + 1
46116 391998 : packed_data(ipack) = pack_tmp
46117 391998 : data_tmp = full_data(idata)
46118 391998 : pack_tmp = ISHFT(data_tmp, 56)
46119 391998 : pack_tmp = ISHFT(pack_tmp, -56)
46120 391998 : idata = idata + 1
46121 391998 : data_tmp = full_data(idata)
46122 391998 : data_tmp = ISHFT(data_tmp, 8)
46123 391998 : pack_tmp = IOR(pack_tmp, data_tmp)
46124 : pack_tmp = ISHFT(pack_tmp, 0)
46125 391998 : pack_tmp = ISHFT(pack_tmp, 0)
46126 391998 : ipack = ipack + 1
46127 392004 : packed_data(ipack) = pack_tmp
46128 : END DO
46129 24570 : IF (Ndata_rep < Ndata) THEN
46130 132 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
46131 : END IF
46132 24570 : END SUBROUTINE ints2bits_56
46133 :
46134 : ! **************************************************************************************************
46135 : !> \brief ...
46136 : !> \param Ndata ...
46137 : !> \param packed_data ...
46138 : !> \param full_data ...
46139 : ! **************************************************************************************************
46140 105683 : 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(*)
46144 :
46145 : INTEGER, PARAMETER :: Nbits = 56
46146 :
46147 : INTEGER :: idata, ipack, kdata, Ndata_rep
46148 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
46149 :
46150 105683 : ipack = 0
46151 105683 : idata = 0
46152 105683 : pack_tmp = 0
46153 105683 : Ndata_rep = (Ndata/64)*64
46154 105683 : DO kdata = 1, Ndata_rep, 64
46155 1632686 : idata = idata + 1
46156 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46157 1632686 : ipack = ipack + 1
46158 1632686 : pack_tmp = packed_data(ipack)
46159 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46160 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46161 1632686 : idata = idata + 1
46162 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46163 1632686 : ipack = ipack + 1
46164 1632686 : pack_tmp = packed_data(ipack)
46165 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46166 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46167 1632686 : idata = idata + 1
46168 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46169 1632686 : ipack = ipack + 1
46170 1632686 : pack_tmp = packed_data(ipack)
46171 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46172 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46173 1632686 : idata = idata + 1
46174 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46175 1632686 : ipack = ipack + 1
46176 1632686 : pack_tmp = packed_data(ipack)
46177 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46178 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46179 1632686 : idata = idata + 1
46180 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46181 1632686 : ipack = ipack + 1
46182 1632686 : pack_tmp = packed_data(ipack)
46183 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46184 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46185 1632686 : idata = idata + 1
46186 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46187 1632686 : ipack = ipack + 1
46188 1632686 : pack_tmp = packed_data(ipack)
46189 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46190 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46191 1632686 : idata = idata + 1
46192 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46193 1632686 : ipack = ipack + 1
46194 1632686 : pack_tmp = packed_data(ipack)
46195 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46196 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46197 1632686 : idata = idata + 1
46198 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46199 1632686 : full_data(idata) = data_tmp
46200 1632686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46201 1632686 : idata = idata + 1
46202 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46203 1632686 : ipack = ipack + 1
46204 1632686 : pack_tmp = packed_data(ipack)
46205 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46206 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46207 1632686 : idata = idata + 1
46208 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46209 1632686 : ipack = ipack + 1
46210 1632686 : pack_tmp = packed_data(ipack)
46211 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46212 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46213 1632686 : idata = idata + 1
46214 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46215 1632686 : ipack = ipack + 1
46216 1632686 : pack_tmp = packed_data(ipack)
46217 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46218 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46219 1632686 : idata = idata + 1
46220 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46221 1632686 : ipack = ipack + 1
46222 1632686 : pack_tmp = packed_data(ipack)
46223 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46224 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46225 1632686 : idata = idata + 1
46226 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46227 1632686 : ipack = ipack + 1
46228 1632686 : pack_tmp = packed_data(ipack)
46229 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46230 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46231 1632686 : idata = idata + 1
46232 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46233 1632686 : ipack = ipack + 1
46234 1632686 : pack_tmp = packed_data(ipack)
46235 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46236 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46237 1632686 : idata = idata + 1
46238 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46239 1632686 : ipack = ipack + 1
46240 1632686 : pack_tmp = packed_data(ipack)
46241 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46242 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46243 1632686 : idata = idata + 1
46244 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46245 1632686 : full_data(idata) = data_tmp
46246 1632686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46247 1632686 : idata = idata + 1
46248 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46249 1632686 : ipack = ipack + 1
46250 1632686 : pack_tmp = packed_data(ipack)
46251 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46252 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46253 1632686 : idata = idata + 1
46254 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46255 1632686 : ipack = ipack + 1
46256 1632686 : pack_tmp = packed_data(ipack)
46257 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46258 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46259 1632686 : idata = idata + 1
46260 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46261 1632686 : ipack = ipack + 1
46262 1632686 : pack_tmp = packed_data(ipack)
46263 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46264 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46265 1632686 : idata = idata + 1
46266 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46267 1632686 : ipack = ipack + 1
46268 1632686 : pack_tmp = packed_data(ipack)
46269 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46270 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46271 1632686 : idata = idata + 1
46272 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46273 1632686 : ipack = ipack + 1
46274 1632686 : pack_tmp = packed_data(ipack)
46275 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46276 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46277 1632686 : idata = idata + 1
46278 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46279 1632686 : ipack = ipack + 1
46280 1632686 : pack_tmp = packed_data(ipack)
46281 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46282 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46283 1632686 : idata = idata + 1
46284 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46285 1632686 : ipack = ipack + 1
46286 1632686 : pack_tmp = packed_data(ipack)
46287 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46288 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46289 1632686 : idata = idata + 1
46290 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46291 1632686 : full_data(idata) = data_tmp
46292 1632686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46293 1632686 : idata = idata + 1
46294 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46295 1632686 : ipack = ipack + 1
46296 1632686 : pack_tmp = packed_data(ipack)
46297 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46298 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46299 1632686 : idata = idata + 1
46300 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46301 1632686 : ipack = ipack + 1
46302 1632686 : pack_tmp = packed_data(ipack)
46303 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46304 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46305 1632686 : idata = idata + 1
46306 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46307 1632686 : ipack = ipack + 1
46308 1632686 : pack_tmp = packed_data(ipack)
46309 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46310 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46311 1632686 : idata = idata + 1
46312 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46313 1632686 : ipack = ipack + 1
46314 1632686 : pack_tmp = packed_data(ipack)
46315 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46316 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46317 1632686 : idata = idata + 1
46318 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46319 1632686 : ipack = ipack + 1
46320 1632686 : pack_tmp = packed_data(ipack)
46321 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46322 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46323 1632686 : idata = idata + 1
46324 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46325 1632686 : ipack = ipack + 1
46326 1632686 : pack_tmp = packed_data(ipack)
46327 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46328 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46329 1632686 : idata = idata + 1
46330 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46331 1632686 : ipack = ipack + 1
46332 1632686 : pack_tmp = packed_data(ipack)
46333 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46334 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46335 1632686 : idata = idata + 1
46336 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46337 1632686 : full_data(idata) = data_tmp
46338 1632686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46339 1632686 : idata = idata + 1
46340 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46341 1632686 : ipack = ipack + 1
46342 1632686 : pack_tmp = packed_data(ipack)
46343 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46344 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46345 1632686 : idata = idata + 1
46346 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46347 1632686 : ipack = ipack + 1
46348 1632686 : pack_tmp = packed_data(ipack)
46349 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46350 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46351 1632686 : idata = idata + 1
46352 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46353 1632686 : ipack = ipack + 1
46354 1632686 : pack_tmp = packed_data(ipack)
46355 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46356 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46357 1632686 : idata = idata + 1
46358 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46359 1632686 : ipack = ipack + 1
46360 1632686 : pack_tmp = packed_data(ipack)
46361 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46362 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46363 1632686 : idata = idata + 1
46364 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46365 1632686 : ipack = ipack + 1
46366 1632686 : pack_tmp = packed_data(ipack)
46367 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46368 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46369 1632686 : idata = idata + 1
46370 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46371 1632686 : ipack = ipack + 1
46372 1632686 : pack_tmp = packed_data(ipack)
46373 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46374 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46375 1632686 : idata = idata + 1
46376 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46377 1632686 : ipack = ipack + 1
46378 1632686 : pack_tmp = packed_data(ipack)
46379 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46380 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46381 1632686 : idata = idata + 1
46382 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46383 1632686 : full_data(idata) = data_tmp
46384 1632686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46385 1632686 : idata = idata + 1
46386 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46387 1632686 : ipack = ipack + 1
46388 1632686 : pack_tmp = packed_data(ipack)
46389 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46390 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46391 1632686 : idata = idata + 1
46392 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46393 1632686 : ipack = ipack + 1
46394 1632686 : pack_tmp = packed_data(ipack)
46395 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46396 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46397 1632686 : idata = idata + 1
46398 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46399 1632686 : ipack = ipack + 1
46400 1632686 : pack_tmp = packed_data(ipack)
46401 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46402 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46403 1632686 : idata = idata + 1
46404 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46405 1632686 : ipack = ipack + 1
46406 1632686 : pack_tmp = packed_data(ipack)
46407 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46408 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46409 1632686 : idata = idata + 1
46410 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46411 1632686 : ipack = ipack + 1
46412 1632686 : pack_tmp = packed_data(ipack)
46413 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46414 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46415 1632686 : idata = idata + 1
46416 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46417 1632686 : ipack = ipack + 1
46418 1632686 : pack_tmp = packed_data(ipack)
46419 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46420 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46421 1632686 : idata = idata + 1
46422 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46423 1632686 : ipack = ipack + 1
46424 1632686 : pack_tmp = packed_data(ipack)
46425 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46426 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46427 1632686 : idata = idata + 1
46428 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46429 1632686 : full_data(idata) = data_tmp
46430 1632686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46431 1632686 : idata = idata + 1
46432 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46433 1632686 : ipack = ipack + 1
46434 1632686 : pack_tmp = packed_data(ipack)
46435 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46436 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46437 1632686 : idata = idata + 1
46438 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46439 1632686 : ipack = ipack + 1
46440 1632686 : pack_tmp = packed_data(ipack)
46441 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46442 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46443 1632686 : idata = idata + 1
46444 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46445 1632686 : ipack = ipack + 1
46446 1632686 : pack_tmp = packed_data(ipack)
46447 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46448 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46449 1632686 : idata = idata + 1
46450 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46451 1632686 : ipack = ipack + 1
46452 1632686 : pack_tmp = packed_data(ipack)
46453 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46454 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46455 1632686 : idata = idata + 1
46456 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46457 1632686 : ipack = ipack + 1
46458 1632686 : pack_tmp = packed_data(ipack)
46459 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46460 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46461 1632686 : idata = idata + 1
46462 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46463 1632686 : ipack = ipack + 1
46464 1632686 : pack_tmp = packed_data(ipack)
46465 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46466 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46467 1632686 : idata = idata + 1
46468 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46469 1632686 : ipack = ipack + 1
46470 1632686 : pack_tmp = packed_data(ipack)
46471 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46472 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46473 1632686 : idata = idata + 1
46474 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46475 1632686 : full_data(idata) = data_tmp
46476 1632686 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46477 1632686 : idata = idata + 1
46478 1632686 : data_tmp = ISHFT(pack_tmp, 56)
46479 1632686 : ipack = ipack + 1
46480 1632686 : pack_tmp = packed_data(ipack)
46481 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
46482 1632686 : pack_tmp = ISHFT(pack_tmp, -56)
46483 1632686 : idata = idata + 1
46484 1632686 : data_tmp = ISHFT(pack_tmp, 48)
46485 1632686 : ipack = ipack + 1
46486 1632686 : pack_tmp = packed_data(ipack)
46487 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
46488 1632686 : pack_tmp = ISHFT(pack_tmp, -48)
46489 1632686 : idata = idata + 1
46490 1632686 : data_tmp = ISHFT(pack_tmp, 40)
46491 1632686 : ipack = ipack + 1
46492 1632686 : pack_tmp = packed_data(ipack)
46493 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
46494 1632686 : pack_tmp = ISHFT(pack_tmp, -40)
46495 1632686 : idata = idata + 1
46496 1632686 : data_tmp = ISHFT(pack_tmp, 32)
46497 1632686 : ipack = ipack + 1
46498 1632686 : pack_tmp = packed_data(ipack)
46499 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
46500 1632686 : pack_tmp = ISHFT(pack_tmp, -32)
46501 1632686 : idata = idata + 1
46502 1632686 : data_tmp = ISHFT(pack_tmp, 24)
46503 1632686 : ipack = ipack + 1
46504 1632686 : pack_tmp = packed_data(ipack)
46505 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
46506 1632686 : pack_tmp = ISHFT(pack_tmp, -24)
46507 1632686 : idata = idata + 1
46508 1632686 : data_tmp = ISHFT(pack_tmp, 16)
46509 1632686 : ipack = ipack + 1
46510 1632686 : pack_tmp = packed_data(ipack)
46511 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
46512 1632686 : pack_tmp = ISHFT(pack_tmp, -16)
46513 1632686 : idata = idata + 1
46514 1632686 : data_tmp = ISHFT(pack_tmp, 8)
46515 1632686 : ipack = ipack + 1
46516 1632686 : pack_tmp = packed_data(ipack)
46517 1632686 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
46518 1632686 : pack_tmp = ISHFT(pack_tmp, -8)
46519 1632686 : idata = idata + 1
46520 1632686 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
46521 1632686 : full_data(idata) = data_tmp
46522 1633052 : pack_tmp = ISHFT(pack_tmp, -Nbits)
46523 : END DO
46524 105683 : IF (Ndata_rep < Ndata) THEN
46525 6852 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
46526 : END IF
46527 105683 : END SUBROUTINE bits2ints_56
46528 :
46529 : ! **************************************************************************************************
46530 : !> \brief ...
46531 : !> \param Ndata ...
46532 : !> \param packed_data ...
46533 : !> \param full_data ...
46534 : ! **************************************************************************************************
46535 24494 : 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(*)
46539 :
46540 : INTEGER, PARAMETER :: Nbits = 57
46541 :
46542 : INTEGER :: idata, ipack, kdata, Ndata_rep
46543 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
46544 :
46545 24494 : idata = 0
46546 24494 : ipack = 0
46547 24494 : Ndata_rep = (Ndata/64)*64
46548 24494 : DO kdata = 1, Ndata_rep, 64
46549 391394 : pack_tmp = 0
46550 391394 : idata = idata + 1
46551 391394 : data_tmp = full_data(idata)
46552 391394 : data_tmp = ISHFT(data_tmp, 7)
46553 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46554 391394 : pack_tmp = ISHFT(pack_tmp, -7)
46555 391394 : idata = idata + 1
46556 391394 : data_tmp = full_data(idata)
46557 391394 : data_tmp = ISHFT(data_tmp, 7)
46558 391394 : data_tmp = IAND(data_tmp, mask_left(7))
46559 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46560 391394 : ipack = ipack + 1
46561 391394 : packed_data(ipack) = pack_tmp
46562 391394 : data_tmp = full_data(idata)
46563 391394 : pack_tmp = ISHFT(data_tmp, 14)
46564 391394 : pack_tmp = ISHFT(pack_tmp, -14)
46565 391394 : idata = idata + 1
46566 391394 : data_tmp = full_data(idata)
46567 391394 : data_tmp = ISHFT(data_tmp, 7)
46568 391394 : data_tmp = IAND(data_tmp, mask_left(14))
46569 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46570 391394 : ipack = ipack + 1
46571 391394 : packed_data(ipack) = pack_tmp
46572 391394 : data_tmp = full_data(idata)
46573 391394 : pack_tmp = ISHFT(data_tmp, 21)
46574 391394 : pack_tmp = ISHFT(pack_tmp, -21)
46575 391394 : idata = idata + 1
46576 391394 : data_tmp = full_data(idata)
46577 391394 : data_tmp = ISHFT(data_tmp, 7)
46578 391394 : data_tmp = IAND(data_tmp, mask_left(21))
46579 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46580 391394 : ipack = ipack + 1
46581 391394 : packed_data(ipack) = pack_tmp
46582 391394 : data_tmp = full_data(idata)
46583 391394 : pack_tmp = ISHFT(data_tmp, 28)
46584 391394 : pack_tmp = ISHFT(pack_tmp, -28)
46585 391394 : idata = idata + 1
46586 391394 : data_tmp = full_data(idata)
46587 391394 : data_tmp = ISHFT(data_tmp, 7)
46588 391394 : data_tmp = IAND(data_tmp, mask_left(28))
46589 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46590 391394 : ipack = ipack + 1
46591 391394 : packed_data(ipack) = pack_tmp
46592 391394 : data_tmp = full_data(idata)
46593 391394 : pack_tmp = ISHFT(data_tmp, 35)
46594 391394 : pack_tmp = ISHFT(pack_tmp, -35)
46595 391394 : idata = idata + 1
46596 391394 : data_tmp = full_data(idata)
46597 391394 : data_tmp = ISHFT(data_tmp, 7)
46598 391394 : data_tmp = IAND(data_tmp, mask_left(35))
46599 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46600 391394 : ipack = ipack + 1
46601 391394 : packed_data(ipack) = pack_tmp
46602 391394 : data_tmp = full_data(idata)
46603 391394 : pack_tmp = ISHFT(data_tmp, 42)
46604 391394 : pack_tmp = ISHFT(pack_tmp, -42)
46605 391394 : idata = idata + 1
46606 391394 : data_tmp = full_data(idata)
46607 391394 : data_tmp = ISHFT(data_tmp, 7)
46608 391394 : data_tmp = IAND(data_tmp, mask_left(42))
46609 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46610 391394 : ipack = ipack + 1
46611 391394 : packed_data(ipack) = pack_tmp
46612 391394 : data_tmp = full_data(idata)
46613 391394 : pack_tmp = ISHFT(data_tmp, 49)
46614 391394 : pack_tmp = ISHFT(pack_tmp, -49)
46615 391394 : idata = idata + 1
46616 391394 : data_tmp = full_data(idata)
46617 391394 : data_tmp = ISHFT(data_tmp, 7)
46618 391394 : data_tmp = IAND(data_tmp, mask_left(49))
46619 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46620 391394 : ipack = ipack + 1
46621 391394 : packed_data(ipack) = pack_tmp
46622 391394 : data_tmp = full_data(idata)
46623 391394 : pack_tmp = ISHFT(data_tmp, 56)
46624 391394 : pack_tmp = ISHFT(pack_tmp, -56)
46625 391394 : idata = idata + 1
46626 391394 : data_tmp = full_data(idata)
46627 391394 : data_tmp = ISHFT(data_tmp, 7)
46628 391394 : data_tmp = IAND(data_tmp, mask_left(56))
46629 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46630 391394 : ipack = ipack + 1
46631 391394 : packed_data(ipack) = pack_tmp
46632 391394 : data_tmp = full_data(idata)
46633 391394 : pack_tmp = ISHFT(data_tmp, 63)
46634 391394 : pack_tmp = ISHFT(pack_tmp, -57)
46635 391394 : idata = idata + 1
46636 391394 : data_tmp = full_data(idata)
46637 391394 : data_tmp = ISHFT(data_tmp, 7)
46638 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46639 391394 : pack_tmp = ISHFT(pack_tmp, -6)
46640 391394 : idata = idata + 1
46641 391394 : data_tmp = full_data(idata)
46642 391394 : data_tmp = ISHFT(data_tmp, 7)
46643 391394 : data_tmp = IAND(data_tmp, mask_left(6))
46644 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46645 391394 : ipack = ipack + 1
46646 391394 : packed_data(ipack) = pack_tmp
46647 391394 : data_tmp = full_data(idata)
46648 391394 : pack_tmp = ISHFT(data_tmp, 13)
46649 391394 : pack_tmp = ISHFT(pack_tmp, -13)
46650 391394 : idata = idata + 1
46651 391394 : data_tmp = full_data(idata)
46652 391394 : data_tmp = ISHFT(data_tmp, 7)
46653 391394 : data_tmp = IAND(data_tmp, mask_left(13))
46654 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46655 391394 : ipack = ipack + 1
46656 391394 : packed_data(ipack) = pack_tmp
46657 391394 : data_tmp = full_data(idata)
46658 391394 : pack_tmp = ISHFT(data_tmp, 20)
46659 391394 : pack_tmp = ISHFT(pack_tmp, -20)
46660 391394 : idata = idata + 1
46661 391394 : data_tmp = full_data(idata)
46662 391394 : data_tmp = ISHFT(data_tmp, 7)
46663 391394 : data_tmp = IAND(data_tmp, mask_left(20))
46664 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46665 391394 : ipack = ipack + 1
46666 391394 : packed_data(ipack) = pack_tmp
46667 391394 : data_tmp = full_data(idata)
46668 391394 : pack_tmp = ISHFT(data_tmp, 27)
46669 391394 : pack_tmp = ISHFT(pack_tmp, -27)
46670 391394 : idata = idata + 1
46671 391394 : data_tmp = full_data(idata)
46672 391394 : data_tmp = ISHFT(data_tmp, 7)
46673 391394 : data_tmp = IAND(data_tmp, mask_left(27))
46674 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46675 391394 : ipack = ipack + 1
46676 391394 : packed_data(ipack) = pack_tmp
46677 391394 : data_tmp = full_data(idata)
46678 391394 : pack_tmp = ISHFT(data_tmp, 34)
46679 391394 : pack_tmp = ISHFT(pack_tmp, -34)
46680 391394 : idata = idata + 1
46681 391394 : data_tmp = full_data(idata)
46682 391394 : data_tmp = ISHFT(data_tmp, 7)
46683 391394 : data_tmp = IAND(data_tmp, mask_left(34))
46684 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46685 391394 : ipack = ipack + 1
46686 391394 : packed_data(ipack) = pack_tmp
46687 391394 : data_tmp = full_data(idata)
46688 391394 : pack_tmp = ISHFT(data_tmp, 41)
46689 391394 : pack_tmp = ISHFT(pack_tmp, -41)
46690 391394 : idata = idata + 1
46691 391394 : data_tmp = full_data(idata)
46692 391394 : data_tmp = ISHFT(data_tmp, 7)
46693 391394 : data_tmp = IAND(data_tmp, mask_left(41))
46694 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46695 391394 : ipack = ipack + 1
46696 391394 : packed_data(ipack) = pack_tmp
46697 391394 : data_tmp = full_data(idata)
46698 391394 : pack_tmp = ISHFT(data_tmp, 48)
46699 391394 : pack_tmp = ISHFT(pack_tmp, -48)
46700 391394 : idata = idata + 1
46701 391394 : data_tmp = full_data(idata)
46702 391394 : data_tmp = ISHFT(data_tmp, 7)
46703 391394 : data_tmp = IAND(data_tmp, mask_left(48))
46704 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46705 391394 : ipack = ipack + 1
46706 391394 : packed_data(ipack) = pack_tmp
46707 391394 : data_tmp = full_data(idata)
46708 391394 : pack_tmp = ISHFT(data_tmp, 55)
46709 391394 : pack_tmp = ISHFT(pack_tmp, -55)
46710 391394 : idata = idata + 1
46711 391394 : data_tmp = full_data(idata)
46712 391394 : data_tmp = ISHFT(data_tmp, 7)
46713 391394 : data_tmp = IAND(data_tmp, mask_left(55))
46714 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46715 391394 : ipack = ipack + 1
46716 391394 : packed_data(ipack) = pack_tmp
46717 391394 : data_tmp = full_data(idata)
46718 391394 : pack_tmp = ISHFT(data_tmp, 62)
46719 391394 : pack_tmp = ISHFT(pack_tmp, -57)
46720 391394 : idata = idata + 1
46721 391394 : data_tmp = full_data(idata)
46722 391394 : data_tmp = ISHFT(data_tmp, 7)
46723 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46724 391394 : pack_tmp = ISHFT(pack_tmp, -5)
46725 391394 : idata = idata + 1
46726 391394 : data_tmp = full_data(idata)
46727 391394 : data_tmp = ISHFT(data_tmp, 7)
46728 391394 : data_tmp = IAND(data_tmp, mask_left(5))
46729 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46730 391394 : ipack = ipack + 1
46731 391394 : packed_data(ipack) = pack_tmp
46732 391394 : data_tmp = full_data(idata)
46733 391394 : pack_tmp = ISHFT(data_tmp, 12)
46734 391394 : pack_tmp = ISHFT(pack_tmp, -12)
46735 391394 : idata = idata + 1
46736 391394 : data_tmp = full_data(idata)
46737 391394 : data_tmp = ISHFT(data_tmp, 7)
46738 391394 : data_tmp = IAND(data_tmp, mask_left(12))
46739 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46740 391394 : ipack = ipack + 1
46741 391394 : packed_data(ipack) = pack_tmp
46742 391394 : data_tmp = full_data(idata)
46743 391394 : pack_tmp = ISHFT(data_tmp, 19)
46744 391394 : pack_tmp = ISHFT(pack_tmp, -19)
46745 391394 : idata = idata + 1
46746 391394 : data_tmp = full_data(idata)
46747 391394 : data_tmp = ISHFT(data_tmp, 7)
46748 391394 : data_tmp = IAND(data_tmp, mask_left(19))
46749 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46750 391394 : ipack = ipack + 1
46751 391394 : packed_data(ipack) = pack_tmp
46752 391394 : data_tmp = full_data(idata)
46753 391394 : pack_tmp = ISHFT(data_tmp, 26)
46754 391394 : pack_tmp = ISHFT(pack_tmp, -26)
46755 391394 : idata = idata + 1
46756 391394 : data_tmp = full_data(idata)
46757 391394 : data_tmp = ISHFT(data_tmp, 7)
46758 391394 : data_tmp = IAND(data_tmp, mask_left(26))
46759 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46760 391394 : ipack = ipack + 1
46761 391394 : packed_data(ipack) = pack_tmp
46762 391394 : data_tmp = full_data(idata)
46763 391394 : pack_tmp = ISHFT(data_tmp, 33)
46764 391394 : pack_tmp = ISHFT(pack_tmp, -33)
46765 391394 : idata = idata + 1
46766 391394 : data_tmp = full_data(idata)
46767 391394 : data_tmp = ISHFT(data_tmp, 7)
46768 391394 : data_tmp = IAND(data_tmp, mask_left(33))
46769 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46770 391394 : ipack = ipack + 1
46771 391394 : packed_data(ipack) = pack_tmp
46772 391394 : data_tmp = full_data(idata)
46773 391394 : pack_tmp = ISHFT(data_tmp, 40)
46774 391394 : pack_tmp = ISHFT(pack_tmp, -40)
46775 391394 : idata = idata + 1
46776 391394 : data_tmp = full_data(idata)
46777 391394 : data_tmp = ISHFT(data_tmp, 7)
46778 391394 : data_tmp = IAND(data_tmp, mask_left(40))
46779 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46780 391394 : ipack = ipack + 1
46781 391394 : packed_data(ipack) = pack_tmp
46782 391394 : data_tmp = full_data(idata)
46783 391394 : pack_tmp = ISHFT(data_tmp, 47)
46784 391394 : pack_tmp = ISHFT(pack_tmp, -47)
46785 391394 : idata = idata + 1
46786 391394 : data_tmp = full_data(idata)
46787 391394 : data_tmp = ISHFT(data_tmp, 7)
46788 391394 : data_tmp = IAND(data_tmp, mask_left(47))
46789 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46790 391394 : ipack = ipack + 1
46791 391394 : packed_data(ipack) = pack_tmp
46792 391394 : data_tmp = full_data(idata)
46793 391394 : pack_tmp = ISHFT(data_tmp, 54)
46794 391394 : pack_tmp = ISHFT(pack_tmp, -54)
46795 391394 : idata = idata + 1
46796 391394 : data_tmp = full_data(idata)
46797 391394 : data_tmp = ISHFT(data_tmp, 7)
46798 391394 : data_tmp = IAND(data_tmp, mask_left(54))
46799 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46800 391394 : ipack = ipack + 1
46801 391394 : packed_data(ipack) = pack_tmp
46802 391394 : data_tmp = full_data(idata)
46803 391394 : pack_tmp = ISHFT(data_tmp, 61)
46804 391394 : pack_tmp = ISHFT(pack_tmp, -57)
46805 391394 : idata = idata + 1
46806 391394 : data_tmp = full_data(idata)
46807 391394 : data_tmp = ISHFT(data_tmp, 7)
46808 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46809 391394 : pack_tmp = ISHFT(pack_tmp, -4)
46810 391394 : idata = idata + 1
46811 391394 : data_tmp = full_data(idata)
46812 391394 : data_tmp = ISHFT(data_tmp, 7)
46813 391394 : data_tmp = IAND(data_tmp, mask_left(4))
46814 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46815 391394 : ipack = ipack + 1
46816 391394 : packed_data(ipack) = pack_tmp
46817 391394 : data_tmp = full_data(idata)
46818 391394 : pack_tmp = ISHFT(data_tmp, 11)
46819 391394 : pack_tmp = ISHFT(pack_tmp, -11)
46820 391394 : idata = idata + 1
46821 391394 : data_tmp = full_data(idata)
46822 391394 : data_tmp = ISHFT(data_tmp, 7)
46823 391394 : data_tmp = IAND(data_tmp, mask_left(11))
46824 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46825 391394 : ipack = ipack + 1
46826 391394 : packed_data(ipack) = pack_tmp
46827 391394 : data_tmp = full_data(idata)
46828 391394 : pack_tmp = ISHFT(data_tmp, 18)
46829 391394 : pack_tmp = ISHFT(pack_tmp, -18)
46830 391394 : idata = idata + 1
46831 391394 : data_tmp = full_data(idata)
46832 391394 : data_tmp = ISHFT(data_tmp, 7)
46833 391394 : data_tmp = IAND(data_tmp, mask_left(18))
46834 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46835 391394 : ipack = ipack + 1
46836 391394 : packed_data(ipack) = pack_tmp
46837 391394 : data_tmp = full_data(idata)
46838 391394 : pack_tmp = ISHFT(data_tmp, 25)
46839 391394 : pack_tmp = ISHFT(pack_tmp, -25)
46840 391394 : idata = idata + 1
46841 391394 : data_tmp = full_data(idata)
46842 391394 : data_tmp = ISHFT(data_tmp, 7)
46843 391394 : data_tmp = IAND(data_tmp, mask_left(25))
46844 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46845 391394 : ipack = ipack + 1
46846 391394 : packed_data(ipack) = pack_tmp
46847 391394 : data_tmp = full_data(idata)
46848 391394 : pack_tmp = ISHFT(data_tmp, 32)
46849 391394 : pack_tmp = ISHFT(pack_tmp, -32)
46850 391394 : idata = idata + 1
46851 391394 : data_tmp = full_data(idata)
46852 391394 : data_tmp = ISHFT(data_tmp, 7)
46853 391394 : data_tmp = IAND(data_tmp, mask_left(32))
46854 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46855 391394 : ipack = ipack + 1
46856 391394 : packed_data(ipack) = pack_tmp
46857 391394 : data_tmp = full_data(idata)
46858 391394 : pack_tmp = ISHFT(data_tmp, 39)
46859 391394 : pack_tmp = ISHFT(pack_tmp, -39)
46860 391394 : idata = idata + 1
46861 391394 : data_tmp = full_data(idata)
46862 391394 : data_tmp = ISHFT(data_tmp, 7)
46863 391394 : data_tmp = IAND(data_tmp, mask_left(39))
46864 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46865 391394 : ipack = ipack + 1
46866 391394 : packed_data(ipack) = pack_tmp
46867 391394 : data_tmp = full_data(idata)
46868 391394 : pack_tmp = ISHFT(data_tmp, 46)
46869 391394 : pack_tmp = ISHFT(pack_tmp, -46)
46870 391394 : idata = idata + 1
46871 391394 : data_tmp = full_data(idata)
46872 391394 : data_tmp = ISHFT(data_tmp, 7)
46873 391394 : data_tmp = IAND(data_tmp, mask_left(46))
46874 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46875 391394 : ipack = ipack + 1
46876 391394 : packed_data(ipack) = pack_tmp
46877 391394 : data_tmp = full_data(idata)
46878 391394 : pack_tmp = ISHFT(data_tmp, 53)
46879 391394 : pack_tmp = ISHFT(pack_tmp, -53)
46880 391394 : idata = idata + 1
46881 391394 : data_tmp = full_data(idata)
46882 391394 : data_tmp = ISHFT(data_tmp, 7)
46883 391394 : data_tmp = IAND(data_tmp, mask_left(53))
46884 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46885 391394 : ipack = ipack + 1
46886 391394 : packed_data(ipack) = pack_tmp
46887 391394 : data_tmp = full_data(idata)
46888 391394 : pack_tmp = ISHFT(data_tmp, 60)
46889 391394 : pack_tmp = ISHFT(pack_tmp, -57)
46890 391394 : idata = idata + 1
46891 391394 : data_tmp = full_data(idata)
46892 391394 : data_tmp = ISHFT(data_tmp, 7)
46893 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46894 391394 : pack_tmp = ISHFT(pack_tmp, -3)
46895 391394 : idata = idata + 1
46896 391394 : data_tmp = full_data(idata)
46897 391394 : data_tmp = ISHFT(data_tmp, 7)
46898 391394 : data_tmp = IAND(data_tmp, mask_left(3))
46899 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46900 391394 : ipack = ipack + 1
46901 391394 : packed_data(ipack) = pack_tmp
46902 391394 : data_tmp = full_data(idata)
46903 391394 : pack_tmp = ISHFT(data_tmp, 10)
46904 391394 : pack_tmp = ISHFT(pack_tmp, -10)
46905 391394 : idata = idata + 1
46906 391394 : data_tmp = full_data(idata)
46907 391394 : data_tmp = ISHFT(data_tmp, 7)
46908 391394 : data_tmp = IAND(data_tmp, mask_left(10))
46909 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46910 391394 : ipack = ipack + 1
46911 391394 : packed_data(ipack) = pack_tmp
46912 391394 : data_tmp = full_data(idata)
46913 391394 : pack_tmp = ISHFT(data_tmp, 17)
46914 391394 : pack_tmp = ISHFT(pack_tmp, -17)
46915 391394 : idata = idata + 1
46916 391394 : data_tmp = full_data(idata)
46917 391394 : data_tmp = ISHFT(data_tmp, 7)
46918 391394 : data_tmp = IAND(data_tmp, mask_left(17))
46919 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46920 391394 : ipack = ipack + 1
46921 391394 : packed_data(ipack) = pack_tmp
46922 391394 : data_tmp = full_data(idata)
46923 391394 : pack_tmp = ISHFT(data_tmp, 24)
46924 391394 : pack_tmp = ISHFT(pack_tmp, -24)
46925 391394 : idata = idata + 1
46926 391394 : data_tmp = full_data(idata)
46927 391394 : data_tmp = ISHFT(data_tmp, 7)
46928 391394 : data_tmp = IAND(data_tmp, mask_left(24))
46929 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46930 391394 : ipack = ipack + 1
46931 391394 : packed_data(ipack) = pack_tmp
46932 391394 : data_tmp = full_data(idata)
46933 391394 : pack_tmp = ISHFT(data_tmp, 31)
46934 391394 : pack_tmp = ISHFT(pack_tmp, -31)
46935 391394 : idata = idata + 1
46936 391394 : data_tmp = full_data(idata)
46937 391394 : data_tmp = ISHFT(data_tmp, 7)
46938 391394 : data_tmp = IAND(data_tmp, mask_left(31))
46939 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46940 391394 : ipack = ipack + 1
46941 391394 : packed_data(ipack) = pack_tmp
46942 391394 : data_tmp = full_data(idata)
46943 391394 : pack_tmp = ISHFT(data_tmp, 38)
46944 391394 : pack_tmp = ISHFT(pack_tmp, -38)
46945 391394 : idata = idata + 1
46946 391394 : data_tmp = full_data(idata)
46947 391394 : data_tmp = ISHFT(data_tmp, 7)
46948 391394 : data_tmp = IAND(data_tmp, mask_left(38))
46949 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46950 391394 : ipack = ipack + 1
46951 391394 : packed_data(ipack) = pack_tmp
46952 391394 : data_tmp = full_data(idata)
46953 391394 : pack_tmp = ISHFT(data_tmp, 45)
46954 391394 : pack_tmp = ISHFT(pack_tmp, -45)
46955 391394 : idata = idata + 1
46956 391394 : data_tmp = full_data(idata)
46957 391394 : data_tmp = ISHFT(data_tmp, 7)
46958 391394 : data_tmp = IAND(data_tmp, mask_left(45))
46959 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46960 391394 : ipack = ipack + 1
46961 391394 : packed_data(ipack) = pack_tmp
46962 391394 : data_tmp = full_data(idata)
46963 391394 : pack_tmp = ISHFT(data_tmp, 52)
46964 391394 : pack_tmp = ISHFT(pack_tmp, -52)
46965 391394 : idata = idata + 1
46966 391394 : data_tmp = full_data(idata)
46967 391394 : data_tmp = ISHFT(data_tmp, 7)
46968 391394 : data_tmp = IAND(data_tmp, mask_left(52))
46969 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46970 391394 : ipack = ipack + 1
46971 391394 : packed_data(ipack) = pack_tmp
46972 391394 : data_tmp = full_data(idata)
46973 391394 : pack_tmp = ISHFT(data_tmp, 59)
46974 391394 : pack_tmp = ISHFT(pack_tmp, -57)
46975 391394 : idata = idata + 1
46976 391394 : data_tmp = full_data(idata)
46977 391394 : data_tmp = ISHFT(data_tmp, 7)
46978 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46979 391394 : pack_tmp = ISHFT(pack_tmp, -2)
46980 391394 : idata = idata + 1
46981 391394 : data_tmp = full_data(idata)
46982 391394 : data_tmp = ISHFT(data_tmp, 7)
46983 391394 : data_tmp = IAND(data_tmp, mask_left(2))
46984 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46985 391394 : ipack = ipack + 1
46986 391394 : packed_data(ipack) = pack_tmp
46987 391394 : data_tmp = full_data(idata)
46988 391394 : pack_tmp = ISHFT(data_tmp, 9)
46989 391394 : pack_tmp = ISHFT(pack_tmp, -9)
46990 391394 : idata = idata + 1
46991 391394 : data_tmp = full_data(idata)
46992 391394 : data_tmp = ISHFT(data_tmp, 7)
46993 391394 : data_tmp = IAND(data_tmp, mask_left(9))
46994 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
46995 391394 : ipack = ipack + 1
46996 391394 : packed_data(ipack) = pack_tmp
46997 391394 : data_tmp = full_data(idata)
46998 391394 : pack_tmp = ISHFT(data_tmp, 16)
46999 391394 : pack_tmp = ISHFT(pack_tmp, -16)
47000 391394 : idata = idata + 1
47001 391394 : data_tmp = full_data(idata)
47002 391394 : data_tmp = ISHFT(data_tmp, 7)
47003 391394 : data_tmp = IAND(data_tmp, mask_left(16))
47004 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47005 391394 : ipack = ipack + 1
47006 391394 : packed_data(ipack) = pack_tmp
47007 391394 : data_tmp = full_data(idata)
47008 391394 : pack_tmp = ISHFT(data_tmp, 23)
47009 391394 : pack_tmp = ISHFT(pack_tmp, -23)
47010 391394 : idata = idata + 1
47011 391394 : data_tmp = full_data(idata)
47012 391394 : data_tmp = ISHFT(data_tmp, 7)
47013 391394 : data_tmp = IAND(data_tmp, mask_left(23))
47014 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47015 391394 : ipack = ipack + 1
47016 391394 : packed_data(ipack) = pack_tmp
47017 391394 : data_tmp = full_data(idata)
47018 391394 : pack_tmp = ISHFT(data_tmp, 30)
47019 391394 : pack_tmp = ISHFT(pack_tmp, -30)
47020 391394 : idata = idata + 1
47021 391394 : data_tmp = full_data(idata)
47022 391394 : data_tmp = ISHFT(data_tmp, 7)
47023 391394 : data_tmp = IAND(data_tmp, mask_left(30))
47024 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47025 391394 : ipack = ipack + 1
47026 391394 : packed_data(ipack) = pack_tmp
47027 391394 : data_tmp = full_data(idata)
47028 391394 : pack_tmp = ISHFT(data_tmp, 37)
47029 391394 : pack_tmp = ISHFT(pack_tmp, -37)
47030 391394 : idata = idata + 1
47031 391394 : data_tmp = full_data(idata)
47032 391394 : data_tmp = ISHFT(data_tmp, 7)
47033 391394 : data_tmp = IAND(data_tmp, mask_left(37))
47034 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47035 391394 : ipack = ipack + 1
47036 391394 : packed_data(ipack) = pack_tmp
47037 391394 : data_tmp = full_data(idata)
47038 391394 : pack_tmp = ISHFT(data_tmp, 44)
47039 391394 : pack_tmp = ISHFT(pack_tmp, -44)
47040 391394 : idata = idata + 1
47041 391394 : data_tmp = full_data(idata)
47042 391394 : data_tmp = ISHFT(data_tmp, 7)
47043 391394 : data_tmp = IAND(data_tmp, mask_left(44))
47044 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47045 391394 : ipack = ipack + 1
47046 391394 : packed_data(ipack) = pack_tmp
47047 391394 : data_tmp = full_data(idata)
47048 391394 : pack_tmp = ISHFT(data_tmp, 51)
47049 391394 : pack_tmp = ISHFT(pack_tmp, -51)
47050 391394 : idata = idata + 1
47051 391394 : data_tmp = full_data(idata)
47052 391394 : data_tmp = ISHFT(data_tmp, 7)
47053 391394 : data_tmp = IAND(data_tmp, mask_left(51))
47054 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47055 391394 : ipack = ipack + 1
47056 391394 : packed_data(ipack) = pack_tmp
47057 391394 : data_tmp = full_data(idata)
47058 391394 : pack_tmp = ISHFT(data_tmp, 58)
47059 391394 : pack_tmp = ISHFT(pack_tmp, -57)
47060 391394 : idata = idata + 1
47061 391394 : data_tmp = full_data(idata)
47062 391394 : data_tmp = ISHFT(data_tmp, 7)
47063 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47064 391394 : pack_tmp = ISHFT(pack_tmp, -1)
47065 391394 : idata = idata + 1
47066 391394 : data_tmp = full_data(idata)
47067 391394 : data_tmp = ISHFT(data_tmp, 7)
47068 391394 : data_tmp = IAND(data_tmp, mask_left(1))
47069 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47070 391394 : ipack = ipack + 1
47071 391394 : packed_data(ipack) = pack_tmp
47072 391394 : data_tmp = full_data(idata)
47073 391394 : pack_tmp = ISHFT(data_tmp, 8)
47074 391394 : pack_tmp = ISHFT(pack_tmp, -8)
47075 391394 : idata = idata + 1
47076 391394 : data_tmp = full_data(idata)
47077 391394 : data_tmp = ISHFT(data_tmp, 7)
47078 391394 : data_tmp = IAND(data_tmp, mask_left(8))
47079 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47080 391394 : ipack = ipack + 1
47081 391394 : packed_data(ipack) = pack_tmp
47082 391394 : data_tmp = full_data(idata)
47083 391394 : pack_tmp = ISHFT(data_tmp, 15)
47084 391394 : pack_tmp = ISHFT(pack_tmp, -15)
47085 391394 : idata = idata + 1
47086 391394 : data_tmp = full_data(idata)
47087 391394 : data_tmp = ISHFT(data_tmp, 7)
47088 391394 : data_tmp = IAND(data_tmp, mask_left(15))
47089 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47090 391394 : ipack = ipack + 1
47091 391394 : packed_data(ipack) = pack_tmp
47092 391394 : data_tmp = full_data(idata)
47093 391394 : pack_tmp = ISHFT(data_tmp, 22)
47094 391394 : pack_tmp = ISHFT(pack_tmp, -22)
47095 391394 : idata = idata + 1
47096 391394 : data_tmp = full_data(idata)
47097 391394 : data_tmp = ISHFT(data_tmp, 7)
47098 391394 : data_tmp = IAND(data_tmp, mask_left(22))
47099 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47100 391394 : ipack = ipack + 1
47101 391394 : packed_data(ipack) = pack_tmp
47102 391394 : data_tmp = full_data(idata)
47103 391394 : pack_tmp = ISHFT(data_tmp, 29)
47104 391394 : pack_tmp = ISHFT(pack_tmp, -29)
47105 391394 : idata = idata + 1
47106 391394 : data_tmp = full_data(idata)
47107 391394 : data_tmp = ISHFT(data_tmp, 7)
47108 391394 : data_tmp = IAND(data_tmp, mask_left(29))
47109 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47110 391394 : ipack = ipack + 1
47111 391394 : packed_data(ipack) = pack_tmp
47112 391394 : data_tmp = full_data(idata)
47113 391394 : pack_tmp = ISHFT(data_tmp, 36)
47114 391394 : pack_tmp = ISHFT(pack_tmp, -36)
47115 391394 : idata = idata + 1
47116 391394 : data_tmp = full_data(idata)
47117 391394 : data_tmp = ISHFT(data_tmp, 7)
47118 391394 : data_tmp = IAND(data_tmp, mask_left(36))
47119 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47120 391394 : ipack = ipack + 1
47121 391394 : packed_data(ipack) = pack_tmp
47122 391394 : data_tmp = full_data(idata)
47123 391394 : pack_tmp = ISHFT(data_tmp, 43)
47124 391394 : pack_tmp = ISHFT(pack_tmp, -43)
47125 391394 : idata = idata + 1
47126 391394 : data_tmp = full_data(idata)
47127 391394 : data_tmp = ISHFT(data_tmp, 7)
47128 391394 : data_tmp = IAND(data_tmp, mask_left(43))
47129 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47130 391394 : ipack = ipack + 1
47131 391394 : packed_data(ipack) = pack_tmp
47132 391394 : data_tmp = full_data(idata)
47133 391394 : pack_tmp = ISHFT(data_tmp, 50)
47134 391394 : pack_tmp = ISHFT(pack_tmp, -50)
47135 391394 : idata = idata + 1
47136 391394 : data_tmp = full_data(idata)
47137 391394 : data_tmp = ISHFT(data_tmp, 7)
47138 391394 : data_tmp = IAND(data_tmp, mask_left(50))
47139 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47140 391394 : ipack = ipack + 1
47141 391394 : packed_data(ipack) = pack_tmp
47142 391394 : data_tmp = full_data(idata)
47143 391394 : pack_tmp = ISHFT(data_tmp, 57)
47144 391394 : pack_tmp = ISHFT(pack_tmp, -57)
47145 391394 : idata = idata + 1
47146 391394 : data_tmp = full_data(idata)
47147 391394 : data_tmp = ISHFT(data_tmp, 7)
47148 391394 : pack_tmp = IOR(pack_tmp, data_tmp)
47149 : pack_tmp = ISHFT(pack_tmp, 0)
47150 391394 : pack_tmp = ISHFT(pack_tmp, 0)
47151 391394 : ipack = ipack + 1
47152 391396 : packed_data(ipack) = pack_tmp
47153 : END DO
47154 24494 : IF (Ndata_rep < Ndata) THEN
47155 60 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
47156 : END IF
47157 24494 : END SUBROUTINE ints2bits_57
47158 :
47159 : ! **************************************************************************************************
47160 : !> \brief ...
47161 : !> \param Ndata ...
47162 : !> \param packed_data ...
47163 : !> \param full_data ...
47164 : ! **************************************************************************************************
47165 102007 : 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(*)
47169 :
47170 : INTEGER, PARAMETER :: Nbits = 57
47171 :
47172 : INTEGER :: idata, ipack, kdata, Ndata_rep
47173 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
47174 :
47175 102007 : ipack = 0
47176 102007 : idata = 0
47177 102007 : pack_tmp = 0
47178 102007 : Ndata_rep = (Ndata/64)*64
47179 102007 : DO kdata = 1, Ndata_rep, 64
47180 1603042 : idata = idata + 1
47181 1603042 : data_tmp = ISHFT(pack_tmp, 57)
47182 1603042 : ipack = ipack + 1
47183 1603042 : pack_tmp = packed_data(ipack)
47184 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
47185 1603042 : pack_tmp = ISHFT(pack_tmp, -57)
47186 1603042 : idata = idata + 1
47187 1603042 : data_tmp = ISHFT(pack_tmp, 50)
47188 1603042 : ipack = ipack + 1
47189 1603042 : pack_tmp = packed_data(ipack)
47190 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
47191 1603042 : pack_tmp = ISHFT(pack_tmp, -50)
47192 1603042 : idata = idata + 1
47193 1603042 : data_tmp = ISHFT(pack_tmp, 43)
47194 1603042 : ipack = ipack + 1
47195 1603042 : pack_tmp = packed_data(ipack)
47196 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
47197 1603042 : pack_tmp = ISHFT(pack_tmp, -43)
47198 1603042 : idata = idata + 1
47199 1603042 : data_tmp = ISHFT(pack_tmp, 36)
47200 1603042 : ipack = ipack + 1
47201 1603042 : pack_tmp = packed_data(ipack)
47202 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
47203 1603042 : pack_tmp = ISHFT(pack_tmp, -36)
47204 1603042 : idata = idata + 1
47205 1603042 : data_tmp = ISHFT(pack_tmp, 29)
47206 1603042 : ipack = ipack + 1
47207 1603042 : pack_tmp = packed_data(ipack)
47208 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
47209 1603042 : pack_tmp = ISHFT(pack_tmp, -29)
47210 1603042 : idata = idata + 1
47211 1603042 : data_tmp = ISHFT(pack_tmp, 22)
47212 1603042 : ipack = ipack + 1
47213 1603042 : pack_tmp = packed_data(ipack)
47214 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
47215 1603042 : pack_tmp = ISHFT(pack_tmp, -22)
47216 1603042 : idata = idata + 1
47217 1603042 : data_tmp = ISHFT(pack_tmp, 15)
47218 1603042 : ipack = ipack + 1
47219 1603042 : pack_tmp = packed_data(ipack)
47220 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
47221 1603042 : pack_tmp = ISHFT(pack_tmp, -15)
47222 1603042 : idata = idata + 1
47223 1603042 : data_tmp = ISHFT(pack_tmp, 8)
47224 1603042 : ipack = ipack + 1
47225 1603042 : pack_tmp = packed_data(ipack)
47226 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
47227 1603042 : pack_tmp = ISHFT(pack_tmp, -8)
47228 1603042 : idata = idata + 1
47229 1603042 : data_tmp = ISHFT(pack_tmp, 1)
47230 1603042 : ipack = ipack + 1
47231 1603042 : pack_tmp = packed_data(ipack)
47232 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
47233 1603042 : pack_tmp = ISHFT(pack_tmp, -1)
47234 1603042 : idata = idata + 1
47235 1603042 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47236 1603042 : full_data(idata) = data_tmp
47237 1603042 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47238 1603042 : idata = idata + 1
47239 1603042 : data_tmp = ISHFT(pack_tmp, 51)
47240 1603042 : ipack = ipack + 1
47241 1603042 : pack_tmp = packed_data(ipack)
47242 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
47243 1603042 : pack_tmp = ISHFT(pack_tmp, -51)
47244 1603042 : idata = idata + 1
47245 1603042 : data_tmp = ISHFT(pack_tmp, 44)
47246 1603042 : ipack = ipack + 1
47247 1603042 : pack_tmp = packed_data(ipack)
47248 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
47249 1603042 : pack_tmp = ISHFT(pack_tmp, -44)
47250 1603042 : idata = idata + 1
47251 1603042 : data_tmp = ISHFT(pack_tmp, 37)
47252 1603042 : ipack = ipack + 1
47253 1603042 : pack_tmp = packed_data(ipack)
47254 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
47255 1603042 : pack_tmp = ISHFT(pack_tmp, -37)
47256 1603042 : idata = idata + 1
47257 1603042 : data_tmp = ISHFT(pack_tmp, 30)
47258 1603042 : ipack = ipack + 1
47259 1603042 : pack_tmp = packed_data(ipack)
47260 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
47261 1603042 : pack_tmp = ISHFT(pack_tmp, -30)
47262 1603042 : idata = idata + 1
47263 1603042 : data_tmp = ISHFT(pack_tmp, 23)
47264 1603042 : ipack = ipack + 1
47265 1603042 : pack_tmp = packed_data(ipack)
47266 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
47267 1603042 : pack_tmp = ISHFT(pack_tmp, -23)
47268 1603042 : idata = idata + 1
47269 1603042 : data_tmp = ISHFT(pack_tmp, 16)
47270 1603042 : ipack = ipack + 1
47271 1603042 : pack_tmp = packed_data(ipack)
47272 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
47273 1603042 : pack_tmp = ISHFT(pack_tmp, -16)
47274 1603042 : idata = idata + 1
47275 1603042 : data_tmp = ISHFT(pack_tmp, 9)
47276 1603042 : ipack = ipack + 1
47277 1603042 : pack_tmp = packed_data(ipack)
47278 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
47279 1603042 : pack_tmp = ISHFT(pack_tmp, -9)
47280 1603042 : idata = idata + 1
47281 1603042 : data_tmp = ISHFT(pack_tmp, 2)
47282 1603042 : ipack = ipack + 1
47283 1603042 : pack_tmp = packed_data(ipack)
47284 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
47285 1603042 : pack_tmp = ISHFT(pack_tmp, -2)
47286 1603042 : idata = idata + 1
47287 1603042 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47288 1603042 : full_data(idata) = data_tmp
47289 1603042 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47290 1603042 : idata = idata + 1
47291 1603042 : data_tmp = ISHFT(pack_tmp, 52)
47292 1603042 : ipack = ipack + 1
47293 1603042 : pack_tmp = packed_data(ipack)
47294 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
47295 1603042 : pack_tmp = ISHFT(pack_tmp, -52)
47296 1603042 : idata = idata + 1
47297 1603042 : data_tmp = ISHFT(pack_tmp, 45)
47298 1603042 : ipack = ipack + 1
47299 1603042 : pack_tmp = packed_data(ipack)
47300 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
47301 1603042 : pack_tmp = ISHFT(pack_tmp, -45)
47302 1603042 : idata = idata + 1
47303 1603042 : data_tmp = ISHFT(pack_tmp, 38)
47304 1603042 : ipack = ipack + 1
47305 1603042 : pack_tmp = packed_data(ipack)
47306 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
47307 1603042 : pack_tmp = ISHFT(pack_tmp, -38)
47308 1603042 : idata = idata + 1
47309 1603042 : data_tmp = ISHFT(pack_tmp, 31)
47310 1603042 : ipack = ipack + 1
47311 1603042 : pack_tmp = packed_data(ipack)
47312 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
47313 1603042 : pack_tmp = ISHFT(pack_tmp, -31)
47314 1603042 : idata = idata + 1
47315 1603042 : data_tmp = ISHFT(pack_tmp, 24)
47316 1603042 : ipack = ipack + 1
47317 1603042 : pack_tmp = packed_data(ipack)
47318 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
47319 1603042 : pack_tmp = ISHFT(pack_tmp, -24)
47320 1603042 : idata = idata + 1
47321 1603042 : data_tmp = ISHFT(pack_tmp, 17)
47322 1603042 : ipack = ipack + 1
47323 1603042 : pack_tmp = packed_data(ipack)
47324 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
47325 1603042 : pack_tmp = ISHFT(pack_tmp, -17)
47326 1603042 : idata = idata + 1
47327 1603042 : data_tmp = ISHFT(pack_tmp, 10)
47328 1603042 : ipack = ipack + 1
47329 1603042 : pack_tmp = packed_data(ipack)
47330 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
47331 1603042 : pack_tmp = ISHFT(pack_tmp, -10)
47332 1603042 : idata = idata + 1
47333 1603042 : data_tmp = ISHFT(pack_tmp, 3)
47334 1603042 : ipack = ipack + 1
47335 1603042 : pack_tmp = packed_data(ipack)
47336 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
47337 1603042 : pack_tmp = ISHFT(pack_tmp, -3)
47338 1603042 : idata = idata + 1
47339 1603042 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47340 1603042 : full_data(idata) = data_tmp
47341 1603042 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47342 1603042 : idata = idata + 1
47343 1603042 : data_tmp = ISHFT(pack_tmp, 53)
47344 1603042 : ipack = ipack + 1
47345 1603042 : pack_tmp = packed_data(ipack)
47346 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
47347 1603042 : pack_tmp = ISHFT(pack_tmp, -53)
47348 1603042 : idata = idata + 1
47349 1603042 : data_tmp = ISHFT(pack_tmp, 46)
47350 1603042 : ipack = ipack + 1
47351 1603042 : pack_tmp = packed_data(ipack)
47352 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
47353 1603042 : pack_tmp = ISHFT(pack_tmp, -46)
47354 1603042 : idata = idata + 1
47355 1603042 : data_tmp = ISHFT(pack_tmp, 39)
47356 1603042 : ipack = ipack + 1
47357 1603042 : pack_tmp = packed_data(ipack)
47358 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
47359 1603042 : pack_tmp = ISHFT(pack_tmp, -39)
47360 1603042 : idata = idata + 1
47361 1603042 : data_tmp = ISHFT(pack_tmp, 32)
47362 1603042 : ipack = ipack + 1
47363 1603042 : pack_tmp = packed_data(ipack)
47364 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
47365 1603042 : pack_tmp = ISHFT(pack_tmp, -32)
47366 1603042 : idata = idata + 1
47367 1603042 : data_tmp = ISHFT(pack_tmp, 25)
47368 1603042 : ipack = ipack + 1
47369 1603042 : pack_tmp = packed_data(ipack)
47370 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
47371 1603042 : pack_tmp = ISHFT(pack_tmp, -25)
47372 1603042 : idata = idata + 1
47373 1603042 : data_tmp = ISHFT(pack_tmp, 18)
47374 1603042 : ipack = ipack + 1
47375 1603042 : pack_tmp = packed_data(ipack)
47376 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
47377 1603042 : pack_tmp = ISHFT(pack_tmp, -18)
47378 1603042 : idata = idata + 1
47379 1603042 : data_tmp = ISHFT(pack_tmp, 11)
47380 1603042 : ipack = ipack + 1
47381 1603042 : pack_tmp = packed_data(ipack)
47382 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
47383 1603042 : pack_tmp = ISHFT(pack_tmp, -11)
47384 1603042 : idata = idata + 1
47385 1603042 : data_tmp = ISHFT(pack_tmp, 4)
47386 1603042 : ipack = ipack + 1
47387 1603042 : pack_tmp = packed_data(ipack)
47388 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
47389 1603042 : pack_tmp = ISHFT(pack_tmp, -4)
47390 1603042 : idata = idata + 1
47391 1603042 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47392 1603042 : full_data(idata) = data_tmp
47393 1603042 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47394 1603042 : idata = idata + 1
47395 1603042 : data_tmp = ISHFT(pack_tmp, 54)
47396 1603042 : ipack = ipack + 1
47397 1603042 : pack_tmp = packed_data(ipack)
47398 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
47399 1603042 : pack_tmp = ISHFT(pack_tmp, -54)
47400 1603042 : idata = idata + 1
47401 1603042 : data_tmp = ISHFT(pack_tmp, 47)
47402 1603042 : ipack = ipack + 1
47403 1603042 : pack_tmp = packed_data(ipack)
47404 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
47405 1603042 : pack_tmp = ISHFT(pack_tmp, -47)
47406 1603042 : idata = idata + 1
47407 1603042 : data_tmp = ISHFT(pack_tmp, 40)
47408 1603042 : ipack = ipack + 1
47409 1603042 : pack_tmp = packed_data(ipack)
47410 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
47411 1603042 : pack_tmp = ISHFT(pack_tmp, -40)
47412 1603042 : idata = idata + 1
47413 1603042 : data_tmp = ISHFT(pack_tmp, 33)
47414 1603042 : ipack = ipack + 1
47415 1603042 : pack_tmp = packed_data(ipack)
47416 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
47417 1603042 : pack_tmp = ISHFT(pack_tmp, -33)
47418 1603042 : idata = idata + 1
47419 1603042 : data_tmp = ISHFT(pack_tmp, 26)
47420 1603042 : ipack = ipack + 1
47421 1603042 : pack_tmp = packed_data(ipack)
47422 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
47423 1603042 : pack_tmp = ISHFT(pack_tmp, -26)
47424 1603042 : idata = idata + 1
47425 1603042 : data_tmp = ISHFT(pack_tmp, 19)
47426 1603042 : ipack = ipack + 1
47427 1603042 : pack_tmp = packed_data(ipack)
47428 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
47429 1603042 : pack_tmp = ISHFT(pack_tmp, -19)
47430 1603042 : idata = idata + 1
47431 1603042 : data_tmp = ISHFT(pack_tmp, 12)
47432 1603042 : ipack = ipack + 1
47433 1603042 : pack_tmp = packed_data(ipack)
47434 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
47435 1603042 : pack_tmp = ISHFT(pack_tmp, -12)
47436 1603042 : idata = idata + 1
47437 1603042 : data_tmp = ISHFT(pack_tmp, 5)
47438 1603042 : ipack = ipack + 1
47439 1603042 : pack_tmp = packed_data(ipack)
47440 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
47441 1603042 : pack_tmp = ISHFT(pack_tmp, -5)
47442 1603042 : idata = idata + 1
47443 1603042 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47444 1603042 : full_data(idata) = data_tmp
47445 1603042 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47446 1603042 : idata = idata + 1
47447 1603042 : data_tmp = ISHFT(pack_tmp, 55)
47448 1603042 : ipack = ipack + 1
47449 1603042 : pack_tmp = packed_data(ipack)
47450 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
47451 1603042 : pack_tmp = ISHFT(pack_tmp, -55)
47452 1603042 : idata = idata + 1
47453 1603042 : data_tmp = ISHFT(pack_tmp, 48)
47454 1603042 : ipack = ipack + 1
47455 1603042 : pack_tmp = packed_data(ipack)
47456 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
47457 1603042 : pack_tmp = ISHFT(pack_tmp, -48)
47458 1603042 : idata = idata + 1
47459 1603042 : data_tmp = ISHFT(pack_tmp, 41)
47460 1603042 : ipack = ipack + 1
47461 1603042 : pack_tmp = packed_data(ipack)
47462 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
47463 1603042 : pack_tmp = ISHFT(pack_tmp, -41)
47464 1603042 : idata = idata + 1
47465 1603042 : data_tmp = ISHFT(pack_tmp, 34)
47466 1603042 : ipack = ipack + 1
47467 1603042 : pack_tmp = packed_data(ipack)
47468 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
47469 1603042 : pack_tmp = ISHFT(pack_tmp, -34)
47470 1603042 : idata = idata + 1
47471 1603042 : data_tmp = ISHFT(pack_tmp, 27)
47472 1603042 : ipack = ipack + 1
47473 1603042 : pack_tmp = packed_data(ipack)
47474 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
47475 1603042 : pack_tmp = ISHFT(pack_tmp, -27)
47476 1603042 : idata = idata + 1
47477 1603042 : data_tmp = ISHFT(pack_tmp, 20)
47478 1603042 : ipack = ipack + 1
47479 1603042 : pack_tmp = packed_data(ipack)
47480 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
47481 1603042 : pack_tmp = ISHFT(pack_tmp, -20)
47482 1603042 : idata = idata + 1
47483 1603042 : data_tmp = ISHFT(pack_tmp, 13)
47484 1603042 : ipack = ipack + 1
47485 1603042 : pack_tmp = packed_data(ipack)
47486 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
47487 1603042 : pack_tmp = ISHFT(pack_tmp, -13)
47488 1603042 : idata = idata + 1
47489 1603042 : data_tmp = ISHFT(pack_tmp, 6)
47490 1603042 : ipack = ipack + 1
47491 1603042 : pack_tmp = packed_data(ipack)
47492 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
47493 1603042 : pack_tmp = ISHFT(pack_tmp, -6)
47494 1603042 : idata = idata + 1
47495 1603042 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47496 1603042 : full_data(idata) = data_tmp
47497 1603042 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47498 1603042 : idata = idata + 1
47499 1603042 : data_tmp = ISHFT(pack_tmp, 56)
47500 1603042 : ipack = ipack + 1
47501 1603042 : pack_tmp = packed_data(ipack)
47502 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
47503 1603042 : pack_tmp = ISHFT(pack_tmp, -56)
47504 1603042 : idata = idata + 1
47505 1603042 : data_tmp = ISHFT(pack_tmp, 49)
47506 1603042 : ipack = ipack + 1
47507 1603042 : pack_tmp = packed_data(ipack)
47508 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
47509 1603042 : pack_tmp = ISHFT(pack_tmp, -49)
47510 1603042 : idata = idata + 1
47511 1603042 : data_tmp = ISHFT(pack_tmp, 42)
47512 1603042 : ipack = ipack + 1
47513 1603042 : pack_tmp = packed_data(ipack)
47514 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
47515 1603042 : pack_tmp = ISHFT(pack_tmp, -42)
47516 1603042 : idata = idata + 1
47517 1603042 : data_tmp = ISHFT(pack_tmp, 35)
47518 1603042 : ipack = ipack + 1
47519 1603042 : pack_tmp = packed_data(ipack)
47520 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
47521 1603042 : pack_tmp = ISHFT(pack_tmp, -35)
47522 1603042 : idata = idata + 1
47523 1603042 : data_tmp = ISHFT(pack_tmp, 28)
47524 1603042 : ipack = ipack + 1
47525 1603042 : pack_tmp = packed_data(ipack)
47526 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
47527 1603042 : pack_tmp = ISHFT(pack_tmp, -28)
47528 1603042 : idata = idata + 1
47529 1603042 : data_tmp = ISHFT(pack_tmp, 21)
47530 1603042 : ipack = ipack + 1
47531 1603042 : pack_tmp = packed_data(ipack)
47532 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
47533 1603042 : pack_tmp = ISHFT(pack_tmp, -21)
47534 1603042 : idata = idata + 1
47535 1603042 : data_tmp = ISHFT(pack_tmp, 14)
47536 1603042 : ipack = ipack + 1
47537 1603042 : pack_tmp = packed_data(ipack)
47538 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
47539 1603042 : pack_tmp = ISHFT(pack_tmp, -14)
47540 1603042 : idata = idata + 1
47541 1603042 : data_tmp = ISHFT(pack_tmp, 7)
47542 1603042 : ipack = ipack + 1
47543 1603042 : pack_tmp = packed_data(ipack)
47544 1603042 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
47545 1603042 : pack_tmp = ISHFT(pack_tmp, -7)
47546 1603042 : idata = idata + 1
47547 1603042 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
47548 1603042 : full_data(idata) = data_tmp
47549 1603164 : pack_tmp = ISHFT(pack_tmp, -Nbits)
47550 : END DO
47551 102007 : IF (Ndata_rep < Ndata) THEN
47552 3420 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
47553 : END IF
47554 102007 : END SUBROUTINE bits2ints_57
47555 :
47556 : ! **************************************************************************************************
47557 : !> \brief ...
47558 : !> \param Ndata ...
47559 : !> \param packed_data ...
47560 : !> \param full_data ...
47561 : ! **************************************************************************************************
47562 24456 : 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(*)
47566 :
47567 : INTEGER, PARAMETER :: Nbits = 58
47568 :
47569 : INTEGER :: idata, ipack, kdata, Ndata_rep
47570 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
47571 :
47572 24456 : idata = 0
47573 24456 : ipack = 0
47574 24456 : Ndata_rep = (Ndata/64)*64
47575 24456 : DO kdata = 1, Ndata_rep, 64
47576 391092 : pack_tmp = 0
47577 391092 : idata = idata + 1
47578 391092 : data_tmp = full_data(idata)
47579 391092 : data_tmp = ISHFT(data_tmp, 6)
47580 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47581 391092 : pack_tmp = ISHFT(pack_tmp, -6)
47582 391092 : idata = idata + 1
47583 391092 : data_tmp = full_data(idata)
47584 391092 : data_tmp = ISHFT(data_tmp, 6)
47585 391092 : data_tmp = IAND(data_tmp, mask_left(6))
47586 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47587 391092 : ipack = ipack + 1
47588 391092 : packed_data(ipack) = pack_tmp
47589 391092 : data_tmp = full_data(idata)
47590 391092 : pack_tmp = ISHFT(data_tmp, 12)
47591 391092 : pack_tmp = ISHFT(pack_tmp, -12)
47592 391092 : idata = idata + 1
47593 391092 : data_tmp = full_data(idata)
47594 391092 : data_tmp = ISHFT(data_tmp, 6)
47595 391092 : data_tmp = IAND(data_tmp, mask_left(12))
47596 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47597 391092 : ipack = ipack + 1
47598 391092 : packed_data(ipack) = pack_tmp
47599 391092 : data_tmp = full_data(idata)
47600 391092 : pack_tmp = ISHFT(data_tmp, 18)
47601 391092 : pack_tmp = ISHFT(pack_tmp, -18)
47602 391092 : idata = idata + 1
47603 391092 : data_tmp = full_data(idata)
47604 391092 : data_tmp = ISHFT(data_tmp, 6)
47605 391092 : data_tmp = IAND(data_tmp, mask_left(18))
47606 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47607 391092 : ipack = ipack + 1
47608 391092 : packed_data(ipack) = pack_tmp
47609 391092 : data_tmp = full_data(idata)
47610 391092 : pack_tmp = ISHFT(data_tmp, 24)
47611 391092 : pack_tmp = ISHFT(pack_tmp, -24)
47612 391092 : idata = idata + 1
47613 391092 : data_tmp = full_data(idata)
47614 391092 : data_tmp = ISHFT(data_tmp, 6)
47615 391092 : data_tmp = IAND(data_tmp, mask_left(24))
47616 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47617 391092 : ipack = ipack + 1
47618 391092 : packed_data(ipack) = pack_tmp
47619 391092 : data_tmp = full_data(idata)
47620 391092 : pack_tmp = ISHFT(data_tmp, 30)
47621 391092 : pack_tmp = ISHFT(pack_tmp, -30)
47622 391092 : idata = idata + 1
47623 391092 : data_tmp = full_data(idata)
47624 391092 : data_tmp = ISHFT(data_tmp, 6)
47625 391092 : data_tmp = IAND(data_tmp, mask_left(30))
47626 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47627 391092 : ipack = ipack + 1
47628 391092 : packed_data(ipack) = pack_tmp
47629 391092 : data_tmp = full_data(idata)
47630 391092 : pack_tmp = ISHFT(data_tmp, 36)
47631 391092 : pack_tmp = ISHFT(pack_tmp, -36)
47632 391092 : idata = idata + 1
47633 391092 : data_tmp = full_data(idata)
47634 391092 : data_tmp = ISHFT(data_tmp, 6)
47635 391092 : data_tmp = IAND(data_tmp, mask_left(36))
47636 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47637 391092 : ipack = ipack + 1
47638 391092 : packed_data(ipack) = pack_tmp
47639 391092 : data_tmp = full_data(idata)
47640 391092 : pack_tmp = ISHFT(data_tmp, 42)
47641 391092 : pack_tmp = ISHFT(pack_tmp, -42)
47642 391092 : idata = idata + 1
47643 391092 : data_tmp = full_data(idata)
47644 391092 : data_tmp = ISHFT(data_tmp, 6)
47645 391092 : data_tmp = IAND(data_tmp, mask_left(42))
47646 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47647 391092 : ipack = ipack + 1
47648 391092 : packed_data(ipack) = pack_tmp
47649 391092 : data_tmp = full_data(idata)
47650 391092 : pack_tmp = ISHFT(data_tmp, 48)
47651 391092 : pack_tmp = ISHFT(pack_tmp, -48)
47652 391092 : idata = idata + 1
47653 391092 : data_tmp = full_data(idata)
47654 391092 : data_tmp = ISHFT(data_tmp, 6)
47655 391092 : data_tmp = IAND(data_tmp, mask_left(48))
47656 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47657 391092 : ipack = ipack + 1
47658 391092 : packed_data(ipack) = pack_tmp
47659 391092 : data_tmp = full_data(idata)
47660 391092 : pack_tmp = ISHFT(data_tmp, 54)
47661 391092 : pack_tmp = ISHFT(pack_tmp, -54)
47662 391092 : idata = idata + 1
47663 391092 : data_tmp = full_data(idata)
47664 391092 : data_tmp = ISHFT(data_tmp, 6)
47665 391092 : data_tmp = IAND(data_tmp, mask_left(54))
47666 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47667 391092 : ipack = ipack + 1
47668 391092 : packed_data(ipack) = pack_tmp
47669 391092 : data_tmp = full_data(idata)
47670 391092 : pack_tmp = ISHFT(data_tmp, 60)
47671 391092 : pack_tmp = ISHFT(pack_tmp, -58)
47672 391092 : idata = idata + 1
47673 391092 : data_tmp = full_data(idata)
47674 391092 : data_tmp = ISHFT(data_tmp, 6)
47675 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47676 391092 : pack_tmp = ISHFT(pack_tmp, -2)
47677 391092 : idata = idata + 1
47678 391092 : data_tmp = full_data(idata)
47679 391092 : data_tmp = ISHFT(data_tmp, 6)
47680 391092 : data_tmp = IAND(data_tmp, mask_left(2))
47681 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47682 391092 : ipack = ipack + 1
47683 391092 : packed_data(ipack) = pack_tmp
47684 391092 : data_tmp = full_data(idata)
47685 391092 : pack_tmp = ISHFT(data_tmp, 8)
47686 391092 : pack_tmp = ISHFT(pack_tmp, -8)
47687 391092 : idata = idata + 1
47688 391092 : data_tmp = full_data(idata)
47689 391092 : data_tmp = ISHFT(data_tmp, 6)
47690 391092 : data_tmp = IAND(data_tmp, mask_left(8))
47691 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47692 391092 : ipack = ipack + 1
47693 391092 : packed_data(ipack) = pack_tmp
47694 391092 : data_tmp = full_data(idata)
47695 391092 : pack_tmp = ISHFT(data_tmp, 14)
47696 391092 : pack_tmp = ISHFT(pack_tmp, -14)
47697 391092 : idata = idata + 1
47698 391092 : data_tmp = full_data(idata)
47699 391092 : data_tmp = ISHFT(data_tmp, 6)
47700 391092 : data_tmp = IAND(data_tmp, mask_left(14))
47701 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47702 391092 : ipack = ipack + 1
47703 391092 : packed_data(ipack) = pack_tmp
47704 391092 : data_tmp = full_data(idata)
47705 391092 : pack_tmp = ISHFT(data_tmp, 20)
47706 391092 : pack_tmp = ISHFT(pack_tmp, -20)
47707 391092 : idata = idata + 1
47708 391092 : data_tmp = full_data(idata)
47709 391092 : data_tmp = ISHFT(data_tmp, 6)
47710 391092 : data_tmp = IAND(data_tmp, mask_left(20))
47711 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47712 391092 : ipack = ipack + 1
47713 391092 : packed_data(ipack) = pack_tmp
47714 391092 : data_tmp = full_data(idata)
47715 391092 : pack_tmp = ISHFT(data_tmp, 26)
47716 391092 : pack_tmp = ISHFT(pack_tmp, -26)
47717 391092 : idata = idata + 1
47718 391092 : data_tmp = full_data(idata)
47719 391092 : data_tmp = ISHFT(data_tmp, 6)
47720 391092 : data_tmp = IAND(data_tmp, mask_left(26))
47721 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47722 391092 : ipack = ipack + 1
47723 391092 : packed_data(ipack) = pack_tmp
47724 391092 : data_tmp = full_data(idata)
47725 391092 : pack_tmp = ISHFT(data_tmp, 32)
47726 391092 : pack_tmp = ISHFT(pack_tmp, -32)
47727 391092 : idata = idata + 1
47728 391092 : data_tmp = full_data(idata)
47729 391092 : data_tmp = ISHFT(data_tmp, 6)
47730 391092 : data_tmp = IAND(data_tmp, mask_left(32))
47731 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47732 391092 : ipack = ipack + 1
47733 391092 : packed_data(ipack) = pack_tmp
47734 391092 : data_tmp = full_data(idata)
47735 391092 : pack_tmp = ISHFT(data_tmp, 38)
47736 391092 : pack_tmp = ISHFT(pack_tmp, -38)
47737 391092 : idata = idata + 1
47738 391092 : data_tmp = full_data(idata)
47739 391092 : data_tmp = ISHFT(data_tmp, 6)
47740 391092 : data_tmp = IAND(data_tmp, mask_left(38))
47741 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47742 391092 : ipack = ipack + 1
47743 391092 : packed_data(ipack) = pack_tmp
47744 391092 : data_tmp = full_data(idata)
47745 391092 : pack_tmp = ISHFT(data_tmp, 44)
47746 391092 : pack_tmp = ISHFT(pack_tmp, -44)
47747 391092 : idata = idata + 1
47748 391092 : data_tmp = full_data(idata)
47749 391092 : data_tmp = ISHFT(data_tmp, 6)
47750 391092 : data_tmp = IAND(data_tmp, mask_left(44))
47751 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47752 391092 : ipack = ipack + 1
47753 391092 : packed_data(ipack) = pack_tmp
47754 391092 : data_tmp = full_data(idata)
47755 391092 : pack_tmp = ISHFT(data_tmp, 50)
47756 391092 : pack_tmp = ISHFT(pack_tmp, -50)
47757 391092 : idata = idata + 1
47758 391092 : data_tmp = full_data(idata)
47759 391092 : data_tmp = ISHFT(data_tmp, 6)
47760 391092 : data_tmp = IAND(data_tmp, mask_left(50))
47761 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47762 391092 : ipack = ipack + 1
47763 391092 : packed_data(ipack) = pack_tmp
47764 391092 : data_tmp = full_data(idata)
47765 391092 : pack_tmp = ISHFT(data_tmp, 56)
47766 391092 : pack_tmp = ISHFT(pack_tmp, -56)
47767 391092 : idata = idata + 1
47768 391092 : data_tmp = full_data(idata)
47769 391092 : data_tmp = ISHFT(data_tmp, 6)
47770 391092 : data_tmp = IAND(data_tmp, mask_left(56))
47771 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47772 391092 : ipack = ipack + 1
47773 391092 : packed_data(ipack) = pack_tmp
47774 391092 : data_tmp = full_data(idata)
47775 391092 : pack_tmp = ISHFT(data_tmp, 62)
47776 391092 : pack_tmp = ISHFT(pack_tmp, -58)
47777 391092 : idata = idata + 1
47778 391092 : data_tmp = full_data(idata)
47779 391092 : data_tmp = ISHFT(data_tmp, 6)
47780 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47781 391092 : pack_tmp = ISHFT(pack_tmp, -4)
47782 391092 : idata = idata + 1
47783 391092 : data_tmp = full_data(idata)
47784 391092 : data_tmp = ISHFT(data_tmp, 6)
47785 391092 : data_tmp = IAND(data_tmp, mask_left(4))
47786 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47787 391092 : ipack = ipack + 1
47788 391092 : packed_data(ipack) = pack_tmp
47789 391092 : data_tmp = full_data(idata)
47790 391092 : pack_tmp = ISHFT(data_tmp, 10)
47791 391092 : pack_tmp = ISHFT(pack_tmp, -10)
47792 391092 : idata = idata + 1
47793 391092 : data_tmp = full_data(idata)
47794 391092 : data_tmp = ISHFT(data_tmp, 6)
47795 391092 : data_tmp = IAND(data_tmp, mask_left(10))
47796 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47797 391092 : ipack = ipack + 1
47798 391092 : packed_data(ipack) = pack_tmp
47799 391092 : data_tmp = full_data(idata)
47800 391092 : pack_tmp = ISHFT(data_tmp, 16)
47801 391092 : pack_tmp = ISHFT(pack_tmp, -16)
47802 391092 : idata = idata + 1
47803 391092 : data_tmp = full_data(idata)
47804 391092 : data_tmp = ISHFT(data_tmp, 6)
47805 391092 : data_tmp = IAND(data_tmp, mask_left(16))
47806 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47807 391092 : ipack = ipack + 1
47808 391092 : packed_data(ipack) = pack_tmp
47809 391092 : data_tmp = full_data(idata)
47810 391092 : pack_tmp = ISHFT(data_tmp, 22)
47811 391092 : pack_tmp = ISHFT(pack_tmp, -22)
47812 391092 : idata = idata + 1
47813 391092 : data_tmp = full_data(idata)
47814 391092 : data_tmp = ISHFT(data_tmp, 6)
47815 391092 : data_tmp = IAND(data_tmp, mask_left(22))
47816 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47817 391092 : ipack = ipack + 1
47818 391092 : packed_data(ipack) = pack_tmp
47819 391092 : data_tmp = full_data(idata)
47820 391092 : pack_tmp = ISHFT(data_tmp, 28)
47821 391092 : pack_tmp = ISHFT(pack_tmp, -28)
47822 391092 : idata = idata + 1
47823 391092 : data_tmp = full_data(idata)
47824 391092 : data_tmp = ISHFT(data_tmp, 6)
47825 391092 : data_tmp = IAND(data_tmp, mask_left(28))
47826 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47827 391092 : ipack = ipack + 1
47828 391092 : packed_data(ipack) = pack_tmp
47829 391092 : data_tmp = full_data(idata)
47830 391092 : pack_tmp = ISHFT(data_tmp, 34)
47831 391092 : pack_tmp = ISHFT(pack_tmp, -34)
47832 391092 : idata = idata + 1
47833 391092 : data_tmp = full_data(idata)
47834 391092 : data_tmp = ISHFT(data_tmp, 6)
47835 391092 : data_tmp = IAND(data_tmp, mask_left(34))
47836 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47837 391092 : ipack = ipack + 1
47838 391092 : packed_data(ipack) = pack_tmp
47839 391092 : data_tmp = full_data(idata)
47840 391092 : pack_tmp = ISHFT(data_tmp, 40)
47841 391092 : pack_tmp = ISHFT(pack_tmp, -40)
47842 391092 : idata = idata + 1
47843 391092 : data_tmp = full_data(idata)
47844 391092 : data_tmp = ISHFT(data_tmp, 6)
47845 391092 : data_tmp = IAND(data_tmp, mask_left(40))
47846 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47847 391092 : ipack = ipack + 1
47848 391092 : packed_data(ipack) = pack_tmp
47849 391092 : data_tmp = full_data(idata)
47850 391092 : pack_tmp = ISHFT(data_tmp, 46)
47851 391092 : pack_tmp = ISHFT(pack_tmp, -46)
47852 391092 : idata = idata + 1
47853 391092 : data_tmp = full_data(idata)
47854 391092 : data_tmp = ISHFT(data_tmp, 6)
47855 391092 : data_tmp = IAND(data_tmp, mask_left(46))
47856 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47857 391092 : ipack = ipack + 1
47858 391092 : packed_data(ipack) = pack_tmp
47859 391092 : data_tmp = full_data(idata)
47860 391092 : pack_tmp = ISHFT(data_tmp, 52)
47861 391092 : pack_tmp = ISHFT(pack_tmp, -52)
47862 391092 : idata = idata + 1
47863 391092 : data_tmp = full_data(idata)
47864 391092 : data_tmp = ISHFT(data_tmp, 6)
47865 391092 : data_tmp = IAND(data_tmp, mask_left(52))
47866 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47867 391092 : ipack = ipack + 1
47868 391092 : packed_data(ipack) = pack_tmp
47869 391092 : data_tmp = full_data(idata)
47870 391092 : pack_tmp = ISHFT(data_tmp, 58)
47871 391092 : pack_tmp = ISHFT(pack_tmp, -58)
47872 391092 : idata = idata + 1
47873 391092 : data_tmp = full_data(idata)
47874 391092 : data_tmp = ISHFT(data_tmp, 6)
47875 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47876 391092 : pack_tmp = ISHFT(pack_tmp, 0)
47877 391092 : idata = idata + 1
47878 391092 : data_tmp = full_data(idata)
47879 : data_tmp = ISHFT(data_tmp, 6)
47880 391092 : data_tmp = IAND(data_tmp, mask_left(0))
47881 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47882 391092 : ipack = ipack + 1
47883 391092 : packed_data(ipack) = pack_tmp
47884 391092 : data_tmp = full_data(idata)
47885 391092 : pack_tmp = ISHFT(data_tmp, 6)
47886 391092 : pack_tmp = ISHFT(pack_tmp, -6)
47887 391092 : idata = idata + 1
47888 391092 : data_tmp = full_data(idata)
47889 391092 : data_tmp = ISHFT(data_tmp, 6)
47890 391092 : data_tmp = IAND(data_tmp, mask_left(6))
47891 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47892 391092 : ipack = ipack + 1
47893 391092 : packed_data(ipack) = pack_tmp
47894 391092 : data_tmp = full_data(idata)
47895 391092 : pack_tmp = ISHFT(data_tmp, 12)
47896 391092 : pack_tmp = ISHFT(pack_tmp, -12)
47897 391092 : idata = idata + 1
47898 391092 : data_tmp = full_data(idata)
47899 391092 : data_tmp = ISHFT(data_tmp, 6)
47900 391092 : data_tmp = IAND(data_tmp, mask_left(12))
47901 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47902 391092 : ipack = ipack + 1
47903 391092 : packed_data(ipack) = pack_tmp
47904 391092 : data_tmp = full_data(idata)
47905 391092 : pack_tmp = ISHFT(data_tmp, 18)
47906 391092 : pack_tmp = ISHFT(pack_tmp, -18)
47907 391092 : idata = idata + 1
47908 391092 : data_tmp = full_data(idata)
47909 391092 : data_tmp = ISHFT(data_tmp, 6)
47910 391092 : data_tmp = IAND(data_tmp, mask_left(18))
47911 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47912 391092 : ipack = ipack + 1
47913 391092 : packed_data(ipack) = pack_tmp
47914 391092 : data_tmp = full_data(idata)
47915 391092 : pack_tmp = ISHFT(data_tmp, 24)
47916 391092 : pack_tmp = ISHFT(pack_tmp, -24)
47917 391092 : idata = idata + 1
47918 391092 : data_tmp = full_data(idata)
47919 391092 : data_tmp = ISHFT(data_tmp, 6)
47920 391092 : data_tmp = IAND(data_tmp, mask_left(24))
47921 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47922 391092 : ipack = ipack + 1
47923 391092 : packed_data(ipack) = pack_tmp
47924 391092 : data_tmp = full_data(idata)
47925 391092 : pack_tmp = ISHFT(data_tmp, 30)
47926 391092 : pack_tmp = ISHFT(pack_tmp, -30)
47927 391092 : idata = idata + 1
47928 391092 : data_tmp = full_data(idata)
47929 391092 : data_tmp = ISHFT(data_tmp, 6)
47930 391092 : data_tmp = IAND(data_tmp, mask_left(30))
47931 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47932 391092 : ipack = ipack + 1
47933 391092 : packed_data(ipack) = pack_tmp
47934 391092 : data_tmp = full_data(idata)
47935 391092 : pack_tmp = ISHFT(data_tmp, 36)
47936 391092 : pack_tmp = ISHFT(pack_tmp, -36)
47937 391092 : idata = idata + 1
47938 391092 : data_tmp = full_data(idata)
47939 391092 : data_tmp = ISHFT(data_tmp, 6)
47940 391092 : data_tmp = IAND(data_tmp, mask_left(36))
47941 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47942 391092 : ipack = ipack + 1
47943 391092 : packed_data(ipack) = pack_tmp
47944 391092 : data_tmp = full_data(idata)
47945 391092 : pack_tmp = ISHFT(data_tmp, 42)
47946 391092 : pack_tmp = ISHFT(pack_tmp, -42)
47947 391092 : idata = idata + 1
47948 391092 : data_tmp = full_data(idata)
47949 391092 : data_tmp = ISHFT(data_tmp, 6)
47950 391092 : data_tmp = IAND(data_tmp, mask_left(42))
47951 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47952 391092 : ipack = ipack + 1
47953 391092 : packed_data(ipack) = pack_tmp
47954 391092 : data_tmp = full_data(idata)
47955 391092 : pack_tmp = ISHFT(data_tmp, 48)
47956 391092 : pack_tmp = ISHFT(pack_tmp, -48)
47957 391092 : idata = idata + 1
47958 391092 : data_tmp = full_data(idata)
47959 391092 : data_tmp = ISHFT(data_tmp, 6)
47960 391092 : data_tmp = IAND(data_tmp, mask_left(48))
47961 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47962 391092 : ipack = ipack + 1
47963 391092 : packed_data(ipack) = pack_tmp
47964 391092 : data_tmp = full_data(idata)
47965 391092 : pack_tmp = ISHFT(data_tmp, 54)
47966 391092 : pack_tmp = ISHFT(pack_tmp, -54)
47967 391092 : idata = idata + 1
47968 391092 : data_tmp = full_data(idata)
47969 391092 : data_tmp = ISHFT(data_tmp, 6)
47970 391092 : data_tmp = IAND(data_tmp, mask_left(54))
47971 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47972 391092 : ipack = ipack + 1
47973 391092 : packed_data(ipack) = pack_tmp
47974 391092 : data_tmp = full_data(idata)
47975 391092 : pack_tmp = ISHFT(data_tmp, 60)
47976 391092 : pack_tmp = ISHFT(pack_tmp, -58)
47977 391092 : idata = idata + 1
47978 391092 : data_tmp = full_data(idata)
47979 391092 : data_tmp = ISHFT(data_tmp, 6)
47980 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47981 391092 : pack_tmp = ISHFT(pack_tmp, -2)
47982 391092 : idata = idata + 1
47983 391092 : data_tmp = full_data(idata)
47984 391092 : data_tmp = ISHFT(data_tmp, 6)
47985 391092 : data_tmp = IAND(data_tmp, mask_left(2))
47986 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47987 391092 : ipack = ipack + 1
47988 391092 : packed_data(ipack) = pack_tmp
47989 391092 : data_tmp = full_data(idata)
47990 391092 : pack_tmp = ISHFT(data_tmp, 8)
47991 391092 : pack_tmp = ISHFT(pack_tmp, -8)
47992 391092 : idata = idata + 1
47993 391092 : data_tmp = full_data(idata)
47994 391092 : data_tmp = ISHFT(data_tmp, 6)
47995 391092 : data_tmp = IAND(data_tmp, mask_left(8))
47996 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
47997 391092 : ipack = ipack + 1
47998 391092 : packed_data(ipack) = pack_tmp
47999 391092 : data_tmp = full_data(idata)
48000 391092 : pack_tmp = ISHFT(data_tmp, 14)
48001 391092 : pack_tmp = ISHFT(pack_tmp, -14)
48002 391092 : idata = idata + 1
48003 391092 : data_tmp = full_data(idata)
48004 391092 : data_tmp = ISHFT(data_tmp, 6)
48005 391092 : data_tmp = IAND(data_tmp, mask_left(14))
48006 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48007 391092 : ipack = ipack + 1
48008 391092 : packed_data(ipack) = pack_tmp
48009 391092 : data_tmp = full_data(idata)
48010 391092 : pack_tmp = ISHFT(data_tmp, 20)
48011 391092 : pack_tmp = ISHFT(pack_tmp, -20)
48012 391092 : idata = idata + 1
48013 391092 : data_tmp = full_data(idata)
48014 391092 : data_tmp = ISHFT(data_tmp, 6)
48015 391092 : data_tmp = IAND(data_tmp, mask_left(20))
48016 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48017 391092 : ipack = ipack + 1
48018 391092 : packed_data(ipack) = pack_tmp
48019 391092 : data_tmp = full_data(idata)
48020 391092 : pack_tmp = ISHFT(data_tmp, 26)
48021 391092 : pack_tmp = ISHFT(pack_tmp, -26)
48022 391092 : idata = idata + 1
48023 391092 : data_tmp = full_data(idata)
48024 391092 : data_tmp = ISHFT(data_tmp, 6)
48025 391092 : data_tmp = IAND(data_tmp, mask_left(26))
48026 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48027 391092 : ipack = ipack + 1
48028 391092 : packed_data(ipack) = pack_tmp
48029 391092 : data_tmp = full_data(idata)
48030 391092 : pack_tmp = ISHFT(data_tmp, 32)
48031 391092 : pack_tmp = ISHFT(pack_tmp, -32)
48032 391092 : idata = idata + 1
48033 391092 : data_tmp = full_data(idata)
48034 391092 : data_tmp = ISHFT(data_tmp, 6)
48035 391092 : data_tmp = IAND(data_tmp, mask_left(32))
48036 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48037 391092 : ipack = ipack + 1
48038 391092 : packed_data(ipack) = pack_tmp
48039 391092 : data_tmp = full_data(idata)
48040 391092 : pack_tmp = ISHFT(data_tmp, 38)
48041 391092 : pack_tmp = ISHFT(pack_tmp, -38)
48042 391092 : idata = idata + 1
48043 391092 : data_tmp = full_data(idata)
48044 391092 : data_tmp = ISHFT(data_tmp, 6)
48045 391092 : data_tmp = IAND(data_tmp, mask_left(38))
48046 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48047 391092 : ipack = ipack + 1
48048 391092 : packed_data(ipack) = pack_tmp
48049 391092 : data_tmp = full_data(idata)
48050 391092 : pack_tmp = ISHFT(data_tmp, 44)
48051 391092 : pack_tmp = ISHFT(pack_tmp, -44)
48052 391092 : idata = idata + 1
48053 391092 : data_tmp = full_data(idata)
48054 391092 : data_tmp = ISHFT(data_tmp, 6)
48055 391092 : data_tmp = IAND(data_tmp, mask_left(44))
48056 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48057 391092 : ipack = ipack + 1
48058 391092 : packed_data(ipack) = pack_tmp
48059 391092 : data_tmp = full_data(idata)
48060 391092 : pack_tmp = ISHFT(data_tmp, 50)
48061 391092 : pack_tmp = ISHFT(pack_tmp, -50)
48062 391092 : idata = idata + 1
48063 391092 : data_tmp = full_data(idata)
48064 391092 : data_tmp = ISHFT(data_tmp, 6)
48065 391092 : data_tmp = IAND(data_tmp, mask_left(50))
48066 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48067 391092 : ipack = ipack + 1
48068 391092 : packed_data(ipack) = pack_tmp
48069 391092 : data_tmp = full_data(idata)
48070 391092 : pack_tmp = ISHFT(data_tmp, 56)
48071 391092 : pack_tmp = ISHFT(pack_tmp, -56)
48072 391092 : idata = idata + 1
48073 391092 : data_tmp = full_data(idata)
48074 391092 : data_tmp = ISHFT(data_tmp, 6)
48075 391092 : data_tmp = IAND(data_tmp, mask_left(56))
48076 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48077 391092 : ipack = ipack + 1
48078 391092 : packed_data(ipack) = pack_tmp
48079 391092 : data_tmp = full_data(idata)
48080 391092 : pack_tmp = ISHFT(data_tmp, 62)
48081 391092 : pack_tmp = ISHFT(pack_tmp, -58)
48082 391092 : idata = idata + 1
48083 391092 : data_tmp = full_data(idata)
48084 391092 : data_tmp = ISHFT(data_tmp, 6)
48085 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48086 391092 : pack_tmp = ISHFT(pack_tmp, -4)
48087 391092 : idata = idata + 1
48088 391092 : data_tmp = full_data(idata)
48089 391092 : data_tmp = ISHFT(data_tmp, 6)
48090 391092 : data_tmp = IAND(data_tmp, mask_left(4))
48091 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48092 391092 : ipack = ipack + 1
48093 391092 : packed_data(ipack) = pack_tmp
48094 391092 : data_tmp = full_data(idata)
48095 391092 : pack_tmp = ISHFT(data_tmp, 10)
48096 391092 : pack_tmp = ISHFT(pack_tmp, -10)
48097 391092 : idata = idata + 1
48098 391092 : data_tmp = full_data(idata)
48099 391092 : data_tmp = ISHFT(data_tmp, 6)
48100 391092 : data_tmp = IAND(data_tmp, mask_left(10))
48101 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48102 391092 : ipack = ipack + 1
48103 391092 : packed_data(ipack) = pack_tmp
48104 391092 : data_tmp = full_data(idata)
48105 391092 : pack_tmp = ISHFT(data_tmp, 16)
48106 391092 : pack_tmp = ISHFT(pack_tmp, -16)
48107 391092 : idata = idata + 1
48108 391092 : data_tmp = full_data(idata)
48109 391092 : data_tmp = ISHFT(data_tmp, 6)
48110 391092 : data_tmp = IAND(data_tmp, mask_left(16))
48111 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48112 391092 : ipack = ipack + 1
48113 391092 : packed_data(ipack) = pack_tmp
48114 391092 : data_tmp = full_data(idata)
48115 391092 : pack_tmp = ISHFT(data_tmp, 22)
48116 391092 : pack_tmp = ISHFT(pack_tmp, -22)
48117 391092 : idata = idata + 1
48118 391092 : data_tmp = full_data(idata)
48119 391092 : data_tmp = ISHFT(data_tmp, 6)
48120 391092 : data_tmp = IAND(data_tmp, mask_left(22))
48121 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48122 391092 : ipack = ipack + 1
48123 391092 : packed_data(ipack) = pack_tmp
48124 391092 : data_tmp = full_data(idata)
48125 391092 : pack_tmp = ISHFT(data_tmp, 28)
48126 391092 : pack_tmp = ISHFT(pack_tmp, -28)
48127 391092 : idata = idata + 1
48128 391092 : data_tmp = full_data(idata)
48129 391092 : data_tmp = ISHFT(data_tmp, 6)
48130 391092 : data_tmp = IAND(data_tmp, mask_left(28))
48131 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48132 391092 : ipack = ipack + 1
48133 391092 : packed_data(ipack) = pack_tmp
48134 391092 : data_tmp = full_data(idata)
48135 391092 : pack_tmp = ISHFT(data_tmp, 34)
48136 391092 : pack_tmp = ISHFT(pack_tmp, -34)
48137 391092 : idata = idata + 1
48138 391092 : data_tmp = full_data(idata)
48139 391092 : data_tmp = ISHFT(data_tmp, 6)
48140 391092 : data_tmp = IAND(data_tmp, mask_left(34))
48141 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48142 391092 : ipack = ipack + 1
48143 391092 : packed_data(ipack) = pack_tmp
48144 391092 : data_tmp = full_data(idata)
48145 391092 : pack_tmp = ISHFT(data_tmp, 40)
48146 391092 : pack_tmp = ISHFT(pack_tmp, -40)
48147 391092 : idata = idata + 1
48148 391092 : data_tmp = full_data(idata)
48149 391092 : data_tmp = ISHFT(data_tmp, 6)
48150 391092 : data_tmp = IAND(data_tmp, mask_left(40))
48151 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48152 391092 : ipack = ipack + 1
48153 391092 : packed_data(ipack) = pack_tmp
48154 391092 : data_tmp = full_data(idata)
48155 391092 : pack_tmp = ISHFT(data_tmp, 46)
48156 391092 : pack_tmp = ISHFT(pack_tmp, -46)
48157 391092 : idata = idata + 1
48158 391092 : data_tmp = full_data(idata)
48159 391092 : data_tmp = ISHFT(data_tmp, 6)
48160 391092 : data_tmp = IAND(data_tmp, mask_left(46))
48161 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48162 391092 : ipack = ipack + 1
48163 391092 : packed_data(ipack) = pack_tmp
48164 391092 : data_tmp = full_data(idata)
48165 391092 : pack_tmp = ISHFT(data_tmp, 52)
48166 391092 : pack_tmp = ISHFT(pack_tmp, -52)
48167 391092 : idata = idata + 1
48168 391092 : data_tmp = full_data(idata)
48169 391092 : data_tmp = ISHFT(data_tmp, 6)
48170 391092 : data_tmp = IAND(data_tmp, mask_left(52))
48171 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48172 391092 : ipack = ipack + 1
48173 391092 : packed_data(ipack) = pack_tmp
48174 391092 : data_tmp = full_data(idata)
48175 391092 : pack_tmp = ISHFT(data_tmp, 58)
48176 391092 : pack_tmp = ISHFT(pack_tmp, -58)
48177 391092 : idata = idata + 1
48178 391092 : data_tmp = full_data(idata)
48179 391092 : data_tmp = ISHFT(data_tmp, 6)
48180 391092 : pack_tmp = IOR(pack_tmp, data_tmp)
48181 : pack_tmp = ISHFT(pack_tmp, 0)
48182 391092 : pack_tmp = ISHFT(pack_tmp, 0)
48183 391092 : ipack = ipack + 1
48184 391092 : packed_data(ipack) = pack_tmp
48185 : END DO
48186 24456 : IF (Ndata_rep < Ndata) THEN
48187 24 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
48188 : END IF
48189 24456 : END SUBROUTINE ints2bits_58
48190 :
48191 : ! **************************************************************************************************
48192 : !> \brief ...
48193 : !> \param Ndata ...
48194 : !> \param packed_data ...
48195 : !> \param full_data ...
48196 : ! **************************************************************************************************
48197 99929 : 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(*)
48201 :
48202 : INTEGER, PARAMETER :: Nbits = 58
48203 :
48204 : INTEGER :: idata, ipack, kdata, Ndata_rep
48205 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
48206 :
48207 99929 : ipack = 0
48208 99929 : idata = 0
48209 99929 : pack_tmp = 0
48210 99929 : Ndata_rep = (Ndata/64)*64
48211 99929 : DO kdata = 1, Ndata_rep, 64
48212 1586420 : idata = idata + 1
48213 1586420 : data_tmp = ISHFT(pack_tmp, 58)
48214 1586420 : ipack = ipack + 1
48215 1586420 : pack_tmp = packed_data(ipack)
48216 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
48217 1586420 : pack_tmp = ISHFT(pack_tmp, -58)
48218 1586420 : idata = idata + 1
48219 1586420 : data_tmp = ISHFT(pack_tmp, 52)
48220 1586420 : ipack = ipack + 1
48221 1586420 : pack_tmp = packed_data(ipack)
48222 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
48223 1586420 : pack_tmp = ISHFT(pack_tmp, -52)
48224 1586420 : idata = idata + 1
48225 1586420 : data_tmp = ISHFT(pack_tmp, 46)
48226 1586420 : ipack = ipack + 1
48227 1586420 : pack_tmp = packed_data(ipack)
48228 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
48229 1586420 : pack_tmp = ISHFT(pack_tmp, -46)
48230 1586420 : idata = idata + 1
48231 1586420 : data_tmp = ISHFT(pack_tmp, 40)
48232 1586420 : ipack = ipack + 1
48233 1586420 : pack_tmp = packed_data(ipack)
48234 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
48235 1586420 : pack_tmp = ISHFT(pack_tmp, -40)
48236 1586420 : idata = idata + 1
48237 1586420 : data_tmp = ISHFT(pack_tmp, 34)
48238 1586420 : ipack = ipack + 1
48239 1586420 : pack_tmp = packed_data(ipack)
48240 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
48241 1586420 : pack_tmp = ISHFT(pack_tmp, -34)
48242 1586420 : idata = idata + 1
48243 1586420 : data_tmp = ISHFT(pack_tmp, 28)
48244 1586420 : ipack = ipack + 1
48245 1586420 : pack_tmp = packed_data(ipack)
48246 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
48247 1586420 : pack_tmp = ISHFT(pack_tmp, -28)
48248 1586420 : idata = idata + 1
48249 1586420 : data_tmp = ISHFT(pack_tmp, 22)
48250 1586420 : ipack = ipack + 1
48251 1586420 : pack_tmp = packed_data(ipack)
48252 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
48253 1586420 : pack_tmp = ISHFT(pack_tmp, -22)
48254 1586420 : idata = idata + 1
48255 1586420 : data_tmp = ISHFT(pack_tmp, 16)
48256 1586420 : ipack = ipack + 1
48257 1586420 : pack_tmp = packed_data(ipack)
48258 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
48259 1586420 : pack_tmp = ISHFT(pack_tmp, -16)
48260 1586420 : idata = idata + 1
48261 1586420 : data_tmp = ISHFT(pack_tmp, 10)
48262 1586420 : ipack = ipack + 1
48263 1586420 : pack_tmp = packed_data(ipack)
48264 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
48265 1586420 : pack_tmp = ISHFT(pack_tmp, -10)
48266 1586420 : idata = idata + 1
48267 1586420 : data_tmp = ISHFT(pack_tmp, 4)
48268 1586420 : ipack = ipack + 1
48269 1586420 : pack_tmp = packed_data(ipack)
48270 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
48271 1586420 : pack_tmp = ISHFT(pack_tmp, -4)
48272 1586420 : idata = idata + 1
48273 1586420 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48274 1586420 : full_data(idata) = data_tmp
48275 1586420 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48276 1586420 : idata = idata + 1
48277 1586420 : data_tmp = ISHFT(pack_tmp, 56)
48278 1586420 : ipack = ipack + 1
48279 1586420 : pack_tmp = packed_data(ipack)
48280 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
48281 1586420 : pack_tmp = ISHFT(pack_tmp, -56)
48282 1586420 : idata = idata + 1
48283 1586420 : data_tmp = ISHFT(pack_tmp, 50)
48284 1586420 : ipack = ipack + 1
48285 1586420 : pack_tmp = packed_data(ipack)
48286 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
48287 1586420 : pack_tmp = ISHFT(pack_tmp, -50)
48288 1586420 : idata = idata + 1
48289 1586420 : data_tmp = ISHFT(pack_tmp, 44)
48290 1586420 : ipack = ipack + 1
48291 1586420 : pack_tmp = packed_data(ipack)
48292 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
48293 1586420 : pack_tmp = ISHFT(pack_tmp, -44)
48294 1586420 : idata = idata + 1
48295 1586420 : data_tmp = ISHFT(pack_tmp, 38)
48296 1586420 : ipack = ipack + 1
48297 1586420 : pack_tmp = packed_data(ipack)
48298 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
48299 1586420 : pack_tmp = ISHFT(pack_tmp, -38)
48300 1586420 : idata = idata + 1
48301 1586420 : data_tmp = ISHFT(pack_tmp, 32)
48302 1586420 : ipack = ipack + 1
48303 1586420 : pack_tmp = packed_data(ipack)
48304 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
48305 1586420 : pack_tmp = ISHFT(pack_tmp, -32)
48306 1586420 : idata = idata + 1
48307 1586420 : data_tmp = ISHFT(pack_tmp, 26)
48308 1586420 : ipack = ipack + 1
48309 1586420 : pack_tmp = packed_data(ipack)
48310 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
48311 1586420 : pack_tmp = ISHFT(pack_tmp, -26)
48312 1586420 : idata = idata + 1
48313 1586420 : data_tmp = ISHFT(pack_tmp, 20)
48314 1586420 : ipack = ipack + 1
48315 1586420 : pack_tmp = packed_data(ipack)
48316 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
48317 1586420 : pack_tmp = ISHFT(pack_tmp, -20)
48318 1586420 : idata = idata + 1
48319 1586420 : data_tmp = ISHFT(pack_tmp, 14)
48320 1586420 : ipack = ipack + 1
48321 1586420 : pack_tmp = packed_data(ipack)
48322 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
48323 1586420 : pack_tmp = ISHFT(pack_tmp, -14)
48324 1586420 : idata = idata + 1
48325 1586420 : data_tmp = ISHFT(pack_tmp, 8)
48326 1586420 : ipack = ipack + 1
48327 1586420 : pack_tmp = packed_data(ipack)
48328 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
48329 1586420 : pack_tmp = ISHFT(pack_tmp, -8)
48330 1586420 : idata = idata + 1
48331 1586420 : data_tmp = ISHFT(pack_tmp, 2)
48332 1586420 : ipack = ipack + 1
48333 1586420 : pack_tmp = packed_data(ipack)
48334 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
48335 1586420 : pack_tmp = ISHFT(pack_tmp, -2)
48336 1586420 : idata = idata + 1
48337 1586420 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48338 1586420 : full_data(idata) = data_tmp
48339 1586420 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48340 1586420 : idata = idata + 1
48341 1586420 : data_tmp = ISHFT(pack_tmp, 54)
48342 1586420 : ipack = ipack + 1
48343 1586420 : pack_tmp = packed_data(ipack)
48344 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
48345 1586420 : pack_tmp = ISHFT(pack_tmp, -54)
48346 1586420 : idata = idata + 1
48347 1586420 : data_tmp = ISHFT(pack_tmp, 48)
48348 1586420 : ipack = ipack + 1
48349 1586420 : pack_tmp = packed_data(ipack)
48350 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
48351 1586420 : pack_tmp = ISHFT(pack_tmp, -48)
48352 1586420 : idata = idata + 1
48353 1586420 : data_tmp = ISHFT(pack_tmp, 42)
48354 1586420 : ipack = ipack + 1
48355 1586420 : pack_tmp = packed_data(ipack)
48356 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
48357 1586420 : pack_tmp = ISHFT(pack_tmp, -42)
48358 1586420 : idata = idata + 1
48359 1586420 : data_tmp = ISHFT(pack_tmp, 36)
48360 1586420 : ipack = ipack + 1
48361 1586420 : pack_tmp = packed_data(ipack)
48362 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
48363 1586420 : pack_tmp = ISHFT(pack_tmp, -36)
48364 1586420 : idata = idata + 1
48365 1586420 : data_tmp = ISHFT(pack_tmp, 30)
48366 1586420 : ipack = ipack + 1
48367 1586420 : pack_tmp = packed_data(ipack)
48368 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
48369 1586420 : pack_tmp = ISHFT(pack_tmp, -30)
48370 1586420 : idata = idata + 1
48371 1586420 : data_tmp = ISHFT(pack_tmp, 24)
48372 1586420 : ipack = ipack + 1
48373 1586420 : pack_tmp = packed_data(ipack)
48374 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
48375 1586420 : pack_tmp = ISHFT(pack_tmp, -24)
48376 1586420 : idata = idata + 1
48377 1586420 : data_tmp = ISHFT(pack_tmp, 18)
48378 1586420 : ipack = ipack + 1
48379 1586420 : pack_tmp = packed_data(ipack)
48380 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
48381 1586420 : pack_tmp = ISHFT(pack_tmp, -18)
48382 1586420 : idata = idata + 1
48383 1586420 : data_tmp = ISHFT(pack_tmp, 12)
48384 1586420 : ipack = ipack + 1
48385 1586420 : pack_tmp = packed_data(ipack)
48386 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
48387 1586420 : pack_tmp = ISHFT(pack_tmp, -12)
48388 1586420 : idata = idata + 1
48389 1586420 : data_tmp = ISHFT(pack_tmp, 6)
48390 1586420 : ipack = ipack + 1
48391 1586420 : pack_tmp = packed_data(ipack)
48392 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
48393 1586420 : pack_tmp = ISHFT(pack_tmp, -6)
48394 1586420 : idata = idata + 1
48395 1586420 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48396 1586420 : full_data(idata) = data_tmp
48397 1586420 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48398 1586420 : idata = idata + 1
48399 1586420 : data_tmp = ISHFT(pack_tmp, 58)
48400 1586420 : ipack = ipack + 1
48401 1586420 : pack_tmp = packed_data(ipack)
48402 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
48403 1586420 : pack_tmp = ISHFT(pack_tmp, -58)
48404 1586420 : idata = idata + 1
48405 1586420 : data_tmp = ISHFT(pack_tmp, 52)
48406 1586420 : ipack = ipack + 1
48407 1586420 : pack_tmp = packed_data(ipack)
48408 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
48409 1586420 : pack_tmp = ISHFT(pack_tmp, -52)
48410 1586420 : idata = idata + 1
48411 1586420 : data_tmp = ISHFT(pack_tmp, 46)
48412 1586420 : ipack = ipack + 1
48413 1586420 : pack_tmp = packed_data(ipack)
48414 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
48415 1586420 : pack_tmp = ISHFT(pack_tmp, -46)
48416 1586420 : idata = idata + 1
48417 1586420 : data_tmp = ISHFT(pack_tmp, 40)
48418 1586420 : ipack = ipack + 1
48419 1586420 : pack_tmp = packed_data(ipack)
48420 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
48421 1586420 : pack_tmp = ISHFT(pack_tmp, -40)
48422 1586420 : idata = idata + 1
48423 1586420 : data_tmp = ISHFT(pack_tmp, 34)
48424 1586420 : ipack = ipack + 1
48425 1586420 : pack_tmp = packed_data(ipack)
48426 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
48427 1586420 : pack_tmp = ISHFT(pack_tmp, -34)
48428 1586420 : idata = idata + 1
48429 1586420 : data_tmp = ISHFT(pack_tmp, 28)
48430 1586420 : ipack = ipack + 1
48431 1586420 : pack_tmp = packed_data(ipack)
48432 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
48433 1586420 : pack_tmp = ISHFT(pack_tmp, -28)
48434 1586420 : idata = idata + 1
48435 1586420 : data_tmp = ISHFT(pack_tmp, 22)
48436 1586420 : ipack = ipack + 1
48437 1586420 : pack_tmp = packed_data(ipack)
48438 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
48439 1586420 : pack_tmp = ISHFT(pack_tmp, -22)
48440 1586420 : idata = idata + 1
48441 1586420 : data_tmp = ISHFT(pack_tmp, 16)
48442 1586420 : ipack = ipack + 1
48443 1586420 : pack_tmp = packed_data(ipack)
48444 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
48445 1586420 : pack_tmp = ISHFT(pack_tmp, -16)
48446 1586420 : idata = idata + 1
48447 1586420 : data_tmp = ISHFT(pack_tmp, 10)
48448 1586420 : ipack = ipack + 1
48449 1586420 : pack_tmp = packed_data(ipack)
48450 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
48451 1586420 : pack_tmp = ISHFT(pack_tmp, -10)
48452 1586420 : idata = idata + 1
48453 1586420 : data_tmp = ISHFT(pack_tmp, 4)
48454 1586420 : ipack = ipack + 1
48455 1586420 : pack_tmp = packed_data(ipack)
48456 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
48457 1586420 : pack_tmp = ISHFT(pack_tmp, -4)
48458 1586420 : idata = idata + 1
48459 1586420 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48460 1586420 : full_data(idata) = data_tmp
48461 1586420 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48462 1586420 : idata = idata + 1
48463 1586420 : data_tmp = ISHFT(pack_tmp, 56)
48464 1586420 : ipack = ipack + 1
48465 1586420 : pack_tmp = packed_data(ipack)
48466 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
48467 1586420 : pack_tmp = ISHFT(pack_tmp, -56)
48468 1586420 : idata = idata + 1
48469 1586420 : data_tmp = ISHFT(pack_tmp, 50)
48470 1586420 : ipack = ipack + 1
48471 1586420 : pack_tmp = packed_data(ipack)
48472 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
48473 1586420 : pack_tmp = ISHFT(pack_tmp, -50)
48474 1586420 : idata = idata + 1
48475 1586420 : data_tmp = ISHFT(pack_tmp, 44)
48476 1586420 : ipack = ipack + 1
48477 1586420 : pack_tmp = packed_data(ipack)
48478 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
48479 1586420 : pack_tmp = ISHFT(pack_tmp, -44)
48480 1586420 : idata = idata + 1
48481 1586420 : data_tmp = ISHFT(pack_tmp, 38)
48482 1586420 : ipack = ipack + 1
48483 1586420 : pack_tmp = packed_data(ipack)
48484 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
48485 1586420 : pack_tmp = ISHFT(pack_tmp, -38)
48486 1586420 : idata = idata + 1
48487 1586420 : data_tmp = ISHFT(pack_tmp, 32)
48488 1586420 : ipack = ipack + 1
48489 1586420 : pack_tmp = packed_data(ipack)
48490 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
48491 1586420 : pack_tmp = ISHFT(pack_tmp, -32)
48492 1586420 : idata = idata + 1
48493 1586420 : data_tmp = ISHFT(pack_tmp, 26)
48494 1586420 : ipack = ipack + 1
48495 1586420 : pack_tmp = packed_data(ipack)
48496 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
48497 1586420 : pack_tmp = ISHFT(pack_tmp, -26)
48498 1586420 : idata = idata + 1
48499 1586420 : data_tmp = ISHFT(pack_tmp, 20)
48500 1586420 : ipack = ipack + 1
48501 1586420 : pack_tmp = packed_data(ipack)
48502 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
48503 1586420 : pack_tmp = ISHFT(pack_tmp, -20)
48504 1586420 : idata = idata + 1
48505 1586420 : data_tmp = ISHFT(pack_tmp, 14)
48506 1586420 : ipack = ipack + 1
48507 1586420 : pack_tmp = packed_data(ipack)
48508 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
48509 1586420 : pack_tmp = ISHFT(pack_tmp, -14)
48510 1586420 : idata = idata + 1
48511 1586420 : data_tmp = ISHFT(pack_tmp, 8)
48512 1586420 : ipack = ipack + 1
48513 1586420 : pack_tmp = packed_data(ipack)
48514 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
48515 1586420 : pack_tmp = ISHFT(pack_tmp, -8)
48516 1586420 : idata = idata + 1
48517 1586420 : data_tmp = ISHFT(pack_tmp, 2)
48518 1586420 : ipack = ipack + 1
48519 1586420 : pack_tmp = packed_data(ipack)
48520 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
48521 1586420 : pack_tmp = ISHFT(pack_tmp, -2)
48522 1586420 : idata = idata + 1
48523 1586420 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48524 1586420 : full_data(idata) = data_tmp
48525 1586420 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48526 1586420 : idata = idata + 1
48527 1586420 : data_tmp = ISHFT(pack_tmp, 54)
48528 1586420 : ipack = ipack + 1
48529 1586420 : pack_tmp = packed_data(ipack)
48530 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
48531 1586420 : pack_tmp = ISHFT(pack_tmp, -54)
48532 1586420 : idata = idata + 1
48533 1586420 : data_tmp = ISHFT(pack_tmp, 48)
48534 1586420 : ipack = ipack + 1
48535 1586420 : pack_tmp = packed_data(ipack)
48536 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
48537 1586420 : pack_tmp = ISHFT(pack_tmp, -48)
48538 1586420 : idata = idata + 1
48539 1586420 : data_tmp = ISHFT(pack_tmp, 42)
48540 1586420 : ipack = ipack + 1
48541 1586420 : pack_tmp = packed_data(ipack)
48542 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
48543 1586420 : pack_tmp = ISHFT(pack_tmp, -42)
48544 1586420 : idata = idata + 1
48545 1586420 : data_tmp = ISHFT(pack_tmp, 36)
48546 1586420 : ipack = ipack + 1
48547 1586420 : pack_tmp = packed_data(ipack)
48548 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
48549 1586420 : pack_tmp = ISHFT(pack_tmp, -36)
48550 1586420 : idata = idata + 1
48551 1586420 : data_tmp = ISHFT(pack_tmp, 30)
48552 1586420 : ipack = ipack + 1
48553 1586420 : pack_tmp = packed_data(ipack)
48554 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
48555 1586420 : pack_tmp = ISHFT(pack_tmp, -30)
48556 1586420 : idata = idata + 1
48557 1586420 : data_tmp = ISHFT(pack_tmp, 24)
48558 1586420 : ipack = ipack + 1
48559 1586420 : pack_tmp = packed_data(ipack)
48560 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
48561 1586420 : pack_tmp = ISHFT(pack_tmp, -24)
48562 1586420 : idata = idata + 1
48563 1586420 : data_tmp = ISHFT(pack_tmp, 18)
48564 1586420 : ipack = ipack + 1
48565 1586420 : pack_tmp = packed_data(ipack)
48566 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
48567 1586420 : pack_tmp = ISHFT(pack_tmp, -18)
48568 1586420 : idata = idata + 1
48569 1586420 : data_tmp = ISHFT(pack_tmp, 12)
48570 1586420 : ipack = ipack + 1
48571 1586420 : pack_tmp = packed_data(ipack)
48572 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
48573 1586420 : pack_tmp = ISHFT(pack_tmp, -12)
48574 1586420 : idata = idata + 1
48575 1586420 : data_tmp = ISHFT(pack_tmp, 6)
48576 1586420 : ipack = ipack + 1
48577 1586420 : pack_tmp = packed_data(ipack)
48578 1586420 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
48579 1586420 : pack_tmp = ISHFT(pack_tmp, -6)
48580 1586420 : idata = idata + 1
48581 1586420 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
48582 1586420 : full_data(idata) = data_tmp
48583 1586420 : pack_tmp = ISHFT(pack_tmp, -Nbits)
48584 : END DO
48585 99929 : IF (Ndata_rep < Ndata) THEN
48586 1464 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
48587 : END IF
48588 99929 : END SUBROUTINE bits2ints_58
48589 :
48590 : ! **************************************************************************************************
48591 : !> \brief ...
48592 : !> \param Ndata ...
48593 : !> \param packed_data ...
48594 : !> \param full_data ...
48595 : ! **************************************************************************************************
48596 24432 : 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(*)
48600 :
48601 : INTEGER, PARAMETER :: Nbits = 59
48602 :
48603 : INTEGER :: idata, ipack, kdata, Ndata_rep
48604 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
48605 :
48606 24432 : idata = 0
48607 24432 : ipack = 0
48608 24432 : Ndata_rep = (Ndata/64)*64
48609 24432 : DO kdata = 1, Ndata_rep, 64
48610 390912 : pack_tmp = 0
48611 390912 : idata = idata + 1
48612 390912 : data_tmp = full_data(idata)
48613 390912 : data_tmp = ISHFT(data_tmp, 5)
48614 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48615 390912 : pack_tmp = ISHFT(pack_tmp, -5)
48616 390912 : idata = idata + 1
48617 390912 : data_tmp = full_data(idata)
48618 390912 : data_tmp = ISHFT(data_tmp, 5)
48619 390912 : data_tmp = IAND(data_tmp, mask_left(5))
48620 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48621 390912 : ipack = ipack + 1
48622 390912 : packed_data(ipack) = pack_tmp
48623 390912 : data_tmp = full_data(idata)
48624 390912 : pack_tmp = ISHFT(data_tmp, 10)
48625 390912 : pack_tmp = ISHFT(pack_tmp, -10)
48626 390912 : idata = idata + 1
48627 390912 : data_tmp = full_data(idata)
48628 390912 : data_tmp = ISHFT(data_tmp, 5)
48629 390912 : data_tmp = IAND(data_tmp, mask_left(10))
48630 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48631 390912 : ipack = ipack + 1
48632 390912 : packed_data(ipack) = pack_tmp
48633 390912 : data_tmp = full_data(idata)
48634 390912 : pack_tmp = ISHFT(data_tmp, 15)
48635 390912 : pack_tmp = ISHFT(pack_tmp, -15)
48636 390912 : idata = idata + 1
48637 390912 : data_tmp = full_data(idata)
48638 390912 : data_tmp = ISHFT(data_tmp, 5)
48639 390912 : data_tmp = IAND(data_tmp, mask_left(15))
48640 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48641 390912 : ipack = ipack + 1
48642 390912 : packed_data(ipack) = pack_tmp
48643 390912 : data_tmp = full_data(idata)
48644 390912 : pack_tmp = ISHFT(data_tmp, 20)
48645 390912 : pack_tmp = ISHFT(pack_tmp, -20)
48646 390912 : idata = idata + 1
48647 390912 : data_tmp = full_data(idata)
48648 390912 : data_tmp = ISHFT(data_tmp, 5)
48649 390912 : data_tmp = IAND(data_tmp, mask_left(20))
48650 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48651 390912 : ipack = ipack + 1
48652 390912 : packed_data(ipack) = pack_tmp
48653 390912 : data_tmp = full_data(idata)
48654 390912 : pack_tmp = ISHFT(data_tmp, 25)
48655 390912 : pack_tmp = ISHFT(pack_tmp, -25)
48656 390912 : idata = idata + 1
48657 390912 : data_tmp = full_data(idata)
48658 390912 : data_tmp = ISHFT(data_tmp, 5)
48659 390912 : data_tmp = IAND(data_tmp, mask_left(25))
48660 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48661 390912 : ipack = ipack + 1
48662 390912 : packed_data(ipack) = pack_tmp
48663 390912 : data_tmp = full_data(idata)
48664 390912 : pack_tmp = ISHFT(data_tmp, 30)
48665 390912 : pack_tmp = ISHFT(pack_tmp, -30)
48666 390912 : idata = idata + 1
48667 390912 : data_tmp = full_data(idata)
48668 390912 : data_tmp = ISHFT(data_tmp, 5)
48669 390912 : data_tmp = IAND(data_tmp, mask_left(30))
48670 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48671 390912 : ipack = ipack + 1
48672 390912 : packed_data(ipack) = pack_tmp
48673 390912 : data_tmp = full_data(idata)
48674 390912 : pack_tmp = ISHFT(data_tmp, 35)
48675 390912 : pack_tmp = ISHFT(pack_tmp, -35)
48676 390912 : idata = idata + 1
48677 390912 : data_tmp = full_data(idata)
48678 390912 : data_tmp = ISHFT(data_tmp, 5)
48679 390912 : data_tmp = IAND(data_tmp, mask_left(35))
48680 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48681 390912 : ipack = ipack + 1
48682 390912 : packed_data(ipack) = pack_tmp
48683 390912 : data_tmp = full_data(idata)
48684 390912 : pack_tmp = ISHFT(data_tmp, 40)
48685 390912 : pack_tmp = ISHFT(pack_tmp, -40)
48686 390912 : idata = idata + 1
48687 390912 : data_tmp = full_data(idata)
48688 390912 : data_tmp = ISHFT(data_tmp, 5)
48689 390912 : data_tmp = IAND(data_tmp, mask_left(40))
48690 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48691 390912 : ipack = ipack + 1
48692 390912 : packed_data(ipack) = pack_tmp
48693 390912 : data_tmp = full_data(idata)
48694 390912 : pack_tmp = ISHFT(data_tmp, 45)
48695 390912 : pack_tmp = ISHFT(pack_tmp, -45)
48696 390912 : idata = idata + 1
48697 390912 : data_tmp = full_data(idata)
48698 390912 : data_tmp = ISHFT(data_tmp, 5)
48699 390912 : data_tmp = IAND(data_tmp, mask_left(45))
48700 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48701 390912 : ipack = ipack + 1
48702 390912 : packed_data(ipack) = pack_tmp
48703 390912 : data_tmp = full_data(idata)
48704 390912 : pack_tmp = ISHFT(data_tmp, 50)
48705 390912 : pack_tmp = ISHFT(pack_tmp, -50)
48706 390912 : idata = idata + 1
48707 390912 : data_tmp = full_data(idata)
48708 390912 : data_tmp = ISHFT(data_tmp, 5)
48709 390912 : data_tmp = IAND(data_tmp, mask_left(50))
48710 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48711 390912 : ipack = ipack + 1
48712 390912 : packed_data(ipack) = pack_tmp
48713 390912 : data_tmp = full_data(idata)
48714 390912 : pack_tmp = ISHFT(data_tmp, 55)
48715 390912 : pack_tmp = ISHFT(pack_tmp, -55)
48716 390912 : idata = idata + 1
48717 390912 : data_tmp = full_data(idata)
48718 390912 : data_tmp = ISHFT(data_tmp, 5)
48719 390912 : data_tmp = IAND(data_tmp, mask_left(55))
48720 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48721 390912 : ipack = ipack + 1
48722 390912 : packed_data(ipack) = pack_tmp
48723 390912 : data_tmp = full_data(idata)
48724 390912 : pack_tmp = ISHFT(data_tmp, 60)
48725 390912 : pack_tmp = ISHFT(pack_tmp, -59)
48726 390912 : idata = idata + 1
48727 390912 : data_tmp = full_data(idata)
48728 390912 : data_tmp = ISHFT(data_tmp, 5)
48729 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48730 390912 : pack_tmp = ISHFT(pack_tmp, -1)
48731 390912 : idata = idata + 1
48732 390912 : data_tmp = full_data(idata)
48733 390912 : data_tmp = ISHFT(data_tmp, 5)
48734 390912 : data_tmp = IAND(data_tmp, mask_left(1))
48735 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48736 390912 : ipack = ipack + 1
48737 390912 : packed_data(ipack) = pack_tmp
48738 390912 : data_tmp = full_data(idata)
48739 390912 : pack_tmp = ISHFT(data_tmp, 6)
48740 390912 : pack_tmp = ISHFT(pack_tmp, -6)
48741 390912 : idata = idata + 1
48742 390912 : data_tmp = full_data(idata)
48743 390912 : data_tmp = ISHFT(data_tmp, 5)
48744 390912 : data_tmp = IAND(data_tmp, mask_left(6))
48745 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48746 390912 : ipack = ipack + 1
48747 390912 : packed_data(ipack) = pack_tmp
48748 390912 : data_tmp = full_data(idata)
48749 390912 : pack_tmp = ISHFT(data_tmp, 11)
48750 390912 : pack_tmp = ISHFT(pack_tmp, -11)
48751 390912 : idata = idata + 1
48752 390912 : data_tmp = full_data(idata)
48753 390912 : data_tmp = ISHFT(data_tmp, 5)
48754 390912 : data_tmp = IAND(data_tmp, mask_left(11))
48755 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48756 390912 : ipack = ipack + 1
48757 390912 : packed_data(ipack) = pack_tmp
48758 390912 : data_tmp = full_data(idata)
48759 390912 : pack_tmp = ISHFT(data_tmp, 16)
48760 390912 : pack_tmp = ISHFT(pack_tmp, -16)
48761 390912 : idata = idata + 1
48762 390912 : data_tmp = full_data(idata)
48763 390912 : data_tmp = ISHFT(data_tmp, 5)
48764 390912 : data_tmp = IAND(data_tmp, mask_left(16))
48765 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48766 390912 : ipack = ipack + 1
48767 390912 : packed_data(ipack) = pack_tmp
48768 390912 : data_tmp = full_data(idata)
48769 390912 : pack_tmp = ISHFT(data_tmp, 21)
48770 390912 : pack_tmp = ISHFT(pack_tmp, -21)
48771 390912 : idata = idata + 1
48772 390912 : data_tmp = full_data(idata)
48773 390912 : data_tmp = ISHFT(data_tmp, 5)
48774 390912 : data_tmp = IAND(data_tmp, mask_left(21))
48775 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48776 390912 : ipack = ipack + 1
48777 390912 : packed_data(ipack) = pack_tmp
48778 390912 : data_tmp = full_data(idata)
48779 390912 : pack_tmp = ISHFT(data_tmp, 26)
48780 390912 : pack_tmp = ISHFT(pack_tmp, -26)
48781 390912 : idata = idata + 1
48782 390912 : data_tmp = full_data(idata)
48783 390912 : data_tmp = ISHFT(data_tmp, 5)
48784 390912 : data_tmp = IAND(data_tmp, mask_left(26))
48785 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48786 390912 : ipack = ipack + 1
48787 390912 : packed_data(ipack) = pack_tmp
48788 390912 : data_tmp = full_data(idata)
48789 390912 : pack_tmp = ISHFT(data_tmp, 31)
48790 390912 : pack_tmp = ISHFT(pack_tmp, -31)
48791 390912 : idata = idata + 1
48792 390912 : data_tmp = full_data(idata)
48793 390912 : data_tmp = ISHFT(data_tmp, 5)
48794 390912 : data_tmp = IAND(data_tmp, mask_left(31))
48795 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48796 390912 : ipack = ipack + 1
48797 390912 : packed_data(ipack) = pack_tmp
48798 390912 : data_tmp = full_data(idata)
48799 390912 : pack_tmp = ISHFT(data_tmp, 36)
48800 390912 : pack_tmp = ISHFT(pack_tmp, -36)
48801 390912 : idata = idata + 1
48802 390912 : data_tmp = full_data(idata)
48803 390912 : data_tmp = ISHFT(data_tmp, 5)
48804 390912 : data_tmp = IAND(data_tmp, mask_left(36))
48805 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48806 390912 : ipack = ipack + 1
48807 390912 : packed_data(ipack) = pack_tmp
48808 390912 : data_tmp = full_data(idata)
48809 390912 : pack_tmp = ISHFT(data_tmp, 41)
48810 390912 : pack_tmp = ISHFT(pack_tmp, -41)
48811 390912 : idata = idata + 1
48812 390912 : data_tmp = full_data(idata)
48813 390912 : data_tmp = ISHFT(data_tmp, 5)
48814 390912 : data_tmp = IAND(data_tmp, mask_left(41))
48815 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48816 390912 : ipack = ipack + 1
48817 390912 : packed_data(ipack) = pack_tmp
48818 390912 : data_tmp = full_data(idata)
48819 390912 : pack_tmp = ISHFT(data_tmp, 46)
48820 390912 : pack_tmp = ISHFT(pack_tmp, -46)
48821 390912 : idata = idata + 1
48822 390912 : data_tmp = full_data(idata)
48823 390912 : data_tmp = ISHFT(data_tmp, 5)
48824 390912 : data_tmp = IAND(data_tmp, mask_left(46))
48825 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48826 390912 : ipack = ipack + 1
48827 390912 : packed_data(ipack) = pack_tmp
48828 390912 : data_tmp = full_data(idata)
48829 390912 : pack_tmp = ISHFT(data_tmp, 51)
48830 390912 : pack_tmp = ISHFT(pack_tmp, -51)
48831 390912 : idata = idata + 1
48832 390912 : data_tmp = full_data(idata)
48833 390912 : data_tmp = ISHFT(data_tmp, 5)
48834 390912 : data_tmp = IAND(data_tmp, mask_left(51))
48835 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48836 390912 : ipack = ipack + 1
48837 390912 : packed_data(ipack) = pack_tmp
48838 390912 : data_tmp = full_data(idata)
48839 390912 : pack_tmp = ISHFT(data_tmp, 56)
48840 390912 : pack_tmp = ISHFT(pack_tmp, -56)
48841 390912 : idata = idata + 1
48842 390912 : data_tmp = full_data(idata)
48843 390912 : data_tmp = ISHFT(data_tmp, 5)
48844 390912 : data_tmp = IAND(data_tmp, mask_left(56))
48845 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48846 390912 : ipack = ipack + 1
48847 390912 : packed_data(ipack) = pack_tmp
48848 390912 : data_tmp = full_data(idata)
48849 390912 : pack_tmp = ISHFT(data_tmp, 61)
48850 390912 : pack_tmp = ISHFT(pack_tmp, -59)
48851 390912 : idata = idata + 1
48852 390912 : data_tmp = full_data(idata)
48853 390912 : data_tmp = ISHFT(data_tmp, 5)
48854 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48855 390912 : pack_tmp = ISHFT(pack_tmp, -2)
48856 390912 : idata = idata + 1
48857 390912 : data_tmp = full_data(idata)
48858 390912 : data_tmp = ISHFT(data_tmp, 5)
48859 390912 : data_tmp = IAND(data_tmp, mask_left(2))
48860 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48861 390912 : ipack = ipack + 1
48862 390912 : packed_data(ipack) = pack_tmp
48863 390912 : data_tmp = full_data(idata)
48864 390912 : pack_tmp = ISHFT(data_tmp, 7)
48865 390912 : pack_tmp = ISHFT(pack_tmp, -7)
48866 390912 : idata = idata + 1
48867 390912 : data_tmp = full_data(idata)
48868 390912 : data_tmp = ISHFT(data_tmp, 5)
48869 390912 : data_tmp = IAND(data_tmp, mask_left(7))
48870 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48871 390912 : ipack = ipack + 1
48872 390912 : packed_data(ipack) = pack_tmp
48873 390912 : data_tmp = full_data(idata)
48874 390912 : pack_tmp = ISHFT(data_tmp, 12)
48875 390912 : pack_tmp = ISHFT(pack_tmp, -12)
48876 390912 : idata = idata + 1
48877 390912 : data_tmp = full_data(idata)
48878 390912 : data_tmp = ISHFT(data_tmp, 5)
48879 390912 : data_tmp = IAND(data_tmp, mask_left(12))
48880 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48881 390912 : ipack = ipack + 1
48882 390912 : packed_data(ipack) = pack_tmp
48883 390912 : data_tmp = full_data(idata)
48884 390912 : pack_tmp = ISHFT(data_tmp, 17)
48885 390912 : pack_tmp = ISHFT(pack_tmp, -17)
48886 390912 : idata = idata + 1
48887 390912 : data_tmp = full_data(idata)
48888 390912 : data_tmp = ISHFT(data_tmp, 5)
48889 390912 : data_tmp = IAND(data_tmp, mask_left(17))
48890 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48891 390912 : ipack = ipack + 1
48892 390912 : packed_data(ipack) = pack_tmp
48893 390912 : data_tmp = full_data(idata)
48894 390912 : pack_tmp = ISHFT(data_tmp, 22)
48895 390912 : pack_tmp = ISHFT(pack_tmp, -22)
48896 390912 : idata = idata + 1
48897 390912 : data_tmp = full_data(idata)
48898 390912 : data_tmp = ISHFT(data_tmp, 5)
48899 390912 : data_tmp = IAND(data_tmp, mask_left(22))
48900 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48901 390912 : ipack = ipack + 1
48902 390912 : packed_data(ipack) = pack_tmp
48903 390912 : data_tmp = full_data(idata)
48904 390912 : pack_tmp = ISHFT(data_tmp, 27)
48905 390912 : pack_tmp = ISHFT(pack_tmp, -27)
48906 390912 : idata = idata + 1
48907 390912 : data_tmp = full_data(idata)
48908 390912 : data_tmp = ISHFT(data_tmp, 5)
48909 390912 : data_tmp = IAND(data_tmp, mask_left(27))
48910 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48911 390912 : ipack = ipack + 1
48912 390912 : packed_data(ipack) = pack_tmp
48913 390912 : data_tmp = full_data(idata)
48914 390912 : pack_tmp = ISHFT(data_tmp, 32)
48915 390912 : pack_tmp = ISHFT(pack_tmp, -32)
48916 390912 : idata = idata + 1
48917 390912 : data_tmp = full_data(idata)
48918 390912 : data_tmp = ISHFT(data_tmp, 5)
48919 390912 : data_tmp = IAND(data_tmp, mask_left(32))
48920 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48921 390912 : ipack = ipack + 1
48922 390912 : packed_data(ipack) = pack_tmp
48923 390912 : data_tmp = full_data(idata)
48924 390912 : pack_tmp = ISHFT(data_tmp, 37)
48925 390912 : pack_tmp = ISHFT(pack_tmp, -37)
48926 390912 : idata = idata + 1
48927 390912 : data_tmp = full_data(idata)
48928 390912 : data_tmp = ISHFT(data_tmp, 5)
48929 390912 : data_tmp = IAND(data_tmp, mask_left(37))
48930 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48931 390912 : ipack = ipack + 1
48932 390912 : packed_data(ipack) = pack_tmp
48933 390912 : data_tmp = full_data(idata)
48934 390912 : pack_tmp = ISHFT(data_tmp, 42)
48935 390912 : pack_tmp = ISHFT(pack_tmp, -42)
48936 390912 : idata = idata + 1
48937 390912 : data_tmp = full_data(idata)
48938 390912 : data_tmp = ISHFT(data_tmp, 5)
48939 390912 : data_tmp = IAND(data_tmp, mask_left(42))
48940 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48941 390912 : ipack = ipack + 1
48942 390912 : packed_data(ipack) = pack_tmp
48943 390912 : data_tmp = full_data(idata)
48944 390912 : pack_tmp = ISHFT(data_tmp, 47)
48945 390912 : pack_tmp = ISHFT(pack_tmp, -47)
48946 390912 : idata = idata + 1
48947 390912 : data_tmp = full_data(idata)
48948 390912 : data_tmp = ISHFT(data_tmp, 5)
48949 390912 : data_tmp = IAND(data_tmp, mask_left(47))
48950 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48951 390912 : ipack = ipack + 1
48952 390912 : packed_data(ipack) = pack_tmp
48953 390912 : data_tmp = full_data(idata)
48954 390912 : pack_tmp = ISHFT(data_tmp, 52)
48955 390912 : pack_tmp = ISHFT(pack_tmp, -52)
48956 390912 : idata = idata + 1
48957 390912 : data_tmp = full_data(idata)
48958 390912 : data_tmp = ISHFT(data_tmp, 5)
48959 390912 : data_tmp = IAND(data_tmp, mask_left(52))
48960 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48961 390912 : ipack = ipack + 1
48962 390912 : packed_data(ipack) = pack_tmp
48963 390912 : data_tmp = full_data(idata)
48964 390912 : pack_tmp = ISHFT(data_tmp, 57)
48965 390912 : pack_tmp = ISHFT(pack_tmp, -57)
48966 390912 : idata = idata + 1
48967 390912 : data_tmp = full_data(idata)
48968 390912 : data_tmp = ISHFT(data_tmp, 5)
48969 390912 : data_tmp = IAND(data_tmp, mask_left(57))
48970 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48971 390912 : ipack = ipack + 1
48972 390912 : packed_data(ipack) = pack_tmp
48973 390912 : data_tmp = full_data(idata)
48974 390912 : pack_tmp = ISHFT(data_tmp, 62)
48975 390912 : pack_tmp = ISHFT(pack_tmp, -59)
48976 390912 : idata = idata + 1
48977 390912 : data_tmp = full_data(idata)
48978 390912 : data_tmp = ISHFT(data_tmp, 5)
48979 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48980 390912 : pack_tmp = ISHFT(pack_tmp, -3)
48981 390912 : idata = idata + 1
48982 390912 : data_tmp = full_data(idata)
48983 390912 : data_tmp = ISHFT(data_tmp, 5)
48984 390912 : data_tmp = IAND(data_tmp, mask_left(3))
48985 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48986 390912 : ipack = ipack + 1
48987 390912 : packed_data(ipack) = pack_tmp
48988 390912 : data_tmp = full_data(idata)
48989 390912 : pack_tmp = ISHFT(data_tmp, 8)
48990 390912 : pack_tmp = ISHFT(pack_tmp, -8)
48991 390912 : idata = idata + 1
48992 390912 : data_tmp = full_data(idata)
48993 390912 : data_tmp = ISHFT(data_tmp, 5)
48994 390912 : data_tmp = IAND(data_tmp, mask_left(8))
48995 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
48996 390912 : ipack = ipack + 1
48997 390912 : packed_data(ipack) = pack_tmp
48998 390912 : data_tmp = full_data(idata)
48999 390912 : pack_tmp = ISHFT(data_tmp, 13)
49000 390912 : pack_tmp = ISHFT(pack_tmp, -13)
49001 390912 : idata = idata + 1
49002 390912 : data_tmp = full_data(idata)
49003 390912 : data_tmp = ISHFT(data_tmp, 5)
49004 390912 : data_tmp = IAND(data_tmp, mask_left(13))
49005 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49006 390912 : ipack = ipack + 1
49007 390912 : packed_data(ipack) = pack_tmp
49008 390912 : data_tmp = full_data(idata)
49009 390912 : pack_tmp = ISHFT(data_tmp, 18)
49010 390912 : pack_tmp = ISHFT(pack_tmp, -18)
49011 390912 : idata = idata + 1
49012 390912 : data_tmp = full_data(idata)
49013 390912 : data_tmp = ISHFT(data_tmp, 5)
49014 390912 : data_tmp = IAND(data_tmp, mask_left(18))
49015 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49016 390912 : ipack = ipack + 1
49017 390912 : packed_data(ipack) = pack_tmp
49018 390912 : data_tmp = full_data(idata)
49019 390912 : pack_tmp = ISHFT(data_tmp, 23)
49020 390912 : pack_tmp = ISHFT(pack_tmp, -23)
49021 390912 : idata = idata + 1
49022 390912 : data_tmp = full_data(idata)
49023 390912 : data_tmp = ISHFT(data_tmp, 5)
49024 390912 : data_tmp = IAND(data_tmp, mask_left(23))
49025 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49026 390912 : ipack = ipack + 1
49027 390912 : packed_data(ipack) = pack_tmp
49028 390912 : data_tmp = full_data(idata)
49029 390912 : pack_tmp = ISHFT(data_tmp, 28)
49030 390912 : pack_tmp = ISHFT(pack_tmp, -28)
49031 390912 : idata = idata + 1
49032 390912 : data_tmp = full_data(idata)
49033 390912 : data_tmp = ISHFT(data_tmp, 5)
49034 390912 : data_tmp = IAND(data_tmp, mask_left(28))
49035 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49036 390912 : ipack = ipack + 1
49037 390912 : packed_data(ipack) = pack_tmp
49038 390912 : data_tmp = full_data(idata)
49039 390912 : pack_tmp = ISHFT(data_tmp, 33)
49040 390912 : pack_tmp = ISHFT(pack_tmp, -33)
49041 390912 : idata = idata + 1
49042 390912 : data_tmp = full_data(idata)
49043 390912 : data_tmp = ISHFT(data_tmp, 5)
49044 390912 : data_tmp = IAND(data_tmp, mask_left(33))
49045 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49046 390912 : ipack = ipack + 1
49047 390912 : packed_data(ipack) = pack_tmp
49048 390912 : data_tmp = full_data(idata)
49049 390912 : pack_tmp = ISHFT(data_tmp, 38)
49050 390912 : pack_tmp = ISHFT(pack_tmp, -38)
49051 390912 : idata = idata + 1
49052 390912 : data_tmp = full_data(idata)
49053 390912 : data_tmp = ISHFT(data_tmp, 5)
49054 390912 : data_tmp = IAND(data_tmp, mask_left(38))
49055 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49056 390912 : ipack = ipack + 1
49057 390912 : packed_data(ipack) = pack_tmp
49058 390912 : data_tmp = full_data(idata)
49059 390912 : pack_tmp = ISHFT(data_tmp, 43)
49060 390912 : pack_tmp = ISHFT(pack_tmp, -43)
49061 390912 : idata = idata + 1
49062 390912 : data_tmp = full_data(idata)
49063 390912 : data_tmp = ISHFT(data_tmp, 5)
49064 390912 : data_tmp = IAND(data_tmp, mask_left(43))
49065 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49066 390912 : ipack = ipack + 1
49067 390912 : packed_data(ipack) = pack_tmp
49068 390912 : data_tmp = full_data(idata)
49069 390912 : pack_tmp = ISHFT(data_tmp, 48)
49070 390912 : pack_tmp = ISHFT(pack_tmp, -48)
49071 390912 : idata = idata + 1
49072 390912 : data_tmp = full_data(idata)
49073 390912 : data_tmp = ISHFT(data_tmp, 5)
49074 390912 : data_tmp = IAND(data_tmp, mask_left(48))
49075 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49076 390912 : ipack = ipack + 1
49077 390912 : packed_data(ipack) = pack_tmp
49078 390912 : data_tmp = full_data(idata)
49079 390912 : pack_tmp = ISHFT(data_tmp, 53)
49080 390912 : pack_tmp = ISHFT(pack_tmp, -53)
49081 390912 : idata = idata + 1
49082 390912 : data_tmp = full_data(idata)
49083 390912 : data_tmp = ISHFT(data_tmp, 5)
49084 390912 : data_tmp = IAND(data_tmp, mask_left(53))
49085 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49086 390912 : ipack = ipack + 1
49087 390912 : packed_data(ipack) = pack_tmp
49088 390912 : data_tmp = full_data(idata)
49089 390912 : pack_tmp = ISHFT(data_tmp, 58)
49090 390912 : pack_tmp = ISHFT(pack_tmp, -58)
49091 390912 : idata = idata + 1
49092 390912 : data_tmp = full_data(idata)
49093 390912 : data_tmp = ISHFT(data_tmp, 5)
49094 390912 : data_tmp = IAND(data_tmp, mask_left(58))
49095 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49096 390912 : ipack = ipack + 1
49097 390912 : packed_data(ipack) = pack_tmp
49098 390912 : data_tmp = full_data(idata)
49099 390912 : pack_tmp = ISHFT(data_tmp, 63)
49100 390912 : pack_tmp = ISHFT(pack_tmp, -59)
49101 390912 : idata = idata + 1
49102 390912 : data_tmp = full_data(idata)
49103 390912 : data_tmp = ISHFT(data_tmp, 5)
49104 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49105 390912 : pack_tmp = ISHFT(pack_tmp, -4)
49106 390912 : idata = idata + 1
49107 390912 : data_tmp = full_data(idata)
49108 390912 : data_tmp = ISHFT(data_tmp, 5)
49109 390912 : data_tmp = IAND(data_tmp, mask_left(4))
49110 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49111 390912 : ipack = ipack + 1
49112 390912 : packed_data(ipack) = pack_tmp
49113 390912 : data_tmp = full_data(idata)
49114 390912 : pack_tmp = ISHFT(data_tmp, 9)
49115 390912 : pack_tmp = ISHFT(pack_tmp, -9)
49116 390912 : idata = idata + 1
49117 390912 : data_tmp = full_data(idata)
49118 390912 : data_tmp = ISHFT(data_tmp, 5)
49119 390912 : data_tmp = IAND(data_tmp, mask_left(9))
49120 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49121 390912 : ipack = ipack + 1
49122 390912 : packed_data(ipack) = pack_tmp
49123 390912 : data_tmp = full_data(idata)
49124 390912 : pack_tmp = ISHFT(data_tmp, 14)
49125 390912 : pack_tmp = ISHFT(pack_tmp, -14)
49126 390912 : idata = idata + 1
49127 390912 : data_tmp = full_data(idata)
49128 390912 : data_tmp = ISHFT(data_tmp, 5)
49129 390912 : data_tmp = IAND(data_tmp, mask_left(14))
49130 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49131 390912 : ipack = ipack + 1
49132 390912 : packed_data(ipack) = pack_tmp
49133 390912 : data_tmp = full_data(idata)
49134 390912 : pack_tmp = ISHFT(data_tmp, 19)
49135 390912 : pack_tmp = ISHFT(pack_tmp, -19)
49136 390912 : idata = idata + 1
49137 390912 : data_tmp = full_data(idata)
49138 390912 : data_tmp = ISHFT(data_tmp, 5)
49139 390912 : data_tmp = IAND(data_tmp, mask_left(19))
49140 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49141 390912 : ipack = ipack + 1
49142 390912 : packed_data(ipack) = pack_tmp
49143 390912 : data_tmp = full_data(idata)
49144 390912 : pack_tmp = ISHFT(data_tmp, 24)
49145 390912 : pack_tmp = ISHFT(pack_tmp, -24)
49146 390912 : idata = idata + 1
49147 390912 : data_tmp = full_data(idata)
49148 390912 : data_tmp = ISHFT(data_tmp, 5)
49149 390912 : data_tmp = IAND(data_tmp, mask_left(24))
49150 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49151 390912 : ipack = ipack + 1
49152 390912 : packed_data(ipack) = pack_tmp
49153 390912 : data_tmp = full_data(idata)
49154 390912 : pack_tmp = ISHFT(data_tmp, 29)
49155 390912 : pack_tmp = ISHFT(pack_tmp, -29)
49156 390912 : idata = idata + 1
49157 390912 : data_tmp = full_data(idata)
49158 390912 : data_tmp = ISHFT(data_tmp, 5)
49159 390912 : data_tmp = IAND(data_tmp, mask_left(29))
49160 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49161 390912 : ipack = ipack + 1
49162 390912 : packed_data(ipack) = pack_tmp
49163 390912 : data_tmp = full_data(idata)
49164 390912 : pack_tmp = ISHFT(data_tmp, 34)
49165 390912 : pack_tmp = ISHFT(pack_tmp, -34)
49166 390912 : idata = idata + 1
49167 390912 : data_tmp = full_data(idata)
49168 390912 : data_tmp = ISHFT(data_tmp, 5)
49169 390912 : data_tmp = IAND(data_tmp, mask_left(34))
49170 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49171 390912 : ipack = ipack + 1
49172 390912 : packed_data(ipack) = pack_tmp
49173 390912 : data_tmp = full_data(idata)
49174 390912 : pack_tmp = ISHFT(data_tmp, 39)
49175 390912 : pack_tmp = ISHFT(pack_tmp, -39)
49176 390912 : idata = idata + 1
49177 390912 : data_tmp = full_data(idata)
49178 390912 : data_tmp = ISHFT(data_tmp, 5)
49179 390912 : data_tmp = IAND(data_tmp, mask_left(39))
49180 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49181 390912 : ipack = ipack + 1
49182 390912 : packed_data(ipack) = pack_tmp
49183 390912 : data_tmp = full_data(idata)
49184 390912 : pack_tmp = ISHFT(data_tmp, 44)
49185 390912 : pack_tmp = ISHFT(pack_tmp, -44)
49186 390912 : idata = idata + 1
49187 390912 : data_tmp = full_data(idata)
49188 390912 : data_tmp = ISHFT(data_tmp, 5)
49189 390912 : data_tmp = IAND(data_tmp, mask_left(44))
49190 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49191 390912 : ipack = ipack + 1
49192 390912 : packed_data(ipack) = pack_tmp
49193 390912 : data_tmp = full_data(idata)
49194 390912 : pack_tmp = ISHFT(data_tmp, 49)
49195 390912 : pack_tmp = ISHFT(pack_tmp, -49)
49196 390912 : idata = idata + 1
49197 390912 : data_tmp = full_data(idata)
49198 390912 : data_tmp = ISHFT(data_tmp, 5)
49199 390912 : data_tmp = IAND(data_tmp, mask_left(49))
49200 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49201 390912 : ipack = ipack + 1
49202 390912 : packed_data(ipack) = pack_tmp
49203 390912 : data_tmp = full_data(idata)
49204 390912 : pack_tmp = ISHFT(data_tmp, 54)
49205 390912 : pack_tmp = ISHFT(pack_tmp, -54)
49206 390912 : idata = idata + 1
49207 390912 : data_tmp = full_data(idata)
49208 390912 : data_tmp = ISHFT(data_tmp, 5)
49209 390912 : data_tmp = IAND(data_tmp, mask_left(54))
49210 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49211 390912 : ipack = ipack + 1
49212 390912 : packed_data(ipack) = pack_tmp
49213 390912 : data_tmp = full_data(idata)
49214 390912 : pack_tmp = ISHFT(data_tmp, 59)
49215 390912 : pack_tmp = ISHFT(pack_tmp, -59)
49216 390912 : idata = idata + 1
49217 390912 : data_tmp = full_data(idata)
49218 390912 : data_tmp = ISHFT(data_tmp, 5)
49219 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49220 : pack_tmp = ISHFT(pack_tmp, 0)
49221 390912 : pack_tmp = ISHFT(pack_tmp, 0)
49222 390912 : ipack = ipack + 1
49223 390912 : packed_data(ipack) = pack_tmp
49224 : END DO
49225 24432 : IF (Ndata_rep < Ndata) THEN
49226 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
49227 : END IF
49228 24432 : END SUBROUTINE ints2bits_59
49229 :
49230 : ! **************************************************************************************************
49231 : !> \brief ...
49232 : !> \param Ndata ...
49233 : !> \param packed_data ...
49234 : !> \param full_data ...
49235 : ! **************************************************************************************************
49236 98465 : 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(*)
49240 :
49241 : INTEGER, PARAMETER :: Nbits = 59
49242 :
49243 : INTEGER :: idata, ipack, kdata, Ndata_rep
49244 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
49245 :
49246 98465 : ipack = 0
49247 98465 : idata = 0
49248 98465 : pack_tmp = 0
49249 98465 : Ndata_rep = (Ndata/64)*64
49250 98465 : DO kdata = 1, Ndata_rep, 64
49251 1575440 : idata = idata + 1
49252 1575440 : data_tmp = ISHFT(pack_tmp, 59)
49253 1575440 : ipack = ipack + 1
49254 1575440 : pack_tmp = packed_data(ipack)
49255 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(59)))
49256 1575440 : pack_tmp = ISHFT(pack_tmp, -59)
49257 1575440 : idata = idata + 1
49258 1575440 : data_tmp = ISHFT(pack_tmp, 54)
49259 1575440 : ipack = ipack + 1
49260 1575440 : pack_tmp = packed_data(ipack)
49261 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
49262 1575440 : pack_tmp = ISHFT(pack_tmp, -54)
49263 1575440 : idata = idata + 1
49264 1575440 : data_tmp = ISHFT(pack_tmp, 49)
49265 1575440 : ipack = ipack + 1
49266 1575440 : pack_tmp = packed_data(ipack)
49267 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
49268 1575440 : pack_tmp = ISHFT(pack_tmp, -49)
49269 1575440 : idata = idata + 1
49270 1575440 : data_tmp = ISHFT(pack_tmp, 44)
49271 1575440 : ipack = ipack + 1
49272 1575440 : pack_tmp = packed_data(ipack)
49273 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
49274 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
49275 1575440 : idata = idata + 1
49276 1575440 : data_tmp = ISHFT(pack_tmp, 39)
49277 1575440 : ipack = ipack + 1
49278 1575440 : pack_tmp = packed_data(ipack)
49279 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
49280 1575440 : pack_tmp = ISHFT(pack_tmp, -39)
49281 1575440 : idata = idata + 1
49282 1575440 : data_tmp = ISHFT(pack_tmp, 34)
49283 1575440 : ipack = ipack + 1
49284 1575440 : pack_tmp = packed_data(ipack)
49285 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
49286 1575440 : pack_tmp = ISHFT(pack_tmp, -34)
49287 1575440 : idata = idata + 1
49288 1575440 : data_tmp = ISHFT(pack_tmp, 29)
49289 1575440 : ipack = ipack + 1
49290 1575440 : pack_tmp = packed_data(ipack)
49291 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
49292 1575440 : pack_tmp = ISHFT(pack_tmp, -29)
49293 1575440 : idata = idata + 1
49294 1575440 : data_tmp = ISHFT(pack_tmp, 24)
49295 1575440 : ipack = ipack + 1
49296 1575440 : pack_tmp = packed_data(ipack)
49297 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
49298 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
49299 1575440 : idata = idata + 1
49300 1575440 : data_tmp = ISHFT(pack_tmp, 19)
49301 1575440 : ipack = ipack + 1
49302 1575440 : pack_tmp = packed_data(ipack)
49303 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
49304 1575440 : pack_tmp = ISHFT(pack_tmp, -19)
49305 1575440 : idata = idata + 1
49306 1575440 : data_tmp = ISHFT(pack_tmp, 14)
49307 1575440 : ipack = ipack + 1
49308 1575440 : pack_tmp = packed_data(ipack)
49309 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
49310 1575440 : pack_tmp = ISHFT(pack_tmp, -14)
49311 1575440 : idata = idata + 1
49312 1575440 : data_tmp = ISHFT(pack_tmp, 9)
49313 1575440 : ipack = ipack + 1
49314 1575440 : pack_tmp = packed_data(ipack)
49315 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
49316 1575440 : pack_tmp = ISHFT(pack_tmp, -9)
49317 1575440 : idata = idata + 1
49318 1575440 : data_tmp = ISHFT(pack_tmp, 4)
49319 1575440 : ipack = ipack + 1
49320 1575440 : pack_tmp = packed_data(ipack)
49321 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
49322 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
49323 1575440 : idata = idata + 1
49324 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49325 1575440 : full_data(idata) = data_tmp
49326 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49327 1575440 : idata = idata + 1
49328 1575440 : data_tmp = ISHFT(pack_tmp, 58)
49329 1575440 : ipack = ipack + 1
49330 1575440 : pack_tmp = packed_data(ipack)
49331 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
49332 1575440 : pack_tmp = ISHFT(pack_tmp, -58)
49333 1575440 : idata = idata + 1
49334 1575440 : data_tmp = ISHFT(pack_tmp, 53)
49335 1575440 : ipack = ipack + 1
49336 1575440 : pack_tmp = packed_data(ipack)
49337 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
49338 1575440 : pack_tmp = ISHFT(pack_tmp, -53)
49339 1575440 : idata = idata + 1
49340 1575440 : data_tmp = ISHFT(pack_tmp, 48)
49341 1575440 : ipack = ipack + 1
49342 1575440 : pack_tmp = packed_data(ipack)
49343 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
49344 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
49345 1575440 : idata = idata + 1
49346 1575440 : data_tmp = ISHFT(pack_tmp, 43)
49347 1575440 : ipack = ipack + 1
49348 1575440 : pack_tmp = packed_data(ipack)
49349 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
49350 1575440 : pack_tmp = ISHFT(pack_tmp, -43)
49351 1575440 : idata = idata + 1
49352 1575440 : data_tmp = ISHFT(pack_tmp, 38)
49353 1575440 : ipack = ipack + 1
49354 1575440 : pack_tmp = packed_data(ipack)
49355 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
49356 1575440 : pack_tmp = ISHFT(pack_tmp, -38)
49357 1575440 : idata = idata + 1
49358 1575440 : data_tmp = ISHFT(pack_tmp, 33)
49359 1575440 : ipack = ipack + 1
49360 1575440 : pack_tmp = packed_data(ipack)
49361 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
49362 1575440 : pack_tmp = ISHFT(pack_tmp, -33)
49363 1575440 : idata = idata + 1
49364 1575440 : data_tmp = ISHFT(pack_tmp, 28)
49365 1575440 : ipack = ipack + 1
49366 1575440 : pack_tmp = packed_data(ipack)
49367 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
49368 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
49369 1575440 : idata = idata + 1
49370 1575440 : data_tmp = ISHFT(pack_tmp, 23)
49371 1575440 : ipack = ipack + 1
49372 1575440 : pack_tmp = packed_data(ipack)
49373 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
49374 1575440 : pack_tmp = ISHFT(pack_tmp, -23)
49375 1575440 : idata = idata + 1
49376 1575440 : data_tmp = ISHFT(pack_tmp, 18)
49377 1575440 : ipack = ipack + 1
49378 1575440 : pack_tmp = packed_data(ipack)
49379 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
49380 1575440 : pack_tmp = ISHFT(pack_tmp, -18)
49381 1575440 : idata = idata + 1
49382 1575440 : data_tmp = ISHFT(pack_tmp, 13)
49383 1575440 : ipack = ipack + 1
49384 1575440 : pack_tmp = packed_data(ipack)
49385 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
49386 1575440 : pack_tmp = ISHFT(pack_tmp, -13)
49387 1575440 : idata = idata + 1
49388 1575440 : data_tmp = ISHFT(pack_tmp, 8)
49389 1575440 : ipack = ipack + 1
49390 1575440 : pack_tmp = packed_data(ipack)
49391 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
49392 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
49393 1575440 : idata = idata + 1
49394 1575440 : data_tmp = ISHFT(pack_tmp, 3)
49395 1575440 : ipack = ipack + 1
49396 1575440 : pack_tmp = packed_data(ipack)
49397 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
49398 1575440 : pack_tmp = ISHFT(pack_tmp, -3)
49399 1575440 : idata = idata + 1
49400 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49401 1575440 : full_data(idata) = data_tmp
49402 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49403 1575440 : idata = idata + 1
49404 1575440 : data_tmp = ISHFT(pack_tmp, 57)
49405 1575440 : ipack = ipack + 1
49406 1575440 : pack_tmp = packed_data(ipack)
49407 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
49408 1575440 : pack_tmp = ISHFT(pack_tmp, -57)
49409 1575440 : idata = idata + 1
49410 1575440 : data_tmp = ISHFT(pack_tmp, 52)
49411 1575440 : ipack = ipack + 1
49412 1575440 : pack_tmp = packed_data(ipack)
49413 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
49414 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
49415 1575440 : idata = idata + 1
49416 1575440 : data_tmp = ISHFT(pack_tmp, 47)
49417 1575440 : ipack = ipack + 1
49418 1575440 : pack_tmp = packed_data(ipack)
49419 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
49420 1575440 : pack_tmp = ISHFT(pack_tmp, -47)
49421 1575440 : idata = idata + 1
49422 1575440 : data_tmp = ISHFT(pack_tmp, 42)
49423 1575440 : ipack = ipack + 1
49424 1575440 : pack_tmp = packed_data(ipack)
49425 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
49426 1575440 : pack_tmp = ISHFT(pack_tmp, -42)
49427 1575440 : idata = idata + 1
49428 1575440 : data_tmp = ISHFT(pack_tmp, 37)
49429 1575440 : ipack = ipack + 1
49430 1575440 : pack_tmp = packed_data(ipack)
49431 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
49432 1575440 : pack_tmp = ISHFT(pack_tmp, -37)
49433 1575440 : idata = idata + 1
49434 1575440 : data_tmp = ISHFT(pack_tmp, 32)
49435 1575440 : ipack = ipack + 1
49436 1575440 : pack_tmp = packed_data(ipack)
49437 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
49438 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
49439 1575440 : idata = idata + 1
49440 1575440 : data_tmp = ISHFT(pack_tmp, 27)
49441 1575440 : ipack = ipack + 1
49442 1575440 : pack_tmp = packed_data(ipack)
49443 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
49444 1575440 : pack_tmp = ISHFT(pack_tmp, -27)
49445 1575440 : idata = idata + 1
49446 1575440 : data_tmp = ISHFT(pack_tmp, 22)
49447 1575440 : ipack = ipack + 1
49448 1575440 : pack_tmp = packed_data(ipack)
49449 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
49450 1575440 : pack_tmp = ISHFT(pack_tmp, -22)
49451 1575440 : idata = idata + 1
49452 1575440 : data_tmp = ISHFT(pack_tmp, 17)
49453 1575440 : ipack = ipack + 1
49454 1575440 : pack_tmp = packed_data(ipack)
49455 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
49456 1575440 : pack_tmp = ISHFT(pack_tmp, -17)
49457 1575440 : idata = idata + 1
49458 1575440 : data_tmp = ISHFT(pack_tmp, 12)
49459 1575440 : ipack = ipack + 1
49460 1575440 : pack_tmp = packed_data(ipack)
49461 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
49462 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
49463 1575440 : idata = idata + 1
49464 1575440 : data_tmp = ISHFT(pack_tmp, 7)
49465 1575440 : ipack = ipack + 1
49466 1575440 : pack_tmp = packed_data(ipack)
49467 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
49468 1575440 : pack_tmp = ISHFT(pack_tmp, -7)
49469 1575440 : idata = idata + 1
49470 1575440 : data_tmp = ISHFT(pack_tmp, 2)
49471 1575440 : ipack = ipack + 1
49472 1575440 : pack_tmp = packed_data(ipack)
49473 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
49474 1575440 : pack_tmp = ISHFT(pack_tmp, -2)
49475 1575440 : idata = idata + 1
49476 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49477 1575440 : full_data(idata) = data_tmp
49478 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49479 1575440 : idata = idata + 1
49480 1575440 : data_tmp = ISHFT(pack_tmp, 56)
49481 1575440 : ipack = ipack + 1
49482 1575440 : pack_tmp = packed_data(ipack)
49483 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
49484 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
49485 1575440 : idata = idata + 1
49486 1575440 : data_tmp = ISHFT(pack_tmp, 51)
49487 1575440 : ipack = ipack + 1
49488 1575440 : pack_tmp = packed_data(ipack)
49489 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
49490 1575440 : pack_tmp = ISHFT(pack_tmp, -51)
49491 1575440 : idata = idata + 1
49492 1575440 : data_tmp = ISHFT(pack_tmp, 46)
49493 1575440 : ipack = ipack + 1
49494 1575440 : pack_tmp = packed_data(ipack)
49495 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
49496 1575440 : pack_tmp = ISHFT(pack_tmp, -46)
49497 1575440 : idata = idata + 1
49498 1575440 : data_tmp = ISHFT(pack_tmp, 41)
49499 1575440 : ipack = ipack + 1
49500 1575440 : pack_tmp = packed_data(ipack)
49501 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
49502 1575440 : pack_tmp = ISHFT(pack_tmp, -41)
49503 1575440 : idata = idata + 1
49504 1575440 : data_tmp = ISHFT(pack_tmp, 36)
49505 1575440 : ipack = ipack + 1
49506 1575440 : pack_tmp = packed_data(ipack)
49507 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
49508 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
49509 1575440 : idata = idata + 1
49510 1575440 : data_tmp = ISHFT(pack_tmp, 31)
49511 1575440 : ipack = ipack + 1
49512 1575440 : pack_tmp = packed_data(ipack)
49513 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
49514 1575440 : pack_tmp = ISHFT(pack_tmp, -31)
49515 1575440 : idata = idata + 1
49516 1575440 : data_tmp = ISHFT(pack_tmp, 26)
49517 1575440 : ipack = ipack + 1
49518 1575440 : pack_tmp = packed_data(ipack)
49519 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
49520 1575440 : pack_tmp = ISHFT(pack_tmp, -26)
49521 1575440 : idata = idata + 1
49522 1575440 : data_tmp = ISHFT(pack_tmp, 21)
49523 1575440 : ipack = ipack + 1
49524 1575440 : pack_tmp = packed_data(ipack)
49525 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
49526 1575440 : pack_tmp = ISHFT(pack_tmp, -21)
49527 1575440 : idata = idata + 1
49528 1575440 : data_tmp = ISHFT(pack_tmp, 16)
49529 1575440 : ipack = ipack + 1
49530 1575440 : pack_tmp = packed_data(ipack)
49531 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
49532 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
49533 1575440 : idata = idata + 1
49534 1575440 : data_tmp = ISHFT(pack_tmp, 11)
49535 1575440 : ipack = ipack + 1
49536 1575440 : pack_tmp = packed_data(ipack)
49537 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
49538 1575440 : pack_tmp = ISHFT(pack_tmp, -11)
49539 1575440 : idata = idata + 1
49540 1575440 : data_tmp = ISHFT(pack_tmp, 6)
49541 1575440 : ipack = ipack + 1
49542 1575440 : pack_tmp = packed_data(ipack)
49543 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
49544 1575440 : pack_tmp = ISHFT(pack_tmp, -6)
49545 1575440 : idata = idata + 1
49546 1575440 : data_tmp = ISHFT(pack_tmp, 1)
49547 1575440 : ipack = ipack + 1
49548 1575440 : pack_tmp = packed_data(ipack)
49549 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
49550 1575440 : pack_tmp = ISHFT(pack_tmp, -1)
49551 1575440 : idata = idata + 1
49552 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49553 1575440 : full_data(idata) = data_tmp
49554 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49555 1575440 : idata = idata + 1
49556 1575440 : data_tmp = ISHFT(pack_tmp, 55)
49557 1575440 : ipack = ipack + 1
49558 1575440 : pack_tmp = packed_data(ipack)
49559 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
49560 1575440 : pack_tmp = ISHFT(pack_tmp, -55)
49561 1575440 : idata = idata + 1
49562 1575440 : data_tmp = ISHFT(pack_tmp, 50)
49563 1575440 : ipack = ipack + 1
49564 1575440 : pack_tmp = packed_data(ipack)
49565 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
49566 1575440 : pack_tmp = ISHFT(pack_tmp, -50)
49567 1575440 : idata = idata + 1
49568 1575440 : data_tmp = ISHFT(pack_tmp, 45)
49569 1575440 : ipack = ipack + 1
49570 1575440 : pack_tmp = packed_data(ipack)
49571 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
49572 1575440 : pack_tmp = ISHFT(pack_tmp, -45)
49573 1575440 : idata = idata + 1
49574 1575440 : data_tmp = ISHFT(pack_tmp, 40)
49575 1575440 : ipack = ipack + 1
49576 1575440 : pack_tmp = packed_data(ipack)
49577 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
49578 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
49579 1575440 : idata = idata + 1
49580 1575440 : data_tmp = ISHFT(pack_tmp, 35)
49581 1575440 : ipack = ipack + 1
49582 1575440 : pack_tmp = packed_data(ipack)
49583 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
49584 1575440 : pack_tmp = ISHFT(pack_tmp, -35)
49585 1575440 : idata = idata + 1
49586 1575440 : data_tmp = ISHFT(pack_tmp, 30)
49587 1575440 : ipack = ipack + 1
49588 1575440 : pack_tmp = packed_data(ipack)
49589 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
49590 1575440 : pack_tmp = ISHFT(pack_tmp, -30)
49591 1575440 : idata = idata + 1
49592 1575440 : data_tmp = ISHFT(pack_tmp, 25)
49593 1575440 : ipack = ipack + 1
49594 1575440 : pack_tmp = packed_data(ipack)
49595 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
49596 1575440 : pack_tmp = ISHFT(pack_tmp, -25)
49597 1575440 : idata = idata + 1
49598 1575440 : data_tmp = ISHFT(pack_tmp, 20)
49599 1575440 : ipack = ipack + 1
49600 1575440 : pack_tmp = packed_data(ipack)
49601 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
49602 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
49603 1575440 : idata = idata + 1
49604 1575440 : data_tmp = ISHFT(pack_tmp, 15)
49605 1575440 : ipack = ipack + 1
49606 1575440 : pack_tmp = packed_data(ipack)
49607 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
49608 1575440 : pack_tmp = ISHFT(pack_tmp, -15)
49609 1575440 : idata = idata + 1
49610 1575440 : data_tmp = ISHFT(pack_tmp, 10)
49611 1575440 : ipack = ipack + 1
49612 1575440 : pack_tmp = packed_data(ipack)
49613 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
49614 1575440 : pack_tmp = ISHFT(pack_tmp, -10)
49615 1575440 : idata = idata + 1
49616 1575440 : data_tmp = ISHFT(pack_tmp, 5)
49617 1575440 : ipack = ipack + 1
49618 1575440 : pack_tmp = packed_data(ipack)
49619 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
49620 1575440 : pack_tmp = ISHFT(pack_tmp, -5)
49621 1575440 : idata = idata + 1
49622 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
49623 1575440 : full_data(idata) = data_tmp
49624 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
49625 : END DO
49626 98465 : IF (Ndata_rep < Ndata) THEN
49627 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
49628 : END IF
49629 98465 : END SUBROUTINE bits2ints_59
49630 :
49631 : ! **************************************************************************************************
49632 : !> \brief ...
49633 : !> \param Ndata ...
49634 : !> \param packed_data ...
49635 : !> \param full_data ...
49636 : ! **************************************************************************************************
49637 24432 : 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(*)
49641 :
49642 : INTEGER, PARAMETER :: Nbits = 60
49643 :
49644 : INTEGER :: idata, ipack, kdata, Ndata_rep
49645 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
49646 :
49647 24432 : idata = 0
49648 24432 : ipack = 0
49649 24432 : Ndata_rep = (Ndata/64)*64
49650 24432 : DO kdata = 1, Ndata_rep, 64
49651 390912 : pack_tmp = 0
49652 390912 : idata = idata + 1
49653 390912 : data_tmp = full_data(idata)
49654 390912 : data_tmp = ISHFT(data_tmp, 4)
49655 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49656 390912 : pack_tmp = ISHFT(pack_tmp, -4)
49657 390912 : idata = idata + 1
49658 390912 : data_tmp = full_data(idata)
49659 390912 : data_tmp = ISHFT(data_tmp, 4)
49660 390912 : data_tmp = IAND(data_tmp, mask_left(4))
49661 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49662 390912 : ipack = ipack + 1
49663 390912 : packed_data(ipack) = pack_tmp
49664 390912 : data_tmp = full_data(idata)
49665 390912 : pack_tmp = ISHFT(data_tmp, 8)
49666 390912 : pack_tmp = ISHFT(pack_tmp, -8)
49667 390912 : idata = idata + 1
49668 390912 : data_tmp = full_data(idata)
49669 390912 : data_tmp = ISHFT(data_tmp, 4)
49670 390912 : data_tmp = IAND(data_tmp, mask_left(8))
49671 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49672 390912 : ipack = ipack + 1
49673 390912 : packed_data(ipack) = pack_tmp
49674 390912 : data_tmp = full_data(idata)
49675 390912 : pack_tmp = ISHFT(data_tmp, 12)
49676 390912 : pack_tmp = ISHFT(pack_tmp, -12)
49677 390912 : idata = idata + 1
49678 390912 : data_tmp = full_data(idata)
49679 390912 : data_tmp = ISHFT(data_tmp, 4)
49680 390912 : data_tmp = IAND(data_tmp, mask_left(12))
49681 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49682 390912 : ipack = ipack + 1
49683 390912 : packed_data(ipack) = pack_tmp
49684 390912 : data_tmp = full_data(idata)
49685 390912 : pack_tmp = ISHFT(data_tmp, 16)
49686 390912 : pack_tmp = ISHFT(pack_tmp, -16)
49687 390912 : idata = idata + 1
49688 390912 : data_tmp = full_data(idata)
49689 390912 : data_tmp = ISHFT(data_tmp, 4)
49690 390912 : data_tmp = IAND(data_tmp, mask_left(16))
49691 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49692 390912 : ipack = ipack + 1
49693 390912 : packed_data(ipack) = pack_tmp
49694 390912 : data_tmp = full_data(idata)
49695 390912 : pack_tmp = ISHFT(data_tmp, 20)
49696 390912 : pack_tmp = ISHFT(pack_tmp, -20)
49697 390912 : idata = idata + 1
49698 390912 : data_tmp = full_data(idata)
49699 390912 : data_tmp = ISHFT(data_tmp, 4)
49700 390912 : data_tmp = IAND(data_tmp, mask_left(20))
49701 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49702 390912 : ipack = ipack + 1
49703 390912 : packed_data(ipack) = pack_tmp
49704 390912 : data_tmp = full_data(idata)
49705 390912 : pack_tmp = ISHFT(data_tmp, 24)
49706 390912 : pack_tmp = ISHFT(pack_tmp, -24)
49707 390912 : idata = idata + 1
49708 390912 : data_tmp = full_data(idata)
49709 390912 : data_tmp = ISHFT(data_tmp, 4)
49710 390912 : data_tmp = IAND(data_tmp, mask_left(24))
49711 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49712 390912 : ipack = ipack + 1
49713 390912 : packed_data(ipack) = pack_tmp
49714 390912 : data_tmp = full_data(idata)
49715 390912 : pack_tmp = ISHFT(data_tmp, 28)
49716 390912 : pack_tmp = ISHFT(pack_tmp, -28)
49717 390912 : idata = idata + 1
49718 390912 : data_tmp = full_data(idata)
49719 390912 : data_tmp = ISHFT(data_tmp, 4)
49720 390912 : data_tmp = IAND(data_tmp, mask_left(28))
49721 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49722 390912 : ipack = ipack + 1
49723 390912 : packed_data(ipack) = pack_tmp
49724 390912 : data_tmp = full_data(idata)
49725 390912 : pack_tmp = ISHFT(data_tmp, 32)
49726 390912 : pack_tmp = ISHFT(pack_tmp, -32)
49727 390912 : idata = idata + 1
49728 390912 : data_tmp = full_data(idata)
49729 390912 : data_tmp = ISHFT(data_tmp, 4)
49730 390912 : data_tmp = IAND(data_tmp, mask_left(32))
49731 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49732 390912 : ipack = ipack + 1
49733 390912 : packed_data(ipack) = pack_tmp
49734 390912 : data_tmp = full_data(idata)
49735 390912 : pack_tmp = ISHFT(data_tmp, 36)
49736 390912 : pack_tmp = ISHFT(pack_tmp, -36)
49737 390912 : idata = idata + 1
49738 390912 : data_tmp = full_data(idata)
49739 390912 : data_tmp = ISHFT(data_tmp, 4)
49740 390912 : data_tmp = IAND(data_tmp, mask_left(36))
49741 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49742 390912 : ipack = ipack + 1
49743 390912 : packed_data(ipack) = pack_tmp
49744 390912 : data_tmp = full_data(idata)
49745 390912 : pack_tmp = ISHFT(data_tmp, 40)
49746 390912 : pack_tmp = ISHFT(pack_tmp, -40)
49747 390912 : idata = idata + 1
49748 390912 : data_tmp = full_data(idata)
49749 390912 : data_tmp = ISHFT(data_tmp, 4)
49750 390912 : data_tmp = IAND(data_tmp, mask_left(40))
49751 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49752 390912 : ipack = ipack + 1
49753 390912 : packed_data(ipack) = pack_tmp
49754 390912 : data_tmp = full_data(idata)
49755 390912 : pack_tmp = ISHFT(data_tmp, 44)
49756 390912 : pack_tmp = ISHFT(pack_tmp, -44)
49757 390912 : idata = idata + 1
49758 390912 : data_tmp = full_data(idata)
49759 390912 : data_tmp = ISHFT(data_tmp, 4)
49760 390912 : data_tmp = IAND(data_tmp, mask_left(44))
49761 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49762 390912 : ipack = ipack + 1
49763 390912 : packed_data(ipack) = pack_tmp
49764 390912 : data_tmp = full_data(idata)
49765 390912 : pack_tmp = ISHFT(data_tmp, 48)
49766 390912 : pack_tmp = ISHFT(pack_tmp, -48)
49767 390912 : idata = idata + 1
49768 390912 : data_tmp = full_data(idata)
49769 390912 : data_tmp = ISHFT(data_tmp, 4)
49770 390912 : data_tmp = IAND(data_tmp, mask_left(48))
49771 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49772 390912 : ipack = ipack + 1
49773 390912 : packed_data(ipack) = pack_tmp
49774 390912 : data_tmp = full_data(idata)
49775 390912 : pack_tmp = ISHFT(data_tmp, 52)
49776 390912 : pack_tmp = ISHFT(pack_tmp, -52)
49777 390912 : idata = idata + 1
49778 390912 : data_tmp = full_data(idata)
49779 390912 : data_tmp = ISHFT(data_tmp, 4)
49780 390912 : data_tmp = IAND(data_tmp, mask_left(52))
49781 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49782 390912 : ipack = ipack + 1
49783 390912 : packed_data(ipack) = pack_tmp
49784 390912 : data_tmp = full_data(idata)
49785 390912 : pack_tmp = ISHFT(data_tmp, 56)
49786 390912 : pack_tmp = ISHFT(pack_tmp, -56)
49787 390912 : idata = idata + 1
49788 390912 : data_tmp = full_data(idata)
49789 390912 : data_tmp = ISHFT(data_tmp, 4)
49790 390912 : data_tmp = IAND(data_tmp, mask_left(56))
49791 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49792 390912 : ipack = ipack + 1
49793 390912 : packed_data(ipack) = pack_tmp
49794 390912 : data_tmp = full_data(idata)
49795 390912 : pack_tmp = ISHFT(data_tmp, 60)
49796 390912 : pack_tmp = ISHFT(pack_tmp, -60)
49797 390912 : idata = idata + 1
49798 390912 : data_tmp = full_data(idata)
49799 390912 : data_tmp = ISHFT(data_tmp, 4)
49800 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49801 390912 : pack_tmp = ISHFT(pack_tmp, 0)
49802 390912 : idata = idata + 1
49803 390912 : data_tmp = full_data(idata)
49804 : data_tmp = ISHFT(data_tmp, 4)
49805 390912 : data_tmp = IAND(data_tmp, mask_left(0))
49806 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49807 390912 : ipack = ipack + 1
49808 390912 : packed_data(ipack) = pack_tmp
49809 390912 : data_tmp = full_data(idata)
49810 390912 : pack_tmp = ISHFT(data_tmp, 4)
49811 390912 : pack_tmp = ISHFT(pack_tmp, -4)
49812 390912 : idata = idata + 1
49813 390912 : data_tmp = full_data(idata)
49814 390912 : data_tmp = ISHFT(data_tmp, 4)
49815 390912 : data_tmp = IAND(data_tmp, mask_left(4))
49816 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49817 390912 : ipack = ipack + 1
49818 390912 : packed_data(ipack) = pack_tmp
49819 390912 : data_tmp = full_data(idata)
49820 390912 : pack_tmp = ISHFT(data_tmp, 8)
49821 390912 : pack_tmp = ISHFT(pack_tmp, -8)
49822 390912 : idata = idata + 1
49823 390912 : data_tmp = full_data(idata)
49824 390912 : data_tmp = ISHFT(data_tmp, 4)
49825 390912 : data_tmp = IAND(data_tmp, mask_left(8))
49826 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49827 390912 : ipack = ipack + 1
49828 390912 : packed_data(ipack) = pack_tmp
49829 390912 : data_tmp = full_data(idata)
49830 390912 : pack_tmp = ISHFT(data_tmp, 12)
49831 390912 : pack_tmp = ISHFT(pack_tmp, -12)
49832 390912 : idata = idata + 1
49833 390912 : data_tmp = full_data(idata)
49834 390912 : data_tmp = ISHFT(data_tmp, 4)
49835 390912 : data_tmp = IAND(data_tmp, mask_left(12))
49836 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49837 390912 : ipack = ipack + 1
49838 390912 : packed_data(ipack) = pack_tmp
49839 390912 : data_tmp = full_data(idata)
49840 390912 : pack_tmp = ISHFT(data_tmp, 16)
49841 390912 : pack_tmp = ISHFT(pack_tmp, -16)
49842 390912 : idata = idata + 1
49843 390912 : data_tmp = full_data(idata)
49844 390912 : data_tmp = ISHFT(data_tmp, 4)
49845 390912 : data_tmp = IAND(data_tmp, mask_left(16))
49846 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49847 390912 : ipack = ipack + 1
49848 390912 : packed_data(ipack) = pack_tmp
49849 390912 : data_tmp = full_data(idata)
49850 390912 : pack_tmp = ISHFT(data_tmp, 20)
49851 390912 : pack_tmp = ISHFT(pack_tmp, -20)
49852 390912 : idata = idata + 1
49853 390912 : data_tmp = full_data(idata)
49854 390912 : data_tmp = ISHFT(data_tmp, 4)
49855 390912 : data_tmp = IAND(data_tmp, mask_left(20))
49856 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49857 390912 : ipack = ipack + 1
49858 390912 : packed_data(ipack) = pack_tmp
49859 390912 : data_tmp = full_data(idata)
49860 390912 : pack_tmp = ISHFT(data_tmp, 24)
49861 390912 : pack_tmp = ISHFT(pack_tmp, -24)
49862 390912 : idata = idata + 1
49863 390912 : data_tmp = full_data(idata)
49864 390912 : data_tmp = ISHFT(data_tmp, 4)
49865 390912 : data_tmp = IAND(data_tmp, mask_left(24))
49866 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49867 390912 : ipack = ipack + 1
49868 390912 : packed_data(ipack) = pack_tmp
49869 390912 : data_tmp = full_data(idata)
49870 390912 : pack_tmp = ISHFT(data_tmp, 28)
49871 390912 : pack_tmp = ISHFT(pack_tmp, -28)
49872 390912 : idata = idata + 1
49873 390912 : data_tmp = full_data(idata)
49874 390912 : data_tmp = ISHFT(data_tmp, 4)
49875 390912 : data_tmp = IAND(data_tmp, mask_left(28))
49876 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49877 390912 : ipack = ipack + 1
49878 390912 : packed_data(ipack) = pack_tmp
49879 390912 : data_tmp = full_data(idata)
49880 390912 : pack_tmp = ISHFT(data_tmp, 32)
49881 390912 : pack_tmp = ISHFT(pack_tmp, -32)
49882 390912 : idata = idata + 1
49883 390912 : data_tmp = full_data(idata)
49884 390912 : data_tmp = ISHFT(data_tmp, 4)
49885 390912 : data_tmp = IAND(data_tmp, mask_left(32))
49886 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49887 390912 : ipack = ipack + 1
49888 390912 : packed_data(ipack) = pack_tmp
49889 390912 : data_tmp = full_data(idata)
49890 390912 : pack_tmp = ISHFT(data_tmp, 36)
49891 390912 : pack_tmp = ISHFT(pack_tmp, -36)
49892 390912 : idata = idata + 1
49893 390912 : data_tmp = full_data(idata)
49894 390912 : data_tmp = ISHFT(data_tmp, 4)
49895 390912 : data_tmp = IAND(data_tmp, mask_left(36))
49896 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49897 390912 : ipack = ipack + 1
49898 390912 : packed_data(ipack) = pack_tmp
49899 390912 : data_tmp = full_data(idata)
49900 390912 : pack_tmp = ISHFT(data_tmp, 40)
49901 390912 : pack_tmp = ISHFT(pack_tmp, -40)
49902 390912 : idata = idata + 1
49903 390912 : data_tmp = full_data(idata)
49904 390912 : data_tmp = ISHFT(data_tmp, 4)
49905 390912 : data_tmp = IAND(data_tmp, mask_left(40))
49906 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49907 390912 : ipack = ipack + 1
49908 390912 : packed_data(ipack) = pack_tmp
49909 390912 : data_tmp = full_data(idata)
49910 390912 : pack_tmp = ISHFT(data_tmp, 44)
49911 390912 : pack_tmp = ISHFT(pack_tmp, -44)
49912 390912 : idata = idata + 1
49913 390912 : data_tmp = full_data(idata)
49914 390912 : data_tmp = ISHFT(data_tmp, 4)
49915 390912 : data_tmp = IAND(data_tmp, mask_left(44))
49916 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49917 390912 : ipack = ipack + 1
49918 390912 : packed_data(ipack) = pack_tmp
49919 390912 : data_tmp = full_data(idata)
49920 390912 : pack_tmp = ISHFT(data_tmp, 48)
49921 390912 : pack_tmp = ISHFT(pack_tmp, -48)
49922 390912 : idata = idata + 1
49923 390912 : data_tmp = full_data(idata)
49924 390912 : data_tmp = ISHFT(data_tmp, 4)
49925 390912 : data_tmp = IAND(data_tmp, mask_left(48))
49926 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49927 390912 : ipack = ipack + 1
49928 390912 : packed_data(ipack) = pack_tmp
49929 390912 : data_tmp = full_data(idata)
49930 390912 : pack_tmp = ISHFT(data_tmp, 52)
49931 390912 : pack_tmp = ISHFT(pack_tmp, -52)
49932 390912 : idata = idata + 1
49933 390912 : data_tmp = full_data(idata)
49934 390912 : data_tmp = ISHFT(data_tmp, 4)
49935 390912 : data_tmp = IAND(data_tmp, mask_left(52))
49936 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49937 390912 : ipack = ipack + 1
49938 390912 : packed_data(ipack) = pack_tmp
49939 390912 : data_tmp = full_data(idata)
49940 390912 : pack_tmp = ISHFT(data_tmp, 56)
49941 390912 : pack_tmp = ISHFT(pack_tmp, -56)
49942 390912 : idata = idata + 1
49943 390912 : data_tmp = full_data(idata)
49944 390912 : data_tmp = ISHFT(data_tmp, 4)
49945 390912 : data_tmp = IAND(data_tmp, mask_left(56))
49946 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49947 390912 : ipack = ipack + 1
49948 390912 : packed_data(ipack) = pack_tmp
49949 390912 : data_tmp = full_data(idata)
49950 390912 : pack_tmp = ISHFT(data_tmp, 60)
49951 390912 : pack_tmp = ISHFT(pack_tmp, -60)
49952 390912 : idata = idata + 1
49953 390912 : data_tmp = full_data(idata)
49954 390912 : data_tmp = ISHFT(data_tmp, 4)
49955 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49956 390912 : pack_tmp = ISHFT(pack_tmp, 0)
49957 390912 : idata = idata + 1
49958 390912 : data_tmp = full_data(idata)
49959 : data_tmp = ISHFT(data_tmp, 4)
49960 390912 : data_tmp = IAND(data_tmp, mask_left(0))
49961 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49962 390912 : ipack = ipack + 1
49963 390912 : packed_data(ipack) = pack_tmp
49964 390912 : data_tmp = full_data(idata)
49965 390912 : pack_tmp = ISHFT(data_tmp, 4)
49966 390912 : pack_tmp = ISHFT(pack_tmp, -4)
49967 390912 : idata = idata + 1
49968 390912 : data_tmp = full_data(idata)
49969 390912 : data_tmp = ISHFT(data_tmp, 4)
49970 390912 : data_tmp = IAND(data_tmp, mask_left(4))
49971 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49972 390912 : ipack = ipack + 1
49973 390912 : packed_data(ipack) = pack_tmp
49974 390912 : data_tmp = full_data(idata)
49975 390912 : pack_tmp = ISHFT(data_tmp, 8)
49976 390912 : pack_tmp = ISHFT(pack_tmp, -8)
49977 390912 : idata = idata + 1
49978 390912 : data_tmp = full_data(idata)
49979 390912 : data_tmp = ISHFT(data_tmp, 4)
49980 390912 : data_tmp = IAND(data_tmp, mask_left(8))
49981 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49982 390912 : ipack = ipack + 1
49983 390912 : packed_data(ipack) = pack_tmp
49984 390912 : data_tmp = full_data(idata)
49985 390912 : pack_tmp = ISHFT(data_tmp, 12)
49986 390912 : pack_tmp = ISHFT(pack_tmp, -12)
49987 390912 : idata = idata + 1
49988 390912 : data_tmp = full_data(idata)
49989 390912 : data_tmp = ISHFT(data_tmp, 4)
49990 390912 : data_tmp = IAND(data_tmp, mask_left(12))
49991 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
49992 390912 : ipack = ipack + 1
49993 390912 : packed_data(ipack) = pack_tmp
49994 390912 : data_tmp = full_data(idata)
49995 390912 : pack_tmp = ISHFT(data_tmp, 16)
49996 390912 : pack_tmp = ISHFT(pack_tmp, -16)
49997 390912 : idata = idata + 1
49998 390912 : data_tmp = full_data(idata)
49999 390912 : data_tmp = ISHFT(data_tmp, 4)
50000 390912 : data_tmp = IAND(data_tmp, mask_left(16))
50001 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50002 390912 : ipack = ipack + 1
50003 390912 : packed_data(ipack) = pack_tmp
50004 390912 : data_tmp = full_data(idata)
50005 390912 : pack_tmp = ISHFT(data_tmp, 20)
50006 390912 : pack_tmp = ISHFT(pack_tmp, -20)
50007 390912 : idata = idata + 1
50008 390912 : data_tmp = full_data(idata)
50009 390912 : data_tmp = ISHFT(data_tmp, 4)
50010 390912 : data_tmp = IAND(data_tmp, mask_left(20))
50011 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50012 390912 : ipack = ipack + 1
50013 390912 : packed_data(ipack) = pack_tmp
50014 390912 : data_tmp = full_data(idata)
50015 390912 : pack_tmp = ISHFT(data_tmp, 24)
50016 390912 : pack_tmp = ISHFT(pack_tmp, -24)
50017 390912 : idata = idata + 1
50018 390912 : data_tmp = full_data(idata)
50019 390912 : data_tmp = ISHFT(data_tmp, 4)
50020 390912 : data_tmp = IAND(data_tmp, mask_left(24))
50021 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50022 390912 : ipack = ipack + 1
50023 390912 : packed_data(ipack) = pack_tmp
50024 390912 : data_tmp = full_data(idata)
50025 390912 : pack_tmp = ISHFT(data_tmp, 28)
50026 390912 : pack_tmp = ISHFT(pack_tmp, -28)
50027 390912 : idata = idata + 1
50028 390912 : data_tmp = full_data(idata)
50029 390912 : data_tmp = ISHFT(data_tmp, 4)
50030 390912 : data_tmp = IAND(data_tmp, mask_left(28))
50031 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50032 390912 : ipack = ipack + 1
50033 390912 : packed_data(ipack) = pack_tmp
50034 390912 : data_tmp = full_data(idata)
50035 390912 : pack_tmp = ISHFT(data_tmp, 32)
50036 390912 : pack_tmp = ISHFT(pack_tmp, -32)
50037 390912 : idata = idata + 1
50038 390912 : data_tmp = full_data(idata)
50039 390912 : data_tmp = ISHFT(data_tmp, 4)
50040 390912 : data_tmp = IAND(data_tmp, mask_left(32))
50041 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50042 390912 : ipack = ipack + 1
50043 390912 : packed_data(ipack) = pack_tmp
50044 390912 : data_tmp = full_data(idata)
50045 390912 : pack_tmp = ISHFT(data_tmp, 36)
50046 390912 : pack_tmp = ISHFT(pack_tmp, -36)
50047 390912 : idata = idata + 1
50048 390912 : data_tmp = full_data(idata)
50049 390912 : data_tmp = ISHFT(data_tmp, 4)
50050 390912 : data_tmp = IAND(data_tmp, mask_left(36))
50051 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50052 390912 : ipack = ipack + 1
50053 390912 : packed_data(ipack) = pack_tmp
50054 390912 : data_tmp = full_data(idata)
50055 390912 : pack_tmp = ISHFT(data_tmp, 40)
50056 390912 : pack_tmp = ISHFT(pack_tmp, -40)
50057 390912 : idata = idata + 1
50058 390912 : data_tmp = full_data(idata)
50059 390912 : data_tmp = ISHFT(data_tmp, 4)
50060 390912 : data_tmp = IAND(data_tmp, mask_left(40))
50061 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50062 390912 : ipack = ipack + 1
50063 390912 : packed_data(ipack) = pack_tmp
50064 390912 : data_tmp = full_data(idata)
50065 390912 : pack_tmp = ISHFT(data_tmp, 44)
50066 390912 : pack_tmp = ISHFT(pack_tmp, -44)
50067 390912 : idata = idata + 1
50068 390912 : data_tmp = full_data(idata)
50069 390912 : data_tmp = ISHFT(data_tmp, 4)
50070 390912 : data_tmp = IAND(data_tmp, mask_left(44))
50071 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50072 390912 : ipack = ipack + 1
50073 390912 : packed_data(ipack) = pack_tmp
50074 390912 : data_tmp = full_data(idata)
50075 390912 : pack_tmp = ISHFT(data_tmp, 48)
50076 390912 : pack_tmp = ISHFT(pack_tmp, -48)
50077 390912 : idata = idata + 1
50078 390912 : data_tmp = full_data(idata)
50079 390912 : data_tmp = ISHFT(data_tmp, 4)
50080 390912 : data_tmp = IAND(data_tmp, mask_left(48))
50081 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50082 390912 : ipack = ipack + 1
50083 390912 : packed_data(ipack) = pack_tmp
50084 390912 : data_tmp = full_data(idata)
50085 390912 : pack_tmp = ISHFT(data_tmp, 52)
50086 390912 : pack_tmp = ISHFT(pack_tmp, -52)
50087 390912 : idata = idata + 1
50088 390912 : data_tmp = full_data(idata)
50089 390912 : data_tmp = ISHFT(data_tmp, 4)
50090 390912 : data_tmp = IAND(data_tmp, mask_left(52))
50091 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50092 390912 : ipack = ipack + 1
50093 390912 : packed_data(ipack) = pack_tmp
50094 390912 : data_tmp = full_data(idata)
50095 390912 : pack_tmp = ISHFT(data_tmp, 56)
50096 390912 : pack_tmp = ISHFT(pack_tmp, -56)
50097 390912 : idata = idata + 1
50098 390912 : data_tmp = full_data(idata)
50099 390912 : data_tmp = ISHFT(data_tmp, 4)
50100 390912 : data_tmp = IAND(data_tmp, mask_left(56))
50101 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50102 390912 : ipack = ipack + 1
50103 390912 : packed_data(ipack) = pack_tmp
50104 390912 : data_tmp = full_data(idata)
50105 390912 : pack_tmp = ISHFT(data_tmp, 60)
50106 390912 : pack_tmp = ISHFT(pack_tmp, -60)
50107 390912 : idata = idata + 1
50108 390912 : data_tmp = full_data(idata)
50109 390912 : data_tmp = ISHFT(data_tmp, 4)
50110 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50111 390912 : pack_tmp = ISHFT(pack_tmp, 0)
50112 390912 : idata = idata + 1
50113 390912 : data_tmp = full_data(idata)
50114 : data_tmp = ISHFT(data_tmp, 4)
50115 390912 : data_tmp = IAND(data_tmp, mask_left(0))
50116 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50117 390912 : ipack = ipack + 1
50118 390912 : packed_data(ipack) = pack_tmp
50119 390912 : data_tmp = full_data(idata)
50120 390912 : pack_tmp = ISHFT(data_tmp, 4)
50121 390912 : pack_tmp = ISHFT(pack_tmp, -4)
50122 390912 : idata = idata + 1
50123 390912 : data_tmp = full_data(idata)
50124 390912 : data_tmp = ISHFT(data_tmp, 4)
50125 390912 : data_tmp = IAND(data_tmp, mask_left(4))
50126 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50127 390912 : ipack = ipack + 1
50128 390912 : packed_data(ipack) = pack_tmp
50129 390912 : data_tmp = full_data(idata)
50130 390912 : pack_tmp = ISHFT(data_tmp, 8)
50131 390912 : pack_tmp = ISHFT(pack_tmp, -8)
50132 390912 : idata = idata + 1
50133 390912 : data_tmp = full_data(idata)
50134 390912 : data_tmp = ISHFT(data_tmp, 4)
50135 390912 : data_tmp = IAND(data_tmp, mask_left(8))
50136 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50137 390912 : ipack = ipack + 1
50138 390912 : packed_data(ipack) = pack_tmp
50139 390912 : data_tmp = full_data(idata)
50140 390912 : pack_tmp = ISHFT(data_tmp, 12)
50141 390912 : pack_tmp = ISHFT(pack_tmp, -12)
50142 390912 : idata = idata + 1
50143 390912 : data_tmp = full_data(idata)
50144 390912 : data_tmp = ISHFT(data_tmp, 4)
50145 390912 : data_tmp = IAND(data_tmp, mask_left(12))
50146 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50147 390912 : ipack = ipack + 1
50148 390912 : packed_data(ipack) = pack_tmp
50149 390912 : data_tmp = full_data(idata)
50150 390912 : pack_tmp = ISHFT(data_tmp, 16)
50151 390912 : pack_tmp = ISHFT(pack_tmp, -16)
50152 390912 : idata = idata + 1
50153 390912 : data_tmp = full_data(idata)
50154 390912 : data_tmp = ISHFT(data_tmp, 4)
50155 390912 : data_tmp = IAND(data_tmp, mask_left(16))
50156 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50157 390912 : ipack = ipack + 1
50158 390912 : packed_data(ipack) = pack_tmp
50159 390912 : data_tmp = full_data(idata)
50160 390912 : pack_tmp = ISHFT(data_tmp, 20)
50161 390912 : pack_tmp = ISHFT(pack_tmp, -20)
50162 390912 : idata = idata + 1
50163 390912 : data_tmp = full_data(idata)
50164 390912 : data_tmp = ISHFT(data_tmp, 4)
50165 390912 : data_tmp = IAND(data_tmp, mask_left(20))
50166 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50167 390912 : ipack = ipack + 1
50168 390912 : packed_data(ipack) = pack_tmp
50169 390912 : data_tmp = full_data(idata)
50170 390912 : pack_tmp = ISHFT(data_tmp, 24)
50171 390912 : pack_tmp = ISHFT(pack_tmp, -24)
50172 390912 : idata = idata + 1
50173 390912 : data_tmp = full_data(idata)
50174 390912 : data_tmp = ISHFT(data_tmp, 4)
50175 390912 : data_tmp = IAND(data_tmp, mask_left(24))
50176 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50177 390912 : ipack = ipack + 1
50178 390912 : packed_data(ipack) = pack_tmp
50179 390912 : data_tmp = full_data(idata)
50180 390912 : pack_tmp = ISHFT(data_tmp, 28)
50181 390912 : pack_tmp = ISHFT(pack_tmp, -28)
50182 390912 : idata = idata + 1
50183 390912 : data_tmp = full_data(idata)
50184 390912 : data_tmp = ISHFT(data_tmp, 4)
50185 390912 : data_tmp = IAND(data_tmp, mask_left(28))
50186 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50187 390912 : ipack = ipack + 1
50188 390912 : packed_data(ipack) = pack_tmp
50189 390912 : data_tmp = full_data(idata)
50190 390912 : pack_tmp = ISHFT(data_tmp, 32)
50191 390912 : pack_tmp = ISHFT(pack_tmp, -32)
50192 390912 : idata = idata + 1
50193 390912 : data_tmp = full_data(idata)
50194 390912 : data_tmp = ISHFT(data_tmp, 4)
50195 390912 : data_tmp = IAND(data_tmp, mask_left(32))
50196 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50197 390912 : ipack = ipack + 1
50198 390912 : packed_data(ipack) = pack_tmp
50199 390912 : data_tmp = full_data(idata)
50200 390912 : pack_tmp = ISHFT(data_tmp, 36)
50201 390912 : pack_tmp = ISHFT(pack_tmp, -36)
50202 390912 : idata = idata + 1
50203 390912 : data_tmp = full_data(idata)
50204 390912 : data_tmp = ISHFT(data_tmp, 4)
50205 390912 : data_tmp = IAND(data_tmp, mask_left(36))
50206 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50207 390912 : ipack = ipack + 1
50208 390912 : packed_data(ipack) = pack_tmp
50209 390912 : data_tmp = full_data(idata)
50210 390912 : pack_tmp = ISHFT(data_tmp, 40)
50211 390912 : pack_tmp = ISHFT(pack_tmp, -40)
50212 390912 : idata = idata + 1
50213 390912 : data_tmp = full_data(idata)
50214 390912 : data_tmp = ISHFT(data_tmp, 4)
50215 390912 : data_tmp = IAND(data_tmp, mask_left(40))
50216 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50217 390912 : ipack = ipack + 1
50218 390912 : packed_data(ipack) = pack_tmp
50219 390912 : data_tmp = full_data(idata)
50220 390912 : pack_tmp = ISHFT(data_tmp, 44)
50221 390912 : pack_tmp = ISHFT(pack_tmp, -44)
50222 390912 : idata = idata + 1
50223 390912 : data_tmp = full_data(idata)
50224 390912 : data_tmp = ISHFT(data_tmp, 4)
50225 390912 : data_tmp = IAND(data_tmp, mask_left(44))
50226 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50227 390912 : ipack = ipack + 1
50228 390912 : packed_data(ipack) = pack_tmp
50229 390912 : data_tmp = full_data(idata)
50230 390912 : pack_tmp = ISHFT(data_tmp, 48)
50231 390912 : pack_tmp = ISHFT(pack_tmp, -48)
50232 390912 : idata = idata + 1
50233 390912 : data_tmp = full_data(idata)
50234 390912 : data_tmp = ISHFT(data_tmp, 4)
50235 390912 : data_tmp = IAND(data_tmp, mask_left(48))
50236 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50237 390912 : ipack = ipack + 1
50238 390912 : packed_data(ipack) = pack_tmp
50239 390912 : data_tmp = full_data(idata)
50240 390912 : pack_tmp = ISHFT(data_tmp, 52)
50241 390912 : pack_tmp = ISHFT(pack_tmp, -52)
50242 390912 : idata = idata + 1
50243 390912 : data_tmp = full_data(idata)
50244 390912 : data_tmp = ISHFT(data_tmp, 4)
50245 390912 : data_tmp = IAND(data_tmp, mask_left(52))
50246 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50247 390912 : ipack = ipack + 1
50248 390912 : packed_data(ipack) = pack_tmp
50249 390912 : data_tmp = full_data(idata)
50250 390912 : pack_tmp = ISHFT(data_tmp, 56)
50251 390912 : pack_tmp = ISHFT(pack_tmp, -56)
50252 390912 : idata = idata + 1
50253 390912 : data_tmp = full_data(idata)
50254 390912 : data_tmp = ISHFT(data_tmp, 4)
50255 390912 : data_tmp = IAND(data_tmp, mask_left(56))
50256 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50257 390912 : ipack = ipack + 1
50258 390912 : packed_data(ipack) = pack_tmp
50259 390912 : data_tmp = full_data(idata)
50260 390912 : pack_tmp = ISHFT(data_tmp, 60)
50261 390912 : pack_tmp = ISHFT(pack_tmp, -60)
50262 390912 : idata = idata + 1
50263 390912 : data_tmp = full_data(idata)
50264 390912 : data_tmp = ISHFT(data_tmp, 4)
50265 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50266 : pack_tmp = ISHFT(pack_tmp, 0)
50267 390912 : pack_tmp = ISHFT(pack_tmp, 0)
50268 390912 : ipack = ipack + 1
50269 390912 : packed_data(ipack) = pack_tmp
50270 : END DO
50271 24432 : IF (Ndata_rep < Ndata) THEN
50272 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
50273 : END IF
50274 24432 : END SUBROUTINE ints2bits_60
50275 :
50276 : ! **************************************************************************************************
50277 : !> \brief ...
50278 : !> \param Ndata ...
50279 : !> \param packed_data ...
50280 : !> \param full_data ...
50281 : ! **************************************************************************************************
50282 98465 : 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(*)
50286 :
50287 : INTEGER, PARAMETER :: Nbits = 60
50288 :
50289 : INTEGER :: idata, ipack, kdata, Ndata_rep
50290 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
50291 :
50292 98465 : ipack = 0
50293 98465 : idata = 0
50294 98465 : pack_tmp = 0
50295 98465 : Ndata_rep = (Ndata/64)*64
50296 98465 : DO kdata = 1, Ndata_rep, 64
50297 1575440 : idata = idata + 1
50298 1575440 : data_tmp = ISHFT(pack_tmp, 60)
50299 1575440 : ipack = ipack + 1
50300 1575440 : pack_tmp = packed_data(ipack)
50301 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50302 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
50303 1575440 : idata = idata + 1
50304 1575440 : data_tmp = ISHFT(pack_tmp, 56)
50305 1575440 : ipack = ipack + 1
50306 1575440 : pack_tmp = packed_data(ipack)
50307 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50308 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
50309 1575440 : idata = idata + 1
50310 1575440 : data_tmp = ISHFT(pack_tmp, 52)
50311 1575440 : ipack = ipack + 1
50312 1575440 : pack_tmp = packed_data(ipack)
50313 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50314 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
50315 1575440 : idata = idata + 1
50316 1575440 : data_tmp = ISHFT(pack_tmp, 48)
50317 1575440 : ipack = ipack + 1
50318 1575440 : pack_tmp = packed_data(ipack)
50319 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50320 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
50321 1575440 : idata = idata + 1
50322 1575440 : data_tmp = ISHFT(pack_tmp, 44)
50323 1575440 : ipack = ipack + 1
50324 1575440 : pack_tmp = packed_data(ipack)
50325 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50326 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
50327 1575440 : idata = idata + 1
50328 1575440 : data_tmp = ISHFT(pack_tmp, 40)
50329 1575440 : ipack = ipack + 1
50330 1575440 : pack_tmp = packed_data(ipack)
50331 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50332 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
50333 1575440 : idata = idata + 1
50334 1575440 : data_tmp = ISHFT(pack_tmp, 36)
50335 1575440 : ipack = ipack + 1
50336 1575440 : pack_tmp = packed_data(ipack)
50337 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50338 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
50339 1575440 : idata = idata + 1
50340 1575440 : data_tmp = ISHFT(pack_tmp, 32)
50341 1575440 : ipack = ipack + 1
50342 1575440 : pack_tmp = packed_data(ipack)
50343 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50344 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
50345 1575440 : idata = idata + 1
50346 1575440 : data_tmp = ISHFT(pack_tmp, 28)
50347 1575440 : ipack = ipack + 1
50348 1575440 : pack_tmp = packed_data(ipack)
50349 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50350 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
50351 1575440 : idata = idata + 1
50352 1575440 : data_tmp = ISHFT(pack_tmp, 24)
50353 1575440 : ipack = ipack + 1
50354 1575440 : pack_tmp = packed_data(ipack)
50355 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50356 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
50357 1575440 : idata = idata + 1
50358 1575440 : data_tmp = ISHFT(pack_tmp, 20)
50359 1575440 : ipack = ipack + 1
50360 1575440 : pack_tmp = packed_data(ipack)
50361 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50362 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
50363 1575440 : idata = idata + 1
50364 1575440 : data_tmp = ISHFT(pack_tmp, 16)
50365 1575440 : ipack = ipack + 1
50366 1575440 : pack_tmp = packed_data(ipack)
50367 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50368 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
50369 1575440 : idata = idata + 1
50370 1575440 : data_tmp = ISHFT(pack_tmp, 12)
50371 1575440 : ipack = ipack + 1
50372 1575440 : pack_tmp = packed_data(ipack)
50373 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50374 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
50375 1575440 : idata = idata + 1
50376 1575440 : data_tmp = ISHFT(pack_tmp, 8)
50377 1575440 : ipack = ipack + 1
50378 1575440 : pack_tmp = packed_data(ipack)
50379 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50380 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
50381 1575440 : idata = idata + 1
50382 1575440 : data_tmp = ISHFT(pack_tmp, 4)
50383 1575440 : ipack = ipack + 1
50384 1575440 : pack_tmp = packed_data(ipack)
50385 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50386 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
50387 1575440 : idata = idata + 1
50388 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50389 1575440 : full_data(idata) = data_tmp
50390 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50391 1575440 : idata = idata + 1
50392 1575440 : data_tmp = ISHFT(pack_tmp, 60)
50393 1575440 : ipack = ipack + 1
50394 1575440 : pack_tmp = packed_data(ipack)
50395 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50396 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
50397 1575440 : idata = idata + 1
50398 1575440 : data_tmp = ISHFT(pack_tmp, 56)
50399 1575440 : ipack = ipack + 1
50400 1575440 : pack_tmp = packed_data(ipack)
50401 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50402 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
50403 1575440 : idata = idata + 1
50404 1575440 : data_tmp = ISHFT(pack_tmp, 52)
50405 1575440 : ipack = ipack + 1
50406 1575440 : pack_tmp = packed_data(ipack)
50407 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50408 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
50409 1575440 : idata = idata + 1
50410 1575440 : data_tmp = ISHFT(pack_tmp, 48)
50411 1575440 : ipack = ipack + 1
50412 1575440 : pack_tmp = packed_data(ipack)
50413 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50414 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
50415 1575440 : idata = idata + 1
50416 1575440 : data_tmp = ISHFT(pack_tmp, 44)
50417 1575440 : ipack = ipack + 1
50418 1575440 : pack_tmp = packed_data(ipack)
50419 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50420 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
50421 1575440 : idata = idata + 1
50422 1575440 : data_tmp = ISHFT(pack_tmp, 40)
50423 1575440 : ipack = ipack + 1
50424 1575440 : pack_tmp = packed_data(ipack)
50425 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50426 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
50427 1575440 : idata = idata + 1
50428 1575440 : data_tmp = ISHFT(pack_tmp, 36)
50429 1575440 : ipack = ipack + 1
50430 1575440 : pack_tmp = packed_data(ipack)
50431 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50432 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
50433 1575440 : idata = idata + 1
50434 1575440 : data_tmp = ISHFT(pack_tmp, 32)
50435 1575440 : ipack = ipack + 1
50436 1575440 : pack_tmp = packed_data(ipack)
50437 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50438 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
50439 1575440 : idata = idata + 1
50440 1575440 : data_tmp = ISHFT(pack_tmp, 28)
50441 1575440 : ipack = ipack + 1
50442 1575440 : pack_tmp = packed_data(ipack)
50443 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50444 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
50445 1575440 : idata = idata + 1
50446 1575440 : data_tmp = ISHFT(pack_tmp, 24)
50447 1575440 : ipack = ipack + 1
50448 1575440 : pack_tmp = packed_data(ipack)
50449 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50450 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
50451 1575440 : idata = idata + 1
50452 1575440 : data_tmp = ISHFT(pack_tmp, 20)
50453 1575440 : ipack = ipack + 1
50454 1575440 : pack_tmp = packed_data(ipack)
50455 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50456 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
50457 1575440 : idata = idata + 1
50458 1575440 : data_tmp = ISHFT(pack_tmp, 16)
50459 1575440 : ipack = ipack + 1
50460 1575440 : pack_tmp = packed_data(ipack)
50461 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50462 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
50463 1575440 : idata = idata + 1
50464 1575440 : data_tmp = ISHFT(pack_tmp, 12)
50465 1575440 : ipack = ipack + 1
50466 1575440 : pack_tmp = packed_data(ipack)
50467 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50468 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
50469 1575440 : idata = idata + 1
50470 1575440 : data_tmp = ISHFT(pack_tmp, 8)
50471 1575440 : ipack = ipack + 1
50472 1575440 : pack_tmp = packed_data(ipack)
50473 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50474 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
50475 1575440 : idata = idata + 1
50476 1575440 : data_tmp = ISHFT(pack_tmp, 4)
50477 1575440 : ipack = ipack + 1
50478 1575440 : pack_tmp = packed_data(ipack)
50479 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50480 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
50481 1575440 : idata = idata + 1
50482 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50483 1575440 : full_data(idata) = data_tmp
50484 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50485 1575440 : idata = idata + 1
50486 1575440 : data_tmp = ISHFT(pack_tmp, 60)
50487 1575440 : ipack = ipack + 1
50488 1575440 : pack_tmp = packed_data(ipack)
50489 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50490 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
50491 1575440 : idata = idata + 1
50492 1575440 : data_tmp = ISHFT(pack_tmp, 56)
50493 1575440 : ipack = ipack + 1
50494 1575440 : pack_tmp = packed_data(ipack)
50495 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50496 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
50497 1575440 : idata = idata + 1
50498 1575440 : data_tmp = ISHFT(pack_tmp, 52)
50499 1575440 : ipack = ipack + 1
50500 1575440 : pack_tmp = packed_data(ipack)
50501 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50502 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
50503 1575440 : idata = idata + 1
50504 1575440 : data_tmp = ISHFT(pack_tmp, 48)
50505 1575440 : ipack = ipack + 1
50506 1575440 : pack_tmp = packed_data(ipack)
50507 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50508 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
50509 1575440 : idata = idata + 1
50510 1575440 : data_tmp = ISHFT(pack_tmp, 44)
50511 1575440 : ipack = ipack + 1
50512 1575440 : pack_tmp = packed_data(ipack)
50513 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50514 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
50515 1575440 : idata = idata + 1
50516 1575440 : data_tmp = ISHFT(pack_tmp, 40)
50517 1575440 : ipack = ipack + 1
50518 1575440 : pack_tmp = packed_data(ipack)
50519 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50520 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
50521 1575440 : idata = idata + 1
50522 1575440 : data_tmp = ISHFT(pack_tmp, 36)
50523 1575440 : ipack = ipack + 1
50524 1575440 : pack_tmp = packed_data(ipack)
50525 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50526 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
50527 1575440 : idata = idata + 1
50528 1575440 : data_tmp = ISHFT(pack_tmp, 32)
50529 1575440 : ipack = ipack + 1
50530 1575440 : pack_tmp = packed_data(ipack)
50531 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50532 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
50533 1575440 : idata = idata + 1
50534 1575440 : data_tmp = ISHFT(pack_tmp, 28)
50535 1575440 : ipack = ipack + 1
50536 1575440 : pack_tmp = packed_data(ipack)
50537 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50538 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
50539 1575440 : idata = idata + 1
50540 1575440 : data_tmp = ISHFT(pack_tmp, 24)
50541 1575440 : ipack = ipack + 1
50542 1575440 : pack_tmp = packed_data(ipack)
50543 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50544 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
50545 1575440 : idata = idata + 1
50546 1575440 : data_tmp = ISHFT(pack_tmp, 20)
50547 1575440 : ipack = ipack + 1
50548 1575440 : pack_tmp = packed_data(ipack)
50549 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50550 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
50551 1575440 : idata = idata + 1
50552 1575440 : data_tmp = ISHFT(pack_tmp, 16)
50553 1575440 : ipack = ipack + 1
50554 1575440 : pack_tmp = packed_data(ipack)
50555 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50556 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
50557 1575440 : idata = idata + 1
50558 1575440 : data_tmp = ISHFT(pack_tmp, 12)
50559 1575440 : ipack = ipack + 1
50560 1575440 : pack_tmp = packed_data(ipack)
50561 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50562 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
50563 1575440 : idata = idata + 1
50564 1575440 : data_tmp = ISHFT(pack_tmp, 8)
50565 1575440 : ipack = ipack + 1
50566 1575440 : pack_tmp = packed_data(ipack)
50567 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50568 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
50569 1575440 : idata = idata + 1
50570 1575440 : data_tmp = ISHFT(pack_tmp, 4)
50571 1575440 : ipack = ipack + 1
50572 1575440 : pack_tmp = packed_data(ipack)
50573 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50574 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
50575 1575440 : idata = idata + 1
50576 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50577 1575440 : full_data(idata) = data_tmp
50578 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50579 1575440 : idata = idata + 1
50580 1575440 : data_tmp = ISHFT(pack_tmp, 60)
50581 1575440 : ipack = ipack + 1
50582 1575440 : pack_tmp = packed_data(ipack)
50583 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
50584 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
50585 1575440 : idata = idata + 1
50586 1575440 : data_tmp = ISHFT(pack_tmp, 56)
50587 1575440 : ipack = ipack + 1
50588 1575440 : pack_tmp = packed_data(ipack)
50589 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
50590 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
50591 1575440 : idata = idata + 1
50592 1575440 : data_tmp = ISHFT(pack_tmp, 52)
50593 1575440 : ipack = ipack + 1
50594 1575440 : pack_tmp = packed_data(ipack)
50595 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
50596 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
50597 1575440 : idata = idata + 1
50598 1575440 : data_tmp = ISHFT(pack_tmp, 48)
50599 1575440 : ipack = ipack + 1
50600 1575440 : pack_tmp = packed_data(ipack)
50601 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
50602 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
50603 1575440 : idata = idata + 1
50604 1575440 : data_tmp = ISHFT(pack_tmp, 44)
50605 1575440 : ipack = ipack + 1
50606 1575440 : pack_tmp = packed_data(ipack)
50607 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
50608 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
50609 1575440 : idata = idata + 1
50610 1575440 : data_tmp = ISHFT(pack_tmp, 40)
50611 1575440 : ipack = ipack + 1
50612 1575440 : pack_tmp = packed_data(ipack)
50613 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
50614 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
50615 1575440 : idata = idata + 1
50616 1575440 : data_tmp = ISHFT(pack_tmp, 36)
50617 1575440 : ipack = ipack + 1
50618 1575440 : pack_tmp = packed_data(ipack)
50619 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
50620 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
50621 1575440 : idata = idata + 1
50622 1575440 : data_tmp = ISHFT(pack_tmp, 32)
50623 1575440 : ipack = ipack + 1
50624 1575440 : pack_tmp = packed_data(ipack)
50625 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
50626 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
50627 1575440 : idata = idata + 1
50628 1575440 : data_tmp = ISHFT(pack_tmp, 28)
50629 1575440 : ipack = ipack + 1
50630 1575440 : pack_tmp = packed_data(ipack)
50631 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
50632 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
50633 1575440 : idata = idata + 1
50634 1575440 : data_tmp = ISHFT(pack_tmp, 24)
50635 1575440 : ipack = ipack + 1
50636 1575440 : pack_tmp = packed_data(ipack)
50637 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
50638 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
50639 1575440 : idata = idata + 1
50640 1575440 : data_tmp = ISHFT(pack_tmp, 20)
50641 1575440 : ipack = ipack + 1
50642 1575440 : pack_tmp = packed_data(ipack)
50643 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
50644 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
50645 1575440 : idata = idata + 1
50646 1575440 : data_tmp = ISHFT(pack_tmp, 16)
50647 1575440 : ipack = ipack + 1
50648 1575440 : pack_tmp = packed_data(ipack)
50649 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
50650 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
50651 1575440 : idata = idata + 1
50652 1575440 : data_tmp = ISHFT(pack_tmp, 12)
50653 1575440 : ipack = ipack + 1
50654 1575440 : pack_tmp = packed_data(ipack)
50655 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
50656 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
50657 1575440 : idata = idata + 1
50658 1575440 : data_tmp = ISHFT(pack_tmp, 8)
50659 1575440 : ipack = ipack + 1
50660 1575440 : pack_tmp = packed_data(ipack)
50661 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
50662 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
50663 1575440 : idata = idata + 1
50664 1575440 : data_tmp = ISHFT(pack_tmp, 4)
50665 1575440 : ipack = ipack + 1
50666 1575440 : pack_tmp = packed_data(ipack)
50667 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
50668 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
50669 1575440 : idata = idata + 1
50670 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
50671 1575440 : full_data(idata) = data_tmp
50672 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
50673 : END DO
50674 98465 : IF (Ndata_rep < Ndata) THEN
50675 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
50676 : END IF
50677 98465 : END SUBROUTINE bits2ints_60
50678 :
50679 : ! **************************************************************************************************
50680 : !> \brief ...
50681 : !> \param Ndata ...
50682 : !> \param packed_data ...
50683 : !> \param full_data ...
50684 : ! **************************************************************************************************
50685 24432 : 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(*)
50689 :
50690 : INTEGER, PARAMETER :: Nbits = 61
50691 :
50692 : INTEGER :: idata, ipack, kdata, Ndata_rep
50693 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
50694 :
50695 24432 : idata = 0
50696 24432 : ipack = 0
50697 24432 : Ndata_rep = (Ndata/64)*64
50698 24432 : DO kdata = 1, Ndata_rep, 64
50699 390912 : pack_tmp = 0
50700 390912 : idata = idata + 1
50701 390912 : data_tmp = full_data(idata)
50702 390912 : data_tmp = ISHFT(data_tmp, 3)
50703 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50704 390912 : pack_tmp = ISHFT(pack_tmp, -3)
50705 390912 : idata = idata + 1
50706 390912 : data_tmp = full_data(idata)
50707 390912 : data_tmp = ISHFT(data_tmp, 3)
50708 390912 : data_tmp = IAND(data_tmp, mask_left(3))
50709 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50710 390912 : ipack = ipack + 1
50711 390912 : packed_data(ipack) = pack_tmp
50712 390912 : data_tmp = full_data(idata)
50713 390912 : pack_tmp = ISHFT(data_tmp, 6)
50714 390912 : pack_tmp = ISHFT(pack_tmp, -6)
50715 390912 : idata = idata + 1
50716 390912 : data_tmp = full_data(idata)
50717 390912 : data_tmp = ISHFT(data_tmp, 3)
50718 390912 : data_tmp = IAND(data_tmp, mask_left(6))
50719 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50720 390912 : ipack = ipack + 1
50721 390912 : packed_data(ipack) = pack_tmp
50722 390912 : data_tmp = full_data(idata)
50723 390912 : pack_tmp = ISHFT(data_tmp, 9)
50724 390912 : pack_tmp = ISHFT(pack_tmp, -9)
50725 390912 : idata = idata + 1
50726 390912 : data_tmp = full_data(idata)
50727 390912 : data_tmp = ISHFT(data_tmp, 3)
50728 390912 : data_tmp = IAND(data_tmp, mask_left(9))
50729 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50730 390912 : ipack = ipack + 1
50731 390912 : packed_data(ipack) = pack_tmp
50732 390912 : data_tmp = full_data(idata)
50733 390912 : pack_tmp = ISHFT(data_tmp, 12)
50734 390912 : pack_tmp = ISHFT(pack_tmp, -12)
50735 390912 : idata = idata + 1
50736 390912 : data_tmp = full_data(idata)
50737 390912 : data_tmp = ISHFT(data_tmp, 3)
50738 390912 : data_tmp = IAND(data_tmp, mask_left(12))
50739 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50740 390912 : ipack = ipack + 1
50741 390912 : packed_data(ipack) = pack_tmp
50742 390912 : data_tmp = full_data(idata)
50743 390912 : pack_tmp = ISHFT(data_tmp, 15)
50744 390912 : pack_tmp = ISHFT(pack_tmp, -15)
50745 390912 : idata = idata + 1
50746 390912 : data_tmp = full_data(idata)
50747 390912 : data_tmp = ISHFT(data_tmp, 3)
50748 390912 : data_tmp = IAND(data_tmp, mask_left(15))
50749 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50750 390912 : ipack = ipack + 1
50751 390912 : packed_data(ipack) = pack_tmp
50752 390912 : data_tmp = full_data(idata)
50753 390912 : pack_tmp = ISHFT(data_tmp, 18)
50754 390912 : pack_tmp = ISHFT(pack_tmp, -18)
50755 390912 : idata = idata + 1
50756 390912 : data_tmp = full_data(idata)
50757 390912 : data_tmp = ISHFT(data_tmp, 3)
50758 390912 : data_tmp = IAND(data_tmp, mask_left(18))
50759 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50760 390912 : ipack = ipack + 1
50761 390912 : packed_data(ipack) = pack_tmp
50762 390912 : data_tmp = full_data(idata)
50763 390912 : pack_tmp = ISHFT(data_tmp, 21)
50764 390912 : pack_tmp = ISHFT(pack_tmp, -21)
50765 390912 : idata = idata + 1
50766 390912 : data_tmp = full_data(idata)
50767 390912 : data_tmp = ISHFT(data_tmp, 3)
50768 390912 : data_tmp = IAND(data_tmp, mask_left(21))
50769 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50770 390912 : ipack = ipack + 1
50771 390912 : packed_data(ipack) = pack_tmp
50772 390912 : data_tmp = full_data(idata)
50773 390912 : pack_tmp = ISHFT(data_tmp, 24)
50774 390912 : pack_tmp = ISHFT(pack_tmp, -24)
50775 390912 : idata = idata + 1
50776 390912 : data_tmp = full_data(idata)
50777 390912 : data_tmp = ISHFT(data_tmp, 3)
50778 390912 : data_tmp = IAND(data_tmp, mask_left(24))
50779 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50780 390912 : ipack = ipack + 1
50781 390912 : packed_data(ipack) = pack_tmp
50782 390912 : data_tmp = full_data(idata)
50783 390912 : pack_tmp = ISHFT(data_tmp, 27)
50784 390912 : pack_tmp = ISHFT(pack_tmp, -27)
50785 390912 : idata = idata + 1
50786 390912 : data_tmp = full_data(idata)
50787 390912 : data_tmp = ISHFT(data_tmp, 3)
50788 390912 : data_tmp = IAND(data_tmp, mask_left(27))
50789 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50790 390912 : ipack = ipack + 1
50791 390912 : packed_data(ipack) = pack_tmp
50792 390912 : data_tmp = full_data(idata)
50793 390912 : pack_tmp = ISHFT(data_tmp, 30)
50794 390912 : pack_tmp = ISHFT(pack_tmp, -30)
50795 390912 : idata = idata + 1
50796 390912 : data_tmp = full_data(idata)
50797 390912 : data_tmp = ISHFT(data_tmp, 3)
50798 390912 : data_tmp = IAND(data_tmp, mask_left(30))
50799 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50800 390912 : ipack = ipack + 1
50801 390912 : packed_data(ipack) = pack_tmp
50802 390912 : data_tmp = full_data(idata)
50803 390912 : pack_tmp = ISHFT(data_tmp, 33)
50804 390912 : pack_tmp = ISHFT(pack_tmp, -33)
50805 390912 : idata = idata + 1
50806 390912 : data_tmp = full_data(idata)
50807 390912 : data_tmp = ISHFT(data_tmp, 3)
50808 390912 : data_tmp = IAND(data_tmp, mask_left(33))
50809 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50810 390912 : ipack = ipack + 1
50811 390912 : packed_data(ipack) = pack_tmp
50812 390912 : data_tmp = full_data(idata)
50813 390912 : pack_tmp = ISHFT(data_tmp, 36)
50814 390912 : pack_tmp = ISHFT(pack_tmp, -36)
50815 390912 : idata = idata + 1
50816 390912 : data_tmp = full_data(idata)
50817 390912 : data_tmp = ISHFT(data_tmp, 3)
50818 390912 : data_tmp = IAND(data_tmp, mask_left(36))
50819 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50820 390912 : ipack = ipack + 1
50821 390912 : packed_data(ipack) = pack_tmp
50822 390912 : data_tmp = full_data(idata)
50823 390912 : pack_tmp = ISHFT(data_tmp, 39)
50824 390912 : pack_tmp = ISHFT(pack_tmp, -39)
50825 390912 : idata = idata + 1
50826 390912 : data_tmp = full_data(idata)
50827 390912 : data_tmp = ISHFT(data_tmp, 3)
50828 390912 : data_tmp = IAND(data_tmp, mask_left(39))
50829 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50830 390912 : ipack = ipack + 1
50831 390912 : packed_data(ipack) = pack_tmp
50832 390912 : data_tmp = full_data(idata)
50833 390912 : pack_tmp = ISHFT(data_tmp, 42)
50834 390912 : pack_tmp = ISHFT(pack_tmp, -42)
50835 390912 : idata = idata + 1
50836 390912 : data_tmp = full_data(idata)
50837 390912 : data_tmp = ISHFT(data_tmp, 3)
50838 390912 : data_tmp = IAND(data_tmp, mask_left(42))
50839 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50840 390912 : ipack = ipack + 1
50841 390912 : packed_data(ipack) = pack_tmp
50842 390912 : data_tmp = full_data(idata)
50843 390912 : pack_tmp = ISHFT(data_tmp, 45)
50844 390912 : pack_tmp = ISHFT(pack_tmp, -45)
50845 390912 : idata = idata + 1
50846 390912 : data_tmp = full_data(idata)
50847 390912 : data_tmp = ISHFT(data_tmp, 3)
50848 390912 : data_tmp = IAND(data_tmp, mask_left(45))
50849 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50850 390912 : ipack = ipack + 1
50851 390912 : packed_data(ipack) = pack_tmp
50852 390912 : data_tmp = full_data(idata)
50853 390912 : pack_tmp = ISHFT(data_tmp, 48)
50854 390912 : pack_tmp = ISHFT(pack_tmp, -48)
50855 390912 : idata = idata + 1
50856 390912 : data_tmp = full_data(idata)
50857 390912 : data_tmp = ISHFT(data_tmp, 3)
50858 390912 : data_tmp = IAND(data_tmp, mask_left(48))
50859 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50860 390912 : ipack = ipack + 1
50861 390912 : packed_data(ipack) = pack_tmp
50862 390912 : data_tmp = full_data(idata)
50863 390912 : pack_tmp = ISHFT(data_tmp, 51)
50864 390912 : pack_tmp = ISHFT(pack_tmp, -51)
50865 390912 : idata = idata + 1
50866 390912 : data_tmp = full_data(idata)
50867 390912 : data_tmp = ISHFT(data_tmp, 3)
50868 390912 : data_tmp = IAND(data_tmp, mask_left(51))
50869 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50870 390912 : ipack = ipack + 1
50871 390912 : packed_data(ipack) = pack_tmp
50872 390912 : data_tmp = full_data(idata)
50873 390912 : pack_tmp = ISHFT(data_tmp, 54)
50874 390912 : pack_tmp = ISHFT(pack_tmp, -54)
50875 390912 : idata = idata + 1
50876 390912 : data_tmp = full_data(idata)
50877 390912 : data_tmp = ISHFT(data_tmp, 3)
50878 390912 : data_tmp = IAND(data_tmp, mask_left(54))
50879 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50880 390912 : ipack = ipack + 1
50881 390912 : packed_data(ipack) = pack_tmp
50882 390912 : data_tmp = full_data(idata)
50883 390912 : pack_tmp = ISHFT(data_tmp, 57)
50884 390912 : pack_tmp = ISHFT(pack_tmp, -57)
50885 390912 : idata = idata + 1
50886 390912 : data_tmp = full_data(idata)
50887 390912 : data_tmp = ISHFT(data_tmp, 3)
50888 390912 : data_tmp = IAND(data_tmp, mask_left(57))
50889 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50890 390912 : ipack = ipack + 1
50891 390912 : packed_data(ipack) = pack_tmp
50892 390912 : data_tmp = full_data(idata)
50893 390912 : pack_tmp = ISHFT(data_tmp, 60)
50894 390912 : pack_tmp = ISHFT(pack_tmp, -60)
50895 390912 : idata = idata + 1
50896 390912 : data_tmp = full_data(idata)
50897 390912 : data_tmp = ISHFT(data_tmp, 3)
50898 390912 : data_tmp = IAND(data_tmp, mask_left(60))
50899 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50900 390912 : ipack = ipack + 1
50901 390912 : packed_data(ipack) = pack_tmp
50902 390912 : data_tmp = full_data(idata)
50903 390912 : pack_tmp = ISHFT(data_tmp, 63)
50904 390912 : pack_tmp = ISHFT(pack_tmp, -61)
50905 390912 : idata = idata + 1
50906 390912 : data_tmp = full_data(idata)
50907 390912 : data_tmp = ISHFT(data_tmp, 3)
50908 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50909 390912 : pack_tmp = ISHFT(pack_tmp, -2)
50910 390912 : idata = idata + 1
50911 390912 : data_tmp = full_data(idata)
50912 390912 : data_tmp = ISHFT(data_tmp, 3)
50913 390912 : data_tmp = IAND(data_tmp, mask_left(2))
50914 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50915 390912 : ipack = ipack + 1
50916 390912 : packed_data(ipack) = pack_tmp
50917 390912 : data_tmp = full_data(idata)
50918 390912 : pack_tmp = ISHFT(data_tmp, 5)
50919 390912 : pack_tmp = ISHFT(pack_tmp, -5)
50920 390912 : idata = idata + 1
50921 390912 : data_tmp = full_data(idata)
50922 390912 : data_tmp = ISHFT(data_tmp, 3)
50923 390912 : data_tmp = IAND(data_tmp, mask_left(5))
50924 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50925 390912 : ipack = ipack + 1
50926 390912 : packed_data(ipack) = pack_tmp
50927 390912 : data_tmp = full_data(idata)
50928 390912 : pack_tmp = ISHFT(data_tmp, 8)
50929 390912 : pack_tmp = ISHFT(pack_tmp, -8)
50930 390912 : idata = idata + 1
50931 390912 : data_tmp = full_data(idata)
50932 390912 : data_tmp = ISHFT(data_tmp, 3)
50933 390912 : data_tmp = IAND(data_tmp, mask_left(8))
50934 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50935 390912 : ipack = ipack + 1
50936 390912 : packed_data(ipack) = pack_tmp
50937 390912 : data_tmp = full_data(idata)
50938 390912 : pack_tmp = ISHFT(data_tmp, 11)
50939 390912 : pack_tmp = ISHFT(pack_tmp, -11)
50940 390912 : idata = idata + 1
50941 390912 : data_tmp = full_data(idata)
50942 390912 : data_tmp = ISHFT(data_tmp, 3)
50943 390912 : data_tmp = IAND(data_tmp, mask_left(11))
50944 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50945 390912 : ipack = ipack + 1
50946 390912 : packed_data(ipack) = pack_tmp
50947 390912 : data_tmp = full_data(idata)
50948 390912 : pack_tmp = ISHFT(data_tmp, 14)
50949 390912 : pack_tmp = ISHFT(pack_tmp, -14)
50950 390912 : idata = idata + 1
50951 390912 : data_tmp = full_data(idata)
50952 390912 : data_tmp = ISHFT(data_tmp, 3)
50953 390912 : data_tmp = IAND(data_tmp, mask_left(14))
50954 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50955 390912 : ipack = ipack + 1
50956 390912 : packed_data(ipack) = pack_tmp
50957 390912 : data_tmp = full_data(idata)
50958 390912 : pack_tmp = ISHFT(data_tmp, 17)
50959 390912 : pack_tmp = ISHFT(pack_tmp, -17)
50960 390912 : idata = idata + 1
50961 390912 : data_tmp = full_data(idata)
50962 390912 : data_tmp = ISHFT(data_tmp, 3)
50963 390912 : data_tmp = IAND(data_tmp, mask_left(17))
50964 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50965 390912 : ipack = ipack + 1
50966 390912 : packed_data(ipack) = pack_tmp
50967 390912 : data_tmp = full_data(idata)
50968 390912 : pack_tmp = ISHFT(data_tmp, 20)
50969 390912 : pack_tmp = ISHFT(pack_tmp, -20)
50970 390912 : idata = idata + 1
50971 390912 : data_tmp = full_data(idata)
50972 390912 : data_tmp = ISHFT(data_tmp, 3)
50973 390912 : data_tmp = IAND(data_tmp, mask_left(20))
50974 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50975 390912 : ipack = ipack + 1
50976 390912 : packed_data(ipack) = pack_tmp
50977 390912 : data_tmp = full_data(idata)
50978 390912 : pack_tmp = ISHFT(data_tmp, 23)
50979 390912 : pack_tmp = ISHFT(pack_tmp, -23)
50980 390912 : idata = idata + 1
50981 390912 : data_tmp = full_data(idata)
50982 390912 : data_tmp = ISHFT(data_tmp, 3)
50983 390912 : data_tmp = IAND(data_tmp, mask_left(23))
50984 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50985 390912 : ipack = ipack + 1
50986 390912 : packed_data(ipack) = pack_tmp
50987 390912 : data_tmp = full_data(idata)
50988 390912 : pack_tmp = ISHFT(data_tmp, 26)
50989 390912 : pack_tmp = ISHFT(pack_tmp, -26)
50990 390912 : idata = idata + 1
50991 390912 : data_tmp = full_data(idata)
50992 390912 : data_tmp = ISHFT(data_tmp, 3)
50993 390912 : data_tmp = IAND(data_tmp, mask_left(26))
50994 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
50995 390912 : ipack = ipack + 1
50996 390912 : packed_data(ipack) = pack_tmp
50997 390912 : data_tmp = full_data(idata)
50998 390912 : pack_tmp = ISHFT(data_tmp, 29)
50999 390912 : pack_tmp = ISHFT(pack_tmp, -29)
51000 390912 : idata = idata + 1
51001 390912 : data_tmp = full_data(idata)
51002 390912 : data_tmp = ISHFT(data_tmp, 3)
51003 390912 : data_tmp = IAND(data_tmp, mask_left(29))
51004 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51005 390912 : ipack = ipack + 1
51006 390912 : packed_data(ipack) = pack_tmp
51007 390912 : data_tmp = full_data(idata)
51008 390912 : pack_tmp = ISHFT(data_tmp, 32)
51009 390912 : pack_tmp = ISHFT(pack_tmp, -32)
51010 390912 : idata = idata + 1
51011 390912 : data_tmp = full_data(idata)
51012 390912 : data_tmp = ISHFT(data_tmp, 3)
51013 390912 : data_tmp = IAND(data_tmp, mask_left(32))
51014 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51015 390912 : ipack = ipack + 1
51016 390912 : packed_data(ipack) = pack_tmp
51017 390912 : data_tmp = full_data(idata)
51018 390912 : pack_tmp = ISHFT(data_tmp, 35)
51019 390912 : pack_tmp = ISHFT(pack_tmp, -35)
51020 390912 : idata = idata + 1
51021 390912 : data_tmp = full_data(idata)
51022 390912 : data_tmp = ISHFT(data_tmp, 3)
51023 390912 : data_tmp = IAND(data_tmp, mask_left(35))
51024 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51025 390912 : ipack = ipack + 1
51026 390912 : packed_data(ipack) = pack_tmp
51027 390912 : data_tmp = full_data(idata)
51028 390912 : pack_tmp = ISHFT(data_tmp, 38)
51029 390912 : pack_tmp = ISHFT(pack_tmp, -38)
51030 390912 : idata = idata + 1
51031 390912 : data_tmp = full_data(idata)
51032 390912 : data_tmp = ISHFT(data_tmp, 3)
51033 390912 : data_tmp = IAND(data_tmp, mask_left(38))
51034 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51035 390912 : ipack = ipack + 1
51036 390912 : packed_data(ipack) = pack_tmp
51037 390912 : data_tmp = full_data(idata)
51038 390912 : pack_tmp = ISHFT(data_tmp, 41)
51039 390912 : pack_tmp = ISHFT(pack_tmp, -41)
51040 390912 : idata = idata + 1
51041 390912 : data_tmp = full_data(idata)
51042 390912 : data_tmp = ISHFT(data_tmp, 3)
51043 390912 : data_tmp = IAND(data_tmp, mask_left(41))
51044 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51045 390912 : ipack = ipack + 1
51046 390912 : packed_data(ipack) = pack_tmp
51047 390912 : data_tmp = full_data(idata)
51048 390912 : pack_tmp = ISHFT(data_tmp, 44)
51049 390912 : pack_tmp = ISHFT(pack_tmp, -44)
51050 390912 : idata = idata + 1
51051 390912 : data_tmp = full_data(idata)
51052 390912 : data_tmp = ISHFT(data_tmp, 3)
51053 390912 : data_tmp = IAND(data_tmp, mask_left(44))
51054 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51055 390912 : ipack = ipack + 1
51056 390912 : packed_data(ipack) = pack_tmp
51057 390912 : data_tmp = full_data(idata)
51058 390912 : pack_tmp = ISHFT(data_tmp, 47)
51059 390912 : pack_tmp = ISHFT(pack_tmp, -47)
51060 390912 : idata = idata + 1
51061 390912 : data_tmp = full_data(idata)
51062 390912 : data_tmp = ISHFT(data_tmp, 3)
51063 390912 : data_tmp = IAND(data_tmp, mask_left(47))
51064 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51065 390912 : ipack = ipack + 1
51066 390912 : packed_data(ipack) = pack_tmp
51067 390912 : data_tmp = full_data(idata)
51068 390912 : pack_tmp = ISHFT(data_tmp, 50)
51069 390912 : pack_tmp = ISHFT(pack_tmp, -50)
51070 390912 : idata = idata + 1
51071 390912 : data_tmp = full_data(idata)
51072 390912 : data_tmp = ISHFT(data_tmp, 3)
51073 390912 : data_tmp = IAND(data_tmp, mask_left(50))
51074 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51075 390912 : ipack = ipack + 1
51076 390912 : packed_data(ipack) = pack_tmp
51077 390912 : data_tmp = full_data(idata)
51078 390912 : pack_tmp = ISHFT(data_tmp, 53)
51079 390912 : pack_tmp = ISHFT(pack_tmp, -53)
51080 390912 : idata = idata + 1
51081 390912 : data_tmp = full_data(idata)
51082 390912 : data_tmp = ISHFT(data_tmp, 3)
51083 390912 : data_tmp = IAND(data_tmp, mask_left(53))
51084 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51085 390912 : ipack = ipack + 1
51086 390912 : packed_data(ipack) = pack_tmp
51087 390912 : data_tmp = full_data(idata)
51088 390912 : pack_tmp = ISHFT(data_tmp, 56)
51089 390912 : pack_tmp = ISHFT(pack_tmp, -56)
51090 390912 : idata = idata + 1
51091 390912 : data_tmp = full_data(idata)
51092 390912 : data_tmp = ISHFT(data_tmp, 3)
51093 390912 : data_tmp = IAND(data_tmp, mask_left(56))
51094 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51095 390912 : ipack = ipack + 1
51096 390912 : packed_data(ipack) = pack_tmp
51097 390912 : data_tmp = full_data(idata)
51098 390912 : pack_tmp = ISHFT(data_tmp, 59)
51099 390912 : pack_tmp = ISHFT(pack_tmp, -59)
51100 390912 : idata = idata + 1
51101 390912 : data_tmp = full_data(idata)
51102 390912 : data_tmp = ISHFT(data_tmp, 3)
51103 390912 : data_tmp = IAND(data_tmp, mask_left(59))
51104 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51105 390912 : ipack = ipack + 1
51106 390912 : packed_data(ipack) = pack_tmp
51107 390912 : data_tmp = full_data(idata)
51108 390912 : pack_tmp = ISHFT(data_tmp, 62)
51109 390912 : pack_tmp = ISHFT(pack_tmp, -61)
51110 390912 : idata = idata + 1
51111 390912 : data_tmp = full_data(idata)
51112 390912 : data_tmp = ISHFT(data_tmp, 3)
51113 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51114 390912 : pack_tmp = ISHFT(pack_tmp, -1)
51115 390912 : idata = idata + 1
51116 390912 : data_tmp = full_data(idata)
51117 390912 : data_tmp = ISHFT(data_tmp, 3)
51118 390912 : data_tmp = IAND(data_tmp, mask_left(1))
51119 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51120 390912 : ipack = ipack + 1
51121 390912 : packed_data(ipack) = pack_tmp
51122 390912 : data_tmp = full_data(idata)
51123 390912 : pack_tmp = ISHFT(data_tmp, 4)
51124 390912 : pack_tmp = ISHFT(pack_tmp, -4)
51125 390912 : idata = idata + 1
51126 390912 : data_tmp = full_data(idata)
51127 390912 : data_tmp = ISHFT(data_tmp, 3)
51128 390912 : data_tmp = IAND(data_tmp, mask_left(4))
51129 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51130 390912 : ipack = ipack + 1
51131 390912 : packed_data(ipack) = pack_tmp
51132 390912 : data_tmp = full_data(idata)
51133 390912 : pack_tmp = ISHFT(data_tmp, 7)
51134 390912 : pack_tmp = ISHFT(pack_tmp, -7)
51135 390912 : idata = idata + 1
51136 390912 : data_tmp = full_data(idata)
51137 390912 : data_tmp = ISHFT(data_tmp, 3)
51138 390912 : data_tmp = IAND(data_tmp, mask_left(7))
51139 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51140 390912 : ipack = ipack + 1
51141 390912 : packed_data(ipack) = pack_tmp
51142 390912 : data_tmp = full_data(idata)
51143 390912 : pack_tmp = ISHFT(data_tmp, 10)
51144 390912 : pack_tmp = ISHFT(pack_tmp, -10)
51145 390912 : idata = idata + 1
51146 390912 : data_tmp = full_data(idata)
51147 390912 : data_tmp = ISHFT(data_tmp, 3)
51148 390912 : data_tmp = IAND(data_tmp, mask_left(10))
51149 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51150 390912 : ipack = ipack + 1
51151 390912 : packed_data(ipack) = pack_tmp
51152 390912 : data_tmp = full_data(idata)
51153 390912 : pack_tmp = ISHFT(data_tmp, 13)
51154 390912 : pack_tmp = ISHFT(pack_tmp, -13)
51155 390912 : idata = idata + 1
51156 390912 : data_tmp = full_data(idata)
51157 390912 : data_tmp = ISHFT(data_tmp, 3)
51158 390912 : data_tmp = IAND(data_tmp, mask_left(13))
51159 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51160 390912 : ipack = ipack + 1
51161 390912 : packed_data(ipack) = pack_tmp
51162 390912 : data_tmp = full_data(idata)
51163 390912 : pack_tmp = ISHFT(data_tmp, 16)
51164 390912 : pack_tmp = ISHFT(pack_tmp, -16)
51165 390912 : idata = idata + 1
51166 390912 : data_tmp = full_data(idata)
51167 390912 : data_tmp = ISHFT(data_tmp, 3)
51168 390912 : data_tmp = IAND(data_tmp, mask_left(16))
51169 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51170 390912 : ipack = ipack + 1
51171 390912 : packed_data(ipack) = pack_tmp
51172 390912 : data_tmp = full_data(idata)
51173 390912 : pack_tmp = ISHFT(data_tmp, 19)
51174 390912 : pack_tmp = ISHFT(pack_tmp, -19)
51175 390912 : idata = idata + 1
51176 390912 : data_tmp = full_data(idata)
51177 390912 : data_tmp = ISHFT(data_tmp, 3)
51178 390912 : data_tmp = IAND(data_tmp, mask_left(19))
51179 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51180 390912 : ipack = ipack + 1
51181 390912 : packed_data(ipack) = pack_tmp
51182 390912 : data_tmp = full_data(idata)
51183 390912 : pack_tmp = ISHFT(data_tmp, 22)
51184 390912 : pack_tmp = ISHFT(pack_tmp, -22)
51185 390912 : idata = idata + 1
51186 390912 : data_tmp = full_data(idata)
51187 390912 : data_tmp = ISHFT(data_tmp, 3)
51188 390912 : data_tmp = IAND(data_tmp, mask_left(22))
51189 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51190 390912 : ipack = ipack + 1
51191 390912 : packed_data(ipack) = pack_tmp
51192 390912 : data_tmp = full_data(idata)
51193 390912 : pack_tmp = ISHFT(data_tmp, 25)
51194 390912 : pack_tmp = ISHFT(pack_tmp, -25)
51195 390912 : idata = idata + 1
51196 390912 : data_tmp = full_data(idata)
51197 390912 : data_tmp = ISHFT(data_tmp, 3)
51198 390912 : data_tmp = IAND(data_tmp, mask_left(25))
51199 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51200 390912 : ipack = ipack + 1
51201 390912 : packed_data(ipack) = pack_tmp
51202 390912 : data_tmp = full_data(idata)
51203 390912 : pack_tmp = ISHFT(data_tmp, 28)
51204 390912 : pack_tmp = ISHFT(pack_tmp, -28)
51205 390912 : idata = idata + 1
51206 390912 : data_tmp = full_data(idata)
51207 390912 : data_tmp = ISHFT(data_tmp, 3)
51208 390912 : data_tmp = IAND(data_tmp, mask_left(28))
51209 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51210 390912 : ipack = ipack + 1
51211 390912 : packed_data(ipack) = pack_tmp
51212 390912 : data_tmp = full_data(idata)
51213 390912 : pack_tmp = ISHFT(data_tmp, 31)
51214 390912 : pack_tmp = ISHFT(pack_tmp, -31)
51215 390912 : idata = idata + 1
51216 390912 : data_tmp = full_data(idata)
51217 390912 : data_tmp = ISHFT(data_tmp, 3)
51218 390912 : data_tmp = IAND(data_tmp, mask_left(31))
51219 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51220 390912 : ipack = ipack + 1
51221 390912 : packed_data(ipack) = pack_tmp
51222 390912 : data_tmp = full_data(idata)
51223 390912 : pack_tmp = ISHFT(data_tmp, 34)
51224 390912 : pack_tmp = ISHFT(pack_tmp, -34)
51225 390912 : idata = idata + 1
51226 390912 : data_tmp = full_data(idata)
51227 390912 : data_tmp = ISHFT(data_tmp, 3)
51228 390912 : data_tmp = IAND(data_tmp, mask_left(34))
51229 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51230 390912 : ipack = ipack + 1
51231 390912 : packed_data(ipack) = pack_tmp
51232 390912 : data_tmp = full_data(idata)
51233 390912 : pack_tmp = ISHFT(data_tmp, 37)
51234 390912 : pack_tmp = ISHFT(pack_tmp, -37)
51235 390912 : idata = idata + 1
51236 390912 : data_tmp = full_data(idata)
51237 390912 : data_tmp = ISHFT(data_tmp, 3)
51238 390912 : data_tmp = IAND(data_tmp, mask_left(37))
51239 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51240 390912 : ipack = ipack + 1
51241 390912 : packed_data(ipack) = pack_tmp
51242 390912 : data_tmp = full_data(idata)
51243 390912 : pack_tmp = ISHFT(data_tmp, 40)
51244 390912 : pack_tmp = ISHFT(pack_tmp, -40)
51245 390912 : idata = idata + 1
51246 390912 : data_tmp = full_data(idata)
51247 390912 : data_tmp = ISHFT(data_tmp, 3)
51248 390912 : data_tmp = IAND(data_tmp, mask_left(40))
51249 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51250 390912 : ipack = ipack + 1
51251 390912 : packed_data(ipack) = pack_tmp
51252 390912 : data_tmp = full_data(idata)
51253 390912 : pack_tmp = ISHFT(data_tmp, 43)
51254 390912 : pack_tmp = ISHFT(pack_tmp, -43)
51255 390912 : idata = idata + 1
51256 390912 : data_tmp = full_data(idata)
51257 390912 : data_tmp = ISHFT(data_tmp, 3)
51258 390912 : data_tmp = IAND(data_tmp, mask_left(43))
51259 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51260 390912 : ipack = ipack + 1
51261 390912 : packed_data(ipack) = pack_tmp
51262 390912 : data_tmp = full_data(idata)
51263 390912 : pack_tmp = ISHFT(data_tmp, 46)
51264 390912 : pack_tmp = ISHFT(pack_tmp, -46)
51265 390912 : idata = idata + 1
51266 390912 : data_tmp = full_data(idata)
51267 390912 : data_tmp = ISHFT(data_tmp, 3)
51268 390912 : data_tmp = IAND(data_tmp, mask_left(46))
51269 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51270 390912 : ipack = ipack + 1
51271 390912 : packed_data(ipack) = pack_tmp
51272 390912 : data_tmp = full_data(idata)
51273 390912 : pack_tmp = ISHFT(data_tmp, 49)
51274 390912 : pack_tmp = ISHFT(pack_tmp, -49)
51275 390912 : idata = idata + 1
51276 390912 : data_tmp = full_data(idata)
51277 390912 : data_tmp = ISHFT(data_tmp, 3)
51278 390912 : data_tmp = IAND(data_tmp, mask_left(49))
51279 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51280 390912 : ipack = ipack + 1
51281 390912 : packed_data(ipack) = pack_tmp
51282 390912 : data_tmp = full_data(idata)
51283 390912 : pack_tmp = ISHFT(data_tmp, 52)
51284 390912 : pack_tmp = ISHFT(pack_tmp, -52)
51285 390912 : idata = idata + 1
51286 390912 : data_tmp = full_data(idata)
51287 390912 : data_tmp = ISHFT(data_tmp, 3)
51288 390912 : data_tmp = IAND(data_tmp, mask_left(52))
51289 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51290 390912 : ipack = ipack + 1
51291 390912 : packed_data(ipack) = pack_tmp
51292 390912 : data_tmp = full_data(idata)
51293 390912 : pack_tmp = ISHFT(data_tmp, 55)
51294 390912 : pack_tmp = ISHFT(pack_tmp, -55)
51295 390912 : idata = idata + 1
51296 390912 : data_tmp = full_data(idata)
51297 390912 : data_tmp = ISHFT(data_tmp, 3)
51298 390912 : data_tmp = IAND(data_tmp, mask_left(55))
51299 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51300 390912 : ipack = ipack + 1
51301 390912 : packed_data(ipack) = pack_tmp
51302 390912 : data_tmp = full_data(idata)
51303 390912 : pack_tmp = ISHFT(data_tmp, 58)
51304 390912 : pack_tmp = ISHFT(pack_tmp, -58)
51305 390912 : idata = idata + 1
51306 390912 : data_tmp = full_data(idata)
51307 390912 : data_tmp = ISHFT(data_tmp, 3)
51308 390912 : data_tmp = IAND(data_tmp, mask_left(58))
51309 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51310 390912 : ipack = ipack + 1
51311 390912 : packed_data(ipack) = pack_tmp
51312 390912 : data_tmp = full_data(idata)
51313 390912 : pack_tmp = ISHFT(data_tmp, 61)
51314 390912 : pack_tmp = ISHFT(pack_tmp, -61)
51315 390912 : idata = idata + 1
51316 390912 : data_tmp = full_data(idata)
51317 390912 : data_tmp = ISHFT(data_tmp, 3)
51318 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51319 : pack_tmp = ISHFT(pack_tmp, 0)
51320 390912 : pack_tmp = ISHFT(pack_tmp, 0)
51321 390912 : ipack = ipack + 1
51322 390912 : packed_data(ipack) = pack_tmp
51323 : END DO
51324 24432 : IF (Ndata_rep < Ndata) THEN
51325 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
51326 : END IF
51327 24432 : END SUBROUTINE ints2bits_61
51328 :
51329 : ! **************************************************************************************************
51330 : !> \brief ...
51331 : !> \param Ndata ...
51332 : !> \param packed_data ...
51333 : !> \param full_data ...
51334 : ! **************************************************************************************************
51335 98465 : 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(*)
51339 :
51340 : INTEGER, PARAMETER :: Nbits = 61
51341 :
51342 : INTEGER :: idata, ipack, kdata, Ndata_rep
51343 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
51344 :
51345 98465 : ipack = 0
51346 98465 : idata = 0
51347 98465 : pack_tmp = 0
51348 98465 : Ndata_rep = (Ndata/64)*64
51349 98465 : DO kdata = 1, Ndata_rep, 64
51350 1575440 : idata = idata + 1
51351 1575440 : data_tmp = ISHFT(pack_tmp, 61)
51352 1575440 : ipack = ipack + 1
51353 1575440 : pack_tmp = packed_data(ipack)
51354 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(61)))
51355 1575440 : pack_tmp = ISHFT(pack_tmp, -61)
51356 1575440 : idata = idata + 1
51357 1575440 : data_tmp = ISHFT(pack_tmp, 58)
51358 1575440 : ipack = ipack + 1
51359 1575440 : pack_tmp = packed_data(ipack)
51360 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
51361 1575440 : pack_tmp = ISHFT(pack_tmp, -58)
51362 1575440 : idata = idata + 1
51363 1575440 : data_tmp = ISHFT(pack_tmp, 55)
51364 1575440 : ipack = ipack + 1
51365 1575440 : pack_tmp = packed_data(ipack)
51366 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
51367 1575440 : pack_tmp = ISHFT(pack_tmp, -55)
51368 1575440 : idata = idata + 1
51369 1575440 : data_tmp = ISHFT(pack_tmp, 52)
51370 1575440 : ipack = ipack + 1
51371 1575440 : pack_tmp = packed_data(ipack)
51372 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
51373 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
51374 1575440 : idata = idata + 1
51375 1575440 : data_tmp = ISHFT(pack_tmp, 49)
51376 1575440 : ipack = ipack + 1
51377 1575440 : pack_tmp = packed_data(ipack)
51378 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
51379 1575440 : pack_tmp = ISHFT(pack_tmp, -49)
51380 1575440 : idata = idata + 1
51381 1575440 : data_tmp = ISHFT(pack_tmp, 46)
51382 1575440 : ipack = ipack + 1
51383 1575440 : pack_tmp = packed_data(ipack)
51384 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
51385 1575440 : pack_tmp = ISHFT(pack_tmp, -46)
51386 1575440 : idata = idata + 1
51387 1575440 : data_tmp = ISHFT(pack_tmp, 43)
51388 1575440 : ipack = ipack + 1
51389 1575440 : pack_tmp = packed_data(ipack)
51390 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
51391 1575440 : pack_tmp = ISHFT(pack_tmp, -43)
51392 1575440 : idata = idata + 1
51393 1575440 : data_tmp = ISHFT(pack_tmp, 40)
51394 1575440 : ipack = ipack + 1
51395 1575440 : pack_tmp = packed_data(ipack)
51396 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
51397 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
51398 1575440 : idata = idata + 1
51399 1575440 : data_tmp = ISHFT(pack_tmp, 37)
51400 1575440 : ipack = ipack + 1
51401 1575440 : pack_tmp = packed_data(ipack)
51402 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
51403 1575440 : pack_tmp = ISHFT(pack_tmp, -37)
51404 1575440 : idata = idata + 1
51405 1575440 : data_tmp = ISHFT(pack_tmp, 34)
51406 1575440 : ipack = ipack + 1
51407 1575440 : pack_tmp = packed_data(ipack)
51408 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
51409 1575440 : pack_tmp = ISHFT(pack_tmp, -34)
51410 1575440 : idata = idata + 1
51411 1575440 : data_tmp = ISHFT(pack_tmp, 31)
51412 1575440 : ipack = ipack + 1
51413 1575440 : pack_tmp = packed_data(ipack)
51414 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
51415 1575440 : pack_tmp = ISHFT(pack_tmp, -31)
51416 1575440 : idata = idata + 1
51417 1575440 : data_tmp = ISHFT(pack_tmp, 28)
51418 1575440 : ipack = ipack + 1
51419 1575440 : pack_tmp = packed_data(ipack)
51420 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
51421 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
51422 1575440 : idata = idata + 1
51423 1575440 : data_tmp = ISHFT(pack_tmp, 25)
51424 1575440 : ipack = ipack + 1
51425 1575440 : pack_tmp = packed_data(ipack)
51426 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
51427 1575440 : pack_tmp = ISHFT(pack_tmp, -25)
51428 1575440 : idata = idata + 1
51429 1575440 : data_tmp = ISHFT(pack_tmp, 22)
51430 1575440 : ipack = ipack + 1
51431 1575440 : pack_tmp = packed_data(ipack)
51432 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
51433 1575440 : pack_tmp = ISHFT(pack_tmp, -22)
51434 1575440 : idata = idata + 1
51435 1575440 : data_tmp = ISHFT(pack_tmp, 19)
51436 1575440 : ipack = ipack + 1
51437 1575440 : pack_tmp = packed_data(ipack)
51438 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
51439 1575440 : pack_tmp = ISHFT(pack_tmp, -19)
51440 1575440 : idata = idata + 1
51441 1575440 : data_tmp = ISHFT(pack_tmp, 16)
51442 1575440 : ipack = ipack + 1
51443 1575440 : pack_tmp = packed_data(ipack)
51444 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
51445 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
51446 1575440 : idata = idata + 1
51447 1575440 : data_tmp = ISHFT(pack_tmp, 13)
51448 1575440 : ipack = ipack + 1
51449 1575440 : pack_tmp = packed_data(ipack)
51450 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
51451 1575440 : pack_tmp = ISHFT(pack_tmp, -13)
51452 1575440 : idata = idata + 1
51453 1575440 : data_tmp = ISHFT(pack_tmp, 10)
51454 1575440 : ipack = ipack + 1
51455 1575440 : pack_tmp = packed_data(ipack)
51456 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
51457 1575440 : pack_tmp = ISHFT(pack_tmp, -10)
51458 1575440 : idata = idata + 1
51459 1575440 : data_tmp = ISHFT(pack_tmp, 7)
51460 1575440 : ipack = ipack + 1
51461 1575440 : pack_tmp = packed_data(ipack)
51462 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
51463 1575440 : pack_tmp = ISHFT(pack_tmp, -7)
51464 1575440 : idata = idata + 1
51465 1575440 : data_tmp = ISHFT(pack_tmp, 4)
51466 1575440 : ipack = ipack + 1
51467 1575440 : pack_tmp = packed_data(ipack)
51468 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
51469 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
51470 1575440 : idata = idata + 1
51471 1575440 : data_tmp = ISHFT(pack_tmp, 1)
51472 1575440 : ipack = ipack + 1
51473 1575440 : pack_tmp = packed_data(ipack)
51474 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
51475 1575440 : pack_tmp = ISHFT(pack_tmp, -1)
51476 1575440 : idata = idata + 1
51477 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
51478 1575440 : full_data(idata) = data_tmp
51479 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
51480 1575440 : idata = idata + 1
51481 1575440 : data_tmp = ISHFT(pack_tmp, 59)
51482 1575440 : ipack = ipack + 1
51483 1575440 : pack_tmp = packed_data(ipack)
51484 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(59)))
51485 1575440 : pack_tmp = ISHFT(pack_tmp, -59)
51486 1575440 : idata = idata + 1
51487 1575440 : data_tmp = ISHFT(pack_tmp, 56)
51488 1575440 : ipack = ipack + 1
51489 1575440 : pack_tmp = packed_data(ipack)
51490 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
51491 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
51492 1575440 : idata = idata + 1
51493 1575440 : data_tmp = ISHFT(pack_tmp, 53)
51494 1575440 : ipack = ipack + 1
51495 1575440 : pack_tmp = packed_data(ipack)
51496 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
51497 1575440 : pack_tmp = ISHFT(pack_tmp, -53)
51498 1575440 : idata = idata + 1
51499 1575440 : data_tmp = ISHFT(pack_tmp, 50)
51500 1575440 : ipack = ipack + 1
51501 1575440 : pack_tmp = packed_data(ipack)
51502 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
51503 1575440 : pack_tmp = ISHFT(pack_tmp, -50)
51504 1575440 : idata = idata + 1
51505 1575440 : data_tmp = ISHFT(pack_tmp, 47)
51506 1575440 : ipack = ipack + 1
51507 1575440 : pack_tmp = packed_data(ipack)
51508 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
51509 1575440 : pack_tmp = ISHFT(pack_tmp, -47)
51510 1575440 : idata = idata + 1
51511 1575440 : data_tmp = ISHFT(pack_tmp, 44)
51512 1575440 : ipack = ipack + 1
51513 1575440 : pack_tmp = packed_data(ipack)
51514 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
51515 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
51516 1575440 : idata = idata + 1
51517 1575440 : data_tmp = ISHFT(pack_tmp, 41)
51518 1575440 : ipack = ipack + 1
51519 1575440 : pack_tmp = packed_data(ipack)
51520 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
51521 1575440 : pack_tmp = ISHFT(pack_tmp, -41)
51522 1575440 : idata = idata + 1
51523 1575440 : data_tmp = ISHFT(pack_tmp, 38)
51524 1575440 : ipack = ipack + 1
51525 1575440 : pack_tmp = packed_data(ipack)
51526 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
51527 1575440 : pack_tmp = ISHFT(pack_tmp, -38)
51528 1575440 : idata = idata + 1
51529 1575440 : data_tmp = ISHFT(pack_tmp, 35)
51530 1575440 : ipack = ipack + 1
51531 1575440 : pack_tmp = packed_data(ipack)
51532 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
51533 1575440 : pack_tmp = ISHFT(pack_tmp, -35)
51534 1575440 : idata = idata + 1
51535 1575440 : data_tmp = ISHFT(pack_tmp, 32)
51536 1575440 : ipack = ipack + 1
51537 1575440 : pack_tmp = packed_data(ipack)
51538 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
51539 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
51540 1575440 : idata = idata + 1
51541 1575440 : data_tmp = ISHFT(pack_tmp, 29)
51542 1575440 : ipack = ipack + 1
51543 1575440 : pack_tmp = packed_data(ipack)
51544 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
51545 1575440 : pack_tmp = ISHFT(pack_tmp, -29)
51546 1575440 : idata = idata + 1
51547 1575440 : data_tmp = ISHFT(pack_tmp, 26)
51548 1575440 : ipack = ipack + 1
51549 1575440 : pack_tmp = packed_data(ipack)
51550 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
51551 1575440 : pack_tmp = ISHFT(pack_tmp, -26)
51552 1575440 : idata = idata + 1
51553 1575440 : data_tmp = ISHFT(pack_tmp, 23)
51554 1575440 : ipack = ipack + 1
51555 1575440 : pack_tmp = packed_data(ipack)
51556 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
51557 1575440 : pack_tmp = ISHFT(pack_tmp, -23)
51558 1575440 : idata = idata + 1
51559 1575440 : data_tmp = ISHFT(pack_tmp, 20)
51560 1575440 : ipack = ipack + 1
51561 1575440 : pack_tmp = packed_data(ipack)
51562 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
51563 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
51564 1575440 : idata = idata + 1
51565 1575440 : data_tmp = ISHFT(pack_tmp, 17)
51566 1575440 : ipack = ipack + 1
51567 1575440 : pack_tmp = packed_data(ipack)
51568 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
51569 1575440 : pack_tmp = ISHFT(pack_tmp, -17)
51570 1575440 : idata = idata + 1
51571 1575440 : data_tmp = ISHFT(pack_tmp, 14)
51572 1575440 : ipack = ipack + 1
51573 1575440 : pack_tmp = packed_data(ipack)
51574 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
51575 1575440 : pack_tmp = ISHFT(pack_tmp, -14)
51576 1575440 : idata = idata + 1
51577 1575440 : data_tmp = ISHFT(pack_tmp, 11)
51578 1575440 : ipack = ipack + 1
51579 1575440 : pack_tmp = packed_data(ipack)
51580 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
51581 1575440 : pack_tmp = ISHFT(pack_tmp, -11)
51582 1575440 : idata = idata + 1
51583 1575440 : data_tmp = ISHFT(pack_tmp, 8)
51584 1575440 : ipack = ipack + 1
51585 1575440 : pack_tmp = packed_data(ipack)
51586 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
51587 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
51588 1575440 : idata = idata + 1
51589 1575440 : data_tmp = ISHFT(pack_tmp, 5)
51590 1575440 : ipack = ipack + 1
51591 1575440 : pack_tmp = packed_data(ipack)
51592 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
51593 1575440 : pack_tmp = ISHFT(pack_tmp, -5)
51594 1575440 : idata = idata + 1
51595 1575440 : data_tmp = ISHFT(pack_tmp, 2)
51596 1575440 : ipack = ipack + 1
51597 1575440 : pack_tmp = packed_data(ipack)
51598 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
51599 1575440 : pack_tmp = ISHFT(pack_tmp, -2)
51600 1575440 : idata = idata + 1
51601 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
51602 1575440 : full_data(idata) = data_tmp
51603 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
51604 1575440 : idata = idata + 1
51605 1575440 : data_tmp = ISHFT(pack_tmp, 60)
51606 1575440 : ipack = ipack + 1
51607 1575440 : pack_tmp = packed_data(ipack)
51608 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
51609 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
51610 1575440 : idata = idata + 1
51611 1575440 : data_tmp = ISHFT(pack_tmp, 57)
51612 1575440 : ipack = ipack + 1
51613 1575440 : pack_tmp = packed_data(ipack)
51614 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
51615 1575440 : pack_tmp = ISHFT(pack_tmp, -57)
51616 1575440 : idata = idata + 1
51617 1575440 : data_tmp = ISHFT(pack_tmp, 54)
51618 1575440 : ipack = ipack + 1
51619 1575440 : pack_tmp = packed_data(ipack)
51620 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
51621 1575440 : pack_tmp = ISHFT(pack_tmp, -54)
51622 1575440 : idata = idata + 1
51623 1575440 : data_tmp = ISHFT(pack_tmp, 51)
51624 1575440 : ipack = ipack + 1
51625 1575440 : pack_tmp = packed_data(ipack)
51626 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
51627 1575440 : pack_tmp = ISHFT(pack_tmp, -51)
51628 1575440 : idata = idata + 1
51629 1575440 : data_tmp = ISHFT(pack_tmp, 48)
51630 1575440 : ipack = ipack + 1
51631 1575440 : pack_tmp = packed_data(ipack)
51632 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
51633 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
51634 1575440 : idata = idata + 1
51635 1575440 : data_tmp = ISHFT(pack_tmp, 45)
51636 1575440 : ipack = ipack + 1
51637 1575440 : pack_tmp = packed_data(ipack)
51638 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
51639 1575440 : pack_tmp = ISHFT(pack_tmp, -45)
51640 1575440 : idata = idata + 1
51641 1575440 : data_tmp = ISHFT(pack_tmp, 42)
51642 1575440 : ipack = ipack + 1
51643 1575440 : pack_tmp = packed_data(ipack)
51644 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
51645 1575440 : pack_tmp = ISHFT(pack_tmp, -42)
51646 1575440 : idata = idata + 1
51647 1575440 : data_tmp = ISHFT(pack_tmp, 39)
51648 1575440 : ipack = ipack + 1
51649 1575440 : pack_tmp = packed_data(ipack)
51650 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
51651 1575440 : pack_tmp = ISHFT(pack_tmp, -39)
51652 1575440 : idata = idata + 1
51653 1575440 : data_tmp = ISHFT(pack_tmp, 36)
51654 1575440 : ipack = ipack + 1
51655 1575440 : pack_tmp = packed_data(ipack)
51656 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
51657 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
51658 1575440 : idata = idata + 1
51659 1575440 : data_tmp = ISHFT(pack_tmp, 33)
51660 1575440 : ipack = ipack + 1
51661 1575440 : pack_tmp = packed_data(ipack)
51662 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
51663 1575440 : pack_tmp = ISHFT(pack_tmp, -33)
51664 1575440 : idata = idata + 1
51665 1575440 : data_tmp = ISHFT(pack_tmp, 30)
51666 1575440 : ipack = ipack + 1
51667 1575440 : pack_tmp = packed_data(ipack)
51668 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
51669 1575440 : pack_tmp = ISHFT(pack_tmp, -30)
51670 1575440 : idata = idata + 1
51671 1575440 : data_tmp = ISHFT(pack_tmp, 27)
51672 1575440 : ipack = ipack + 1
51673 1575440 : pack_tmp = packed_data(ipack)
51674 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
51675 1575440 : pack_tmp = ISHFT(pack_tmp, -27)
51676 1575440 : idata = idata + 1
51677 1575440 : data_tmp = ISHFT(pack_tmp, 24)
51678 1575440 : ipack = ipack + 1
51679 1575440 : pack_tmp = packed_data(ipack)
51680 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
51681 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
51682 1575440 : idata = idata + 1
51683 1575440 : data_tmp = ISHFT(pack_tmp, 21)
51684 1575440 : ipack = ipack + 1
51685 1575440 : pack_tmp = packed_data(ipack)
51686 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
51687 1575440 : pack_tmp = ISHFT(pack_tmp, -21)
51688 1575440 : idata = idata + 1
51689 1575440 : data_tmp = ISHFT(pack_tmp, 18)
51690 1575440 : ipack = ipack + 1
51691 1575440 : pack_tmp = packed_data(ipack)
51692 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
51693 1575440 : pack_tmp = ISHFT(pack_tmp, -18)
51694 1575440 : idata = idata + 1
51695 1575440 : data_tmp = ISHFT(pack_tmp, 15)
51696 1575440 : ipack = ipack + 1
51697 1575440 : pack_tmp = packed_data(ipack)
51698 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
51699 1575440 : pack_tmp = ISHFT(pack_tmp, -15)
51700 1575440 : idata = idata + 1
51701 1575440 : data_tmp = ISHFT(pack_tmp, 12)
51702 1575440 : ipack = ipack + 1
51703 1575440 : pack_tmp = packed_data(ipack)
51704 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
51705 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
51706 1575440 : idata = idata + 1
51707 1575440 : data_tmp = ISHFT(pack_tmp, 9)
51708 1575440 : ipack = ipack + 1
51709 1575440 : pack_tmp = packed_data(ipack)
51710 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
51711 1575440 : pack_tmp = ISHFT(pack_tmp, -9)
51712 1575440 : idata = idata + 1
51713 1575440 : data_tmp = ISHFT(pack_tmp, 6)
51714 1575440 : ipack = ipack + 1
51715 1575440 : pack_tmp = packed_data(ipack)
51716 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
51717 1575440 : pack_tmp = ISHFT(pack_tmp, -6)
51718 1575440 : idata = idata + 1
51719 1575440 : data_tmp = ISHFT(pack_tmp, 3)
51720 1575440 : ipack = ipack + 1
51721 1575440 : pack_tmp = packed_data(ipack)
51722 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
51723 1575440 : pack_tmp = ISHFT(pack_tmp, -3)
51724 1575440 : idata = idata + 1
51725 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
51726 1575440 : full_data(idata) = data_tmp
51727 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
51728 : END DO
51729 98465 : IF (Ndata_rep < Ndata) THEN
51730 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
51731 : END IF
51732 98465 : END SUBROUTINE bits2ints_61
51733 :
51734 : ! **************************************************************************************************
51735 : !> \brief ...
51736 : !> \param Ndata ...
51737 : !> \param packed_data ...
51738 : !> \param full_data ...
51739 : ! **************************************************************************************************
51740 24432 : 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(*)
51744 :
51745 : INTEGER, PARAMETER :: Nbits = 62
51746 :
51747 : INTEGER :: idata, ipack, kdata, Ndata_rep
51748 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
51749 :
51750 24432 : idata = 0
51751 24432 : ipack = 0
51752 24432 : Ndata_rep = (Ndata/64)*64
51753 24432 : DO kdata = 1, Ndata_rep, 64
51754 390912 : pack_tmp = 0
51755 390912 : idata = idata + 1
51756 390912 : data_tmp = full_data(idata)
51757 390912 : data_tmp = ISHFT(data_tmp, 2)
51758 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51759 390912 : pack_tmp = ISHFT(pack_tmp, -2)
51760 390912 : idata = idata + 1
51761 390912 : data_tmp = full_data(idata)
51762 390912 : data_tmp = ISHFT(data_tmp, 2)
51763 390912 : data_tmp = IAND(data_tmp, mask_left(2))
51764 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51765 390912 : ipack = ipack + 1
51766 390912 : packed_data(ipack) = pack_tmp
51767 390912 : data_tmp = full_data(idata)
51768 390912 : pack_tmp = ISHFT(data_tmp, 4)
51769 390912 : pack_tmp = ISHFT(pack_tmp, -4)
51770 390912 : idata = idata + 1
51771 390912 : data_tmp = full_data(idata)
51772 390912 : data_tmp = ISHFT(data_tmp, 2)
51773 390912 : data_tmp = IAND(data_tmp, mask_left(4))
51774 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51775 390912 : ipack = ipack + 1
51776 390912 : packed_data(ipack) = pack_tmp
51777 390912 : data_tmp = full_data(idata)
51778 390912 : pack_tmp = ISHFT(data_tmp, 6)
51779 390912 : pack_tmp = ISHFT(pack_tmp, -6)
51780 390912 : idata = idata + 1
51781 390912 : data_tmp = full_data(idata)
51782 390912 : data_tmp = ISHFT(data_tmp, 2)
51783 390912 : data_tmp = IAND(data_tmp, mask_left(6))
51784 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51785 390912 : ipack = ipack + 1
51786 390912 : packed_data(ipack) = pack_tmp
51787 390912 : data_tmp = full_data(idata)
51788 390912 : pack_tmp = ISHFT(data_tmp, 8)
51789 390912 : pack_tmp = ISHFT(pack_tmp, -8)
51790 390912 : idata = idata + 1
51791 390912 : data_tmp = full_data(idata)
51792 390912 : data_tmp = ISHFT(data_tmp, 2)
51793 390912 : data_tmp = IAND(data_tmp, mask_left(8))
51794 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51795 390912 : ipack = ipack + 1
51796 390912 : packed_data(ipack) = pack_tmp
51797 390912 : data_tmp = full_data(idata)
51798 390912 : pack_tmp = ISHFT(data_tmp, 10)
51799 390912 : pack_tmp = ISHFT(pack_tmp, -10)
51800 390912 : idata = idata + 1
51801 390912 : data_tmp = full_data(idata)
51802 390912 : data_tmp = ISHFT(data_tmp, 2)
51803 390912 : data_tmp = IAND(data_tmp, mask_left(10))
51804 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51805 390912 : ipack = ipack + 1
51806 390912 : packed_data(ipack) = pack_tmp
51807 390912 : data_tmp = full_data(idata)
51808 390912 : pack_tmp = ISHFT(data_tmp, 12)
51809 390912 : pack_tmp = ISHFT(pack_tmp, -12)
51810 390912 : idata = idata + 1
51811 390912 : data_tmp = full_data(idata)
51812 390912 : data_tmp = ISHFT(data_tmp, 2)
51813 390912 : data_tmp = IAND(data_tmp, mask_left(12))
51814 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51815 390912 : ipack = ipack + 1
51816 390912 : packed_data(ipack) = pack_tmp
51817 390912 : data_tmp = full_data(idata)
51818 390912 : pack_tmp = ISHFT(data_tmp, 14)
51819 390912 : pack_tmp = ISHFT(pack_tmp, -14)
51820 390912 : idata = idata + 1
51821 390912 : data_tmp = full_data(idata)
51822 390912 : data_tmp = ISHFT(data_tmp, 2)
51823 390912 : data_tmp = IAND(data_tmp, mask_left(14))
51824 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51825 390912 : ipack = ipack + 1
51826 390912 : packed_data(ipack) = pack_tmp
51827 390912 : data_tmp = full_data(idata)
51828 390912 : pack_tmp = ISHFT(data_tmp, 16)
51829 390912 : pack_tmp = ISHFT(pack_tmp, -16)
51830 390912 : idata = idata + 1
51831 390912 : data_tmp = full_data(idata)
51832 390912 : data_tmp = ISHFT(data_tmp, 2)
51833 390912 : data_tmp = IAND(data_tmp, mask_left(16))
51834 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51835 390912 : ipack = ipack + 1
51836 390912 : packed_data(ipack) = pack_tmp
51837 390912 : data_tmp = full_data(idata)
51838 390912 : pack_tmp = ISHFT(data_tmp, 18)
51839 390912 : pack_tmp = ISHFT(pack_tmp, -18)
51840 390912 : idata = idata + 1
51841 390912 : data_tmp = full_data(idata)
51842 390912 : data_tmp = ISHFT(data_tmp, 2)
51843 390912 : data_tmp = IAND(data_tmp, mask_left(18))
51844 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51845 390912 : ipack = ipack + 1
51846 390912 : packed_data(ipack) = pack_tmp
51847 390912 : data_tmp = full_data(idata)
51848 390912 : pack_tmp = ISHFT(data_tmp, 20)
51849 390912 : pack_tmp = ISHFT(pack_tmp, -20)
51850 390912 : idata = idata + 1
51851 390912 : data_tmp = full_data(idata)
51852 390912 : data_tmp = ISHFT(data_tmp, 2)
51853 390912 : data_tmp = IAND(data_tmp, mask_left(20))
51854 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51855 390912 : ipack = ipack + 1
51856 390912 : packed_data(ipack) = pack_tmp
51857 390912 : data_tmp = full_data(idata)
51858 390912 : pack_tmp = ISHFT(data_tmp, 22)
51859 390912 : pack_tmp = ISHFT(pack_tmp, -22)
51860 390912 : idata = idata + 1
51861 390912 : data_tmp = full_data(idata)
51862 390912 : data_tmp = ISHFT(data_tmp, 2)
51863 390912 : data_tmp = IAND(data_tmp, mask_left(22))
51864 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51865 390912 : ipack = ipack + 1
51866 390912 : packed_data(ipack) = pack_tmp
51867 390912 : data_tmp = full_data(idata)
51868 390912 : pack_tmp = ISHFT(data_tmp, 24)
51869 390912 : pack_tmp = ISHFT(pack_tmp, -24)
51870 390912 : idata = idata + 1
51871 390912 : data_tmp = full_data(idata)
51872 390912 : data_tmp = ISHFT(data_tmp, 2)
51873 390912 : data_tmp = IAND(data_tmp, mask_left(24))
51874 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51875 390912 : ipack = ipack + 1
51876 390912 : packed_data(ipack) = pack_tmp
51877 390912 : data_tmp = full_data(idata)
51878 390912 : pack_tmp = ISHFT(data_tmp, 26)
51879 390912 : pack_tmp = ISHFT(pack_tmp, -26)
51880 390912 : idata = idata + 1
51881 390912 : data_tmp = full_data(idata)
51882 390912 : data_tmp = ISHFT(data_tmp, 2)
51883 390912 : data_tmp = IAND(data_tmp, mask_left(26))
51884 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51885 390912 : ipack = ipack + 1
51886 390912 : packed_data(ipack) = pack_tmp
51887 390912 : data_tmp = full_data(idata)
51888 390912 : pack_tmp = ISHFT(data_tmp, 28)
51889 390912 : pack_tmp = ISHFT(pack_tmp, -28)
51890 390912 : idata = idata + 1
51891 390912 : data_tmp = full_data(idata)
51892 390912 : data_tmp = ISHFT(data_tmp, 2)
51893 390912 : data_tmp = IAND(data_tmp, mask_left(28))
51894 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51895 390912 : ipack = ipack + 1
51896 390912 : packed_data(ipack) = pack_tmp
51897 390912 : data_tmp = full_data(idata)
51898 390912 : pack_tmp = ISHFT(data_tmp, 30)
51899 390912 : pack_tmp = ISHFT(pack_tmp, -30)
51900 390912 : idata = idata + 1
51901 390912 : data_tmp = full_data(idata)
51902 390912 : data_tmp = ISHFT(data_tmp, 2)
51903 390912 : data_tmp = IAND(data_tmp, mask_left(30))
51904 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51905 390912 : ipack = ipack + 1
51906 390912 : packed_data(ipack) = pack_tmp
51907 390912 : data_tmp = full_data(idata)
51908 390912 : pack_tmp = ISHFT(data_tmp, 32)
51909 390912 : pack_tmp = ISHFT(pack_tmp, -32)
51910 390912 : idata = idata + 1
51911 390912 : data_tmp = full_data(idata)
51912 390912 : data_tmp = ISHFT(data_tmp, 2)
51913 390912 : data_tmp = IAND(data_tmp, mask_left(32))
51914 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51915 390912 : ipack = ipack + 1
51916 390912 : packed_data(ipack) = pack_tmp
51917 390912 : data_tmp = full_data(idata)
51918 390912 : pack_tmp = ISHFT(data_tmp, 34)
51919 390912 : pack_tmp = ISHFT(pack_tmp, -34)
51920 390912 : idata = idata + 1
51921 390912 : data_tmp = full_data(idata)
51922 390912 : data_tmp = ISHFT(data_tmp, 2)
51923 390912 : data_tmp = IAND(data_tmp, mask_left(34))
51924 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51925 390912 : ipack = ipack + 1
51926 390912 : packed_data(ipack) = pack_tmp
51927 390912 : data_tmp = full_data(idata)
51928 390912 : pack_tmp = ISHFT(data_tmp, 36)
51929 390912 : pack_tmp = ISHFT(pack_tmp, -36)
51930 390912 : idata = idata + 1
51931 390912 : data_tmp = full_data(idata)
51932 390912 : data_tmp = ISHFT(data_tmp, 2)
51933 390912 : data_tmp = IAND(data_tmp, mask_left(36))
51934 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51935 390912 : ipack = ipack + 1
51936 390912 : packed_data(ipack) = pack_tmp
51937 390912 : data_tmp = full_data(idata)
51938 390912 : pack_tmp = ISHFT(data_tmp, 38)
51939 390912 : pack_tmp = ISHFT(pack_tmp, -38)
51940 390912 : idata = idata + 1
51941 390912 : data_tmp = full_data(idata)
51942 390912 : data_tmp = ISHFT(data_tmp, 2)
51943 390912 : data_tmp = IAND(data_tmp, mask_left(38))
51944 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51945 390912 : ipack = ipack + 1
51946 390912 : packed_data(ipack) = pack_tmp
51947 390912 : data_tmp = full_data(idata)
51948 390912 : pack_tmp = ISHFT(data_tmp, 40)
51949 390912 : pack_tmp = ISHFT(pack_tmp, -40)
51950 390912 : idata = idata + 1
51951 390912 : data_tmp = full_data(idata)
51952 390912 : data_tmp = ISHFT(data_tmp, 2)
51953 390912 : data_tmp = IAND(data_tmp, mask_left(40))
51954 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51955 390912 : ipack = ipack + 1
51956 390912 : packed_data(ipack) = pack_tmp
51957 390912 : data_tmp = full_data(idata)
51958 390912 : pack_tmp = ISHFT(data_tmp, 42)
51959 390912 : pack_tmp = ISHFT(pack_tmp, -42)
51960 390912 : idata = idata + 1
51961 390912 : data_tmp = full_data(idata)
51962 390912 : data_tmp = ISHFT(data_tmp, 2)
51963 390912 : data_tmp = IAND(data_tmp, mask_left(42))
51964 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51965 390912 : ipack = ipack + 1
51966 390912 : packed_data(ipack) = pack_tmp
51967 390912 : data_tmp = full_data(idata)
51968 390912 : pack_tmp = ISHFT(data_tmp, 44)
51969 390912 : pack_tmp = ISHFT(pack_tmp, -44)
51970 390912 : idata = idata + 1
51971 390912 : data_tmp = full_data(idata)
51972 390912 : data_tmp = ISHFT(data_tmp, 2)
51973 390912 : data_tmp = IAND(data_tmp, mask_left(44))
51974 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51975 390912 : ipack = ipack + 1
51976 390912 : packed_data(ipack) = pack_tmp
51977 390912 : data_tmp = full_data(idata)
51978 390912 : pack_tmp = ISHFT(data_tmp, 46)
51979 390912 : pack_tmp = ISHFT(pack_tmp, -46)
51980 390912 : idata = idata + 1
51981 390912 : data_tmp = full_data(idata)
51982 390912 : data_tmp = ISHFT(data_tmp, 2)
51983 390912 : data_tmp = IAND(data_tmp, mask_left(46))
51984 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51985 390912 : ipack = ipack + 1
51986 390912 : packed_data(ipack) = pack_tmp
51987 390912 : data_tmp = full_data(idata)
51988 390912 : pack_tmp = ISHFT(data_tmp, 48)
51989 390912 : pack_tmp = ISHFT(pack_tmp, -48)
51990 390912 : idata = idata + 1
51991 390912 : data_tmp = full_data(idata)
51992 390912 : data_tmp = ISHFT(data_tmp, 2)
51993 390912 : data_tmp = IAND(data_tmp, mask_left(48))
51994 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
51995 390912 : ipack = ipack + 1
51996 390912 : packed_data(ipack) = pack_tmp
51997 390912 : data_tmp = full_data(idata)
51998 390912 : pack_tmp = ISHFT(data_tmp, 50)
51999 390912 : pack_tmp = ISHFT(pack_tmp, -50)
52000 390912 : idata = idata + 1
52001 390912 : data_tmp = full_data(idata)
52002 390912 : data_tmp = ISHFT(data_tmp, 2)
52003 390912 : data_tmp = IAND(data_tmp, mask_left(50))
52004 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52005 390912 : ipack = ipack + 1
52006 390912 : packed_data(ipack) = pack_tmp
52007 390912 : data_tmp = full_data(idata)
52008 390912 : pack_tmp = ISHFT(data_tmp, 52)
52009 390912 : pack_tmp = ISHFT(pack_tmp, -52)
52010 390912 : idata = idata + 1
52011 390912 : data_tmp = full_data(idata)
52012 390912 : data_tmp = ISHFT(data_tmp, 2)
52013 390912 : data_tmp = IAND(data_tmp, mask_left(52))
52014 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52015 390912 : ipack = ipack + 1
52016 390912 : packed_data(ipack) = pack_tmp
52017 390912 : data_tmp = full_data(idata)
52018 390912 : pack_tmp = ISHFT(data_tmp, 54)
52019 390912 : pack_tmp = ISHFT(pack_tmp, -54)
52020 390912 : idata = idata + 1
52021 390912 : data_tmp = full_data(idata)
52022 390912 : data_tmp = ISHFT(data_tmp, 2)
52023 390912 : data_tmp = IAND(data_tmp, mask_left(54))
52024 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52025 390912 : ipack = ipack + 1
52026 390912 : packed_data(ipack) = pack_tmp
52027 390912 : data_tmp = full_data(idata)
52028 390912 : pack_tmp = ISHFT(data_tmp, 56)
52029 390912 : pack_tmp = ISHFT(pack_tmp, -56)
52030 390912 : idata = idata + 1
52031 390912 : data_tmp = full_data(idata)
52032 390912 : data_tmp = ISHFT(data_tmp, 2)
52033 390912 : data_tmp = IAND(data_tmp, mask_left(56))
52034 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52035 390912 : ipack = ipack + 1
52036 390912 : packed_data(ipack) = pack_tmp
52037 390912 : data_tmp = full_data(idata)
52038 390912 : pack_tmp = ISHFT(data_tmp, 58)
52039 390912 : pack_tmp = ISHFT(pack_tmp, -58)
52040 390912 : idata = idata + 1
52041 390912 : data_tmp = full_data(idata)
52042 390912 : data_tmp = ISHFT(data_tmp, 2)
52043 390912 : data_tmp = IAND(data_tmp, mask_left(58))
52044 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52045 390912 : ipack = ipack + 1
52046 390912 : packed_data(ipack) = pack_tmp
52047 390912 : data_tmp = full_data(idata)
52048 390912 : pack_tmp = ISHFT(data_tmp, 60)
52049 390912 : pack_tmp = ISHFT(pack_tmp, -60)
52050 390912 : idata = idata + 1
52051 390912 : data_tmp = full_data(idata)
52052 390912 : data_tmp = ISHFT(data_tmp, 2)
52053 390912 : data_tmp = IAND(data_tmp, mask_left(60))
52054 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52055 390912 : ipack = ipack + 1
52056 390912 : packed_data(ipack) = pack_tmp
52057 390912 : data_tmp = full_data(idata)
52058 390912 : pack_tmp = ISHFT(data_tmp, 62)
52059 390912 : pack_tmp = ISHFT(pack_tmp, -62)
52060 390912 : idata = idata + 1
52061 390912 : data_tmp = full_data(idata)
52062 390912 : data_tmp = ISHFT(data_tmp, 2)
52063 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52064 390912 : pack_tmp = ISHFT(pack_tmp, 0)
52065 390912 : idata = idata + 1
52066 390912 : data_tmp = full_data(idata)
52067 : data_tmp = ISHFT(data_tmp, 2)
52068 390912 : data_tmp = IAND(data_tmp, mask_left(0))
52069 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52070 390912 : ipack = ipack + 1
52071 390912 : packed_data(ipack) = pack_tmp
52072 390912 : data_tmp = full_data(idata)
52073 390912 : pack_tmp = ISHFT(data_tmp, 2)
52074 390912 : pack_tmp = ISHFT(pack_tmp, -2)
52075 390912 : idata = idata + 1
52076 390912 : data_tmp = full_data(idata)
52077 390912 : data_tmp = ISHFT(data_tmp, 2)
52078 390912 : data_tmp = IAND(data_tmp, mask_left(2))
52079 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52080 390912 : ipack = ipack + 1
52081 390912 : packed_data(ipack) = pack_tmp
52082 390912 : data_tmp = full_data(idata)
52083 390912 : pack_tmp = ISHFT(data_tmp, 4)
52084 390912 : pack_tmp = ISHFT(pack_tmp, -4)
52085 390912 : idata = idata + 1
52086 390912 : data_tmp = full_data(idata)
52087 390912 : data_tmp = ISHFT(data_tmp, 2)
52088 390912 : data_tmp = IAND(data_tmp, mask_left(4))
52089 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52090 390912 : ipack = ipack + 1
52091 390912 : packed_data(ipack) = pack_tmp
52092 390912 : data_tmp = full_data(idata)
52093 390912 : pack_tmp = ISHFT(data_tmp, 6)
52094 390912 : pack_tmp = ISHFT(pack_tmp, -6)
52095 390912 : idata = idata + 1
52096 390912 : data_tmp = full_data(idata)
52097 390912 : data_tmp = ISHFT(data_tmp, 2)
52098 390912 : data_tmp = IAND(data_tmp, mask_left(6))
52099 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52100 390912 : ipack = ipack + 1
52101 390912 : packed_data(ipack) = pack_tmp
52102 390912 : data_tmp = full_data(idata)
52103 390912 : pack_tmp = ISHFT(data_tmp, 8)
52104 390912 : pack_tmp = ISHFT(pack_tmp, -8)
52105 390912 : idata = idata + 1
52106 390912 : data_tmp = full_data(idata)
52107 390912 : data_tmp = ISHFT(data_tmp, 2)
52108 390912 : data_tmp = IAND(data_tmp, mask_left(8))
52109 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52110 390912 : ipack = ipack + 1
52111 390912 : packed_data(ipack) = pack_tmp
52112 390912 : data_tmp = full_data(idata)
52113 390912 : pack_tmp = ISHFT(data_tmp, 10)
52114 390912 : pack_tmp = ISHFT(pack_tmp, -10)
52115 390912 : idata = idata + 1
52116 390912 : data_tmp = full_data(idata)
52117 390912 : data_tmp = ISHFT(data_tmp, 2)
52118 390912 : data_tmp = IAND(data_tmp, mask_left(10))
52119 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52120 390912 : ipack = ipack + 1
52121 390912 : packed_data(ipack) = pack_tmp
52122 390912 : data_tmp = full_data(idata)
52123 390912 : pack_tmp = ISHFT(data_tmp, 12)
52124 390912 : pack_tmp = ISHFT(pack_tmp, -12)
52125 390912 : idata = idata + 1
52126 390912 : data_tmp = full_data(idata)
52127 390912 : data_tmp = ISHFT(data_tmp, 2)
52128 390912 : data_tmp = IAND(data_tmp, mask_left(12))
52129 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52130 390912 : ipack = ipack + 1
52131 390912 : packed_data(ipack) = pack_tmp
52132 390912 : data_tmp = full_data(idata)
52133 390912 : pack_tmp = ISHFT(data_tmp, 14)
52134 390912 : pack_tmp = ISHFT(pack_tmp, -14)
52135 390912 : idata = idata + 1
52136 390912 : data_tmp = full_data(idata)
52137 390912 : data_tmp = ISHFT(data_tmp, 2)
52138 390912 : data_tmp = IAND(data_tmp, mask_left(14))
52139 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52140 390912 : ipack = ipack + 1
52141 390912 : packed_data(ipack) = pack_tmp
52142 390912 : data_tmp = full_data(idata)
52143 390912 : pack_tmp = ISHFT(data_tmp, 16)
52144 390912 : pack_tmp = ISHFT(pack_tmp, -16)
52145 390912 : idata = idata + 1
52146 390912 : data_tmp = full_data(idata)
52147 390912 : data_tmp = ISHFT(data_tmp, 2)
52148 390912 : data_tmp = IAND(data_tmp, mask_left(16))
52149 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52150 390912 : ipack = ipack + 1
52151 390912 : packed_data(ipack) = pack_tmp
52152 390912 : data_tmp = full_data(idata)
52153 390912 : pack_tmp = ISHFT(data_tmp, 18)
52154 390912 : pack_tmp = ISHFT(pack_tmp, -18)
52155 390912 : idata = idata + 1
52156 390912 : data_tmp = full_data(idata)
52157 390912 : data_tmp = ISHFT(data_tmp, 2)
52158 390912 : data_tmp = IAND(data_tmp, mask_left(18))
52159 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52160 390912 : ipack = ipack + 1
52161 390912 : packed_data(ipack) = pack_tmp
52162 390912 : data_tmp = full_data(idata)
52163 390912 : pack_tmp = ISHFT(data_tmp, 20)
52164 390912 : pack_tmp = ISHFT(pack_tmp, -20)
52165 390912 : idata = idata + 1
52166 390912 : data_tmp = full_data(idata)
52167 390912 : data_tmp = ISHFT(data_tmp, 2)
52168 390912 : data_tmp = IAND(data_tmp, mask_left(20))
52169 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52170 390912 : ipack = ipack + 1
52171 390912 : packed_data(ipack) = pack_tmp
52172 390912 : data_tmp = full_data(idata)
52173 390912 : pack_tmp = ISHFT(data_tmp, 22)
52174 390912 : pack_tmp = ISHFT(pack_tmp, -22)
52175 390912 : idata = idata + 1
52176 390912 : data_tmp = full_data(idata)
52177 390912 : data_tmp = ISHFT(data_tmp, 2)
52178 390912 : data_tmp = IAND(data_tmp, mask_left(22))
52179 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52180 390912 : ipack = ipack + 1
52181 390912 : packed_data(ipack) = pack_tmp
52182 390912 : data_tmp = full_data(idata)
52183 390912 : pack_tmp = ISHFT(data_tmp, 24)
52184 390912 : pack_tmp = ISHFT(pack_tmp, -24)
52185 390912 : idata = idata + 1
52186 390912 : data_tmp = full_data(idata)
52187 390912 : data_tmp = ISHFT(data_tmp, 2)
52188 390912 : data_tmp = IAND(data_tmp, mask_left(24))
52189 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52190 390912 : ipack = ipack + 1
52191 390912 : packed_data(ipack) = pack_tmp
52192 390912 : data_tmp = full_data(idata)
52193 390912 : pack_tmp = ISHFT(data_tmp, 26)
52194 390912 : pack_tmp = ISHFT(pack_tmp, -26)
52195 390912 : idata = idata + 1
52196 390912 : data_tmp = full_data(idata)
52197 390912 : data_tmp = ISHFT(data_tmp, 2)
52198 390912 : data_tmp = IAND(data_tmp, mask_left(26))
52199 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52200 390912 : ipack = ipack + 1
52201 390912 : packed_data(ipack) = pack_tmp
52202 390912 : data_tmp = full_data(idata)
52203 390912 : pack_tmp = ISHFT(data_tmp, 28)
52204 390912 : pack_tmp = ISHFT(pack_tmp, -28)
52205 390912 : idata = idata + 1
52206 390912 : data_tmp = full_data(idata)
52207 390912 : data_tmp = ISHFT(data_tmp, 2)
52208 390912 : data_tmp = IAND(data_tmp, mask_left(28))
52209 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52210 390912 : ipack = ipack + 1
52211 390912 : packed_data(ipack) = pack_tmp
52212 390912 : data_tmp = full_data(idata)
52213 390912 : pack_tmp = ISHFT(data_tmp, 30)
52214 390912 : pack_tmp = ISHFT(pack_tmp, -30)
52215 390912 : idata = idata + 1
52216 390912 : data_tmp = full_data(idata)
52217 390912 : data_tmp = ISHFT(data_tmp, 2)
52218 390912 : data_tmp = IAND(data_tmp, mask_left(30))
52219 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52220 390912 : ipack = ipack + 1
52221 390912 : packed_data(ipack) = pack_tmp
52222 390912 : data_tmp = full_data(idata)
52223 390912 : pack_tmp = ISHFT(data_tmp, 32)
52224 390912 : pack_tmp = ISHFT(pack_tmp, -32)
52225 390912 : idata = idata + 1
52226 390912 : data_tmp = full_data(idata)
52227 390912 : data_tmp = ISHFT(data_tmp, 2)
52228 390912 : data_tmp = IAND(data_tmp, mask_left(32))
52229 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52230 390912 : ipack = ipack + 1
52231 390912 : packed_data(ipack) = pack_tmp
52232 390912 : data_tmp = full_data(idata)
52233 390912 : pack_tmp = ISHFT(data_tmp, 34)
52234 390912 : pack_tmp = ISHFT(pack_tmp, -34)
52235 390912 : idata = idata + 1
52236 390912 : data_tmp = full_data(idata)
52237 390912 : data_tmp = ISHFT(data_tmp, 2)
52238 390912 : data_tmp = IAND(data_tmp, mask_left(34))
52239 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52240 390912 : ipack = ipack + 1
52241 390912 : packed_data(ipack) = pack_tmp
52242 390912 : data_tmp = full_data(idata)
52243 390912 : pack_tmp = ISHFT(data_tmp, 36)
52244 390912 : pack_tmp = ISHFT(pack_tmp, -36)
52245 390912 : idata = idata + 1
52246 390912 : data_tmp = full_data(idata)
52247 390912 : data_tmp = ISHFT(data_tmp, 2)
52248 390912 : data_tmp = IAND(data_tmp, mask_left(36))
52249 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52250 390912 : ipack = ipack + 1
52251 390912 : packed_data(ipack) = pack_tmp
52252 390912 : data_tmp = full_data(idata)
52253 390912 : pack_tmp = ISHFT(data_tmp, 38)
52254 390912 : pack_tmp = ISHFT(pack_tmp, -38)
52255 390912 : idata = idata + 1
52256 390912 : data_tmp = full_data(idata)
52257 390912 : data_tmp = ISHFT(data_tmp, 2)
52258 390912 : data_tmp = IAND(data_tmp, mask_left(38))
52259 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52260 390912 : ipack = ipack + 1
52261 390912 : packed_data(ipack) = pack_tmp
52262 390912 : data_tmp = full_data(idata)
52263 390912 : pack_tmp = ISHFT(data_tmp, 40)
52264 390912 : pack_tmp = ISHFT(pack_tmp, -40)
52265 390912 : idata = idata + 1
52266 390912 : data_tmp = full_data(idata)
52267 390912 : data_tmp = ISHFT(data_tmp, 2)
52268 390912 : data_tmp = IAND(data_tmp, mask_left(40))
52269 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52270 390912 : ipack = ipack + 1
52271 390912 : packed_data(ipack) = pack_tmp
52272 390912 : data_tmp = full_data(idata)
52273 390912 : pack_tmp = ISHFT(data_tmp, 42)
52274 390912 : pack_tmp = ISHFT(pack_tmp, -42)
52275 390912 : idata = idata + 1
52276 390912 : data_tmp = full_data(idata)
52277 390912 : data_tmp = ISHFT(data_tmp, 2)
52278 390912 : data_tmp = IAND(data_tmp, mask_left(42))
52279 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52280 390912 : ipack = ipack + 1
52281 390912 : packed_data(ipack) = pack_tmp
52282 390912 : data_tmp = full_data(idata)
52283 390912 : pack_tmp = ISHFT(data_tmp, 44)
52284 390912 : pack_tmp = ISHFT(pack_tmp, -44)
52285 390912 : idata = idata + 1
52286 390912 : data_tmp = full_data(idata)
52287 390912 : data_tmp = ISHFT(data_tmp, 2)
52288 390912 : data_tmp = IAND(data_tmp, mask_left(44))
52289 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52290 390912 : ipack = ipack + 1
52291 390912 : packed_data(ipack) = pack_tmp
52292 390912 : data_tmp = full_data(idata)
52293 390912 : pack_tmp = ISHFT(data_tmp, 46)
52294 390912 : pack_tmp = ISHFT(pack_tmp, -46)
52295 390912 : idata = idata + 1
52296 390912 : data_tmp = full_data(idata)
52297 390912 : data_tmp = ISHFT(data_tmp, 2)
52298 390912 : data_tmp = IAND(data_tmp, mask_left(46))
52299 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52300 390912 : ipack = ipack + 1
52301 390912 : packed_data(ipack) = pack_tmp
52302 390912 : data_tmp = full_data(idata)
52303 390912 : pack_tmp = ISHFT(data_tmp, 48)
52304 390912 : pack_tmp = ISHFT(pack_tmp, -48)
52305 390912 : idata = idata + 1
52306 390912 : data_tmp = full_data(idata)
52307 390912 : data_tmp = ISHFT(data_tmp, 2)
52308 390912 : data_tmp = IAND(data_tmp, mask_left(48))
52309 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52310 390912 : ipack = ipack + 1
52311 390912 : packed_data(ipack) = pack_tmp
52312 390912 : data_tmp = full_data(idata)
52313 390912 : pack_tmp = ISHFT(data_tmp, 50)
52314 390912 : pack_tmp = ISHFT(pack_tmp, -50)
52315 390912 : idata = idata + 1
52316 390912 : data_tmp = full_data(idata)
52317 390912 : data_tmp = ISHFT(data_tmp, 2)
52318 390912 : data_tmp = IAND(data_tmp, mask_left(50))
52319 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52320 390912 : ipack = ipack + 1
52321 390912 : packed_data(ipack) = pack_tmp
52322 390912 : data_tmp = full_data(idata)
52323 390912 : pack_tmp = ISHFT(data_tmp, 52)
52324 390912 : pack_tmp = ISHFT(pack_tmp, -52)
52325 390912 : idata = idata + 1
52326 390912 : data_tmp = full_data(idata)
52327 390912 : data_tmp = ISHFT(data_tmp, 2)
52328 390912 : data_tmp = IAND(data_tmp, mask_left(52))
52329 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52330 390912 : ipack = ipack + 1
52331 390912 : packed_data(ipack) = pack_tmp
52332 390912 : data_tmp = full_data(idata)
52333 390912 : pack_tmp = ISHFT(data_tmp, 54)
52334 390912 : pack_tmp = ISHFT(pack_tmp, -54)
52335 390912 : idata = idata + 1
52336 390912 : data_tmp = full_data(idata)
52337 390912 : data_tmp = ISHFT(data_tmp, 2)
52338 390912 : data_tmp = IAND(data_tmp, mask_left(54))
52339 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52340 390912 : ipack = ipack + 1
52341 390912 : packed_data(ipack) = pack_tmp
52342 390912 : data_tmp = full_data(idata)
52343 390912 : pack_tmp = ISHFT(data_tmp, 56)
52344 390912 : pack_tmp = ISHFT(pack_tmp, -56)
52345 390912 : idata = idata + 1
52346 390912 : data_tmp = full_data(idata)
52347 390912 : data_tmp = ISHFT(data_tmp, 2)
52348 390912 : data_tmp = IAND(data_tmp, mask_left(56))
52349 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52350 390912 : ipack = ipack + 1
52351 390912 : packed_data(ipack) = pack_tmp
52352 390912 : data_tmp = full_data(idata)
52353 390912 : pack_tmp = ISHFT(data_tmp, 58)
52354 390912 : pack_tmp = ISHFT(pack_tmp, -58)
52355 390912 : idata = idata + 1
52356 390912 : data_tmp = full_data(idata)
52357 390912 : data_tmp = ISHFT(data_tmp, 2)
52358 390912 : data_tmp = IAND(data_tmp, mask_left(58))
52359 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52360 390912 : ipack = ipack + 1
52361 390912 : packed_data(ipack) = pack_tmp
52362 390912 : data_tmp = full_data(idata)
52363 390912 : pack_tmp = ISHFT(data_tmp, 60)
52364 390912 : pack_tmp = ISHFT(pack_tmp, -60)
52365 390912 : idata = idata + 1
52366 390912 : data_tmp = full_data(idata)
52367 390912 : data_tmp = ISHFT(data_tmp, 2)
52368 390912 : data_tmp = IAND(data_tmp, mask_left(60))
52369 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52370 390912 : ipack = ipack + 1
52371 390912 : packed_data(ipack) = pack_tmp
52372 390912 : data_tmp = full_data(idata)
52373 390912 : pack_tmp = ISHFT(data_tmp, 62)
52374 390912 : pack_tmp = ISHFT(pack_tmp, -62)
52375 390912 : idata = idata + 1
52376 390912 : data_tmp = full_data(idata)
52377 390912 : data_tmp = ISHFT(data_tmp, 2)
52378 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52379 : pack_tmp = ISHFT(pack_tmp, 0)
52380 390912 : pack_tmp = ISHFT(pack_tmp, 0)
52381 390912 : ipack = ipack + 1
52382 390912 : packed_data(ipack) = pack_tmp
52383 : END DO
52384 24432 : IF (Ndata_rep < Ndata) THEN
52385 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
52386 : END IF
52387 24432 : END SUBROUTINE ints2bits_62
52388 :
52389 : ! **************************************************************************************************
52390 : !> \brief ...
52391 : !> \param Ndata ...
52392 : !> \param packed_data ...
52393 : !> \param full_data ...
52394 : ! **************************************************************************************************
52395 98465 : 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(*)
52399 :
52400 : INTEGER, PARAMETER :: Nbits = 62
52401 :
52402 : INTEGER :: idata, ipack, kdata, Ndata_rep
52403 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
52404 :
52405 98465 : ipack = 0
52406 98465 : idata = 0
52407 98465 : pack_tmp = 0
52408 98465 : Ndata_rep = (Ndata/64)*64
52409 98465 : DO kdata = 1, Ndata_rep, 64
52410 1575440 : idata = idata + 1
52411 1575440 : data_tmp = ISHFT(pack_tmp, 62)
52412 1575440 : ipack = ipack + 1
52413 1575440 : pack_tmp = packed_data(ipack)
52414 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(62)))
52415 1575440 : pack_tmp = ISHFT(pack_tmp, -62)
52416 1575440 : idata = idata + 1
52417 1575440 : data_tmp = ISHFT(pack_tmp, 60)
52418 1575440 : ipack = ipack + 1
52419 1575440 : pack_tmp = packed_data(ipack)
52420 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
52421 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
52422 1575440 : idata = idata + 1
52423 1575440 : data_tmp = ISHFT(pack_tmp, 58)
52424 1575440 : ipack = ipack + 1
52425 1575440 : pack_tmp = packed_data(ipack)
52426 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
52427 1575440 : pack_tmp = ISHFT(pack_tmp, -58)
52428 1575440 : idata = idata + 1
52429 1575440 : data_tmp = ISHFT(pack_tmp, 56)
52430 1575440 : ipack = ipack + 1
52431 1575440 : pack_tmp = packed_data(ipack)
52432 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
52433 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
52434 1575440 : idata = idata + 1
52435 1575440 : data_tmp = ISHFT(pack_tmp, 54)
52436 1575440 : ipack = ipack + 1
52437 1575440 : pack_tmp = packed_data(ipack)
52438 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
52439 1575440 : pack_tmp = ISHFT(pack_tmp, -54)
52440 1575440 : idata = idata + 1
52441 1575440 : data_tmp = ISHFT(pack_tmp, 52)
52442 1575440 : ipack = ipack + 1
52443 1575440 : pack_tmp = packed_data(ipack)
52444 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
52445 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
52446 1575440 : idata = idata + 1
52447 1575440 : data_tmp = ISHFT(pack_tmp, 50)
52448 1575440 : ipack = ipack + 1
52449 1575440 : pack_tmp = packed_data(ipack)
52450 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
52451 1575440 : pack_tmp = ISHFT(pack_tmp, -50)
52452 1575440 : idata = idata + 1
52453 1575440 : data_tmp = ISHFT(pack_tmp, 48)
52454 1575440 : ipack = ipack + 1
52455 1575440 : pack_tmp = packed_data(ipack)
52456 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
52457 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
52458 1575440 : idata = idata + 1
52459 1575440 : data_tmp = ISHFT(pack_tmp, 46)
52460 1575440 : ipack = ipack + 1
52461 1575440 : pack_tmp = packed_data(ipack)
52462 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
52463 1575440 : pack_tmp = ISHFT(pack_tmp, -46)
52464 1575440 : idata = idata + 1
52465 1575440 : data_tmp = ISHFT(pack_tmp, 44)
52466 1575440 : ipack = ipack + 1
52467 1575440 : pack_tmp = packed_data(ipack)
52468 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
52469 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
52470 1575440 : idata = idata + 1
52471 1575440 : data_tmp = ISHFT(pack_tmp, 42)
52472 1575440 : ipack = ipack + 1
52473 1575440 : pack_tmp = packed_data(ipack)
52474 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
52475 1575440 : pack_tmp = ISHFT(pack_tmp, -42)
52476 1575440 : idata = idata + 1
52477 1575440 : data_tmp = ISHFT(pack_tmp, 40)
52478 1575440 : ipack = ipack + 1
52479 1575440 : pack_tmp = packed_data(ipack)
52480 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
52481 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
52482 1575440 : idata = idata + 1
52483 1575440 : data_tmp = ISHFT(pack_tmp, 38)
52484 1575440 : ipack = ipack + 1
52485 1575440 : pack_tmp = packed_data(ipack)
52486 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
52487 1575440 : pack_tmp = ISHFT(pack_tmp, -38)
52488 1575440 : idata = idata + 1
52489 1575440 : data_tmp = ISHFT(pack_tmp, 36)
52490 1575440 : ipack = ipack + 1
52491 1575440 : pack_tmp = packed_data(ipack)
52492 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
52493 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
52494 1575440 : idata = idata + 1
52495 1575440 : data_tmp = ISHFT(pack_tmp, 34)
52496 1575440 : ipack = ipack + 1
52497 1575440 : pack_tmp = packed_data(ipack)
52498 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
52499 1575440 : pack_tmp = ISHFT(pack_tmp, -34)
52500 1575440 : idata = idata + 1
52501 1575440 : data_tmp = ISHFT(pack_tmp, 32)
52502 1575440 : ipack = ipack + 1
52503 1575440 : pack_tmp = packed_data(ipack)
52504 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
52505 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
52506 1575440 : idata = idata + 1
52507 1575440 : data_tmp = ISHFT(pack_tmp, 30)
52508 1575440 : ipack = ipack + 1
52509 1575440 : pack_tmp = packed_data(ipack)
52510 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
52511 1575440 : pack_tmp = ISHFT(pack_tmp, -30)
52512 1575440 : idata = idata + 1
52513 1575440 : data_tmp = ISHFT(pack_tmp, 28)
52514 1575440 : ipack = ipack + 1
52515 1575440 : pack_tmp = packed_data(ipack)
52516 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
52517 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
52518 1575440 : idata = idata + 1
52519 1575440 : data_tmp = ISHFT(pack_tmp, 26)
52520 1575440 : ipack = ipack + 1
52521 1575440 : pack_tmp = packed_data(ipack)
52522 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
52523 1575440 : pack_tmp = ISHFT(pack_tmp, -26)
52524 1575440 : idata = idata + 1
52525 1575440 : data_tmp = ISHFT(pack_tmp, 24)
52526 1575440 : ipack = ipack + 1
52527 1575440 : pack_tmp = packed_data(ipack)
52528 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
52529 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
52530 1575440 : idata = idata + 1
52531 1575440 : data_tmp = ISHFT(pack_tmp, 22)
52532 1575440 : ipack = ipack + 1
52533 1575440 : pack_tmp = packed_data(ipack)
52534 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
52535 1575440 : pack_tmp = ISHFT(pack_tmp, -22)
52536 1575440 : idata = idata + 1
52537 1575440 : data_tmp = ISHFT(pack_tmp, 20)
52538 1575440 : ipack = ipack + 1
52539 1575440 : pack_tmp = packed_data(ipack)
52540 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
52541 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
52542 1575440 : idata = idata + 1
52543 1575440 : data_tmp = ISHFT(pack_tmp, 18)
52544 1575440 : ipack = ipack + 1
52545 1575440 : pack_tmp = packed_data(ipack)
52546 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
52547 1575440 : pack_tmp = ISHFT(pack_tmp, -18)
52548 1575440 : idata = idata + 1
52549 1575440 : data_tmp = ISHFT(pack_tmp, 16)
52550 1575440 : ipack = ipack + 1
52551 1575440 : pack_tmp = packed_data(ipack)
52552 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
52553 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
52554 1575440 : idata = idata + 1
52555 1575440 : data_tmp = ISHFT(pack_tmp, 14)
52556 1575440 : ipack = ipack + 1
52557 1575440 : pack_tmp = packed_data(ipack)
52558 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
52559 1575440 : pack_tmp = ISHFT(pack_tmp, -14)
52560 1575440 : idata = idata + 1
52561 1575440 : data_tmp = ISHFT(pack_tmp, 12)
52562 1575440 : ipack = ipack + 1
52563 1575440 : pack_tmp = packed_data(ipack)
52564 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
52565 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
52566 1575440 : idata = idata + 1
52567 1575440 : data_tmp = ISHFT(pack_tmp, 10)
52568 1575440 : ipack = ipack + 1
52569 1575440 : pack_tmp = packed_data(ipack)
52570 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
52571 1575440 : pack_tmp = ISHFT(pack_tmp, -10)
52572 1575440 : idata = idata + 1
52573 1575440 : data_tmp = ISHFT(pack_tmp, 8)
52574 1575440 : ipack = ipack + 1
52575 1575440 : pack_tmp = packed_data(ipack)
52576 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
52577 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
52578 1575440 : idata = idata + 1
52579 1575440 : data_tmp = ISHFT(pack_tmp, 6)
52580 1575440 : ipack = ipack + 1
52581 1575440 : pack_tmp = packed_data(ipack)
52582 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
52583 1575440 : pack_tmp = ISHFT(pack_tmp, -6)
52584 1575440 : idata = idata + 1
52585 1575440 : data_tmp = ISHFT(pack_tmp, 4)
52586 1575440 : ipack = ipack + 1
52587 1575440 : pack_tmp = packed_data(ipack)
52588 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
52589 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
52590 1575440 : idata = idata + 1
52591 1575440 : data_tmp = ISHFT(pack_tmp, 2)
52592 1575440 : ipack = ipack + 1
52593 1575440 : pack_tmp = packed_data(ipack)
52594 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
52595 1575440 : pack_tmp = ISHFT(pack_tmp, -2)
52596 1575440 : idata = idata + 1
52597 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
52598 1575440 : full_data(idata) = data_tmp
52599 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
52600 1575440 : idata = idata + 1
52601 1575440 : data_tmp = ISHFT(pack_tmp, 62)
52602 1575440 : ipack = ipack + 1
52603 1575440 : pack_tmp = packed_data(ipack)
52604 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(62)))
52605 1575440 : pack_tmp = ISHFT(pack_tmp, -62)
52606 1575440 : idata = idata + 1
52607 1575440 : data_tmp = ISHFT(pack_tmp, 60)
52608 1575440 : ipack = ipack + 1
52609 1575440 : pack_tmp = packed_data(ipack)
52610 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
52611 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
52612 1575440 : idata = idata + 1
52613 1575440 : data_tmp = ISHFT(pack_tmp, 58)
52614 1575440 : ipack = ipack + 1
52615 1575440 : pack_tmp = packed_data(ipack)
52616 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
52617 1575440 : pack_tmp = ISHFT(pack_tmp, -58)
52618 1575440 : idata = idata + 1
52619 1575440 : data_tmp = ISHFT(pack_tmp, 56)
52620 1575440 : ipack = ipack + 1
52621 1575440 : pack_tmp = packed_data(ipack)
52622 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
52623 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
52624 1575440 : idata = idata + 1
52625 1575440 : data_tmp = ISHFT(pack_tmp, 54)
52626 1575440 : ipack = ipack + 1
52627 1575440 : pack_tmp = packed_data(ipack)
52628 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
52629 1575440 : pack_tmp = ISHFT(pack_tmp, -54)
52630 1575440 : idata = idata + 1
52631 1575440 : data_tmp = ISHFT(pack_tmp, 52)
52632 1575440 : ipack = ipack + 1
52633 1575440 : pack_tmp = packed_data(ipack)
52634 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
52635 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
52636 1575440 : idata = idata + 1
52637 1575440 : data_tmp = ISHFT(pack_tmp, 50)
52638 1575440 : ipack = ipack + 1
52639 1575440 : pack_tmp = packed_data(ipack)
52640 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
52641 1575440 : pack_tmp = ISHFT(pack_tmp, -50)
52642 1575440 : idata = idata + 1
52643 1575440 : data_tmp = ISHFT(pack_tmp, 48)
52644 1575440 : ipack = ipack + 1
52645 1575440 : pack_tmp = packed_data(ipack)
52646 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
52647 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
52648 1575440 : idata = idata + 1
52649 1575440 : data_tmp = ISHFT(pack_tmp, 46)
52650 1575440 : ipack = ipack + 1
52651 1575440 : pack_tmp = packed_data(ipack)
52652 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
52653 1575440 : pack_tmp = ISHFT(pack_tmp, -46)
52654 1575440 : idata = idata + 1
52655 1575440 : data_tmp = ISHFT(pack_tmp, 44)
52656 1575440 : ipack = ipack + 1
52657 1575440 : pack_tmp = packed_data(ipack)
52658 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
52659 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
52660 1575440 : idata = idata + 1
52661 1575440 : data_tmp = ISHFT(pack_tmp, 42)
52662 1575440 : ipack = ipack + 1
52663 1575440 : pack_tmp = packed_data(ipack)
52664 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
52665 1575440 : pack_tmp = ISHFT(pack_tmp, -42)
52666 1575440 : idata = idata + 1
52667 1575440 : data_tmp = ISHFT(pack_tmp, 40)
52668 1575440 : ipack = ipack + 1
52669 1575440 : pack_tmp = packed_data(ipack)
52670 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
52671 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
52672 1575440 : idata = idata + 1
52673 1575440 : data_tmp = ISHFT(pack_tmp, 38)
52674 1575440 : ipack = ipack + 1
52675 1575440 : pack_tmp = packed_data(ipack)
52676 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
52677 1575440 : pack_tmp = ISHFT(pack_tmp, -38)
52678 1575440 : idata = idata + 1
52679 1575440 : data_tmp = ISHFT(pack_tmp, 36)
52680 1575440 : ipack = ipack + 1
52681 1575440 : pack_tmp = packed_data(ipack)
52682 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
52683 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
52684 1575440 : idata = idata + 1
52685 1575440 : data_tmp = ISHFT(pack_tmp, 34)
52686 1575440 : ipack = ipack + 1
52687 1575440 : pack_tmp = packed_data(ipack)
52688 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
52689 1575440 : pack_tmp = ISHFT(pack_tmp, -34)
52690 1575440 : idata = idata + 1
52691 1575440 : data_tmp = ISHFT(pack_tmp, 32)
52692 1575440 : ipack = ipack + 1
52693 1575440 : pack_tmp = packed_data(ipack)
52694 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
52695 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
52696 1575440 : idata = idata + 1
52697 1575440 : data_tmp = ISHFT(pack_tmp, 30)
52698 1575440 : ipack = ipack + 1
52699 1575440 : pack_tmp = packed_data(ipack)
52700 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
52701 1575440 : pack_tmp = ISHFT(pack_tmp, -30)
52702 1575440 : idata = idata + 1
52703 1575440 : data_tmp = ISHFT(pack_tmp, 28)
52704 1575440 : ipack = ipack + 1
52705 1575440 : pack_tmp = packed_data(ipack)
52706 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
52707 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
52708 1575440 : idata = idata + 1
52709 1575440 : data_tmp = ISHFT(pack_tmp, 26)
52710 1575440 : ipack = ipack + 1
52711 1575440 : pack_tmp = packed_data(ipack)
52712 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
52713 1575440 : pack_tmp = ISHFT(pack_tmp, -26)
52714 1575440 : idata = idata + 1
52715 1575440 : data_tmp = ISHFT(pack_tmp, 24)
52716 1575440 : ipack = ipack + 1
52717 1575440 : pack_tmp = packed_data(ipack)
52718 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
52719 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
52720 1575440 : idata = idata + 1
52721 1575440 : data_tmp = ISHFT(pack_tmp, 22)
52722 1575440 : ipack = ipack + 1
52723 1575440 : pack_tmp = packed_data(ipack)
52724 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
52725 1575440 : pack_tmp = ISHFT(pack_tmp, -22)
52726 1575440 : idata = idata + 1
52727 1575440 : data_tmp = ISHFT(pack_tmp, 20)
52728 1575440 : ipack = ipack + 1
52729 1575440 : pack_tmp = packed_data(ipack)
52730 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
52731 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
52732 1575440 : idata = idata + 1
52733 1575440 : data_tmp = ISHFT(pack_tmp, 18)
52734 1575440 : ipack = ipack + 1
52735 1575440 : pack_tmp = packed_data(ipack)
52736 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
52737 1575440 : pack_tmp = ISHFT(pack_tmp, -18)
52738 1575440 : idata = idata + 1
52739 1575440 : data_tmp = ISHFT(pack_tmp, 16)
52740 1575440 : ipack = ipack + 1
52741 1575440 : pack_tmp = packed_data(ipack)
52742 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
52743 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
52744 1575440 : idata = idata + 1
52745 1575440 : data_tmp = ISHFT(pack_tmp, 14)
52746 1575440 : ipack = ipack + 1
52747 1575440 : pack_tmp = packed_data(ipack)
52748 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
52749 1575440 : pack_tmp = ISHFT(pack_tmp, -14)
52750 1575440 : idata = idata + 1
52751 1575440 : data_tmp = ISHFT(pack_tmp, 12)
52752 1575440 : ipack = ipack + 1
52753 1575440 : pack_tmp = packed_data(ipack)
52754 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
52755 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
52756 1575440 : idata = idata + 1
52757 1575440 : data_tmp = ISHFT(pack_tmp, 10)
52758 1575440 : ipack = ipack + 1
52759 1575440 : pack_tmp = packed_data(ipack)
52760 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
52761 1575440 : pack_tmp = ISHFT(pack_tmp, -10)
52762 1575440 : idata = idata + 1
52763 1575440 : data_tmp = ISHFT(pack_tmp, 8)
52764 1575440 : ipack = ipack + 1
52765 1575440 : pack_tmp = packed_data(ipack)
52766 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
52767 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
52768 1575440 : idata = idata + 1
52769 1575440 : data_tmp = ISHFT(pack_tmp, 6)
52770 1575440 : ipack = ipack + 1
52771 1575440 : pack_tmp = packed_data(ipack)
52772 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
52773 1575440 : pack_tmp = ISHFT(pack_tmp, -6)
52774 1575440 : idata = idata + 1
52775 1575440 : data_tmp = ISHFT(pack_tmp, 4)
52776 1575440 : ipack = ipack + 1
52777 1575440 : pack_tmp = packed_data(ipack)
52778 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
52779 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
52780 1575440 : idata = idata + 1
52781 1575440 : data_tmp = ISHFT(pack_tmp, 2)
52782 1575440 : ipack = ipack + 1
52783 1575440 : pack_tmp = packed_data(ipack)
52784 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
52785 1575440 : pack_tmp = ISHFT(pack_tmp, -2)
52786 1575440 : idata = idata + 1
52787 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
52788 1575440 : full_data(idata) = data_tmp
52789 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
52790 : END DO
52791 98465 : IF (Ndata_rep < Ndata) THEN
52792 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
52793 : END IF
52794 98465 : END SUBROUTINE bits2ints_62
52795 :
52796 : ! **************************************************************************************************
52797 : !> \brief ...
52798 : !> \param Ndata ...
52799 : !> \param packed_data ...
52800 : !> \param full_data ...
52801 : ! **************************************************************************************************
52802 24432 : 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(*)
52806 :
52807 : INTEGER, PARAMETER :: Nbits = 63
52808 :
52809 : INTEGER :: idata, ipack, kdata, Ndata_rep
52810 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
52811 :
52812 24432 : idata = 0
52813 24432 : ipack = 0
52814 24432 : Ndata_rep = (Ndata/64)*64
52815 24432 : DO kdata = 1, Ndata_rep, 64
52816 390912 : pack_tmp = 0
52817 390912 : idata = idata + 1
52818 390912 : data_tmp = full_data(idata)
52819 390912 : data_tmp = ISHFT(data_tmp, 1)
52820 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52821 390912 : pack_tmp = ISHFT(pack_tmp, -1)
52822 390912 : idata = idata + 1
52823 390912 : data_tmp = full_data(idata)
52824 390912 : data_tmp = ISHFT(data_tmp, 1)
52825 390912 : data_tmp = IAND(data_tmp, mask_left(1))
52826 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52827 390912 : ipack = ipack + 1
52828 390912 : packed_data(ipack) = pack_tmp
52829 390912 : data_tmp = full_data(idata)
52830 390912 : pack_tmp = ISHFT(data_tmp, 2)
52831 390912 : pack_tmp = ISHFT(pack_tmp, -2)
52832 390912 : idata = idata + 1
52833 390912 : data_tmp = full_data(idata)
52834 390912 : data_tmp = ISHFT(data_tmp, 1)
52835 390912 : data_tmp = IAND(data_tmp, mask_left(2))
52836 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52837 390912 : ipack = ipack + 1
52838 390912 : packed_data(ipack) = pack_tmp
52839 390912 : data_tmp = full_data(idata)
52840 390912 : pack_tmp = ISHFT(data_tmp, 3)
52841 390912 : pack_tmp = ISHFT(pack_tmp, -3)
52842 390912 : idata = idata + 1
52843 390912 : data_tmp = full_data(idata)
52844 390912 : data_tmp = ISHFT(data_tmp, 1)
52845 390912 : data_tmp = IAND(data_tmp, mask_left(3))
52846 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52847 390912 : ipack = ipack + 1
52848 390912 : packed_data(ipack) = pack_tmp
52849 390912 : data_tmp = full_data(idata)
52850 390912 : pack_tmp = ISHFT(data_tmp, 4)
52851 390912 : pack_tmp = ISHFT(pack_tmp, -4)
52852 390912 : idata = idata + 1
52853 390912 : data_tmp = full_data(idata)
52854 390912 : data_tmp = ISHFT(data_tmp, 1)
52855 390912 : data_tmp = IAND(data_tmp, mask_left(4))
52856 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52857 390912 : ipack = ipack + 1
52858 390912 : packed_data(ipack) = pack_tmp
52859 390912 : data_tmp = full_data(idata)
52860 390912 : pack_tmp = ISHFT(data_tmp, 5)
52861 390912 : pack_tmp = ISHFT(pack_tmp, -5)
52862 390912 : idata = idata + 1
52863 390912 : data_tmp = full_data(idata)
52864 390912 : data_tmp = ISHFT(data_tmp, 1)
52865 390912 : data_tmp = IAND(data_tmp, mask_left(5))
52866 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52867 390912 : ipack = ipack + 1
52868 390912 : packed_data(ipack) = pack_tmp
52869 390912 : data_tmp = full_data(idata)
52870 390912 : pack_tmp = ISHFT(data_tmp, 6)
52871 390912 : pack_tmp = ISHFT(pack_tmp, -6)
52872 390912 : idata = idata + 1
52873 390912 : data_tmp = full_data(idata)
52874 390912 : data_tmp = ISHFT(data_tmp, 1)
52875 390912 : data_tmp = IAND(data_tmp, mask_left(6))
52876 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52877 390912 : ipack = ipack + 1
52878 390912 : packed_data(ipack) = pack_tmp
52879 390912 : data_tmp = full_data(idata)
52880 390912 : pack_tmp = ISHFT(data_tmp, 7)
52881 390912 : pack_tmp = ISHFT(pack_tmp, -7)
52882 390912 : idata = idata + 1
52883 390912 : data_tmp = full_data(idata)
52884 390912 : data_tmp = ISHFT(data_tmp, 1)
52885 390912 : data_tmp = IAND(data_tmp, mask_left(7))
52886 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52887 390912 : ipack = ipack + 1
52888 390912 : packed_data(ipack) = pack_tmp
52889 390912 : data_tmp = full_data(idata)
52890 390912 : pack_tmp = ISHFT(data_tmp, 8)
52891 390912 : pack_tmp = ISHFT(pack_tmp, -8)
52892 390912 : idata = idata + 1
52893 390912 : data_tmp = full_data(idata)
52894 390912 : data_tmp = ISHFT(data_tmp, 1)
52895 390912 : data_tmp = IAND(data_tmp, mask_left(8))
52896 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52897 390912 : ipack = ipack + 1
52898 390912 : packed_data(ipack) = pack_tmp
52899 390912 : data_tmp = full_data(idata)
52900 390912 : pack_tmp = ISHFT(data_tmp, 9)
52901 390912 : pack_tmp = ISHFT(pack_tmp, -9)
52902 390912 : idata = idata + 1
52903 390912 : data_tmp = full_data(idata)
52904 390912 : data_tmp = ISHFT(data_tmp, 1)
52905 390912 : data_tmp = IAND(data_tmp, mask_left(9))
52906 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52907 390912 : ipack = ipack + 1
52908 390912 : packed_data(ipack) = pack_tmp
52909 390912 : data_tmp = full_data(idata)
52910 390912 : pack_tmp = ISHFT(data_tmp, 10)
52911 390912 : pack_tmp = ISHFT(pack_tmp, -10)
52912 390912 : idata = idata + 1
52913 390912 : data_tmp = full_data(idata)
52914 390912 : data_tmp = ISHFT(data_tmp, 1)
52915 390912 : data_tmp = IAND(data_tmp, mask_left(10))
52916 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52917 390912 : ipack = ipack + 1
52918 390912 : packed_data(ipack) = pack_tmp
52919 390912 : data_tmp = full_data(idata)
52920 390912 : pack_tmp = ISHFT(data_tmp, 11)
52921 390912 : pack_tmp = ISHFT(pack_tmp, -11)
52922 390912 : idata = idata + 1
52923 390912 : data_tmp = full_data(idata)
52924 390912 : data_tmp = ISHFT(data_tmp, 1)
52925 390912 : data_tmp = IAND(data_tmp, mask_left(11))
52926 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52927 390912 : ipack = ipack + 1
52928 390912 : packed_data(ipack) = pack_tmp
52929 390912 : data_tmp = full_data(idata)
52930 390912 : pack_tmp = ISHFT(data_tmp, 12)
52931 390912 : pack_tmp = ISHFT(pack_tmp, -12)
52932 390912 : idata = idata + 1
52933 390912 : data_tmp = full_data(idata)
52934 390912 : data_tmp = ISHFT(data_tmp, 1)
52935 390912 : data_tmp = IAND(data_tmp, mask_left(12))
52936 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52937 390912 : ipack = ipack + 1
52938 390912 : packed_data(ipack) = pack_tmp
52939 390912 : data_tmp = full_data(idata)
52940 390912 : pack_tmp = ISHFT(data_tmp, 13)
52941 390912 : pack_tmp = ISHFT(pack_tmp, -13)
52942 390912 : idata = idata + 1
52943 390912 : data_tmp = full_data(idata)
52944 390912 : data_tmp = ISHFT(data_tmp, 1)
52945 390912 : data_tmp = IAND(data_tmp, mask_left(13))
52946 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52947 390912 : ipack = ipack + 1
52948 390912 : packed_data(ipack) = pack_tmp
52949 390912 : data_tmp = full_data(idata)
52950 390912 : pack_tmp = ISHFT(data_tmp, 14)
52951 390912 : pack_tmp = ISHFT(pack_tmp, -14)
52952 390912 : idata = idata + 1
52953 390912 : data_tmp = full_data(idata)
52954 390912 : data_tmp = ISHFT(data_tmp, 1)
52955 390912 : data_tmp = IAND(data_tmp, mask_left(14))
52956 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52957 390912 : ipack = ipack + 1
52958 390912 : packed_data(ipack) = pack_tmp
52959 390912 : data_tmp = full_data(idata)
52960 390912 : pack_tmp = ISHFT(data_tmp, 15)
52961 390912 : pack_tmp = ISHFT(pack_tmp, -15)
52962 390912 : idata = idata + 1
52963 390912 : data_tmp = full_data(idata)
52964 390912 : data_tmp = ISHFT(data_tmp, 1)
52965 390912 : data_tmp = IAND(data_tmp, mask_left(15))
52966 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52967 390912 : ipack = ipack + 1
52968 390912 : packed_data(ipack) = pack_tmp
52969 390912 : data_tmp = full_data(idata)
52970 390912 : pack_tmp = ISHFT(data_tmp, 16)
52971 390912 : pack_tmp = ISHFT(pack_tmp, -16)
52972 390912 : idata = idata + 1
52973 390912 : data_tmp = full_data(idata)
52974 390912 : data_tmp = ISHFT(data_tmp, 1)
52975 390912 : data_tmp = IAND(data_tmp, mask_left(16))
52976 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52977 390912 : ipack = ipack + 1
52978 390912 : packed_data(ipack) = pack_tmp
52979 390912 : data_tmp = full_data(idata)
52980 390912 : pack_tmp = ISHFT(data_tmp, 17)
52981 390912 : pack_tmp = ISHFT(pack_tmp, -17)
52982 390912 : idata = idata + 1
52983 390912 : data_tmp = full_data(idata)
52984 390912 : data_tmp = ISHFT(data_tmp, 1)
52985 390912 : data_tmp = IAND(data_tmp, mask_left(17))
52986 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52987 390912 : ipack = ipack + 1
52988 390912 : packed_data(ipack) = pack_tmp
52989 390912 : data_tmp = full_data(idata)
52990 390912 : pack_tmp = ISHFT(data_tmp, 18)
52991 390912 : pack_tmp = ISHFT(pack_tmp, -18)
52992 390912 : idata = idata + 1
52993 390912 : data_tmp = full_data(idata)
52994 390912 : data_tmp = ISHFT(data_tmp, 1)
52995 390912 : data_tmp = IAND(data_tmp, mask_left(18))
52996 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
52997 390912 : ipack = ipack + 1
52998 390912 : packed_data(ipack) = pack_tmp
52999 390912 : data_tmp = full_data(idata)
53000 390912 : pack_tmp = ISHFT(data_tmp, 19)
53001 390912 : pack_tmp = ISHFT(pack_tmp, -19)
53002 390912 : idata = idata + 1
53003 390912 : data_tmp = full_data(idata)
53004 390912 : data_tmp = ISHFT(data_tmp, 1)
53005 390912 : data_tmp = IAND(data_tmp, mask_left(19))
53006 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53007 390912 : ipack = ipack + 1
53008 390912 : packed_data(ipack) = pack_tmp
53009 390912 : data_tmp = full_data(idata)
53010 390912 : pack_tmp = ISHFT(data_tmp, 20)
53011 390912 : pack_tmp = ISHFT(pack_tmp, -20)
53012 390912 : idata = idata + 1
53013 390912 : data_tmp = full_data(idata)
53014 390912 : data_tmp = ISHFT(data_tmp, 1)
53015 390912 : data_tmp = IAND(data_tmp, mask_left(20))
53016 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53017 390912 : ipack = ipack + 1
53018 390912 : packed_data(ipack) = pack_tmp
53019 390912 : data_tmp = full_data(idata)
53020 390912 : pack_tmp = ISHFT(data_tmp, 21)
53021 390912 : pack_tmp = ISHFT(pack_tmp, -21)
53022 390912 : idata = idata + 1
53023 390912 : data_tmp = full_data(idata)
53024 390912 : data_tmp = ISHFT(data_tmp, 1)
53025 390912 : data_tmp = IAND(data_tmp, mask_left(21))
53026 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53027 390912 : ipack = ipack + 1
53028 390912 : packed_data(ipack) = pack_tmp
53029 390912 : data_tmp = full_data(idata)
53030 390912 : pack_tmp = ISHFT(data_tmp, 22)
53031 390912 : pack_tmp = ISHFT(pack_tmp, -22)
53032 390912 : idata = idata + 1
53033 390912 : data_tmp = full_data(idata)
53034 390912 : data_tmp = ISHFT(data_tmp, 1)
53035 390912 : data_tmp = IAND(data_tmp, mask_left(22))
53036 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53037 390912 : ipack = ipack + 1
53038 390912 : packed_data(ipack) = pack_tmp
53039 390912 : data_tmp = full_data(idata)
53040 390912 : pack_tmp = ISHFT(data_tmp, 23)
53041 390912 : pack_tmp = ISHFT(pack_tmp, -23)
53042 390912 : idata = idata + 1
53043 390912 : data_tmp = full_data(idata)
53044 390912 : data_tmp = ISHFT(data_tmp, 1)
53045 390912 : data_tmp = IAND(data_tmp, mask_left(23))
53046 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53047 390912 : ipack = ipack + 1
53048 390912 : packed_data(ipack) = pack_tmp
53049 390912 : data_tmp = full_data(idata)
53050 390912 : pack_tmp = ISHFT(data_tmp, 24)
53051 390912 : pack_tmp = ISHFT(pack_tmp, -24)
53052 390912 : idata = idata + 1
53053 390912 : data_tmp = full_data(idata)
53054 390912 : data_tmp = ISHFT(data_tmp, 1)
53055 390912 : data_tmp = IAND(data_tmp, mask_left(24))
53056 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53057 390912 : ipack = ipack + 1
53058 390912 : packed_data(ipack) = pack_tmp
53059 390912 : data_tmp = full_data(idata)
53060 390912 : pack_tmp = ISHFT(data_tmp, 25)
53061 390912 : pack_tmp = ISHFT(pack_tmp, -25)
53062 390912 : idata = idata + 1
53063 390912 : data_tmp = full_data(idata)
53064 390912 : data_tmp = ISHFT(data_tmp, 1)
53065 390912 : data_tmp = IAND(data_tmp, mask_left(25))
53066 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53067 390912 : ipack = ipack + 1
53068 390912 : packed_data(ipack) = pack_tmp
53069 390912 : data_tmp = full_data(idata)
53070 390912 : pack_tmp = ISHFT(data_tmp, 26)
53071 390912 : pack_tmp = ISHFT(pack_tmp, -26)
53072 390912 : idata = idata + 1
53073 390912 : data_tmp = full_data(idata)
53074 390912 : data_tmp = ISHFT(data_tmp, 1)
53075 390912 : data_tmp = IAND(data_tmp, mask_left(26))
53076 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53077 390912 : ipack = ipack + 1
53078 390912 : packed_data(ipack) = pack_tmp
53079 390912 : data_tmp = full_data(idata)
53080 390912 : pack_tmp = ISHFT(data_tmp, 27)
53081 390912 : pack_tmp = ISHFT(pack_tmp, -27)
53082 390912 : idata = idata + 1
53083 390912 : data_tmp = full_data(idata)
53084 390912 : data_tmp = ISHFT(data_tmp, 1)
53085 390912 : data_tmp = IAND(data_tmp, mask_left(27))
53086 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53087 390912 : ipack = ipack + 1
53088 390912 : packed_data(ipack) = pack_tmp
53089 390912 : data_tmp = full_data(idata)
53090 390912 : pack_tmp = ISHFT(data_tmp, 28)
53091 390912 : pack_tmp = ISHFT(pack_tmp, -28)
53092 390912 : idata = idata + 1
53093 390912 : data_tmp = full_data(idata)
53094 390912 : data_tmp = ISHFT(data_tmp, 1)
53095 390912 : data_tmp = IAND(data_tmp, mask_left(28))
53096 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53097 390912 : ipack = ipack + 1
53098 390912 : packed_data(ipack) = pack_tmp
53099 390912 : data_tmp = full_data(idata)
53100 390912 : pack_tmp = ISHFT(data_tmp, 29)
53101 390912 : pack_tmp = ISHFT(pack_tmp, -29)
53102 390912 : idata = idata + 1
53103 390912 : data_tmp = full_data(idata)
53104 390912 : data_tmp = ISHFT(data_tmp, 1)
53105 390912 : data_tmp = IAND(data_tmp, mask_left(29))
53106 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53107 390912 : ipack = ipack + 1
53108 390912 : packed_data(ipack) = pack_tmp
53109 390912 : data_tmp = full_data(idata)
53110 390912 : pack_tmp = ISHFT(data_tmp, 30)
53111 390912 : pack_tmp = ISHFT(pack_tmp, -30)
53112 390912 : idata = idata + 1
53113 390912 : data_tmp = full_data(idata)
53114 390912 : data_tmp = ISHFT(data_tmp, 1)
53115 390912 : data_tmp = IAND(data_tmp, mask_left(30))
53116 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53117 390912 : ipack = ipack + 1
53118 390912 : packed_data(ipack) = pack_tmp
53119 390912 : data_tmp = full_data(idata)
53120 390912 : pack_tmp = ISHFT(data_tmp, 31)
53121 390912 : pack_tmp = ISHFT(pack_tmp, -31)
53122 390912 : idata = idata + 1
53123 390912 : data_tmp = full_data(idata)
53124 390912 : data_tmp = ISHFT(data_tmp, 1)
53125 390912 : data_tmp = IAND(data_tmp, mask_left(31))
53126 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53127 390912 : ipack = ipack + 1
53128 390912 : packed_data(ipack) = pack_tmp
53129 390912 : data_tmp = full_data(idata)
53130 390912 : pack_tmp = ISHFT(data_tmp, 32)
53131 390912 : pack_tmp = ISHFT(pack_tmp, -32)
53132 390912 : idata = idata + 1
53133 390912 : data_tmp = full_data(idata)
53134 390912 : data_tmp = ISHFT(data_tmp, 1)
53135 390912 : data_tmp = IAND(data_tmp, mask_left(32))
53136 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53137 390912 : ipack = ipack + 1
53138 390912 : packed_data(ipack) = pack_tmp
53139 390912 : data_tmp = full_data(idata)
53140 390912 : pack_tmp = ISHFT(data_tmp, 33)
53141 390912 : pack_tmp = ISHFT(pack_tmp, -33)
53142 390912 : idata = idata + 1
53143 390912 : data_tmp = full_data(idata)
53144 390912 : data_tmp = ISHFT(data_tmp, 1)
53145 390912 : data_tmp = IAND(data_tmp, mask_left(33))
53146 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53147 390912 : ipack = ipack + 1
53148 390912 : packed_data(ipack) = pack_tmp
53149 390912 : data_tmp = full_data(idata)
53150 390912 : pack_tmp = ISHFT(data_tmp, 34)
53151 390912 : pack_tmp = ISHFT(pack_tmp, -34)
53152 390912 : idata = idata + 1
53153 390912 : data_tmp = full_data(idata)
53154 390912 : data_tmp = ISHFT(data_tmp, 1)
53155 390912 : data_tmp = IAND(data_tmp, mask_left(34))
53156 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53157 390912 : ipack = ipack + 1
53158 390912 : packed_data(ipack) = pack_tmp
53159 390912 : data_tmp = full_data(idata)
53160 390912 : pack_tmp = ISHFT(data_tmp, 35)
53161 390912 : pack_tmp = ISHFT(pack_tmp, -35)
53162 390912 : idata = idata + 1
53163 390912 : data_tmp = full_data(idata)
53164 390912 : data_tmp = ISHFT(data_tmp, 1)
53165 390912 : data_tmp = IAND(data_tmp, mask_left(35))
53166 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53167 390912 : ipack = ipack + 1
53168 390912 : packed_data(ipack) = pack_tmp
53169 390912 : data_tmp = full_data(idata)
53170 390912 : pack_tmp = ISHFT(data_tmp, 36)
53171 390912 : pack_tmp = ISHFT(pack_tmp, -36)
53172 390912 : idata = idata + 1
53173 390912 : data_tmp = full_data(idata)
53174 390912 : data_tmp = ISHFT(data_tmp, 1)
53175 390912 : data_tmp = IAND(data_tmp, mask_left(36))
53176 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53177 390912 : ipack = ipack + 1
53178 390912 : packed_data(ipack) = pack_tmp
53179 390912 : data_tmp = full_data(idata)
53180 390912 : pack_tmp = ISHFT(data_tmp, 37)
53181 390912 : pack_tmp = ISHFT(pack_tmp, -37)
53182 390912 : idata = idata + 1
53183 390912 : data_tmp = full_data(idata)
53184 390912 : data_tmp = ISHFT(data_tmp, 1)
53185 390912 : data_tmp = IAND(data_tmp, mask_left(37))
53186 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53187 390912 : ipack = ipack + 1
53188 390912 : packed_data(ipack) = pack_tmp
53189 390912 : data_tmp = full_data(idata)
53190 390912 : pack_tmp = ISHFT(data_tmp, 38)
53191 390912 : pack_tmp = ISHFT(pack_tmp, -38)
53192 390912 : idata = idata + 1
53193 390912 : data_tmp = full_data(idata)
53194 390912 : data_tmp = ISHFT(data_tmp, 1)
53195 390912 : data_tmp = IAND(data_tmp, mask_left(38))
53196 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53197 390912 : ipack = ipack + 1
53198 390912 : packed_data(ipack) = pack_tmp
53199 390912 : data_tmp = full_data(idata)
53200 390912 : pack_tmp = ISHFT(data_tmp, 39)
53201 390912 : pack_tmp = ISHFT(pack_tmp, -39)
53202 390912 : idata = idata + 1
53203 390912 : data_tmp = full_data(idata)
53204 390912 : data_tmp = ISHFT(data_tmp, 1)
53205 390912 : data_tmp = IAND(data_tmp, mask_left(39))
53206 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53207 390912 : ipack = ipack + 1
53208 390912 : packed_data(ipack) = pack_tmp
53209 390912 : data_tmp = full_data(idata)
53210 390912 : pack_tmp = ISHFT(data_tmp, 40)
53211 390912 : pack_tmp = ISHFT(pack_tmp, -40)
53212 390912 : idata = idata + 1
53213 390912 : data_tmp = full_data(idata)
53214 390912 : data_tmp = ISHFT(data_tmp, 1)
53215 390912 : data_tmp = IAND(data_tmp, mask_left(40))
53216 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53217 390912 : ipack = ipack + 1
53218 390912 : packed_data(ipack) = pack_tmp
53219 390912 : data_tmp = full_data(idata)
53220 390912 : pack_tmp = ISHFT(data_tmp, 41)
53221 390912 : pack_tmp = ISHFT(pack_tmp, -41)
53222 390912 : idata = idata + 1
53223 390912 : data_tmp = full_data(idata)
53224 390912 : data_tmp = ISHFT(data_tmp, 1)
53225 390912 : data_tmp = IAND(data_tmp, mask_left(41))
53226 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53227 390912 : ipack = ipack + 1
53228 390912 : packed_data(ipack) = pack_tmp
53229 390912 : data_tmp = full_data(idata)
53230 390912 : pack_tmp = ISHFT(data_tmp, 42)
53231 390912 : pack_tmp = ISHFT(pack_tmp, -42)
53232 390912 : idata = idata + 1
53233 390912 : data_tmp = full_data(idata)
53234 390912 : data_tmp = ISHFT(data_tmp, 1)
53235 390912 : data_tmp = IAND(data_tmp, mask_left(42))
53236 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53237 390912 : ipack = ipack + 1
53238 390912 : packed_data(ipack) = pack_tmp
53239 390912 : data_tmp = full_data(idata)
53240 390912 : pack_tmp = ISHFT(data_tmp, 43)
53241 390912 : pack_tmp = ISHFT(pack_tmp, -43)
53242 390912 : idata = idata + 1
53243 390912 : data_tmp = full_data(idata)
53244 390912 : data_tmp = ISHFT(data_tmp, 1)
53245 390912 : data_tmp = IAND(data_tmp, mask_left(43))
53246 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53247 390912 : ipack = ipack + 1
53248 390912 : packed_data(ipack) = pack_tmp
53249 390912 : data_tmp = full_data(idata)
53250 390912 : pack_tmp = ISHFT(data_tmp, 44)
53251 390912 : pack_tmp = ISHFT(pack_tmp, -44)
53252 390912 : idata = idata + 1
53253 390912 : data_tmp = full_data(idata)
53254 390912 : data_tmp = ISHFT(data_tmp, 1)
53255 390912 : data_tmp = IAND(data_tmp, mask_left(44))
53256 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53257 390912 : ipack = ipack + 1
53258 390912 : packed_data(ipack) = pack_tmp
53259 390912 : data_tmp = full_data(idata)
53260 390912 : pack_tmp = ISHFT(data_tmp, 45)
53261 390912 : pack_tmp = ISHFT(pack_tmp, -45)
53262 390912 : idata = idata + 1
53263 390912 : data_tmp = full_data(idata)
53264 390912 : data_tmp = ISHFT(data_tmp, 1)
53265 390912 : data_tmp = IAND(data_tmp, mask_left(45))
53266 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53267 390912 : ipack = ipack + 1
53268 390912 : packed_data(ipack) = pack_tmp
53269 390912 : data_tmp = full_data(idata)
53270 390912 : pack_tmp = ISHFT(data_tmp, 46)
53271 390912 : pack_tmp = ISHFT(pack_tmp, -46)
53272 390912 : idata = idata + 1
53273 390912 : data_tmp = full_data(idata)
53274 390912 : data_tmp = ISHFT(data_tmp, 1)
53275 390912 : data_tmp = IAND(data_tmp, mask_left(46))
53276 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53277 390912 : ipack = ipack + 1
53278 390912 : packed_data(ipack) = pack_tmp
53279 390912 : data_tmp = full_data(idata)
53280 390912 : pack_tmp = ISHFT(data_tmp, 47)
53281 390912 : pack_tmp = ISHFT(pack_tmp, -47)
53282 390912 : idata = idata + 1
53283 390912 : data_tmp = full_data(idata)
53284 390912 : data_tmp = ISHFT(data_tmp, 1)
53285 390912 : data_tmp = IAND(data_tmp, mask_left(47))
53286 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53287 390912 : ipack = ipack + 1
53288 390912 : packed_data(ipack) = pack_tmp
53289 390912 : data_tmp = full_data(idata)
53290 390912 : pack_tmp = ISHFT(data_tmp, 48)
53291 390912 : pack_tmp = ISHFT(pack_tmp, -48)
53292 390912 : idata = idata + 1
53293 390912 : data_tmp = full_data(idata)
53294 390912 : data_tmp = ISHFT(data_tmp, 1)
53295 390912 : data_tmp = IAND(data_tmp, mask_left(48))
53296 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53297 390912 : ipack = ipack + 1
53298 390912 : packed_data(ipack) = pack_tmp
53299 390912 : data_tmp = full_data(idata)
53300 390912 : pack_tmp = ISHFT(data_tmp, 49)
53301 390912 : pack_tmp = ISHFT(pack_tmp, -49)
53302 390912 : idata = idata + 1
53303 390912 : data_tmp = full_data(idata)
53304 390912 : data_tmp = ISHFT(data_tmp, 1)
53305 390912 : data_tmp = IAND(data_tmp, mask_left(49))
53306 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53307 390912 : ipack = ipack + 1
53308 390912 : packed_data(ipack) = pack_tmp
53309 390912 : data_tmp = full_data(idata)
53310 390912 : pack_tmp = ISHFT(data_tmp, 50)
53311 390912 : pack_tmp = ISHFT(pack_tmp, -50)
53312 390912 : idata = idata + 1
53313 390912 : data_tmp = full_data(idata)
53314 390912 : data_tmp = ISHFT(data_tmp, 1)
53315 390912 : data_tmp = IAND(data_tmp, mask_left(50))
53316 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53317 390912 : ipack = ipack + 1
53318 390912 : packed_data(ipack) = pack_tmp
53319 390912 : data_tmp = full_data(idata)
53320 390912 : pack_tmp = ISHFT(data_tmp, 51)
53321 390912 : pack_tmp = ISHFT(pack_tmp, -51)
53322 390912 : idata = idata + 1
53323 390912 : data_tmp = full_data(idata)
53324 390912 : data_tmp = ISHFT(data_tmp, 1)
53325 390912 : data_tmp = IAND(data_tmp, mask_left(51))
53326 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53327 390912 : ipack = ipack + 1
53328 390912 : packed_data(ipack) = pack_tmp
53329 390912 : data_tmp = full_data(idata)
53330 390912 : pack_tmp = ISHFT(data_tmp, 52)
53331 390912 : pack_tmp = ISHFT(pack_tmp, -52)
53332 390912 : idata = idata + 1
53333 390912 : data_tmp = full_data(idata)
53334 390912 : data_tmp = ISHFT(data_tmp, 1)
53335 390912 : data_tmp = IAND(data_tmp, mask_left(52))
53336 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53337 390912 : ipack = ipack + 1
53338 390912 : packed_data(ipack) = pack_tmp
53339 390912 : data_tmp = full_data(idata)
53340 390912 : pack_tmp = ISHFT(data_tmp, 53)
53341 390912 : pack_tmp = ISHFT(pack_tmp, -53)
53342 390912 : idata = idata + 1
53343 390912 : data_tmp = full_data(idata)
53344 390912 : data_tmp = ISHFT(data_tmp, 1)
53345 390912 : data_tmp = IAND(data_tmp, mask_left(53))
53346 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53347 390912 : ipack = ipack + 1
53348 390912 : packed_data(ipack) = pack_tmp
53349 390912 : data_tmp = full_data(idata)
53350 390912 : pack_tmp = ISHFT(data_tmp, 54)
53351 390912 : pack_tmp = ISHFT(pack_tmp, -54)
53352 390912 : idata = idata + 1
53353 390912 : data_tmp = full_data(idata)
53354 390912 : data_tmp = ISHFT(data_tmp, 1)
53355 390912 : data_tmp = IAND(data_tmp, mask_left(54))
53356 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53357 390912 : ipack = ipack + 1
53358 390912 : packed_data(ipack) = pack_tmp
53359 390912 : data_tmp = full_data(idata)
53360 390912 : pack_tmp = ISHFT(data_tmp, 55)
53361 390912 : pack_tmp = ISHFT(pack_tmp, -55)
53362 390912 : idata = idata + 1
53363 390912 : data_tmp = full_data(idata)
53364 390912 : data_tmp = ISHFT(data_tmp, 1)
53365 390912 : data_tmp = IAND(data_tmp, mask_left(55))
53366 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53367 390912 : ipack = ipack + 1
53368 390912 : packed_data(ipack) = pack_tmp
53369 390912 : data_tmp = full_data(idata)
53370 390912 : pack_tmp = ISHFT(data_tmp, 56)
53371 390912 : pack_tmp = ISHFT(pack_tmp, -56)
53372 390912 : idata = idata + 1
53373 390912 : data_tmp = full_data(idata)
53374 390912 : data_tmp = ISHFT(data_tmp, 1)
53375 390912 : data_tmp = IAND(data_tmp, mask_left(56))
53376 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53377 390912 : ipack = ipack + 1
53378 390912 : packed_data(ipack) = pack_tmp
53379 390912 : data_tmp = full_data(idata)
53380 390912 : pack_tmp = ISHFT(data_tmp, 57)
53381 390912 : pack_tmp = ISHFT(pack_tmp, -57)
53382 390912 : idata = idata + 1
53383 390912 : data_tmp = full_data(idata)
53384 390912 : data_tmp = ISHFT(data_tmp, 1)
53385 390912 : data_tmp = IAND(data_tmp, mask_left(57))
53386 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53387 390912 : ipack = ipack + 1
53388 390912 : packed_data(ipack) = pack_tmp
53389 390912 : data_tmp = full_data(idata)
53390 390912 : pack_tmp = ISHFT(data_tmp, 58)
53391 390912 : pack_tmp = ISHFT(pack_tmp, -58)
53392 390912 : idata = idata + 1
53393 390912 : data_tmp = full_data(idata)
53394 390912 : data_tmp = ISHFT(data_tmp, 1)
53395 390912 : data_tmp = IAND(data_tmp, mask_left(58))
53396 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53397 390912 : ipack = ipack + 1
53398 390912 : packed_data(ipack) = pack_tmp
53399 390912 : data_tmp = full_data(idata)
53400 390912 : pack_tmp = ISHFT(data_tmp, 59)
53401 390912 : pack_tmp = ISHFT(pack_tmp, -59)
53402 390912 : idata = idata + 1
53403 390912 : data_tmp = full_data(idata)
53404 390912 : data_tmp = ISHFT(data_tmp, 1)
53405 390912 : data_tmp = IAND(data_tmp, mask_left(59))
53406 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53407 390912 : ipack = ipack + 1
53408 390912 : packed_data(ipack) = pack_tmp
53409 390912 : data_tmp = full_data(idata)
53410 390912 : pack_tmp = ISHFT(data_tmp, 60)
53411 390912 : pack_tmp = ISHFT(pack_tmp, -60)
53412 390912 : idata = idata + 1
53413 390912 : data_tmp = full_data(idata)
53414 390912 : data_tmp = ISHFT(data_tmp, 1)
53415 390912 : data_tmp = IAND(data_tmp, mask_left(60))
53416 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53417 390912 : ipack = ipack + 1
53418 390912 : packed_data(ipack) = pack_tmp
53419 390912 : data_tmp = full_data(idata)
53420 390912 : pack_tmp = ISHFT(data_tmp, 61)
53421 390912 : pack_tmp = ISHFT(pack_tmp, -61)
53422 390912 : idata = idata + 1
53423 390912 : data_tmp = full_data(idata)
53424 390912 : data_tmp = ISHFT(data_tmp, 1)
53425 390912 : data_tmp = IAND(data_tmp, mask_left(61))
53426 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53427 390912 : ipack = ipack + 1
53428 390912 : packed_data(ipack) = pack_tmp
53429 390912 : data_tmp = full_data(idata)
53430 390912 : pack_tmp = ISHFT(data_tmp, 62)
53431 390912 : pack_tmp = ISHFT(pack_tmp, -62)
53432 390912 : idata = idata + 1
53433 390912 : data_tmp = full_data(idata)
53434 390912 : data_tmp = ISHFT(data_tmp, 1)
53435 390912 : data_tmp = IAND(data_tmp, mask_left(62))
53436 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53437 390912 : ipack = ipack + 1
53438 390912 : packed_data(ipack) = pack_tmp
53439 390912 : data_tmp = full_data(idata)
53440 390912 : pack_tmp = ISHFT(data_tmp, 63)
53441 390912 : pack_tmp = ISHFT(pack_tmp, -63)
53442 390912 : idata = idata + 1
53443 390912 : data_tmp = full_data(idata)
53444 390912 : data_tmp = ISHFT(data_tmp, 1)
53445 390912 : pack_tmp = IOR(pack_tmp, data_tmp)
53446 : pack_tmp = ISHFT(pack_tmp, 0)
53447 390912 : pack_tmp = ISHFT(pack_tmp, 0)
53448 390912 : ipack = ipack + 1
53449 390912 : packed_data(ipack) = pack_tmp
53450 : END DO
53451 24432 : IF (Ndata_rep < Ndata) THEN
53452 0 : CALL ints2bits_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
53453 : END IF
53454 24432 : END SUBROUTINE ints2bits_63
53455 :
53456 : ! **************************************************************************************************
53457 : !> \brief ...
53458 : !> \param Ndata ...
53459 : !> \param packed_data ...
53460 : !> \param full_data ...
53461 : ! **************************************************************************************************
53462 98465 : 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(*)
53466 :
53467 : INTEGER, PARAMETER :: Nbits = 63
53468 :
53469 : INTEGER :: idata, ipack, kdata, Ndata_rep
53470 : INTEGER(KIND=int_8) :: data_tmp, pack_tmp
53471 :
53472 98465 : ipack = 0
53473 98465 : idata = 0
53474 98465 : pack_tmp = 0
53475 98465 : Ndata_rep = (Ndata/64)*64
53476 98465 : DO kdata = 1, Ndata_rep, 64
53477 1575440 : idata = idata + 1
53478 1575440 : data_tmp = ISHFT(pack_tmp, 63)
53479 1575440 : ipack = ipack + 1
53480 1575440 : pack_tmp = packed_data(ipack)
53481 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(63)))
53482 1575440 : pack_tmp = ISHFT(pack_tmp, -63)
53483 1575440 : idata = idata + 1
53484 1575440 : data_tmp = ISHFT(pack_tmp, 62)
53485 1575440 : ipack = ipack + 1
53486 1575440 : pack_tmp = packed_data(ipack)
53487 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(62)))
53488 1575440 : pack_tmp = ISHFT(pack_tmp, -62)
53489 1575440 : idata = idata + 1
53490 1575440 : data_tmp = ISHFT(pack_tmp, 61)
53491 1575440 : ipack = ipack + 1
53492 1575440 : pack_tmp = packed_data(ipack)
53493 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(61)))
53494 1575440 : pack_tmp = ISHFT(pack_tmp, -61)
53495 1575440 : idata = idata + 1
53496 1575440 : data_tmp = ISHFT(pack_tmp, 60)
53497 1575440 : ipack = ipack + 1
53498 1575440 : pack_tmp = packed_data(ipack)
53499 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(60)))
53500 1575440 : pack_tmp = ISHFT(pack_tmp, -60)
53501 1575440 : idata = idata + 1
53502 1575440 : data_tmp = ISHFT(pack_tmp, 59)
53503 1575440 : ipack = ipack + 1
53504 1575440 : pack_tmp = packed_data(ipack)
53505 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(59)))
53506 1575440 : pack_tmp = ISHFT(pack_tmp, -59)
53507 1575440 : idata = idata + 1
53508 1575440 : data_tmp = ISHFT(pack_tmp, 58)
53509 1575440 : ipack = ipack + 1
53510 1575440 : pack_tmp = packed_data(ipack)
53511 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(58)))
53512 1575440 : pack_tmp = ISHFT(pack_tmp, -58)
53513 1575440 : idata = idata + 1
53514 1575440 : data_tmp = ISHFT(pack_tmp, 57)
53515 1575440 : ipack = ipack + 1
53516 1575440 : pack_tmp = packed_data(ipack)
53517 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(57)))
53518 1575440 : pack_tmp = ISHFT(pack_tmp, -57)
53519 1575440 : idata = idata + 1
53520 1575440 : data_tmp = ISHFT(pack_tmp, 56)
53521 1575440 : ipack = ipack + 1
53522 1575440 : pack_tmp = packed_data(ipack)
53523 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(56)))
53524 1575440 : pack_tmp = ISHFT(pack_tmp, -56)
53525 1575440 : idata = idata + 1
53526 1575440 : data_tmp = ISHFT(pack_tmp, 55)
53527 1575440 : ipack = ipack + 1
53528 1575440 : pack_tmp = packed_data(ipack)
53529 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(55)))
53530 1575440 : pack_tmp = ISHFT(pack_tmp, -55)
53531 1575440 : idata = idata + 1
53532 1575440 : data_tmp = ISHFT(pack_tmp, 54)
53533 1575440 : ipack = ipack + 1
53534 1575440 : pack_tmp = packed_data(ipack)
53535 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(54)))
53536 1575440 : pack_tmp = ISHFT(pack_tmp, -54)
53537 1575440 : idata = idata + 1
53538 1575440 : data_tmp = ISHFT(pack_tmp, 53)
53539 1575440 : ipack = ipack + 1
53540 1575440 : pack_tmp = packed_data(ipack)
53541 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(53)))
53542 1575440 : pack_tmp = ISHFT(pack_tmp, -53)
53543 1575440 : idata = idata + 1
53544 1575440 : data_tmp = ISHFT(pack_tmp, 52)
53545 1575440 : ipack = ipack + 1
53546 1575440 : pack_tmp = packed_data(ipack)
53547 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(52)))
53548 1575440 : pack_tmp = ISHFT(pack_tmp, -52)
53549 1575440 : idata = idata + 1
53550 1575440 : data_tmp = ISHFT(pack_tmp, 51)
53551 1575440 : ipack = ipack + 1
53552 1575440 : pack_tmp = packed_data(ipack)
53553 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(51)))
53554 1575440 : pack_tmp = ISHFT(pack_tmp, -51)
53555 1575440 : idata = idata + 1
53556 1575440 : data_tmp = ISHFT(pack_tmp, 50)
53557 1575440 : ipack = ipack + 1
53558 1575440 : pack_tmp = packed_data(ipack)
53559 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(50)))
53560 1575440 : pack_tmp = ISHFT(pack_tmp, -50)
53561 1575440 : idata = idata + 1
53562 1575440 : data_tmp = ISHFT(pack_tmp, 49)
53563 1575440 : ipack = ipack + 1
53564 1575440 : pack_tmp = packed_data(ipack)
53565 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(49)))
53566 1575440 : pack_tmp = ISHFT(pack_tmp, -49)
53567 1575440 : idata = idata + 1
53568 1575440 : data_tmp = ISHFT(pack_tmp, 48)
53569 1575440 : ipack = ipack + 1
53570 1575440 : pack_tmp = packed_data(ipack)
53571 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(48)))
53572 1575440 : pack_tmp = ISHFT(pack_tmp, -48)
53573 1575440 : idata = idata + 1
53574 1575440 : data_tmp = ISHFT(pack_tmp, 47)
53575 1575440 : ipack = ipack + 1
53576 1575440 : pack_tmp = packed_data(ipack)
53577 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(47)))
53578 1575440 : pack_tmp = ISHFT(pack_tmp, -47)
53579 1575440 : idata = idata + 1
53580 1575440 : data_tmp = ISHFT(pack_tmp, 46)
53581 1575440 : ipack = ipack + 1
53582 1575440 : pack_tmp = packed_data(ipack)
53583 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(46)))
53584 1575440 : pack_tmp = ISHFT(pack_tmp, -46)
53585 1575440 : idata = idata + 1
53586 1575440 : data_tmp = ISHFT(pack_tmp, 45)
53587 1575440 : ipack = ipack + 1
53588 1575440 : pack_tmp = packed_data(ipack)
53589 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(45)))
53590 1575440 : pack_tmp = ISHFT(pack_tmp, -45)
53591 1575440 : idata = idata + 1
53592 1575440 : data_tmp = ISHFT(pack_tmp, 44)
53593 1575440 : ipack = ipack + 1
53594 1575440 : pack_tmp = packed_data(ipack)
53595 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(44)))
53596 1575440 : pack_tmp = ISHFT(pack_tmp, -44)
53597 1575440 : idata = idata + 1
53598 1575440 : data_tmp = ISHFT(pack_tmp, 43)
53599 1575440 : ipack = ipack + 1
53600 1575440 : pack_tmp = packed_data(ipack)
53601 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(43)))
53602 1575440 : pack_tmp = ISHFT(pack_tmp, -43)
53603 1575440 : idata = idata + 1
53604 1575440 : data_tmp = ISHFT(pack_tmp, 42)
53605 1575440 : ipack = ipack + 1
53606 1575440 : pack_tmp = packed_data(ipack)
53607 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(42)))
53608 1575440 : pack_tmp = ISHFT(pack_tmp, -42)
53609 1575440 : idata = idata + 1
53610 1575440 : data_tmp = ISHFT(pack_tmp, 41)
53611 1575440 : ipack = ipack + 1
53612 1575440 : pack_tmp = packed_data(ipack)
53613 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(41)))
53614 1575440 : pack_tmp = ISHFT(pack_tmp, -41)
53615 1575440 : idata = idata + 1
53616 1575440 : data_tmp = ISHFT(pack_tmp, 40)
53617 1575440 : ipack = ipack + 1
53618 1575440 : pack_tmp = packed_data(ipack)
53619 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(40)))
53620 1575440 : pack_tmp = ISHFT(pack_tmp, -40)
53621 1575440 : idata = idata + 1
53622 1575440 : data_tmp = ISHFT(pack_tmp, 39)
53623 1575440 : ipack = ipack + 1
53624 1575440 : pack_tmp = packed_data(ipack)
53625 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(39)))
53626 1575440 : pack_tmp = ISHFT(pack_tmp, -39)
53627 1575440 : idata = idata + 1
53628 1575440 : data_tmp = ISHFT(pack_tmp, 38)
53629 1575440 : ipack = ipack + 1
53630 1575440 : pack_tmp = packed_data(ipack)
53631 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(38)))
53632 1575440 : pack_tmp = ISHFT(pack_tmp, -38)
53633 1575440 : idata = idata + 1
53634 1575440 : data_tmp = ISHFT(pack_tmp, 37)
53635 1575440 : ipack = ipack + 1
53636 1575440 : pack_tmp = packed_data(ipack)
53637 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(37)))
53638 1575440 : pack_tmp = ISHFT(pack_tmp, -37)
53639 1575440 : idata = idata + 1
53640 1575440 : data_tmp = ISHFT(pack_tmp, 36)
53641 1575440 : ipack = ipack + 1
53642 1575440 : pack_tmp = packed_data(ipack)
53643 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(36)))
53644 1575440 : pack_tmp = ISHFT(pack_tmp, -36)
53645 1575440 : idata = idata + 1
53646 1575440 : data_tmp = ISHFT(pack_tmp, 35)
53647 1575440 : ipack = ipack + 1
53648 1575440 : pack_tmp = packed_data(ipack)
53649 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(35)))
53650 1575440 : pack_tmp = ISHFT(pack_tmp, -35)
53651 1575440 : idata = idata + 1
53652 1575440 : data_tmp = ISHFT(pack_tmp, 34)
53653 1575440 : ipack = ipack + 1
53654 1575440 : pack_tmp = packed_data(ipack)
53655 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(34)))
53656 1575440 : pack_tmp = ISHFT(pack_tmp, -34)
53657 1575440 : idata = idata + 1
53658 1575440 : data_tmp = ISHFT(pack_tmp, 33)
53659 1575440 : ipack = ipack + 1
53660 1575440 : pack_tmp = packed_data(ipack)
53661 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(33)))
53662 1575440 : pack_tmp = ISHFT(pack_tmp, -33)
53663 1575440 : idata = idata + 1
53664 1575440 : data_tmp = ISHFT(pack_tmp, 32)
53665 1575440 : ipack = ipack + 1
53666 1575440 : pack_tmp = packed_data(ipack)
53667 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(32)))
53668 1575440 : pack_tmp = ISHFT(pack_tmp, -32)
53669 1575440 : idata = idata + 1
53670 1575440 : data_tmp = ISHFT(pack_tmp, 31)
53671 1575440 : ipack = ipack + 1
53672 1575440 : pack_tmp = packed_data(ipack)
53673 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(31)))
53674 1575440 : pack_tmp = ISHFT(pack_tmp, -31)
53675 1575440 : idata = idata + 1
53676 1575440 : data_tmp = ISHFT(pack_tmp, 30)
53677 1575440 : ipack = ipack + 1
53678 1575440 : pack_tmp = packed_data(ipack)
53679 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(30)))
53680 1575440 : pack_tmp = ISHFT(pack_tmp, -30)
53681 1575440 : idata = idata + 1
53682 1575440 : data_tmp = ISHFT(pack_tmp, 29)
53683 1575440 : ipack = ipack + 1
53684 1575440 : pack_tmp = packed_data(ipack)
53685 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(29)))
53686 1575440 : pack_tmp = ISHFT(pack_tmp, -29)
53687 1575440 : idata = idata + 1
53688 1575440 : data_tmp = ISHFT(pack_tmp, 28)
53689 1575440 : ipack = ipack + 1
53690 1575440 : pack_tmp = packed_data(ipack)
53691 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(28)))
53692 1575440 : pack_tmp = ISHFT(pack_tmp, -28)
53693 1575440 : idata = idata + 1
53694 1575440 : data_tmp = ISHFT(pack_tmp, 27)
53695 1575440 : ipack = ipack + 1
53696 1575440 : pack_tmp = packed_data(ipack)
53697 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(27)))
53698 1575440 : pack_tmp = ISHFT(pack_tmp, -27)
53699 1575440 : idata = idata + 1
53700 1575440 : data_tmp = ISHFT(pack_tmp, 26)
53701 1575440 : ipack = ipack + 1
53702 1575440 : pack_tmp = packed_data(ipack)
53703 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(26)))
53704 1575440 : pack_tmp = ISHFT(pack_tmp, -26)
53705 1575440 : idata = idata + 1
53706 1575440 : data_tmp = ISHFT(pack_tmp, 25)
53707 1575440 : ipack = ipack + 1
53708 1575440 : pack_tmp = packed_data(ipack)
53709 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(25)))
53710 1575440 : pack_tmp = ISHFT(pack_tmp, -25)
53711 1575440 : idata = idata + 1
53712 1575440 : data_tmp = ISHFT(pack_tmp, 24)
53713 1575440 : ipack = ipack + 1
53714 1575440 : pack_tmp = packed_data(ipack)
53715 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(24)))
53716 1575440 : pack_tmp = ISHFT(pack_tmp, -24)
53717 1575440 : idata = idata + 1
53718 1575440 : data_tmp = ISHFT(pack_tmp, 23)
53719 1575440 : ipack = ipack + 1
53720 1575440 : pack_tmp = packed_data(ipack)
53721 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(23)))
53722 1575440 : pack_tmp = ISHFT(pack_tmp, -23)
53723 1575440 : idata = idata + 1
53724 1575440 : data_tmp = ISHFT(pack_tmp, 22)
53725 1575440 : ipack = ipack + 1
53726 1575440 : pack_tmp = packed_data(ipack)
53727 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(22)))
53728 1575440 : pack_tmp = ISHFT(pack_tmp, -22)
53729 1575440 : idata = idata + 1
53730 1575440 : data_tmp = ISHFT(pack_tmp, 21)
53731 1575440 : ipack = ipack + 1
53732 1575440 : pack_tmp = packed_data(ipack)
53733 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(21)))
53734 1575440 : pack_tmp = ISHFT(pack_tmp, -21)
53735 1575440 : idata = idata + 1
53736 1575440 : data_tmp = ISHFT(pack_tmp, 20)
53737 1575440 : ipack = ipack + 1
53738 1575440 : pack_tmp = packed_data(ipack)
53739 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(20)))
53740 1575440 : pack_tmp = ISHFT(pack_tmp, -20)
53741 1575440 : idata = idata + 1
53742 1575440 : data_tmp = ISHFT(pack_tmp, 19)
53743 1575440 : ipack = ipack + 1
53744 1575440 : pack_tmp = packed_data(ipack)
53745 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(19)))
53746 1575440 : pack_tmp = ISHFT(pack_tmp, -19)
53747 1575440 : idata = idata + 1
53748 1575440 : data_tmp = ISHFT(pack_tmp, 18)
53749 1575440 : ipack = ipack + 1
53750 1575440 : pack_tmp = packed_data(ipack)
53751 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(18)))
53752 1575440 : pack_tmp = ISHFT(pack_tmp, -18)
53753 1575440 : idata = idata + 1
53754 1575440 : data_tmp = ISHFT(pack_tmp, 17)
53755 1575440 : ipack = ipack + 1
53756 1575440 : pack_tmp = packed_data(ipack)
53757 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(17)))
53758 1575440 : pack_tmp = ISHFT(pack_tmp, -17)
53759 1575440 : idata = idata + 1
53760 1575440 : data_tmp = ISHFT(pack_tmp, 16)
53761 1575440 : ipack = ipack + 1
53762 1575440 : pack_tmp = packed_data(ipack)
53763 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(16)))
53764 1575440 : pack_tmp = ISHFT(pack_tmp, -16)
53765 1575440 : idata = idata + 1
53766 1575440 : data_tmp = ISHFT(pack_tmp, 15)
53767 1575440 : ipack = ipack + 1
53768 1575440 : pack_tmp = packed_data(ipack)
53769 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(15)))
53770 1575440 : pack_tmp = ISHFT(pack_tmp, -15)
53771 1575440 : idata = idata + 1
53772 1575440 : data_tmp = ISHFT(pack_tmp, 14)
53773 1575440 : ipack = ipack + 1
53774 1575440 : pack_tmp = packed_data(ipack)
53775 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(14)))
53776 1575440 : pack_tmp = ISHFT(pack_tmp, -14)
53777 1575440 : idata = idata + 1
53778 1575440 : data_tmp = ISHFT(pack_tmp, 13)
53779 1575440 : ipack = ipack + 1
53780 1575440 : pack_tmp = packed_data(ipack)
53781 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(13)))
53782 1575440 : pack_tmp = ISHFT(pack_tmp, -13)
53783 1575440 : idata = idata + 1
53784 1575440 : data_tmp = ISHFT(pack_tmp, 12)
53785 1575440 : ipack = ipack + 1
53786 1575440 : pack_tmp = packed_data(ipack)
53787 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(12)))
53788 1575440 : pack_tmp = ISHFT(pack_tmp, -12)
53789 1575440 : idata = idata + 1
53790 1575440 : data_tmp = ISHFT(pack_tmp, 11)
53791 1575440 : ipack = ipack + 1
53792 1575440 : pack_tmp = packed_data(ipack)
53793 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(11)))
53794 1575440 : pack_tmp = ISHFT(pack_tmp, -11)
53795 1575440 : idata = idata + 1
53796 1575440 : data_tmp = ISHFT(pack_tmp, 10)
53797 1575440 : ipack = ipack + 1
53798 1575440 : pack_tmp = packed_data(ipack)
53799 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(10)))
53800 1575440 : pack_tmp = ISHFT(pack_tmp, -10)
53801 1575440 : idata = idata + 1
53802 1575440 : data_tmp = ISHFT(pack_tmp, 9)
53803 1575440 : ipack = ipack + 1
53804 1575440 : pack_tmp = packed_data(ipack)
53805 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(9)))
53806 1575440 : pack_tmp = ISHFT(pack_tmp, -9)
53807 1575440 : idata = idata + 1
53808 1575440 : data_tmp = ISHFT(pack_tmp, 8)
53809 1575440 : ipack = ipack + 1
53810 1575440 : pack_tmp = packed_data(ipack)
53811 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(8)))
53812 1575440 : pack_tmp = ISHFT(pack_tmp, -8)
53813 1575440 : idata = idata + 1
53814 1575440 : data_tmp = ISHFT(pack_tmp, 7)
53815 1575440 : ipack = ipack + 1
53816 1575440 : pack_tmp = packed_data(ipack)
53817 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(7)))
53818 1575440 : pack_tmp = ISHFT(pack_tmp, -7)
53819 1575440 : idata = idata + 1
53820 1575440 : data_tmp = ISHFT(pack_tmp, 6)
53821 1575440 : ipack = ipack + 1
53822 1575440 : pack_tmp = packed_data(ipack)
53823 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(6)))
53824 1575440 : pack_tmp = ISHFT(pack_tmp, -6)
53825 1575440 : idata = idata + 1
53826 1575440 : data_tmp = ISHFT(pack_tmp, 5)
53827 1575440 : ipack = ipack + 1
53828 1575440 : pack_tmp = packed_data(ipack)
53829 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(5)))
53830 1575440 : pack_tmp = ISHFT(pack_tmp, -5)
53831 1575440 : idata = idata + 1
53832 1575440 : data_tmp = ISHFT(pack_tmp, 4)
53833 1575440 : ipack = ipack + 1
53834 1575440 : pack_tmp = packed_data(ipack)
53835 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(4)))
53836 1575440 : pack_tmp = ISHFT(pack_tmp, -4)
53837 1575440 : idata = idata + 1
53838 1575440 : data_tmp = ISHFT(pack_tmp, 3)
53839 1575440 : ipack = ipack + 1
53840 1575440 : pack_tmp = packed_data(ipack)
53841 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(3)))
53842 1575440 : pack_tmp = ISHFT(pack_tmp, -3)
53843 1575440 : idata = idata + 1
53844 1575440 : data_tmp = ISHFT(pack_tmp, 2)
53845 1575440 : ipack = ipack + 1
53846 1575440 : pack_tmp = packed_data(ipack)
53847 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(2)))
53848 1575440 : pack_tmp = ISHFT(pack_tmp, -2)
53849 1575440 : idata = idata + 1
53850 1575440 : data_tmp = ISHFT(pack_tmp, 1)
53851 1575440 : ipack = ipack + 1
53852 1575440 : pack_tmp = packed_data(ipack)
53853 1575440 : full_data(idata) = IOR(data_tmp, IAND(pack_tmp, mask_right(1)))
53854 1575440 : pack_tmp = ISHFT(pack_tmp, -1)
53855 1575440 : idata = idata + 1
53856 1575440 : data_tmp = IAND(pack_tmp, mask_right(Nbits))
53857 1575440 : full_data(idata) = data_tmp
53858 1575440 : pack_tmp = ISHFT(pack_tmp, -Nbits)
53859 : END DO
53860 98465 : IF (Ndata_rep < Ndata) THEN
53861 0 : CALL bits2ints_generic(Nbits, Ndata - Ndata_rep, packed_data(ipack + 1), full_data(Ndata_rep + 1))
53862 : END IF
53863 98465 : END SUBROUTINE bits2ints_63
53864 :
53865 : ! **************************************************************************************************
53866 : !> \brief ...
53867 : !> \param Nbits ...
53868 : !> \param Ndata ...
53869 : !> \param packed_data ...
53870 : !> \param full_data ...
53871 : ! **************************************************************************************************
53872 2119902 : SUBROUTINE ints2bits_specific(Nbits, Ndata, packed_data, full_data)
53873 : INTEGER, INTENT(IN) :: Nbits, Ndata
53874 : INTEGER(KIND=int_8), INTENT(OUT) :: packed_data(*)
53875 : INTEGER(KIND=int_8), INTENT(IN) :: full_data(*)
53876 :
53877 2144334 : SELECT CASE (Nbits)
53878 : CASE (1)
53879 24432 : CALL ints2bits_1(Ndata, packed_data, full_data)
53880 : CASE (2)
53881 24432 : CALL ints2bits_2(Ndata, packed_data, full_data)
53882 : CASE (3)
53883 24678 : CALL ints2bits_3(Ndata, packed_data, full_data)
53884 : CASE (4)
53885 24783 : CALL ints2bits_4(Ndata, packed_data, full_data)
53886 : CASE (5)
53887 24667 : CALL ints2bits_5(Ndata, packed_data, full_data)
53888 : CASE (6)
53889 53165 : CALL ints2bits_6(Ndata, packed_data, full_data)
53890 : CASE (7)
53891 24789 : CALL ints2bits_7(Ndata, packed_data, full_data)
53892 : CASE (8)
53893 24779 : CALL ints2bits_8(Ndata, packed_data, full_data)
53894 : CASE (9)
53895 24736 : CALL ints2bits_9(Ndata, packed_data, full_data)
53896 : CASE (10)
53897 51218 : CALL ints2bits_10(Ndata, packed_data, full_data)
53898 : CASE (11)
53899 27188 : CALL ints2bits_11(Ndata, packed_data, full_data)
53900 : CASE (12)
53901 27433 : CALL ints2bits_12(Ndata, packed_data, full_data)
53902 : CASE (13)
53903 28838 : CALL ints2bits_13(Ndata, packed_data, full_data)
53904 : CASE (14)
53905 27878 : CALL ints2bits_14(Ndata, packed_data, full_data)
53906 : CASE (15)
53907 28198 : CALL ints2bits_15(Ndata, packed_data, full_data)
53908 : CASE (16)
53909 29101 : CALL ints2bits_16(Ndata, packed_data, full_data)
53910 : CASE (17)
53911 32724 : CALL ints2bits_17(Ndata, packed_data, full_data)
53912 : CASE (18)
53913 33667 : CALL ints2bits_18(Ndata, packed_data, full_data)
53914 : CASE (19)
53915 31324 : CALL ints2bits_19(Ndata, packed_data, full_data)
53916 : CASE (20)
53917 43569 : CALL ints2bits_20(Ndata, packed_data, full_data)
53918 : CASE (21)
53919 30222 : CALL ints2bits_21(Ndata, packed_data, full_data)
53920 : CASE (22)
53921 30037 : CALL ints2bits_22(Ndata, packed_data, full_data)
53922 : CASE (23)
53923 74377 : CALL ints2bits_23(Ndata, packed_data, full_data)
53924 : CASE (24)
53925 36912 : CALL ints2bits_24(Ndata, packed_data, full_data)
53926 : CASE (25)
53927 38223 : CALL ints2bits_25(Ndata, packed_data, full_data)
53928 : CASE (26)
53929 30895 : CALL ints2bits_26(Ndata, packed_data, full_data)
53930 : CASE (27)
53931 30487 : CALL ints2bits_27(Ndata, packed_data, full_data)
53932 : CASE (28)
53933 34914 : CALL ints2bits_28(Ndata, packed_data, full_data)
53934 : CASE (29)
53935 37744 : CALL ints2bits_29(Ndata, packed_data, full_data)
53936 : CASE (30)
53937 45259 : CALL ints2bits_30(Ndata, packed_data, full_data)
53938 : CASE (31)
53939 46706 : CALL ints2bits_31(Ndata, packed_data, full_data)
53940 : CASE (32)
53941 55688 : CALL ints2bits_32(Ndata, packed_data, full_data)
53942 : CASE (33)
53943 55545 : CALL ints2bits_33(Ndata, packed_data, full_data)
53944 : CASE (34)
53945 48637 : CALL ints2bits_34(Ndata, packed_data, full_data)
53946 : CASE (35)
53947 49942 : CALL ints2bits_35(Ndata, packed_data, full_data)
53948 : CASE (36)
53949 51671 : CALL ints2bits_36(Ndata, packed_data, full_data)
53950 : CASE (37)
53951 42183 : CALL ints2bits_37(Ndata, packed_data, full_data)
53952 : CASE (38)
53953 39731 : CALL ints2bits_38(Ndata, packed_data, full_data)
53954 : CASE (39)
53955 38172 : CALL ints2bits_39(Ndata, packed_data, full_data)
53956 : CASE (40)
53957 40425 : CALL ints2bits_40(Ndata, packed_data, full_data)
53958 : CASE (41)
53959 33145 : CALL ints2bits_41(Ndata, packed_data, full_data)
53960 : CASE (42)
53961 27342 : CALL ints2bits_42(Ndata, packed_data, full_data)
53962 : CASE (43)
53963 27134 : CALL ints2bits_43(Ndata, packed_data, full_data)
53964 : CASE (44)
53965 28263 : CALL ints2bits_44(Ndata, packed_data, full_data)
53966 : CASE (45)
53967 29902 : CALL ints2bits_45(Ndata, packed_data, full_data)
53968 : CASE (46)
53969 29430 : CALL ints2bits_46(Ndata, packed_data, full_data)
53970 : CASE (47)
53971 26862 : CALL ints2bits_47(Ndata, packed_data, full_data)
53972 : CASE (48)
53973 27429 : CALL ints2bits_48(Ndata, packed_data, full_data)
53974 : CASE (49)
53975 26288 : CALL ints2bits_49(Ndata, packed_data, full_data)
53976 : CASE (50)
53977 25866 : CALL ints2bits_50(Ndata, packed_data, full_data)
53978 : CASE (51)
53979 24916 : CALL ints2bits_51(Ndata, packed_data, full_data)
53980 : CASE (52)
53981 24942 : CALL ints2bits_52(Ndata, packed_data, full_data)
53982 : CASE (53)
53983 24932 : CALL ints2bits_53(Ndata, packed_data, full_data)
53984 : CASE (54)
53985 24810 : CALL ints2bits_54(Ndata, packed_data, full_data)
53986 : CASE (55)
53987 24728 : CALL ints2bits_55(Ndata, packed_data, full_data)
53988 : CASE (56)
53989 24570 : CALL ints2bits_56(Ndata, packed_data, full_data)
53990 : CASE (57)
53991 24494 : CALL ints2bits_57(Ndata, packed_data, full_data)
53992 : CASE (58)
53993 24456 : CALL ints2bits_58(Ndata, packed_data, full_data)
53994 : CASE (59)
53995 24432 : CALL ints2bits_59(Ndata, packed_data, full_data)
53996 : CASE (60)
53997 24432 : CALL ints2bits_60(Ndata, packed_data, full_data)
53998 : CASE (61)
53999 24432 : CALL ints2bits_61(Ndata, packed_data, full_data)
54000 : CASE (62)
54001 24432 : CALL ints2bits_62(Ndata, packed_data, full_data)
54002 : CASE (63)
54003 2119902 : CALL ints2bits_63(Ndata, packed_data, full_data)
54004 : END SELECT
54005 2119902 : END SUBROUTINE ints2bits_specific
54006 :
54007 : ! **************************************************************************************************
54008 : !> \brief ...
54009 : !> \param Nbits ...
54010 : !> \param Ndata ...
54011 : !> \param packed_data ...
54012 : !> \param full_data ...
54013 : ! **************************************************************************************************
54014 9654747 : SUBROUTINE bits2ints_specific(Nbits, 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(*)
54018 :
54019 9753212 : SELECT CASE (Nbits)
54020 : CASE (1)
54021 98465 : CALL bits2ints_1(Ndata, packed_data, full_data)
54022 : CASE (2)
54023 98465 : CALL bits2ints_2(Ndata, packed_data, full_data)
54024 : CASE (3)
54025 99851 : CALL bits2ints_3(Ndata, packed_data, full_data)
54026 : CASE (4)
54027 100666 : CALL bits2ints_4(Ndata, packed_data, full_data)
54028 : CASE (5)
54029 99690 : CALL bits2ints_5(Ndata, packed_data, full_data)
54030 : CASE (6)
54031 254685 : CALL bits2ints_6(Ndata, packed_data, full_data)
54032 : CASE (7)
54033 101997 : CALL bits2ints_7(Ndata, packed_data, full_data)
54034 : CASE (8)
54035 102054 : CALL bits2ints_8(Ndata, packed_data, full_data)
54036 : CASE (9)
54037 101368 : CALL bits2ints_9(Ndata, packed_data, full_data)
54038 : CASE (10)
54039 306579 : CALL bits2ints_10(Ndata, packed_data, full_data)
54040 : CASE (11)
54041 120014 : CALL bits2ints_11(Ndata, packed_data, full_data)
54042 : CASE (12)
54043 121959 : CALL bits2ints_12(Ndata, packed_data, full_data)
54044 : CASE (13)
54045 134209 : CALL bits2ints_13(Ndata, packed_data, full_data)
54046 : CASE (14)
54047 125874 : CALL bits2ints_14(Ndata, packed_data, full_data)
54048 : CASE (15)
54049 127993 : CALL bits2ints_15(Ndata, packed_data, full_data)
54050 : CASE (16)
54051 140683 : CALL bits2ints_16(Ndata, packed_data, full_data)
54052 : CASE (17)
54053 167645 : CALL bits2ints_17(Ndata, packed_data, full_data)
54054 : CASE (18)
54055 175285 : CALL bits2ints_18(Ndata, packed_data, full_data)
54056 : CASE (19)
54057 158468 : CALL bits2ints_19(Ndata, packed_data, full_data)
54058 : CASE (20)
54059 301588 : CALL bits2ints_20(Ndata, packed_data, full_data)
54060 : CASE (21)
54061 154236 : CALL bits2ints_21(Ndata, packed_data, full_data)
54062 : CASE (22)
54063 153439 : CALL bits2ints_22(Ndata, packed_data, full_data)
54064 : CASE (23)
54065 231496 : CALL bits2ints_23(Ndata, packed_data, full_data)
54066 : CASE (24)
54067 163883 : CALL bits2ints_24(Ndata, packed_data, full_data)
54068 : CASE (25)
54069 165302 : CALL bits2ints_25(Ndata, packed_data, full_data)
54070 : CASE (26)
54071 137284 : CALL bits2ints_26(Ndata, packed_data, full_data)
54072 : CASE (27)
54073 138233 : CALL bits2ints_27(Ndata, packed_data, full_data)
54074 : CASE (28)
54075 162275 : CALL bits2ints_28(Ndata, packed_data, full_data)
54076 : CASE (29)
54077 182665 : CALL bits2ints_29(Ndata, packed_data, full_data)
54078 : CASE (30)
54079 237740 : CALL bits2ints_30(Ndata, packed_data, full_data)
54080 : CASE (31)
54081 294882 : CALL bits2ints_31(Ndata, packed_data, full_data)
54082 : CASE (32)
54083 375620 : CALL bits2ints_32(Ndata, packed_data, full_data)
54084 : CASE (33)
54085 277566 : CALL bits2ints_33(Ndata, packed_data, full_data)
54086 : CASE (34)
54087 226916 : CALL bits2ints_34(Ndata, packed_data, full_data)
54088 : CASE (35)
54089 235202 : CALL bits2ints_35(Ndata, packed_data, full_data)
54090 : CASE (36)
54091 184779 : CALL bits2ints_36(Ndata, packed_data, full_data)
54092 : CASE (37)
54093 164321 : CALL bits2ints_37(Ndata, packed_data, full_data)
54094 : CASE (38)
54095 184015 : CALL bits2ints_38(Ndata, packed_data, full_data)
54096 : CASE (39)
54097 144913 : CALL bits2ints_39(Ndata, packed_data, full_data)
54098 : CASE (40)
54099 153704 : CALL bits2ints_40(Ndata, packed_data, full_data)
54100 : CASE (41)
54101 146424 : CALL bits2ints_41(Ndata, packed_data, full_data)
54102 : CASE (42)
54103 121260 : CALL bits2ints_42(Ndata, packed_data, full_data)
54104 : CASE (43)
54105 119661 : CALL bits2ints_43(Ndata, packed_data, full_data)
54106 : CASE (44)
54107 126227 : CALL bits2ints_44(Ndata, packed_data, full_data)
54108 : CASE (45)
54109 135031 : CALL bits2ints_45(Ndata, packed_data, full_data)
54110 : CASE (46)
54111 122973 : CALL bits2ints_46(Ndata, packed_data, full_data)
54112 : CASE (47)
54113 117617 : CALL bits2ints_47(Ndata, packed_data, full_data)
54114 : CASE (48)
54115 115334 : CALL bits2ints_48(Ndata, packed_data, full_data)
54116 : CASE (49)
54117 104755 : CALL bits2ints_49(Ndata, packed_data, full_data)
54118 : CASE (50)
54119 102867 : CALL bits2ints_50(Ndata, packed_data, full_data)
54120 : CASE (51)
54121 101545 : CALL bits2ints_51(Ndata, packed_data, full_data)
54122 : CASE (52)
54123 103477 : CALL bits2ints_52(Ndata, packed_data, full_data)
54124 : CASE (53)
54125 111123 : CALL bits2ints_53(Ndata, packed_data, full_data)
54126 : CASE (54)
54127 113811 : CALL bits2ints_54(Ndata, packed_data, full_data)
54128 : CASE (55)
54129 109759 : CALL bits2ints_55(Ndata, packed_data, full_data)
54130 : CASE (56)
54131 105683 : CALL bits2ints_56(Ndata, packed_data, full_data)
54132 : CASE (57)
54133 102007 : CALL bits2ints_57(Ndata, packed_data, full_data)
54134 : CASE (58)
54135 99929 : CALL bits2ints_58(Ndata, packed_data, full_data)
54136 : CASE (59)
54137 98465 : CALL bits2ints_59(Ndata, packed_data, full_data)
54138 : CASE (60)
54139 98465 : CALL bits2ints_60(Ndata, packed_data, full_data)
54140 : CASE (61)
54141 98465 : CALL bits2ints_61(Ndata, packed_data, full_data)
54142 : CASE (62)
54143 98465 : CALL bits2ints_62(Ndata, packed_data, full_data)
54144 : CASE (63)
54145 9654747 : CALL bits2ints_63(Ndata, packed_data, full_data)
54146 : END SELECT
54147 9654747 : END SUBROUTINE bits2ints_specific
54148 :
54149 : END MODULE hfx_compression_core_methods
|